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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
push esi
mov esi, ecx
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x28], esi
mov dword [esi], 0
mov ecx, dword [edi + 8]
test ecx, ecx
jne 0x554408
xorps xmm0, xmm0
movaps xmmword [esp + 0x70], xmm0
movss xmm1, dword [esp + 0x78]
movss dword [esp + 0x30], xmm1
movss xmm4, dword [esp + 0x74]
movss xmm0, dword [esp + 0x70]
movss xmm3, dword [esp + 0x7c]
movss dword [esp + 0x2c], xmm4
movss dword [esp + 0x10], xmm0
jmp 0x5544ba
mov edx, dword [edi]
cmp ecx, 1
jne 0x554425
movups xmm0, xmmword [edx]
movups xmmword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x78]
movss dword [esp + 0x30], xmm0
jmp 0x5543e5
movss xmm5, dword [edx]
dec ecx
movss xmm4, dword [edx + 4]
movss xmm6, dword [edx + 8]
movss xmm3, dword [edx + 0xc]
addss xmm6, xmm5
movss dword [esp + 0x10], xmm5
addss xmm3, xmm4
movss dword [esp + 0x2c], xmm4
test ecx, ecx
jle 0x5544ac
mov eax, ecx
shl eax, 4
add eax, edx
nop dword [eax + eax]
movss xmm0, dword [eax]
dec ecx
minss xmm0, xmm5
movaps xmm5, xmm0
movss xmm0, dword [eax + 4]
minss xmm0, xmm4
movaps xmm4, xmm0
movss xmm0, dword [eax + 8]
addss xmm0, dword [eax]
maxss xmm0, xmm6
movaps xmm6, xmm0
movss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 4]
sub eax, 0x10
maxss xmm0, xmm3
movaps xmm3, xmm0
test ecx, ecx
jg 0x554460
movss dword [esp + 0x10], xmm5
movss dword [esp + 0x2c], xmm4
subss xmm6, xmm5
subss xmm3, xmm4
movss dword [esp + 0x30], xmm6
movss xmm0, dword [0x62804c]
addss xmm4, xmm3
comiss xmm0, xmm4
jbe 0x5544d9
movaps xmm0, xmm4
call fcn.00418850
cvttss2si eax, xmm0
jmp 0x5544de
mov eax, bind
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [esp + 0x30]
movss xmm1, dword [0x62804c]
mov dword [esp + 0x40], eax
comiss xmm1, xmm0
jbe 0x554506
call fcn.00418850
cvttss2si eax, xmm0
jmp 0x55450b
mov eax, bind
movss xmm1, dword [0x6280d4]
movss xmm0, dword [esp + 0x2c]
comiss xmm0, xmm1
mov dword [esp + 0x3c], eax
jbe 0x554539
call fcn.004188d0
movss xmm1, dword [0x6280d4]
cvttss2si eax, xmm0
mov dword [esp + 0x30], eax
jmp 0x554541
mov dword [esp + 0x30], bind
movss xmm0, dword [esp + 0x10]
comiss xmm0, xmm1
jbe 0x554557
call fcn.004188d0
cvttss2si ecx, xmm0
jmp 0x55455c
mov ecx, bind
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
mov dword [esi + 4], ecx
sub eax, ecx
mov dword [esi + 8], edx
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x40]
sub eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [edi + 8]
add eax, eax
mov dword [esi + 0x14], eax
mov eax, dword [edi + 8]
mov byte [esi + 0x1c], 1
lea edi, [eax*4 + 1]
mov eax, dword [esp + 0x28]
mov dword [esi + 0x18], edi
mov esi, dword [esi + 0x10]
inc esi
mov dword [eax + 0x10], esi
push dword [eax]
call fcn.004af8b3
xor eax, eax
add esp, 4
test esi, esi
cmovg eax, esi
add eax, 2
imul eax, edi
shl eax, 2
push eax
call fcn.004afadb
mov edi, dword [esp + 0x2c]
mov ecx, eax
add esp, 4
mov dword [edi], ecx
mov edx, dword [edi + 0x10]
sub edx, 1
js 0x5545e1
nop
sub edx, 1
mov dword [ecx], 0
mov eax, dword [edi + 0x18]
lea ecx, [ecx + eax*4]
jns 0x5545d0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [eax + 8]
shl eax, 4
add eax, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x64], eax
cmp edx, eax
je 0x554858
movss xmm2, dword [0x62800c]
movsd xmm3, qword [0x627f88]
nop
movss xmm0, dword [edx]
mulss xmm0, xmm2
mov eax, dword [edi + 8]
shl eax, 8
cvtps2pd xmm0, xmm0
addsd xmm0, xmm3
movsd qword [esp + 0x70], xmm0
movss xmm0, dword [edx + 8]
addss xmm0, dword [edx]
mulss xmm0, xmm2
cvtps2pd xmm0, xmm0
addsd xmm0, xmm3
movsd qword [esp + 0x68], xmm0
movss xmm0, dword [edx + 4]
mulss xmm0, xmm2
cvtps2pd xmm0, xmm0
addsd xmm0, xmm3
movsd qword [esp + 0x58], xmm0
movss xmm0, dword [edx + 0xc]
addss xmm0, dword [edx + 4]
mov ecx, dword [esp + 0x58]
sub ecx, eax
mulss xmm0, xmm2
cvtps2pd xmm0, xmm0
addsd xmm0, xmm3
movsd qword [esp + 0x58], xmm0
mov edx, dword [esp + 0x58]
sub edx, eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x30], edx
cmp dword [esp + 0x68], eax
jle 0x554843
cmp edx, ecx
jle 0x554843
mov eax, ecx
cdq
and edx, 0xff
lea esi, [edx + eax]
mov eax, dword [esp + 0x30]
cdq
and edx, 0xff
sar esi, 8
add eax, edx
sar eax, 8
mov dword [esp + 0x2c], eax
cmp esi, eax
jne 0x5546ce
mov eax, dword [esp + 0x30]
sub eax, ecx
jmp 0x554822
movzx eax, cl
mov edx, esi
mov ecx, 0xff
inc esi
sub ecx, eax
push ecx
push edx
push dword [esp + 0x70]
mov ecx, edi
push dword [esp + 0x7c]
call fcn.00553d20
cmp esi, dword [esp + 0x2c]
jge 0x55481b
mov eax, dword [edi + 0x18]
mov ecx, esi
imul eax, ecx
inc esi
mov dword [esp + 0x58], esi
mov esi, dword [edi]
mov edx, dword [esi + eax*4]
mov dword [esp + 0x54], ecx
lea ecx, [esi + eax*4]
mov dword [esp + 0x50], edx
lea eax, [edx + 1]
cmp eax, dword [edi + 0x14]
jl 0x5547e8
lea eax, [edx*2 + 2]
cmp eax, dword [edi + 0x14]
je 0x5547dd
xor ecx, ecx
mov dword [edi + 0x14], eax
lea edx, [eax*2 + 1]
mov eax, dword [edi + 0x10]
test eax, eax
mov dword [esp + 0x3c], edx
cmovg ecx, eax
add ecx, 2
imul ecx, edx
shl ecx, 2
push ecx
call fcn.004afadb
mov edx, dword [edi + 0x18]
mov esi, eax
mov eax, dword [esp + 0x2c]
add esp, 4
mov edi, dword [edi]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], edx
mov ecx, dword [eax + 0x10]
sub ecx, 1
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], ecx
js 0x5547c1
nop dword [eax]
mov eax, dword [edi]
lea eax, [eax*8 + 4]
push eax
push edi
push esi
call fcn.004ac3c0
mov ecx, dword [esp + 0x54]
add esp, 0xc
lea eax, [ecx*4]
mov ecx, dword [esp + 0x3c]
add edi, eax
lea eax, [ecx*4]
add esi, eax
sub dword [esp + 0x40], 1
jns 0x554780
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x4c]
mov edi, dword [eax]
jmp 0x5547c5
mov ecx, dword [esp + 0x3c]
mov dword [eax], esi
push edi
mov dword [eax + 0x18], ecx
call fcn.004af8b3
mov edi, dword [esp + 0x2c]
add esp, 4
mov edx, dword [esp + 0x50]
mov esi, dword [edi]
mov eax, dword [edi + 0x18]
imul eax, dword [esp + 0x54]
lea ecx, [esi + eax*4]
mov esi, dword [esp + 0x58]
lea eax, [edx + 2]
mov dword [ecx], eax
mov eax, dword [esp + 0x70]
mov dword [ecx + edx*8 + 4], eax
mov eax, dword [esp + 0x68]
mov dword [ecx + edx*8 + 8], 0xff
mov dword [ecx + edx*8 + 0xc], eax
mov dword [ecx + edx*8 + 0x10], 0xffffff01
cmp esi, dword [esp + 0x2c]
jl 0x5546f6
mov eax, dword [esp + 0x30]
movzx eax, al
push eax
push esi
push dword [esp + 0x70]
mov ecx, edi
push dword [esp + 0x7c]
call fcn.00553d20
movsd xmm3, qword [0x627f88]
movss xmm2, dword [0x62800c]
mov edx, dword [esp + 0x10]
add edx, 0x10
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x64]
jne 0x554610
push 1
mov ecx, edi
call fcn.00553e30
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4