Function at 0x438260
Capabilities:
Create process on windows

Disassembly:
push 0xffffffffffffffff
push 0x506cac
mov eax, dword fs:[0]
push eax
sub esp, 0x3f4
mov eax, dword [0x5375a0]
xor eax, esp
mov dword [esp + 0x3f0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5375a0]
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 [0x53da74], bl
jne 0x43868e
call fcn.0043dfe0
cmp byte [eax + 0xb72], bl
je 0x43868e
cmp byte [0x53da74], bl
jne 0x43868e
cmp word [edi], bx
je 0x43868e
call fcn.0043dfe0
cmp byte [eax + 0xb72], bl
je 0x43868e
cmp byte [0x53da74], bl
jne 0x43868e
call fcn.0043dfe0
cmp byte [eax + 0x128], bl
je 0x438307
add eax, 0x18
jmp 0x43830a
mov eax, dword [eax + 0x14]
lea esi, [eax + 4]
cmp esi, ebx
je 0x438692
cmp word [esi], bx
je 0x438692
lea ecx, [esp + 0x2dc]
call fcn.00438ae0
mov eax, esi
lea edx, [esp + 0x2dc]
mov dword [esp + 0x410], ebx
call fcn.00438d30
push ebx
push ebx
push ebx
push ebx
push ebx
push str.SGTool.exe
lea ecx, [esp + 0xa8]
call fcn.00435960
lea eax, [esp + 0x9c]
cmp byte [esp + 0x1ac], bl
jne 0x43836c
mov eax, dword [esp + 0x98]
cmp word [eax + 4], 0x2e
jne 0x438388
lea ecx, [esp + 0x90]
lea esi, [esp + 0x2dc]
call fcn.00436ab0
jmp 0x43839c
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x2e0]
call fcn.00435f50
mov dword [esp + 0x90], vtable.t_str.0
cmp byte [esp + 0x1ac], bl
jne 0x4383cb
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x9c]
cmp eax, ecx
je 0x4383cb
push eax
call fcn.004c6103
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.00444fb0
test al, al
jne 0x43842f
push 0x521258
mov ecx, ebp
call fcn.00402790
lea ecx, [esp + 0x18]
call fcn.00444f70
lea ecx, [esp + 0x2dc]
call fcn.00438c80
jmp 0x43869e
mov edx, dword [esp + 0x41c]
push edx
push edi
lea eax, [esp + 0x20]
push eax
mov esi, ebp
call fcn.00445090
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov esi, eax
test esi, esi
jne 0x43845f
push 0x521274
jmp 0x43840e
push 6
push esi
call fcn.00443cb0
push 6
push esi
call fcn.00443d00
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 0x4384b0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x521288
jmp 0x43840e
push 0x40
lea edx, [esp + 0x4c]
push 0
push edx
mov dword [esp + 0x50], 0x44
call fcn.004cd250
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.00438ae0
push 0x519330
push 0x5192f4
lea edx, [esp + 0x1bc]
mov byte [esp + 0x418], 3
call fcn.004392f0
add esp, 8
lea ecx, [esp + 0x2dc]
call fcn.00435ed0
push eax
push 0x5192f4
lea edx, [esp + 0x1bc]
call fcn.004392f0
push 0x519330
push 0x5192f4
lea edx, [esp + 0x1c4]
call fcn.004392f0
push str.___appiderrorreport
push 0x5192f4
lea edx, [esp + 0x1cc]
call fcn.004392f0
push str.__list
push 0x5192f4
lea edx, [esp + 0x1d4]
call fcn.004392f0
push str.__hevent
push 0x5192f4
lea edx, [esp + 0x1dc]
call fcn.004392f0
mov eax, dword [esp + 0x3c]
push eax
push 0x521370
lea edx, [esp + 0x1e4]
call fcn.004392f0
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.00439020
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x438626
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.00439050
lea ecx, [esp + 0x2dc]
call fcn.00435ed0
push eax
push str._T_vz1Y_
mov ebx, ebp
call fcn.004386d0
mov ecx, eax
call fcn.00438830
mov ecx, eax
call fcn.00438830
push 0x521258
mov ecx, ebp
call fcn.00402790
mov ecx, edi
call fcn.00438c80
jmp 0x438415
lea edi, [esp + 0x1b4]
call fcn.00439050
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.00438c80
lea ecx, [esp + 0x18]
call fcn.00444f70
lea ecx, [esp + 0x2dc]
call fcn.00438c80
mov al, 1
jmp 0x4386a0
push 0x521214
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.004c60f4
add esp, 0x400
ret