Function at 0x4386a0
Capabilities:
Create process on windows

Disassembly:
push 0xffffffffffffffff
push 0x50cfec
mov eax, dword fs:[0]
push eax
sub esp, 0x3f4
mov eax, dword [0x53f5a0]
xor eax, esp
mov dword [esp + 0x3f0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x53f5a0]
xor eax, esp
push eax
lea eax, [esp + 0x408]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x418]
xor ebx, ebx
mov edi, ecx
cmp byte [0x545ab4], bl
jne 0x438ace
call fcn.0043e400
cmp byte [eax + 0xb72], bl
je 0x438ace
cmp byte [0x545ab4], bl
jne 0x438ace
cmp word [edi], bx
je 0x438ace
call fcn.0043e400
cmp byte [eax + 0xb72], bl
je 0x438ace
cmp byte [0x545ab4], bl
jne 0x438ace
call fcn.0043e400
cmp byte [eax + 0x128], bl
je 0x438747
add eax, 0x18
jmp 0x43874a
mov eax, dword [eax + 0x14]
lea esi, [eax + 4]
cmp esi, ebx
je 0x438ad2
cmp word [esi], bx
je 0x438ad2
lea ecx, [esp + 0x2dc]
call fcn.00438f20
mov eax, esi
lea edx, [esp + 0x2dc]
mov dword [esp + 0x410], ebx
call fcn.00439130
push ebx
push ebx
push ebx
push ebx
push ebx
push str.SGTool.exe
lea ecx, [esp + 0xa8]
call fcn.00435dc0
lea eax, [esp + 0x9c]
cmp byte [esp + 0x1ac], bl
jne 0x4387ac
mov eax, dword [esp + 0x98]
cmp word [eax + 4], 0x2e
jne 0x4387c8
lea ecx, [esp + 0x90]
lea esi, [esp + 0x2dc]
call fcn.00436ef0
jmp 0x4387dc
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x2e0]
call fcn.00436390
mov dword [esp + 0x90], vtable.t_str.0
cmp byte [esp + 0x1ac], bl
jne 0x43880b
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x9c]
cmp eax, ecx
je 0x43880b
push eax
call fcn.004cc2c0
add esp, 4
mov dword [esp + 0x410], 1
mov dword [esp + 0x18], vtable.t_errorList.0
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], vtable.t_errorList::t_mem.0
mov esi, ebp
lea ebx, [esp + 0x18]
mov byte [esp + 0x410], 2
call fcn.004456e0
test al, al
jne 0x43886f
push 0x528c78
mov ecx, ebp
call fcn.00402790
lea ecx, [esp + 0x18]
call fcn.004456a0
lea ecx, [esp + 0x2dc]
call fcn.00439080
jmp 0x438ade
mov edx, dword [esp + 0x41c]
push edx
push edi
lea eax, [esp + 0x20]
push eax
mov esi, ebp
call fcn.004457c0
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov esi, eax
test esi, esi
jne 0x43889f
push 0x528c94
jmp 0x43884e
push 6
push esi
call fcn.004443c0
push 6
push esi
call fcn.00444410
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
add esp, 0x10
push 0
push 1
push 0x10000000
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x24], 0
call edi
push eax
push esi
call edi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
jne 0x4388f0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x528ca8
jmp 0x43884e
push 0x40
lea edx, [esp + 0x4c]
push 0
push edx
mov dword [esp + 0x50], 0x44
call fcn.004d3360
xor eax, eax
add esp, 0xc
lea ecx, [esp + 0x1b4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
call fcn.00438f20
push 0x51f230
push 0x51f1f4
lea edx, [esp + 0x1bc]
mov byte [esp + 0x418], 3
call fcn.00439710
add esp, 8
lea ecx, [esp + 0x2dc]
call fcn.00439650
push eax
push 0x51f1f4
lea edx, [esp + 0x1bc]
call fcn.00439710
push 0x51f230
push 0x51f1f4
lea edx, [esp + 0x1c4]
call fcn.00439710
push str.___appiderrorreport
push 0x51f1f4
lea edx, [esp + 0x1cc]
call fcn.00439710
push str.__list
push 0x51f1f4
lea edx, [esp + 0x1d4]
call fcn.00439710
push str.__hevent
push 0x51f1f4
lea edx, [esp + 0x1dc]
call fcn.00439710
mov eax, dword [esp + 0x3c]
push eax
push 0x528d90
lea edx, [esp + 0x1e4]
call fcn.00439710
add esp, 0x30
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x48]
push edx
push 0
push 0
push 0
push 1
push 0
push 0
mov ecx, 0x104
lea eax, [esp + 0x1d4]
call fcn.00439420
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x438a66
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
mov eax, dword [esp + 0x14]
push eax
call esi
lea edi, [esp + 0x1b4]
call fcn.00439450
lea ecx, [esp + 0x2dc]
call fcn.00439650
push eax
push str._T_vz1Y_
mov ebx, ebp
call fcn.00438b10
mov ecx, eax
call fcn.00438c70
mov ecx, eax
call fcn.00438c70
push 0x528c78
mov ecx, ebp
call fcn.00402790
mov ecx, edi
call fcn.00439080
jmp 0x438855
lea edi, [esp + 0x1b4]
call fcn.00439450
mov ecx, dword [esp + 0x2c]
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x44]
push edx
push 2
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], esi
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov eax, dword [esp + 0x2c]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call edi
mov ecx, dword [esp + 0x30]
push ecx
call edi
push esi
call edi
mov edx, dword [esp + 0x14]
push edx
call edi
lea ecx, [esp + 0x1b4]
call fcn.00439080
lea ecx, [esp + 0x18]
call fcn.004456a0
lea ecx, [esp + 0x2dc]
call fcn.00439080
mov al, 1
jmp 0x438ae0
push 0x528c34
mov ecx, ebp
call fcn.00402790
xor al, al
mov ecx, dword [esp + 0x408]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3f0]
xor ecx, esp
call fcn.004cc2b1
add esp, 0x400
ret