Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Human Badge 24 Firmware dump. - Xcepti0n
- seg000:00000000
- seg000:00000000 ; ===========================================================================
- seg000:00000000
- seg000:00000000 ; Segment type: Pure code
- seg000:00000000 seg000 segment byte public 'CODE' use32
- seg000:00000000 assume cs:seg000
- seg000:00000000 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing
- seg000:00000000 mov edx, 2802A0h
- seg000:00000005 mov ecx, 280360h
- seg000:0000000A push edi
- seg000:0000000B xor eax, eax
- seg000:0000000D mov edi, edx
- seg000:0000000F sub ecx, 2802A0h
- seg000:00000015 push esi
- seg000:00000016 mov esi, 181592h
- seg000:0000001B rep stosb
- seg000:0000001D mov eax, 2801A0h
- seg000:00000022 mov ecx, 0E8h ; 'Þ'
- seg000:00000027 mov edi, eax
- seg000:00000029 mov eax, 1106h
- seg000:0000002E rep movsb
- seg000:00000030 call sub_B3D
- seg000:00000035 pop esi
- seg000:00000036 pop edi
- seg000:00000037 jmp loc_5CA
- seg000:0000003C ; ---------------------------------------------------------------------------
- seg000:0000003C xor eax, eax
- seg000:0000003E mov edx, 9
- seg000:00000043 cmp dword ptr ds:2802C4h, 1
- seg000:0000004A jnz short loc_62
- seg000:0000004C call sub_FE7
- seg000:00000051 mov dword ptr ds:2802C4h, 0
- seg000:0000005B mov eax, ds:2802B0h
- seg000:00000060 jmp short loc_76
- seg000:00000062 ; ---------------------------------------------------------------------------
- seg000:00000062
- seg000:00000062 loc_62: ; CODE XREF: seg000:0000004Aj
- seg000:00000062 call sub_FCA
- seg000:00000067 mov dword ptr ds:2802C4h, 1
- seg000:00000071 mov eax, ds:2802B4h
- seg000:00000076
- seg000:00000076 loc_76: ; CODE XREF: seg000:00000060j
- seg000:00000076 test eax, eax
- seg000:00000078 jnz short loc_7F
- seg000:0000007A mov eax, 1
- seg000:0000007F
- seg000:0000007F loc_7F: ; CODE XREF: seg000:00000078j
- seg000:0000007F mov edx, ds:0B0000400h
- seg000:00000085 add edx, eax
- seg000:00000087 xor eax, eax
- seg000:00000089 jmp sub_10F4
- seg000:0000008E ; ---------------------------------------------------------------------------
- seg000:0000008E ; START OF FUNCTION CHUNK FOR sub_10F
- seg000:0000008E
- seg000:0000008E loc_8E: ; CODE XREF: sub_10F+45j
- seg000:0000008E mov ecx, ds:2801E8h
- seg000:00000094 push esi
- seg000:00000095 cmp ecx, ds:2802C0h
- seg000:0000009B push ebx
- seg000:0000009C mov ebx, ds:2801ECh
- seg000:000000A2 jnz short loc_AC
- seg000:000000A4 cmp ebx, ds:2802BCh
- seg000:000000AA jz short loc_10C
- seg000:000000AC
- seg000:000000AC loc_AC: ; CODE XREF: sub_10F-6Dj
- seg000:000000AC mov ds:2802C0h, ecx
- seg000:000000B2 mov ds:2802BCh, ebx
- seg000:000000B8 test ecx, ecx
- seg000:000000BA jz short loc_CE
- seg000:000000BC mov eax, ecx
- seg000:000000BE mov esi, 64h ; 'd'
- seg000:000000C3 imul eax, ebx
- seg000:000000C6 cdq
- seg000:000000C7 idiv esi
- seg000:000000C9 mov ds:2802B8h, eax
- seg000:000000CE
- seg000:000000CE loc_CE: ; CODE XREF: sub_10F-55j
- seg000:000000CE mov eax, ecx
- seg000:000000D0 mov esi, 64h ; 'd'
- seg000:000000D5 imul eax, ebx
- seg000:000000D8 cdq
- seg000:000000D9 idiv esi
- seg000:000000DB test eax, eax
- seg000:000000DD jle short loc_E6
- seg000:000000DF mov ds:2802B4h, eax
- seg000:000000E4 jmp short loc_F0
- seg000:000000E6 ; ---------------------------------------------------------------------------
- seg000:000000E6
- seg000:000000E6 loc_E6: ; CODE XREF: sub_10F-32j
- seg000:000000E6 mov dword ptr ds:2802B4h, 1
- seg000:000000F0
- seg000:000000F0 loc_F0: ; CODE XREF: sub_10F-2Bj
- seg000:000000F0 sub ebx, ds:2802B4h
- seg000:000000F6 test ebx, ebx
- seg000:000000F8 jle short loc_102
- seg000:000000FA mov ds:2802B0h, ebx
- seg000:00000100 jmp short loc_10C
- seg000:00000102 ; ---------------------------------------------------------------------------
- seg000:00000102
- seg000:00000102 loc_102: ; CODE XREF: sub_10F-17j
- seg000:00000102 mov dword ptr ds:2802B0h, 1
- seg000:0000010C
- seg000:0000010C loc_10C: ; CODE XREF: sub_10F-65j
- seg000:0000010C ; sub_10F-Fj
- seg000:0000010C pop ebx
- seg000:0000010D pop esi
- seg000:0000010E retn
- seg000:0000010E ; END OF FUNCTION CHUNK FOR sub_10F
- seg000:0000010F
- seg000:0000010F ; =============== S U B R O U T I N E =======================================
- seg000:0000010F
- seg000:0000010F
- seg000:0000010F sub_10F proc near ; CODE XREF: sub_410+5Dp
- seg000:0000010F ; sub_763-14p ...
- seg000:0000010F
- seg000:0000010F ; FUNCTION CHUNK AT seg000:0000008E SIZE 00000081 BYTES
- seg000:0000010F
- seg000:0000010F push ebx
- seg000:00000110 mov ds:2801E8h, eax
- seg000:00000115 mov ebx, eax
- seg000:00000117 cmp eax, 64h ; 'd'
- seg000:0000011A jle short loc_132
- seg000:0000011C push 181162h
- seg000:00000121 call sub_A37
- seg000:00000126 mov dword ptr ds:2801E8h, 64h ; 'd'
- seg000:00000130 jmp short loc_14A
- seg000:00000132 ; ---------------------------------------------------------------------------
- seg000:00000132
- seg000:00000132 loc_132: ; CODE XREF: sub_10F+Bj
- seg000:00000132 test eax, eax
- seg000:00000134 jns short loc_14B
- seg000:00000136 push 18117Fh
- seg000:0000013B call sub_A37
- seg000:00000140 mov dword ptr ds:2801E8h, 0
- seg000:0000014A
- seg000:0000014A loc_14A: ; CODE XREF: sub_10F+21j
- seg000:0000014A pop eax
- seg000:0000014B
- seg000:0000014B loc_14B: ; CODE XREF: sub_10F+25j
- seg000:0000014B mov eax, ebx
- seg000:0000014D mov edx, ds:2801ECh
- seg000:00000153 pop ebx
- seg000:00000154 jmp loc_8E
- seg000:00000154 sub_10F endp
- seg000:00000154
- seg000:00000159
- seg000:00000159 ; =============== S U B R O U T I N E =======================================
- seg000:00000159
- seg000:00000159
- seg000:00000159 sub_159 proc near ; CODE XREF: seg000:000006B0p
- seg000:00000159 mov eax, ds:2801E8h
- seg000:0000015E mov ds:2802ACh, eax
- seg000:00000163 mov eax, ds:2801ECh
- seg000:00000168 mov ds:2802A8h, eax
- seg000:0000016D retn
- seg000:0000016D sub_159 endp
- seg000:0000016D
- seg000:0000016E
- seg000:0000016E ; =============== S U B R O U T I N E =======================================
- seg000:0000016E
- seg000:0000016E
- seg000:0000016E sub_16E proc near ; CODE XREF: sub_226j
- seg000:0000016E ; seg000:000005F6p
- seg000:0000016E
- seg000:0000016E var_18 = dword ptr -18h
- seg000:0000016E var_14 = byte ptr -14h
- seg000:0000016E var_10 = dword ptr -10h
- seg000:0000016E var_C = dword ptr -0Ch
- seg000:0000016E var_8 = dword ptr -8
- seg000:0000016E
- seg000:0000016E push ebx
- seg000:0000016F xor edx, edx
- seg000:00000171 sub esp, 14h
- seg000:00000174 mov eax, 9
- seg000:00000179 call sub_DC7
- seg000:0000017E mov edx, 280340h
- seg000:00000183 xor eax, eax
- seg000:00000185 mov ebx, 64h ; 'd'
- seg000:0000018A or dword ptr ds:280340h, 200h
- seg000:00000194 call sub_F78
- seg000:00000199 mov ecx, ds:2801ECh
- seg000:0000019F mov eax, ds:2801E8h
- seg000:000001A4 mov [esp+18h+var_10], ecx
- seg000:000001A8 mov ds:2802C0h, eax
- seg000:000001AD mov ds:2802BCh, ecx
- seg000:000001B3 imul eax, ecx
- seg000:000001B6 cdq
- seg000:000001B7 idiv ebx
- seg000:000001B9 mov ds:2802B8h, eax
- seg000:000001BE mov edx, 181087h
- seg000:000001C3 mov eax, 22h ; '"'
- seg000:000001C8 mov [esp+18h+var_18], 0
- seg000:000001CF mov [esp+18h+var_14], 1
- seg000:000001D4 mov [esp+18h+var_C], 18003Ch
- seg000:000001DC mov [esp+18h+var_8], 0
- seg000:000001E4 call sub_EE3
- seg000:000001E9 mov edx, 0Ch
- seg000:000001EE mov eax, 2
- seg000:000001F3 call sub_E88
- seg000:000001F8 mov eax, 802h
- seg000:000001FD call sub_BBD
- seg000:00000202 mov edx, esp
- seg000:00000204 xor eax, eax
- seg000:00000206 call sub_110F
- seg000:0000020B add esp, 14h
- seg000:0000020E pop ebx
- seg000:0000020F retn
- seg000:0000020F sub_16E endp
- seg000:0000020F
- seg000:00000210
- seg000:00000210 ; =============== S U B R O U T I N E =======================================
- seg000:00000210
- seg000:00000210
- seg000:00000210 sub_210 proc near ; CODE XREF: sub_410+2Cp
- seg000:00000210 ; seg000:000006B5p
- seg000:00000210
- seg000:00000210 ; FUNCTION CHUNK AT seg000:00000BCD SIZE 00000012 BYTES
- seg000:00000210
- seg000:00000210 mov edx, 9
- seg000:00000215 xor eax, eax
- seg000:00000217 call sub_FE7
- seg000:0000021C mov eax, 802h
- seg000:00000221 jmp loc_BCD
- seg000:00000221 sub_210 endp
- seg000:00000221
- seg000:00000226
- seg000:00000226 ; =============== S U B R O U T I N E =======================================
- seg000:00000226
- seg000:00000226 ; Attributes: thunk
- seg000:00000226
- seg000:00000226 sub_226 proc near ; CODE XREF: sub_410+62p
- seg000:00000226 ; seg000:000006D5p ...
- seg000:00000226 jmp sub_16E
- seg000:00000226 sub_226 endp
- seg000:00000226
- seg000:0000022B ; ---------------------------------------------------------------------------
- seg000:0000022B push esi
- seg000:0000022C mov esi, edx
- seg000:0000022E push ebx
- seg000:0000022F xor ebx, ebx
- seg000:00000231 cmp dword ptr ds:28031Ch, 1
- seg000:00000238 jnz short loc_252
- seg000:0000023A xor edx, edx
- seg000:0000023C xor eax, eax
- seg000:0000023E call sub_C58
- seg000:00000243 mov eax, 1106h
- seg000:00000248 call sub_B3D
- seg000:0000024D mov ebx, 1
- seg000:00000252
- seg000:00000252 loc_252: ; CODE XREF: seg000:00000238j
- seg000:00000252 or edx, 0FFFFFFFFh
- seg000:00000255
- seg000:00000255 loc_255: ; CODE XREF: seg000:0000025Cj
- seg000:00000255 test esi, esi
- seg000:00000257 jz short loc_25E
- seg000:00000259 shr esi, 1
- seg000:0000025B inc edx
- seg000:0000025C jmp short loc_255
- seg000:0000025E ; ---------------------------------------------------------------------------
- seg000:0000025E
- seg000:0000025E loc_25E: ; CODE XREF: seg000:00000257j
- seg000:0000025E mov eax, ds:2801F0h
- seg000:00000263 inc eax
- seg000:00000264 cmp edx, ds:280200h[eax*4]
- seg000:0000026B jnz short loc_274
- seg000:0000026D mov ds:2801F0h, eax
- seg000:00000272 jmp short loc_27E
- seg000:00000274 ; ---------------------------------------------------------------------------
- seg000:00000274
- seg000:00000274 loc_274: ; CODE XREF: seg000:0000026Bj
- seg000:00000274 mov dword ptr ds:2801F0h, 0FFFFFFFFh
- seg000:0000027E
- seg000:0000027E loc_27E: ; CODE XREF: seg000:00000272j
- seg000:0000027E mov eax, ds:2801F4h
- seg000:00000283 dec eax
- seg000:00000284 cmp eax, ds:2801F0h
- seg000:0000028A jnz loc_339
- seg000:00000290 push 1811D8h
- seg000:00000295 call sub_A37
- seg000:0000029A xor eax, eax
- seg000:0000029C mov dword ptr ds:2802A4h, 1
- seg000:000002A6 mov dword ptr ds:2801F0h, 0FFFFFFFFh
- seg000:000002B0 call sub_6E0
- seg000:000002B5 mov eax, 1
- seg000:000002BA mov esi, 0Ah
- seg000:000002BF call sub_6E0
- seg000:000002C4 call sub_BDF
- seg000:000002C9 xor edx, edx
- seg000:000002CB imul eax, 0F4240h
- seg000:000002D1 div esi
- seg000:000002D3 call sub_BE5
- seg000:000002D8 xor eax, eax
- seg000:000002DA call sub_6FC
- seg000:000002DF mov eax, 1
- seg000:000002E4 call sub_6FC
- seg000:000002E9 call sub_BDF
- seg000:000002EE mov ecx, 14h
- seg000:000002F3 imul eax, 0F4240h
- seg000:000002F9 xor edx, edx
- seg000:000002FB div ecx
- seg000:000002FD call sub_BE5
- seg000:00000302 xor eax, eax
- seg000:00000304 call sub_6E0
- seg000:00000309 mov eax, 1
- seg000:0000030E call sub_6E0
- seg000:00000313 call sub_BDF
- seg000:00000318 xor edx, edx
- seg000:0000031A imul eax, 0F4240h
- seg000:00000320 div esi
- seg000:00000322 call sub_BE5
- seg000:00000327 xor eax, eax
- seg000:00000329 call sub_6FC
- seg000:0000032E mov eax, 1
- seg000:00000333 call sub_6FC
- seg000:00000338 pop edx
- seg000:00000339
- seg000:00000339 loc_339: ; CODE XREF: seg000:0000028Aj
- seg000:00000339 push 181256h
- seg000:0000033E call sub_A37
- seg000:00000343 pop eax
- seg000:00000344 dec ebx
- seg000:00000345 jnz short loc_358
- seg000:00000347 mov edx, 3
- seg000:0000034C mov eax, 3
- seg000:00000351 pop ebx
- seg000:00000352 pop esi
- seg000:00000353 jmp sub_C58
- seg000:00000358 ; ---------------------------------------------------------------------------
- seg000:00000358
- seg000:00000358 loc_358: ; CODE XREF: seg000:00000345j
- seg000:00000358 pop ebx
- seg000:00000359 pop esi
- seg000:0000035A retn
- seg000:0000035B
- seg000:0000035B ; =============== S U B R O U T I N E =======================================
- seg000:0000035B
- seg000:0000035B
- seg000:0000035B sub_35B proc near ; CODE XREF: seg000:000005F1p
- seg000:0000035B push esi
- seg000:0000035C xor esi, esi
- seg000:0000035E push ebx
- seg000:0000035F
- seg000:0000035F loc_35F: ; CODE XREF: sub_35B+A2j
- seg000:0000035F cmp esi, ds:280228h
- seg000:00000365 jge loc_402
- seg000:0000036B mov ebx, ds:280240h[esi*4]
- seg000:00000372 mov edx, 1
- seg000:00000377 mov eax, ebx
- seg000:00000379 inc esi
- seg000:0000037A call sub_E26
- seg000:0000037F xor edx, edx
- seg000:00000381 mov eax, ebx
- seg000:00000383 call sub_DC7
- seg000:00000388 mov edx, 1
- seg000:0000038D mov eax, ebx
- seg000:0000038F call sub_DFA
- seg000:00000394 mov cl, bl
- seg000:00000396 mov eax, 1
- seg000:0000039B mov edx, 180F06h
- seg000:000003A0 shl eax, cl
- seg000:000003A2 or ds:280344h, eax
- seg000:000003A8 mov dword ptr ds:280354h, 0
- seg000:000003B2 or ds:280348h, eax
- seg000:000003B8 mov dword ptr ds:280358h, 18022Bh
- seg000:000003C2 or ds:28034Ch, eax
- seg000:000003C8 mov dword ptr ds:28035Ch, 0
- seg000:000003D2 or ds:280350h, eax
- seg000:000003D8 mov eax, 2Fh ; '/'
- seg000:000003DD call sub_EE3
- seg000:000003E2 mov edx, 9
- seg000:000003E7 mov eax, 0Fh
- seg000:000003EC call sub_E88
- seg000:000003F1 mov edx, 1
- seg000:000003F6 mov eax, ebx
- seg000:000003F8 call sub_E26
- seg000:000003FD jmp loc_35F
- seg000:00000402 ; ---------------------------------------------------------------------------
- seg000:00000402
- seg000:00000402 loc_402: ; CODE XREF: sub_35B+Aj
- seg000:00000402 mov edx, 280340h
- seg000:00000407 xor eax, eax
- seg000:00000409 pop ebx
- seg000:0000040A pop esi
- seg000:0000040B jmp sub_F78
- seg000:0000040B sub_35B endp
- seg000:0000040B
- seg000:00000410
- seg000:00000410 ; =============== S U B R O U T I N E =======================================
- seg000:00000410
- seg000:00000410
- seg000:00000410 sub_410 proc near ; CODE XREF: seg000:00000605p
- seg000:00000410 push esi
- seg000:00000411 push ebx
- seg000:00000412 push 1811F3h
- seg000:00000417 call sub_A37
- seg000:0000041C push 1811F8h
- seg000:00000421 call sub_A37
- seg000:00000426 push 181216h
- seg000:0000042B call sub_A37
- seg000:00000430 push 181241h
- seg000:00000435 xor ebx, ebx
- seg000:00000437 call sub_A37
- seg000:0000043C call sub_210
- seg000:00000441 add esp, 10h
- seg000:00000444
- seg000:00000444 loc_444: ; CODE XREF: sub_410+54j
- seg000:00000444 cmp ebx, ds:280260h
- seg000:0000044A jge short loc_466
- seg000:0000044C mov eax, ds:280264h[ebx*4]
- seg000:00000453 mov dword ptr ds:280320h[ebx*4], 1
- seg000:0000045E call sub_6FC
- seg000:00000463 inc ebx
- seg000:00000464 jmp short loc_444
- seg000:00000466 ; ---------------------------------------------------------------------------
- seg000:00000466
- seg000:00000466 loc_466: ; CODE XREF: sub_410+3Aj
- seg000:00000466 mov eax, 1Eh
- seg000:0000046B xor ebx, ebx
- seg000:0000046D call sub_10F
- seg000:00000472 call sub_226
- seg000:00000477
- seg000:00000477 loc_477: ; CODE XREF: sub_410+E7j
- seg000:00000477 cmp ebx, ds:280260h
- seg000:0000047D jge short loc_4FC
- seg000:0000047F mov eax, ebx
- seg000:00000481 mov esi, 50h ; 'P'
- seg000:00000486 call sub_6E0
- seg000:0000048B call sub_BDF
- seg000:00000490 xor edx, edx
- seg000:00000492 imul eax, 0F4240h
- seg000:00000498 div esi
- seg000:0000049A call sub_BE5
- seg000:0000049F push 181252h
- seg000:000004A4 call sub_A37
- seg000:000004A9 mov eax, ebx
- seg000:000004AB call sub_6FC
- seg000:000004B0 call sub_BDF
- seg000:000004B5 xor edx, edx
- seg000:000004B7 imul eax, 0F4240h
- seg000:000004BD div esi
- seg000:000004BF call sub_BE5
- seg000:000004C4 push 181252h
- seg000:000004C9 call sub_A37
- seg000:000004CE mov eax, ebx
- seg000:000004D0 call sub_6E0
- seg000:000004D5 inc ebx
- seg000:000004D6 call sub_BDF
- seg000:000004DB xor edx, edx
- seg000:000004DD imul eax, 0F4240h
- seg000:000004E3 div esi
- seg000:000004E5 call sub_BE5
- seg000:000004EA push 181252h
- seg000:000004EF call sub_A37
- seg000:000004F4 add esp, 0Ch
- seg000:000004F7 jmp loc_477
- seg000:000004FC ; ---------------------------------------------------------------------------
- seg000:000004FC
- seg000:000004FC loc_4FC: ; CODE XREF: sub_410+6Dj
- seg000:000004FC push 181258h
- seg000:00000501 call sub_A37
- seg000:00000506 push 181254h
- seg000:0000050B call sub_A37
- seg000:00000510 push 18125Bh
- seg000:00000515 call sub_A37
- seg000:0000051A push 181279h
- seg000:0000051F call sub_A37
- seg000:00000524 push 1812A6h
- seg000:00000529 call sub_A37
- seg000:0000052E push 181254h
- seg000:00000533 call sub_A37
- seg000:00000538 push 1812CEh
- seg000:0000053D call sub_A37
- seg000:00000542 push 18131Ch
- seg000:00000547 call sub_A37
- seg000:0000054C add esp, 20h
- seg000:0000054F push 18133Dh
- seg000:00000554 call sub_A37
- seg000:00000559 push 181359h
- seg000:0000055E call sub_A37
- seg000:00000563 call sub_BDF
- seg000:00000568 pop edx
- seg000:00000569 imul eax, 0F4240h
- seg000:0000056F pop ecx
- seg000:00000570 xor edx, edx
- seg000:00000572 mov ecx, 28h ; '('
- seg000:00000577 pop ebx
- seg000:00000578 div ecx
- seg000:0000057A pop esi
- seg000:0000057B jmp sub_BE5
- seg000:0000057B sub_410 endp
- seg000:0000057B
- seg000:00000580
- seg000:00000580 ; =============== S U B R O U T I N E =======================================
- seg000:00000580
- seg000:00000580
- seg000:00000580 sub_580 proc near ; CODE XREF: sub_580+3Ep
- seg000:00000580 ; seg000:00000640p ...
- seg000:00000580 push ebx
- seg000:00000581 mov ebx, 0Bh
- seg000:00000586 mov edx, ds:0B0000400h
- seg000:0000058C mov eax, ds:0B0000400h
- seg000:00000591 imul eax, ds:2801A0h
- seg000:00000598 imul ecx, eax, 3201045h
- seg000:0000059E imul eax, edx, 7
- seg000:000005A1 xor edx, edx
- seg000:000005A3 div ebx
- seg000:000005A5 mov eax, ecx
- seg000:000005A7 imul eax, edx
- seg000:000005AA test eax, eax
- seg000:000005AC jnz short loc_5C3
- seg000:000005AE mov eax, ds:2802A0h
- seg000:000005B3 inc eax
- seg000:000005B4 mov ds:2802A0h, eax
- seg000:000005B9 mov ds:2801A0h, eax
- seg000:000005BE call sub_580
- seg000:000005C3
- seg000:000005C3 loc_5C3: ; CODE XREF: sub_580+2Cj
- seg000:000005C3 mov ds:2801A0h, eax
- seg000:000005C8 pop ebx
- seg000:000005C9 retn
- seg000:000005C9 sub_580 endp
- seg000:000005C9
- seg000:000005CA ; ---------------------------------------------------------------------------
- seg000:000005CA
- seg000:000005CA loc_5CA: ; CODE XREF: seg000:00000037j
- seg000:000005CA push esi
- seg000:000005CB push ebx
- seg000:000005CC push 1811F3h
- seg000:000005D1 call sub_A37
- seg000:000005D6 push 181375h
- seg000:000005DB call sub_A37
- seg000:000005E0 push 31h ; '1'
- seg000:000005E2 push 181392h
- seg000:000005E7 call sub_A37
- seg000:000005EC call sub_8CC
- seg000:000005F1 call sub_35B
- seg000:000005F6 call sub_16E
- seg000:000005FB push 1813A3h
- seg000:00000600 call sub_A37
- seg000:00000605 call sub_410
- seg000:0000060A call sub_718
- seg000:0000060F call sub_799
- seg000:00000614 call sub_763
- seg000:00000619 call sub_799
- seg000:0000061E add esp, 14h
- seg000:00000621
- seg000:00000621 loc_621: ; CODE XREF: seg000:00000639j
- seg000:00000621 ; seg000:000006DBj
- seg000:00000621 cmp dword ptr ds:2802A4h, 1
- seg000:00000628 jnz short loc_63B
- seg000:0000062A call sub_7B2
- seg000:0000062F mov dword ptr ds:2802A4h, 0
- seg000:00000639 jmp short loc_621
- seg000:0000063B ; ---------------------------------------------------------------------------
- seg000:0000063B
- seg000:0000063B loc_63B: ; CODE XREF: seg000:00000628j
- seg000:0000063B call sub_72F
- seg000:00000640 call sub_580
- seg000:00000645 xor edx, edx
- seg000:00000647 mov ecx, 3
- seg000:0000064C div ecx
- seg000:0000064E test edx, edx
- seg000:00000650 jz short loc_663
- seg000:00000652 dec edx
- seg000:00000653 jnz short loc_66C
- seg000:00000655 xor eax, eax
- seg000:00000657 call sub_6E0
- seg000:0000065C mov eax, 1
- seg000:00000661 jmp short loc_665
- seg000:00000663 ; ---------------------------------------------------------------------------
- seg000:00000663
- seg000:00000663 loc_663: ; CODE XREF: seg000:00000650j
- seg000:00000663 xor eax, eax
- seg000:00000665
- seg000:00000665 loc_665: ; CODE XREF: seg000:00000661j
- seg000:00000665 call sub_6E0
- seg000:0000066A jmp short loc_671
- seg000:0000066C ; ---------------------------------------------------------------------------
- seg000:0000066C
- seg000:0000066C loc_66C: ; CODE XREF: seg000:00000653j
- seg000:0000066C call sub_718
- seg000:00000671
- seg000:00000671 loc_671: ; CODE XREF: seg000:0000066Aj
- seg000:00000671 call sub_763
- seg000:00000676 mov esi, 3Ch ; '<'
- seg000:0000067B call sub_799
- seg000:00000680 call sub_580
- seg000:00000685 mov ebx, eax
- seg000:00000687 call sub_580
- seg000:0000068C mov ecx, 0Ah
- seg000:00000691 xor edx, edx
- seg000:00000693 div ecx
- seg000:00000695 mov eax, ds:2801C0h[edx*4]
- seg000:0000069C call sub_B76
- seg000:000006A1 push 181258h
- seg000:000006A6 call sub_A37
- seg000:000006AB call sub_72F
- seg000:000006B0 call sub_159
- seg000:000006B5 call sub_210
- seg000:000006BA call sub_BDF
- seg000:000006BF xor edx, edx
- seg000:000006C1 imul ecx, eax, 0F4240h
- seg000:000006C7 mov eax, ebx
- seg000:000006C9 div esi
- seg000:000006CB mov eax, ecx
- seg000:000006CD imul eax, edx
- seg000:000006D0 call sub_954
- seg000:000006D5 call sub_226
- seg000:000006DA pop eax
- seg000:000006DB jmp loc_621
- seg000:000006E0
- seg000:000006E0 ; =============== S U B R O U T I N E =======================================
- seg000:000006E0
- seg000:000006E0
- seg000:000006E0 sub_6E0 proc near ; CODE XREF: seg000:000002B0p
- seg000:000006E0 ; seg000:000002BFp ...
- seg000:000006E0 mov edx, ds:280264h[eax*4]
- seg000:000006E7 mov dword ptr ds:280320h[eax*4], 1
- seg000:000006F2 movzx edx, dl
- seg000:000006F5 xor eax, eax
- seg000:000006F7 jmp sub_FCA
- seg000:000006F7 sub_6E0 endp
- seg000:000006F7
- seg000:000006FC
- seg000:000006FC ; =============== S U B R O U T I N E =======================================
- seg000:000006FC
- seg000:000006FC
- seg000:000006FC sub_6FC proc near ; CODE XREF: seg000:000002DAp
- seg000:000006FC ; seg000:000002E4p ...
- seg000:000006FC mov edx, ds:280264h[eax*4]
- seg000:00000703 mov dword ptr ds:280320h[eax*4], 0
- seg000:0000070E movzx edx, dl
- seg000:00000711 xor eax, eax
- seg000:00000713 jmp sub_FE7
- seg000:00000713 sub_6FC endp
- seg000:00000713
- seg000:00000718
- seg000:00000718 ; =============== S U B R O U T I N E =======================================
- seg000:00000718
- seg000:00000718
- seg000:00000718 sub_718 proc near ; CODE XREF: seg000:0000060Ap
- seg000:00000718 ; seg000:loc_66Cp
- seg000:00000718 push ebx
- seg000:00000719 xor ebx, ebx
- seg000:0000071B
- seg000:0000071B loc_71B: ; CODE XREF: sub_718+13j
- seg000:0000071B cmp ebx, ds:280260h
- seg000:00000721 jge short loc_72D
- seg000:00000723 mov eax, ebx
- seg000:00000725 inc ebx
- seg000:00000726 call sub_6E0
- seg000:0000072B jmp short loc_71B
- seg000:0000072D ; ---------------------------------------------------------------------------
- seg000:0000072D
- seg000:0000072D loc_72D: ; CODE XREF: sub_718+9j
- seg000:0000072D pop ebx
- seg000:0000072E retn
- seg000:0000072E sub_718 endp
- seg000:0000072E
- seg000:0000072F
- seg000:0000072F ; =============== S U B R O U T I N E =======================================
- seg000:0000072F
- seg000:0000072F
- seg000:0000072F sub_72F proc near ; CODE XREF: seg000:loc_63Bp
- seg000:0000072F ; seg000:000006ABp ...
- seg000:0000072F push ebx
- seg000:00000730 xor ebx, ebx
- seg000:00000732
- seg000:00000732 loc_732: ; CODE XREF: sub_72F+13j
- seg000:00000732 cmp ebx, ds:280260h
- seg000:00000738 jge short loc_744
- seg000:0000073A mov eax, ebx
- seg000:0000073C inc ebx
- seg000:0000073D call sub_6FC
- seg000:00000742 jmp short loc_732
- seg000:00000744 ; ---------------------------------------------------------------------------
- seg000:00000744
- seg000:00000744 loc_744: ; CODE XREF: sub_72F+9j
- seg000:00000744 pop ebx
- seg000:00000745 retn
- seg000:00000745 sub_72F endp
- seg000:00000745
- seg000:00000746 ; ---------------------------------------------------------------------------
- seg000:00000746 ; START OF FUNCTION CHUNK FOR sub_763
- seg000:00000746
- seg000:00000746 loc_746: ; CODE XREF: sub_763+14j
- seg000:00000746 push esi
- seg000:00000747 mov esi, eax
- seg000:00000749 push ebx
- seg000:0000074A xor ebx, ebx
- seg000:0000074C
- seg000:0000074C loc_74C: ; CODE XREF: sub_763-5j
- seg000:0000074C mov eax, ebx
- seg000:0000074E inc ebx
- seg000:0000074F call sub_10F
- seg000:00000754 mov eax, esi
- seg000:00000756 call sub_90D
- seg000:0000075B cmp ebx, 1Eh
- seg000:0000075E jnz short loc_74C
- seg000:00000760 pop ebx
- seg000:00000761 pop esi
- seg000:00000762 retn
- seg000:00000762 ; END OF FUNCTION CHUNK FOR sub_763
- seg000:00000763
- seg000:00000763 ; =============== S U B R O U T I N E =======================================
- seg000:00000763
- seg000:00000763
- seg000:00000763 sub_763 proc near ; CODE XREF: seg000:00000614p
- seg000:00000763 ; seg000:loc_671p
- seg000:00000763
- seg000:00000763 ; FUNCTION CHUNK AT seg000:00000746 SIZE 0000001D BYTES
- seg000:00000763
- seg000:00000763 call sub_BDF
- seg000:00000768 mov ecx, 1Eh
- seg000:0000076D imul eax, 0F4240h
- seg000:00000773 xor edx, edx
- seg000:00000775 div ecx
- seg000:00000777 jmp loc_746
- seg000:00000777 sub_763 endp
- seg000:00000777
- seg000:0000077C ; ---------------------------------------------------------------------------
- seg000:0000077C ; START OF FUNCTION CHUNK FOR sub_799
- seg000:0000077C
- seg000:0000077C loc_77C: ; CODE XREF: sub_799+14j
- seg000:0000077C push esi
- seg000:0000077D mov esi, eax
- seg000:0000077F push ebx
- seg000:00000780 mov ebx, 1Eh
- seg000:00000785
- seg000:00000785 loc_785: ; CODE XREF: sub_799-5j
- seg000:00000785 mov eax, ebx
- seg000:00000787 call sub_10F
- seg000:0000078C mov eax, esi
- seg000:0000078E call sub_90D
- seg000:00000793 dec ebx
- seg000:00000794 jnz short loc_785
- seg000:00000796 pop ebx
- seg000:00000797 pop esi
- seg000:00000798 retn
- seg000:00000798 ; END OF FUNCTION CHUNK FOR sub_799
- seg000:00000799
- seg000:00000799 ; =============== S U B R O U T I N E =======================================
- seg000:00000799
- seg000:00000799
- seg000:00000799 sub_799 proc near ; CODE XREF: seg000:0000060Fp
- seg000:00000799 ; seg000:00000619p ...
- seg000:00000799
- seg000:00000799 ; FUNCTION CHUNK AT seg000:0000077C SIZE 0000001D BYTES
- seg000:00000799
- seg000:00000799 call sub_BDF
- seg000:0000079E mov ecx, 1Eh
- seg000:000007A3 imul eax, 0F4240h
- seg000:000007A9 xor edx, edx
- seg000:000007AB div ecx
- seg000:000007AD jmp loc_77C
- seg000:000007AD sub_799 endp
- seg000:000007AD
- seg000:000007B2
- seg000:000007B2 ; =============== S U B R O U T I N E =======================================
- seg000:000007B2
- seg000:000007B2
- seg000:000007B2 sub_7B2 proc near ; CODE XREF: seg000:0000062Ap
- seg000:000007B2 push edi
- seg000:000007B3 push esi
- seg000:000007B4 push ebx
- seg000:000007B5 call sub_BDF
- seg000:000007BA imul eax, 0F4240h
- seg000:000007C0 xor edx, edx
- seg000:000007C2 mov ecx, 1Eh
- seg000:000007C7 div ecx
- seg000:000007C9 xor ebx, ebx
- seg000:000007CB mov esi, eax
- seg000:000007CD cmp dword ptr ds:28031Ch, 1
- seg000:000007D4 jnz short loc_7EE
- seg000:000007D6 xor edx, edx
- seg000:000007D8 xor eax, eax
- seg000:000007DA call sub_C58
- seg000:000007DF mov eax, 1106h
- seg000:000007E4 call sub_B3D
- seg000:000007E9 mov ebx, 1
- seg000:000007EE
- seg000:000007EE loc_7EE: ; CODE XREF: sub_7B2+22j
- seg000:000007EE call sub_72F
- seg000:000007F3 xor edi, edi
- seg000:000007F5 call sub_BDF
- seg000:000007FA mov ecx, 0Ah
- seg000:000007FF imul eax, 0F4240h
- seg000:00000805 xor edx, edx
- seg000:00000807 div ecx
- seg000:00000809 call sub_90D
- seg000:0000080E call sub_226
- seg000:00000813 xor eax, eax
- seg000:00000815 call sub_10F
- seg000:0000081A mov eax, 3
- seg000:0000081F call sub_6E0
- seg000:00000824
- seg000:00000824 loc_824: ; CODE XREF: sub_7B2+9Dj
- seg000:00000824 mov eax, edi
- seg000:00000826 call sub_10F
- seg000:0000082B mov eax, esi
- seg000:0000082D call sub_90D
- seg000:00000832 cmp edi, 0Fh
- seg000:00000835 jnz short loc_84B
- seg000:00000837 mov eax, 2
- seg000:0000083C call sub_6E0
- seg000:00000841 mov eax, 4
- seg000:00000846 call sub_6E0
- seg000:0000084B
- seg000:0000084B loc_84B: ; CODE XREF: sub_7B2+83j
- seg000:0000084B inc edi
- seg000:0000084C cmp edi, 1Fh
- seg000:0000084F jnz short loc_824
- seg000:00000851 mov edi, 1Eh
- seg000:00000856
- seg000:00000856 loc_856: ; CODE XREF: sub_7B2+CCj
- seg000:00000856 mov eax, edi
- seg000:00000858 call sub_10F
- seg000:0000085D mov eax, esi
- seg000:0000085F call sub_90D
- seg000:00000864 cmp edi, 0Fh
- seg000:00000867 jnz short loc_87D
- seg000:00000869 mov eax, 2
- seg000:0000086E call sub_6FC
- seg000:00000873 mov eax, 4
- seg000:00000878 call sub_6FC
- seg000:0000087D
- seg000:0000087D loc_87D: ; CODE XREF: sub_7B2+B5j
- seg000:0000087D dec edi
- seg000:0000087E jnz short loc_856
- seg000:00000880 call sub_72F
- seg000:00000885 dec ebx
- seg000:00000886 jnz short loc_897
- seg000:00000888 mov edx, 3
- seg000:0000088D mov eax, 3
- seg000:00000892 call sub_C58
- seg000:00000897
- seg000:00000897 loc_897: ; CODE XREF: sub_7B2+D4j
- seg000:00000897 pop ebx
- seg000:00000898 mov dword ptr ds:2802A4h, 0
- seg000:000008A2 pop esi
- seg000:000008A3 pop edi
- seg000:000008A4 retn
- seg000:000008A4 sub_7B2 endp
- seg000:000008A4
- seg000:000008A5 ; ---------------------------------------------------------------------------
- seg000:000008A5 ; START OF FUNCTION CHUNK FOR sub_8CC
- seg000:000008A5
- seg000:000008A5 loc_8A5: ; CODE XREF: sub_8CC+3Cj
- seg000:000008A5 push ebx
- seg000:000008A6 xor ebx, ebx
- seg000:000008A8
- seg000:000008A8 loc_8A8: ; CODE XREF: sub_8CC-4j
- seg000:000008A8 cmp ebx, ds:280260h
- seg000:000008AE jge short loc_8CA
- seg000:000008B0 mov eax, ds:280264h[ebx*4]
- seg000:000008B7 mov dword ptr ds:280320h[ebx*4], 0
- seg000:000008C2 call sub_6FC
- seg000:000008C7 inc ebx
- seg000:000008C8 jmp short loc_8A8
- seg000:000008CA ; ---------------------------------------------------------------------------
- seg000:000008CA
- seg000:000008CA loc_8CA: ; CODE XREF: sub_8CC-1Ej
- seg000:000008CA pop ebx
- seg000:000008CB retn
- seg000:000008CB ; END OF FUNCTION CHUNK FOR sub_8CC
- seg000:000008CC
- seg000:000008CC ; =============== S U B R O U T I N E =======================================
- seg000:000008CC
- seg000:000008CC
- seg000:000008CC sub_8CC proc near ; CODE XREF: seg000:000005ECp
- seg000:000008CC
- seg000:000008CC ; FUNCTION CHUNK AT seg000:000008A5 SIZE 00000027 BYTES
- seg000:000008CC
- seg000:000008CC push esi
- seg000:000008CD push ebx
- seg000:000008CE xor ebx, ebx
- seg000:000008D0
- seg000:000008D0 loc_8D0: ; CODE XREF: sub_8CC+2Cj
- seg000:000008D0 cmp ebx, ds:280260h
- seg000:000008D6 jge short loc_8FA
- seg000:000008D8 mov esi, ds:280264h[ebx*4]
- seg000:000008DF xor edx, edx
- seg000:000008E1 mov eax, esi
- seg000:000008E3 inc ebx
- seg000:000008E4 call sub_DC7
- seg000:000008E9 mov eax, 1
- seg000:000008EE mov ecx, esi
- seg000:000008F0 shl eax, cl
- seg000:000008F2 or ds:280340h, eax
- seg000:000008F8 jmp short loc_8D0
- seg000:000008FA ; ---------------------------------------------------------------------------
- seg000:000008FA
- seg000:000008FA loc_8FA: ; CODE XREF: sub_8CC+Aj
- seg000:000008FA mov edx, 280340h
- seg000:000008FF xor eax, eax
- seg000:00000901 call sub_F78
- seg000:00000906 pop ebx
- seg000:00000907 pop esi
- seg000:00000908 jmp loc_8A5
- seg000:00000908 sub_8CC endp ; sp-analysis failed
- seg000:00000908
- seg000:0000090D
- seg000:0000090D ; =============== S U B R O U T I N E =======================================
- seg000:0000090D
- seg000:0000090D
- seg000:0000090D sub_90D proc near ; CODE XREF: sub_763-Dp
- seg000:0000090D ; sub_799-Bp ...
- seg000:0000090D push esi
- seg000:0000090E push ebx
- seg000:0000090F mov ebx, eax
- seg000:00000911 call sub_BDF
- seg000:00000916 mov edx, 3
- seg000:0000091B mov esi, eax
- seg000:0000091D xor eax, eax
- seg000:0000091F call sub_C58
- seg000:00000924 mov eax, 203h
- seg000:00000929 call sub_B3D
- seg000:0000092E call sub_BDF
- seg000:00000933 xor edx, edx
- seg000:00000935 imul eax, ebx
- seg000:00000938 div esi
- seg000:0000093A call sub_BE5
- seg000:0000093F xor edx, edx
- seg000:00000941 xor eax, eax
- seg000:00000943 call sub_C58
- seg000:00000948 mov eax, 1106h
- seg000:0000094D pop ebx
- seg000:0000094E pop esi
- seg000:0000094F jmp sub_B3D
- seg000:0000094F sub_90D endp
- seg000:0000094F
- seg000:00000954
- seg000:00000954 ; =============== S U B R O U T I N E =======================================
- seg000:00000954
- seg000:00000954
- seg000:00000954 sub_954 proc near ; CODE XREF: seg000:000006D0p
- seg000:00000954 push edi
- seg000:00000955 push esi
- seg000:00000956 push ebx
- seg000:00000957 mov ebx, eax
- seg000:00000959 call sub_BDF
- seg000:0000095E mov edx, 3
- seg000:00000963 mov esi, eax
- seg000:00000965 mov eax, 3
- seg000:0000096A mov dword ptr ds:28031Ch, 1
- seg000:00000974 call sub_C58
- seg000:00000979 mov eax, 1106h
- seg000:0000097E call sub_B3D
- seg000:00000983 call sub_BDF
- seg000:00000988 xor edx, edx
- seg000:0000098A mov edi, eax
- seg000:0000098C xor eax, eax
- seg000:0000098E call sub_C58
- seg000:00000993 mov eax, 1106h
- seg000:00000998 call sub_B3D
- seg000:0000099D mov edx, 3
- seg000:000009A2 mov eax, 3
- seg000:000009A7 call sub_C58
- seg000:000009AC mov eax, edi
- seg000:000009AE imul eax, ebx
- seg000:000009B1 xor edx, edx
- seg000:000009B3 div esi
- seg000:000009B5 call sub_BE5
- seg000:000009BA xor edx, edx
- seg000:000009BC xor eax, eax
- seg000:000009BE call sub_C58
- seg000:000009C3 mov eax, 1106h
- seg000:000009C8 call sub_B3D
- seg000:000009CD pop ebx
- seg000:000009CE mov dword ptr ds:28031Ch, 0
- seg000:000009D8 pop esi
- seg000:000009D9 pop edi
- seg000:000009DA retn
- seg000:000009DA sub_954 endp
- seg000:000009DA
- seg000:000009DB
- seg000:000009DB ; =============== S U B R O U T I N E =======================================
- seg000:000009DB
- seg000:000009DB
- seg000:000009DB sub_9DB proc near ; CODE XREF: sub_A37:loc_AD1p
- seg000:000009DB push ebp
- seg000:000009DC push edi
- seg000:000009DD mov edi, edx
- seg000:000009DF push esi
- seg000:000009E0 mov esi, eax
- seg000:000009E2 push ebx
- seg000:000009E3 xor ebx, ebx
- seg000:000009E5
- seg000:000009E5 loc_9E5: ; CODE XREF: sub_9DB+39j
- seg000:000009E5 xor edx, edx
- seg000:000009E7 mov eax, esi
- seg000:000009E9 div edi
- seg000:000009EB lea ebp, [ebx+1]
- seg000:000009EE cmp dl, 9
- seg000:000009F1 lea eax, [edx+30h]
- seg000:000009F4 jle short loc_A00
- seg000:000009F6 lea eax, [edx+57h]
- seg000:000009F9 test cl, cl
- seg000:000009FB jz short loc_A00
- seg000:000009FD lea eax, [edx+37h]
- seg000:00000A00
- seg000:00000A00 loc_A00: ; CODE XREF: sub_9DB+19j
- seg000:00000A00 ; sub_9DB+20j
- seg000:00000A00 xor edx, edx
- seg000:00000A02 mov [ebp+2802DFh], al
- seg000:00000A08 mov eax, esi
- seg000:00000A0A div edi
- seg000:00000A0C mov esi, eax
- seg000:00000A0E test eax, eax
- seg000:00000A10 jz short loc_A16
- seg000:00000A12 mov ebx, ebp
- seg000:00000A14 jmp short loc_9E5
- seg000:00000A16 ; ---------------------------------------------------------------------------
- seg000:00000A16
- seg000:00000A16 loc_A16: ; CODE XREF: sub_9DB+35j
- seg000:00000A16 add ebx, 2802E0h
- seg000:00000A1C mov esi, 2802DFh
- seg000:00000A21
- seg000:00000A21 loc_A21: ; CODE XREF: sub_9DB+53j
- seg000:00000A21 movzx edx, byte ptr [ebx]
- seg000:00000A24 xor eax, eax
- seg000:00000A26 dec ebx
- seg000:00000A27 call sub_1068
- seg000:00000A2C cmp esi, ebx
- seg000:00000A2E jnz short loc_A21
- seg000:00000A30 pop ebx
- seg000:00000A31 mov eax, ebp
- seg000:00000A33 pop esi
- seg000:00000A34 pop edi
- seg000:00000A35 pop ebp
- seg000:00000A36 retn
- seg000:00000A36 sub_9DB endp
- seg000:00000A36
- seg000:00000A37
- seg000:00000A37 ; =============== S U B R O U T I N E =======================================
- seg000:00000A37
- seg000:00000A37
- seg000:00000A37 sub_A37 proc near ; CODE XREF: sub_10F+12p
- seg000:00000A37 ; sub_10F+2Cp ...
- seg000:00000A37
- seg000:00000A37 var_14 = dword ptr -14h
- seg000:00000A37 arg_0 = dword ptr 4
- seg000:00000A37 arg_4 = byte ptr 8
- seg000:00000A37
- seg000:00000A37 push ebp
- seg000:00000A38 push edi
- seg000:00000A39 push esi
- seg000:00000A3A push ebx
- seg000:00000A3B push ecx
- seg000:00000A3C xor ebx, ebx
- seg000:00000A3E mov edi, [esp+14h+arg_0]
- seg000:00000A42 lea esi, [esp+14h+arg_4]
- seg000:00000A46
- seg000:00000A46 loc_A46: ; CODE XREF: sub_A37+A3j
- seg000:00000A46 ; sub_A37+D3j ...
- seg000:00000A46 movzx edx, byte ptr [edi]
- seg000:00000A49 test dl, dl
- seg000:00000A4B jz loc_B35
- seg000:00000A51 cmp dl, 25h ; '%'
- seg000:00000A54 jnz loc_B27
- seg000:00000A5A mov cl, [edi+1]
- seg000:00000A5D cmp cl, 6Ch ; 'l'
- seg000:00000A60 jz short loc_A67
- seg000:00000A62 add edi, 2
- seg000:00000A65 jmp short loc_A6D
- seg000:00000A67 ; ---------------------------------------------------------------------------
- seg000:00000A67
- seg000:00000A67 loc_A67: ; CODE XREF: sub_A37+29j
- seg000:00000A67 mov cl, [edi+2]
- seg000:00000A6A add edi, 3
- seg000:00000A6D
- seg000:00000A6D loc_A6D: ; CODE XREF: sub_A37+2Ej
- seg000:00000A6D cmp cl, 64h ; 'd'
- seg000:00000A70 jz short loc_AA2
- seg000:00000A72 jg short loc_A87
- seg000:00000A74 cmp cl, 25h ; '%'
- seg000:00000A77 jz loc_B22
- seg000:00000A7D cmp cl, 58h ; 'X'
- seg000:00000A80 jz short loc_ADF
- seg000:00000A82 jmp loc_B0F
- seg000:00000A87 ; ---------------------------------------------------------------------------
- seg000:00000A87
- seg000:00000A87 loc_A87: ; CODE XREF: sub_A37+3Bj
- seg000:00000A87 cmp cl, 75h ; 'u'
- seg000:00000A8A jz short loc_AC5
- seg000:00000A8C cmp cl, 78h ; 'x'
- seg000:00000A8F jz short loc_ADF
- seg000:00000A91 cmp cl, 73h ; 's'
- seg000:00000A94 jnz short loc_B0F
- seg000:00000A96 lea eax, [esi+4]
- seg000:00000A99 mov ebp, [esi]
- seg000:00000A9B mov [esp+14h+var_14], eax
- seg000:00000A9E xor esi, esi
- seg000:00000AA0 jmp short loc_AF2
- seg000:00000AA2 ; ---------------------------------------------------------------------------
- seg000:00000AA2
- seg000:00000AA2 loc_AA2: ; CODE XREF: sub_A37+39j
- seg000:00000AA2 lea ebp, [esi+4]
- seg000:00000AA5 mov esi, [esi]
- seg000:00000AA7 test esi, esi
- seg000:00000AA9 jns short loc_ABA
- seg000:00000AAB mov edx, 2Dh ; '-'
- seg000:00000AB0 xor eax, eax
- seg000:00000AB2 call sub_1068
- seg000:00000AB7 inc ebx
- seg000:00000AB8 neg esi
- seg000:00000ABA
- seg000:00000ABA loc_ABA: ; CODE XREF: sub_A37+72j
- seg000:00000ABA xor ecx, ecx
- seg000:00000ABC mov edx, 0Ah
- seg000:00000AC1 mov eax, esi
- seg000:00000AC3 jmp short loc_AD1
- seg000:00000AC5 ; ---------------------------------------------------------------------------
- seg000:00000AC5
- seg000:00000AC5 loc_AC5: ; CODE XREF: sub_A37+53j
- seg000:00000AC5 lea ebp, [esi+4]
- seg000:00000AC8 xor ecx, ecx
- seg000:00000ACA mov edx, 0Ah
- seg000:00000ACF
- seg000:00000ACF loc_ACF: ; CODE XREF: sub_A37+B9j
- seg000:00000ACF mov eax, [esi]
- seg000:00000AD1
- seg000:00000AD1 loc_AD1: ; CODE XREF: sub_A37+8Cj
- seg000:00000AD1 call sub_9DB
- seg000:00000AD6 mov esi, ebp
- seg000:00000AD8 add ebx, eax
- seg000:00000ADA jmp loc_A46
- seg000:00000ADF ; ---------------------------------------------------------------------------
- seg000:00000ADF
- seg000:00000ADF loc_ADF: ; CODE XREF: sub_A37+49j
- seg000:00000ADF ; sub_A37+58j
- seg000:00000ADF cmp cl, 58h ; 'X'
- seg000:00000AE2 lea ebp, [esi+4]
- seg000:00000AE5 setz cl
- seg000:00000AE8 movzx ecx, cl
- seg000:00000AEB mov edx, 10h
- seg000:00000AF0 jmp short loc_ACF
- seg000:00000AF2 ; ---------------------------------------------------------------------------
- seg000:00000AF2
- seg000:00000AF2 loc_AF2: ; CODE XREF: sub_A37+69j
- seg000:00000AF2 ; sub_A37+CCj
- seg000:00000AF2 movzx edx, byte ptr [ebp+esi+0]
- seg000:00000AF7 test dl, dl
- seg000:00000AF9 jz short loc_B05
- seg000:00000AFB xor eax, eax
- seg000:00000AFD inc esi
- seg000:00000AFE call sub_1068
- seg000:00000B03 jmp short loc_AF2
- seg000:00000B05 ; ---------------------------------------------------------------------------
- seg000:00000B05
- seg000:00000B05 loc_B05: ; CODE XREF: sub_A37+C2j
- seg000:00000B05 add ebx, esi
- seg000:00000B07 mov esi, [esp+14h+var_14]
- seg000:00000B0A jmp loc_A46
- seg000:00000B0F ; ---------------------------------------------------------------------------
- seg000:00000B0F
- seg000:00000B0F loc_B0F: ; CODE XREF: sub_A37+4Bj
- seg000:00000B0F ; sub_A37+5Dj
- seg000:00000B0F mov edx, 25h ; '%'
- seg000:00000B14 xor eax, eax
- seg000:00000B16 mov byte ptr [esp+14h+var_14], cl
- seg000:00000B19 inc ebx
- seg000:00000B1A call sub_1068
- seg000:00000B1F mov cl, byte ptr [esp+14h+var_14]
- seg000:00000B22
- seg000:00000B22 loc_B22: ; CODE XREF: sub_A37+40j
- seg000:00000B22 movzx edx, cl
- seg000:00000B25 jmp short loc_B28
- seg000:00000B27 ; ---------------------------------------------------------------------------
- seg000:00000B27
- seg000:00000B27 loc_B27: ; CODE XREF: sub_A37+1Dj
- seg000:00000B27 inc edi
- seg000:00000B28
- seg000:00000B28 loc_B28: ; CODE XREF: sub_A37+EEj
- seg000:00000B28 xor eax, eax
- seg000:00000B2A inc ebx
- seg000:00000B2B call sub_1068
- seg000:00000B30 jmp loc_A46
- seg000:00000B35 ; ---------------------------------------------------------------------------
- seg000:00000B35
- seg000:00000B35 loc_B35: ; CODE XREF: sub_A37+14j
- seg000:00000B35 pop edx
- seg000:00000B36 mov eax, ebx
- seg000:00000B38 pop ebx
- seg000:00000B39 pop esi
- seg000:00000B3A pop edi
- seg000:00000B3B pop ebp
- seg000:00000B3C retn
- seg000:00000B3C sub_A37 endp
- seg000:00000B3C
- seg000:00000B3D
- seg000:00000B3D ; =============== S U B R O U T I N E =======================================
- seg000:00000B3D
- seg000:00000B3D
- seg000:00000B3D sub_B3D proc near ; CODE XREF: seg000:00000030p
- seg000:00000B3D ; seg000:00000248p ...
- seg000:00000B3D
- seg000:00000B3D ; FUNCTION CHUNK AT seg000:00001004 SIZE 00000064 BYTES
- seg000:00000B3D
- seg000:00000B3D push ebx
- seg000:00000B3E mov edx, 2
- seg000:00000B43 mov ebx, eax
- seg000:00000B45 mov eax, 0Ch
- seg000:00000B4A call sub_DC7
- seg000:00000B4F mov eax, 20002h
- seg000:00000B54 mov ds:280304h, ebx
- seg000:00000B5A mov dword ptr ds:280300h, 3
- seg000:00000B64 call sub_BBD
- seg000:00000B69 mov edx, 280300h
- seg000:00000B6E xor eax, eax
- seg000:00000B70 pop ebx
- seg000:00000B71 jmp loc_1004
- seg000:00000B71 sub_B3D endp
- seg000:00000B71
- seg000:00000B76
- seg000:00000B76 ; =============== S U B R O U T I N E =======================================
- seg000:00000B76
- seg000:00000B76
- seg000:00000B76 sub_B76 proc near ; CODE XREF: seg000:0000069Cp
- seg000:00000B76 push ebx
- seg000:00000B77 mov ebx, eax
- seg000:00000B79
- seg000:00000B79 loc_B79: ; CODE XREF: sub_B76+12j
- seg000:00000B79 movzx edx, byte ptr [ebx]
- seg000:00000B7C test dl, dl
- seg000:00000B7E jz short loc_B8A
- seg000:00000B80 xor eax, eax
- seg000:00000B82 inc ebx
- seg000:00000B83 call sub_1068
- seg000:00000B88 jmp short loc_B79
- seg000:00000B8A ; ---------------------------------------------------------------------------
- seg000:00000B8A
- seg000:00000B8A loc_B8A: ; CODE XREF: sub_B76+8j
- seg000:00000B8A mov edx, 0Ah
- seg000:00000B8F xor eax, eax
- seg000:00000B91 call sub_1068
- seg000:00000B96 xor eax, eax
- seg000:00000B98 pop ebx
- seg000:00000B99 retn
- seg000:00000B99 sub_B76 endp
- seg000:00000B99
- seg000:00000B9A
- seg000:00000B9A ; =============== S U B R O U T I N E =======================================
- seg000:00000B9A
- seg000:00000B9A
- seg000:00000B9A sub_B9A proc near ; CODE XREF: sub_110F+8p
- seg000:00000B9A shl eax, 3
- seg000:00000B9D mov edx, ds:0B0800038h
- seg000:00000BA3 and edx, 0FFFFFF83h
- seg000:00000BA6 or eax, edx
- seg000:00000BA8 mov ds:0B0800038h, eax
- seg000:00000BAD mov eax, ds:0B0800038h
- seg000:00000BB2 or eax, 4
- seg000:00000BB5 mov ds:0B0800038h, eax
- seg000:00000BBA xor eax, eax
- seg000:00000BBC retn
- seg000:00000BBC sub_B9A endp
- seg000:00000BBC
- seg000:00000BBD
- seg000:00000BBD ; =============== S U B R O U T I N E =======================================
- seg000:00000BBD
- seg000:00000BBD
- seg000:00000BBD sub_BBD proc near ; CODE XREF: sub_16E+8Fp
- seg000:00000BBD ; sub_B3D+27p
- seg000:00000BBD mov edx, ds:0B0800018h
- seg000:00000BC3 or eax, edx
- seg000:00000BC5 mov ds:0B0800018h, eax
- seg000:00000BCA xor eax, eax
- seg000:00000BCC retn
- seg000:00000BCC sub_BBD endp
- seg000:00000BCC
- seg000:00000BCD ; ---------------------------------------------------------------------------
- seg000:00000BCD ; START OF FUNCTION CHUNK FOR sub_210
- seg000:00000BCD
- seg000:00000BCD loc_BCD: ; CODE XREF: sub_210+11j
- seg000:00000BCD mov edx, ds:0B0800018h
- seg000:00000BD3 not eax
- seg000:00000BD5 and eax, edx
- seg000:00000BD7 mov ds:0B0800018h, eax
- seg000:00000BDC xor eax, eax
- seg000:00000BDE retn
- seg000:00000BDE ; END OF FUNCTION CHUNK FOR sub_210
- seg000:00000BDF
- seg000:00000BDF ; =============== S U B R O U T I N E =======================================
- seg000:00000BDF
- seg000:00000BDF
- seg000:00000BDF sub_BDF proc near ; CODE XREF: seg000:000002C4p
- seg000:00000BDF ; seg000:000002E9p ...
- seg000:00000BDF mov eax, ds:280278h
- seg000:00000BE4 retn
- seg000:00000BE4 sub_BDF endp
- seg000:00000BE4
- seg000:00000BE5
- seg000:00000BE5 ; =============== S U B R O U T I N E =======================================
- seg000:00000BE5
- seg000:00000BE5
- seg000:00000BE5 sub_BE5 proc near ; CODE XREF: seg000:000002D3p
- seg000:00000BE5 ; seg000:000002FDp ...
- seg000:00000BE5 imul eax, ds:280278h
- seg000:00000BEC push esi
- seg000:00000BED mov esi, eax
- seg000:00000BEF push ebx
- seg000:00000BF0 rdtsc
- seg000:00000BF2 mov ecx, eax
- seg000:00000BF4 mov ebx, edx
- seg000:00000BF6
- seg000:00000BF6 loc_BF6: ; CODE XREF: sub_BE5+1Ej
- seg000:00000BF6 rdtsc
- seg000:00000BF8 sub eax, ecx
- seg000:00000BFA sbb edx, ebx
- seg000:00000BFC cmp edx, 0
- seg000:00000BFF ja short loc_C05
- seg000:00000C01 cmp eax, esi
- seg000:00000C03 jb short loc_BF6
- seg000:00000C05
- seg000:00000C05 loc_C05: ; CODE XREF: sub_BE5+1Aj
- seg000:00000C05 pop ebx
- seg000:00000C06 pop esi
- seg000:00000C07 retn
- seg000:00000C07 sub_BE5 endp
- seg000:00000C07
- seg000:00000C08
- seg000:00000C08 ; =============== S U B R O U T I N E =======================================
- seg000:00000C08
- seg000:00000C08
- seg000:00000C08 sub_C08 proc near ; CODE XREF: sub_C58+A0p
- seg000:00000C08 shl eax, 14h
- seg000:00000C0B mov edx, ds:0B0800000h
- seg000:00000C11 or edx, 2
- seg000:00000C14 and eax, 3FF00000h
- seg000:00000C19 mov ds:0B0800000h, edx
- seg000:00000C1F mov edx, ds:0B0800008h
- seg000:00000C25 and edx, 0C00FFFFFh
- seg000:00000C2B mov ds:0B0800008h, edx
- seg000:00000C31 mov edx, ds:0B0800008h
- seg000:00000C37 or eax, edx
- seg000:00000C39 mov ds:0B0800008h, eax
- seg000:00000C3E mov eax, 0C8h ; '+'
- seg000:00000C43 call sub_BE5
- seg000:00000C48 mov eax, ds:0B0800000h
- seg000:00000C4D and eax, 0FFFFFFFDh
- seg000:00000C50 mov ds:0B0800000h, eax
- seg000:00000C55 xor eax, eax
- seg000:00000C57 retn
- seg000:00000C57 sub_C08 endp
- seg000:00000C57
- seg000:00000C58
- seg000:00000C58 ; =============== S U B R O U T I N E =======================================
- seg000:00000C58
- seg000:00000C58
- seg000:00000C58 sub_C58 proc near ; CODE XREF: seg000:0000023Ep
- seg000:00000C58 ; seg000:00000353j ...
- seg000:00000C58 push ebp
- seg000:00000C59 push edi
- seg000:00000C5A push esi
- seg000:00000C5B push ebx
- seg000:00000C5C mov ecx, edx
- seg000:00000C5E mov edx, ds:0B0800038h
- seg000:00000C64 mov edi, edx
- seg000:00000C66 and edi, 0FFFFF87Fh
- seg000:00000C6C cmp eax, 4
- seg000:00000C6F jz loc_D59
- seg000:00000C75 jb short loc_C99
- seg000:00000C77 cmp eax, 5
- seg000:00000C7A jnz loc_D9F
- seg000:00000C80 mov eax, ds:0B0800008h
- seg000:00000C85 mov esi, 20h ; ' '
- seg000:00000C8A or eax, 1
- seg000:00000C8D mov ds:0B0800008h, eax
- seg000:00000C92 shr esi, cl
- seg000:00000C94 jmp loc_D6C
- seg000:00000C99 ; ---------------------------------------------------------------------------
- seg000:00000C99
- seg000:00000C99 loc_C99: ; CODE XREF: sub_C58+1Dj
- seg000:00000C99 test eax, eax
- seg000:00000C9B jnz short loc_CAD
- seg000:00000C9D mov esi, 20h ; ' '
- seg000:00000CA2 mov dx, ds:200000h
- seg000:00000CA9 shr esi, cl
- seg000:00000CAB jmp short loc_CE5
- seg000:00000CAD ; ---------------------------------------------------------------------------
- seg000:00000CAD
- seg000:00000CAD loc_CAD: ; CODE XREF: sub_C58+43j
- seg000:00000CAD cmp eax, 1
- seg000:00000CB0 jnz short loc_CC2
- seg000:00000CB2 mov esi, 10h
- seg000:00000CB7 mov dx, ds:200002h
- seg000:00000CBE shr esi, cl
- seg000:00000CC0 jmp short loc_CE5
- seg000:00000CC2 ; ---------------------------------------------------------------------------
- seg000:00000CC2
- seg000:00000CC2 loc_CC2: ; CODE XREF: sub_C58+58j
- seg000:00000CC2 cmp eax, 2
- seg000:00000CC5 jnz short loc_CD7
- seg000:00000CC7 mov esi, 8
- seg000:00000CCC mov dx, ds:200004h
- seg000:00000CD3 shr esi, cl
- seg000:00000CD5 jmp short loc_CE5
- seg000:00000CD7 ; ---------------------------------------------------------------------------
- seg000:00000CD7
- seg000:00000CD7 loc_CD7: ; CODE XREF: sub_C58+6Dj
- seg000:00000CD7 mov esi, 4
- seg000:00000CDC mov dx, ds:200006h
- seg000:00000CE3 shr esi, cl
- seg000:00000CE5
- seg000:00000CE5 loc_CE5: ; CODE XREF: sub_C58+53j
- seg000:00000CE5 ; sub_C58+68j ...
- seg000:00000CE5 mov ebp, eax
- seg000:00000CE7 mov eax, edx
- seg000:00000CE9 and ax, 0FC00h
- seg000:00000CED mov ebx, ecx
- seg000:00000CEF cmp ax, 7C00h
- seg000:00000CF3 jnz short loc_CFD
- seg000:00000CF5 movzx eax, dx
- seg000:00000CF8 call sub_C08
- seg000:00000CFD
- seg000:00000CFD loc_CFD: ; CODE XREF: sub_C58+9Bj
- seg000:00000CFD mov eax, ds:0B0800008h
- seg000:00000D02 and ah, 0FCh
- seg000:00000D05 mov ds:0B0800008h, eax
- seg000:00000D0A mov eax, ebp
- seg000:00000D0C shl eax, 8
- seg000:00000D0F mov edx, ds:0B0800008h
- seg000:00000D15 or eax, edx
- seg000:00000D17 mov ds:0B0800008h, eax
- seg000:00000D1C mov eax, ds:0B0800008h
- seg000:00000D21 or eax, 2
- seg000:00000D24 mov ds:0B0800008h, eax
- seg000:00000D29
- seg000:00000D29 loc_D29: ; CODE XREF: sub_C58+D8j
- seg000:00000D29 mov eax, ds:0B0800004h
- seg000:00000D2E test al, 1
- seg000:00000D30 jz short loc_D29
- seg000:00000D32 or edi, 1
- seg000:00000D35 mov eax, ds:0B0800008h
- seg000:00000D3A shl ebx, 8
- seg000:00000D3D mov ecx, edi
- seg000:00000D3F and eax, 0FFFFFFF7h
- seg000:00000D42 or ecx, ebx
- seg000:00000D44 mov ds:0B0800008h, eax
- seg000:00000D49 mov ds:0B0800038h, ecx
- seg000:00000D4F mov eax, ds:0B0800008h
- seg000:00000D54 and eax, 0FFFFFFFEh
- seg000:00000D57 jmp short loc_D98
- seg000:00000D59 ; ---------------------------------------------------------------------------
- seg000:00000D59
- seg000:00000D59 loc_D59: ; CODE XREF: sub_C58+17j
- seg000:00000D59 shl ecx, 8
- seg000:00000D5C or ecx, edi
- seg000:00000D5E and ecx, 0FFFFFFFEh
- seg000:00000D61 or ecx, 2
- seg000:00000D64 mov ds:0B0800038h, ecx
- seg000:00000D6A jmp short loc_D9F
- seg000:00000D6C ; ---------------------------------------------------------------------------
- seg000:00000D6C
- seg000:00000D6C loc_D6C: ; CODE XREF: sub_C58+3Cj
- seg000:00000D6C ; sub_C58+11Bj
- seg000:00000D6C mov eax, ds:0B0800004h
- seg000:00000D71 test al, 2
- seg000:00000D73 jz short loc_D6C
- seg000:00000D75 mov eax, ds:0B0800008h
- seg000:00000D7A or edi, 1
- seg000:00000D7D shl ecx, 8
- seg000:00000D80 or eax, 8
- seg000:00000D83 or ecx, edi
- seg000:00000D85 mov ds:0B0800008h, eax
- seg000:00000D8A mov ds:0B0800038h, ecx
- seg000:00000D90 mov eax, ds:0B0800008h
- seg000:00000D95 and eax, 0FFFFFFFDh
- seg000:00000D98
- seg000:00000D98 loc_D98: ; CODE XREF: sub_C58+FFj
- seg000:00000D98 mov ds:0B0800008h, eax
- seg000:00000D9D jmp short loc_DA4
- seg000:00000D9F ; ---------------------------------------------------------------------------
- seg000:00000D9F
- seg000:00000D9F loc_D9F: ; CODE XREF: sub_C58+22j
- seg000:00000D9F ; sub_C58+112j
- seg000:00000D9F mov esi, 1
- seg000:00000DA4
- seg000:00000DA4 loc_DA4: ; CODE XREF: sub_C58+145j
- seg000:00000DA4 mov eax, ds:0B0800038h
- seg000:00000DA9 or al, 80h
- seg000:00000DAB test esi, esi
- seg000:00000DAD mov ds:0B0800038h, eax
- seg000:00000DB2 mov eax, 1
- seg000:00000DB7 jz short loc_DBB
- seg000:00000DB9 mov eax, esi
- seg000:00000DBB
- seg000:00000DBB loc_DBB: ; CODE XREF: sub_C58+15Fj
- seg000:00000DBB pop ebx
- seg000:00000DBC mov ds:280278h, eax
- seg000:00000DC1 pop esi
- seg000:00000DC2 xor eax, eax
- seg000:00000DC4 pop edi
- seg000:00000DC5 pop ebp
- seg000:00000DC6 retn
- seg000:00000DC6 sub_C58 endp
- seg000:00000DC6
- seg000:00000DC7
- seg000:00000DC7 ; =============== S U B R O U T I N E =======================================
- seg000:00000DC7
- seg000:00000DC7
- seg000:00000DC7 sub_DC7 proc near ; CODE XREF: sub_16E+Bp
- seg000:00000DC7 ; sub_35B+28p ...
- seg000:00000DC7 mov ecx, eax
- seg000:00000DC9 push esi
- seg000:00000DCA shr eax, 4
- seg000:00000DCD and ecx, 0Fh
- seg000:00000DD0 push ebx
- seg000:00000DD1 add ecx, ecx
- seg000:00000DD3 lea ebx, ds:0B0800900h[eax*4]
- seg000:00000DDA mov eax, 3
- seg000:00000DDF shl eax, cl
- seg000:00000DE1 mov esi, [ebx+30h]
- seg000:00000DE4 not eax
- seg000:00000DE6 and eax, esi
- seg000:00000DE8 mov [ebx+30h], eax
- seg000:00000DEB mov eax, [ebx+30h]
- seg000:00000DEE shl edx, cl
- seg000:00000DF0 or eax, edx
- seg000:00000DF2 mov [ebx+30h], eax
- seg000:00000DF5 xor eax, eax
- seg000:00000DF7 pop ebx
- seg000:00000DF8 pop esi
- seg000:00000DF9 retn
- seg000:00000DF9 sub_DC7 endp
- seg000:00000DF9
- seg000:00000DFA
- seg000:00000DFA ; =============== S U B R O U T I N E =======================================
- seg000:00000DFA
- seg000:00000DFA
- seg000:00000DFA sub_DFA proc near ; CODE XREF: sub_35B+34p
- seg000:00000DFA push ebx
- seg000:00000DFB mov ebx, eax
- seg000:00000DFD shr ebx, 5
- seg000:00000E00 mov ecx, eax
- seg000:00000E02 mov eax, 1
- seg000:00000E07 shl eax, cl
- seg000:00000E09 lea ecx, ds:0B0800900h[ebx*4]
- seg000:00000E10 test dl, dl
- seg000:00000E12 mov edx, [ecx+20h]
- seg000:00000E15 jnz short loc_E1D
- seg000:00000E17 not eax
- seg000:00000E19 and eax, edx
- seg000:00000E1B jmp short loc_E1F
- seg000:00000E1D ; ---------------------------------------------------------------------------
- seg000:00000E1D
- seg000:00000E1D loc_E1D: ; CODE XREF: sub_DFA+1Bj
- seg000:00000E1D or eax, edx
- seg000:00000E1F
- seg000:00000E1F loc_E1F: ; CODE XREF: sub_DFA+21j
- seg000:00000E1F mov [ecx+20h], eax
- seg000:00000E22 xor eax, eax
- seg000:00000E24 pop ebx
- seg000:00000E25 retn
- seg000:00000E25 sub_DFA endp
- seg000:00000E25
- seg000:00000E26
- seg000:00000E26 ; =============== S U B R O U T I N E =======================================
- seg000:00000E26
- seg000:00000E26
- seg000:00000E26 sub_E26 proc near ; CODE XREF: sub_35B+1Fp
- seg000:00000E26 ; sub_35B+9Dp
- seg000:00000E26 push ebx
- seg000:00000E27 mov ebx, eax
- seg000:00000E29 shr ebx, 5
- seg000:00000E2C mov ecx, eax
- seg000:00000E2E mov eax, 1
- seg000:00000E33 shl eax, cl
- seg000:00000E35 test dl, dl
- seg000:00000E37 mov edx, ds:0B0800900h[ebx*4]
- seg000:00000E3E jnz short loc_E46
- seg000:00000E40 not eax
- seg000:00000E42 and eax, edx
- seg000:00000E44 jmp short loc_E48
- seg000:00000E46 ; ---------------------------------------------------------------------------
- seg000:00000E46
- seg000:00000E46 loc_E46: ; CODE XREF: sub_E26+18j
- seg000:00000E46 or eax, edx
- seg000:00000E48
- seg000:00000E48 loc_E48: ; CODE XREF: sub_E26+1Ej
- seg000:00000E48 mov ds:0B0800900h[ebx*4], eax
- seg000:00000E4F xor eax, eax
- seg000:00000E51 pop ebx
- seg000:00000E52 retn
- seg000:00000E52 sub_E26 endp
- seg000:00000E52
- seg000:00000E53
- seg000:00000E53 ; =============== S U B R O U T I N E =======================================
- seg000:00000E53
- seg000:00000E53
- seg000:00000E53 sub_E53 proc near ; CODE XREF: sub_E88+46p
- seg000:00000E53 mov edx, eax
- seg000:00000E55 and eax, 18h
- seg000:00000E58 shl eax, 2
- seg000:00000E5B and edx, 7
- seg000:00000E5E add edx, edx
- seg000:00000E60 or eax, edx
- seg000:00000E62 mov ds:0FEC00000h, eax
- seg000:00000E67 mov eax, ds:0FEC00010h
- seg000:00000E6C retn
- seg000:00000E6C sub_E53 endp
- seg000:00000E6C
- seg000:00000E6D
- seg000:00000E6D ; =============== S U B R O U T I N E =======================================
- seg000:00000E6D
- seg000:00000E6D
- seg000:00000E6D sub_E6D proc near ; CODE XREF: sub_E88+24p
- seg000:00000E6D ; sub_E88+56j
- seg000:00000E6D mov ecx, eax
- seg000:00000E6F and eax, 18h
- seg000:00000E72 shl eax, 2
- seg000:00000E75 and ecx, 7
- seg000:00000E78 add ecx, ecx
- seg000:00000E7A or eax, ecx
- seg000:00000E7C mov ds:0FEC00000h, eax
- seg000:00000E81 mov ds:0FEC00010h, edx
- seg000:00000E87 retn
- seg000:00000E87 sub_E6D endp
- seg000:00000E87
- seg000:00000E88
- seg000:00000E88 ; =============== S U B R O U T I N E =======================================
- seg000:00000E88
- seg000:00000E88
- seg000:00000E88 sub_E88 proc near ; CODE XREF: sub_16E+85p
- seg000:00000E88 ; sub_35B+91p
- seg000:00000E88 push esi
- seg000:00000E89 cmp eax, 10h
- seg000:00000E8C push ebx
- seg000:00000E8D mov esi, edx
- seg000:00000E8F mov ebx, eax
- seg000:00000E91 ja short loc_EA5
- seg000:00000E93 mov eax, 1
- seg000:00000E98 mov cl, bl
- seg000:00000E9A shl eax, cl
- seg000:00000E9C xor edx, edx
- seg000:00000E9E test eax, 1040Ch
- seg000:00000EA3 jnz short loc_EAA
- seg000:00000EA5
- seg000:00000EA5 loc_EA5: ; CODE XREF: sub_E88+9j
- seg000:00000EA5 mov edx, 8000h
- seg000:00000EAA
- seg000:00000EAA loc_EAA: ; CODE XREF: sub_E88+1Bj
- seg000:00000EAA mov eax, ebx
- seg000:00000EAC call sub_E6D
- seg000:00000EB1 movzx eax, si
- seg000:00000EB4 cmp si, 1Ah
- seg000:00000EB8 lea eax, ds:0B0800448h[eax*4]
- seg000:00000EBF jnz short loc_EC9
- seg000:00000EC1 and dword ptr [eax], 0FFF80000h
- seg000:00000EC7 jmp short loc_ECC
- seg000:00000EC9 ; ---------------------------------------------------------------------------
- seg000:00000EC9
- seg000:00000EC9 loc_EC9: ; CODE XREF: sub_E88+37j
- seg000:00000EC9 and dword ptr [eax], 0FFFFFFFEh
- seg000:00000ECC
- seg000:00000ECC loc_ECC: ; CODE XREF: sub_E88+3Fj
- seg000:00000ECC mov eax, ebx
- seg000:00000ECE call sub_E53
- seg000:00000ED3 and eax, 0FFFEFFFFh
- seg000:00000ED8 mov edx, eax
- seg000:00000EDA mov eax, ebx
- seg000:00000EDC pop ebx
- seg000:00000EDD pop esi
- seg000:00000EDE jmp sub_E6D
- seg000:00000EDE sub_E88 endp
- seg000:00000EDE
- seg000:00000EE3
- seg000:00000EE3 ; =============== S U B R O U T I N E =======================================
- seg000:00000EE3
- seg000:00000EE3
- seg000:00000EE3 sub_EE3 proc near ; CODE XREF: sub_16E+76p
- seg000:00000EE3 ; sub_35B+82p
- seg000:00000EE3 lea ecx, ds:280000h[eax*8]
- seg000:00000EEA mov ds:280000h[eax*8], dx
- seg000:00000EF2 shr edx, 10h
- seg000:00000EF5 mov word ptr [ecx+2], 8
- seg000:00000EFB mov word ptr [ecx+4], 8E00h
- seg000:00000F01 mov [ecx+6], dx
- seg000:00000F05 retn
- seg000:00000F05 sub_EE3 endp
- seg000:00000F05
- seg000:00000F06 ; ---------------------------------------------------------------------------
- seg000:00000F06 push esi
- seg000:00000F07 push ebx
- seg000:00000F08 push ecx
- seg000:00000F09 push edx
- seg000:00000F0A push eax
- seg000:00000F0B cld
- seg000:00000F0C mov eax, ds:28027Ch
- seg000:00000F11 mov ebx, [eax+40h]
- seg000:00000F14 mov eax, ds:0B0800104h
- seg000:00000F19 and eax, 3C0h
- seg000:00000F1E cmp eax, 40h ; '@'
- seg000:00000F21 jnz short loc_F4A
- seg000:00000F23 mov eax, ds:0B0800008h
- seg000:00000F28 and eax, 0FFFFFFFBh
- seg000:00000F2B mov ds:0B0800008h, eax
- seg000:00000F30 mov eax, ds:0B0800010h
- seg000:00000F35 and eax, 0FFFFFFFDh
- seg000:00000F38 mov ds:0B0800010h, eax
- seg000:00000F3D mov eax, ds:0B080002Ch
- seg000:00000F42 or ah, 0C0h
- seg000:00000F45 mov ds:0B080002Ch, eax
- seg000:00000F4A
- seg000:00000F4A loc_F4A: ; CODE XREF: seg000:00000F21j
- seg000:00000F4A mov esi, ds:280310h
- seg000:00000F50 test esi, esi
- seg000:00000F52 jz short loc_F5D
- seg000:00000F54 mov edx, ebx
- seg000:00000F56 mov eax, ds:28030Ch
- seg000:00000F5B call esi
- seg000:00000F5D
- seg000:00000F5D loc_F5D: ; CODE XREF: seg000:00000F52j
- seg000:00000F5D mov eax, ds:28027Ch
- seg000:00000F62 mov [eax+4Ch], ebx
- seg000:00000F65 mov eax, [eax+4Ch]
- seg000:00000F68 mov dword ptr ds:0FEE000B0h, 0
- seg000:00000F72 pop eax
- seg000:00000F73 pop edx
- seg000:00000F74 pop ecx
- seg000:00000F75 pop ebx
- seg000:00000F76 pop esi
- seg000:00000F77 iret
- seg000:00000F78
- seg000:00000F78 ; =============== S U B R O U T I N E =======================================
- seg000:00000F78
- seg000:00000F78
- seg000:00000F78 sub_F78 proc near ; CODE XREF: sub_16E+26p
- seg000:00000F78 ; sub_35B+B0j ...
- seg000:00000F78 push esi
- seg000:00000F79 mov ecx, ds:28027Ch[eax*4]
- seg000:00000F80 push ebx
- seg000:00000F81 mov esi, [edx]
- seg000:00000F83 mov ebx, [ecx+34h]
- seg000:00000F86 mov dword ptr [ecx+34h], 0FFFFFFFFh
- seg000:00000F8D mov [ecx+4], esi
- seg000:00000F90 mov esi, [edx+4]
- seg000:00000F93 mov [ecx+30h], esi
- seg000:00000F96 mov esi, [edx+8]
- seg000:00000F99 mov [ecx+38h], esi
- seg000:00000F9C mov esi, [edx+0Ch]
- seg000:00000F9F mov [ecx+3Ch], esi
- seg000:00000FA2 mov esi, [edx+10h]
- seg000:00000FA5 mov [ecx+48h], esi
- seg000:00000FA8 mov esi, [edx+14h]
- seg000:00000FAB mov [ecx+68h], esi
- seg000:00000FAE mov esi, [edx+18h]
- seg000:00000FB1 mov edx, [edx+1Ch]
- seg000:00000FB4 mov [ecx+34h], ebx
- seg000:00000FB7 mov ds:280310h[eax*4], esi
- seg000:00000FBE mov ds:28030Ch[eax*4], edx
- seg000:00000FC5 pop ebx
- seg000:00000FC6 xor eax, eax
- seg000:00000FC8 pop esi
- seg000:00000FC9 retn
- seg000:00000FC9 sub_F78 endp
- seg000:00000FC9
- seg000:00000FCA
- seg000:00000FCA ; =============== S U B R O U T I N E =======================================
- seg000:00000FCA
- seg000:00000FCA
- seg000:00000FCA sub_FCA proc near ; CODE XREF: seg000:loc_62p
- seg000:00000FCA ; sub_6E0+17j
- seg000:00000FCA push esi
- seg000:00000FCB mov esi, ds:28027Ch[eax*4]
- seg000:00000FD2 push ebx
- seg000:00000FD3 mov cl, dl
- seg000:00000FD5 mov ebx, 1
- seg000:00000FDA mov eax, [esi]
- seg000:00000FDC shl ebx, cl
- seg000:00000FDE or eax, ebx
- seg000:00000FE0 mov [esi], eax
- seg000:00000FE2 xor eax, eax
- seg000:00000FE4 pop ebx
- seg000:00000FE5 pop esi
- seg000:00000FE6 retn
- seg000:00000FE6 sub_FCA endp
- seg000:00000FE6
- seg000:00000FE7
- seg000:00000FE7 ; =============== S U B R O U T I N E =======================================
- seg000:00000FE7
- seg000:00000FE7
- seg000:00000FE7 sub_FE7 proc near ; CODE XREF: seg000:0000004Cp
- seg000:00000FE7 ; sub_210+7p ...
- seg000:00000FE7 push esi
- seg000:00000FE8 mov esi, ds:28027Ch[eax*4]
- seg000:00000FEF push ebx
- seg000:00000FF0 mov cl, dl
- seg000:00000FF2 mov ebx, 0FFFFFFFEh
- seg000:00000FF7 mov eax, [esi]
- seg000:00000FF9 rol ebx, cl
- seg000:00000FFB and eax, ebx
- seg000:00000FFD mov [esi], eax
- seg000:00000FFF xor eax, eax
- seg000:00001001 pop ebx
- seg000:00001002 pop esi
- seg000:00001003 retn
- seg000:00001003 sub_FE7 endp
- seg000:00001003
- seg000:00001004 ; ---------------------------------------------------------------------------
- seg000:00001004 ; START OF FUNCTION CHUNK FOR sub_B3D
- seg000:00001004
- seg000:00001004 loc_1004: ; CODE XREF: sub_B3D+34j
- seg000:00001004 push ebx
- seg000:00001005 mov eax, ds:280280h[eax*4]
- seg000:0000100C mov ecx, [edx+4]
- seg000:0000100F mov ebx, ecx
- seg000:00001011 mov dword ptr [eax+0Ch], 0
- seg000:00001018 and ebx, 0FF0000h
- seg000:0000101E mov dword ptr [eax+0Ch], 80h ; 'Ç'
- seg000:00001025 shr ebx, 10h
- seg000:00001028 mov [eax+4], ebx
- seg000:0000102B movzx ebx, ch
- seg000:0000102E movzx ecx, cl
- seg000:00001031 mov [eax], ebx
- seg000:00001033 mov [eax+0C0h], ecx
- seg000:00001039 mov ecx, [edx]
- seg000:0000103B mov [eax+0Ch], ecx
- seg000:0000103E mov dword ptr [eax+10h], 0
- seg000:00001045 cmp byte ptr [edx+8], 0
- seg000:00001049 jz short loc_1054
- seg000:0000104B mov edx, [eax+10h]
- seg000:0000104E or edx, 22h
- seg000:00001051 mov [eax+10h], edx
- seg000:00001054
- seg000:00001054 loc_1054: ; CODE XREF: sub_B3D+50Cj
- seg000:00001054 mov dword ptr [eax+8], 0B7h ; 'À'
- seg000:0000105B mov edx, [eax+4]
- seg000:0000105E or dl, 80h
- seg000:00001061 mov [eax+4], edx
- seg000:00001064 xor eax, eax
- seg000:00001066 pop ebx
- seg000:00001067 retn
- seg000:00001067 ; END OF FUNCTION CHUNK FOR sub_B3D
- seg000:00001068
- seg000:00001068 ; =============== S U B R O U T I N E =======================================
- seg000:00001068
- seg000:00001068
- seg000:00001068 sub_1068 proc near ; CODE XREF: sub_9DB+4Cp
- seg000:00001068 ; sub_A37+7Bp ...
- seg000:00001068 mov eax, ds:280280h[eax*4]
- seg000:0000106F
- seg000:0000106F loc_106F: ; CODE XREF: sub_1068+Dj
- seg000:0000106F mov ecx, [eax+14h]
- seg000:00001072 and cl, 20h
- seg000:00001075 jnz short loc_106F
- seg000:00001077 movzx edx, dl
- seg000:0000107A mov [eax], edx
- seg000:0000107C
- seg000:0000107C loc_107C: ; CODE XREF: sub_1068+1Aj
- seg000:0000107C mov edx, [eax+14h]
- seg000:0000107F and dl, 40h
- seg000:00001082 jz short loc_107C
- seg000:00001084 xor eax, eax
- seg000:00001086 retn
- seg000:00001086 sub_1068 endp
- seg000:00001086
- seg000:00001087 ; ---------------------------------------------------------------------------
- seg000:00001087 push ebx
- seg000:00001088 push ecx
- seg000:00001089 push edx
- seg000:0000108A push eax
- seg000:0000108B cld
- seg000:0000108C mov eax, ds:0B000040Ch
- seg000:00001091 and eax, 0FFFFFFFEh
- seg000:00001094 mov ds:0B000040Ch, eax
- seg000:00001099 mov eax, ds:0B0800104h
- seg000:0000109E and eax, 3C0h
- seg000:000010A3 cmp eax, 40h ; '@'
- seg000:000010A6 jnz short loc_10CF
- seg000:000010A8 mov eax, ds:0B0800008h
- seg000:000010AD and eax, 0FFFFFFFBh
- seg000:000010B0 mov ds:0B0800008h, eax
- seg000:000010B5 mov eax, ds:0B0800010h
- seg000:000010BA and eax, 0FFFFFFFDh
- seg000:000010BD mov ds:0B0800010h, eax
- seg000:000010C2 mov eax, ds:0B080002Ch
- seg000:000010C7 or ah, 0C0h
- seg000:000010CA mov ds:0B080002Ch, eax
- seg000:000010CF
- seg000:000010CF loc_10CF: ; CODE XREF: seg000:000010A6j
- seg000:000010CF mov ebx, ds:280318h
- seg000:000010D5 test ebx, ebx
- seg000:000010D7 jz short loc_10E0
- seg000:000010D9 mov eax, ds:280314h
- seg000:000010DE call ebx
- seg000:000010E0
- seg000:000010E0 loc_10E0: ; CODE XREF: seg000:000010D7j
- seg000:000010E0 mov eax, ds:0B0000418h
- seg000:000010E5 mov dword ptr ds:0FEE000B0h, 0
- seg000:000010EF pop eax
- seg000:000010F0 pop edx
- seg000:000010F1 pop ecx
- seg000:000010F2 pop ebx
- seg000:000010F3 iret
- seg000:000010F4
- seg000:000010F4 ; =============== S U B R O U T I N E =======================================
- seg000:000010F4
- seg000:000010F4
- seg000:000010F4 sub_10F4 proc near ; CODE XREF: seg000:00000089j
- seg000:000010F4 ; sub_110F+3Ep
- seg000:000010F4 shl eax, 5
- seg000:000010F7 mov ecx, [eax-4FFFFBF4h]
- seg000:000010FD or ecx, 1
- seg000:00001100 mov [eax-4FFFFBF4h], ecx
- seg000:00001106 mov [eax-4FFFFBFCh], edx
- seg000:0000110C xor eax, eax
- seg000:0000110E retn
- seg000:0000110E sub_10F4 endp
- seg000:0000110E
- seg000:0000110F
- seg000:0000110F ; =============== S U B R O U T I N E =======================================
- seg000:0000110F
- seg000:0000110F
- seg000:0000110F sub_110F proc near ; CODE XREF: sub_16E+98p
- seg000:0000110F push esi
- seg000:00001110 mov esi, eax
- seg000:00001112 xor eax, eax
- seg000:00001114 push ebx
- seg000:00001115 mov ebx, edx
- seg000:00001117 call sub_B9A
- seg000:0000111C mov eax, esi
- seg000:0000111E mov edx, [ebx]
- seg000:00001120 shl eax, 5
- seg000:00001123 sub eax, 4FFFFC00h
- seg000:00001128 mov [eax+8], edx
- seg000:0000112B mov edx, [eax+18h]
- seg000:0000112E mov edx, [ebx+0Ch]
- seg000:00001131 mov ds:280318h[esi*4], edx
- seg000:00001138 mov edx, [ebx+10h]
- seg000:0000113B mov ds:280314h[esi*4], edx
- seg000:00001142 cmp byte ptr [ebx+4], 0
- seg000:00001146 jz short loc_1154
- seg000:00001148 mov edx, [ebx+8]
- seg000:0000114B mov eax, esi
- seg000:0000114D call sub_10F4
- seg000:00001152 jmp short loc_115D
- seg000:00001154 ; ---------------------------------------------------------------------------
- seg000:00001154
- seg000:00001154 loc_1154: ; CODE XREF: sub_110F+37j
- seg000:00001154 mov edx, [eax+0Ch]
- seg000:00001157 and edx, 0FFFFFFFEh
- seg000:0000115A mov [eax+0Ch], edx
- seg000:0000115D
- seg000:0000115D loc_115D: ; CODE XREF: sub_110F+43j
- seg000:0000115D xor eax, eax
- seg000:0000115F pop ebx
- seg000:00001160 pop esi
- seg000:00001161 retn
- seg000:00001161 sub_110F endp
- seg000:00001161
- seg000:00001161 ; ---------------------------------------------------------------------------
- seg000:00001162 aPeriodIsTooDar db 'Period is too darned short',0Dh,0Ah,0
- seg000:0000117F aDutyWasNegativ db 'Duty was negative, resetting to 0',0Dh,0Ah,0
- seg000:000011A3 aDutyWasMoreTha db 'Duty was more than constant, resetting to constant',0Dh,0Ah,0
- seg000:000011D8 aKonamiCodeUnlo db 0Dh,0Ah
- seg000:000011D8 db 9,'Konami Code unlocked!',0Dh,0Ah,0
- seg000:000011F3 a2j db 1Bh,'[2J',0
- seg000:000011F8 aDefconBiosDc24 db 'DEFCON BIOS - DC24 (C) 2016',0Dh,0Ah,0
- seg000:00001216 aCpuIntelRD2000 db 'CPU : Intel(R) D2000 MCU running @ 32MHz',0Dh,0Ah,0
- seg000:00001241 aCheckingMemory db 'Checking Memory...',0
- seg000:00001254 db 0Dh,0Ah
- seg000:00001254 db 0Dh,0Ah
- seg000:00001254 db 0Dh,0Ah,0
- seg000:0000125B aSorryDefconIsC db 'Sorry, DEFCON is cancelled.',0Dh,0Ah,0
- seg000:00001279 aPushingTheButt db 'Pushing the buttons will do... Things...',0Dh,0Ah
- seg000:00001279 db 0Dh,0Ah,0
- seg000:000012A6 aSearchingForTh db 'Searching for the meaning of life....',0Dh,0Ah,0
- seg000:000012CE aC2016464748455 db '(C) 2016 - 4647-4845-5150-206b-7520-6571-6f72-6e67-7667-6e61-2070'
- seg000:000012CE db '-7176-2065',0Dh,0Ah,0
- seg000:0000131C a637065676e6e67 db ' 6370-6567-6e6e-6766',0Dh,0Ah,0
- seg000:0000133D aPresentedByDar db 'Presented by Dark Tangent',0Dh,0Ah,0
- seg000:00001359 aBadgesBy1o57Wa db 'Badges by 1o57 & Warthog9',0Dh,0Ah,0
- seg000:00001375 aSorryDefconI_0 db 'Sorry, DEFCON is cancelled',0Dh,0Ah,0
- seg000:00001392 aTestingLc db 'Testing: |%lc|',0Dh,0Ah,0
- seg000:000013A3 aPost db 'POST()',0Dh,0Ah,0
- seg000:000013AC aUqogHqnmuVjkpm db 'Uqog hqnmu vjkpm vjg gngxcvqt qpna iqgu fqyp',0
- seg000:000013D9 aUqhvyctgGpikpg db 'Uqhvyctg Gpikpggtkpi okijv dg uekgpeg; dwv vjcv',27h,'u pqv yjcv K f'
- seg000:000013D9 db 'q. K',27h,'o c jcemgt, pqv cp gpikpggt. - Lcokg Bcykpumk',0
- seg000:0000144A aAqwOgcpKEcpVYc db 'Aqw ogcp K ecp',27h,'v ycnm vjqwij vjg ecukpq ykvj c hcmg dcfig?',0
- seg000:00001485 aRtkguvPqyVjcvD db 'Rtkguv: "Pqy vjcv dtkpiu c yjqng pgy ogcpkpi vq ',27h,'Jqpgarqv',27h,'"'
- seg000:00001485 db 0
- seg000:000014C1 aNqqmJcemgtu db 'Nqqm, jcemgtu!',0
- seg000:000014D0 a1057 db '1057',0
- seg000:000014D5 aNkxgFgoquPgxgt db 'Nkxg fgoqu pgxgt yqtm, fqwdna uq cv FGHEQP',0
- seg000:00001500 aCtgAqwUwtgVjku db 'Ctg aqw uwtg vjku dcfig kup',27h,'v urakpi qp aqw?',0
- seg000:0000152D aNqqmCHgf db 'Nqqm c hgf!',0
- seg000:00001539 aKFqpVMpqyYjgtg db '"K fqp',27h,'v mpqy yjgtg K',27h,'o iqkpi htqo jgtg, dwv K rtqokug kv y'
- seg000:00001539 db 'qp',27h,'v dg dqtkpi." -Fcxkf Dqykg',0
- seg000:00001592 dw 1
- seg000:00001594 dd 7 dup(0)
- seg000:000015B0 dd 13AC0000h, 13D90018h, 144A0018h, 14850018h, 14C10018h
- seg000:000015B0 dd 14D00018h, 14D50018h, 15000018h, 152D0018h, 15390018h
- seg000:000015B0 dd 140018h, 1000000h, 0FFFF0000h, 0AFFFFh, 2 dup(0)
- seg000:000015F0 dd 2 dup(0E0000h), 2 dup(110000h), 100000h, 0F0000h, 100000h
- seg000:000015F0 dd 0F0000h, 0A0000h, 2 dup(80000h), 5 dup(0)
- seg000:00001630 dd 0E0000h, 0F0000h, 110000h, 100000h, 0B0000h, 80000h
- seg000:00001630 dd 70000h, 0A0000h, 50000h, 120000h, 20000h, 60000h, 0
- seg000:00001664 dd 10000h, 200000h, 0C000000h, 2000B000h, 2400B000h, 0FFFFB000h
- seg000:00001664 dd 1A61h dup(0FFFFFFFFh)
- seg000:00001664 seg000 ends
- seg000:00001664
- seg000:00001664
- seg000:00001664 end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement