Function at 0x459028
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
sub esp, 0x64
push fcn.00459028
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
mov edx, dword [0x471758]
call fcn.0046d792
mov edx, 0x474054
call fcn.0046d7a6
call fcn.0046d04d
jne 0x4595a2
xor eax, eax
add eax, dword [0x473264]
mov edx, dword [eax]
call fcn.0046d792
mov edx, 0x474054
call fcn.0046d7a6
call fcn.0046d04d
je 0x459089
push dword [0x46eed0]
call fcn.0045fba1
xor eax, eax
movsx ecx, word [0x471684]
cmp ecx, eax
jle 0x4591ae
mov eax, 4
add eax, dword [0x473264]
mov edx, dword [eax]
call fcn.0046d792
mov edx, 0x474054
call fcn.0046d7a6
call fcn.0046d04d
jne 0x459137
push 0
push 0
push 0
mov edx, 0x477a08
call fcn.0046d7a6
mov ebx, esp
add ebx, 8
push ebx
call fcn.0046ce20
mov edx, 0x477a3c
call fcn.0046d7a6
mov ebx, esp
add ebx, 8
push ebx
call fcn.0046ce20
mov ebx, 0x4713b4
push ebx
mov edx, 0x47fcec
call fcn.0046d7a6
mov ebx, esp
add ebx, 0xc
push ebx
call fcn.0046ce20
push dword [0x46eed0]
call fcn.0045f114
mov ebx, esp
mov eax, dword [ebx + 8]
call fcn.0046b9fc
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.0046b9fc
mov ebx, esp
mov eax, dword [ebx]
call fcn.0046b9fc
add esp, 0xc
mov eax, 4
add eax, dword [0x473264]
mov edx, dword [eax]
call fcn.0046d792
mov edx, 0x474054
call fcn.0046d7a6
call fcn.0046d04d
je 0x4591ae
push 0
mov eax, 8
add eax, dword [0x473264]
mov ebx, eax
push ebx
mov edx, 0x477a3c
call fcn.0046d7a6
mov ebx, esp
add ebx, 4
push ebx
call fcn.0046ce20
mov ebx, 0x4713b4
push ebx
mov eax, 4
add eax, dword [0x473264]
mov ebx, eax
push ebx
push dword [0x46eed0]
call fcn.0045f114
mov ebx, esp
mov eax, dword [ebx]
call fcn.0046b9fc
add esp, 4
mov eax, 1
movsx ecx, word [0x471688]
cmp ecx, eax
je 0x459626
mov edx, dword [0x471680]
call fcn.0046d792
mov edx, dword [0x4713e4]
call fcn.0046d792
call fcn.0046cfdc
mov edx, 0x473ffc
call fcn.0046d7a6
call fcn.0046cfdc
fild word [0x471684]
call fcn.0046be63
call fcn.0046cfdc
mov ebx, 0x46f020
mov ecx, 0xfd0
call fcn.0046d672
call fcn.0046d73b
call fcn.0046b12d
fstp qword [0x47120c]
mov ebx, 0x46f020
call fcn.0046d62c
xor ebx, ebx
fld qword [0x47120c]
fistp word [ebp - 0x36]
mov ecx, pe_nt_image_headers32
mov eax, 1
mov dx, 0x261
call fcn.00468f17
fld qword [0x47120c]
fistp word [ebp - 0x36]
mov edx, 0x47fcec
call fcn.0046d7a6
call fcn.0046b209
call fcn.00469237
xor ecx, ecx
fld qword [0x47120c]
fistp qword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
call fcn.0046ba6d
fldz
mov edx, dword [0x4713d8]
call fcn.0046d792
call fcn.0046c02f
fcompp
fnstsw ax
sahf
jbe 0x45933b
mov eax, 0x10
add eax, dword [0x473264]
mov edx, dword [eax]
call fcn.0046d792
mov edx, 0x474054
call fcn.0046d7a6
call fcn.0046d04d
mov eax, 0xffffffff
je 0x4592b9
inc eax
xor ecx, ecx
add ecx, dword [0x473264]
mov edx, dword [ecx]
call fcn.0046d792
mov edx, 0x474054
call fcn.0046d7a6
call fcn.0046d04d
mov ecx, 0xffffffff
je 0x4592df
inc ecx
or eax, ecx
test eax, eax
je 0x45933b
mov edx, dword [0x4713d8]
call fcn.0046d792
mov ecx, 0xf
mov eax, 1
call fcn.004694b8
mov edx, 0x47414c
call fcn.0046d7a6
call fcn.0046d04d
je 0x45933b
push 1
mov edx, dword [0x4713d8]
call fcn.0046d792
call fcn.0046c02f
call fcn.0046b151
push eax
call dword [sym.imp.USER32.DLL_ShowWindow]
call fcn.0046d0ef
xor eax, eax
add eax, dword [0x473264]
mov edx, dword [eax]
call fcn.0046d792
mov edx, 0x474054
call fcn.0046d7a6
call fcn.0046d04d
je 0x4595a2
mov edx, dword [0x471680]
call fcn.0046d792
mov edx, dword [0x4713e4]
call fcn.0046d792
call fcn.0046cfdc
mov edx, 0x474154
call fcn.0046d7a6
call fcn.0046cfdc
fild word [0x471684]
call fcn.0046be63
call fcn.0046cfdc
mov ebx, 0x46f020
mov ecx, 0xfd0
call fcn.0046d672
call fcn.0046d73b
call fcn.0046b12d
fstp qword [0x47120c]
mov ebx, 0x46f020
call fcn.0046d62c
xor ebx, ebx
fld qword [0x47120c]
fistp word [ebp - 0x36]
mov ecx, pe_nt_image_headers32
mov eax, 1
mov dx, 0x261
call fcn.00468f17
fld qword [0x47120c]
fistp word [ebp - 0x36]
push 0
mov eax, 0x22
call fcn.00467e5c
call fcn.00467df5
call fcn.0046b209
xor eax, eax
mov ebx, dword [0x473264]
mov edx, dword [ebx + eax*4]
call fcn.0046d792
call fcn.0046b209
push 0
mov eax, 0x22
call fcn.00467e5c
call fcn.00467df5
call fcn.0046b209
call fcn.00469237
fld qword [0x47120c]
fistp word [ebp - 0x36]
push 0
mov eax, 0x22
call fcn.00467e5c
call fcn.00467df5
call fcn.0046b209
mov eax, 3
mov ebx, dword [0x473264]
mov edx, dword [ebx + eax*4]
call fcn.0046d792
call fcn.0046b209
push 0
mov eax, 0x22
call fcn.00467e5c
call fcn.00467df5
call fcn.0046b209
call fcn.00469237
fld qword [0x47120c]
fistp word [ebp - 0x36]
push 0
mov eax, 0x22
call fcn.00467e5c
call fcn.00467df5
call fcn.0046b209
mov eax, 4
mov ebx, dword [0x473264]
mov edx, dword [ebx + eax*4]
call fcn.0046d792
call fcn.0046b209
push 0
mov eax, 0x22
call fcn.00467e5c
call fcn.00467df5
call fcn.0046b209
call fcn.00469237
xor ecx, ecx
fld qword [0x47120c]
fistp qword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
call fcn.0046ba6d
mov edx, dword [0x471680]
call fcn.0046d792
mov edx, dword [0x4713e4]
call fcn.0046d792
call fcn.0046cfdc
mov eax, 0x10
add eax, dword [0x473264]
mov edx, dword [eax]
call fcn.0046d792
call fcn.0046cfdc
mov ebx, 0x46f020
mov ecx, 0xfd0
call fcn.0046d672
push 0
push 1
mov ebx, 0x46f020
call fcn.0046d62c
mov edx, 0x473eac
call fcn.0046d7a6
call fcn.0046cfdc
mov edx, dword [0x4713b4]
call fcn.0046d792
call fcn.0046cfdc
mov edx, 0x473eac
call fcn.0046d7a6
call fcn.0046cfdc
fild word [0x471684]
call fcn.0046be63
call fcn.0046cfdc
mov ebx, esp
add ebx, 4
call fcn.0046ce5f
call dword [sym.imp.KERNEL32.DLL_WinExec]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.0046b9fc
pop eax
add esp, 4
call fcn.0046d0ef
call fcn.0046b12d
fstp qword [ebp - 0x8c]
mov ebx, dword [ebp + 8]
push dword [ebx]
call dword [sym.imp.USER32.DLL_DestroyWindow]
call fcn.0046d0ef
mov edx, dword [0x471680]
call fcn.0046d792
mov edx, dword [0x4713e4]
call fcn.0046d792
call fcn.0046cfdc
mov edx, 0x47406c
call fcn.0046d7a6
call fcn.0046cfdc
fild word [0x471684]
call fcn.0046be63
call fcn.0046cfdc
call fcn.0046bef8
push 0
mov edx, 0x47fcfc
call fcn.0046d7a6
mov ebx, esp
push ebx
call fcn.0046ce20
call fcn.0040390a
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.0046b9fc
pop eax
add esp, 4
push 0
call dword [sym.imp.USER32.DLL_PostQuitMessage]
call fcn.0046d0ef
call fcn.0045f578
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 4