Function at 0x4059b0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x41daf2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x518
movzx eax, byte [ebp + 8]
push ebx
push esi
add eax, 0xfffffff5
cmp eax, 0x18
push edi
mov esi, ecx
ja case.0x4059ed.14
movzx eax, byte [eax + 0x406010]
jmp dword [eax*4 + 0x405fe4]
mov ecx, dword [ebp + 0xc]
call fcn.00402090
movzx eax, al
sub eax, 0x96
je 0x405ae5
sub eax, 4
je 0x405ac0
lea ecx, [esi + 0xd74c]
push 0x41fc3c
push ecx
mov byte [esp + 0x14], 0
call fcn.00404ce0
add esp, 8
test al, al
je 0x405a35
mov byte [esp + 0xc], 1
lea ecx, [esp + 0x10]
call fcn.00401fd0
push 0x99
lea ecx, [esp + 0x14]
mov dword [esp + 0x530], 1
call fcn.00402030
push 0x15
lea edx, [esi + 0x129]
push edx
lea ecx, [esp + 0x18]
call fcn.00402050
push 0x15
lea eax, [esi + 0x13e]
push eax
lea ecx, [esp + 0x18]
call fcn.00402050
mov ecx, dword [esp + 0xc]
push ecx
lea ecx, [esp + 0x14]
call fcn.00402030
lea edx, [esp + 0x10]
push edx
mov ecx, esi
call fcn.00404250
lea ecx, [esp + 0x10]
mov dword [esp + 0x52c], 0xffffffff
call fcn.00402130
mov ecx, dword [esp + 0x524]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, esi
call fcn.00405690
mov ecx, esi
call fcn.00415225
mov ecx, dword [esp + 0x524]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [esp + 0x10]
call fcn.00401fd0
push 0x97
lea ecx, [esp + 0x14]
mov dword [esp + 0x530], 0
call fcn.00402030
push 0x15
lea eax, [esi + 0x129]
push eax
lea ecx, [esp + 0x18]
call fcn.00402050
push 0x15
lea ecx, [esi + 0x13e]
push ecx
lea ecx, [esp + 0x18]
call fcn.00402050
jmp 0x405a89
push 0
push 0x40000
push 3
mov ecx, 0x428a2c
call fcn.00403420
push eax
jmp 0x405dac
push 0
push 0x40000
push 4
mov ecx, 0x428a2c
call fcn.00403420
push eax
call fcn.0041ad6c
push 0x41f4dc
push 0x3e9
mov ecx, esi
call fcn.00418f14
push 0x3e9
mov ecx, esi
call fcn.00418ef0
push eax
mov ecx, esi
call fcn.00404440
mov ecx, dword [esp + 0x524]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0
push 0x40000
push 0x25
mov ecx, 0x428a2c
call fcn.00403420
push eax
call fcn.0041ad6c
push 0
mov ecx, esi
call fcn.004151ff
mov ecx, esi
call fcn.00415225
mov ecx, dword [esp + 0x524]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp + 0xc]
call fcn.00402090
movzx eax, al
sub eax, 4
je 0x405cae
dec eax
je 0x405c1d
push 0
push 0x40000
push 0x41fd5c
call fcn.0041ad6c
mov ecx, dword [esp + 0x524]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [esp + 0xc]
call fcn.00404d60
push 0x22
mov ecx, 0x428a2c
mov dword [esp + 0x530], 4
call fcn.00403420
push eax
lea eax, [esp + 0x10]
push 0x41fc88
push eax
call fcn.00405670
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 0xc]
add esp, 0xc
test eax, eax
jge 0x405c60
or eax, 0xffffffff
jmp 0x405c74
push 0x41fd58
push esi
call fcn.0040927f
add esp, 8
test eax, eax
je 0x405c5b
sub eax, esi
push 0xa
push eax
lea ecx, [esp + 0x14]
call fcn.00404d00
mov ecx, dword [esp + 0xc]
push 0
push 0x40000
push ecx
call fcn.0041ad6c
push 1
push 0
push 0x428928
push 0x41fa6c
push 0
push 0
call dword [sym.imp.shell32.dll_ShellExecuteA]
jmp 0x405fbc
lea ecx, [esp + 0xc]
call fcn.00404d60
mov ebx, 2
push 0x23
mov ecx, 0x428a2c
mov dword [esp + 0x530], ebx
call fcn.00403420
push eax
lea edx, [esp + 0x10]
push 0x41fc88
push edx
call fcn.00405670
mov edi, dword [esp + 0x18]
mov eax, dword [edi - 0xc]
add esp, 0xc
test eax, eax
jge 0x405cf2
or eax, 0xffffffff
jmp 0x405d06
push 0x41fd58
push edi
call fcn.0040927f
add esp, 8
test eax, eax
je 0x405ced
sub eax, edi
push 0xa
push eax
lea ecx, [esp + 0x14]
call fcn.00404d00
mov eax, dword [esp + 0xc]
push 0
push 0x40000
push eax
call fcn.0041ad6c
lea ecx, [esp + 0x10]
call fcn.00401fd0
push 0x97
lea ecx, [esp + 0x14]
mov byte [esp + 0x530], 3
call fcn.00402030
push 0x15
lea ecx, [esi + 0x129]
push ecx
lea ecx, [esp + 0x18]
call fcn.00402050
push 0x15
lea edx, [esi + 0x13e]
push edx
lea ecx, [esp + 0x18]
call fcn.00402050
lea eax, [esp + 0x10]
push eax
mov ecx, esi
call fcn.00404250
lea ecx, [esp + 0x10]
mov byte [esp + 0x52c], bl
call fcn.00402130
jmp 0x405fc4
push 0
push 0x40000
push 6
mov ecx, 0x428a2c
call fcn.00403420
push eax
call fcn.0041ad6c
push 0
push 0x40000
push 0x41fce0
call fcn.0041ad6c
push 0x41f4dc
push 0x3e8
mov ecx, esi
call fcn.00418f14
push 0x41f4dc
push 0x3e9
mov ecx, esi
call fcn.00418f14
push 0x3e8
mov ecx, esi
call fcn.00418ef0
push eax
mov ecx, esi
call fcn.00404440
mov ecx, dword [esp + 0x524]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [esi + 0x98]
mov dword [esi + 0x9c], ecx
mov ecx, esi
call fcn.00404930
mov ecx, dword [esp + 0x524]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov byte [esp + 0x420], 0
xor eax, eax
mov ecx, 0x3f
lea edi, [esp + 0x421]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, dword [ebp + 0xc]
push 4
lea edx, [esp + 0x10]
push edx
mov ecx, edi
mov dword [esp + 0x14], 0
call fcn.004020f0
mov eax, dword [esp + 0xc]
mov ecx, edi
mov dword [esi + 0x9c], eax
call fcn.00402090
mov bl, al
test bl, bl
mov byte [esi + 0x94], bl
jne 0x405ea6
push 0
push 0x30
push 0x41fccc
call fcn.0041ad6c
push 0
call dword [sym.imp.user32.dll_PostQuitMessage]
mov ecx, dword [esp + 0x524]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0x41fcc8
push 0x41fcb8
call fcn.004091ae
mov edi, eax
movzx eax, bl
add esp, 8
test eax, eax
jle 0x405eec
mov ebx, eax
lea ecx, [esp + 0x420]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.004020b0
lea edx, [esp + 0x420]
push edx
push 0x41fcb0
push edi
call fcn.0040947d
add esp, 0xc
dec ebx
jne 0x405ec3
push edi
call fcn.00408ef8
add esp, 4
mov ecx, esi
call fcn.00404930
mov ecx, dword [esp + 0x524]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0
push 0x40000
push 2
mov ecx, 0x428a2c
call fcn.00403420
push eax
call fcn.0041ad6c
cmp eax, 1
jne 0x405f4f
mov ecx, dword [esi + 0x90]
push eax
push 0
lea eax, [esi + 0xce78]
push eax
push 0x41fa6c
push 0
push ecx
call dword [sym.imp.shell32.dll_ShellExecuteA]
push 0
call dword [sym.imp.user32.dll_PostQuitMessage]
mov ecx, dword [esp + 0x524]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
call fcn.0041920a
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0xc], eax
push 0x24
mov ecx, 0x428a2c
mov dword [esp + 0x530], 5
call fcn.00403420
push eax
lea eax, [esp + 0x10]
push 0x41fc88
push eax
call fcn.00405670
mov ecx, dword [esp + 0x18]
add esp, 0xc
push 0
push 0x40000
push ecx
call fcn.0041ad6c
push 0
call dword [sym.imp.user32.dll_PostQuitMessage]
lea ecx, [esp + 0xc]
call fcn.004035d0
mov ecx, dword [esp + 0x524]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8