Function at 0x43dee0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
mov eax, dword [0x5de00c]
xor eax, esp
mov dword [esp + 0xd0], eax
movss xmm3, dword [0x5de0cc]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, ecx
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0xc]
movd xmm0, dword [esi + 0x8c]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edx
mulss xmm0, xmm3
movss dword [edi], xmm0
movd xmm1, dword [esi + 0x90]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm3
movss dword [ebx], xmm1
cmp eax, dword [esi + 0x10]
jbe 0x43df67
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.0052d3c5
mov esp, ebp
pop ebp
ret 0x10
test eax, eax
je 0x43e367
mov ecx, dword [esi + 0x19c]
dec eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ecx
lea edx, [eax*8]
sub edx, eax
lea eax, [esp + 0x10]
shl edx, 2
mov dword [esp + 0x30], edx
movsx ebx, word [ecx + edx]
mov ecx, esi
push ebx
push eax
call fcn.0043a260
test ebx, ebx
je 0x43e06d
xor edi, edi
test ebx, ebx
je 0x43e031
push edi
mov ecx, esi
call fcn.0043a340
test eax, eax
je 0x43dfe1
movd xmm0, dword [esi + 0xbc]
mov eax, dword [esi + 0xb8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x10c]
cvttss2si ecx, xmm0
cmp ecx, eax
cmovle ecx, eax
jmp 0x43dfe7
mov ecx, dword [esi + 0xb8]
movd xmm2, ecx
mov ecx, dword [esp + 0x1c]
cvtdq2ps xmm2, xmm2
addss xmm2, xmm1
movss dword [ecx], xmm2
cmp edi, dword [esi + 0x78]
jae 0x43e01b
mov eax, dword [esi + 0x190]
movd xmm0, dword [eax + edi*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x108]
cvttss2si eax, xmm0
jmp 0x43e01d
xor eax, eax
movd xmm1, eax
inc edi
cvtdq2ps xmm1, xmm1
addss xmm1, xmm2
movss dword [ecx], xmm1
cmp edi, ebx
jb 0x43dfb1
push ebx
mov ecx, esi
lea edi, [esi + 0xb8]
call fcn.0043a340
test eax, eax
je 0x43e065
movd xmm0, dword [esi + 0xbc]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x10c]
cvttss2si ecx, xmm0
cmp ecx, dword [edi]
cmovle ecx, dword [edi]
mov edi, dword [esp + 0x34]
jmp 0x43e0a4
mov ecx, dword [edi]
mov edi, dword [esp + 0x34]
jmp 0x43e0a4
push 0
mov ecx, esi
call fcn.0043a340
test eax, eax
je 0x43e09e
movd xmm0, dword [esi + 0xbc]
mov eax, dword [esi + 0xb8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x10c]
cvttss2si ecx, xmm0
cmp ecx, eax
cmovle ecx, eax
jmp 0x43e0a4
mov ecx, dword [esi + 0xb8]
mov eax, dword [esp + 0x1c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movss dword [eax], xmm0
lea eax, [esi + 0xb8]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
cmp edx, eax
ja 0x43e1da
mov ecx, dword [esi + 0x178]
sub eax, edx
inc eax
mov dword [esp + 0x10], ecx
cmp eax, 4
jb 0x43e189
mov esi, dword [esp + 0x24]
lea eax, [edx*8]
sub eax, edx
add esi, 0x2c
lea eax, [esi + eax*4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
sub eax, edx
sub eax, 3
shr eax, 2
inc eax
lea edx, [edx + eax*4]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2ss xmm1, dword [esi - 0x1c]
addss xmm1, dword [edi]
movss dword [edi], xmm1
addss xmm1, dword [ecx + ebx*4]
movss dword [edi], xmm1
cvtsi2ss xmm0, dword [esi]
addss xmm0, xmm1
xorps xmm1, xmm1
movss dword [edi], xmm0
addss xmm0, dword [ecx + ebx*4]
movss dword [edi], xmm0
cvtsi2ss xmm1, dword [esi + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
movss dword [edi], xmm1
addss xmm1, dword [ecx + ebx*4]
movss dword [edi], xmm1
cvtsi2ss xmm0, dword [esi + 0x38]
add esi, 0x70
addss xmm0, xmm1
movss dword [edi], xmm0
addss xmm0, dword [ecx + ebx*4]
movss dword [edi], xmm0
sub eax, 1
jne 0x43e112
mov esi, dword [esp + 0x2c]
cmp edx, dword [esp + 0x18]
jbe 0x43e18d
jmp 0x43e1d0
mov dword [esp + 0x10], ecx
mov eax, dword [esi + 0x19c]
lea ecx, [edx*8]
sub ecx, edx
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x18]
sub ecx, edx
add eax, 0x10
mov edx, dword [esp + 0x10]
inc ecx
nop dword [eax]
movd xmm0, dword [eax]
add eax, 0x1c
cvtdq2ps xmm0, xmm0
addss xmm0, dword [edi]
movss dword [edi], xmm0
addss xmm0, dword [edx + ebx*4]
movss dword [edi], xmm0
sub ecx, 1
jne 0x43e1b0
lea eax, [esi + 0xb8]
mov dword [esp + 0x10], eax
push ebx
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.0043a260
mov eax, dword [esi + 0x1c]
xor edx, edx
mov ecx, dword [esi + 0x18]
sub eax, ecx
sar eax, 2
mov dword [esp + 0x2c], eax
test eax, eax
je 0x43e25c
nop dword [eax]
mov ecx, dword [ecx + edx*4]
mov eax, dword [ecx]
cmp dword [esp + 0x24], eax
jg 0x43e220
mov ecx, dword [ecx + 4]
mov edi, dword [esp + 0x34]
add ecx, eax
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x28]
cmp ecx, eax
jle 0x43e22c
inc edx
cmp edx, dword [esp + 0x2c]
jae 0x43e254
mov ecx, dword [esi + 0x18]
jmp 0x43e200
movd xmm0, dword [esi + 0xbc]
lea ecx, [esi + 0xb8]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x10], ecx
mulss xmm0, dword [esi + 0x10c]
cvttss2si edx, xmm0
cmp edx, dword [ecx]
cmovle edx, dword [ecx]
jmp 0x43e266
lea eax, [esi + 0xb8]
jmp 0x43e260
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov dword [esp + 0x10], eax
movd xmm1, edx
cvtdq2ps xmm1, xmm1
cmp ebx, dword [esi + 0x78]
jae 0x43e28e
mov eax, dword [esi + 0x190]
movd xmm0, dword [eax + ebx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x108]
cvttss2si eax, xmm0
jmp 0x43e290
xor eax, eax
movd xmm0, eax
mov eax, dword [esp + 0x20]
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movss dword [eax], xmm0
mov eax, dword [esi + 0x10]
dec eax
cmp dword [esp + 0x18], eax
jae 0x43e4a2
mov eax, dword [esi + 0x19c]
mov ecx, dword [esp + 0x30]
movsx eax, word [ecx + eax + 0x1c]
cmp ebx, eax
je 0x43e4a2
movd xmm0, dword [esi + 0x8c]
mov ecx, esi
cvtdq2ps xmm0, xmm0
push ebx
mulss xmm0, xmm3
movss dword [edi], xmm0
call fcn.0043a340
test eax, eax
mov eax, dword [esp + 0x10]
je 0x43e309
movd xmm0, dword [esi + 0xbc]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x10c]
cvttss2si ecx, xmm0
cmp ecx, dword [eax]
cmovle ecx, dword [eax]
jmp 0x43e30b
mov ecx, dword [eax]
movd xmm1, ecx
mov ecx, dword [esp + 0x1c]
cvtdq2ps xmm1, xmm1
addss xmm1, dword [ecx]
movss dword [ecx], xmm1
cmp ebx, dword [esi + 0x78]
jae 0x43e351
mov eax, dword [esi + 0x190]
movd xmm0, dword [eax + ebx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x108]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movss dword [ecx], xmm0
jmp 0x43e4a2
xor eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movss dword [ecx], xmm0
jmp 0x43e4a2
mov eax, dword [esi + 0x19c]
cmp eax, dword [esi + 0x1a0]
je 0x43e41c
movsx ecx, word [eax]
xor edi, edi
xorps xmm1, xmm1
test ecx, ecx
js 0x43e3dd
mov ebx, dword [esi + 0xb8]
nop dword [eax + eax]
push edi
mov ecx, esi
call fcn.0043a340
test eax, eax
je 0x43e3ba
movd xmm0, dword [esi + 0xbc]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x10c]
cvttss2si eax, xmm0
cmp eax, ebx
cmovle eax, ebx
jmp 0x43e3bc
mov eax, ebx
movd xmm0, eax
inc edi
mov eax, dword [esi + 0x19c]
cvtdq2ps xmm0, xmm0
movsx ecx, word [eax]
addss xmm1, xmm0
cmp edi, ecx
jle 0x43e390
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
cmp ecx, dword [esi + 0x78]
jae 0x43e3fe
mov eax, dword [esi + 0x190]
movd xmm0, dword [eax + ecx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x108]
cvttss2si eax, xmm0
jmp 0x43e400
xor eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movss dword [edx], xmm0
addss xmm1, dword [ebx]
movss dword [ebx], xmm1
jmp 0x43e4a2
push 0
call dword [sym.imp.USER32.dll_GetDC]
cmp dword [esi + 0xd4], 8
lea ecx, [esi + 0xc0]
mov edi, eax
mov eax, dword [esi + 0xb4]
mov dword [esp + 0x30], eax
jb 0x43e441
mov ecx, dword [ecx]
push ecx
call fcn.00437830
push dword [esp + 0x30]
lea ecx, [esp + 0x3c]
push eax
movsx eax, word [esi + 0x5e]
push eax
push edi
call fcn.00437b90
mov eax, dword [esi + 0xb8]
add eax, dword [esp + 0x9c]
push edi
push 0
movd xmm0, eax
mov eax, dword [esp + 0x28]
cvtdq2ps xmm0, xmm0
movss dword [eax], xmm0
call dword [sym.imp.USER32.dll_ReleaseDC]
movd xmm0, dword [esi + 0xb8]
mov eax, dword [esp + 0x3c]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebx]
movss dword [ebx], xmm0
test eax, eax
je 0x43e4a2
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [esp + 0xdc]
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0052d3c5
mov esp, ebp
pop ebp
ret 0x10