Function at 0x415070
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a968c
mov eax, dword fs:[0]
push eax
sub esp, 0x19c
mov eax, dword [0x4dc38c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebp + 8]
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [esi + 0x108]
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0
call fcn.00435ed9
mov eax, dword [esi + 0x108]
cmp eax, dword [edi + 0x528]
jne 0x4150e2
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x41534a
cmp eax, dword [edi + 0x614]
je 0x415328
cmp eax, dword [edi + 0x618]
je 0x415328
push str.upload
lea ecx, [ebp - 0x118]
call fcn.004357a1
test al, al
jne 0x41520b
push str.upload_type
lea ecx, [ebp - 0x118]
call fcn.004357a1
test al, al
jne 0x41520b
push str.open_dir
lea ecx, [ebp - 0x118]
call fcn.004357a1
test al, al
je 0x41534a
mov ecx, dword [esi + 0x108]
mov eax, dword [ecx]
call dword [eax + 0xec]
mov ebx, eax
test ebx, ebx
je 0x41534a
mov ecx, dword [edi + 0x550]
push 0
push ebx
mov esi, dword [ecx + 0x6c0]
add ecx, 0x550
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [edi + 0x550]
push eax
add ecx, 0x6c0
call dword [esi + 0xc]
lea ecx, [ebp - 0x94]
call fcn.00435601
lea eax, [ebp - 0x19c]
mov byte [ebp - 4], 2
push eax
mov ecx, ebx
call fcn.004315a0
sub esp, 0x84
mov byte [ebp - 4], 3
mov esi, eax
mov edi, esp
lea eax, [ebp - 0x94]
mov ecx, 0x21
rep movsd dword es:[edi], dword [esi]
push str._select___s
push eax
call fcn.00435c1d
add esp, 0x8c
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19c]
call fcn.004356df
push 0xa
push 0
lea ecx, [ebp - 0x94]
call fcn.00435c9d
push eax
push str.explorer.exe
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 0x94]
call fcn.004356df
jmp 0x41534a
mov eax, dword [esi + 0x114]
mov ecx, dword [esi + 0x110]
mov dword [ebp - 0x1a4], eax
add ecx, 5
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x1a8], ecx
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ClientToScreen]
push 6
push 0
lea eax, [edi + 0x38]
push eax
push dword [ebp - 0x1a4]
push dword [ebp - 0x1a8]
push ecx
mov eax, esp
push 0
mov dword [eax], 0x4c9050
call fcn.0043f31e
mov ecx, dword [esi + 0x108]
mov ebx, eax
add esp, 0x1c
mov eax, dword [ecx]
call dword [eax + 0xec]
mov edx, eax
mov dword [ebp - 0x1a0], edx
test edx, edx
je 0x41534a
mov ecx, dword [edi + 0x550]
push 0
push edx
mov esi, dword [ecx + 0x6c0]
add ecx, 0x550
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [edi + 0x550]
push eax
add ecx, 0x6c0
call dword [esi + 0xc]
mov ecx, dword [ebp - 0x1a0]
lea eax, [ebp - 0x94]
push eax
call fcn.004315a0
push str.menu115
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.0044049d
mov ecx, eax
call fcn.0044253b
mov edi, eax
test edi, edi
je 0x4152ec
mov esi, dword [edi]
lea ecx, [ebp - 0x94]
call fcn.00435c9d
push eax
mov ecx, edi
call dword [esi + 0xe8]
push str.menu115plus
mov ecx, ebx
call fcn.0044049d
mov ecx, eax
call fcn.0044253b
mov edi, eax
test edi, edi
je 0x41531b
mov esi, dword [edi]
lea ecx, [ebp - 0x94]
call fcn.00435c9d
push eax
mov ecx, edi
call dword [esi + 0xe8]
lea ecx, [ebp - 0x94]
call fcn.004356df
jmp 0x41534a
mov ecx, dword [edi + 0x554]
test ecx, ecx
je 0x41534a
mov eax, dword [ecx]
push 1
call dword [eax + 0xf8]
mov ecx, dword [edi + 0x554]
mov eax, dword [ecx]
call dword [eax + 0x11c]
lea ecx, [ebp - 0x118]
call fcn.004356df
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048254c
mov esp, ebp
pop ebp
ret 4