Function at 0x40b270
Capabilities:
Check for unmoving mouse cursor
Create process on windows
Delete file
Enumerate files on windows
Hide graphical window
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [0x42064c]
sub esp, 0x4a4
push ebx
push ebp
push esi
push edi
mov dword [0x41f3e8], eax
call fcn.00408820
mov eax, dword [0x41f3e8]
cmp eax, 0x67
ja case.0x404a87.1
jmp dword [eax*4 + 0x407410]
call fcn.00408ca0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
call fcn.00408bb0
test eax, eax
mov dword [0x42061c], eax
jne 0x407403
mov ecx, dword [0x42064c]
mov edx, dword [0x41fafc]
mov eax, dword [0x41f520]
push ecx
push edx
push eax
call fcn.00401480
add esp, 0xc
mov dword [0x41fae8], eax
call fcn.00408120
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408ca0
push 0xffffffffffffffff
mov dword [0x41e3cc], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ba3
test eax, eax
jge 0x404b34
mov ecx, dword [0x41e3cc]
mov edx, dword [0x41f520]
mov eax, dword [edx + 0x34]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ecx, dword [0x41f520]
mov eax, dword [ecx + eax*4 + 0xa4]
test eax, eax
je 0x406bcd
mov edx, dword [0x41e3cc]
push edx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov eax, dword [0x41f520]
mov ecx, dword [eax + 0x6c]
push ecx
call fcn.00408c00
mov edx, dword [0x41f520]
mov dword [0x41f530], eax
mov eax, dword [edx + 0x70]
push eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ba3
mov ecx, dword [0x41f520]
mov edx, dword [0x41f530]
pop edi
pop esi
mov dword [ecx + 0x6c], edx
pop ebp
mov dword [ecx + 0x70], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ba3
push eax
mov eax, dword [0x41f520]
push eax
call fcn.00402230
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408ca0
mov edx, dword [0x420654]
mov dword [0x41e3cc], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x404c06
push 0xc
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
mov dword [0x41f508], eax
mov eax, dword [0x41fa9c]
add esp, 8
test eax, eax
mov dword [0x41f504], 0
jne 0x407403
mov ecx, dword [0x41f520]
push ecx
call fcn.00401940
mov edx, dword [0x41f504]
mov eax, dword [0x41f508]
mov ecx, dword [0x41f530]
push edx
mov edx, dword [0x420654]
push eax
mov eax, dword [0x41f520]
push ecx
push edx
push eax
call fcn.004019d0
add esp, 0x18
jmp 0x405a89
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ba3
mov ecx, dword [0x41f520]
push eax
push ecx
call fcn.00401ac0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0x40
call fcn.00408c00
push 0x18
mov dword [0x41f530], eax
call fcn.00408c00
push 0
mov dword [0x41f508], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41f504], eax
jne 0x406ba3
mov ecx, dword [0x41f520]
mov edx, dword [0x41f530]
pop edi
mov dword [ecx + 0x74], edx
mov edx, dword [0x41f508]
pop esi
mov dword [ecx + 0x78], edx
pop ebp
mov dword [ecx + 0x7c], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408ca0
mov edx, dword [0x420654]
mov dword [0x41e3cc], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x404d25
push 0
call fcn.00408c00
push 0
mov dword [0x41f504], eax
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ba3
mov ecx, dword [0x41f504]
test ecx, ecx
jne 0x404d9c
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 0x44]
push edx
mov edx, dword [ecx + 0x48]
push edx
mov edx, dword [0x420654]
push eax
mov eax, dword [0x41f530]
push eax
push edx
push ecx
call fcn.004033f0
mov dword [0x41facc], 1
jmp 0x404dba
mov ecx, dword [0x420654]
mov edx, dword [0x41f520]
push 0
push 0
push eax
mov eax, dword [0x41f530]
push eax
push ecx
push edx
call fcn.004033f0
add esp, 0x18
test eax, eax
mov dword [0x41f50c], eax
je case.0x404a87.18
pop edi
pop esi
pop ebp
mov eax, 0xd
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
push 0
mov dword [0x41f508], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41f504], eax
jne 0x406ba3
mov ecx, dword [0x41f530]
mov edx, dword [0x41f520]
push eax
mov eax, dword [0x41f508]
push eax
push ecx
push edx
call fcn.00401b10
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ba3
push ecx
push eax
mov eax, dword [0x41f520]
push 0xffffffffffffffff
push eax
call fcn.00401b10
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
push 0
mov dword [0x41f508], eax
call fcn.00408c00
push 0
mov dword [0x41f504], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0x10
test ecx, ecx
mov dword [0x41f534], eax
jne 0x406ba3
mov ecx, dword [0x41f504]
mov edx, dword [0x41f508]
push eax
mov eax, dword [0x41f530]
push ecx
mov ecx, dword [0x41f520]
push edx
push eax
push ecx
call fcn.00401dc0
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 1
push ebx
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
push 0
mov dword [0x41f508], eax
call fcn.00408c00
push 0
mov dword [0x41f504], eax
call fcn.00408c00
push 0
mov dword [0x41f534], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0x14
test ecx, ecx
mov dword [0x41f3e4], eax
jne 0x406ba3
mov ecx, dword [0x41f520]
cmp dword [ecx + 0x44], ebx
je case.0x404a87.18
mov edx, dword [0x41f530]
test edx, edx
jne 0x404f76
xor edx, edx
mov dword [0x41f530], 2
mov dl, byte [0x41f530]
pop edi
pop esi
pop ebp
and edx, ebx
mov word [ecx + 0x4e], dx
xor eax, eax
pop ebx
add esp, 0x4a4
ret
cmp edx, 2
jge 0x404fb6
mov edx, dword [0x41f534]
test edx, edx
mov word [ecx + 0x4e], bx
je 0x404fa7
test eax, eax
je 0x404fa7
push eax
mov eax, dword [0x41f508]
push edx
mov edx, dword [0x41f504]
push edx
push eax
push ecx
call fcn.00402160
add esp, 0x14
jmp 0x404fb0
push ecx
call fcn.00402120
add esp, 4
mov ecx, dword [0x41f520]
xor edx, edx
mov dl, byte [0x41f530]
pop edi
pop esi
pop ebp
and edx, ebx
mov word [ecx + 0x4e], dx
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0xffffffffffffffff
call fcn.00408c00
push 0xffffffffffffffff
mov dword [0x41f530], eax
call fcn.00408c00
push 0xffffffffffffffff
mov dword [0x41f508], eax
call fcn.00408c00
push 0xffffffffffffffff
mov dword [0x41f504], eax
call fcn.00408c00
mov dword [0x41f534], eax
mov eax, dword [0x41fa9c]
add esp, 0x10
test eax, eax
jne 0x407403
mov eax, dword [0x41f520]
cmp dword [eax + 0x44], 5
jne 0x40507c
mov edx, dword [eax + 0x34]
lea ecx, [esp + 0x20]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [0x41f530]
test ecx, ecx
jge 0x405040
mov ecx, dword [esp + 0x28]
inc ecx
mov dword [0x41f530], ecx
mov eax, dword [0x41f508]
test eax, eax
jge 0x405053
mov eax, dword [esp + 0x2c]
inc eax
mov dword [0x41f508], eax
push eax
mov eax, dword [0x41f520]
push ecx
push eax
call fcn.0040fcf0
mov eax, dword [0x41f520]
add esp, 0xc
mov dword [0x41f530], 0xffffffff
mov dword [0x41f508], 0xffffffff
mov ecx, dword [0x41f508]
mov edx, dword [0x41f530]
push ecx
mov ecx, dword [0x41f534]
push edx
mov edx, dword [0x41f504]
push ecx
push edx
push eax
call fcn.00401f40
add esp, 0x14
pop edi
pop esi
pop ebp
mov dword [0x41facc], 1
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
mov dword [0x41f508], eax
mov eax, dword [0x41fa9c]
add esp, 8
test eax, eax
jne 0x407403
mov eax, dword [0x41f530]
push eax
call fcn.0040f6a0
add esp, 4
test eax, eax
je 0x406bcd
mov ecx, dword [0x41f530]
push ecx
call fcn.0040f690
mov ecx, dword [0x41f508]
mov edx, dword [0x41f530]
add esp, 4
test ecx, ecx
mov dword [0x41f520], eax
mov dword [0x41f500], edx
jge 0x405139
mov eax, dword [eax + 0x34]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
jle case.0x404a87.18
mov eax, dword [eax + 0x34]
xor edx, edx
cmp ecx, 1
setne dl
push 5
push eax
add edx, 0xfffffffe
mov esi, edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 0x34]
push edx
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov eax, dword [0x41f520]
mov ecx, dword [eax + 0x34]
push 3
push 0
push 0
push 0
push 0
push esi
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 1
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
push 0
mov dword [0x41f508], eax
call fcn.00408c00
mov edx, dword [0x41f520]
mov dword [0x41f504], eax
mov eax, dword [edx + 0x84]
push eax
call fcn.00408c00
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 0x88]
push edx
mov dword [0x41f534], eax
call fcn.00408c00
mov dword [0x41f3e4], eax
mov eax, dword [0x41fa9c]
add esp, 0x14
test eax, eax
jne 0x407403
mov eax, dword [0x41f530]
push eax
call fcn.0040f6a0
add esp, 4
test eax, eax
je 0x406bcd
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 0x8c]
mov eax, dword [0x41f3e4]
mov ecx, dword [0x41f534]
push edx
mov edx, dword [0x41f504]
push eax
mov eax, dword [0x41f508]
push ecx
mov ecx, dword [0x41f530]
push edx
push eax
push ecx
call fcn.0040f690
mov edx, dword [0x41f520]
add esp, 4
push eax
push edx
call fcn.00402d10
add esp, 0x1c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
push 1
mov dword [0x41f508], eax
call fcn.00408c00
push 0
mov dword [0x41f504], eax
call fcn.00408c00
push 0
mov dword [0x41f534], eax
call fcn.00408c00
mov dword [0x41f3e4], eax
mov eax, dword [0x41f520]
mov ecx, dword [eax + 0x84]
push ecx
call fcn.00408c00
mov edx, dword [0x41f520]
mov dword [0x41e2ac], eax
mov eax, dword [edx + 0x88]
push eax
call fcn.00408c00
mov dword [0x41f524], eax
mov eax, dword [0x41fa9c]
add esp, 0x1c
test eax, eax
jne 0x407403
mov ecx, dword [0x41f504]
push ecx
call fcn.0040f6a0
add esp, 4
test eax, eax
je 0x406bcd
mov edx, dword [0x41f524]
mov eax, dword [0x41e2ac]
mov ecx, dword [0x41f3e4]
push edx
mov edx, dword [0x41f534]
push eax
mov eax, dword [0x41f504]
push ecx
push edx
push eax
call fcn.0040f690
mov ecx, dword [0x41f508]
mov edx, dword [0x41f530]
add esp, 4
push eax
mov eax, dword [0x41f520]
push ecx
push edx
push eax
call fcn.00402da0
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
push 0x20
mov dword [0x41f530], eax
call fcn.00408c00
push 0x20
mov dword [0x41f508], eax
call fcn.00408c00
push 0
mov dword [0x41f504], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0x10
test ecx, ecx
mov dword [0x41f534], eax
jne 0x406ba3
mov ecx, dword [0x41f520]
mov edx, dword [0x41f530]
mov dword [ecx + 0x8c], edx
mov edx, dword [0x41f508]
pop edi
mov dword [ecx + 0x84], edx
mov edx, dword [0x41f504]
pop esi
mov dword [ecx + 0x88], edx
pop ebp
mov dword [ecx + 0x308], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408ca0
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ba3
push eax
mov eax, dword [0x41f520]
push eax
call fcn.004024f0
add esp, 8
jmp 0x4054e9
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ba3
test eax, eax
je 0x405412
or eax, 0x10000
mov dword [0x41f530], eax
mov ecx, dword [0x41f520]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x2a8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408320
test eax, eax
mov dword [0x41f530], eax
je 0x406b0c
mov ebx, 1
push ebx
mov dword [0x41f528], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ba3
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edx, dword [0x41f528]
pop edi
pop esi
pop ebp
shr eax, 0xf
and eax, ebx
mov dword [0x41f508], eax
mov dword [edx], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408ca0
mov edx, dword [0x420654]
mov dword [0x41e3cc], eax
mov ecx, eax
jmp 0x4054a0
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4054a0
push 0
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ba3
mov ecx, dword [0x420654]
push eax
mov eax, dword [0x41f530]
push eax
push ecx
call fcn.00411270
add esp, 0xc
test eax, eax
mov dword [0x41f50c], eax
je case.0x404a87.18
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
mov dword [0x41f530], eax
mov eax, dword [0x41fa9c]
add esp, 4
test eax, eax
jne 0x407403
mov eax, dword [0x41f520]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 4]
push edx
mov edx, dword [eax + 0x70]
push ecx
mov ecx, dword [eax + 0x6c]
push edx
mov edx, dword [eax + 0x34]
push ecx
push edx
call fcn.00411180
mov eax, dword [0x41f530]
push eax
call fcn.00411400
add esp, 0x18
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408ca0
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ba3
push eax
call fcn.00411140
add esp, 4
mov dword [0x41fae8], eax
call fcn.00411170
mov edx, 0x41e3e0
jmp 0x405590
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x405590
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408320
test eax, eax
mov dword [0x41f530], eax
je 0x406b0c
cmp dword [0x41fff0], 2
mov esi, dword [0x420004]
jne 0x4055ec
mov edx, dword [0x420654]
mov dword [0x41f50c], 2
mov ecx, eax
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4055e0
jmp 0x40560a
mov ecx, dword [0x420654]
mov edx, dword [eax]
push 0xa
push ecx
push edx
mov dword [0x41f50c], 1
call fcn.0041242b
add esp, 0xc
call fcn.00407f50
mov dword [0x41e2ac], eax
mov eax, dword [0x41f520]
mov ecx, dword [eax + 0x74]
push ecx
call fcn.00408c00
mov edx, dword [0x41f520]
mov dword [0x41f508], eax
mov eax, dword [edx + 0x78]
push eax
call fcn.00408c00
mov ecx, dword [0x41e2ac]
push ecx
mov dword [0x41f504], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41f534], eax
jne 0x406ba3
mov edx, dword [0x41f50c]
mov ecx, dword [0x41f504]
push esi
push eax
mov eax, dword [0x41f530]
add edx, 0x200
push edx
mov edx, dword [0x41f508]
push eax
mov eax, dword [0x420654]
push ecx
mov ecx, dword [0x41f520]
push edx
push eax
push ecx
call fcn.00401560
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408320
test eax, eax
mov dword [0x41f530], eax
je 0x406b0c
cmp dword [0x41fff0], 2
mov edi, dword [0x420004]
jne 0x406b25
call fcn.00407f50
mov edx, dword [0x41f520]
mov dword [0x41e2ac], eax
mov eax, dword [edx + 0x74]
push eax
call fcn.00408c00
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 0x78]
push edx
mov dword [0x41f508], eax
call fcn.00408c00
push 0
mov dword [0x41f504], eax
call fcn.00408c00
mov dword [0x41f534], eax
mov eax, dword [0x41e2ac]
push eax
call fcn.00408c00
mov esi, eax
mov eax, dword [0x41fa9c]
add esp, 0x10
test eax, eax
mov dword [0x41f3e4], esi
jne 0x407403
mov dl, byte [0x41f534]
xor ecx, ecx
test dl, 1
mov dword [0x41f50c], ecx
je 0x405746
mov ecx, 0x200
mov dword [0x41f50c], ecx
test dl, 2
je 0x405756
mov ecx, 0x400
mov dword [0x41f50c], ecx
test dl, 4
je 0x405767
or ecx, 0x800
mov dword [0x41f50c], ecx
mov eax, dword [0x41f530]
mov edx, dword [0x41f508]
push edi
push esi
or ecx, 0x102
push ecx
mov ecx, dword [0x41f504]
push eax
push ecx
push edx
push eax
mov eax, dword [0x41f520]
push eax
call fcn.00401560
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
push 0x280
mov dword [0x41f50c], eax
call fcn.00408c00
push 0x1e0
mov dword [0x41f530], eax
call fcn.00408c00
mov ecx, dword [0x4216f0]
push ecx
mov dword [0x41f508], eax
call fcn.00408c00
push 0xffffffffffffffff
mov dword [0x41f504], eax
call fcn.00408c00
push 0xffffffffffffffff
mov dword [0x41f534], eax
call fcn.00408c00
mov edx, dword [0x41f530]
push edx
mov dword [0x41f3e4], eax
call fcn.00408c00
mov dword [0x41e2ac], eax
mov eax, dword [0x41f508]
push eax
call fcn.00408c00
mov dword [0x41f524], eax
mov eax, dword [0x41fa9c]
add esp, 0x20
test eax, eax
jne 0x407403
mov ecx, dword [0x41f504]
mov eax, dword [0x41f50c]
sar ecx, 2
push ecx
push eax
mov dword [0x41f500], eax
call fcn.0040f6c0
and dword [0x41f504], 3
mov edx, dword [0x41f50c]
add esp, 8
cmp edx, 2
mov eax, 5
mov dword [0x41e3d8], eax
jge 0x405867
mov eax, 3
mov dword [0x41e3d8], eax
mov ecx, dword [0x41f3e8]
cmp ecx, 0x29
mov ebx, 1
jne 0x405880
mov eax, ebx
mov dword [0x41e3d8], eax
jmp 0x4058b4
cmp ecx, 0x2b
jne 0x405891
mov eax, 2
mov dword [0x41e3d8], eax
jmp 0x4058b4
cmp eax, 5
jne 0x4058b4
push edx
call fcn.0040f6b0
add esp, 4
test bl, al
je 0x4058af
mov eax, 4
mov dword [0x41e3d8], eax
jmp 0x4058b4
mov eax, dword [0x41e3d8]
mov edx, dword [0x41f504]
mov ecx, dword [0x41f508]
push edx
mov edx, dword [0x41f530]
push ecx
mov ecx, dword [0x41f524]
push edx
mov edx, dword [0x41e2ac]
push ecx
mov ecx, dword [0x41f3e4]
push edx
mov edx, dword [0x41f534]
push ecx
push edx
push eax
mov eax, dword [0x41f50c]
push eax
call fcn.004105e0
mov eax, dword [0x41e3d8]
add esp, 0x24
cmp eax, ebx
je case.0x404a87.18
pop edi
pop esi
pop ebp
mov dword [0x41facc], ebx
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408ca0
mov edx, dword [0x420654]
mov dword [0x41e3cc], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405926
push 0
call fcn.00408c00
push 0x41a2f9
mov dword [0x41f530], eax
call fcn.00408d00
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ba3
mov ecx, dword [0x41f530]
test cl, 0x10
je 0x4059be
mov edx, dword [0x420654]
push eax
mov eax, dword [0x41f520]
push edx
and ecx, 3
push ecx
mov ecx, dword [eax + 0x34]
push ecx
call fcn.00407cc0
add esp, 0x10
test eax, eax
mov dword [0x41fae8], eax
jne 0x40599d
pop edi
pop esi
pop ebp
mov byte [0x41e3e0], al
pop ebx
add esp, 0x4a4
ret
call fcn.00407cb0
mov edx, 0x41e3e0
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x4059a7
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
test cl, 0x20
je 0x405a16
mov edx, dword [0x41f520]
mov eax, dword [edx + 0x34]
mov ebx, 1
and ecx, ebx
push ecx
push eax
call fcn.00407d30
add esp, 8
cmp eax, 0xffffffff
mov dword [0x41f50c], eax
jne 0x4059fe
pop edi
pop esi
pop ebp
mov dword [0x41fae8], 0
xor eax, eax
pop ebx
add esp, 0x4a4
ret
pop edi
pop esi
pop ebp
mov dword [0x41e250], eax
mov dword [0x41fae8], ebx
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov dl, cl
and dl, 1
neg dl
sbb edx, edx
and edx, 0xfffffff0
add edx, 0x40
test cl, 2
mov dword [0x41f50c], edx
je 0x405a39
or edx, 4
mov dword [0x41f50c], edx
mov ecx, dword [0x41f520]
push edx
mov edx, dword [ecx + 0x34]
push eax
mov eax, dword [0x420654]
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ba3
push eax
call fcn.00404310
add esp, 4
test eax, eax
mov dword [0x41f50c], eax
je case.0x404a87.18
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x4a4
ret
call fcn.00408ca0
mov edx, dword [0x420654]
mov dword [0x41e3cc], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405ab8
push 0
call fcn.00408c00
push 0x41a2f9
mov dword [0x41f530], eax
call fcn.00408d00
mov edx, eax
mov eax, dword [0x41fa9c]
add esp, 8
test eax, eax
mov dword [0x41e3cc], edx
jne 0x407403
mov cl, byte [0x41f530]
test cl, 2
mov eax, 0xa
mov dword [0x41e3d8], eax
je 0x405b0f
mov eax, 2
mov dword [0x41e3d8], eax
mov ebx, 1
test bl, cl
mov dword [0x41facc], ebx
je 0x405b28
mov dword [0x41facc], 0xfffffffa
cmp byte [edx], 0
je 0x405b80
xor eax, eax
mov ecx, 0xf
lea edi, [esp + 0x38]
rep stosd dword es:[edi], eax
mov eax, dword [0x41f520]
mov dword [esp + 0x38], 0x3c
mov dword [esp + 0x3c], 0xc
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x44], edx
mov edx, dword [0x420654]
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x58], ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
test cl, 0x10
push eax
je 0x405bb1
mov ecx, dword [0x420654]
push 0x41a2f9
push 0x41a2f9
push ecx
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
test cl, 0x20
je 0x405be1
mov edx, dword [0x420654]
push 0x41a2f9
push 0x41a2f9
push edx
push str.print
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov eax, dword [0x420654]
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
cmp eax, 0x20
mov dword [0x41f50c], eax
jge case.0x404a87.18
pop edi
pop esi
pop ebp
mov eax, 0xe
pop ebx
add esp, 0x4a4
ret
call fcn.00408ca0
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ba3
push eax
call fcn.00412daf
add esp, 4
test eax, eax
mov dword [0x41fae8], eax
je case.0x404a87.18
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x4a4
ret
call fcn.00411200
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 4]
push edx
mov dword [0x41f508], eax
call fcn.00408c00
mov dword [0x41f504], eax
mov eax, dword [0x41f520]
mov ecx, dword [eax + 8]
push ecx
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0x10
test ecx, ecx
mov dword [0x41f534], eax
jne 0x406ba3
mov edx, dword [0x41f504]
mov ecx, dword [0x41f530]
push eax
mov eax, dword [0x41f508]
push edx
mov edx, dword [0x41f520]
push eax
push ecx
push edx
call fcn.00402e10
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov eax, dword [0x41f520]
mov ecx, dword [eax + 0x6c]
push ecx
call fcn.00408c00
mov edx, dword [0x41f520]
mov dword [0x41f530], eax
mov eax, dword [edx + 0x70]
push eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ba3
mov ecx, dword [0x41f530]
mov edx, dword [0x41f520]
push eax
push ecx
push edx
call fcn.00402e80
add esp, 0xc
pop edi
pop esi
pop ebp
mov dword [0x41e250], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov eax, dword [0x41f520]
mov ecx, dword [eax + 0x6c]
push ecx
call fcn.00408c00
mov edx, dword [0x41f520]
mov dword [0x41f530], eax
mov eax, dword [edx + 0x70]
push eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ba3
mov ecx, dword [0x41f530]
mov edx, dword [0x41f520]
push eax
push ecx
push edx
call fcn.00402ea0
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
push 0xff
mov dword [0x41f508], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41f504], eax
jne 0x406ba3
mov ecx, dword [0x41f530]
mov edx, dword [0x41f508]
push ecx
push eax
mov eax, dword [0x41f520]
push edx
push eax
call fcn.00401d30
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ba3
test eax, eax
mov eax, dword [0x41f530]
jne 0x405e5d
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 0x24]
xor ecx, ecx
mov ch, byte [edx + eax*4]
lea eax, [edx + eax*4]
movzx edx, byte [eax + 2]
pop edi
pop esi
mov cl, byte [eax + 1]
pop ebp
pop ebx
shl ecx, 8
or ecx, edx
mov dword [0x41e250], ecx
xor eax, eax
add esp, 0x4a4
ret
push eax
call dword [sym.imp.USER32.dll_GetSysColor]
pop edi
pop esi
pop ebp
mov dword [0x41e250], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408320
test eax, eax
mov dword [0x41f530], eax
je 0x406b0c
push 0
mov dword [0x41f528], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ba3
push eax
call fcn.00404550
mov ecx, dword [0x41f528]
add esp, 4
pop edi
pop esi
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ba3
mov edx, dword [0x41f520]
mov ecx, dword [edx + 0x48]
push ecx
push eax
call fcn.0040f690
add esp, 4
push eax
call fcn.004026f0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ba3
push eax
call fcn.00412d82
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
push 0xffffffffffffffff
mov dword [0x41f530], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ba3
mov edx, dword [0x41f530]
push eax
mov eax, dword [0x41f520]
push edx
push eax
call fcn.00401080
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408ca0
mov edx, dword [0x420654]
mov dword [0x41e3cc], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405fa4
call fcn.00408320
test eax, eax
mov dword [0x41f530], eax
je 0x406b0c
cmp dword [0x41fff0], 4
jne 0x406b25
mov ecx, dword [0x41fa9c]
test ecx, ecx
jne 0x406ba3
mov ecx, dword [0x420004]
mov edx, dword [0x420654]
push ecx
push eax
mov eax, dword [0x41f520]
push edx
push eax
call fcn.00401720
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 0x6c]
push edx
mov dword [0x41f508], eax
call fcn.00408c00
mov dword [0x41f504], eax
mov eax, dword [0x41f520]
mov ecx, dword [eax + 0x70]
push ecx
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0x10
test ecx, ecx
mov dword [0x41f534], eax
jne 0x406ba3
mov ecx, dword [0x41f520]
mov edx, dword [0x41f504]
mov dword [ecx + 0x6c], edx
mov edx, dword [0x41f530]
mov dword [ecx + 0x70], eax
mov eax, dword [0x41f508]
push eax
push edx
push ecx
call fcn.00402ee0
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408320
test eax, eax
mov dword [0x41f530], eax
je 0x406b0c
push 4
call fcn.00407f40
mov eax, dword [0x41f530]
push 0
mov dword [0x41f528], eax
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ba3
test eax, eax
mov dword [0x41e3d4], ecx
je 0x406104
call fcn.0040f820
test eax, eax
jge 0x406104
mov ecx, dword [0x41f528]
mov edx, dword [0x41e3d4]
pop edi
pop esi
pop ebp
mov dword [ecx], edx
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x25
call esi
test ah, ah
mov ebx, 1
jns 0x40611d
or dword [0x41e3d4], ebx
push 0x26
call esi
test ah, ah
jns 0x40612c
or dword [0x41e3d4], 2
push 0x27
call esi
test ah, ah
jns 0x40613b
or dword [0x41e3d4], 4
push 0x28
call esi
test ah, ah
jns 0x40614a
or dword [0x41e3d4], 8
push 0x20
call esi
test ah, ah
jns 0x406159
or dword [0x41e3d4], 0x10
push 0xd
call esi
test ah, ah
jns 0x406168
or dword [0x41e3d4], 0x20
push 0x11
call esi
test ah, ah
jns 0x406177
or dword [0x41e3d4], 0x40
push 0x1b
call esi
test ah, ah
jns 0x406189
or dword [0x41e3d4], 0x80
push ebx
call esi
test ah, ah
jns 0x40619a
or dword [0x41e3d4], 0x100
push 2
call esi
test ah, ah
jns 0x4061ac
or dword [0x41e3d4], 0x200
push 9
call esi
test ah, ah
mov eax, dword [0x41e3d4]
jns 0x4061c3
or eax, 0x400
mov dword [0x41e3d4], eax
mov ecx, dword [0x41f638]
mov esi, dword [0x41f530]
xor ecx, eax
and ecx, eax
mov dword [0x41f638], eax
and eax, esi
pop edi
or eax, ecx
pop esi
mov dword [0x41f510], ecx
mov ecx, dword [0x41f528]
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ba3
cmp eax, 7
mov ecx, dword [0x41f520]
mov esi, dword [ecx + 0x34]
ja case.0x404a87.18
jmp dword [eax*4 + 0x4075b0]
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
mov dword [0x41f52c], eax
mov dword [0x41e2b0], ecx
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.0040f820
mov edx, dword [0x41f500]
pop edi
pop esi
pop ebp
mov dword [0x41f52c], eax
mov dword [0x41e2b0], edx
xor eax, eax
pop ebx
add esp, 0x4a4
ret
lea eax, [esp + 0x20]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebp
mov dword [0x41f52c], ecx
mov dword [0x41e2b0], edx
xor eax, eax
pop ebx
add esp, 0x4a4
ret
lea eax, [esp + 0x20]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
mov dword [0x41f52c], ecx
mov dword [0x41e2b0], edx
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov eax, dword [ecx + 0x5c]
mov ecx, dword [ecx + 0x60]
pop edi
pop esi
pop ebp
mov dword [0x41f52c], eax
mov dword [0x41e2b0], ecx
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push esi
call fcn.00401e90
push esi
mov dword [0x41f52c], eax
call fcn.00401eb0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [0x41e2b0], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
pop edi
pop esi
pop ebp
mov dword [0x41e2b0], eax
mov dword [0x41f52c], edx
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov eax, dword [ecx + 0x318]
mov edx, dword [ecx + 0x314]
pop edi
pop esi
pop ebp
mov dword [0x41e2b0], eax
mov dword [0x41f52c], edx
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408320
test eax, eax
mov dword [0x41f530], eax
je 0x406b0c
cmp dword [0x41fff0], 4
jne 0x406b25
mov esi, dword [0x420004]
push 0x64
call fcn.00408c00
add esp, 4
mov dword [0x41f508], eax
call fcn.00408ca0
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ba3
mov ecx, dword [0x41f508]
mov edx, dword [0x41f530]
push esi
push ecx
push edx
push eax
mov eax, dword [0x41f520]
push eax
call fcn.004017c0
add esp, 0x14
pop edi
pop esi
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408ca0
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ba3
push eax
call fcn.00412ce6
add esp, 4
test eax, eax
mov dword [0x41fae8], eax
jne 0x406aee
push 0x104
push 0x41f3f0
call fcn.00412b8b
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
mov dword [0x41f530], eax
mov eax, dword [0x41fa9c]
add esp, 4
test eax, eax
jne 0x407403
call fcn.00408850
test eax, eax
mov dword [0x41f508], eax
jge 0x40645b
pop edi
pop esi
pop ebp
neg eax
pop ebx
add esp, 0x4a4
ret
mov eax, dword [0x41fac8]
mov edx, dword [0x41f530]
cmp eax, 2
mov eax, dword [0x41f520]
jne 0x406490
mov ecx, dword [0x41fafc]
push 1
push ecx
push edx
push eax
call fcn.004011f0
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ecx, dword [0x4207c0]
push ecx
push edx
push eax
call fcn.00401330
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
push 0
mov dword [0x41f508], eax
call fcn.00408c00
mov dword [0x41f504], eax
mov eax, dword [0x41fa9c]
add esp, 0xc
test eax, eax
jne 0x407403
call fcn.00408320
test eax, eax
mov dword [0x41f534], eax
je 0x406b0c
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f3e4], eax
jne 0x406ba3
mov ecx, dword [0x41f520]
mov edx, dword [0x41f530]
mov ecx, dword [ecx + edx*4 + 0xa4]
test ecx, ecx
je 0x406bcd
test eax, eax
je 0x40653d
mov eax, dword [0x41f534]
mov edx, dword [eax]
mov dword [0x41f534], edx
mov eax, dword [0x41f534]
mov edx, dword [0x41f504]
push eax
mov eax, dword [0x41f508]
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
push 0
mov dword [0x41f530], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ba3
mov ecx, dword [0x41f520]
mov edx, dword [0x41f530]
pop edi
pop esi
mov dword [ecx + 0x2c4], edx
pop ebp
mov dword [ecx + 0x30c], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408320
test eax, eax
mov dword [0x41f530], eax
je 0x406b0c
mov esi, dword [0x420004]
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ba3
mov ecx, dword [0x41f530]
push ecx
call fcn.00404160
add esp, 4
test eax, eax
mov dword [0x41f504], eax
jl 0x406bcd
pop edi
mov word [esi], ax
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408320
test eax, eax
mov dword [0x41f530], eax
je 0x406b0c
mov esi, dword [0x420004]
mov dword [esp + 0x10], esi
call fcn.00408ca0
mov edx, dword [0x420654]
mov dword [0x41e3cc], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x406646
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ba3
test al, 0x10
mov ebp, dword [esi + 0x1c]
mov word [esi], 2
mov byte [ebp], cl
je 0x40668b
mov edx, dword [0x420654]
push edx
call fcn.004119e0
add esp, 4
lea eax, [esp + 0x1b4]
push eax
lea ecx, [esp + 0x2b8]
push ecx
mov ecx, dword [0x420654]
lea edx, [esp + 0x3bc]
push edx
lea eax, [esp + 0x80]
push eax
push ecx
call fcn.00412b9e
lea eax, [esp + 0x3c8]
add esp, 0x14
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4066c3
lea edi, [esp + 0x74]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4066d1
mov ebx, dword [0x41f508]
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
test bl, 8
rep movsb byte es:[edi], byte [esi]
je 0x40673e
mov edx, dword [0x420654]
lea ecx, [esp + 0x2b4]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x406701
lea eax, [esp + 0x1b4]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406714
mov edi, dword [0x420654]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x406724
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x40675a
test bl, 0x20
je 0x40675a
mov edx, dword [0x420654]
lea ecx, [esp + 0x74]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x406750
and ebx, 7
mov eax, ebx
sub eax, 0
je 0x4067ec
dec eax
je 0x40679b
dec eax
jne 0x406bcd
mov edx, ebp
lea ecx, [esp + 0x1b4]
lea eax, [esp + 0x1b4]
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x406784
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov edi, dword [0x420654]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4067a6
sub eax, edx
mov ecx, eax
lea eax, [esp + 0x1b4]
lea esi, [eax + 1]
jmp 0x4067c0
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4067c0
sub eax, esi
sub ecx, eax
mov byte [ecx + edi], dl
mov eax, dword [0x420654]
mov ecx, ebp
mov dl, byte [eax]
inc eax
mov byte [ecx], dl
inc ecx
test dl, dl
jne 0x4067d5
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov edx, dword [0x420654]
push edx
push ebp
call fcn.00411a20
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
shl edx, 2
add esp, 8
cmp eax, edx
jle case.0x404a87.18
pop edi
pop esi
pop ebp
mov eax, 0x14
pop ebx
add esp, 0x4a4
ret
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00408c00
mov edx, dword [esp + 0x20]
push edx
mov dword [0x41f530], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ba3
mov ecx, dword [0x41f530]
test ecx, ecx
jl 0x406866
test eax, eax
jge 0x40688f
mov edx, dword [0x41d34c]
test edx, edx
je 0x40688f
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
pop edi
pop esi
pop ebp
mov dword [0x41d34c], 0
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push eax
push ecx
call dword [sym.imp.USER32.dll_SetCursorPos]
mov eax, dword [0x41d34c]
test eax, eax
jne case.0x404a87.18
push 1
call dword [sym.imp.USER32.dll_ShowCursor]
mov eax, dword [0x41d34c]
pop edi
pop esi
inc eax
pop ebp
mov dword [0x41d34c], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 1
mov dword [esp + 0x10], ebx
call fcn.00408320
xor ebp, ebp
cmp eax, ebp
mov dword [0x41f530], eax
je 0x406b0c
mov esi, dword [0x420004]
mov edi, dword [esi + 8]
shl edi, 2
mov dword [esp + 0x30], esi
mov word [esi], 2
mov dword [esp + 0x34], edi
call fcn.00408ca0
mov edx, dword [0x420654]
mov dword [0x41e3cc], eax
mov ecx, eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x406910
push ebp
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
cmp ecx, ebp
mov dword [0x41f504], eax
jne 0x406ba3
mov ecx, dword [0x41f530]
mov dword [esp + 0x18], ecx
cmp dword [esi + 0xc], ebp
jle 0x406949
mov dword [esp + 0x10], ebp
test bl, al
mov dword [esp + 0x14], ebp
je 0x406959
mov dword [esp + 0x14], 0x10
test al, 2
je 0x406962
or dword [esp + 0x14], 6
mov ebx, dword [0x41fafc]
mov byte [ebx], 0
mov eax, dword [0x420654]
lea edx, [esp + 0x74]
push edx
push eax
mov dword [0x41fae8], 0
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebp, eax
cmp ebp, 0xffffffff
je case.0x404a87.18
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
and ecx, edx
xor edx, edx
cmp edx, ecx
mov cl, byte [0x41f504]
sbb eax, eax
neg eax
test cl, 4
jne 0x4069b7
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
je 0x406a52
mov edx, dword [0x41fae8]
mov al, byte [esp + 0xa0]
inc edx
test al, al
mov dword [0x41fae8], edx
je 0x406a52
cmp al, 0x2e
jne 0x4069f9
mov al, byte [esp + 0xa1]
test al, al
je 0x406a52
cmp al, 0x2e
jne 0x4069f9
mov al, byte [esp + 0xa2]
test al, al
je 0x406a52
lea eax, [esp + 0xa0]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406a02
mov edi, ebx
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x406a10
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebx
dec edi
jmp 0x406a30
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406a30
mov dx, word [0x41a368]
mov esi, dword [esp + 0x30]
mov word [edi], dx
mov al, byte [0x41a36a]
mov byte [edi + 2], al
mov edi, dword [esp + 0x34]
lea ecx, [esp + 0x74]
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x406991
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406a72
sub eax, edx
inc eax
cmp eax, 0x40
jge 0x406a86
mov eax, 0x40
cmp eax, edi
jle 0x406aa7
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x40680e
push 0
push eax
push esi
call fcn.00408070
mov edx, dword [esi + 0x1c]
add esp, 0xc
jmp 0x406aab
mov edx, dword [esp + 0x18]
mov eax, ebx
sub edx, ebx
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x406ab0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
call fcn.00408ca0
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ba3
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne case.0x404a87.18
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x4a4
ret
call fcn.00408320
test eax, eax
mov dword [0x41f530], eax
jne 0x406b1c
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x4a4
ret
cmp dword [0x41fff0], 4
je 0x406b35
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 0x4a4
ret
mov esi, dword [0x420004]
push 0x64
call fcn.00408c00
add esp, 4
mov dword [0x41f508], eax
call fcn.00408ca0
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ba3
mov edx, dword [0x41f508]
mov ecx, dword [0x41f530]
push esi
push edx
mov edx, dword [0x41f520]
push ecx
push eax
push edx
call fcn.00401880
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
je 0x406bb0
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x4a4
ret
push eax
mov eax, dword [0x41f520]
push eax
call fcn.00401130
add esp, 8
cmp eax, 0xfffffffe
mov dword [0x41fae8], eax
jne case.0x404a87.18
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x4a4
ret
mov ebx, 1
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov ecx, dword [0x41f534]
mov edx, dword [0x41f504]
mov eax, dword [0x41f508]
push ecx
mov ecx, dword [0x41f530]
push edx
push eax
push ecx
call fcn.00412000
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 1
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov edx, dword [0x41f534]
mov eax, dword [0x41f504]
mov ecx, dword [0x41f508]
push edx
mov edx, dword [0x41f530]
push eax
push ecx
push edx
call fcn.00412220
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 1
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov eax, dword [0x41f534]
mov ecx, dword [0x41f504]
mov edx, dword [0x41f508]
push eax
mov eax, dword [0x41f530]
push ecx
push edx
push eax
call fcn.00412030
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 1
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov ecx, dword [0x41f534]
mov edx, dword [0x41f504]
mov eax, dword [0x41f508]
push ecx
mov ecx, dword [0x41f530]
push edx
push eax
push ecx
call fcn.004120b0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 1
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov edx, dword [0x41f534]
mov eax, dword [0x41f504]
mov ecx, dword [0x41f508]
push edx
mov edx, dword [0x41f530]
push eax
push ecx
push edx
call fcn.004121c0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 1
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov eax, dword [0x41f534]
mov ecx, dword [0x41f504]
mov edx, dword [0x41f508]
push eax
mov eax, dword [0x41f530]
push ecx
push edx
push eax
call fcn.004121e0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 1
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov ecx, dword [0x41f534]
mov edx, dword [0x41f504]
mov eax, dword [0x41f508]
push ecx
mov ecx, dword [0x41f530]
push edx
push eax
push ecx
call fcn.00412200
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 1
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov edx, dword [0x41f534]
mov eax, dword [0x41f504]
mov ecx, dword [0x41f508]
push edx
mov edx, dword [0x41f530]
push eax
push ecx
push edx
call fcn.004120f0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 1
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov eax, dword [0x41f534]
mov ecx, dword [0x41f504]
mov edx, dword [0x41f508]
push eax
mov eax, dword [0x41f530]
push ecx
push edx
push eax
call sym.hsprt.exe__ll_callfunc_16
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
xor ebx, ebx
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov ecx, dword [0x41f534]
mov edx, dword [0x41f504]
mov eax, dword [0x41f508]
push ecx
mov ecx, dword [0x41f530]
push edx
push eax
push ecx
call fcn.00411ce0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
xor ebx, ebx
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov edx, dword [0x41f534]
mov eax, dword [0x41f504]
mov ecx, dword [0x41f508]
push edx
mov edx, dword [0x41f530]
push eax
push ecx
push edx
call fcn.00412110
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
xor ebx, ebx
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov eax, dword [0x41f534]
mov ecx, dword [0x41f504]
mov edx, dword [0x41f508]
push eax
mov eax, dword [0x41f530]
push ecx
push edx
push eax
call fcn.00412140
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
xor ebx, ebx
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov ecx, dword [0x41f534]
mov edx, dword [0x41f504]
mov eax, dword [0x41f508]
push ecx
mov ecx, dword [0x41f530]
push edx
push eax
push ecx
call fcn.00412170
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
xor ebx, ebx
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov edx, dword [0x41f534]
mov eax, dword [0x41f504]
mov ecx, dword [0x41f508]
push edx
mov edx, dword [0x41f530]
push eax
push ecx
push edx
call fcn.00412090
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
xor ebx, ebx
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov eax, dword [0x41f534]
mov ecx, dword [0x41f504]
mov edx, dword [0x41f508]
push eax
mov eax, dword [0x41f530]
push ecx
push edx
push eax
call fcn.004121b0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
xor ebx, ebx
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov ecx, dword [0x41f504]
mov edx, dword [0x41f508]
mov eax, dword [0x41f530]
push 0x41e3e0
push ecx
push edx
push eax
call fcn.00411f40
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
xor ebx, ebx
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov ecx, dword [0x41f534]
mov edx, dword [0x41f504]
mov eax, dword [0x41f508]
push ecx
mov ecx, dword [0x41f530]
push edx
push eax
push ecx
call fcn.00412020
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 3
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov edx, dword [0x41f534]
mov eax, dword [0x41f504]
mov ecx, dword [0x41f508]
push edx
mov edx, dword [0x41f530]
push eax
push ecx
push edx
call fcn.00411d00
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 3
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov eax, dword [0x41f534]
mov ecx, dword [0x41f504]
mov edx, dword [0x41f508]
push eax
mov eax, dword [0x41f530]
push ecx
push edx
push eax
call fcn.00411d70
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 3
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov ecx, dword [0x41f534]
mov edx, dword [0x41f504]
mov eax, dword [0x41f508]
push ecx
mov ecx, dword [0x41f530]
push edx
push eax
push ecx
call fcn.00412300
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 0x16
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov edx, dword [0x41f504]
mov eax, dword [0x41f508]
mov ecx, dword [0x41f530]
push 0x41e3e0
push edx
push eax
push ecx
call fcn.00411bf0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 0x26
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
push 0x41e2b8
mov dword [0x41f534], 0x41e2b8
call fcn.00403b00
mov edx, dword [0x41f534]
mov eax, dword [0x41f504]
mov ecx, dword [0x41f508]
push edx
mov edx, dword [0x41f530]
push eax
push ecx
push edx
call fcn.00411c30
add esp, 0x14
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 0x36
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov eax, dword [0x41f504]
mov ecx, dword [0x41f508]
mov edx, dword [0x41f530]
push 0x41dd88
push eax
push ecx
push edx
call fcn.00411c60
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 6
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov eax, dword [0x41f534]
mov ecx, dword [0x41f504]
mov edx, dword [0x41f508]
push eax
mov eax, dword [0x41f530]
push ecx
push edx
push eax
call fcn.00411d30
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 5
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov ecx, dword [0x41f534]
mov edx, dword [0x41f504]
mov eax, dword [0x41f508]
push ecx
mov ecx, dword [0x41f530]
push edx
push eax
push ecx
call fcn.00412040
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 5
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov edx, dword [0x41f534]
mov eax, dword [0x41f504]
mov ecx, dword [0x41f508]
push edx
mov edx, dword [0x41f530]
push eax
push ecx
push edx
call fcn.00412060
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov ebx, 0x87
call fcn.00404920
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407403
mov eax, dword [0x41f534]
mov ecx, dword [0x41f504]
mov edx, dword [0x41f508]
push eax
mov eax, dword [0x41f530]
push ecx
push edx
push eax
call fcn.00412260
add esp, 0x10
neg eax
mov dword [0x41fae8], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a4
ret
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4a4
ret
mov eax, dword [0x42064c]
push ebx
push esi
mov dword [0x41f3e8], eax
call fcn.00408820
mov eax, dword [0x41f3e8]
mov edx, dword [0x41f518]
add eax, 0xfffffff0
shl eax, 4
mov ecx, dword [eax + edx + 0xc]
add eax, edx
mov dword [0x41e3d0], ecx
mov ebx, dword [eax + 4]
mov esi, ebx
and esi, 3
cmp esi, 3
mov dword [0x41f4f8], eax
ja case.default.0x407890
jmp dword [esi*4 + 0x407a08]
push 0
call fcn.00408c00
add esp, 4
jmp 0x4078fe
call fcn.00408320
test eax, eax
mov dword [0x41f530], eax
jne case.default.0x407890
pop esi
mov eax, 0x100
pop ebx
ret
test bh, 2
je 0x4078cd
mov dword [0x41f530], 0x41e258
jmp 0x4079a7
mov edx, dword [0x41f520]
mov dword [0x41f530], edx
jmp case.default.0x407890
call fcn.00408320
test eax, eax
mov dword [0x41f530], eax
je 0x4078b1
test bl, bl
jns 0x4078f9
mov esi, 4
call fcn.00407f60
jmp 0x4078fe
call fcn.00407f70
mov dword [0x41f530], eax
test bl, 4
je 0x407931
call fcn.00408ca0
mov edx, dword [0x420654]
mov dword [0x41e3cc], eax
mov ecx, eax
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x407920
mov eax, dword [0x420654]
jmp 0x40793b
push 0
call fcn.00408c00
add esp, 4
push 0
mov dword [0x41f508], eax
call fcn.00408c00
add esp, 4
and ebx, 0x30
mov dword [0x41f504], eax
jne 0x407965
push 0
call fcn.00408c00
add esp, 4
mov dword [0x41f534], eax
jmp 0x40799e
cmp ebx, 0x30
jne 0x407976
mov dword [0x41f534], 0x41dd88
jmp 0x40799e
cmp ebx, 0x20
jne 0x407994
push 0x41e2b8
mov dword [0x41f534], 0x41e2b8
call fcn.00403b00
add esp, 4
jmp 0x40799e
mov dword [0x41f534], 0x41e3e0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407a04
mov ecx, dword [0x41f534]
mov edx, dword [0x41f504]
mov eax, dword [0x41f508]
push ecx
mov ecx, dword [0x41f530]
push edx
push eax
push ecx
call dword [0x41e3d0]
test eax, eax
mov dword [0x41fae8], eax
jl 0x4079f1
cmp eax, 0x100
jl 0x407a04
and eax, 0x1ffff
pop esi
mov dword [0x41facc], eax
mov dword [0x41fae8], 0
xor eax, eax
pop ebx
ret
neg eax
cmp esi, 3
mov dword [0x41fae8], eax
jne 0x407a02
call fcn.00407ff0
xor eax, eax
pop esi
pop ebx
ret
mov eax, dword [0x41fae0]
movzx ecx, word [eax]
add eax, 2
push esi
mov dword [0x41fae0], eax
lea esi, [eax + ecx*2]
mov eax, dword [0x42064c]
test eax, eax
jne 0x408e49
call fcn.00408820
call fcn.00408850
test eax, eax
mov dword [0x42061c], eax
jg 0x408e56
cmp dword [0x41fac8], 1
je 0x408e40
mov eax, 6
pop esi
ret
mov eax, dword [0x4207c0]
test eax, eax
jne 0x408e54
mov dword [0x41fae0], esi
call fcn.00408120
xor eax, eax
pop esi
ret
sub esp, 8
push ebx
push ebp
push esi
mov esi, dword [0x42064c]
push edi
mov dword [0x41fb18], esi
call fcn.00408820
cmp esi, 0x38
ja case.0x408ec1.11
jmp dword [esi*4 + 0x40a648]
mov eax, dword [0x41fff4]
test eax, eax
je 0x409295
dec eax
mov dword [0x41fff4], eax
call fcn.00408bb0
test eax, eax
mov dword [0x42061c], eax
jne 0x40a640
mov eax, dword [0x41ffe8]
mov dword [0x41fae0], eax
call fcn.00408120
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408bb0
test eax, eax
mov dword [0x42061c], eax
jne 0x40a640
jmp 0x4090e7
mov eax, dword [0x420650]
test eax, eax
jne 0x408f54
mov ecx, dword [0x41faf4]
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x408f47
pop edi
pop esi
pop ebp
mov dword [0x41facc], 0xffffffff
xor eax, eax
pop ebx
add esp, 8
ret
pop edi
pop esi
pop ebp
mov eax, 0xa
pop ebx
add esp, 8
ret
mov edx, dword [eax*4 + 0x41fb24]
dec eax
mov dword [0x420650], eax
mov dword [0x41fae0], edx
call fcn.00408120
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [0x420000]
lea edi, [eax + esi*8 - 0x20]
mov eax, dword [0x41fadc]
cmp eax, 1
je 0x408fe7
cmp eax, 4
je 0x408fe7
xor esi, esi
cmp eax, 8
jne 0x408fb0
mov eax, dword [0x42064c]
cmp eax, 1
jne 0x408fa3
mov esi, eax
jmp 0x408fab
test eax, eax
jne 0x409300
call fcn.00408120
call fcn.00408bb0
test eax, eax
mov dword [0x42061c], eax
jne 0x40a640
or esi, 0x1000
mov word [edi], si
mov word [edi + 2], ax
mov ecx, dword [0x42064c]
mov dword [edi + 4], ecx
call fcn.00408120
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408c40
mov ecx, dword [0x41fa9c]
test ecx, ecx
jne 0x40a615
test eax, eax
je 0x409003
mov eax, 0x1000
xor edx, edx
mov dx, word [edi]
and edx, 0xfff
or edx, eax
mov word [edi], dx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
push 0
call fcn.00408c00
mov ebp, eax
mov eax, dword [0x41fa9c]
add esp, 4
test eax, eax
mov dword [0x4206b4], ebp
jne 0x40a640
cmp dword [0x41fadc], 8
jne 0x409300
mov eax, dword [0x42064c]
cmp eax, 1
mov ebx, eax
jg 0x409300
call fcn.00408120
mov eax, dword [0x41fde0]
xor esi, esi
xor edi, edi
test ah, 2
mov dword [0x41fcb4], esi
jne 0x40a631
call fcn.00408bb0
test eax, eax
mov dword [0x42061c], eax
jne 0x4090aa
cmp esi, ebp
jne 0x409092
test ebx, ebx
je 0x4090b8
mov edi, dword [0x41ffe8]
inc esi
call fcn.00408120
mov eax, dword [0x41fde0]
test ah, 2
je 0x409076
mov dword [0x41fcb4], esi
jmp 0x4090cd
pop edi
mov dword [0x41fcb4], esi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x41ffe8]
mov dword [0x41fcb4], esi
mov dword [0x41fae0], eax
call fcn.00408120
test edi, edi
je 0x40a631
mov ecx, dword [0x41fddc]
mov dword [0x41fae0], ecx
mov dword [0x41ffe8], edi
call fcn.00408e60
test eax, eax
mov dword [0x42061c], eax
je 0x40a631
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov edx, dword [0x420004]
cmp word [edx], 4
jne 0x40a3e0
push 0
mov dword [0x41fccc], eax
call fcn.00408c00
push 0
mov dword [0x4206b4], eax
call fcn.00408c00
mov esi, eax
mov eax, dword [0x41fa9c]
add esp, 8
test eax, eax
mov dword [0x41fcb4], esi
jne 0x40a640
call fcn.00408bb0
test eax, eax
mov dword [0x42061c], eax
jne 0x40a640
mov ecx, dword [0x4206b4]
test ecx, ecx
mov eax, dword [0x41fccc]
mov eax, dword [eax]
jl 0x40917c
cmp eax, esi
jl 0x409196
jmp 0x409180
cmp eax, esi
jg 0x409196
mov ecx, dword [0x41ffe8]
mov dword [0x42061c], 1
mov dword [0x41fae0], ecx
call fcn.00408120
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
push 0x64
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x4206b4], eax
jne 0x40a615
cmp eax, 1
jl 0x409de3
pop edi
lea edx, [eax + eax*4]
pop esi
shl edx, 1
pop ebp
mov dword [0x41facc], edx
xor eax, eax
pop ebx
add esp, 8
ret
cmp dword [0x41fff4], 0xf
jl 0x4091f6
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
add esp, 8
ret
call fcn.00408bb0
test eax, eax
mov dword [0x42061c], eax
jne 0x40a640
call fcn.00408120
push 0xffffffffffffffff
mov dword [0x41fff8], 0
call fcn.00408c00
push 0
mov dword [0x4206b4], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41fcb4], eax
jne 0x40a615
mov edx, dword [0x4206b4]
test edx, edx
je 0x408eed
jge 0x409255
or edx, 0xffffffff
jmp 0x409257
add edx, eax
mov ecx, dword [0x41fff4]
inc ecx
mov dword [0x41fff4], ecx
shl ecx, 4
add ecx, 0x41fbb0
pop edi
pop esi
mov dword [0x4206b4], edx
mov dword [ecx], edx
mov edx, dword [0x41fddc]
pop ebp
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
xor eax, eax
pop ebx
add esp, 8
ret
mov esi, dword [0x41fff4]
test esi, esi
jne 0x4092a2
pop edi
pop esi
pop ebp
mov eax, 0xb
pop ebx
add esp, 8
ret
mov eax, esi
shl eax, 4
add eax, 0x41fbb0
mov ebx, dword [eax + 4]
mov ecx, dword [eax]
inc ebx
cmp ecx, 0xffffffff
mov dword [eax + 4], ebx
mov edx, ebx
je 0x4092d1
cmp edx, ecx
jl 0x4092d1
dec esi
pop edi
mov dword [0x41fff4], esi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [eax + 0xc]
mov dword [0x41fae0], eax
call fcn.00408120
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [0x41fadc]
test eax, eax
jne 0x40930d
mov eax, dword [0x42064c]
cmp eax, 0x2d
je 0x40930d
cmp eax, 0x28
je 0x40930d
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 8
ret
call fcn.00408850
test eax, eax
mov dword [0x42061c], eax
je 0x409324
cmp eax, 0xffffffff
jne 0x40a640
mov eax, dword [0x41fac8]
test eax, eax
jne 0x409336
mov ecx, dword [0x41fafc]
mov byte [ecx], 0
cmp dword [0x41fac8], 1
jne 0x409356
mov edx, dword [0x41fafc]
mov eax, dword [0x4207c0]
push 0xa
push edx
push eax
call fcn.0041242b
add esp, 0xc
mov ecx, dword [0x41fafc]
push ecx
call fcn.00404480
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov edx, dword [0x420004]
mov dword [0x41fcb8], edx
mov dword [0x41fa98], 1
mov esi, 1
mov edi, 0x15
call fcn.00408850
test eax, eax
mov dword [0x42061c], eax
jg 0x40a640
mov eax, dword [0x41fac8]
cmp eax, 1
je 0x4093cc
test eax, eax
jne 0x40a3e0
mov dword [0x4207c0], eax
jmp 0x409408
cmp esi, 1
jne 0x4093eb
cmp dword [0x41fb18], edi
jne 0x4093eb
mov eax, dword [0x4207c0]
add eax, 3
sar eax, 2
mov dword [0x4207c0], eax
jmp 0x4093f0
mov eax, dword [0x4207c0]
mov ecx, dword [0x41fa98]
imul ecx, eax
cmp eax, 1
mov dword [0x41fa98], ecx
jl 0x409de3
mov edx, dword [0x41fcb8]
mov dword [edx + esi*4 + 4], eax
inc esi
cmp esi, 5
jl 0x4093a1
mov eax, dword [0x41fcb8]
push eax
call fcn.00408000
mov esi, dword [0x41fb18]
mov eax, dword [0x41fa98]
mov edx, dword [0x41fcb8]
xor ecx, ecx
add esp, 4
cmp esi, edi
setne cl
shl eax, 2
cmp eax, 0x400
mov dword [0x41fa98], eax
lea ecx, [ecx + ecx + 2]
mov word [edx], cx
jl 0x40947c
push eax
call fcn.00411940
mov ecx, dword [0x41fcb8]
add esp, 4
pop edi
mov dword [ecx + 0x1c], eax
mov edx, dword [0x41fcb8]
pop esi
pop ebp
mov word [edx + 2], 2
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00407e30
mov ecx, dword [0x41fcb8]
pop edi
mov dword [ecx + 0x1c], eax
mov edx, dword [0x41fcb8]
pop esi
pop ebp
mov word [edx + 2], 0
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov eax, dword [0x420004]
mov dword [0x41fcb8], eax
call fcn.00408850
test eax, eax
mov dword [0x42061c], eax
jg 0x40a640
cmp dword [0x41fac8], 1
je 0x4094e4
pop edi
pop esi
pop ebp
mov eax, 5
pop ebx
add esp, 8
ret
cmp dword [0x4207c0], 0x40
jl 0x409de3
mov ecx, dword [0x41fcb8]
push ecx
call fcn.00408000
mov edx, dword [0x41fcb8]
mov word [edx + 2], 2
mov eax, dword [0x41fcb8]
mov word [eax], 4
mov ecx, dword [0x4207c0]
push ecx
call fcn.00411940
mov edx, dword [0x41fcb8]
mov dword [edx + 0x1c], eax
mov eax, dword [0x4207c0]
mov ecx, dword [0x41fcb8]
add esp, 8
add eax, 3
pop edi
sar eax, 2
mov dword [ecx + 8], eax
mov edx, dword [0x41fcb8]
pop esi
pop ebp
mov dword [0x4206b4], eax
mov dword [edx + 0xc], 0
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408ca0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a640
mov ecx, dword [0x41fafc]
mov edx, dword [0x420654]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409580
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov eax, dword [0x420004]
push eax
mov dword [0x41fcb8], eax
call fcn.00408030
push 0
mov dword [0x41fcb4], eax
call fcn.00408c00
push 0xffffffffffffffff
mov dword [0x4206b4], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41fcb0], eax
jne 0x40a615
mov ecx, dword [0x4206b4]
test ecx, ecx
jl 0x409de3
jne 0x4095f6
mov ecx, dword [0x41fcb4]
mov dword [0x4206b4], ecx
mov edx, dword [0x41fb18]
push eax
mov eax, dword [0x41fcb8]
push ecx
mov ecx, dword [eax + 0x1c]
cmp edx, 0x18
mov edx, dword [0x420654]
push ecx
push edx
jne 0x40961a
call fcn.00411970
jmp 0x40961f
call fcn.00403c60
add esp, 0x10
cmp eax, 0xffffffff
mov dword [0x41fcb4], eax
jne 0x409c9b
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 8
ret
call fcn.00408ca0
mov ecx, dword [0x41fafc]
mov edx, dword [0x420654]
mov edi, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409650
call fcn.00408ca0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a640
mov eax, dword [0x41fafc]
mov ecx, dword [0x420654]
push eax
push ecx
call fcn.00403e10
add esp, 8
test eax, eax
je 0x40a631
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 8
ret
pop edi
pop esi
pop ebp
mov dword [0x41facc], 0xfffffffb
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408ca0
mov ecx, dword [0x41fafc]
mov edx, dword [0x420654]
jmp 0x4096c0
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4096c0
push 0x41a2f9
call fcn.00408d00
mov ecx, dword [0x41fafc]
add esp, 4
cmp ecx, eax
je 0x4096e4
mov byte [ecx], 0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a640
pop edi
pop esi
pop ebp
mov dword [0x41facc], 0xfffffffc
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov edx, dword [0x420004]
mov word [edx], 4
mov eax, dword [0x420004]
push 0x64
mov dword [0x41fcb8], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x4206b4], eax
jne 0x40a615
test eax, eax
jne 0x409758
pop edi
pop esi
pop ebp
mov eax, 0x13
pop ebx
add esp, 8
ret
call fcn.00412d8c
cdq
idiv dword [0x4206b4]
mov ecx, dword [0x41faa0]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov dword [ecx], edx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov edx, dword [0x420004]
push 0
mov dword [0x41fcb8], edx
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x4206b4], eax
jne 0x40a615
mov ecx, dword [0x41fcb8]
cmp word [ecx], 2
je 0x40a631
test eax, eax
mov word [ecx], 2
je 0x409851
test al, 0x10
mov edx, dword [str._05d]
mov ecx, dword [0x41fafc]
mov dword [ecx], edx
mov dl, byte [0x41a3e4]
mov byte [ecx + 4], dl
je 0x4097f3
mov ecx, dword [0x41fafc]
mov byte [ecx + 3], 0x78
mov edx, eax
and edx, 0xf
and al, 0xf
cmp dl, 9
jle 0x409829
mov ecx, dword [0x41fafc]
mov byte [ecx + 2], 0x31
mov edx, dword [0x41fafc]
add al, 0x26
mov byte [edx + 3], al
mov eax, dword [0x41fafc]
mov byte [eax + 4], 0x64
mov ecx, dword [0x41fafc]
mov byte [ecx + 5], 0
jmp 0x409834
mov edx, dword [0x41fafc]
add al, 0x30
mov byte [edx + 2], al
mov eax, dword [0x41faa0]
mov ecx, dword [eax]
mov edx, dword [0x41fafc]
mov eax, dword [0x420654]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
jmp 0x409868
mov ecx, dword [0x420654]
mov edx, dword [0x41faa0]
mov eax, dword [edx]
push 0xa
push ecx
push eax
call fcn.0041242b
mov ecx, dword [0x420654]
mov edx, dword [0x41faa0]
add esp, 0xc
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409877
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408320
mov ecx, eax
test ecx, ecx
mov dword [0x41faa0], ecx
je 0x40a5c9
mov eax, dword [0x420004]
cmp word [eax], 4
je 0x40a631
mov word [eax], 4
cmp byte [ecx], 0x24
jne 0x4098e8
mov al, byte [ecx + 1]
xor esi, esi
test al, al
je 0x4098dc
lea edi, [ecx + 2]
call fcn.00407f10
shl esi, 4
add esi, eax
mov al, byte [edi]
inc edi
test al, al
jne 0x4098c5
mov ecx, dword [0x41faa0]
pop edi
mov dword [ecx], esi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
push ecx
call fcn.004123e8
mov ecx, dword [0x41faa0]
add esp, 4
pop edi
pop esi
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 8
ret
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x4206b4], eax
jne 0x40a615
pop edi
pop esi
pop ebp
mov dword [0x41fabc], eax
mov dword [0x41faf8], ecx
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov edx, dword [0x420004]
mov dword [0x41fcb8], edx
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov eax, dword [0x41fcb8]
push eax
call fcn.00408000
mov ecx, dword [0x41fcb8]
mov word [ecx + 2], 1
mov edx, dword [0x420004]
mov ax, word [edx]
mov ecx, dword [0x41fcb8]
mov edx, dword [0x41faa0]
add esp, 4
pop edi
mov word [ecx], ax
mov eax, dword [0x41fcb8]
pop esi
pop ebp
mov dword [eax + 0x1c], edx
xor eax, eax
pop ebx
add esp, 8
ret
push 0
call fcn.00408c00
push 0xffffffffffffffff
mov dword [0x4206b4], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41fcb4], eax
jne 0x40a615
mov ecx, dword [0x4206b4]
add ecx, 0x10000
push eax
mov dword [0x41facc], ecx
call fcn.0040f5d0
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x4206b4], eax
jne 0x40a615
mov edx, dword [0x41faa0]
add edx, eax
mov dword [0x41fa90], edx
call fcn.00408850
test eax, eax
mov dword [0x42061c], eax
je 0x409a4b
cmp eax, 0xffffffff
jne 0x40a640
cmp dword [0x41fac8], 2
jne 0x409a88
mov ecx, dword [0x41fafc]
mov eax, ecx
lea esi, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x409a60
mov edx, dword [0x41fa90]
sub eax, esi
mov dword [0x41fad0], eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409a74
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp dword [0x41fb18], 0x22
jne 0x409aa8
mov al, byte [0x4207c0]
mov ecx, dword [0x41fa90]
pop edi
pop esi
pop ebp
mov byte [ecx], al
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [0x41fa90]
mov dx, word [0x4207c0]
pop edi
pop esi
pop ebp
mov word [eax], dx
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov ecx, dword [0x420004]
mov dword [0x41fcb8], ecx
mov dword [0x41fccc], eax
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x4206b4], eax
jne 0x40a615
mov edx, dword [0x41faa0]
mov ecx, dword [0x41fb18]
add eax, edx
cmp ecx, 0x27
mov dword [0x420010], eax
jne 0x409bb2
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41fcb4], eax
jne 0x40a615
mov ecx, dword [0x41fcb8]
mov word [ecx], 2
mov ecx, dword [0x420010]
cmp byte [ecx], 0
jne 0x409b82
mov edx, dword [0x41fccc]
pop edi
pop esi
pop ebp
mov dword [edx], 0
mov dword [0x41fad0], 0
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408d50
push eax
mov eax, dword [0x41fccc]
push eax
push ecx
call fcn.00408d60
mov ecx, dword [0x420014]
add esp, 0xc
pop edi
pop esi
pop ebp
mov dword [0x41fae8], eax
mov dword [0x41fad0], ecx
xor eax, eax
pop ebx
add esp, 8
ret
mov edx, dword [0x41fcb8]
cmp word [edx], 2
jne 0x409bda
mov edx, dword [0x41fccc]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x409bc6
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp ecx, 0x23
jne 0x409bf4
movzx eax, byte [eax]
mov ecx, dword [0x41fccc]
pop edi
pop esi
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 8
ret
movzx edx, word [eax]
mov eax, dword [0x41fccc]
pop edi
pop esi
pop ebp
mov dword [eax], edx
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov ecx, dword [0x420004]
mov word [ecx], 4
mov edx, dword [0x420004]
mov dword [0x41fcb8], edx
mov dword [0x41fccc], eax
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov ecx, dword [0x420004]
cmp word [ecx], 2
jne 0x409de3
lea edx, [eax + 1]
jmp 0x409c60
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409c60
pop edi
sub eax, edx
mov edx, dword [0x41fccc]
pop esi
pop ebp
mov dword [edx], eax
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408ca0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a640
mov eax, dword [0x41fafc]
push eax
call fcn.00403d90
add esp, 4
pop edi
pop esi
pop ebp
mov dword [0x41fad0], eax
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov ecx, dword [0x420004]
mov word [ecx], 2
mov edx, dword [0x420004]
push edx
mov dword [0x41fa90], eax
call fcn.00408030
add esp, 4
mov dword [0x41faac], eax
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
push 0
mov dword [0x420010], eax
call fcn.00408c00
push 0
mov dword [0x4206b4], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41fcb4], eax
jne 0x40a615
mov ecx, dword [0x4206b4]
test ecx, ecx
mov esi, dword [0x420010]
jge 0x409d50
mov ecx, esi
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x409d35
sub ecx, edi
sub ecx, eax
mov dword [0x4206b4], ecx
jns 0x409d50
xor ecx, ecx
mov dword [0x4206b4], ecx
add esi, ecx
mov ecx, dword [0x41faac]
cmp ecx, eax
mov dword [0x420010], esi
jge 0x409d69
mov eax, ecx
mov dword [0x41fcb4], eax
mov edx, dword [0x41fa90]
xor edi, edi
test eax, eax
jle 0x409d96
mov cl, byte [esi]
inc esi
mov byte [edx], cl
inc edx
test cl, cl
mov byte [0x41fb20], cl
je 0x409d8a
inc edi
cmp edi, eax
jl 0x409d75
mov dword [0x41fa90], edx
mov dword [0x420010], esi
pop edi
pop esi
pop ebp
mov byte [edx], 0
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov ecx, dword [0x420004]
mov word [ecx], 4
mov dword [0x41fccc], eax
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov edx, dword [0x420004]
cmp word [edx], 2
je 0x409df0
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 8
ret
call fcn.00408ca0
mov ecx, dword [0x41fafc]
mov edx, dword [0x420654]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409e01
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x4206b4], eax
jne 0x40a615
mov ecx, dword [0x41faa0]
mov edx, dword [0x41fafc]
lea esi, [ecx + eax]
push edx
push esi
call fcn.00411a50
add esp, 8
test eax, eax
jne 0x409e5a
mov eax, dword [0x41fccc]
pop edi
pop esi
pop ebp
mov dword [eax], 0xffffffff
xor eax, eax
pop ebx
add esp, 8
ret
mov ecx, dword [0x41fccc]
pop edi
sub eax, esi
pop esi
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408bb0
test eax, eax
mov dword [0x42061c], eax
jne 0x40a640
mov esi, dword [0x41fff4]
shl esi, 4
add esi, 0x41fbb0
call fcn.00408820
mov eax, dword [esi + 4]
inc eax
push eax
mov dword [0x41fcb4], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x4206b4], eax
jne 0x40a615
mov edx, dword [0x41ffe8]
dec eax
pop edi
mov dword [esi + 4], eax
pop esi
pop ebp
mov dword [0x41fae0], edx
mov dword [0x42064c], 0x12
mov dword [0x41fadc], 8
mov dword [0x41fde0], ecx
xor eax, eax
pop ebx
add esp, 8
ret
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0x7d00
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov eax, dword [0x420004]
push 0
mov dword [0x41fcb8], eax
call fcn.00408c00
mov dword [0x4206b4], eax
mov eax, dword [0x41fa9c]
add esp, 4
test eax, eax
jne 0x40a640
mov ecx, dword [0x41fcb8]
push ecx
call fcn.00408000
mov eax, dword [0x4206b4]
add esp, 4
cmp eax, 0x40
jge 0x409fec
test al, 0x10
mov ecx, dword [0x420650]
je 0x409fbc
mov edx, eax
and edx, 7
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*4]
shl ecx, 2
test al, 8
mov esi, dword [ecx + 0x420040]
je 0x409f7c
mov dword [esp + 0x10], 2
test al, 0x20
mov dx, word [esp + 0x10]
mov word [esi], dx
je 0x409faa
mov edi, dword [0x41fcb8]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x41fcb8]
pop edi
pop esi
pop ebp
mov word [eax + 2], 1
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [ecx + 0x420018]
mov ecx, dword [esi + 8]
shl ecx, 2
mov dword [esp + 0x14], ecx
jmp 0x40a01c
test al, 0x20
je 0x409fda
and eax, 0xf
lea edx, [ecx + ecx*2]
lea eax, [eax + edx*4]
mov eax, dword [eax*4 + 0x420018]
mov dword [esp + 0x10], 2
jmp 0x40a01c
and eax, 0xf
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*4]
lea eax, [eax*4 + 0x420018]
jmp 0x40a01c
test ah, 4
je 0x40a009
mov ecx, dword [0x420650]
and eax, 7
lea edx, [ecx + ecx*2]
lea eax, [eax + edx*4]
mov eax, dword [eax*4 + 0x420040]
jmp 0x40a01c
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x18]
push edx
push eax
call fcn.004049f0
add esp, 0xc
mov ecx, dword [0x41fcb8]
mov word [ecx + 2], 1
mov edx, dword [0x41fcb8]
mov dword [edx + 0x1c], eax
mov eax, dword [0x41fcb8]
mov cx, word [esp + 0x10]
mov word [eax], cx
mov edx, dword [esp + 0x14]
mov eax, dword [0x41fcb8]
pop edi
sar edx, 2
mov dword [eax + 8], edx
mov ecx, dword [0x41fcb8]
pop esi
pop ebp
mov dword [ecx + 0xc], 0
xor eax, eax
pop ebx
add esp, 8
ret
push 0
call fcn.00408c00
push 0xffffffffffffffff
mov dword [0x4206b4], eax
call fcn.00408c00
mov dword [0x41fcb4], eax
mov eax, dword [0x41fa9c]
add esp, 8
test eax, eax
je 0x40a631
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00408ca0
mov eax, dword [0x41fa9c]
test eax, eax
je 0x40a631
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov edx, dword [0x420004]
push edx
mov dword [esp + 0x18], eax
call fcn.00408030
add esp, 4
mov edi, eax
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov eax, dword [0x420004]
push eax
call fcn.00408030
push 0
mov ebx, eax
call fcn.00408c00
push 0
mov dword [0x4206b4], eax
call fcn.00408c00
push 0
mov dword [0x41fcb4], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0x10
test ecx, ecx
mov dword [0x41fcb0], eax
jne 0x40a615
mov ecx, dword [0x41faa0]
mov edx, dword [0x41fcb4]
lea esi, [eax + ecx]
mov ecx, dword [0x4206b4]
lea ebp, [edx + ecx]
cmp ebp, edi
mov dword [0x41fab8], esi
jg 0x40a35d
add eax, ecx
cmp eax, ebx
jg 0x40a35d
test ecx, ecx
jle 0x40a631
mov eax, dword [esp + 0x14]
lea edi, [edx + eax]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov edi, eax
mov eax, dword [0x420004]
push eax
call fcn.00408030
push 0
mov esi, eax
call fcn.00408c00
push 0
mov dword [0x4206b4], eax
call fcn.00408c00
push 0
mov dword [0x41fcb4], eax
call fcn.00408c00
mov edx, eax
mov eax, dword [0x41fa9c]
add esp, 0x10
test eax, eax
mov dword [0x41fcb0], edx
jne 0x40a640
mov ecx, dword [0x41fcb4]
lea eax, [edx + ecx]
cmp eax, esi
jg 0x40a35d
test ecx, ecx
jle 0x40a631
mov al, byte [0x4206b4]
mov bl, al
mov bh, bl
add edi, edx
mov edx, ecx
shr ecx, 2
mov eax, ebx
shl eax, 0x10
mov ax, bx
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
je 0x40a5c9
mov ecx, dword [0x420004]
mov word [ecx], 2
mov edx, dword [0x420004]
mov esi, dword [edx + 0xc]
mov dword [0x420624], ecx
xor ecx, ecx
test esi, esi
sete cl
pop edi
pop esi
pop ebp
mov dword [0x41fcc4], eax
xor eax, eax
pop ebx
mov dword [0x41fac4], ecx
add esp, 8
ret
call fcn.00408ca0
mov edx, dword [0x420654]
nop
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x40a270
push 0xffffffffffffffff
call fcn.00408c00
push 0
mov dword [0x4206b4], eax
call fcn.00408c00
mov dword [0x41fcb4], eax
mov eax, dword [0x41fa9c]
add esp, 8
test eax, eax
jne 0x40a640
mov ebx, dword [0x41fcc4]
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a2b0
sub eax, edx
mov edx, eax
mov eax, dword [0x420654]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a2c3
sub eax, esi
lea esi, [eax + edx + 1]
mov eax, dword [0x41fac4]
test eax, eax
mov dword [0x41fad0], esi
je 0x40a34d
mov edi, dword [0x420624]
push edi
call fcn.00408030
add esp, 4
cmp esi, eax
mov dword [0x41fcb0], eax
jl 0x40a321
lea eax, [esi + 0x7fff]
and eax, 0xffff8000
push 1
push eax
push edi
mov dword [0x41fad0], eax
call fcn.00408070
mov eax, dword [0x420624]
mov ebx, dword [eax + 0x1c]
add esp, 0xc
mov dword [0x41fcc4], ebx
mov eax, dword [0x41fcb4]
mov ecx, dword [0x4206b4]
mov edx, dword [0x420654]
push eax
push ecx
push edx
push ebx
call fcn.004117f0
add esp, 0x10
pop edi
pop esi
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 8
ret
mov ecx, dword [0x420624]
mov edx, dword [ecx + 8]
shl edx, 2
cmp esi, edx
jl 0x40a321
pop edi
pop esi
pop ebp
mov eax, 0x14
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x4206b4], eax
je 0x40a5c9
push 2
call fcn.00407f40
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41fcb4], eax
jne 0x40a615
mov ecx, dword [0x41fcc4]
push eax
mov eax, dword [0x4206b4]
push eax
push ecx
call fcn.00411740
add esp, 0xc
pop edi
pop esi
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x4206b4], eax
je 0x40a5c9
cmp dword [0x41fff0], 4
je 0x40a3ed
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 8
ret
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a640
mov edx, dword [0x41fcc4]
push edx
call fcn.004117a0
mov ecx, dword [0x4206b4]
add esp, 4
pop edi
pop esi
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 8
ret
push 0
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x4206b4], eax
jne 0x40a615
mov edx, dword [0x41fcc4]
push 1
push eax
push 0x41a2f9
push edx
call fcn.004117f0
add esp, 0x10
pop edi
pop esi
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408ca0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a640
mov ecx, dword [0x41fafc]
mov edx, dword [0x420654]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40a480
push 0xffffffffffffffff
call fcn.00408c00
mov dword [0x4206b4], eax
mov eax, dword [0x41fa9c]
add esp, 4
test eax, eax
jne 0x40a640
mov eax, dword [0x420654]
push eax
call fcn.00403d90
mov esi, eax
add esp, 4
test esi, esi
mov dword [0x41fad0], esi
jl 0x40a5ae
mov eax, dword [0x4206b4]
test eax, eax
jl 0x40a4d9
cmp esi, eax
jl 0x40a4d9
mov esi, eax
mov dword [0x41fad0], esi
mov eax, dword [0x41fac4]
test eax, eax
je 0x40a51b
mov edi, dword [0x420624]
push edi
call fcn.00408030
add esp, 4
cmp esi, eax
mov dword [0x41fcb4], eax
jl 0x40a51b
push 0
push esi
push edi
call fcn.00408070
mov ecx, dword [0x420624]
mov edx, dword [ecx + 0x1c]
mov esi, dword [0x41fad0]
add esp, 0xc
mov dword [0x41fcc4], edx
mov eax, dword [0x41fcc4]
mov ecx, dword [0x420654]
push 0
push esi
push eax
push ecx
call fcn.00403c60
mov eax, dword [0x41fcc4]
mov edx, dword [0x41fad0]
add esp, 0x10
pop edi
pop esi
pop ebp
mov byte [eax + edx], 0
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408ca0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a640
mov ecx, dword [0x41fafc]
mov edx, dword [0x420654]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40a570
mov edx, dword [0x41fcc4]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a585
mov ecx, dword [0x420654]
push 0xffffffffffffffff
sub eax, esi
push eax
push edx
push ecx
call fcn.00411970
add esp, 0x10
test eax, eax
mov dword [0x41fad0], eax
jge 0x40a631
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 8
ret
call fcn.00408320
test eax, eax
mov dword [0x41faa0], eax
jne 0x40a5d6
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 8
ret
mov edx, dword [0x420004]
push edx
mov esi, eax
call fcn.00408030
push 0
mov dword [0x41fcb0], eax
call fcn.00408c00
mov ecx, dword [0x41fcb0]
sub ecx, eax
push ecx
mov dword [0x4206b4], eax
call fcn.00408c00
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41fcb4], eax
je 0x40a61f
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 8
ret
mov edx, dword [0x4206b4]
push eax
add edx, esi
push edx
call fcn.00403b30
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
push esi
call fcn.00408320
mov esi, eax
test esi, esi
mov dword [0x41faa0], esi
jne 0x40a749
mov eax, 0x100
pop esi
ret
mov eax, dword [0x420004]
mov dword [0x41fcb8], eax
mov eax, dword [0x41fadc]
test eax, eax
je 0x40a763
mov eax, 2
pop esi
ret
mov eax, dword [0x42064c]
cmp eax, 0x2b
push edi
jne 0x40a81d
call fcn.00408120
mov eax, dword [0x41fadc]
test eax, eax
jne 0x40a78f
mov eax, dword [0x42064c]
cmp eax, 0x3d
jne 0x40a7bc
call fcn.00408120
mov dword [0x41fff8], 0
call fcn.00408850
test eax, eax
mov dword [0x42061c], eax
jne 0x40a7b9
mov eax, dword [0x41fac8]
test eax, eax
jne 0x40a7cd
mov eax, dword [0x41faa0]
inc dword [eax]
xor eax, eax
pop edi
pop esi
ret
cmp eax, 0x2b
jne 0x40a78f
inc dword [esi]
call fcn.00408120
pop edi
xor eax, eax
pop esi
ret
cmp eax, 1
jne 0x40a7e8
mov eax, dword [0x41faa0]
mov edx, dword [eax]
mov ecx, dword [0x4207c0]
add edx, ecx
pop edi
mov dword [eax], edx
xor eax, eax
pop esi
ret
mov eax, dword [0x41fafc]
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a7f0
mov edi, dword [0x41faa0]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40a800
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
xor eax, eax
pop esi
ret
cmp eax, 0x2d
jne 0x40a893
call fcn.00408120
mov eax, dword [0x41fadc]
test eax, eax
jne 0x40a83f
mov eax, dword [0x42064c]
cmp eax, 0x3d
jne 0x40a873
call fcn.00408120
mov dword [0x41fff8], 0
call fcn.00408850
test eax, eax
mov dword [0x42061c], eax
jne 0x40a7b9
mov eax, dword [0x41fac8]
test eax, eax
mov eax, dword [0x41faa0]
mov ecx, dword [eax]
jne 0x40a884
dec ecx
pop edi
mov dword [eax], ecx
xor eax, eax
pop esi
ret
cmp eax, 0x2d
jne 0x40a83f
dec dword [esi]
call fcn.00408120
pop edi
xor eax, eax
pop esi
ret
mov edx, dword [0x4207c0]
sub ecx, edx
pop edi
mov dword [eax], ecx
xor eax, eax
pop esi
ret
cmp eax, 0x3d
je 0x40a8a0
pop edi
mov eax, 2
pop esi
ret
call fcn.00408120
mov dword [0x41fff8], 0
call fcn.00408850
test eax, eax
mov dword [0x42061c], eax
jne 0x40a7b9
cmp dword [0x41fac8], 1
mov eax, dword [0x41fcb8]
jne 0x40a8f0
mov ecx, dword [0x41faa0]
mov word [eax], 4
mov edx, dword [0x4207c0]
mov dword [ecx], edx
cmp dword [0x41fff8], 0xffffffff
jne 0x40a918
pop edi
xor eax, eax
pop esi
ret
mov edx, dword [0x41faa0]
mov word [eax], 2
mov ecx, dword [0x41fafc]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40a901
cmp dword [0x41fff8], 0xffffffff
je 0x40a7b7
mov eax, dword [0x41fcb8]
movsx edi, word [eax]
cmp edi, 2
mov esi, 4
jne 0x40a932
mov esi, dword [eax + 8]
shl esi, 2
jmp 0x40a937
mov edi, 1
call fcn.00408850
test eax, eax
mov dword [0x42061c], eax
jne 0x40a989
mov eax, dword [0x41fac8]
cmp eax, edi
jne 0x40a997
mov edx, dword [0x41faa0]
add edx, esi
cmp eax, 1
mov dword [0x41faa0], edx
jne 0x40a96b
mov ecx, dword [0x4207c0]
mov dword [edx], ecx
jmp 0x40a97b
mov ecx, dword [0x41fafc]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40a971
call fcn.00408850
test eax, eax
mov dword [0x42061c], eax
je 0x40a945
xor edx, edx
cmp eax, 0xffffffff
sete dl
pop edi
pop esi
dec edx
and eax, edx
ret
pop edi
mov eax, 6
pop esi
ret
push esi
mov esi, dword [0x42064c]
push edi
mov dword [0x41fb18], esi
call fcn.00408820
mov edx, dword [0x41faa8]
lea edi, [esi - 0x10]
shl edi, 4
add edi, edx
xor eax, eax
mov al, byte [edi + 4]
and eax, 0xf
jne 0x40b04c
push 0
call fcn.00408c00
add esp, 4
mov dword [0x4206b4], eax
jmp 0x40b096
cmp eax, 1
jne 0x40b078
call fcn.00408320
test eax, eax
mov dword [0x4206b4], eax
je 0x40b0c2
mov eax, dword [0x420650]
mov ecx, dword [0x420004]
lea eax, [eax + eax*2]
shl eax, 4
mov dword [eax + 0x420070], ecx
jmp 0x40b096
call fcn.00408ca0
mov edx, 0x41fde8
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x40b082
mov dword [0x4206b4], 0x41fde8
xor eax, eax
mov al, byte [edi + 4]
sar eax, 4
and eax, 0xf
jne 0x40b0af
push 0
call fcn.00408c00
add esp, 4
jmp 0x40b0ff
cmp eax, 1
jne 0x40b0e4
call fcn.00408320
test eax, eax
mov dword [0x41fcb4], eax
jne 0x40b0ca
pop edi
mov eax, 0x100
pop esi
ret
mov ecx, dword [0x420650]
mov esi, dword [0x420004]
lea edx, [ecx + ecx*2]
shl edx, 4
mov dword [edx + 0x420074], esi
jmp 0x40b10a
call fcn.00408ca0
mov edx, 0x41fcd8
mov edi, edi
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x40b0f0
mov eax, 0x41fcd8
mov ecx, dword [0x420650]
mov dword [0x41fcb4], eax
cmp ecx, 0x20
jl 0x40b117
pop edi
mov eax, 9
pop esi
ret
mov esi, dword [0x4206b4]
inc ecx
lea edx, [ecx + ecx*2]
shl edx, 4
mov dword [edx + 0x420018], esi
mov dword [edx + 0x42001c], eax
mov eax, dword [0x41fa9c]
test eax, eax
mov dword [0x420650], ecx
jne 0x40b1c0
mov esi, 2
cmp word [edi + 6], si
jle 0x40b194
mov edi, edi
call fcn.00408850
test eax, eax
mov dword [0x42061c], eax
jg 0x40b1c0
mov eax, dword [0x41fac8]
test eax, eax
jne 0x40b16e
mov dword [0x4207c0], eax
jmp 0x40b173
cmp eax, 1
jne 0x40b1bb
mov ecx, dword [0x420650]
lea eax, [ecx + ecx*2]
lea edx, [esi + eax*4]
mov eax, dword [0x4207c0]
mov dword [edx*4 + 0x420018], eax
movsx edx, word [edi + 6]
inc esi
cmp esi, edx
jl 0x40b150
mov eax, dword [0x41fddc]
mov edx, dword [0x41fcc0]
mov dword [ecx*4 + 0x41fb24], eax
mov ecx, dword [edi + 0xc]
lea eax, [edx + ecx*2]
mov dword [0x41fae0], eax
call fcn.00408120
pop edi
xor eax, eax
pop esi
ret
mov eax, 6
pop edi
pop esi
ret
mov eax, dword [0x41fadc]
add eax, 0xfffffffc
cmp eax, 0xb
ja case.0x40b27d.5
jmp dword [eax*4 + 0x40b2c8]
jmp 0x40a730
call fcn.00408820
mov eax, 0x12
ret
jmp 0x408ea0
jmp 0x404a60
jmp 0x407850
jmp 0x408e00
jmp 0x40b010
mov dword [0x41facc], 0xffffffff
xor eax, eax
ret
call fcn.00408820
mov eax, 1
ret