Function at 0x422e90
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [0x4dc100]
xor eax, ebp
mov dword [ebp - 8], eax
movss xmm2, dword [0x4ddf6c]
movd xmm1, edx
cvtdq2ps xmm1, xmm1
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov esi, ecx
comiss xmm1, xmm2
movss dword [ebp - 0x3c], xmm1
jb 0x423023
mov eax, dword [0x4dfc98]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d67c0]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm2
comiss xmm0, xmm1
jb 0x423023
movss xmm3, dword [0x4ddf70]
movd xmm2, ebx
cvtdq2ps xmm2, xmm2
comiss xmm2, xmm3
jb 0x423023
mov eax, dword [0x4dfc9c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d67c0]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm3
comiss xmm0, xmm2
jb 0x423023
mov eax, dword [0x4dfca8]
cmp byte [eax + 0x14c], 0
je 0x423023
mov eax, dword [0x4e0050]
cmp eax, 2
je 0x422f53
mov dword [0x4dfcb4], esi
cmp esi, 3
jne 0x423016
cmp eax, 2
jne 0x42303c
mov dword [0x4dfcb4], 1
lea edi, [ebp - 0xb]
mov dword [0x4e0050], 1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebx, eax
mov eax, 0xcccccccd
dec edi
mul ebx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [edi], bl
mov ebx, edx
test ebx, ebx
jne 0x422f84
lea eax, [ebp - 0xb]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edx
xorps xmm0, xmm0
movups xmmword [ebp - 0x38], xmm0
cmp edi, eax
jne 0x422fc2
lea edi, [edx + 0xf]
mov byte [ebp - 0x38], dl
jmp 0x422fd4
lea eax, [ebp - 0xb]
sub eax, edi
lea ecx, [ebp - 0x38]
push eax
push edi
call fcn.00409650
mov edi, dword [ebp - 0x24]
call fcn.00422b00
cmp edi, 0xf
jbe 0x42300c
mov edx, dword [ebp - 0x38]
lea ecx, [edi + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x423002
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4232f6
push ecx
push edx
call fcn.00474928
add esp, 8
movss xmm1, dword [ebp - 0x3c]
mov ebx, dword [ebp + 8]
jmp 0x42303c
cmp eax, 2
je 0x42303c
mov dword [0x4e0050], esi
jmp 0x42303c
mov dword [0x4dfcb4], 0
cmp esi, 3
jne 0x42303c
mov dword [0x4e0050], 0
movss xmm2, dword [0x4ddf9c]
comiss xmm1, xmm2
jb 0x423129
mov eax, dword [0x4dfddc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d67c0]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm2
comiss xmm0, xmm1
jb 0x423129
movss xmm3, dword [0x4ddfa0]
movd xmm2, ebx
cvtdq2ps xmm2, xmm2
comiss xmm2, xmm3
jb 0x423129
mov eax, dword [0x4dfde0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d67c0]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm3
comiss xmm0, xmm2
jb 0x423129
mov eax, dword [0x4dfca8]
cmp byte [eax + 0x14c], 0
je 0x423129
mov eax, dword [0x4e0080]
cmp eax, 2
je 0x4230d3
mov dword [0x4dfcb8], esi
cmp esi, 3
jne 0x42311c
cmp eax, 2
jne 0x423142
cmp dword [0x4ddfc8], 0xf
mov eax, 0x4ddfb4
push 5
cmova eax, dword [0x4ddfb4]
push 0
push 0
push eax
push 0
push 0
mov dword [0x4dfcb8], 1
mov dword [0x4e0080], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
movss xmm1, dword [ebp - 0x3c]
jmp 0x423142
cmp eax, 2
je 0x423142
mov dword [0x4e0080], esi
jmp 0x423142
mov dword [0x4dfcb8], 0
cmp esi, 3
jne 0x423142
mov dword [0x4e0080], 0
movss xmm2, dword [0x4ddff0]
comiss xmm1, xmm2
jb 0x4231ef
mov eax, dword [0x4dfe44]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d67c0]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm2
comiss xmm0, xmm1
jb 0x4231ef
movss xmm3, dword [0x4ddff4]
movd xmm2, ebx
cvtdq2ps xmm2, xmm2
comiss xmm2, xmm3
jb 0x4231ef
mov eax, dword [0x4dfe48]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d67c0]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm3
comiss xmm0, xmm2
jb 0x4231ef
mov eax, dword [0x4dfca8]
cmp byte [eax + 0x14c], 0
je 0x4231ef
mov eax, dword [0x4e005c]
cmp eax, 2
je 0x4231d1
mov dword [0x4dfcbc], esi
cmp esi, 3
jne 0x4231e2
call fcn.00422d30
movss xmm1, dword [ebp - 0x3c]
jmp 0x423208
cmp eax, 2
je 0x423208
mov dword [0x4e005c], esi
jmp 0x423208
mov dword [0x4dfcbc], 0
cmp esi, 3
jne 0x423208
mov dword [0x4e005c], 0
movss xmm2, dword [0x4ddfa8]
comiss xmm1, xmm2
jb 0x4232cc
mov eax, dword [0x4dfe04]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d67c0]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm2
comiss xmm0, xmm1
jb 0x4232cc
movss xmm2, dword [0x4ddfac]
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm2
jb 0x4232cc
mov eax, dword [0x4dfe08]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d67c0]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm2
comiss xmm0, xmm1
jb 0x4232cc
mov eax, dword [0x4e0084]
cmp eax, 2
je 0x42328d
mov dword [0x4dfcc0], esi
cmp esi, 3
jne 0x4232b0
cmp eax, 2
jne 0x4232e5
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004748e0
mov esp, ebp
pop ebp
ret
cmp eax, 2
je 0x4232e5
mov dword [0x4e0084], esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004748e0
mov esp, ebp
pop ebp
ret
mov dword [0x4dfcc0], 0
cmp esi, 3
jne 0x4232e5
mov dword [0x4e0084], 0
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004748e0
mov esp, ebp
pop ebp
ret
call fcn.0047ce51
int3