Function at 0x40b460
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 [0x4206c8]
sub esp, 0x4a8
push ebx
push ebp
push esi
push edi
mov dword [0x41f3e8], eax
call fcn.00408990
mov eax, dword [0x41f3e8]
cmp eax, 0x67
ja case.0x404b57.1
jmp dword [eax*4 + 0x407550]
call fcn.00408e10
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
call fcn.00408d20
test eax, eax
mov dword [0x420634], eax
jne 0x407542
mov ecx, dword [0x4206c8]
mov edx, dword [0x41fb14]
mov eax, dword [0x41f520]
push ecx
push edx
push eax
call fcn.004014a0
add esp, 0xc
mov dword [0x41fae8], eax
call fcn.00408270
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408e10
push 0xffffffffffffffff
mov dword [0x41e3cc], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ce2
test eax, eax
jge 0x404c04
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, 0x4a8
ret
mov ecx, dword [0x41f520]
mov eax, dword [ecx + eax*4 + 0xa4]
test eax, eax
je 0x406d0c
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, 0x4a8
ret
mov eax, dword [0x41f520]
mov ecx, dword [eax + 0x6c]
push ecx
call fcn.00408d70
mov edx, dword [0x41f520]
mov dword [0x41f530], eax
mov eax, dword [edx + 0x70]
push eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ce2
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, 0x4a8
ret
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ce2
push eax
mov eax, dword [0x41f520]
push eax
call fcn.004022d0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408e10
mov edx, dword [0x4206d0]
mov dword [0x41e3cc], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x404cd6
push 0xc
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
mov dword [0x41f508], eax
mov eax, dword [0x41fa9c]
add esp, 8
test eax, eax
mov dword [0x41f504], 0
jne 0x407542
mov ecx, dword [0x41f520]
push ecx
call fcn.004019e0
mov edx, dword [0x41f504]
mov eax, dword [0x41f508]
mov ecx, dword [0x41f530]
push edx
mov edx, dword [0x4206d0]
push eax
mov eax, dword [0x41f520]
push ecx
push edx
push eax
call fcn.00401a70
add esp, 0x18
jmp 0x405b63
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ce2
mov ecx, dword [0x41f520]
push eax
push ecx
call fcn.00401b60
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0x40
call fcn.00408d70
push 0x18
mov dword [0x41f530], eax
call fcn.00408d70
push 0
mov dword [0x41f508], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41f504], eax
jne 0x406ce2
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, 0x4a8
ret
call fcn.00408e10
mov edx, dword [0x4206d0]
mov dword [0x41e3cc], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x404df5
push 0
call fcn.00408d70
push 0
mov dword [0x41f504], eax
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ce2
mov ecx, dword [0x41f504]
test ecx, ecx
jne 0x404e6c
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 0x44]
push edx
mov edx, dword [ecx + 0x48]
push edx
mov edx, dword [0x4206d0]
push eax
mov eax, dword [0x41f530]
push eax
push edx
push ecx
call fcn.00403460
mov dword [0x41facc], 1
jmp 0x404e8a
mov ecx, dword [0x4206d0]
mov edx, dword [0x41f520]
push 0
push 0
push eax
mov eax, dword [0x41f530]
push eax
push ecx
push edx
call fcn.00403460
add esp, 0x18
test eax, eax
mov dword [0x41f50c], eax
je case.0x404b57.18
pop edi
pop esi
pop ebp
mov eax, 0xd
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
push 0
mov dword [0x41f508], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41f504], eax
jne 0x406ce2
mov ecx, dword [0x41f530]
mov edx, dword [0x41f520]
push eax
mov eax, dword [0x41f508]
push eax
push ecx
push edx
call fcn.00401bb0
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ce2
push ecx
push eax
mov eax, dword [0x41f520]
push 0xffffffffffffffff
push eax
call fcn.00401bb0
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
push 0
mov dword [0x41f508], eax
call fcn.00408d70
push 0
mov dword [0x41f504], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0x10
test ecx, ecx
mov dword [0x41f534], eax
jne 0x406ce2
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.00401e60
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
push ebx
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
push 0
mov dword [0x41f508], eax
call fcn.00408d70
push 0
mov dword [0x41f504], eax
call fcn.00408d70
push 0
mov dword [0x41f534], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0x14
test ecx, ecx
mov dword [0x41f3e4], eax
jne 0x406ce2
mov ecx, dword [0x41f520]
cmp dword [ecx + 0x44], ebx
je case.0x404b57.18
mov edx, dword [0x41f530]
test edx, edx
jne 0x405046
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, 0x4a8
ret
cmp edx, 2
jge 0x405086
mov edx, dword [0x41f534]
test edx, edx
mov word [ecx + 0x4e], bx
je 0x405077
test eax, eax
je 0x405077
push eax
mov eax, dword [0x41f508]
push edx
mov edx, dword [0x41f504]
push edx
push eax
push ecx
call fcn.00402200
add esp, 0x14
jmp 0x405080
push ecx
call fcn.004021c0
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, 0x4a8
ret
push 0xffffffffffffffff
call fcn.00408d70
push 0xffffffffffffffff
mov dword [0x41f530], eax
call fcn.00408d70
push 0xffffffffffffffff
mov dword [0x41f508], eax
call fcn.00408d70
push 0xffffffffffffffff
mov dword [0x41f504], eax
call fcn.00408d70
mov dword [0x41f534], eax
mov eax, dword [0x41fa9c]
add esp, 0x10
test eax, eax
jne 0x407542
mov eax, dword [0x41f520]
cmp dword [eax + 0x44], 5
jne 0x40514c
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 0x405110
mov ecx, dword [esp + 0x28]
inc ecx
mov dword [0x41f530], ecx
mov eax, dword [0x41f508]
test eax, eax
jge 0x405123
mov eax, dword [esp + 0x2c]
inc eax
mov dword [0x41f508], eax
push eax
mov eax, dword [0x41f520]
push ecx
push eax
call fcn.0040ff60
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.00401fe0
add esp, 0x14
pop edi
pop esi
pop ebp
mov dword [0x41facc], 1
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
mov dword [0x41f508], eax
mov eax, dword [0x41fa9c]
add esp, 8
test eax, eax
jne 0x407542
mov eax, dword [0x41f530]
push eax
call fcn.0040f8a0
add esp, 4
test eax, eax
je 0x406d0c
mov ecx, dword [0x41f530]
push ecx
call fcn.0040f890
mov ecx, dword [0x41f508]
mov edx, dword [0x41f530]
add esp, 4
test ecx, ecx
mov dword [0x41f520], eax
mov dword [0x41f500], edx
jge 0x405209
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, 0x4a8
ret
jle case.0x404b57.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, 0x4a8
ret
push 1
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
push 0
mov dword [0x41f508], eax
call fcn.00408d70
mov edx, dword [0x41f520]
mov dword [0x41f504], eax
mov eax, dword [edx + 0x84]
push eax
call fcn.00408d70
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 0x88]
push edx
mov dword [0x41f534], eax
call fcn.00408d70
mov dword [0x41f3e4], eax
mov eax, dword [0x41fa9c]
add esp, 0x14
test eax, eax
jne 0x407542
mov eax, dword [0x41f530]
push eax
call fcn.0040f8a0
add esp, 4
test eax, eax
je 0x406d0c
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.0040f890
mov edx, dword [0x41f520]
add esp, 4
push eax
push edx
call fcn.00402d80
add esp, 0x1c
test eax, eax
je case.0x404b57.18
pop edi
pop esi
pop ebp
mov eax, 0x15
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
push 1
mov dword [0x41f508], eax
call fcn.00408d70
push 0
mov dword [0x41f504], eax
call fcn.00408d70
push 0
mov dword [0x41f534], eax
call fcn.00408d70
mov dword [0x41f3e4], eax
mov eax, dword [0x41f520]
mov ecx, dword [eax + 0x84]
push ecx
call fcn.00408d70
mov edx, dword [0x41f520]
mov dword [0x41e2ac], eax
mov eax, dword [edx + 0x88]
push eax
call fcn.00408d70
mov dword [0x41f524], eax
mov eax, dword [0x41fa9c]
add esp, 0x1c
test eax, eax
jne 0x407542
mov ecx, dword [0x41f504]
push ecx
call fcn.0040f8a0
add esp, 4
test eax, eax
je 0x406d0c
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.0040f890
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.00402e10
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
push 0x20
mov dword [0x41f530], eax
call fcn.00408d70
push 0x20
mov dword [0x41f508], eax
call fcn.00408d70
push 0
mov dword [0x41f504], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0x10
test ecx, ecx
mov dword [0x41f534], eax
jne 0x406ce2
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, 0x4a8
ret
call fcn.00408e10
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ce2
push eax
mov eax, dword [0x41f520]
push eax
call fcn.00402590
add esp, 8
jmp 0x4055bf
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ce2
test eax, eax
je 0x4054ed
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, 0x4a8
ret
call fcn.00408470
test eax, eax
mov dword [0x41f530], eax
je 0x406c4b
mov ebx, 1
push ebx
mov dword [0x41f528], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ce2
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, 0x4a8
ret
call fcn.00408e10
mov edx, dword [0x4206d0]
mov dword [0x41e3cc], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405576
push 0
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ce2
mov ecx, dword [0x4206d0]
push eax
mov eax, dword [0x41f530]
push eax
push ecx
call fcn.00411570
add esp, 0xc
test eax, eax
mov dword [0x41f50c], eax
je case.0x404b57.18
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
mov dword [0x41f530], eax
mov eax, dword [0x41fa9c]
add esp, 4
test eax, eax
jne 0x407542
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.00411460
mov eax, dword [0x41f530]
push eax
call fcn.00411730
add esp, 0x18
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408e10
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ce2
push eax
call fcn.00411420
add esp, 4
mov dword [0x41fae8], eax
call fcn.00411450
mov edx, 0x41e3e0
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x405661
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408470
test eax, eax
mov dword [0x41f530], eax
je 0x406c4b
cmp dword [0x420008], 2
mov esi, dword [0x42001c]
jne 0x4056bc
mov edx, dword [0x4206d0]
mov dword [0x41f50c], 2
mov ecx, eax
jmp 0x4056b0
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4056b0
jmp 0x4056da
mov ecx, dword [0x4206d0]
mov edx, dword [eax]
push 0xa
push ecx
push edx
mov dword [0x41f50c], 1
call fcn.004127eb
add esp, 0xc
call fcn.004080a0
mov dword [0x41e2ac], eax
mov eax, dword [0x41f520]
mov ecx, dword [eax + 0x74]
push ecx
call fcn.00408d70
mov edx, dword [0x41f520]
mov dword [0x41f508], eax
mov eax, dword [edx + 0x78]
push eax
call fcn.00408d70
mov ecx, dword [0x41e2ac]
push ecx
mov dword [0x41f504], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41f534], eax
jne 0x406ce2
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 [0x4206d0]
push ecx
mov ecx, dword [0x41f520]
push edx
push eax
push ecx
call fcn.00401580
add esp, 0x20
pop edi
pop esi
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408470
test eax, eax
mov dword [0x41f530], eax
je 0x406c4b
cmp dword [0x420008], 2
mov edi, dword [0x42001c]
jne 0x406c64
call fcn.004080a0
mov edx, dword [0x41f520]
mov dword [0x41e2ac], eax
mov eax, dword [edx + 0x74]
push eax
call fcn.00408d70
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 0x78]
push edx
mov dword [0x41f508], eax
call fcn.00408d70
push 0
mov dword [0x41f504], eax
call fcn.00408d70
mov dword [0x41f534], eax
mov eax, dword [0x41e2ac]
push eax
call fcn.00408d70
mov esi, eax
mov eax, dword [0x41fa9c]
add esp, 0x10
test eax, eax
mov dword [0x41f3e4], esi
jne 0x407542
mov dl, byte [0x41f534]
xor ecx, ecx
test dl, 1
mov dword [0x41f50c], ecx
je 0x40581b
mov ecx, 0x200
mov dword [0x41f50c], ecx
test dl, 2
je 0x40582b
mov ecx, 0x400
mov dword [0x41f50c], ecx
test dl, 4
je 0x40583c
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.00401580
add esp, 0x20
pop edi
pop esi
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
push 0x280
mov dword [0x41f50c], eax
call fcn.00408d70
push 0x1e0
mov dword [0x41f530], eax
call fcn.00408d70
mov ecx, dword [0x421b68]
push ecx
mov dword [0x41f508], eax
call fcn.00408d70
push 0xffffffffffffffff
mov dword [0x41f504], eax
call fcn.00408d70
push 0xffffffffffffffff
mov dword [0x41f534], eax
call fcn.00408d70
mov edx, dword [0x41f530]
push edx
mov dword [0x41f3e4], eax
call fcn.00408d70
mov dword [0x41e2ac], eax
mov eax, dword [0x41f508]
push eax
call fcn.00408d70
mov dword [0x41f524], eax
mov eax, dword [0x41fa9c]
add esp, 0x20
test eax, eax
jne 0x407542
mov ecx, dword [0x41f504]
mov eax, dword [0x41f50c]
sar ecx, 2
push ecx
push eax
mov dword [0x41f500], eax
call fcn.0040f8c0
and dword [0x41f504], 3
mov edx, dword [0x41f50c]
add esp, 8
cmp edx, 2
mov eax, 5
mov dword [0x41e3d8], eax
jge 0x405941
mov eax, 3
mov dword [0x41e3d8], eax
mov ecx, dword [0x41f3e8]
cmp ecx, 0x29
mov ebx, 1
jne 0x40595a
mov eax, ebx
mov dword [0x41e3d8], eax
jmp 0x40598e
cmp ecx, 0x2b
jne 0x40596b
mov eax, 2
mov dword [0x41e3d8], eax
jmp 0x40598e
cmp eax, 5
jne 0x40598e
push edx
call fcn.0040f8b0
add esp, 4
test bl, al
je 0x405989
mov eax, 4
mov dword [0x41e3d8], eax
jmp 0x40598e
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.004108a0
mov eax, dword [0x41e3d8]
add esp, 0x24
cmp eax, ebx
je case.0x404b57.18
pop edi
pop esi
pop ebp
mov dword [0x41facc], ebx
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408e10
mov edx, dword [0x4206d0]
mov dword [0x41e3cc], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405a00
push 0
call fcn.00408d70
push 0x41a301
mov dword [0x41f530], eax
call fcn.00408e70
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ce2
mov ecx, dword [0x41f530]
test cl, 0x10
je 0x405a98
mov edx, dword [0x4206d0]
push eax
mov eax, dword [0x41f520]
push edx
and ecx, 3
push ecx
mov ecx, dword [eax + 0x34]
push ecx
call fcn.00407e10
add esp, 0x10
test eax, eax
mov dword [0x41fae8], eax
jne 0x405a77
pop edi
pop esi
pop ebp
mov byte [0x41e3e0], al
pop ebx
add esp, 0x4a8
ret
call fcn.00407e00
mov edx, 0x41e3e0
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x405a81
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
test cl, 0x20
je 0x405af0
mov edx, dword [0x41f520]
mov eax, dword [edx + 0x34]
mov ebx, 1
and ecx, ebx
push ecx
push eax
call fcn.00407e80
add esp, 8
cmp eax, 0xffffffff
mov dword [0x41f50c], eax
jne 0x405ad8
pop edi
pop esi
pop ebp
mov dword [0x41fae8], 0
xor eax, eax
pop ebx
add esp, 0x4a8
ret
pop edi
pop esi
pop ebp
mov dword [0x41e250], eax
mov dword [0x41fae8], ebx
xor eax, eax
pop ebx
add esp, 0x4a8
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 0x405b13
or edx, 4
mov dword [0x41f50c], edx
mov ecx, dword [0x41f520]
push edx
mov edx, dword [ecx + 0x34]
push eax
mov eax, dword [0x4206d0]
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, 0x4a8
ret
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ce2
push eax
call fcn.00404430
add esp, 4
test eax, eax
mov dword [0x41f50c], eax
je case.0x404b57.18
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x4a8
ret
call fcn.00408e10
mov edx, dword [0x4206d0]
mov dword [0x41e3cc], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405b92
push 0
call fcn.00408d70
push 0x41a301
mov dword [0x41f530], eax
call fcn.00408e70
mov edx, eax
mov eax, dword [0x41fa9c]
add esp, 8
test eax, eax
mov dword [0x41e3cc], edx
jne 0x407542
mov cl, byte [0x41f530]
test cl, 2
mov eax, 0xa
mov dword [0x41e3d8], eax
je 0x405be9
mov eax, 2
mov dword [0x41e3d8], eax
mov ebx, 1
test bl, cl
mov dword [0x41facc], ebx
je 0x405c02
mov dword [0x41facc], 0xfffffffa
cmp byte [edx], 0
je 0x405c60
xor eax, eax
mov ecx, 0xf
lea edi, [esp + 0x3c]
rep stosd dword es:[edi], eax
mov eax, dword [0x41f520]
mov dword [esp + 0x3c], 0x3c
mov dword [esp + 0x40], 0xc
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x48], edx
mov edx, dword [0x4206d0]
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x5c], ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
test eax, eax
je 0x405cc5
mov cl, byte [0x41f530]
mov eax, dword [0x41e3d8]
test cl, 0x10
push eax
je 0x405c86
mov ecx, dword [0x4206d0]
push 0x41a301
push 0x41a301
push ecx
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x405cb7
test cl, 0x20
je 0x405cab
mov edx, dword [0x4206d0]
push 0x41a301
push 0x41a301
push edx
push str.print
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x405cb7
mov eax, dword [0x4206d0]
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
cmp eax, 0x20
mov dword [0x41f50c], eax
jge case.0x404b57.18
pop edi
pop esi
pop ebp
mov eax, 0xe
pop ebx
add esp, 0x4a8
ret
call fcn.00408e10
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ce2
push eax
call fcn.0041316f
add esp, 4
test eax, eax
mov dword [0x41fae8], eax
je case.0x404b57.18
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x4a8
ret
call fcn.00411500
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 4]
push edx
mov dword [0x41f508], eax
call fcn.00408d70
mov dword [0x41f504], eax
mov eax, dword [0x41f520]
mov ecx, dword [eax + 8]
push ecx
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0x10
test ecx, ecx
mov dword [0x41f534], eax
jne 0x406ce2
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.00402e80
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov eax, dword [0x41f520]
mov ecx, dword [eax + 0x6c]
push ecx
call fcn.00408d70
mov edx, dword [0x41f520]
mov dword [0x41f530], eax
mov eax, dword [edx + 0x70]
push eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ce2
mov ecx, dword [0x41f530]
mov edx, dword [0x41f520]
push eax
push ecx
push edx
call fcn.00402ef0
add esp, 0xc
pop edi
pop esi
pop ebp
mov dword [0x41e250], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov eax, dword [0x41f520]
mov ecx, dword [eax + 0x6c]
push ecx
call fcn.00408d70
mov edx, dword [0x41f520]
mov dword [0x41f530], eax
mov eax, dword [edx + 0x70]
push eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ce2
mov ecx, dword [0x41f530]
mov edx, dword [0x41f520]
push eax
push ecx
push edx
call fcn.00402f10
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
push 0xff
mov dword [0x41f508], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41f504], eax
jne 0x406ce2
mov ecx, dword [0x41f530]
mov edx, dword [0x41f508]
push ecx
push eax
mov eax, dword [0x41f520]
push edx
push eax
call fcn.00401dd0
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ce2
test eax, eax
mov eax, dword [0x41f530]
jne 0x405f27
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, 0x4a8
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, 0x4a8
ret
call fcn.00408470
test eax, eax
mov dword [0x41f530], eax
je 0x406c4b
push 0
mov dword [0x41f528], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ce2
push eax
call fcn.00404660
mov ecx, dword [0x41f528]
add esp, 4
pop edi
pop esi
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ce2
mov edx, dword [0x41f520]
mov ecx, dword [edx + 0x48]
push ecx
push eax
call fcn.0040f890
add esp, 4
push eax
call fcn.00402790
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ce2
push eax
call fcn.00413142
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
push 0xffffffffffffffff
mov dword [0x41f530], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ce2
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, 0x4a8
ret
call fcn.00408e10
mov edx, dword [0x4206d0]
mov dword [0x41e3cc], eax
mov ecx, eax
mov edi, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x406070
call fcn.00408470
test eax, eax
mov dword [0x41f530], eax
je 0x406c4b
cmp dword [0x420008], 4
jne 0x406c64
mov ecx, dword [0x41fa9c]
test ecx, ecx
jne 0x406ce2
mov ecx, dword [0x42001c]
mov edx, dword [0x4206d0]
push ecx
push eax
mov eax, dword [0x41f520]
push edx
push eax
call fcn.00401780
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 0x6c]
push edx
mov dword [0x41f508], eax
call fcn.00408d70
mov dword [0x41f504], eax
mov eax, dword [0x41f520]
mov ecx, dword [eax + 0x70]
push ecx
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0x10
test ecx, ecx
mov dword [0x41f534], eax
jne 0x406ce2
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.00402f50
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408470
test eax, eax
mov dword [0x41f530], eax
je 0x406c4b
push 4
call fcn.00408090
mov eax, dword [0x41f530]
push 0
mov dword [0x41f528], eax
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ce2
test eax, eax
mov dword [0x41e3d4], ecx
je 0x4061d0
call fcn.0040fa20
test eax, eax
jge 0x4061d0
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, 0x4a8
ret
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x25
call esi
test ah, ah
mov ebx, 1
jns 0x4061e9
or dword [0x41e3d4], ebx
push 0x26
call esi
test ah, ah
jns 0x4061f8
or dword [0x41e3d4], 2
push 0x27
call esi
test ah, ah
jns 0x406207
or dword [0x41e3d4], 4
push 0x28
call esi
test ah, ah
jns 0x406216
or dword [0x41e3d4], 8
push 0x20
call esi
test ah, ah
jns 0x406225
or dword [0x41e3d4], 0x10
push 0xd
call esi
test ah, ah
jns 0x406234
or dword [0x41e3d4], 0x20
push 0x11
call esi
test ah, ah
jns 0x406243
or dword [0x41e3d4], 0x40
push 0x1b
call esi
test ah, ah
jns 0x406255
or dword [0x41e3d4], 0x80
push ebx
call esi
test ah, ah
jns 0x406266
or dword [0x41e3d4], 0x100
push 2
call esi
test ah, ah
jns 0x406278
or dword [0x41e3d4], 0x200
push 9
call esi
test ah, ah
mov eax, dword [0x41e3d4]
jns 0x40628f
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, 0x4a8
ret
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
jne 0x406ce2
cmp eax, 7
mov ecx, dword [0x41f520]
mov esi, dword [ecx + 0x34]
ja case.0x404b57.18
jmp dword [eax*4 + 0x4076f0]
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, 0x4a8
ret
call fcn.0040fa20
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, 0x4a8
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, 0x4a8
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, 0x4a8
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, 0x4a8
ret
push esi
call fcn.00401f30
push esi
mov dword [0x41f52c], eax
call fcn.00401f50
add esp, 8
pop edi
pop esi
pop ebp
mov dword [0x41e2b0], eax
xor eax, eax
pop ebx
add esp, 0x4a8
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, 0x4a8
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, 0x4a8
ret
call fcn.00408470
test eax, eax
mov dword [0x41f530], eax
je 0x406c4b
cmp dword [0x420008], 4
jne 0x406c64
mov esi, dword [0x42001c]
push 0x64
call fcn.00408d70
add esp, 4
mov dword [0x41f508], eax
call fcn.00408e10
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ce2
mov ecx, dword [0x41f508]
mov edx, dword [0x41f530]
push esi
push ecx
push edx
push eax
mov eax, dword [0x41f520]
push eax
call fcn.00401830
add esp, 0x14
pop edi
pop esi
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408e10
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ce2
push eax
call fcn.004130a6
add esp, 4
test eax, eax
mov dword [0x41fae8], eax
jne 0x406c2d
push 0x104
push 0x41f3f0
call fcn.00412f4b
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
mov dword [0x41f530], eax
mov eax, dword [0x41fa9c]
add esp, 4
test eax, eax
jne 0x407542
call fcn.004089c0
test eax, eax
mov dword [0x41f508], eax
jge 0x406527
pop edi
pop esi
pop ebp
neg eax
pop ebx
add esp, 0x4a8
ret
mov eax, dword [0x41fac8]
mov edx, dword [0x41f530]
cmp eax, 2
mov eax, dword [0x41f520]
jne 0x40655c
mov ecx, dword [0x41fb14]
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, 0x4a8
ret
mov ecx, dword [0x420838]
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, 0x4a8
ret
push 0
call fcn.00408d70
push 0
mov dword [0x41f530], eax
call fcn.00408d70
push 0
mov dword [0x41f508], eax
call fcn.00408d70
mov dword [0x41f504], eax
mov eax, dword [0x41fa9c]
add esp, 0xc
test eax, eax
jne 0x407542
call fcn.00408470
test eax, eax
mov dword [0x41f534], eax
je 0x406c4b
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f3e4], eax
jne 0x406ce2
mov ecx, dword [0x41f520]
mov edx, dword [0x41f530]
mov ecx, dword [ecx + edx*4 + 0xa4]
test ecx, ecx
je 0x406d0c
test eax, eax
je 0x406609
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, 0x4a8
ret
push 0
call fcn.00408d70
mov ecx, dword [0x41f520]
mov edx, dword [ecx + 0x30c]
push edx
mov dword [0x41f530], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ce2
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, 0x4a8
ret
call fcn.00408470
test eax, eax
mov dword [0x41f530], eax
je 0x406c4b
mov esi, dword [0x42001c]
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ce2
mov ecx, dword [0x41f530]
push ecx
call fcn.00404280
add esp, 4
test eax, eax
mov dword [0x41f504], eax
jl 0x406d0c
pop edi
mov word [esi], ax
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408470
test eax, eax
mov dword [0x41f530], eax
je 0x406c4b
mov esi, dword [0x42001c]
mov dword [esp + 0x14], esi
call fcn.00408e10
mov edx, dword [0x4206d0]
mov dword [0x41e3cc], eax
mov ecx, eax
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x406720
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ce2
test al, 0x10
mov ebp, dword [esi + 0x1c]
mov word [esi], 2
mov byte [ebp], cl
je 0x406765
mov edx, dword [0x4206d0]
push edx
call fcn.00411da0
add esp, 4
lea eax, [esp + 0x1b8]
push eax
lea ecx, [esp + 0x3bc]
push ecx
mov ecx, dword [0x4206d0]
lea edx, [esp + 0x2c0]
push edx
lea eax, [esp + 0x84]
push eax
push ecx
call fcn.00412f5e
lea eax, [esp + 0x2cc]
add esp, 0x14
mov edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4067a0
lea edi, [esp + 0x78]
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4067b0
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 0x40681d
mov edx, dword [0x4206d0]
lea ecx, [esp + 0x3b8]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4067e0
lea eax, [esp + 0x1b8]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4067f3
mov edi, dword [0x4206d0]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x406803
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 0x40683a
test bl, 0x20
je 0x40683a
mov edx, dword [0x4206d0]
lea ecx, [esp + 0x78]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x406830
and ebx, 7
mov eax, ebx
sub eax, 0
je 0x4068cc
dec eax
je 0x40687b
dec eax
jne 0x406d0c
mov edx, ebp
lea ecx, [esp + 0x1b8]
lea eax, [esp + 0x1b8]
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x406864
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov edi, dword [0x4206d0]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406886
sub eax, edx
mov ecx, eax
lea eax, [esp + 0x1b8]
lea esi, [eax + 1]
jmp 0x4068a0
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4068a0
sub eax, esi
sub ecx, eax
mov byte [ecx + edi], dl
mov eax, dword [0x4206d0]
mov ecx, ebp
mov dl, byte [eax]
inc eax
mov byte [ecx], dl
inc ecx
test dl, dl
jne 0x4068b5
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov edx, dword [0x4206d0]
push edx
push ebp
call fcn.00411de0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
shl edx, 2
add esp, 8
cmp eax, edx
jle case.0x404b57.18
pop edi
pop esi
pop ebp
mov eax, 0x14
pop ebx
add esp, 0x4a8
ret
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00408d70
mov edx, dword [esp + 0x20]
push edx
mov dword [0x41f530], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41f508], eax
jne 0x406ce2
mov ecx, dword [0x41f530]
test ecx, ecx
jl 0x406946
test eax, eax
jge 0x40696f
mov edx, dword [0x41d34c]
test edx, edx
je 0x40696f
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, 0x4a8
ret
push eax
push ecx
call dword [sym.imp.USER32.dll_SetCursorPos]
mov eax, dword [0x41d34c]
test eax, eax
jne case.0x404b57.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, 0x4a8
ret
mov ebx, 1
mov dword [esp + 0x14], ebx
call fcn.00408470
xor esi, esi
cmp eax, esi
mov dword [0x41f530], eax
je 0x406c4b
mov edi, dword [0x42001c]
mov eax, dword [edi + 8]
shl eax, 2
mov dword [esp + 0x34], edi
mov word [edi], 2
mov dword [esp + 0x30], eax
call fcn.00408e10
mov edx, dword [0x4206d0]
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 0x4069f0
push esi
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
cmp ecx, esi
mov dword [0x41f504], eax
jne 0x406ce2
mov ecx, dword [0x41f530]
mov dword [esp + 0x18], ecx
cmp dword [edi + 0xc], esi
jle 0x406a29
mov dword [esp + 0x14], esi
test bl, al
mov dword [esp + 0x10], esi
je 0x406a39
mov dword [esp + 0x10], 0x10
test al, 2
je 0x406a42
or dword [esp + 0x10], 6
mov eax, dword [0x4206d0]
lea edx, [esp + 0x78]
push edx
push eax
mov dword [0x41fae8], esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
mov dword [esp + 0x38], esi
je case.0x404b57.18
mov ebp, 0x4000
push ebp
call fcn.00411ce0
mov ebx, eax
add esp, 4
mov byte [ebx], 0
jmp 0x406a80
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
and ecx, edx
xor edx, edx
cmp edx, ecx
mov cl, byte [0x41f504]
sbb eax, eax
neg eax
test cl, 4
jne 0x406aa6
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
je 0x406b72
mov al, byte [esp + 0xa4]
test al, al
je 0x406b72
cmp al, 0x2e
jne 0x406ae3
mov al, byte [esp + 0xa5]
test al, al
je 0x406b72
cmp al, 0x2e
jne 0x406ae3
mov al, byte [esp + 0xa6]
test al, al
je 0x406b72
inc dword [0x41fae8]
mov eax, ebx
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406af0
sub eax, edx
add eax, 0x800
cmp eax, ebp
jl 0x406b14
add ebp, 0x4000
push ebp
push ebx
call fcn.00411d20
add esp, 8
mov ebx, eax
lea eax, [esp + 0xa4]
mov edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406b20
mov edi, ebx
sub eax, edx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x406b30
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 0x406b50
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406b50
mov dx, word [0x41a370]
mov esi, dword [esp + 0x38]
mov word [edi], dx
mov al, byte [0x41a372]
mov byte [edi + 2], al
mov edi, dword [esp + 0x34]
lea ecx, [esp + 0x78]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x406a80
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406b92
sub eax, edx
inc eax
cmp eax, 0x40
jge 0x406ba6
mov eax, 0x40
cmp eax, dword [esp + 0x30]
jle 0x406bde
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x406bcd
push ebx
call fcn.00411d10
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 0x14
pop ebx
add esp, 0x4a8
ret
push 0
push eax
push edi
call fcn.004081c0
mov edx, dword [edi + 0x1c]
add esp, 0xc
jmp 0x406be2
mov edx, dword [esp + 0x18]
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x406be6
push ebx
call fcn.00411d10
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408e10
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ce2
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne case.0x404b57.18
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x4a8
ret
call fcn.00408470
test eax, eax
mov dword [0x41f530], eax
jne 0x406c5b
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x4a8
ret
cmp dword [0x420008], 4
je 0x406c74
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 0x4a8
ret
mov esi, dword [0x42001c]
push 0x64
call fcn.00408d70
add esp, 4
mov dword [0x41f508], eax
call fcn.00408e10
mov ecx, dword [0x41fa9c]
test ecx, ecx
mov dword [0x41e3cc], eax
jne 0x406ce2
mov edx, dword [0x41f508]
mov ecx, dword [0x41f530]
push esi
push edx
mov edx, dword [0x41f520]
push ecx
push eax
push edx
call fcn.00401910
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41f530], eax
je 0x406cef
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x4a8
ret
push eax
mov eax, dword [0x41f520]
push eax
call fcn.00401130
add esp, 8
cmp eax, 0xfffffffe
mov dword [0x41fae8], eax
jne case.0x404b57.18
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.004123c0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.004125e0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.004123f0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.00412470
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.00412580
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.004125a0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.004125c0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.004124b0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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, 0x4a8
ret
xor ebx, ebx
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.004120a0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.004124d0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.00412500
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.00412530
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.00412450
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.00412570
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
mov ecx, dword [0x41f504]
mov edx, dword [0x41f508]
mov eax, dword [0x41f530]
push 0x41e3e0
push ecx
push edx
push eax
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, 0x4a8
ret
xor ebx, ebx
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.004123e0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 3
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.004120c0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 3
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.00412130
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 3
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.004126c0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 0x16
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
mov edx, dword [0x41f504]
mov eax, dword [0x41f508]
mov ecx, dword [0x41f530]
push 0x41e3e0
push edx
push eax
push ecx
call fcn.00411fb0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 0x26
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
push 0x41e2b8
mov dword [0x41f534], 0x41e2b8
call fcn.00403b70
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.00411ff0
add esp, 0x14
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 0x36
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
mov eax, dword [0x41f504]
mov ecx, dword [0x41f508]
mov edx, dword [0x41f530]
push 0x41dd88
push eax
push ecx
push edx
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, 0x4a8
ret
mov ebx, 6
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.004120f0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 5
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.00412400
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 5
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.00412420
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 0x87
call fcn.004049f0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407542
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.00412620
add esp, 0x10
neg eax
mov dword [0x41fae8], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4a8
ret
mov eax, dword [0x4206c8]
push ebx
push esi
mov dword [0x41f3e8], eax
call fcn.00408990
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.0x4079e0
jmp dword [esi*4 + 0x407b58]
push 0
call fcn.00408d70
add esp, 4
jmp 0x407a4e
call fcn.00408470
test eax, eax
mov dword [0x41f530], eax
jne case.default.0x4079e0
pop esi
mov eax, 0x100
pop ebx
ret
test bh, 2
je 0x407a1d
mov dword [0x41f530], 0x41e258
jmp 0x407af7
mov edx, dword [0x41f520]
mov dword [0x41f530], edx
jmp case.default.0x4079e0
call fcn.00408470
test eax, eax
mov dword [0x41f530], eax
je 0x407a01
test bl, bl
jns 0x407a49
mov esi, 4
call fcn.004080b0
jmp 0x407a4e
call fcn.004080c0
mov dword [0x41f530], eax
test bl, 4
je 0x407a81
call fcn.00408e10
mov edx, dword [0x4206d0]
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 0x407a70
mov eax, dword [0x4206d0]
jmp 0x407a8b
push 0
call fcn.00408d70
add esp, 4
push 0
mov dword [0x41f508], eax
call fcn.00408d70
add esp, 4
and ebx, 0x30
mov dword [0x41f504], eax
jne 0x407ab5
push 0
call fcn.00408d70
add esp, 4
mov dword [0x41f534], eax
jmp 0x407aee
cmp ebx, 0x30
jne 0x407ac6
mov dword [0x41f534], 0x41dd88
jmp 0x407aee
cmp ebx, 0x20
jne 0x407ae4
push 0x41e2b8
mov dword [0x41f534], 0x41e2b8
call fcn.00403b70
add esp, 4
jmp 0x407aee
mov dword [0x41f534], 0x41e3e0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x407b54
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 0x407b41
cmp eax, 0x100
jl 0x407b54
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 0x407b52
call fcn.00408140
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 [0x4206c8]
test eax, eax
jne 0x408fb9
call fcn.00408990
call fcn.004089c0
test eax, eax
mov dword [0x420634], eax
jg 0x408fc6
cmp dword [0x41fac8], 1
je 0x408fb0
mov eax, 6
pop esi
ret
mov eax, dword [0x420838]
test eax, eax
jne 0x408fc4
mov dword [0x41fae0], esi
call fcn.00408270
xor eax, eax
pop esi
ret
sub esp, 8
push ebx
push ebp
push esi
mov esi, dword [0x4206c8]
push edi
mov dword [0x41fb30], esi
call fcn.00408990
cmp esi, 0x38
ja case.0x409031.11
jmp dword [esi*4 + 0x40a834]
mov eax, dword [0x42000c]
test eax, eax
je 0x409405
dec eax
mov dword [0x42000c], eax
call fcn.00408d20
test eax, eax
mov dword [0x420634], eax
jne 0x40a82a
mov eax, dword [0x420000]
mov dword [0x41fae0], eax
call fcn.00408270
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408d20
test eax, eax
mov dword [0x420634], eax
jne 0x40a82a
jmp 0x409257
mov eax, dword [0x4206cc]
test eax, eax
jne 0x4090c4
mov ecx, dword [0x41fb0c]
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x4090b7
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 + 0x41fb3c]
dec eax
mov dword [0x4206cc], eax
mov dword [0x41fae0], edx
call fcn.00408270
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [0x420018]
lea edi, [eax + esi*8 - 0x20]
mov eax, dword [0x41fadc]
cmp eax, 1
je 0x409157
cmp eax, 4
je 0x409157
xor esi, esi
cmp eax, 8
jne 0x409120
mov eax, dword [0x4206c8]
cmp eax, 1
jne 0x409113
mov esi, eax
jmp 0x40911b
test eax, eax
jne 0x409470
call fcn.00408270
call fcn.00408d20
test eax, eax
mov dword [0x420634], eax
jne 0x40a82a
or esi, 0x1000
mov word [edi], si
mov word [edi + 2], ax
mov ecx, dword [0x4206c8]
mov dword [edi + 4], ecx
call fcn.00408270
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408db0
mov ecx, dword [0x41fa9c]
test ecx, ecx
jne 0x40a7ef
test eax, eax
je 0x409173
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.00408d70
mov ebp, eax
mov eax, dword [0x41fa9c]
add esp, 4
test eax, eax
mov dword [0x42072c], ebp
jne 0x40a82a
cmp dword [0x41fadc], 8
jne 0x409470
mov eax, dword [0x4206c8]
cmp eax, 1
mov ebx, eax
jg 0x409470
call fcn.00408270
mov eax, dword [0x41fdf8]
xor esi, esi
xor edi, edi
test ah, 2
mov dword [0x41fccc], esi
jne 0x40a81b
call fcn.00408d20
test eax, eax
mov dword [0x420634], eax
jne 0x40921a
cmp esi, ebp
jne 0x409202
test ebx, ebx
je 0x409228
mov edi, dword [0x420000]
inc esi
call fcn.00408270
mov eax, dword [0x41fdf8]
test ah, 2
je 0x4091e6
mov dword [0x41fccc], esi
jmp 0x40923d
pop edi
mov dword [0x41fccc], esi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x420000]
mov dword [0x41fccc], esi
mov dword [0x41fae0], eax
call fcn.00408270
test edi, edi
je 0x40a81b
mov ecx, dword [0x41fdf4]
mov dword [0x41fae0], ecx
mov dword [0x420000], edi
call fcn.00408fd0
test eax, eax
mov dword [0x420634], eax
je 0x40a81b
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov edx, dword [0x42001c]
cmp word [edx], 4
jne 0x40a59a
push 0
mov dword [0x41fce4], eax
call fcn.00408d70
push 0
mov dword [0x42072c], eax
call fcn.00408d70
mov esi, eax
mov eax, dword [0x41fa9c]
add esp, 8
test eax, eax
mov dword [0x41fccc], esi
jne 0x40a82a
call fcn.00408d20
test eax, eax
mov dword [0x420634], eax
jne 0x40a82a
mov ecx, dword [0x42072c]
test ecx, ecx
mov eax, dword [0x41fce4]
mov eax, dword [eax]
jl 0x4092ec
cmp eax, esi
jl 0x409306
jmp 0x4092f0
cmp eax, esi
jg 0x409306
mov ecx, dword [0x420000]
mov dword [0x420634], 1
mov dword [0x41fae0], ecx
call fcn.00408270
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
push 0x64
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x42072c], eax
jne 0x40a7ef
cmp eax, 1
jl 0x40a726
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 [0x42000c], 0xf
jl 0x409366
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
add esp, 8
ret
call fcn.00408d20
test eax, eax
mov dword [0x420634], eax
jne 0x40a82a
call fcn.00408270
push 0xffffffffffffffff
mov dword [0x420010], 0
call fcn.00408d70
push 0
mov dword [0x42072c], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41fccc], eax
jne 0x40a7ef
mov edx, dword [0x42072c]
test edx, edx
je 0x40905d
jge 0x4093c5
or edx, 0xffffffff
jmp 0x4093c7
add edx, eax
mov ecx, dword [0x42000c]
inc ecx
mov dword [0x42000c], ecx
shl ecx, 4
add ecx, 0x41fbc8
pop edi
pop esi
mov dword [0x42072c], edx
mov dword [ecx], edx
mov edx, dword [0x41fdf4]
pop ebp
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
xor eax, eax
pop ebx
add esp, 8
ret
mov esi, dword [0x42000c]
test esi, esi
jne 0x409412
pop edi
pop esi
pop ebp
mov eax, 0xb
pop ebx
add esp, 8
ret
mov eax, esi
shl eax, 4
add eax, 0x41fbc8
mov ebx, dword [eax + 4]
mov ecx, dword [eax]
inc ebx
cmp ecx, 0xffffffff
mov dword [eax + 4], ebx
mov edx, ebx
je 0x409441
cmp edx, ecx
jl 0x409441
dec esi
pop edi
mov dword [0x42000c], 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.00408270
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [0x41fadc]
test eax, eax
jne 0x40947d
mov eax, dword [0x4206c8]
cmp eax, 0x2d
je 0x40947d
cmp eax, 0x28
je 0x40947d
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 8
ret
call fcn.004089c0
test eax, eax
mov dword [0x420634], eax
je 0x409494
cmp eax, 0xffffffff
jne 0x40a82a
mov eax, dword [0x41fac8]
test eax, eax
jne 0x4094a6
mov ecx, dword [0x41fb14]
mov byte [ecx], 0
cmp dword [0x41fac8], 1
jne 0x4094c6
mov edx, dword [0x41fb14]
mov eax, dword [0x420838]
push 0xa
push edx
push eax
call fcn.004127eb
add esp, 0xc
mov ecx, dword [0x41fb14]
push ecx
call fcn.00404590
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov edx, dword [0x42001c]
mov dword [0x41fcd0], edx
mov dword [0x41fa98], 1
mov esi, 1
mov edi, 0x15
call fcn.004089c0
test eax, eax
mov dword [0x420634], eax
jg 0x40a82a
mov eax, dword [0x41fac8]
cmp eax, 1
je 0x40954b
test eax, eax
jne 0x40a59a
cmp esi, 1
mov dword [0x420838], eax
jne 0x409587
mov eax, 0x10
mov dword [0x420838], eax
jmp 0x409587
cmp esi, 1
jne 0x40956a
cmp dword [0x41fb30], edi
jne 0x40956a
mov eax, dword [0x420838]
add eax, 3
sar eax, 2
mov dword [0x420838], eax
jmp 0x40956f
mov eax, dword [0x420838]
mov ecx, dword [0x41fa98]
imul ecx, eax
cmp eax, 1
mov dword [0x41fa98], ecx
jl 0x40a726
mov edx, dword [0x41fcd0]
mov dword [edx + esi*4 + 4], eax
inc esi
cmp esi, 5
jl 0x409511
mov eax, dword [0x41fcd0]
push eax
call fcn.00408150
mov esi, dword [0x41fb30]
mov eax, dword [0x41fa98]
mov edx, dword [0x41fcd0]
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 0x4095ff
push eax
call fcn.00411ce0
mov ecx, dword [0x41fcd0]
add esp, 4
pop edi
mov dword [ecx + 0x1c], eax
mov edx, dword [0x41fcd0]
pop esi
pop ebp
mov word [edx + 2], 2
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00407f80
mov ecx, dword [0x41fcd0]
pop edi
mov dword [ecx + 0x1c], eax
mov edx, dword [0x41fcd0]
pop esi
pop ebp
mov word [edx + 2], 0
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov eax, dword [0x42001c]
mov dword [0x41fcd0], eax
call fcn.004089c0
test eax, eax
mov dword [0x420634], eax
jg 0x40a82a
cmp dword [0x41fac8], 1
je 0x409667
pop edi
pop esi
pop ebp
mov eax, 5
pop ebx
add esp, 8
ret
cmp dword [0x420838], 0x40
jl 0x40a726
mov ecx, dword [0x41fcd0]
push ecx
call fcn.00408150
mov edx, dword [0x41fcd0]
mov word [edx + 2], 2
mov eax, dword [0x41fcd0]
mov word [eax], 4
mov ecx, dword [0x420838]
push ecx
call fcn.00411ce0
mov edx, dword [0x41fcd0]
mov dword [edx + 0x1c], eax
mov eax, dword [0x420838]
mov ecx, dword [0x41fcd0]
add esp, 8
add eax, 3
pop edi
sar eax, 2
mov dword [ecx + 8], eax
mov edx, dword [0x41fcd0]
pop esi
pop ebp
mov dword [0x42072c], eax
mov dword [edx + 0xc], 0
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408e10
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a82a
mov ecx, dword [0x41fb14]
mov edx, dword [0x4206d0]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409700
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov eax, dword [0x42001c]
push eax
mov dword [0x41fcd0], eax
call fcn.00408180
push 0
mov dword [0x41fccc], eax
call fcn.00408d70
push 0xffffffffffffffff
mov dword [0x42072c], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41fcc8], eax
jne 0x40a7ef
mov ecx, dword [0x42072c]
test ecx, ecx
jl 0x40a726
jne 0x409776
mov ecx, dword [0x41fccc]
mov dword [0x42072c], ecx
mov edx, dword [0x41fb30]
push eax
mov eax, dword [0x41fcd0]
push ecx
mov ecx, dword [eax + 0x1c]
cmp edx, 0x18
mov edx, dword [0x4206d0]
push ecx
push edx
jne 0x40979a
call fcn.00411d30
jmp 0x40979f
call fcn.00403ce0
add esp, 0x10
cmp eax, 0xffffffff
mov dword [0x41fccc], eax
jne 0x409e33
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 8
ret
call fcn.00408e10
mov ecx, dword [0x41fb14]
mov edx, dword [0x4206d0]
mov edi, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4097d0
call fcn.00408e10
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a82a
mov eax, dword [0x41fb14]
mov ecx, dword [0x4206d0]
push eax
push ecx
call fcn.00403ef0
add esp, 8
test eax, eax
je 0x40a81b
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.00408e10
mov ecx, dword [0x41fb14]
mov edx, dword [0x4206d0]
jmp 0x409840
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409840
push 0x41a301
call fcn.00408e70
mov ecx, dword [0x41fb14]
add esp, 4
cmp ecx, eax
je 0x409864
mov byte [ecx], 0
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a82a
pop edi
pop esi
pop ebp
mov dword [0x41facc], 0xfffffffc
pop ebx
add esp, 8
ret
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov edx, dword [0x42001c]
mov word [edx], 4
mov eax, dword [0x42001c]
push 0x64
mov dword [0x41fcd0], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x42072c], eax
jne 0x40a7ef
test eax, eax
jne 0x4098d8
pop edi
pop esi
pop ebp
mov eax, 0x13
pop ebx
add esp, 8
ret
call fcn.0041314c
cdq
idiv dword [0x42072c]
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.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov edx, dword [0x42001c]
push 0
mov dword [0x41fcd0], edx
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x42072c], eax
jne 0x40a7ef
mov ecx, dword [0x41fcd0]
cmp word [ecx], 2
je 0x40a81b
test eax, eax
mov word [ecx], 2
mov ecx, 3
je 0x4099e4
mov edx, dword [0x41fb14]
mov esi, dword [str._05d]
mov dword [edx], esi
mov bl, byte [0x41a3ec]
mov byte [edx + 4], bl
mov edx, eax
and edx, 0xf
cmp dl, 9
mov dl, al
jle 0x4099aa
mov ecx, dword [0x41fb14]
mov byte [ecx + 2], 0x31
mov ecx, dword [0x41fb14]
and dl, 0xf
add dl, 0x26
mov byte [ecx + 3], dl
mov edx, dword [0x41fb14]
mov byte [edx + 4], 0x64
mov ecx, dword [0x41fb14]
mov byte [ecx + 5], 0
mov ecx, 4
jmp 0x4099b9
mov esi, dword [0x41fb14]
and dl, 0xf
add dl, 0x30
mov byte [esi + 2], dl
test al, 0x10
je 0x4099c6
mov eax, dword [0x41fb14]
mov byte [eax + ecx], 0x78
mov ecx, dword [0x41faa0]
mov edx, dword [ecx]
mov eax, dword [0x41fb14]
mov ecx, dword [0x4206d0]
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
jmp 0x4099fa
mov edx, dword [0x4206d0]
mov eax, dword [0x41faa0]
mov ecx, dword [eax]
push 0xa
push edx
push ecx
call fcn.004127eb
mov ecx, dword [0x4206d0]
mov edx, dword [0x41faa0]
add esp, 0xc
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409a10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408470
mov ecx, eax
test ecx, ecx
mov dword [0x41faa0], ecx
je 0x40a7aa
mov eax, dword [0x42001c]
cmp word [eax], 4
je 0x40a81b
mov word [eax], 4
cmp byte [ecx], 0x24
jne 0x409a83
mov al, byte [ecx + 1]
xor esi, esi
test al, al
je 0x409a77
lea edi, [ecx + 2]
mov edi, edi
call fcn.00408060
shl esi, 4
add esi, eax
mov al, byte [edi]
inc edi
test al, al
jne 0x409a60
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.004127a8
mov edx, dword [0x41faa0]
add esp, 4
pop edi
pop esi
pop ebp
mov dword [edx], eax
xor eax, eax
pop ebx
add esp, 8
ret
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x42072c], eax
jne 0x40a7ef
pop edi
pop esi
pop ebp
mov dword [0x41fabc], eax
mov dword [0x41fb10], ecx
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov eax, dword [0x42001c]
mov dword [0x41fcd0], eax
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov ecx, dword [0x41fcd0]
push ecx
call fcn.00408150
mov edx, dword [0x41fcd0]
mov word [edx + 2], 1
mov eax, dword [0x42001c]
mov cx, word [eax]
mov edx, dword [0x41fcd0]
mov eax, dword [0x41faa0]
add esp, 4
pop edi
mov word [edx], cx
mov ecx, dword [0x41fcd0]
pop esi
pop ebp
mov dword [ecx + 0x1c], eax
xor eax, eax
pop ebx
add esp, 8
ret
push 0
call fcn.00408d70
push 0xffffffffffffffff
mov dword [0x42072c], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41fccc], eax
jne 0x40a7ef
mov edx, dword [0x42072c]
add edx, 0x10000
push eax
mov dword [0x41facc], edx
call fcn.0040f7d0
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x42072c], eax
jne 0x40a7ef
mov ecx, dword [0x41faa0]
add ecx, eax
mov dword [0x41fa90], ecx
call fcn.004089c0
test eax, eax
mov dword [0x420634], eax
je 0x409be4
cmp eax, 0xffffffff
jne 0x40a82a
cmp dword [0x41fac8], 2
jne 0x409c24
mov ecx, dword [0x41fb14]
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x409bf8
mov edx, dword [0x41fa90]
sub eax, esi
mov dword [0x41fad0], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409c10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp dword [0x41fb30], 0x22
jne 0x409c44
mov eax, dword [0x41fa90]
mov dl, byte [0x420838]
pop edi
pop esi
pop ebp
mov byte [eax], dl
xor eax, eax
pop ebx
add esp, 8
ret
mov cx, word [0x420838]
mov edx, dword [0x41fa90]
pop edi
pop esi
pop ebp
mov word [edx], cx
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov ecx, dword [0x42001c]
mov dword [0x41fcd0], ecx
mov dword [0x41fce4], eax
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x42072c], eax
jne 0x40a7ef
mov edx, dword [0x41faa0]
mov ecx, dword [0x41fb30]
add eax, edx
cmp ecx, 0x27
mov dword [0x420028], eax
jne 0x409d4f
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x41fccc], eax
jne 0x40a7ef
mov ecx, dword [0x41fcd0]
mov word [ecx], 2
mov ecx, dword [0x420028]
cmp byte [ecx], 0
jne 0x409d1f
mov edx, dword [0x41fce4]
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.00408ec0
push eax
mov eax, dword [0x41fce4]
push eax
push ecx
call fcn.00408ed0
mov ecx, dword [0x42002c]
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 [0x41fcd0]
cmp word [edx], 2
jne 0x409d77
mov edx, dword [0x41fce4]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x409d63
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp ecx, 0x23
jne 0x409d91
movzx eax, byte [eax]
mov ecx, dword [0x41fce4]
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 [0x41fce4]
pop edi
pop esi
pop ebp
mov dword [eax], edx
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov ecx, dword [0x42001c]
mov word [ecx], 4
mov edx, dword [0x42001c]
mov dword [0x41fcd0], edx
mov dword [0x41fce4], eax
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov ecx, dword [0x42001c]
cmp word [ecx], 2
jne 0x40a726
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409df8
pop edi
sub eax, edx
mov edx, dword [0x41fce4]
pop esi
pop ebp
mov dword [edx], eax
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408e10
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a82a
mov eax, dword [0x41fb14]
push eax
call fcn.00403e10
add esp, 4
pop edi
pop esi
pop ebp
mov dword [0x41fad0], eax
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov ecx, dword [0x42001c]
mov word [ecx], 2
mov edx, dword [0x42001c]
push edx
mov dword [0x41fa90], eax
call fcn.00408180
add esp, 4
dec eax
mov dword [0x41faac], eax
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
push 0
mov dword [0x420028], eax
call fcn.00408d70
push 0
mov dword [0x42072c], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41fccc], eax
jne 0x40a7ef
mov ecx, dword [0x42072c]
test ecx, ecx
mov esi, dword [0x420028]
jge 0x409eeb
mov ecx, esi
lea edi, [ecx + 1]
mov edi, edi
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x409ed0
sub ecx, edi
sub ecx, eax
mov dword [0x42072c], ecx
jns 0x409eeb
xor ecx, ecx
mov dword [0x42072c], ecx
add esi, ecx
mov ecx, dword [0x41faac]
cmp ecx, eax
mov dword [0x420028], esi
jge 0x409f04
mov eax, ecx
mov dword [0x41fccc], eax
mov edx, dword [0x41fa90]
xor edi, edi
test eax, eax
jle 0x409f31
mov cl, byte [esi]
inc esi
mov byte [edx], cl
inc edx
test cl, cl
mov byte [0x41fb38], cl
je 0x409f25
inc edi
cmp edi, eax
jl 0x409f10
mov dword [0x41fa90], edx
mov dword [0x420028], esi
pop edi
pop esi
pop ebp
mov byte [edx], 0
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov ecx, dword [0x42001c]
mov word [ecx], 4
mov dword [0x41fce4], eax
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov edx, dword [0x42001c]
cmp word [edx], 2
jne 0x40a726
call fcn.00408e10
mov ecx, dword [0x41fb14]
mov edx, dword [0x4206d0]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409f93
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x42072c], eax
jne 0x40a7ef
mov ecx, dword [0x41faa0]
mov edx, dword [0x41fb14]
lea esi, [ecx + eax]
push edx
push esi
call fcn.00411e10
add esp, 8
test eax, eax
jne 0x409fec
mov eax, dword [0x41fce4]
pop edi
pop esi
pop ebp
mov dword [eax], 0xffffffff
xor eax, eax
pop ebx
add esp, 8
ret
mov ecx, dword [0x41fce4]
pop edi
sub eax, esi
pop esi
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408d20
test eax, eax
mov dword [0x420634], eax
jne 0x40a82a
mov esi, dword [0x42000c]
shl esi, 4
add esi, 0x41fbc8
call fcn.00408990
mov eax, dword [esi + 4]
inc eax
push eax
mov dword [0x41fccc], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x42072c], eax
jne 0x40a7ef
mov edx, dword [0x420000]
dec eax
pop edi
mov dword [esi + 4], eax
pop esi
pop ebp
mov dword [0x41fae0], edx
mov dword [0x4206c8], 0x12
mov dword [0x41fadc], 8
mov dword [0x41fdf8], ecx
xor eax, eax
pop ebx
add esp, 8
ret
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0x7d00
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov eax, dword [0x42001c]
push 0
mov dword [0x41fcd0], eax
call fcn.00408d70
mov dword [0x42072c], eax
mov eax, dword [0x41fa9c]
add esp, 4
test eax, eax
jne 0x40a82a
mov ecx, dword [0x41fcd0]
push ecx
call fcn.00408150
mov eax, dword [0x42072c]
add esp, 4
cmp eax, 0x40
jge 0x40a17e
test al, 0x10
mov ecx, dword [0x4206cc]
je 0x40a14e
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 + 0x420058]
je 0x40a10e
mov dword [esp + 0x10], 2
test al, 0x20
mov dx, word [esp + 0x10]
mov word [esi], dx
je 0x40a13c
mov edi, dword [0x41fcd0]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x41fcd0]
pop edi
pop esi
pop ebp
mov word [eax + 2], 1
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [ecx + 0x420030]
mov ecx, dword [esi + 8]
shl ecx, 2
mov dword [esp + 0x14], ecx
jmp 0x40a1ae
test al, 0x20
je 0x40a16c
and eax, 0xf
lea edx, [ecx + ecx*2]
lea eax, [eax + edx*4]
mov eax, dword [eax*4 + 0x420030]
mov dword [esp + 0x10], 2
jmp 0x40a1ae
and eax, 0xf
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*4]
lea eax, [eax*4 + 0x420030]
jmp 0x40a1ae
test ah, 4
je 0x40a19b
mov ecx, dword [0x4206cc]
and eax, 7
lea edx, [ecx + ecx*2]
lea eax, [eax + edx*4]
mov eax, dword [eax*4 + 0x420058]
jmp 0x40a1ae
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x18]
push edx
push eax
call fcn.00404ac0
add esp, 0xc
mov ecx, dword [0x41fcd0]
mov word [ecx + 2], 1
mov edx, dword [0x41fcd0]
mov dword [edx + 0x1c], eax
mov eax, dword [0x41fcd0]
mov cx, word [esp + 0x10]
mov word [eax], cx
mov edx, dword [esp + 0x14]
mov eax, dword [0x41fcd0]
pop edi
sar edx, 2
mov dword [eax + 8], edx
mov ecx, dword [0x41fcd0]
pop esi
pop ebp
mov dword [ecx + 0xc], 0
xor eax, eax
pop ebx
add esp, 8
ret
push 0
call fcn.00408d70
push 0xffffffffffffffff
mov dword [0x42072c], eax
call fcn.00408d70
mov dword [0x41fccc], eax
mov eax, dword [0x41fa9c]
add esp, 8
test eax, eax
je 0x40a81b
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00408e10
mov eax, dword [0x41fa9c]
test eax, eax
je 0x40a81b
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov edx, dword [0x42001c]
push edx
mov dword [esp + 0x18], eax
call fcn.00408180
add esp, 4
mov esi, eax
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov eax, dword [0x42001c]
push eax
call fcn.00408180
push 0
mov ebx, eax
call fcn.00408d70
push 0
mov dword [0x42072c], eax
call fcn.00408d70
push 0
mov dword [0x41fccc], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0x10
test ecx, ecx
mov dword [0x41fcc8], eax
jne 0x40a7ef
mov ecx, dword [0x41faa0]
mov edi, dword [0x41fccc]
lea edx, [eax + ecx]
mov ecx, dword [0x42072c]
lea ebp, [edi + ecx]
cmp ebp, esi
mov dword [0x41fab8], edx
jg 0x40a4fd
add eax, ecx
cmp eax, ebx
jg 0x40a4fd
test ecx, ecx
jle 0x40a81b
push ecx
push edx
mov edx, dword [esp + 0x1c]
add edi, edx
push edi
call fcn.004131a0
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov edi, eax
mov eax, dword [0x42001c]
push eax
call fcn.00408180
push 0
mov esi, eax
call fcn.00408d70
push 0
mov dword [0x42072c], eax
call fcn.00408d70
push 0
mov dword [0x41fccc], eax
call fcn.00408d70
mov edx, eax
mov eax, dword [0x41fa9c]
add esp, 0x10
test eax, eax
mov dword [0x41fcc8], edx
jne 0x40a82a
mov ecx, dword [0x41fccc]
lea eax, [edx + ecx]
cmp eax, esi
jg 0x40a4fd
test ecx, ecx
jle 0x40a81b
mov al, byte [0x42072c]
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.00408470
test eax, eax
mov dword [0x41faa0], eax
je 0x40a7aa
mov ecx, dword [0x42001c]
mov word [ecx], 2
mov edx, dword [0x42001c]
mov esi, dword [edx + 0xc]
mov dword [0x42063c], ecx
xor ecx, ecx
test esi, esi
sete cl
pop edi
pop esi
pop ebp
mov dword [0x41fcdc], eax
xor eax, eax
pop ebx
mov dword [0x41fac4], ecx
add esp, 8
ret
mov eax, dword [0x41fcdc]
test eax, eax
je 0x40a726
call fcn.00408e10
mov edx, dword [0x4206d0]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x40a410
push 0xffffffffffffffff
call fcn.00408d70
push 0
mov dword [0x42072c], eax
call fcn.00408d70
mov dword [0x41fccc], eax
mov eax, dword [0x41fa9c]
add esp, 8
test eax, eax
jne 0x40a82a
mov ebx, dword [0x41fcdc]
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a450
sub eax, edx
mov edx, eax
mov eax, dword [0x4206d0]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a463
sub eax, esi
lea esi, [eax + edx + 3]
mov eax, dword [0x41fac4]
test eax, eax
mov dword [0x41fad0], esi
je 0x40a4ed
mov edi, dword [0x42063c]
push edi
call fcn.00408180
add esp, 4
cmp esi, eax
mov dword [0x41fcc8], eax
jl 0x40a4c1
lea eax, [esi + 0x7fff]
and eax, 0xffff8000
push 1
push eax
push edi
mov dword [0x41fad0], eax
call fcn.004081c0
mov eax, dword [0x42063c]
mov ebx, dword [eax + 0x1c]
add esp, 0xc
mov dword [0x41fcdc], ebx
mov eax, dword [0x41fccc]
mov ecx, dword [0x42072c]
mov edx, dword [0x4206d0]
push eax
push ecx
push edx
push ebx
call fcn.00411b70
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 [0x42063c]
mov edx, dword [ecx + 8]
shl edx, 2
cmp esi, edx
jl 0x40a4c1
pop edi
pop esi
pop ebp
mov eax, 0x14
pop ebx
add esp, 8
ret
mov eax, dword [0x41fcdc]
test eax, eax
je 0x40a726
call fcn.00408470
test eax, eax
mov dword [0x42072c], eax
je 0x40a7aa
push 2
call fcn.00408090
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 8
test ecx, ecx
mov dword [0x41fccc], eax
jne 0x40a7ef
mov ecx, dword [0x41fcdc]
push eax
mov eax, dword [0x42072c]
push eax
push ecx
call fcn.00411ac0
add esp, 0xc
pop edi
pop esi
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [0x41fcdc]
test eax, eax
je 0x40a726
call fcn.00408470
test eax, eax
mov dword [0x42072c], eax
je 0x40a7aa
cmp dword [0x420008], 4
je 0x40a5a7
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 8
ret
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a82a
mov edx, dword [0x41fcdc]
push edx
call fcn.00411b20
mov ecx, dword [0x42072c]
add esp, 4
pop edi
pop esi
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [0x41fcdc]
test eax, eax
je 0x40a726
push 0
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 4
test ecx, ecx
mov dword [0x42072c], eax
jne 0x40a7ef
mov edx, dword [0x41fcdc]
push 1
push eax
push 0x41a301
push edx
call fcn.00411b70
add esp, 0x10
pop edi
pop esi
pop ebp
mov dword [0x41fae8], eax
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [0x41fcdc]
test eax, eax
je 0x40a726
call fcn.00408e10
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a82a
mov ecx, dword [0x41fb14]
mov edx, dword [0x4206d0]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40a650
push 0xffffffffffffffff
call fcn.00408d70
mov dword [0x42072c], eax
mov eax, dword [0x41fa9c]
add esp, 4
test eax, eax
jne 0x40a82a
mov eax, dword [0x4206d0]
push eax
call fcn.00403e10
mov esi, eax
add esp, 4
test esi, esi
mov dword [0x41fad0], esi
jl 0x40a78f
mov eax, dword [0x42072c]
test eax, eax
jl 0x40a6a9
cmp esi, eax
jl 0x40a6a9
mov esi, eax
mov dword [0x41fad0], esi
mov eax, dword [0x41fac4]
test eax, eax
je 0x40a6ec
mov edi, dword [0x42063c]
push edi
call fcn.00408180
add esp, 4
cmp esi, eax
mov dword [0x41fccc], eax
jl 0x40a6ec
push 0
inc esi
push esi
push edi
call fcn.004081c0
mov ecx, dword [0x42063c]
mov edx, dword [ecx + 0x1c]
mov esi, dword [0x41fad0]
add esp, 0xc
mov dword [0x41fcdc], edx
mov eax, dword [0x41fcdc]
mov ecx, dword [0x4206d0]
push 0
push esi
push eax
push ecx
call fcn.00403ce0
mov eax, dword [0x41fcdc]
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
mov eax, dword [0x41fcdc]
test eax, eax
jne 0x40a733
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 8
ret
call fcn.00408e10
mov eax, dword [0x41fa9c]
test eax, eax
jne 0x40a82a
mov ecx, dword [0x41fb14]
mov edx, dword [0x4206d0]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40a751
mov edx, dword [0x41fcdc]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a766
mov ecx, dword [0x4206d0]
push 0xffffffffffffffff
sub eax, esi
push eax
push edx
push ecx
call fcn.00411d30
add esp, 0x10
test eax, eax
mov dword [0x41fad0], eax
jge 0x40a81b
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 8
ret
call fcn.00408470
test eax, eax
mov dword [0x41faa0], eax
jne 0x40a7b7
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 8
ret
mov edx, dword [0x42001c]
push edx
mov esi, eax
call fcn.00408180
push 0
mov dword [0x41fcc8], eax
call fcn.00408d70
push 0
mov dword [0x42072c], eax
call fcn.00408d70
mov ecx, dword [0x41fa9c]
add esp, 0xc
test ecx, ecx
mov dword [0x41fccc], eax
je 0x40a7f9
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 8
ret
test eax, eax
mov ecx, dword [0x42072c]
jne 0x40a80f
mov eax, dword [0x41fcc8]
sub eax, ecx
mov dword [0x41fccc], eax
push eax
add ecx, esi
push ecx
call fcn.00403ba0
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.00408470
mov esi, eax
test esi, esi
mov dword [0x41faa0], esi
jne 0x40a939
mov eax, 0x100
pop esi
ret
mov eax, dword [0x42001c]
mov dword [0x41fcd0], eax
mov eax, dword [0x41fadc]
test eax, eax
je 0x40a953
mov eax, 2
pop esi
ret
mov eax, dword [0x4206c8]
cmp eax, 0x2b
push edi
jne 0x40aa0d
call fcn.00408270
mov eax, dword [0x41fadc]
test eax, eax
jne 0x40a97f
mov eax, dword [0x4206c8]
cmp eax, 0x3d
jne 0x40a9ac
call fcn.00408270
mov dword [0x420010], 0
call fcn.004089c0
test eax, eax
mov dword [0x420634], eax
jne 0x40a9a9
mov eax, dword [0x41fac8]
test eax, eax
jne 0x40a9bd
mov eax, dword [0x41faa0]
inc dword [eax]
xor eax, eax
pop edi
pop esi
ret
cmp eax, 0x2b
jne 0x40a97f
inc dword [esi]
call fcn.00408270
pop edi
xor eax, eax
pop esi
ret
cmp eax, 1
jne 0x40a9d8
mov eax, dword [0x41faa0]
mov edx, dword [eax]
mov ecx, dword [0x420838]
add edx, ecx
pop edi
mov dword [eax], edx
xor eax, eax
pop esi
ret
mov eax, dword [0x41fb14]
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a9e0
mov edi, dword [0x41faa0]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40a9f0
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 0x40aa83
call fcn.00408270
mov eax, dword [0x41fadc]
test eax, eax
jne 0x40aa2f
mov eax, dword [0x4206c8]
cmp eax, 0x3d
jne 0x40aa63
call fcn.00408270
mov dword [0x420010], 0
call fcn.004089c0
test eax, eax
mov dword [0x420634], eax
jne 0x40a9a9
mov eax, dword [0x41fac8]
test eax, eax
mov eax, dword [0x41faa0]
mov ecx, dword [eax]
jne 0x40aa74
dec ecx
pop edi
mov dword [eax], ecx
xor eax, eax
pop esi
ret
cmp eax, 0x2d
jne 0x40aa2f
dec dword [esi]
call fcn.00408270
pop edi
xor eax, eax
pop esi
ret
mov edx, dword [0x420838]
sub ecx, edx
pop edi
mov dword [eax], ecx
xor eax, eax
pop esi
ret
cmp eax, 0x3d
je 0x40aa90
pop edi
mov eax, 2
pop esi
ret
call fcn.00408270
mov dword [0x420010], 0
call fcn.004089c0
test eax, eax
mov dword [0x420634], eax
jne 0x40a9a9
cmp dword [0x41fac8], 1
mov eax, dword [0x41fcd0]
jne 0x40aae0
mov ecx, dword [0x41faa0]
mov word [eax], 4
mov edx, dword [0x420838]
mov dword [ecx], edx
cmp dword [0x420010], 0xffffffff
jne 0x40ab08
pop edi
xor eax, eax
pop esi
ret
mov edx, dword [0x41faa0]
mov word [eax], 2
mov ecx, dword [0x41fb14]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40aaf1
cmp dword [0x420010], 0xffffffff
je 0x40a9a7
mov eax, dword [0x41fcd0]
movsx edi, word [eax]
cmp edi, 2
mov esi, 4
jne 0x40ab22
mov esi, dword [eax + 8]
shl esi, 2
jmp 0x40ab27
mov edi, 1
call fcn.004089c0
test eax, eax
mov dword [0x420634], eax
jne 0x40ab79
mov eax, dword [0x41fac8]
cmp eax, edi
jne 0x40ab87
mov edx, dword [0x41faa0]
add edx, esi
cmp eax, 1
mov dword [0x41faa0], edx
jne 0x40ab5b
mov ecx, dword [0x420838]
mov dword [edx], ecx
jmp 0x40ab6b
mov ecx, dword [0x41fb14]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40ab61
call fcn.004089c0
test eax, eax
mov dword [0x420634], eax
je 0x40ab35
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 [0x4206c8]
push edi
mov dword [0x41fb30], esi
call fcn.00408990
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 0x40b23c
push 0
call fcn.00408d70
add esp, 4
mov dword [0x42072c], eax
jmp 0x40b286
cmp eax, 1
jne 0x40b268
call fcn.00408470
test eax, eax
mov dword [0x42072c], eax
je 0x40b2b2
mov eax, dword [0x4206cc]
mov ecx, dword [0x42001c]
lea eax, [eax + eax*2]
shl eax, 4
mov dword [eax + 0x420088], ecx
jmp 0x40b286
call fcn.00408e10
mov edx, 0x41fe00
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x40b272
mov dword [0x42072c], 0x41fe00
xor eax, eax
mov al, byte [edi + 4]
sar eax, 4
and eax, 0xf
jne 0x40b29f
push 0
call fcn.00408d70
add esp, 4
jmp 0x40b2ef
cmp eax, 1
jne 0x40b2d4
call fcn.00408470
test eax, eax
mov dword [0x41fccc], eax
jne 0x40b2ba
pop edi
mov eax, 0x100
pop esi
ret
mov ecx, dword [0x4206cc]
mov esi, dword [0x42001c]
lea edx, [ecx + ecx*2]
shl edx, 4
mov dword [edx + 0x42008c], esi
jmp 0x40b2fa
call fcn.00408e10
mov edx, 0x41fcf0
mov edi, edi
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x40b2e0
mov eax, 0x41fcf0
mov ecx, dword [0x4206cc]
mov dword [0x41fccc], eax
cmp ecx, 0x20
jl 0x40b307
pop edi
mov eax, 9
pop esi
ret
mov esi, dword [0x42072c]
inc ecx
lea edx, [ecx + ecx*2]
shl edx, 4
mov dword [edx + 0x420030], esi
mov dword [edx + 0x420034], eax
mov eax, dword [0x41fa9c]
test eax, eax
mov dword [0x4206cc], ecx
jne 0x40b3b0
mov esi, 2
cmp word [edi + 6], si
jle 0x40b384
mov edi, edi
call fcn.004089c0
test eax, eax
mov dword [0x420634], eax
jg 0x40b3b0
mov eax, dword [0x41fac8]
test eax, eax
jne 0x40b35e
mov dword [0x420838], eax
jmp 0x40b363
cmp eax, 1
jne 0x40b3ab
mov ecx, dword [0x4206cc]
lea eax, [ecx + ecx*2]
lea edx, [esi + eax*4]
mov eax, dword [0x420838]
mov dword [edx*4 + 0x420030], eax
movsx edx, word [edi + 6]
inc esi
cmp esi, edx
jl 0x40b340
mov eax, dword [0x41fdf4]
mov edx, dword [0x41fcd8]
mov dword [ecx*4 + 0x41fb3c], eax
mov ecx, dword [edi + 0xc]
lea eax, [edx + ecx*2]
mov dword [0x41fae0], eax
call fcn.00408270
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.0x40b46d.5
jmp dword [eax*4 + 0x40b4b8]
jmp 0x40a920
call fcn.00408990
mov eax, 0x12
ret
jmp 0x409010
jmp 0x404b30
jmp 0x4079a0
jmp 0x408f70
jmp 0x40b200
mov dword [0x41facc], 0xffffffff
xor eax, eax
ret
call fcn.00408990
mov eax, 1
ret