Function at 0x43cd90
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49ccdb
mov eax, dword fs:[0]
push eax
sub esp, 0x86c
mov eax, dword [0x4cf06c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x83c], ecx
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 8]
cmp eax, 0x70b
je 0x43cff9
cmp eax, 0xfffffff4
jne 0x43d063
cmp dword [ebp + 8], 0xd76
jne 0x43d063
cmp dword [edi + 0xc], 1
jne 0x43d063
mov esi, dword [edi + 0x10]
lea ecx, [ebp - 0x878]
call fcn.0042fd50
lea ecx, [ebp - 0x878]
call fcn.0042fe40
mov dword [ebp - 0x878], 5
mov dword [ebp - 0x874], esi
push 1
mov dword [ebp - 4], 0
push esi
mov esi, dword [sym.imp.GDI32.dll_SetBkMode]
call esi
movups xmm0, xmmword [edi + 0x14]
mov edx, dword [ebp - 0x83c]
movups xmmword [ebp - 0x838], xmm0
mov ecx, dword [ebp - 0x834]
movd eax, xmm0
add ecx, 3
sub dword [ebp - 0x830], 6
add eax, 6
mov dword [ebp - 0x838], eax
mov eax, dword [ebp - 0x82c]
sub eax, 3
mov dword [ebp - 0x82c], eax
sub eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x4c6260]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x4c6208]
cvttsd2si eax, xmm0
add eax, ecx
mov dword [ebp - 0x834], eax
mov eax, dword [edx + 0x1c10]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x1bf8]
mov edx, dword [eax + ecx*4 + 4]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x83c], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43ceb2
sub ecx, dword [ebp - 0x83c]
lea eax, [ebp - 0x838]
push 0
push eax
sar ecx, 1
push ecx
push edx
push dword [ebp - 0x874]
call dword [sym.imp.USER32.dll_DrawTextW]
push 2
push dword [ebp - 0x874]
call esi
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x4d57a4]
cmp eax, dword [ecx + 4]
jg 0x43d082
push dword [0x4d5794]
lea ecx, [ebp - 0x878]
call fcn.0043ad00
movups xmm2, xmmword [edi + 0x14]
push 3
movaps xmm0, xmm2
psrldq xmm0, 0xc
movd eax, xmm0
movaps xmm0, xmm2
psrldq xmm0, 4
movd ecx, xmm0
psrldq xmm2, 8
movd esi, xmm2
sub eax, ecx
mov dword [ebp - 0x83c], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4c61d8]
cvtps2pd xmm1, xmm0
movaps xmm0, xmm1
mulsd xmm1, qword [0x4c6210]
mulsd xmm0, qword [0x4c6200]
addsd xmm1, qword [0x4c6208]
cvttsd2si ecx, xmm0
cvttsd2si eax, xmm1
lea edx, [eax + eax*2]
lea edi, [eax + eax]
lea eax, [ecx + ecx]
sub esi, eax
mov eax, esi
sub eax, edx
mov dword [ebp - 0x828], eax
mov eax, dword [ebp - 0x83c]
add eax, edi
add ecx, eax
mov eax, esi
sub eax, edi
mov dword [ebp - 0x824], ecx
mov dword [ebp - 0x820], eax
mov eax, dword [ebp - 0x83c]
add eax, edx
mov dword [ebp - 0x814], ecx
cvttsd2si edx, xmm0
add eax, edx
mov dword [ebp - 0x81c], eax
cvttsd2si eax, xmm1
sub esi, eax
lea eax, [ebp - 0x828]
push eax
push dword [ebp - 0x874]
mov dword [ebp - 0x818], esi
call dword [sym.imp.GDI32.dll_Polyline]
lea ecx, [ebp - 0x878]
call fcn.0042fe40
lea ecx, [ebp - 0x85c]
call fcn.0042fff0
mov eax, 4
jmp 0x43d065
cmp dword [edi + 0xc], 0x202
jne 0x43d063
mov eax, dword [edi + 0x1c]
lea edx, [edi + 0x18]
sub eax, dword [edx]
cmp eax, 0x400
jge 0x43d063
mov eax, dword [ecx + 0x39f8]
lea esi, [ecx + 0x39f8]
push edx
push 0
push 0x437
mov ecx, esi
call dword [eax + 0x14c]
mov eax, dword [esi]
lea ecx, [ebp - 0x810]
push ecx
push 0
push 0x43e
mov ecx, esi
call dword [eax + 0x14c]
mov edx, dword [ebp - 0x83c]
lea eax, [ebp - 0x810]
push 1
push 0
push 0
push eax
push 0
push dword [edx + 0x54]
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047d39f
mov esp, ebp
pop ebp
ret 8
push 0x4d57a4
call fcn.0047d957
add esp, 4
cmp dword [0x4d57a4], 0xffffffff
jne 0x43ceff
push 0x646464
push 2
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
push 0x4d57a4
mov dword [0x4d5794], eax
call fcn.0047d90d
add esp, 4
jmp 0x43ceff