Function at 0x402902
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
push esi
movzx esi, word [ebp + 0xc]
push edi
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0xffffffffffffffeb
push esi
push dword [ebp + 8]
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
xor ebx, ebx
cmp eax, ebx
je 0x40293b
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0x111
push eax
jmp 0x402b64
mov eax, 0xfa2
cmp esi, eax
jg 0x402ab9
je 0x402aa0
mov eax, 0x640
cmp esi, eax
jg 0x402a64
je 0x402aee
sub esi, 0x33
je 0x402a05
sub esi, 5
je 0x4029ae
sub esi, 0x5a6
je 0x402994
dec esi
dec esi
jne 0x402c20
push 0x1004
push dword [ebp + 8]
call edi
push eax
call fcn.0040ff4c
jmp 0x402ba5
push ebx
push ebx
push 0x184
push 0x1004
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
jmp 0x402c20
push 0xce4
push dword [ebp + 8]
call edi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 1
push 0xffffffffffffffff
mov edi, eax
push 0x100c
push edi
call esi
cmp eax, 0xffffffff
je 0x402c20
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
push eax
push ebx
push 0x1005
push edi
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x3c], 4
call esi
test eax, eax
je 0x402c20
push dword [ebp - 0x1c]
push ebx
push 0x8072
jmp 0x402b61
push 1
push 0xffffffffffffffff
push 0x100c
push 0x5e1
push dword [ebp + 8]
call edi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call esi
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
push eax
push ebx
push 0x1005
push 0x5e1
push dword [ebp + 8]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x3c], 4
call edi
push eax
call esi
test eax, eax
je 0x402c20
cmp dword [ebp - 0x1c], ebx
je 0x402c20
push dword [ebp - 0x1c]
push ebx
push 0x806c
jmp 0x402b61
sub esi, 0x641
je 0x402a90
dec esi
je 0x402a7c
sub esi, 0xc7
je 0x402aee
jmp 0x402c20
push 3
push eax
push dword [ebp + 8]
call edi
push eax
call fcn.00410017
pop ecx
jmp 0x402ba5
push ebx
push ebx
push 0x1009
push eax
push dword [ebp + 8]
call edi
push eax
jmp 0x402b09
push ebx
push ebx
push 0x401146
push 0x67
push dword [ebp + 8]
call fcn.0040fb9c
add esp, 0x14
jmp 0x402c20
sub esi, 0xfa4
je 0x402be8
dec esi
je 0x402bc1
dec esi
dec esi
je 0x402ba8
dec esi
je 0x402b6f
sub esi, 4
je 0x402b2e
sub esi, 4
je 0x402b14
sub esi, 0x54
jne 0x402c20
mov eax, dword [ebp + 0xc]
shr eax, 0x10
cmp ax, 5
jne 0x402c20
push ebx
push 0xffffffffffffffff
push 0x186
push dword [ebp + 0x10]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x402c20
mov eax, dword [ebp + 0xc]
shr eax, 0x10
cmp ax, 1
jne 0x402c20
push dword [ebp + 0x10]
call fcn.00405c13
jmp 0x402b59
push 1
push dword [ebp + 8]
mov esi, 0x447a8c
call fcn.004011d7
pop ecx
pop ecx
test eax, eax
je 0x402c20
push esi
push 0xfb0
push dword [ebp + 8]
call edi
push eax
call fcn.00405bce
pop ecx
pop ecx
push ebx
push ebx
push 0x806f
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x402c20
mov eax, dword [ebp + 0xc]
shr eax, 0x10
cmp ax, 1
jne 0x402c20
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push ebx
push ebx
push 0x147
push dword [ebp + 0x10]
call esi
push ebx
push eax
push 0x150
push dword [ebp + 0x10]
call esi
push dword [eax + 4]
call fcn.0040fda6
pop ecx
jmp 0x402c20
push 1
push ebx
push ebx
push 0x446c40
push str.open
push dword [ebp + 8]
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x402c20
mov esi, dword [0x434334]
push str.Requesting_Directory_Content_n
call fcn.00410209
mov dword [esp], 0x444ff8
xor eax, eax
push 0xdc
push esi
inc eax
call section..text
jmp 0x402c1d
push ebx
push ebx
push 0x404fd8
push 0x6b
push dword [ebp + 8]
call fcn.0040fb9c
add esp, 0x14
test al, 2
je 0x402c20
mov eax, dword [0x4477e8]
and al, 2
movzx eax, al
neg eax
sbb eax, eax
and eax, 3
inc eax
push eax
push 2
push dword [ebp + 8]
call fcn.00403da4
add esp, 0xc
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret