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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xec
mov eax, dword [0x74b5e0]
push ebx
push esi
push edi
movss dword [esp + 0x24], xmm2
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb0], eax
call fcn.005ceee5
mov ecx, 0x2d
mov dword [esp + 0x50], 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x739a80]
mulss xmm0, dword [0x7399c0]
addss xmm0, dword [0x739a00]
cvttss2si eax, xmm0
cmp eax, ecx
cmovl ecx, eax
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], ebx
cmp ecx, 0x23
jge 0x446c00
mov ecx, 0x23
mov dword [esp + 0x34], ecx
mov edi, ecx
call fcn.005ceee5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x739a80]
movss dword [esp + 0x48], xmm0
call fcn.005ceee5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x739a80]
addss xmm0, xmm0
subss xmm0, dword [0x739900]
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [esp + 0x48]
addss xmm0, xmm0
subss xmm0, dword [0x739900]
movss dword [esp + 0xac], xmm0
cmp esi, ebx
je 0x446c80
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esi], eax
mov dword [esi + 4], ecx
add esi, 8
mov dword [esp + 0x54], esi
jmp 0x446c9a
lea eax, [esp + 0xa8]
push eax
push esi
lea ecx, [esp + 0x58]
call fcn.0042c460
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
sub edi, 1
jne 0x446c02
mov eax, dword [esp + 0xb0]
lea ecx, [esp + 0xb4]
movaps xmm0, xmmword [0x739c70]
push ecx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
mov eax, dword [eax + 0x48]
push ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x54], edi
push ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x50], edi
push ecx
push ebx
push dword [esp + 0x48]
lea ecx, [esp + 0x100]
mov dword [esp + 0xa0], edi
push ecx
movups xmmword [esp + 0x104], xmm0
mov dword [esp + 0xd0], edi
call eax
add esp, 0x1c
test eax, eax
jns 0x446d11
xor esi, esi
jmp 0x447c10
mov esi, dword [esp + 0x44]
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x20], eax
xor edi, edi
mov dword [esp + 0xc], ebx
xor ecx, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x4c], eax
jle 0x447b0f
movss xmm1, dword [0x739aa4]
movss xmm2, dword [0x739b1c]
movss xmm4, dword [0x7398c0]
mov dword [esp + 0x30], 0xbb449ba6
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], 0x3f800000
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 0xbf800000
nop dword [eax]
mov eax, dword [esp + 0x88]
movaps xmm6, xmm1
mov edx, dword [esi + ecx*4]
movaps xmm7, xmm1
movaps xmm3, xmm2
movaps xmm5, xmm2
mov ebx, dword [eax + ecx*4]
xor eax, eax
test edx, edx
jle 0x446de2
nop
movss xmm1, dword [ebx + eax*8 + 4]
movss xmm2, dword [ebx + eax*8]
movaps xmm0, xmm1
minss xmm0, xmm7
inc eax
maxss xmm1, xmm5
movaps xmm7, xmm0
movaps xmm0, xmm2
minss xmm0, xmm6
movaps xmm5, xmm1
maxss xmm2, xmm3
movaps xmm6, xmm0
movaps xmm3, xmm2
cmp eax, edx
jl 0x446db0
subss xmm3, xmm6
mov dword [esp + 0x20], 1
subss xmm5, xmm7
lea eax, [edx - 1]
mulss xmm3, xmm4
mulss xmm5, xmm4
addss xmm3, xmm6
addss xmm5, xmm7
movss dword [esp + 0x18], xmm3
movss dword [esp + 0x28], xmm3
movss dword [esp + 0x2c], xmm5
cmp eax, 1
jle 0x44742a
movss xmm1, dword [esp + 0x24]
lea edi, [ebx + 0xc]
movaps xmm0, xmm3
mov dword [esp + 0x8c], 0
mulss xmm0, xmm1
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], 0xbbc49ba6
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x74], xmm0
mov dword [esp + 0x78], 0xbbc49ba6
movss dword [esp + 0x7c], xmm0
mov dword [esp + 0x80], 0xbbc49ba6
movss dword [esp + 0x84], xmm0
jmp 0x446e96
movss xmm1, dword [esp + 0x24]
mulss xmm1, dword [ebx]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x10]
lea esi, [ebx + 4]
movss dword [esp + 0x20], xmm1
call fcn.00415af0
push esi
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [ebx]
lea eax, [esp + 0x1c]
mulss xmm0, dword [0x7398c0]
lea ecx, [esp + 0xc]
push eax
addss xmm0, dword [0x7398c0]
movss dword [esp + 0x20], xmm0
call fcn.00415af0
movss xmm0, dword [0x7398c0]
lea eax, [esp + 0x1c]
movss xmm1, dword [esi]
lea ecx, [esp + 0xc]
mulss xmm1, xmm0
push eax
subss xmm0, xmm1
movss dword [esp + 0x20], xmm0
call fcn.00415af0
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0x1c]
mulss xmm0, dword [edi + 4]
lea ecx, [esp + 0xc]
push eax
movss dword [esp + 0x20], xmm0
call fcn.00415af0
lea esi, [edi + 8]
push esi
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [edi + 4]
lea eax, [esp + 0x1c]
mulss xmm0, dword [0x7398c0]
lea ecx, [esp + 0xc]
push eax
addss xmm0, dword [0x7398c0]
movss dword [esp + 0x20], xmm0
call fcn.00415af0
movss xmm1, dword [esi]
movss xmm0, dword [0x7398c0]
mulss xmm1, xmm0
subss xmm0, xmm1
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x10]
movss dword [esp + 0x20], xmm0
call fcn.00415af0
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0x1c]
mulss xmm0, dword [edi - 4]
lea ecx, [esp + 0xc]
push eax
movss dword [esp + 0x20], xmm0
call fcn.00415af0
push edi
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [edi - 4]
lea eax, [esp + 0x1c]
mulss xmm0, dword [0x7398c0]
lea ecx, [esp + 0xc]
push eax
addss xmm0, dword [0x7398c0]
movss dword [esp + 0x20], xmm0
call fcn.00415af0
movss xmm0, dword [0x7398c0]
lea eax, [esp + 0x1c]
movss xmm1, dword [edi]
lea ecx, [esp + 0xc]
mulss xmm1, xmm0
push eax
subss xmm0, xmm1
movss dword [esp + 0x20], xmm0
call fcn.00415af0
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0x1c]
mulss xmm0, dword [ebx]
lea ecx, [esp + 0xc]
push eax
movss dword [esp + 0x20], xmm0
call fcn.00415af0
lea eax, [ebx + 4]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [ebx]
lea eax, [esp + 0x1c]
mulss xmm0, dword [0x7398c0]
lea ecx, [esp + 0xc]
push eax
addss xmm0, dword [0x7398c0]
movss dword [esp + 0x20], xmm0
call fcn.00415af0
movss xmm0, dword [0x7398c0]
lea eax, [esp + 0x1c]
movss xmm1, dword [ebx + 4]
lea ecx, [esp + 0xc]
mulss xmm1, xmm0
push eax
subss xmm0, xmm1
movss dword [esp + 0x20], xmm0
call fcn.00415af0
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0x1c]
mulss xmm0, dword [edi - 4]
lea ecx, [esp + 0xc]
push eax
movss dword [esp + 0x20], xmm0
call fcn.00415af0
push edi
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [edi - 4]
lea eax, [esp + 0x1c]
mulss xmm0, dword [0x7398c0]
lea ecx, [esp + 0xc]
push eax
addss xmm0, dword [0x7398c0]
movss dword [esp + 0x20], xmm0
call fcn.00415af0
movss xmm0, dword [0x7398c0]
lea eax, [esp + 0x1c]
movss xmm1, dword [edi]
lea ecx, [esp + 0xc]
mulss xmm1, xmm0
push eax
subss xmm0, xmm1
movss dword [esp + 0x20], xmm0
call fcn.00415af0
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0x1c]
mulss xmm0, dword [edi + 4]
lea ecx, [esp + 0xc]
push eax
movss dword [esp + 0x20], xmm0
call fcn.00415af0
push esi
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [edi + 4]
lea eax, [esp + 0x1c]
mulss xmm0, dword [0x7398c0]
lea ecx, [esp + 0xc]
push eax
addss xmm0, dword [0x7398c0]
movss dword [esp + 0x20], xmm0
call fcn.00415af0
movss xmm0, dword [0x7398c0]
lea eax, [esp + 0x1c]
movss xmm1, dword [esi]
lea ecx, [esp + 0xc]
mulss xmm1, xmm0
push eax
subss xmm0, xmm1
movss dword [esp + 0x20], xmm0
call fcn.00415af0
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
mov ecx, dword [esp + 0x34]
mov edi, esi
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x20]
inc edx
mov dword [esp + 0x20], edx
mov eax, dword [esi + ecx*4]
dec eax
cmp edx, eax
jl 0x446e90
movss xmm3, dword [esp + 0x18]
movss xmm4, dword [0x7398c0]
mov edi, dword [esi + ecx*4]
xor eax, eax
test edi, edi
jle 0x447ae0
mulss xmm3, dword [esp + 0x24]
lea ecx, [ebx + 4]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x74], 0xbbc49ba6
mov dword [esp + 0x6c], 0xbbc49ba6
movss dword [esp + 0x78], xmm3
movss dword [esp + 0x70], xmm3
movss dword [esp + 0x68], xmm3
mov dword [esp + 0x64], eax
movss dword [esp + 0x60], xmm3
mov dword [esp + 0x5c], eax
movss dword [esp + 0x8c], xmm3
mov dword [esp + 0x1c], 0xbbc49ba6
movss dword [esp + 0xc0], xmm3
mov dword [esp + 0x20], ecx
jmp 0x447498
mov ecx, dword [esp + 0x20]
inc eax
movss xmm0, dword [ecx]
mov dword [esp + 0xa8], eax
xorps xmm1, xmm1
cdq
xorps xmm3, xmm3
idiv edi
movss xmm4, dword [ecx - 4]
lea esi, [ebx + edx*8]
subss xmm0, dword [esi + 4]
subss xmm4, dword [esi]
lea edi, [esi + 4]
movaps xmm2, xmm0
mulss xmm0, xmm1
subss xmm2, xmm1
subss xmm3, xmm4
mulss xmm4, xmm1
subss xmm4, xmm0
movss dword [esp + 0x18], xmm2
movaps xmm1, xmm2
movss dword [esp + 0x84], xmm3
movaps xmm0, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm3
movss dword [esp + 0x80], xmm4
addss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x44751f
sqrtsd xmm0, xmm0
jmp 0x447524
call fcn.006d5e50
movss xmm1, dword [0x739900]
lea ecx, [esp + 0xc]
cvtsd2ss xmm0, xmm0
mov eax, dword [esp + 0x20]
divss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x18]
movss dword [esp + 0x38], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x84]
mulss xmm1, dword [esp + 0x80]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [eax - 4]
lea eax, [esp + 0x18]
mulss xmm0, dword [esp + 0x24]
push eax
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xc]
movss xmm0, dword [eax - 4]
lea eax, [esp + 0x18]
mulss xmm0, dword [0x7398c0]
push eax
addss xmm0, dword [0x7398c0]
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xc]
movss xmm0, dword [0x7398c0]
movss xmm1, dword [eax]
lea eax, [esp + 0x18]
mulss xmm1, xmm0
push eax
subss xmm0, xmm1
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0x18]
mulss xmm0, dword [esi]
lea ecx, [esp + 0xc]
push eax
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
push edi
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [esi]
lea eax, [esp + 0x18]
mulss xmm0, dword [0x7398c0]
lea ecx, [esp + 0xc]
push eax
addss xmm0, dword [0x7398c0]
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
movss xmm0, dword [0x7398c0]
lea eax, [esp + 0x18]
movss xmm1, dword [edi]
lea ecx, [esp + 0xc]
mulss xmm1, xmm0
push eax
subss xmm0, xmm1
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xc]
movss xmm0, dword [esp + 0x24]
mulss xmm0, dword [eax - 4]
lea eax, [esp + 0x18]
push eax
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xc]
movss xmm0, dword [eax - 4]
lea eax, [esp + 0x18]
mulss xmm0, dword [0x7398c0]
push eax
addss xmm0, dword [0x7398c0]
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xc]
movss xmm0, dword [0x7398c0]
movss xmm1, dword [eax]
lea eax, [esp + 0x18]
mulss xmm1, xmm0
push eax
subss xmm0, xmm1
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xc]
movss xmm0, dword [esp + 0x24]
mulss xmm0, dword [eax - 4]
lea eax, [esp + 0x18]
push eax
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
push dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xc]
movss xmm0, dword [eax - 4]
lea eax, [esp + 0x18]
mulss xmm0, dword [0x7398c0]
push eax
addss xmm0, dword [0x7398c0]
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xc]
movss xmm0, dword [0x7398c0]
movss xmm1, dword [eax]
lea eax, [esp + 0x18]
mulss xmm1, xmm0
push eax
subss xmm0, xmm1
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [esp + 0x24]
mulss xmm0, dword [esi]
movss dword [esp + 0x18], xmm0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
push edi
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [esi]
lea eax, [esp + 0x18]
mulss xmm0, dword [0x7398c0]
lea ecx, [esp + 0xc]
push eax
addss xmm0, dword [0x7398c0]
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
movss xmm0, dword [0x7398c0]
lea eax, [esp + 0x18]
movss xmm1, dword [edi]
lea ecx, [esp + 0xc]
mulss xmm1, xmm0
push eax
subss xmm0, xmm1
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0x18]
mulss xmm0, dword [esi]
lea ecx, [esp + 0xc]
push eax
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
push edi
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
movss xmm0, dword [esi]
lea eax, [esp + 0x18]
mulss xmm0, dword [0x7398c0]
lea ecx, [esp + 0xc]
push eax
addss xmm0, dword [0x7398c0]
movss dword [esp + 0x1c], xmm0
call fcn.00415af0
movss xmm0, dword [0x7398c0]
lea eax, [esp + 0x18]
movss xmm1, dword [edi]
mulss xmm1, xmm0
push eax
subss xmm0, xmm1
movss dword [esp + 0x1c], xmm0
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x10]
call fcn.00415af0
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
add dword [esp + 0x20], 8
mov eax, dword [esp + 0xa8]
mov edi, dword [esi + ecx*4]
cmp eax, edi
jl 0x447494
movss xmm4, dword [0x7398c0]
movss xmm1, dword [0x739aa4]
inc ecx
movss xmm2, dword [0x739b1c]
mov dword [esp + 0x34], ecx
cmp ecx, dword [esp + 0x4c]
jl 0x446d90
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x20], eax
push dword [esp + 0xb4]
mov eax, dword [esp + 0xb4]
push dword [esp + 0x8c]
push esi
push dword [esp + 0x58]
mov eax, dword [eax + 0x4c]
call eax
mov ecx, dword [esp + 0x30]
add esp, 0x10
cmp ebx, ecx
jne 0x447b40
xor esi, esi
jmp 0x447bdf
sub ecx, ebx
mov dword [esp + 0xe4], 0
sar ecx, 2
mov eax, 0xba2e8ba3
mul ecx
xorps xmm0, xmm0
movlpd qword [esp + 0xdc], xmm0
movlpd qword [esp + 0xc8], xmm0
mov eax, dword [ebp + 8]
shr edx, 3
mov dword [esp + 0xd4], 1
mov dword [esp + 0xd8], 1
mov dword [eax], edx
lea edx, [esp + 0xb8]
mov eax, dword [ebp + 0xc]
push edx
lea edx, [esp + 0xc8]
mov dword [esp + 0xc8], ebx
push edx
mov dword [eax], 0x2c
lea edx, [esp + 0xd8]
lea eax, [ecx*4]
mov dword [esp + 0xc0], 0
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xd8], eax
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [esp + 0xb8]
test ebx, ebx
je 0x447c0c
sub edi, ebx
mov eax, ebx
and edi, 0xfffffffc
cmp edi, 0x1000
jb 0x447c02
mov ebx, dword [eax - 4]
add edi, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x447c4a
push edi
push ebx
call fcn.005ab85c
add esp, 8
mov ebx, dword [esp + 0x50]
test ebx, ebx
je 0x447c41
mov ecx, dword [esp + 0x48]
mov eax, ebx
sub ecx, ebx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x447c37
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x447c4a
push ecx
push ebx
call fcn.005ab85c
add esp, 8
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.005c695f
int3