Function at 0x403870
Capabilities:
Enumerate files on windows
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x52c
mov eax, dword [0x418f5c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x64], 0
push 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x2c4], eax
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x288], eax
push 0
mov eax, dword [0x41a834]
push eax
push 0
push 0
mov ecx, dword [0x4189bc]
push ecx
mov edx, dword [0x4189b8]
push edx
mov eax, dword [ebp - 0x288]
sub eax, dword [0x4189bc]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x2c4]
sub eax, dword [0x4189b8]
cdq
sub eax, edx
sar eax, 1
push eax
push 0xcf0000
push 0x418d54
push str.instcopy
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp - 0x2ac], eax
lea eax, [ebp - 0x2d4]
push eax
mov ecx, dword [ebp - 0x2ac]
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [ebp - 0x2cc]
mov dword [ebp - 0x28c], edx
mov eax, dword [0x4189c0]
shl eax, 1
mov dword [ebp - 0x2c0], eax
mov ecx, dword [0x4189c0]
mov edx, dword [ebp - 0x2c0]
lea eax, [edx + ecx*8]
mov dword [ebp - 0x284], eax
mov ecx, dword [0x4189c4]
mov dword [ebp - 0x6c], ecx
push 0
mov edx, dword [0x41a834]
push edx
push 0
mov eax, dword [ebp - 0x2ac]
push eax
mov eax, dword [0x4189c4]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
push eax
mov ecx, dword [0x4189c0]
shl ecx, 2
mov edx, dword [ebp - 0x28c]
sub edx, ecx
push edx
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x2c0]
push ecx
push 0x50000000
push 0x41a97e
push 0x418d64
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp - 0x3e4], eax
push str.Copy
mov edx, dword [ebp - 0x3e4]
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [0x4189c4]
imul eax, eax, 6
cdq
mov ecx, 3
idiv ecx
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], eax
mov edx, dword [0x4189c0]
imul edx, edx, 5
mov eax, dword [ebp - 0x28c]
sub eax, edx
mov ecx, dword [0x4189c0]
shl ecx, 3
sub eax, ecx
mov dword [ebp - 0x2bc], eax
push 0
mov edx, dword [0x41a834]
push edx
push 0
mov eax, dword [ebp - 0x2ac]
push eax
mov eax, dword [0x4189c4]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
push eax
mov ecx, dword [ebp - 0x2bc]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x2c0]
push eax
push 0x50000000
push 0x41a97f
push 0x418d74
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp - 0x3e4], eax
push str.From:
mov ecx, dword [ebp - 0x3e4]
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0
mov edx, dword [0x41a834]
push edx
push 0
mov eax, dword [ebp - 0x2ac]
push eax
mov eax, dword [0x4189c4]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
push eax
mov ecx, dword [ebp - 0x2bc]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x284]
push eax
push 0x50800080
push 0x41a980
push 0x418d84
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x41a96c], eax
mov ecx, dword [0x4189c4]
mov edx, dword [ebp - 0x6c]
lea eax, [edx + ecx*2]
mov dword [ebp - 0x6c], eax
push 0
mov ecx, dword [0x41a834]
push ecx
push 0
mov edx, dword [ebp - 0x2ac]
push edx
mov eax, dword [0x4189c4]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x2bc]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x2c0]
push edx
push 0x50000000
push 0x41a981
push 0x418d8c
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp - 0x3e4], eax
push 0x418d94
mov eax, dword [ebp - 0x3e4]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0
mov ecx, dword [0x41a834]
push ecx
push 0
mov edx, dword [ebp - 0x2ac]
push edx
mov eax, dword [0x4189c4]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x2bc]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x284]
push edx
push 0x50800080
push 0x41a982
push str.edit
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x41a838], eax
mov eax, dword [0x4189c4]
imul eax, eax, 3
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], eax
push 0
mov ecx, dword [0x41a834]
push ecx
push 0
mov edx, dword [ebp - 0x2ac]
push edx
fild dword [0x4189c4]
fmul qword [0x410200]
call fcn.00404e60
push eax
mov eax, dword [ebp - 0x2bc]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x284]
push edx
push 0x50010000
push 0
push str.scrollbar
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x41a84c], eax
push 0
push 0x64
push 0
push 2
mov eax, dword [0x41a84c]
push eax
call dword [sym.imp.USER32.dll_SetScrollRange]
push 0
push 0
push 2
mov ecx, dword [0x41a84c]
push ecx
call dword [sym.imp.USER32.dll_SetScrollPos]
mov edx, dword [0x4189c4]
mov eax, dword [ebp - 0x6c]
lea ecx, [eax + edx*2]
mov dword [ebp - 0x6c], ecx
push 0
mov edx, dword [0x41a834]
push edx
push 0
mov eax, dword [ebp - 0x2ac]
push eax
mov eax, dword [0x4189c4]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
push eax
mov ecx, dword [ebp - 0x2bc]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x284]
push eax
push 0x50000001
push 0x418dac
push str.static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x41a854], eax
push 5
mov ecx, dword [ebp - 0x2ac]
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [ebp - 0x2ac]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x70], 0
jmp 0x403c7d
mov eax, dword [ebp - 0x70]
add eax, 3
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x70]
cmp ecx, dword [ebp + 0xc]
jge 0x403cac
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx*4 + 8]
push ecx
call fcn.00404dd4
add esp, 4
mov dword [ebp - 0x2b0], eax
mov edx, dword [ebp - 0x64]
add edx, dword [ebp - 0x2b0]
mov dword [ebp - 0x64], edx
jmp 0x403c74
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x70], 0
jmp 0x403cc8
mov eax, dword [ebp - 0x70]
add eax, 3
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x70]
cmp ecx, dword [ebp + 0xc]
jge 0x403e4d
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx*4 + 8]
push ecx
call fcn.00404dd4
add esp, 4
mov dword [ebp - 0x2b0], eax
mov edx, dword [ebp - 0x2b4]
add edx, dword [ebp - 0x2b0]
mov dword [ebp - 0x2b4], edx
fild dword [ebp - 0x64]
fdivr qword [0x4101f8]
fimul dword [ebp - 0x2b4]
call fcn.00404e60
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0x64
jle 0x403d2c
mov dword [ebp - 0x2b0], 0x64
mov eax, dword [ebp + 0xc]
sub eax, 3
cmp dword [ebp - 0x70], eax
jne 0x403d41
mov dword [ebp - 0x2b0], 0x64
push 1
mov ecx, dword [ebp - 0x2b0]
push ecx
push 2
mov edx, dword [0x41a84c]
push edx
call dword [sym.imp.USER32.dll_SetScrollPos]
mov eax, dword [ebp - 0x2b0]
push eax
push 0x418db8
lea ecx, [ebp - 0x60]
push ecx
call fcn.00404d3a
add esp, 0xc
lea edx, [ebp - 0x60]
push edx
mov eax, dword [0x41a854]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x100
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*4]
push eax
lea ecx, [ebp - 0x3e0]
push ecx
call fcn.00404a50
add esp, 0xc
push 0x100
push 0x41a868
lea edx, [ebp - 0x178]
push edx
call fcn.00404a50
add esp, 0xc
push 0x100
push 0x418dbc
lea eax, [ebp - 0x178]
push eax
call fcn.004049d0
add esp, 0xc
push 0x100
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*4 + 4]
push eax
lea ecx, [ebp - 0x178]
push ecx
call fcn.004049d0
add esp, 0xc
lea edx, [ebp - 0x3e0]
push edx
mov eax, dword [0x41a96c]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
lea ecx, [ebp - 0x178]
push ecx
mov edx, dword [0x41a838]
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [ebp - 0x2ac]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
lea ecx, [ebp - 0x178]
push ecx
lea edx, [ebp - 0x3e0]
push edx
call fcn.004040d0
add esp, 8
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
je 0x403e48
jmp 0x403cbf
jmp 0x403cbf
mov eax, dword [0x41a974]
and eax, 0x2000
je 0x404073
mov dword [ebp - 0x52c], 0xffffffff
push 0x100
push 0x418dc0
lea ecx, [ebp - 0x3e0]
push ecx
call fcn.00404a50
add esp, 0xc
push 0x100
push 0x41a868
lea edx, [ebp - 0x178]
push edx
call fcn.00404a50
add esp, 0xc
push 0x100
push 0x418dc4
lea eax, [ebp - 0x178]
push eax
call fcn.004049d0
add esp, 0xc
push 0x100
push 0x418dc8
lea ecx, [ebp - 0x178]
push ecx
call fcn.004049d0
add esp, 0xc
lea edx, [ebp - 0x3e0]
push edx
mov eax, dword [0x41a96c]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
lea ecx, [ebp - 0x178]
push ecx
mov edx, dword [0x41a838]
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [ebp - 0x2ac]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
lea ecx, [ebp - 0x528]
push ecx
push str.chf_.chf
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x52c], 0xffffffff
je 0x404073
push 0x100
push 0x418dd8
lea edx, [ebp - 0x3e0]
push edx
call fcn.00404a50
add esp, 0xc
push 0x100
lea eax, [ebp - 0x4fc]
push eax
lea ecx, [ebp - 0x3e0]
push ecx
call fcn.004049d0
add esp, 0xc
push 0x100
push 0x41a868
lea edx, [ebp - 0x178]
push edx
call fcn.00404a50
add esp, 0xc
push 0x100
push 0x418de0
lea eax, [ebp - 0x178]
push eax
call fcn.004049d0
add esp, 0xc
push 0x100
lea ecx, [ebp - 0x4fc]
push ecx
lea edx, [ebp - 0x178]
push edx
call fcn.004049d0
add esp, 0xc
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0x3e0]
push ecx
call fcn.004040d0
add esp, 8
lea edx, [ebp - 0x528]
push edx
mov eax, dword [ebp - 0x52c]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x404073
push 0x100
push 0x418de8
lea ecx, [ebp - 0x3e0]
push ecx
call fcn.00404a50
add esp, 0xc
push 0x100
lea edx, [ebp - 0x4fc]
push edx
lea eax, [ebp - 0x3e0]
push eax
call fcn.004049d0
add esp, 0xc
push 0x100
push 0x41a868
lea ecx, [ebp - 0x178]
push ecx
call fcn.00404a50
add esp, 0xc
push 0x100
push str.chf_
lea edx, [ebp - 0x178]
push edx
call fcn.004049d0
add esp, 0xc
push 0x100
lea eax, [ebp - 0x4fc]
push eax
lea ecx, [ebp - 0x178]
push ecx
call fcn.004049d0
add esp, 0xc
lea edx, [ebp - 0x178]
push edx
lea eax, [ebp - 0x3e0]
push eax
call fcn.004040d0
add esp, 8
jmp 0x403fbb
push 0
push 0
push 0x10
mov ecx, dword [ebp - 0x2ac]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0
lea edx, [ebp - 0x2a8]
push edx
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x4040b9
lea eax, [ebp - 0x2a8]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea ecx, [ebp - 0x2a8]
push ecx
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x404086
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00404c6e
mov esp, ebp
pop ebp
ret