Function at 0x437166
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push esi
mov esi, ecx
movzx eax, byte [esi]
lea ecx, [eax - 2]
cmp ecx, 3
jb 0x437181
xor eax, eax
jmp 0x4375d8
push ebx
xor ebx, ebx
mov byte [esi + 2], bl
mov byte [esi], bl
cmp eax, 3
jne 0x4371e0
test byte [esi + 1], 2
je 0x4371bc
call fcn.004c9f38
test al, al
jne 0x4371bc
push dword [0x89623c]
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x30], 0x30
call fcn.00477c73
pop ecx
pop ecx
inc dword [0x89031c]
je 0x4371d8
mov eax, dword [0x56aaa0]
dec eax
and eax, 1
mov dword [0x89031c], ebx
mov dword [0x56aaa0], eax
or eax, 0xffffffff
jmp 0x4375d7
inc dword [0x890318]
push edi
cmp eax, 4
jne 0x437312
mov edi, dword [esi + 0x58]
mov dword [ebp - 0xc], ebx
mov dword [esi + 0x58], ebx
cmp edi, 0xffffffff
jne 0x43720f
call fcn.004c9f38
test al, al
jne 0x43725e
push dword [0x896240]
jmp 0x43723c
cmp edi, ebx
je 0x43725e
push dword [esi + 0x54]
mov ecx, 0x516840
call fcn.0049a53c
mov edx, edi
mov ecx, eax
call fcn.004b9462
test al, al
jne 0x437257
call fcn.004c9f38
test al, al
jne 0x43725e
push dword [0x896248]
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x30], 0x30
mov dword [ebp - 0x34], 1
call fcn.00477c73
pop ecx
pop ecx
jmp 0x43725e
mov dword [ebp - 0xc], 2
mov edi, dword [esi + 0x30]
mov dword [esi + 0x30], ebx
cmp edi, 0xffffffff
jne 0x437297
call fcn.004c9f38
test al, al
jne 0x43730a
push dword [0x896244]
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x30], 0x30
call fcn.00477c73
pop ecx
pop ecx
jmp 0x43730a
cmp edi, ebx
je 0x43730a
mov eax, dword [esi + 0x34]
lea ecx, [ebp - 8]
mov dword [0x8901ac], eax
call fcn.004a0e93
mov edx, dword [esi + 0x2c]
lea eax, [ebp - 8]
push eax
push dword [esi + 0x34]
mov ecx, edi
call fcn.00436554
test al, al
je 0x4372c9
mov dword [ebp - 0xc], 1
jmp 0x437302
call fcn.004c9f38
test al, al
jne 0x437302
mov esi, dword [0x896264]
lea ecx, [ebp - 8]
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x30], 0x30
call fcn.004a0ff9
push eax
push esi
call fcn.0049f9e2
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00477c73
add esp, 0x10
lea ecx, [ebp - 8]
call fcn.004a0c7d
mov eax, dword [ebp - 0xc]
jmp 0x4375d6
push ebx
lea edi, [esi + 4]
push ebx
push 0x50fdd4
mov ecx, edi
mov dword [ebp - 0x14], edi
call fcn.0040b3c9
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x43737d
call fcn.004c9f38
test al, al
jne 0x43737d
cmp byte [0x88f830], bl
jne 0x43737d
push ebx
push 0x516834
mov ecx, edi
call fcn.0040b40a
cmp eax, ebx
jne 0x437354
push 0x40
pop eax
jmp 0x43735f
dec eax
neg eax
sbb eax, eax
and eax, 0xffffffe0
add eax, 0x30
push dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x34]
push 0x50fa44
push eax
mov dword [ebp - 0x34], 1
call fcn.00477c73
add esp, 0xc
push ebx
push 0x510974
mov ecx, edi
call fcn.0040b398
mov edi, eax
cmp edi, ebx
je 0x4373b3
mov ecx, dword [edi]
mov eax, 0x510208
cmp ecx, dword [eax]
jne 0x4373b3
mov ecx, edi
call fcn.004b6824
test eax, eax
je 0x4373b3
push 5
push ebx
push ebx
push edi
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov ecx, dword [ebp - 0x14]
push ebx
push ebx
push 0x516300
call fcn.0040b3c9
mov dword [ebp - 0xc], eax
lea eax, [esi + 0x14]
push 0x516814
push eax
mov ecx, esi
call fcn.00436716
test al, al
je 0x437535
push 0x5167f4
lea eax, [esi + 0x3c]
push eax
mov ecx, esi
call fcn.00436716
test al, al
je 0x437535
mov eax, dword [esi + 0x60]
or eax, dword [esi + 0x38]
je 0x437563
push 6
pop edi
mov byte [ebp - 1], 1
cmp dword [ebp - 0xc], ebx
je 0x437484
call fcn.004c9f38
test al, al
jne 0x437484
cmp byte [0x88f830], bl
jne 0x437484
lea ecx, [ebp - 0x48]
call fcn.00475dae
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0x5167a0
mov dword [0x56aa60], eax
call fcn.0049e64a
mov edi, 0x56b868
mov edx, eax
mov ecx, edi
call fcn.0049fe6d
push dword [ebp - 0xc]
push 0xf9
call fcn.00476ebd
push eax
lea ecx, [ebp - 0x48]
call fcn.00476b03
mov edx, 0x510d20
mov ecx, edi
call fcn.0049fe6d
mov al, byte [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x48]
mov dword [0x56aa60], ebx
mov byte [ebp - 1], al
call fcn.0047678a
sub edi, 6
mov dword [ebp - 8], 4
je 0x4374c8
dec edi
jne 0x437524
cmp byte [ebp - 1], bl
jne 0x4374bf
mov dword [ebp - 8], 3
cmp dword [esi + 0x38], ebx
je 0x4374b0
mov eax, dword [esi + 0x34]
mov dword [0x8901ac], eax
cmp dword [esi + 0x60], ebx
je 0x437524
mov eax, dword [esi + 0x5c]
mov dword [0x8901b0], eax
jmp 0x437524
mov dword [ebp - 8], 2
jmp 0x437524
mov dword [ebp - 8], 1
call fcn.0047cfd9
mov byte [esi], 4
lea edi, [esi + 0x14]
mov dword [ebp - 0x10], 2
cmp dword [edi + 0x24], ebx
je 0x437517
inc byte [esi]
push dword [0x56b74c]
lea ecx, [ebp - 0xc]
call fcn.00401966
mov ecx, dword [edi]
push ebx
push ebx
push ebx
lea eax, [ebp - 0xc]
push eax
push 0x436152
mov edx, edi
call fcn.00453c64
mov ecx, dword [ebp - 0xc]
cmp ecx, ebx
je 0x437517
call fcn.00401728
add edi, 0x28
dec dword [ebp - 0x10]
jne 0x4374e1
call fcn.0047cff8
push dword [ebp - 8]
mov ecx, esi
push 0x890178
call fcn.0043686c
jmp 0x437563
test byte [esi + 1], 2
je 0x437563
call fcn.004c9f38
test al, al
jne 0x437563
push dword [0x896268]
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x30], 0x30
call fcn.00477c73
pop ecx
pop ecx
mov esi, dword [ebp - 0x14]
push ebx
push 0x5167f0
mov ecx, esi
call fcn.0040b398
cmp eax, ebx
je 0x437583
mov edx, eax
mov ecx, 0x8901cc
call fcn.0049fe6d
push ebx
push 0x512268
mov ecx, esi
call fcn.0040b398
cmp eax, ebx
je 0x4375b4
lea ecx, [ebp - 1]
push ecx
mov edx, eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 1], bl
call fcn.0049cd07
cmp byte [ebp - 1], bl
je 0x4375b4
mov dl, 1
lea ecx, [ebp - 0x28]
call fcn.004a4f14
push ebx
push 0x5167ec
mov ecx, esi
call fcn.0040b40a
test eax, eax
je 0x4375cd
push 1
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov ecx, esi
call fcn.0040baef
xor eax, eax
pop edi
pop ebx
pop esi
leave
ret