Function at 0x404020
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 [0x41fe84]
sub esp, 0x194
mov dword [0x41dd80], eax
push ebx
push ebp
push esi
push edi
call fcn.00406f70
mov eax, dword [0x41dd80]
cmp eax, 0x4c
ja case.0x404047.1
jmp dword [eax*4 + 0x40615c]
call fcn.00407f10
mov eax, dword [0x41fecc]
test eax, eax
jne 0x406150
call fcn.00407e10
test eax, eax
mov dword [0x41fc64], eax
jne 0x406150
mov ecx, dword [0x41fe84]
mov edx, dword [0x41ff1c]
mov eax, dword [0x41f0bc]
push ecx
push edx
push eax
call fcn.004013b0
add esp, 0xc
mov dword [0x41ff38], eax
call fcn.00406ce0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
call fcn.00407f10
push 0xffffffffffffffff
mov dword [0x41f0d8], eax
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x4040d5
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
test eax, eax
jge 0x4040fd
mov edx, dword [0x41f0bc]
mov ecx, dword [0x41f0d8]
push ecx
mov eax, dword [edx + 0x34]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0bc]
mov eax, dword [ecx + eax*4 + 0xa4]
test eax, eax
je 0x405191
mov edx, dword [0x41f0d8]
push edx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
mov eax, dword [0x41f0bc]
mov ecx, dword [eax + 0x6c]
push ecx
call fcn.00407e70
mov edx, dword [0x41f0bc]
mov dword [0x41f0ac], eax
mov eax, dword [edx + 0x70]
push eax
call fcn.00407e70
mov dword [0x41f0b0], eax
mov eax, dword [0x41fecc]
add esp, 8
test eax, eax
jne 0x406150
mov ecx, dword [0x41f0bc]
mov edx, dword [0x41f0ac]
pop edi
pop esi
mov dword [ecx + 0x6c], edx
mov eax, dword [0x41f0bc]
mov ecx, dword [0x41f0b0]
pop ebp
mov dword [eax + 0x70], ecx
xor eax, eax
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x4041b4
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov edx, dword [0x41f0bc]
push eax
push edx
call fcn.00402320
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
call fcn.00407f10
mov dword [0x41f0d8], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0xc
mov eax, ecx
mov esi, edi
mov edi, dword [0x420048]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
mov dword [0x41f0b0], eax
mov eax, dword [0x41fecc]
add esp, 8
mov dword [0x41f0b4], 0
test eax, eax
jne 0x406150
mov ecx, dword [0x41f0bc]
push ecx
call fcn.00401760
mov edx, dword [0x41f0b4]
mov eax, dword [0x41f0b0]
mov ecx, dword [0x41f0ac]
push edx
mov edx, dword [0x420048]
push eax
mov eax, dword [0x41f0bc]
push ecx
push edx
push eax
call fcn.004017f0
add esp, 0x18
jmp 0x405184
push 0
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x404290
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0bc]
push eax
push ecx
call fcn.004018e0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0x40
call fcn.00407e70
push 0x18
mov dword [0x41f0ac], eax
call fcn.00407e70
push 0
mov dword [0x41f0b0], eax
call fcn.00407e70
mov dword [0x41f0b4], eax
mov eax, dword [0x41fecc]
add esp, 0xc
test eax, eax
jne 0x406150
mov edx, dword [0x41f0bc]
mov eax, dword [0x41f0ac]
pop edi
pop esi
mov dword [edx + 0x74], eax
mov ecx, dword [0x41f0bc]
mov edx, dword [0x41f0b0]
pop ebp
mov dword [ecx + 0x78], edx
mov eax, dword [0x41f0bc]
mov ecx, dword [0x41f0b4]
pop ebx
mov dword [eax + 0x7c], ecx
xor eax, eax
add esp, 0x194
ret
call fcn.00407f10
mov dword [0x41f0d8], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push eax
mov edx, ecx
mov esi, edi
mov edi, dword [0x420048]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00407e70
push 0
mov dword [0x41f0b4], eax
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 0xc
test ecx, ecx
mov dword [0x41f0b0], eax
je 0x404383
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0b4]
test ecx, ecx
jne 0x4043c3
mov ecx, dword [0x41f0bc]
mov edx, dword [ecx + 0x44]
push edx
mov edx, dword [ecx + 0x48]
push edx
mov edx, dword [0x420048]
push eax
mov eax, dword [0x41f0ac]
push eax
push edx
push ecx
call fcn.00402a10
add esp, 0x18
mov dword [0x41dd78], eax
mov dword [0x41fdfc], 1
jmp 0x4043e9
mov ecx, dword [0x420048]
mov edx, dword [0x41f0bc]
push 0
push 0
push eax
mov eax, dword [0x41f0ac]
push eax
push ecx
push edx
call fcn.00402a10
add esp, 0x18
mov dword [0x41dd78], eax
test eax, eax
je case.0x404047.18
pop edi
pop esi
pop ebp
mov eax, 0xd
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
push 0
mov dword [0x41f0b0], eax
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 0xc
test ecx, ecx
mov dword [0x41f0b4], eax
je 0x40443f
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0ac]
mov edx, dword [0x41f0bc]
push eax
mov eax, dword [0x41f0b0]
push eax
push ecx
push edx
call fcn.00401930
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x40448f
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
push 0
push eax
mov eax, dword [0x41f0bc]
push 0xffffffffffffffff
push eax
call fcn.00401930
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
push 0
mov dword [0x41f0b0], eax
call fcn.00407e70
push 0
mov dword [0x41f0b4], eax
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 0x10
test ecx, ecx
mov dword [0x41f0b8], eax
je 0x4044f9
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0b4]
mov edx, dword [0x41f0b0]
push eax
mov eax, dword [0x41f0ac]
push ecx
mov ecx, dword [0x41f0bc]
push edx
push eax
push ecx
call fcn.00401d20
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
mov ebx, 1
push ebx
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
push 0
mov dword [0x41f0b0], eax
call fcn.00407e70
push 0
mov dword [0x41f0b4], eax
call fcn.00407e70
push 0
mov dword [0x41f0b8], eax
call fcn.00407e70
mov dword [0x41f0c0], eax
mov eax, dword [0x41fecc]
add esp, 0x14
test eax, eax
jne 0x406150
mov eax, dword [0x41f0bc]
cmp dword [eax + 0x44], ebx
je case.0x404047.18
mov ecx, dword [0x41f0ac]
test ecx, ecx
jne 0x40459e
mov dword [0x41f0ac], 2
jmp 0x4045e9
cmp ecx, 2
jge 0x4045e9
mov word [eax + 0x4e], bx
mov eax, dword [0x41f0b8]
test eax, eax
je 0x4045da
mov ecx, dword [0x41f0c0]
test ecx, ecx
je 0x4045da
mov edx, dword [0x41f0b4]
push ecx
mov ecx, dword [0x41f0bc]
push eax
mov eax, dword [0x41f0b0]
push edx
push eax
push ecx
call fcn.00402250
add esp, 0x14
jmp 0x4045e9
mov edx, dword [0x41f0bc]
push edx
call fcn.00402210
add esp, 4
mov al, byte [0x41f0ac]
mov ecx, dword [0x41f0bc]
and eax, ebx
pop edi
pop esi
mov word [ecx + 0x4e], ax
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
or esi, 0xffffffff
push esi
call fcn.00407e70
push esi
mov dword [0x41f0ac], eax
call fcn.00407e70
push esi
mov dword [0x41f0b0], eax
call fcn.00407e70
push esi
mov dword [0x41f0b4], eax
call fcn.00407e70
mov dword [0x41f0b8], eax
mov eax, dword [0x41fecc]
add esp, 0x10
test eax, eax
jne 0x406150
mov eax, dword [0x41f0bc]
cmp dword [eax + 0x44], 5
jne 0x4046ab
mov eax, dword [eax + 0x34]
lea edx, [esp + 0x18]
push edx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [0x41f0ac]
test ecx, ecx
jge 0x404675
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [0x41f0ac], ecx
mov eax, dword [0x41f0b0]
test eax, eax
jge 0x40468a
mov edx, dword [esp + 0x24]
lea eax, [edx + 1]
mov dword [0x41f0b0], eax
push eax
mov eax, dword [0x41f0bc]
push ecx
push eax
call fcn.0040f930
mov eax, dword [0x41f0bc]
add esp, 0xc
mov dword [0x41f0ac], esi
mov dword [0x41f0b0], esi
mov ecx, dword [0x41f0b0]
mov edx, dword [0x41f0ac]
push ecx
mov ecx, dword [0x41f0b8]
push edx
mov edx, dword [0x41f0b4]
push ecx
push edx
push eax
call fcn.00401fc0
add esp, 0x14
mov dword [0x41fdfc], 1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
mov dword [0x41f0b0], eax
mov eax, dword [0x41fecc]
add esp, 8
test eax, eax
jne 0x406150
mov eax, dword [0x41f0ac]
push eax
call fcn.0040eae0
add esp, 4
test eax, eax
jne 0x404731
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0ac]
push ecx
call fcn.0040ead0
mov ecx, dword [0x41f0b0]
mov edx, dword [0x41f0ac]
add esp, 4
mov dword [0x41f0bc], eax
test ecx, ecx
mov dword [0x41dd70], edx
jge 0x404774
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, 0x194
ret
jle case.0x404047.18
mov eax, dword [eax + 0x34]
xor edx, edx
cmp ecx, 1
push 5
setne dl
add edx, 0xfffffffe
push eax
mov esi, edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0x41f0bc]
mov edx, dword [ecx + 0x34]
push edx
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov eax, dword [0x41f0bc]
push 3
push 0
push 0
mov ecx, dword [eax + 0x34]
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, 0x194
ret
push 1
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
push 0
mov dword [0x41f0b0], eax
call fcn.00407e70
mov edx, dword [0x41f0bc]
mov dword [0x41f0b4], eax
mov eax, dword [edx + 0x84]
push eax
call fcn.00407e70
mov ecx, dword [0x41f0bc]
mov dword [0x41f0b8], eax
mov edx, dword [ecx + 0x88]
push edx
call fcn.00407e70
mov dword [0x41f0c0], eax
mov eax, dword [0x41fecc]
add esp, 0x14
test eax, eax
jne 0x406150
mov eax, dword [0x41f0ac]
push eax
call fcn.0040eae0
add esp, 4
test eax, eax
jne 0x40484e
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0bc]
mov eax, dword [0x41f0c0]
mov edx, dword [ecx + 0x8c]
mov ecx, dword [0x41f0b8]
push edx
mov edx, dword [0x41f0b4]
push eax
mov eax, dword [0x41f0b0]
push ecx
mov ecx, dword [0x41f0ac]
push edx
push eax
push ecx
call fcn.0040ead0
mov edx, dword [0x41f0bc]
add esp, 4
push eax
push edx
call fcn.00403080
add esp, 0x1c
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
push 1
mov dword [0x41f0b0], eax
call fcn.00407e70
push 0
mov dword [0x41f0b4], eax
call fcn.00407e70
push 0
mov dword [0x41f0b8], eax
call fcn.00407e70
mov dword [0x41f0c0], eax
mov eax, dword [0x41f0bc]
mov ecx, dword [eax + 0x84]
push ecx
call fcn.00407e70
mov edx, dword [0x41f0bc]
mov dword [0x41f0c4], eax
mov eax, dword [edx + 0x88]
push eax
call fcn.00407e70
mov dword [0x41f0c8], eax
mov eax, dword [0x41fecc]
add esp, 0x1c
test eax, eax
jne 0x406150
mov ecx, dword [0x41f0b4]
push ecx
call fcn.0040eae0
add esp, 4
test eax, eax
jne 0x40493d
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x194
ret
mov edx, dword [0x41f0c8]
mov eax, dword [0x41f0c4]
mov ecx, dword [0x41f0c0]
push edx
mov edx, dword [0x41f0b8]
push eax
mov eax, dword [0x41f0b4]
push ecx
push edx
push eax
call fcn.0040ead0
mov ecx, dword [0x41f0b0]
mov edx, dword [0x41f0ac]
add esp, 4
push eax
mov eax, dword [0x41f0bc]
push ecx
push edx
push eax
call fcn.00403110
add esp, 0x20
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
push 0x20
mov dword [0x41f0ac], eax
call fcn.00407e70
push 0x20
mov dword [0x41f0b0], eax
call fcn.00407e70
push 0
mov dword [0x41f0b4], eax
call fcn.00407e70
mov dword [0x41f0b8], eax
mov eax, dword [0x41fecc]
add esp, 0x10
test eax, eax
jne 0x406150
mov ecx, dword [0x41f0bc]
mov edx, dword [0x41f0ac]
pop edi
pop esi
mov dword [ecx + 0x8c], edx
mov eax, dword [0x41f0bc]
mov ecx, dword [0x41f0b0]
pop ebp
mov dword [eax + 0x84], ecx
mov edx, dword [0x41f0bc]
mov eax, dword [0x41f0b4]
pop ebx
mov dword [edx + 0x88], eax
mov ecx, dword [0x41f0bc]
mov edx, dword [0x41f0b8]
xor eax, eax
mov dword [ecx + 0x308], edx
add esp, 0x194
ret
call fcn.00407f10
mov ecx, dword [0x41fecc]
mov dword [0x41f0d8], eax
test ecx, ecx
je 0x404a44
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
push eax
mov eax, dword [0x41f0bc]
push eax
call fcn.00402630
add esp, 8
jmp 0x404b8e
push 0
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x404a7e
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
test eax, eax
je 0x404a8c
or eax, 0x10000
mov dword [0x41f0ac], eax
mov ecx, dword [0x41f0bc]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x2a8], eax
xor eax, eax
pop ebx
add esp, 0x194
ret
call fcn.00406de0
test eax, eax
mov dword [0x41f0ac], eax
jne 0x404ac3
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x194
ret
mov ebx, 1
mov dword [0x41f0a0], eax
push ebx
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x404af2
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edx, dword [0x41f0a0]
pop edi
shr eax, 0xf
and eax, ebx
pop esi
mov dword [0x41f0b0], eax
mov dword [edx], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
call fcn.00407f10
mov dword [0x41f0d8], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, dword [0x420048]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 8
test ecx, ecx
mov dword [0x41f0b0], eax
je 0x404b77
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0ac]
mov edx, dword [0x420048]
push eax
push ecx
push edx
call fcn.00410270
add esp, 0xc
test eax, eax
mov dword [0x41dd78], eax
je case.0x404047.18
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
mov dword [0x41f0ac], eax
mov eax, dword [0x41fecc]
add esp, 4
test eax, eax
jne 0x406150
mov eax, dword [0x41f0bc]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
push ecx
mov ecx, dword [eax + 0x70]
push edx
mov edx, dword [eax + 0x6c]
mov eax, dword [eax + 0x34]
push ecx
push edx
push eax
call fcn.00410180
mov ecx, dword [0x41f0ac]
push ecx
call fcn.00410490
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
call fcn.00407f10
mov ecx, dword [0x41fecc]
mov dword [0x41f0d8], eax
test ecx, ecx
je 0x404c22
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
push eax
call fcn.00410140
add esp, 4
mov dword [0x41ff38], eax
call fcn.00410170
jmp 0x405084
call fcn.00406de0
test eax, eax
mov dword [0x41f0ac], eax
jne 0x404c58
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x194
ret
mov edx, dword [0x41f64c]
mov ecx, 2
cmp edx, ecx
jne 0x404c92
mov dword [0x41dd78], ecx
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [0x420048]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x404cb0
mov ecx, dword [0x420048]
mov dword [0x41dd78], 1
mov edx, dword [eax]
push 0xa
push ecx
push edx
call fcn.00410af8
add esp, 0xc
call fcn.00406b80
mov dword [0x41f0c4], eax
mov eax, dword [0x41f0bc]
mov ecx, dword [eax + 0x74]
push ecx
call fcn.00407e70
mov edx, dword [0x41f0bc]
mov dword [0x41f0b0], eax
mov eax, dword [edx + 0x78]
push eax
call fcn.00407e70
mov ecx, dword [0x41f0c4]
mov dword [0x41f0b4], eax
push ecx
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 0xc
test ecx, ecx
mov dword [0x41f0b8], eax
je 0x404d0c
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov edx, dword [0x41dd78]
mov ecx, dword [0x41f0b4]
push eax
mov eax, dword [0x41f0ac]
add edx, 0x200
push edx
mov edx, dword [0x41f0b0]
push eax
mov eax, dword [0x420048]
push ecx
mov ecx, dword [0x41f0bc]
push edx
push eax
push ecx
call fcn.00401430
add esp, 0x1c
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
call fcn.00406de0
test eax, eax
mov dword [0x41f0ac], eax
jne 0x404d6e
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x194
ret
cmp dword [0x41f64c], 2
je 0x404d87
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 0x194
ret
call fcn.00406b80
mov edx, dword [0x41f0bc]
mov dword [0x41f0c4], eax
mov eax, dword [edx + 0x74]
push eax
call fcn.00407e70
mov ecx, dword [0x41f0bc]
mov dword [0x41f0b0], eax
mov edx, dword [ecx + 0x78]
push edx
call fcn.00407e70
push 0
mov dword [0x41f0b4], eax
call fcn.00407e70
mov dword [0x41f0b8], eax
mov eax, dword [0x41f0c4]
push eax
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 0x10
test ecx, ecx
mov dword [0x41f0c0], eax
je 0x404def
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov dl, byte [0x41f0b8]
xor ecx, ecx
test dl, 1
mov dword [0x41dd78], ecx
je 0x404e0d
mov ecx, 0x200
mov dword [0x41dd78], ecx
test dl, 2
je 0x404e1d
mov ecx, 0x400
mov dword [0x41dd78], ecx
test dl, 4
je 0x404e2b
or ch, 8
mov dword [0x41dd78], ecx
mov edx, dword [0x41f0b0]
or ecx, 0x102
push eax
mov eax, dword [0x41f0ac]
push ecx
mov ecx, dword [0x41f0b4]
push eax
push ecx
push edx
push eax
mov eax, dword [0x41f0bc]
push eax
call fcn.00401430
add esp, 0x1c
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
push 0x280
mov dword [0x41dd78], eax
call fcn.00407e70
push 0x1e0
mov dword [0x41f0ac], eax
call fcn.00407e70
mov ecx, dword [0x42116c]
mov dword [0x41f0b0], eax
push ecx
call fcn.00407e70
push 0xffffffffffffffff
mov dword [0x41f0b4], eax
call fcn.00407e70
push 0xffffffffffffffff
mov dword [0x41f0b8], eax
call fcn.00407e70
mov edx, dword [0x41f0ac]
mov dword [0x41f0c0], eax
push edx
call fcn.00407e70
mov dword [0x41f0c4], eax
mov eax, dword [0x41f0b0]
push eax
call fcn.00407e70
mov dword [0x41f0c8], eax
mov eax, dword [0x41fecc]
add esp, 0x20
test eax, eax
jne 0x406150
mov ecx, dword [0x41f0b4]
mov edx, dword [0x41dd78]
sar ecx, 2
push ecx
push edx
call fcn.0040eb00
mov edx, dword [0x41f0b4]
add esp, 8
and edx, 3
mov eax, 5
mov dword [0x41f0b4], edx
mov edx, dword [0x41dd78]
cmp edx, 2
mov dword [0x41dd7c], eax
jge 0x404f2e
mov eax, 3
mov dword [0x41dd7c], eax
mov ecx, dword [0x41dd80]
mov ebx, 1
cmp ecx, 0x29
jne 0x404f47
mov eax, ebx
mov dword [0x41dd7c], eax
jmp 0x404f7b
cmp ecx, 0x2b
jne 0x404f58
mov eax, 2
mov dword [0x41dd7c], eax
jmp 0x404f7b
cmp eax, 5
jne 0x404f7b
push edx
call fcn.0040eaf0
add esp, 4
test bl, al
je 0x404f76
mov eax, 4
mov dword [0x41dd7c], eax
jmp 0x404f7b
mov eax, dword [0x41dd7c]
mov ecx, dword [0x41f0b4]
mov edx, dword [0x41f0b0]
push ecx
mov ecx, dword [0x41f0ac]
push edx
mov edx, dword [0x41f0c8]
push ecx
mov ecx, dword [0x41f0c4]
push edx
mov edx, dword [0x41f0c0]
push ecx
mov ecx, dword [0x41f0b8]
push edx
mov edx, dword [0x41dd78]
push ecx
push eax
push edx
call fcn.0040eb80
mov eax, dword [0x41dd7c]
add esp, 0x24
cmp eax, ebx
je case.0x404047.18
pop edi
pop esi
mov dword [0x41fdfc], ebx
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
call fcn.00407f10
mov dword [0x41f0d8], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, dword [0x420048]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00407e70
push 0x41dbb0
mov dword [0x41f0ac], eax
call fcn.00407f70
mov ecx, dword [0x41fecc]
add esp, 8
test ecx, ecx
mov dword [0x41f0d8], eax
je 0x40503e
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0ac]
test cl, 0x10
je 0x4050b1
mov edx, dword [0x420048]
push eax
mov eax, dword [0x41f0bc]
and ecx, 3
push edx
push ecx
mov ecx, dword [eax + 0x34]
push ecx
call fcn.00406a40
add esp, 0x10
mov dword [0x41ff38], eax
test eax, eax
jne 0x40507f
pop edi
pop esi
pop ebp
mov byte [0x41dd84], al
pop ebx
add esp, 0x194
ret
call fcn.00406a30
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x41dd84
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
test cl, 0x20
je 0x405108
mov eax, dword [0x41f0bc]
mov ebx, 1
and ecx, ebx
push ecx
mov ecx, dword [eax + 0x34]
push ecx
call fcn.00406ab0
add esp, 8
cmp eax, 0xffffffff
mov dword [0x41dd78], eax
jne 0x4050f0
pop edi
pop esi
pop ebp
mov dword [0x41ff38], 0
xor eax, eax
pop ebx
add esp, 0x194
ret
pop edi
pop esi
mov dword [0x41f0f4], eax
mov dword [0x41ff38], ebx
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
mov edx, ecx
and dl, 1
neg dl
sbb edx, edx
and edx, 0xfffffff0
add edx, 0x40
test cl, 2
mov dword [0x41dd78], edx
je 0x40512b
or edx, 4
mov dword [0x41dd78], edx
mov ecx, dword [0x41f0bc]
push edx
push eax
mov eax, dword [0x420048]
mov edx, dword [ecx + 0x34]
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
mov dword [0x41ff38], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x40517b
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
push eax
call fcn.004039a0
add esp, 4
test eax, eax
mov dword [0x41dd78], eax
je case.0x404047.18
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x194
ret
call fcn.00407f10
mov dword [0x41f0d8], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, dword [0x420048]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00407e70
push 0x41dbb0
mov dword [0x41f0ac], eax
call fcn.00407f70
mov edx, eax
mov eax, dword [0x41fecc]
add esp, 8
mov dword [0x41f0d8], edx
test eax, eax
jne 0x406150
mov cl, byte [0x41f0ac]
mov eax, 0xa
test cl, 2
mov dword [0x41dd7c], eax
je 0x40521b
mov eax, 2
mov dword [0x41dd7c], eax
mov ebx, 1
test bl, cl
mov dword [0x41fdfc], ebx
je 0x405234
mov dword [0x41fdfc], 0xfffffffa
cmp byte [edx], 0
je 0x40528d
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x28]
rep stosd dword es:[edi], eax
mov ecx, dword [0x41f0bc]
mov dword [esp + 0x28], 0x3c
mov dword [esp + 0x2c], 0xc
mov eax, dword [ecx + 0x34]
mov ecx, dword [0x420048]
mov dword [esp + 0x34], edx
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
test cl, 0x10
je 0x4052bd
push eax
mov eax, dword [0x420048]
push 0x41dbb0
push 0x41dbb0
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
test cl, 0x20
push eax
je 0x4052ee
mov ecx, dword [0x420048]
push 0x41dbb0
push 0x41dbb0
push ecx
push str.print
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
mov edx, dword [0x420048]
push edx
call dword [sym.imp.KERNEL32.dll_WinExec]
cmp eax, 0x20
mov dword [0x41dd78], eax
jge case.0x404047.18
pop edi
pop esi
pop ebp
mov eax, 0xe
pop ebx
add esp, 0x194
ret
call fcn.00407f10
mov ecx, dword [0x41fecc]
mov dword [0x41f0d8], eax
test ecx, ecx
je 0x40533a
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
push eax
call fcn.0041138f
add esp, 4
mov dword [0x41ff38], eax
test eax, eax
je case.0x404047.18
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x194
ret
call fcn.00410200
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
mov dword [0x41f0b0], eax
mov eax, dword [0x41f0bc]
mov ecx, dword [eax + 4]
push ecx
call fcn.00407e70
mov edx, dword [0x41f0bc]
mov dword [0x41f0b4], eax
mov eax, dword [edx + 8]
push eax
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 0x10
test ecx, ecx
mov dword [0x41f0b8], eax
je 0x4053cb
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0b4]
mov edx, dword [0x41f0b0]
push eax
mov eax, dword [0x41f0ac]
push ecx
mov ecx, dword [0x41f0bc]
push edx
push eax
push ecx
call fcn.00403180
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
mov edx, dword [0x41f0bc]
mov eax, dword [edx + 0x6c]
push eax
call fcn.00407e70
mov ecx, dword [0x41f0bc]
mov dword [0x41f0ac], eax
mov edx, dword [ecx + 0x70]
push edx
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 8
test ecx, ecx
mov dword [0x41f0b0], eax
je 0x40543e
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0bc]
push eax
mov eax, dword [0x41f0ac]
push eax
push ecx
call fcn.004031f0
add esp, 0xc
mov dword [0x41f0f4], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
mov edx, dword [0x41f0bc]
mov eax, dword [edx + 0x6c]
push eax
call fcn.00407e70
mov ecx, dword [0x41f0bc]
mov dword [0x41f0ac], eax
mov edx, dword [ecx + 0x70]
push edx
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 8
test ecx, ecx
mov dword [0x41f0b0], eax
je 0x4054a8
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0bc]
push eax
mov eax, dword [0x41f0ac]
push eax
push ecx
call fcn.00403210
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
push 0xff
mov dword [0x41f0b0], eax
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 0xc
test ecx, ecx
mov dword [0x41f0b4], eax
je 0x40550c
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov edx, dword [0x41f0ac]
mov ecx, dword [0x41f0bc]
push edx
push eax
mov eax, dword [0x41f0b0]
push eax
push ecx
call fcn.00401c50
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x40555c
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov edx, dword [0x41f0bc]
pop edi
pop esi
pop ebp
mov ecx, dword [edx + 0x24]
xor edx, edx
mov dh, byte [ecx + eax*4]
pop ebx
mov dl, byte [ecx + eax*4 + 1]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov cl, byte [eax + 2]
shl edx, 8
or edx, ecx
xor eax, eax
mov dword [0x41f0f4], edx
add esp, 0x194
ret
call fcn.00406de0
test eax, eax
mov dword [0x41f0ac], eax
jne 0x4055ac
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x194
ret
push 0
mov dword [0x41f0a0], eax
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x4055d7
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
push eax
call fcn.00403bd0
mov edx, dword [0x41f0a0]
add esp, 4
pop edi
pop esi
mov dword [edx], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x40561b
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0bc]
mov edx, dword [ecx + 0x48]
push edx
push eax
call fcn.0040ead0
add esp, 4
push eax
call fcn.004029a0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x40566f
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
push eax
call fcn.00411367
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
push 0xffffffffffffffff
mov dword [0x41f0ac], eax
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 8
test ecx, ecx
mov dword [0x41f0b0], eax
je 0x4056b7
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0bc]
push eax
mov eax, dword [0x41f0ac]
push eax
push ecx
call fcn.00401050
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
call fcn.00407f10
mov dword [0x41f0d8], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [0x420048]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00406de0
test eax, eax
mov dword [0x41f0ac], eax
jne 0x405725
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x194
ret
cmp dword [0x41f64c], 4
je 0x40573e
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41fecc]
test ecx, ecx
je 0x405755
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0bc]
push eax
mov eax, dword [0x420048]
push eax
push ecx
call fcn.00401570
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
mov edx, dword [0x41f0bc]
mov dword [0x41f0b0], eax
mov eax, dword [edx + 0x6c]
push eax
call fcn.00407e70
mov ecx, dword [0x41f0bc]
mov dword [0x41f0b4], eax
mov edx, dword [ecx + 0x70]
push edx
call fcn.00407e70
mov dword [0x41f0b8], eax
mov eax, dword [0x41fecc]
add esp, 0x10
test eax, eax
jne 0x406150
mov eax, dword [0x41f0bc]
mov ecx, dword [0x41f0b4]
mov dword [eax + 0x6c], ecx
mov edx, dword [0x41f0bc]
mov eax, dword [0x41f0b8]
mov dword [edx + 0x70], eax
mov ecx, dword [0x41f0b0]
mov edx, dword [0x41f0ac]
mov eax, dword [0x41f0bc]
push ecx
push edx
push eax
call fcn.00403250
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
call fcn.00406de0
test eax, eax
mov dword [0x41f0ac], eax
jne 0x40582b
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x194
ret
push 4
call fcn.00406b70
mov ecx, dword [0x41f0ac]
push 0
mov dword [0x41f0a0], ecx
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 0xc
test ecx, ecx
mov dword [0x41f0b0], eax
je 0x405870
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
test eax, eax
mov dword [0x41f0e8], 0
je 0x4058a1
call fcn.0040eb40
test eax, eax
jge 0x4058a1
mov edx, dword [0x41f0a0]
mov eax, dword [0x41f0e8]
pop edi
pop esi
mov dword [edx], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x25
call esi
test ah, 0x80
mov ebx, 1
je 0x4058bb
or dword [0x41f0e8], ebx
push 0x26
call esi
test ah, 0x80
je 0x4058d0
mov eax, dword [0x41f0e8]
or al, 2
mov dword [0x41f0e8], eax
push 0x27
call esi
test ah, 0x80
je 0x4058e5
mov eax, dword [0x41f0e8]
or al, 4
mov dword [0x41f0e8], eax
push 0x28
call esi
test ah, 0x80
je 0x4058fa
mov eax, dword [0x41f0e8]
or al, 8
mov dword [0x41f0e8], eax
push 0x20
call esi
test ah, 0x80
je 0x40590f
mov eax, dword [0x41f0e8]
or al, 0x10
mov dword [0x41f0e8], eax
push 0xd
call esi
test ah, 0x80
je 0x405924
mov eax, dword [0x41f0e8]
or al, 0x20
mov dword [0x41f0e8], eax
push 0x11
call esi
test ah, 0x80
je 0x405939
mov eax, dword [0x41f0e8]
or al, 0x40
mov dword [0x41f0e8], eax
push 0x1b
call esi
test ah, 0x80
je 0x40594e
mov eax, dword [0x41f0e8]
or al, 0x80
mov dword [0x41f0e8], eax
push ebx
call esi
test ah, 0x80
je 0x405963
mov eax, dword [0x41f0e8]
or ah, 1
mov dword [0x41f0e8], eax
push 2
call esi
test ah, 0x80
je 0x405979
mov eax, dword [0x41f0e8]
or ah, 2
mov dword [0x41f0e8], eax
push 9
call esi
test ah, 0x80
mov eax, dword [0x41f0e8]
je 0x40598f
or ah, 4
mov dword [0x41f0e8], eax
mov ecx, dword [0x41f0d0]
mov esi, dword [0x41f0ac]
xor ecx, eax
mov dword [0x41f0d0], eax
and ecx, eax
and eax, esi
mov dword [0x41f0ec], ecx
or eax, ecx
mov ecx, dword [0x41f0a0]
pop edi
pop esi
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x4059e9
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0bc]
cmp eax, 6
mov esi, dword [ecx + 0x34]
ja case.0x404047.18
jmp dword [eax*4 + 0x406290]
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov dword [0x41f0e0], eax
pop ebp
mov dword [0x41f0e4], ecx
xor eax, eax
pop ebx
add esp, 0x194
ret
call fcn.0040eb40
mov edx, dword [0x41dd70]
pop edi
pop esi
mov dword [0x41f0e0], eax
pop ebp
mov dword [0x41f0e4], edx
xor eax, eax
pop ebx
add esp, 0x194
ret
lea eax, [esp + 0x18]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
mov dword [0x41f0e0], ecx
mov dword [0x41f0e4], edx
xor eax, eax
pop ebx
add esp, 0x194
ret
lea eax, [esp + 0x18]
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 [0x41f0e0], ecx
mov dword [0x41f0e4], edx
xor eax, eax
pop ebx
add esp, 0x194
ret
mov eax, dword [ecx + 0x5c]
pop edi
mov dword [0x41f0e0], eax
mov ecx, dword [ecx + 0x60]
pop esi
pop ebp
mov dword [0x41f0e4], ecx
xor eax, eax
pop ebx
add esp, 0x194
ret
push esi
call fcn.00401f60
push esi
mov dword [0x41f0e0], eax
call fcn.00401f90
add esp, 8
mov dword [0x41f0e4], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
mov edx, dword [ecx + 4]
pop edi
mov dword [0x41f0e0], edx
mov eax, dword [ecx + 8]
pop esi
mov dword [0x41f0e4], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
call fcn.00406de0
test eax, eax
mov dword [0x41f0ac], eax
jne 0x405b2a
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x194
ret
cmp dword [0x41f64c], 4
je 0x405b43
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 0x194
ret
push 0x64
call fcn.00407e70
add esp, 4
mov dword [0x41f0b0], eax
call fcn.00407f10
mov ecx, dword [0x41fecc]
mov dword [0x41f0d8], eax
test ecx, ecx
je 0x405b73
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0b0]
mov edx, dword [0x41f0ac]
push ecx
push edx
push eax
mov eax, dword [0x41f0bc]
push eax
call fcn.00401600
add esp, 0x10
mov dword [0x41ff38], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
call fcn.00407f10
mov ecx, dword [0x41fecc]
mov dword [0x41f0d8], eax
test ecx, ecx
je 0x405bc3
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
push eax
call fcn.004112e1
add esp, 4
mov dword [0x41ff38], eax
test eax, eax
je 0x405be5
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x194
ret
push 0x100
push 0x41ed84
call fcn.004111c6
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
mov dword [0x41f0ac], eax
mov eax, dword [0x41fecc]
add esp, 4
test eax, eax
jne 0x406150
call fcn.00406fa0
test eax, eax
mov dword [0x41f0b0], eax
jge 0x405c3b
pop edi
pop esi
pop ebp
pop ebx
neg eax
add esp, 0x194
ret
cmp dword [0x41feb8], 2
jne 0x405c6f
mov ecx, dword [0x41ff1c]
mov edx, dword [0x41f0ac]
mov eax, dword [0x41f0bc]
push 1
push ecx
push edx
push eax
call fcn.00401110
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41fe88]
mov edx, dword [0x41f0ac]
mov eax, dword [0x41f0bc]
push ecx
push edx
push eax
call fcn.00401260
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
push 0
mov dword [0x41f0ac], eax
call fcn.00407e70
push 0
mov dword [0x41f0b0], eax
call fcn.00407e70
mov dword [0x41f0b4], eax
mov eax, dword [0x41fecc]
add esp, 0xc
test eax, eax
jne 0x406150
call fcn.00406de0
test eax, eax
mov dword [0x41f0b8], eax
jne 0x405cea
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0c0], eax
je 0x405d10
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0bc]
mov edx, dword [0x41f0ac]
mov ecx, dword [ecx + edx*4 + 0xa4]
test ecx, ecx
jne 0x405d37
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x194
ret
test eax, eax
je 0x405d48
mov eax, dword [0x41f0b8]
mov edx, dword [eax]
mov dword [0x41f0b8], edx
mov eax, dword [0x41f0b8]
mov edx, dword [0x41f0b4]
push eax
mov eax, dword [0x41f0b0]
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
mov dword [0x41ff38], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x405d9a
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0bc]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x2c4], eax
xor eax, eax
pop ebx
add esp, 0x194
ret
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esp + 0x10]
push eax
call fcn.00407e70
mov ecx, dword [esp + 0x18]
mov dword [0x41f0ac], eax
push ecx
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 8
test ecx, ecx
mov dword [0x41f0b0], eax
je 0x405df6
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0ac]
test ecx, ecx
jl 0x405e04
test eax, eax
jge 0x405e2d
mov edx, dword [0x41a390]
test edx, edx
je 0x405e2d
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
pop edi
pop esi
pop ebp
mov dword [0x41a390], 0
xor eax, eax
pop ebx
add esp, 0x194
ret
push eax
push ecx
call dword [sym.imp.USER32.dll_SetCursorPos]
mov eax, dword [0x41a390]
test eax, eax
jne case.0x404047.18
push 1
call dword [sym.imp.USER32.dll_ShowCursor]
mov eax, dword [0x41a390]
pop edi
inc eax
pop esi
mov dword [0x41a390], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
call fcn.00406de0
test eax, eax
mov dword [0x41f0ac], eax
jne 0x405e80
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x194
ret
push 2
call fcn.00406b70
call fcn.00407f10
mov dword [0x41f0d8], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push eax
mov edx, ecx
mov esi, edi
mov edi, dword [0x420048]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 8
test ecx, ecx
mov dword [0x41f0b4], eax
je 0x405ed9
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
test al, 1
mov dword [esp + 0x10], 0
je 0x405eed
mov dword [esp + 0x10], 0x10
test al, 2
je 0x405efb
mov eax, dword [esp + 0x10]
or al, 6
mov dword [esp + 0x10], eax
mov ebx, dword [0x41f0ac]
lea eax, [esp + 0x64]
push eax
mov byte [ebx], 0
mov ecx, dword [0x420048]
push ecx
mov dword [0x41ff38], 0
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebp, eax
cmp ebp, 0xffffffff
je case.0x404047.18
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x10]
mov cl, byte [0x41f0b4]
and edx, edi
xor eax, eax
cmp eax, edx
sbb eax, eax
neg eax
test cl, 4
jne 0x405f51
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
je 0x405fb6
mov edi, dword [0x41ff38]
or ecx, 0xffffffff
inc edi
xor eax, eax
mov dword [0x41ff38], edi
lea edi, [esp + 0x90]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x41a3a0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x64]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x405f2b
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
call fcn.00407f10
mov ecx, dword [0x41fecc]
mov dword [0x41f0d8], eax
test ecx, ecx
je 0x405fff
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne case.0x404047.18
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x194
ret
call fcn.00406de0
test eax, eax
mov dword [0x41f0ac], eax
jne 0x40603c
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x194
ret
cmp dword [0x41f64c], 4
je 0x406055
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 0x194
ret
push 0x64
call fcn.00407e70
add esp, 4
mov dword [0x41f0b0], eax
call fcn.00407f10
mov ecx, dword [0x41fecc]
mov dword [0x41f0d8], eax
test ecx, ecx
je 0x406085
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x41f0b0]
mov edx, dword [0x41f0ac]
push ecx
push edx
push eax
mov eax, dword [0x41f0bc]
push eax
call fcn.004016b0
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
push 0
call fcn.00407e70
mov ecx, dword [0x41fecc]
add esp, 4
test ecx, ecx
mov dword [0x41f0ac], eax
je 0x4060d5
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x194
ret
test eax, eax
jl 0x40610e
mov ecx, dword [0x41f0bc]
mov eax, dword [ecx + eax*4 + 0xa4]
test eax, eax
jne 0x4060fa
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x194
ret
push eax
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
or esi, 0xffffffff
call dword [sym.imp.USER32.dll_GetFocus]
test eax, eax
je 0x406138
mov edx, dword [0x41f0bc]
xor ecx, ecx
add edx, 0xa4
cmp eax, dword [edx]
jne 0x40612f
mov esi, ecx
inc ecx
add edx, 4
cmp ecx, 0x40
jl 0x406129
mov dword [0x41ff38], esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x194
ret
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret