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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x3a8
mov eax, dword [0x64e2c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebx + 8]
push esi
mov esi, dword [ebx + 0xc]
push edi
mov dword [ebp - 0x134], eax
mov edi, ecx
mov eax, dword [ebx + 0x10]
push 0x30
mov dword [ebp - 0x130], eax
lea eax, [ebp - 0xb0]
push 0
push eax
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x13c], esi
call fcn.005b4c50
mov ecx, dword [ebp - 0x134]
add esp, 0xc
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x56e888
cmp eax, 3
je 0x56e888
cmp eax, 1
je 0x56e888
cmp eax, 2
jne 0x56e859
cmp byte [ecx + 0xec], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0xb0], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [ebp - 0xa0], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmmword [ebp - 0x90], xmm0
je 0x56e7cc
movss xmm0, dword [esi + 0xd0]
lea eax, [ebp - 0xb0]
push ecx
movss dword [esp], xmm0
push dword [ebp - 0x130]
push eax
call fcn.00586b00
mov ecx, dword [ebp - 0x134]
add esp, 0xc
mov al, byte [ecx + 0x14]
lea edx, [ebp - 0x29c]
mov esi, dword [ecx + 0x24]
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x12c], eax
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x58]
call eax
push eax
lea ecx, [ebp - 0x60]
call fcn.0052f950
mov ecx, dword [edi + 0x14]
lea edx, [ebp - 0x338]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x54]
call eax
push eax
lea ecx, [ebp - 0x80]
call fcn.0052f950
push dword [ebp - 0x12c]
lea eax, [ebp - 0x60]
push esi
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00586810
movaps xmm0, xmmword [ebp - 0x90]
add esp, 0x14
movaps xmm2, xmmword [ebp - 0xa0]
movaps xmmword [ebp - 0x200], xmm0
movaps xmm0, xmmword [ebp - 0xb0]
movaps xmmword [ebp - 0x230], xmm2
movaps xmmword [ebp - 0x240], xmm0
jmp 0x56ea8e
movaps xmm0, xmmword [ebp - 0x90]
movaps xmmword [ebp - 0x200], xmm0
movaps xmm0, xmmword [ebp - 0xa0]
movaps xmmword [ebp - 0x230], xmm0
movaps xmm0, xmmword [ebp - 0xb0]
movaps xmmword [ebp - 0x240], xmm0
jmp 0x56ea9a
cmp byte [ecx + 0xec], 0
je 0x56e8fb
movups xmm0, xmmword [esi]
push ecx
lea eax, [ebp - 0x120]
movups xmmword [ebp - 0x120], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [ebp - 0x110], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmmword [ebp - 0x100], xmm0
movss xmm0, dword [esi + 0xd0]
movss dword [esp], xmm0
push dword [ebp - 0x130]
push eax
call fcn.00586b00
mov ecx, dword [edi + 0x14]
lea edx, [ebp - 0x29c]
add esp, 0xc
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x54]
call eax
push eax
lea ecx, [ebp - 0x60]
call fcn.0052f950
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x120]
push eax
jmp 0x56e91a
mov ecx, dword [edi + 0x14]
lea edx, [ebp - 0x29c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x54]
call eax
push eax
lea ecx, [ebp - 0x60]
call fcn.0052f950
lea eax, [ebp - 0x60]
push eax
push esi
mov ecx, dword [ebp - 0x134]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0xb0]
push eax
push dword [ecx + 0xc]
call fcn.00586d00
mov ecx, dword [ebp - 0x134]
lea edx, [ebp - 0x29c]
add esp, 0x1c
mov al, byte [ecx + 0x14]
mov esi, dword [ecx + 0x24]
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x12c], eax
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x58]
call eax
push eax
lea ecx, [ebp - 0x60]
call fcn.0052f950
mov ecx, dword [edi + 0x14]
lea edx, [ebp - 0x338]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x54]
call eax
push eax
lea ecx, [ebp - 0xc0]
call fcn.0052f950
push dword [ebp - 0x12c]
lea eax, [ebp - 0x70]
push esi
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00586540
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.00530110
movaps xmm1, xmmword [ebp - 0xb0]
add esp, 0x20
movaps xmm3, xmmword [0x605ec0]
movaps xmm6, xmm1
shufps xmm6, xmm1, 0
movaps xmm0, xmm1
movups xmm2, xmmword [eax]
andps xmm0, xmm3
movups xmm4, xmmword [eax + 0x10]
movups xmm5, xmmword [eax + 0x20]
mulps xmm6, xmm2
addps xmm6, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
mulps xmm0, xmm4
shufps xmm1, xmm1, 0xaa
mulps xmm1, xmm5
addps xmm6, xmm0
addps xmm6, xmm1
movaps xmm1, xmmword [ebp - 0xa0]
movaps xmm7, xmm1
movaps xmm0, xmm1
shufps xmm7, xmm1, 0
andps xmm0, xmm3
mulps xmm7, xmm2
movaps xmmword [ebp - 0x240], xmm6
movaps xmmword [ebp - 0xb0], xmm6
addps xmm7, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
mulps xmm0, xmm4
addps xmm7, xmm0
shufps xmm1, xmm1, 0xaa
mulps xmm1, xmm5
addps xmm7, xmm1
movaps xmm1, xmmword [ebp - 0x90]
movaps xmm6, xmm1
movaps xmm0, xmm1
shufps xmm6, xmm1, 0
andps xmm0, xmm3
mulps xmm6, xmm2
movaps xmmword [ebp - 0x230], xmm7
movaps xmmword [ebp - 0xa0], xmm7
addps xmm6, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
mulps xmm0, xmm4
shufps xmm1, xmm1, 0xaa
mulps xmm1, xmm5
addps xmm6, xmm0
addps xmm6, xmm1
movaps xmmword [ebp - 0x200], xmm6
movaps xmmword [ebp - 0x90], xmm6
mov ecx, dword [ebp - 0x134]
mov esi, dword [ebp - 0x13c]
movss xmm2, dword [esi + 0x50]
movss xmm0, dword [esi + 0x54]
mov edi, dword [ecx + 0x10]
subss xmm0, xmm2
addss xmm2, dword [0x5eec5c]
movups xmm3, xmmword [esi + 0x40]
movups xmmword [ebp - 0x370], xmm3
lea eax, [edi*8]
movd xmm1, edi
divss xmm2, dword [0x5f8460]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x198]
mov edx, dword [eax + 0x78]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x124], edx
cvtdq2ps xmm1, xmm1
mulss xmm2, dword [0x6128fc]
movss dword [ebp - 0x2b8], xmm0
divss xmm0, xmm1
movss dword [ebp - 0x158], xmm2
movups xmm2, xmmword [esi + 0x30]
movaps xmm4, xmm0
divss xmm4, dword [0x5f8460]
movaps xmm1, xmm2
movss dword [ebp - 0x2b4], xmm0
subss xmm1, xmm3
mulss xmm4, dword [0x6128fc]
movups xmmword [ebp - 0x2b0], xmm2
xorps xmm0, xmm0
movss dword [ebp - 0x12c], xmm4
mulss xmm1, dword [esi + 0x58]
addss xmm1, xmm3
movss dword [ebp - 0x204], xmm1
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
movaps xmm2, xmm3
movaps xmmword [ebp - 0x2f0], xmm1
shufps xmm2, xmm3, 0x55
subss xmm1, xmm2
movaps xmmword [ebp - 0x360], xmm2
mulss xmm1, dword [esi + 0x58]
mov esi, dword [esi + 0x5c]
mov dword [ebp - 0x14c], esi
mov dword [ebp - 0x130], esi
mov esi, dword [eax + 0x64]
addss xmm1, xmm2
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x170], esi
mov esi, dword [eax + 0x60]
mov dword [ebp - 0x150], esi
movaps xmmword [ebp - 0x70], xmm1
movss xmm1, dword [ecx + 0x1c]
comiss xmm1, xmm0
mov dword [ebp - 0x15c], esi
movss dword [ebp - 0x2bc], xmm1
jbe 0x56ec02
mov byte [ebp - 0x12d], 0
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x14c], eax
mov byte [ebp - 0x16d], 0
mov eax, dword [ebp - 0x170]
mov byte [ebp - 0x159], 0
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x150], eax
cvtps2pd xmm0, xmm4
call fcn.005c0380
movss xmm1, dword [ebp - 0x12c]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x1b4], xmm0
cvtps2pd xmm0, xmm1
call fcn.005c0540
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x17c], xmm0
movss xmm0, dword [ebp - 0x158]
cvtps2pd xmm0, xmm0
call fcn.005c0380
movss xmm1, dword [ebp - 0x158]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x130], xmm0
cvtps2pd xmm0, xmm1
call fcn.005c0540
mov eax, dword [ebp - 0x13c]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movss xmm0, dword [eax + 0x68]
movd xmm3, edi
cvtdq2ps xmm3, xmm3
movss dword [ebp - 0x138], xmm0
movss xmm0, dword [eax + 0x70]
divss xmm0, xmm3
movss xmm4, dword [eax + 0x74]
movss xmm5, dword [eax + 0x6c]
movaps xmm1, xmm4
movss xmm7, dword [0x5eeaf4]
addss xmm4, xmm5
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [0x5eeacc]
mulss xmm1, xmm0
movss xmm6, dword [eax + 0x9c]
movss dword [ebp - 0x208], xmm5
addss xmm1, xmm5
movss dword [ebp - 0x248], xmm4
movss xmm4, dword [eax + 0x7c]
movss xmm5, dword [eax + 0x8c]
movss dword [ebp - 0x1d8], xmm4
movss dword [ebp - 0x1dc], xmm5
movss dword [ebp - 0x268], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x214], xmm1
movaps xmm1, xmm7
divss xmm1, xmm3
movss dword [ebp - 0x1e0], xmm6
movss dword [ebp - 0x274], xmm1
movss xmm1, dword [eax + 0x78]
movss dword [ebp - 0x170], xmm1
movss xmm1, dword [eax + 0x88]
movss dword [ebp - 0x15c], xmm1
movss xmm1, dword [eax + 0x98]
movss dword [ebp - 0x158], xmm1
movss xmm1, dword [eax + 0xa8]
movss dword [ebp - 0x19c], xmm1
movss xmm1, dword [eax + 0xb8]
movss dword [ebp - 0x1d0], xmm1
movss xmm1, dword [eax + 0x80]
divss xmm1, xmm3
movss dword [ebp - 0x2c8], xmm1
movss xmm1, dword [eax + 0x90]
divss xmm1, xmm3
movss dword [ebp - 0x2cc], xmm1
movss xmm1, dword [eax + 0xa0]
divss xmm1, xmm3
movss dword [ebp - 0x2d0], xmm1
movss xmm1, dword [eax + 0xb0]
divss xmm1, xmm3
movss dword [ebp - 0x2d4], xmm1
movss xmm1, dword [eax + 0xc0]
divss xmm1, xmm3
movss xmm3, dword [eax + 0x84]
movss dword [ebp - 0x2d8], xmm1
movss xmm1, dword [eax + 0xac]
movss dword [ebp - 0x1ac], xmm1
movss xmm1, dword [eax + 0xbc]
movss dword [ebp - 0x1d4], xmm1
movaps xmm1, xmm3
mulss xmm1, xmm0
addss xmm1, xmm4
mov ecx, dword [ebp - 0x134]
movss xmm4, dword [eax + 0x94]
addss xmm3, dword [ebp - 0x1d8]
mov dword [ebp - 0x30], 0
movss dword [ebp - 0x264], xmm1
movaps xmm1, xmm4
mulss xmm1, xmm0
addss xmm4, dword [ebp - 0x1dc]
movss dword [ebp - 0x258], xmm3
xorps xmm3, xmm3
addss xmm1, xmm5
movss xmm5, dword [eax + 0xa4]
movss dword [ebp - 0x254], xmm4
movaps xmm4, xmmword [ebp - 0x240]
movss dword [ebp - 0x2dc], xmm1
movaps xmm1, xmm5
mulss xmm1, xmm0
addss xmm5, dword [ebp - 0x1e0]
addss xmm1, xmm6
movss xmm6, dword [eax + 0xb4]
movss dword [ebp - 0x250], xmm5
movaps xmm5, xmmword [ebp - 0x200]
movss dword [ebp - 0x2e0], xmm1
movaps xmm1, xmm6
mulss xmm1, xmm0
addss xmm6, dword [ebp - 0x1ac]
addss xmm1, dword [ebp - 0x1ac]
movss dword [ebp - 0x24c], xmm6
movaps xmm6, xmm4
shufps xmm6, xmmword [ebp - 0x230], 0x44
movss dword [ebp - 0x260], xmm1
movss xmm1, dword [eax + 0xc4]
movss dword [ebp - 0x1b0], xmm1
mulss xmm1, xmm0
movss xmm0, dword [ebp - 0x1b0]
addss xmm0, dword [ebp - 0x1d4]
addss xmm1, dword [ebp - 0x1d4]
shufps xmm4, xmmword [ebp - 0x230], 0xee
movss dword [ebp - 0x1b0], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x2c], xmm0
movss xmm0, dword [ecx + 0x20]
movss dword [ebp - 0x2c0], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x25c], xmm1
movaps xmm1, xmm5
shufps xmm1, xmm0, 0x44
shufps xmm5, xmm0, 0xee
movaps xmm0, xmm6
shufps xmm0, xmm1, 0x88
shufps xmm6, xmm1, 0xdd
movaps xmm1, xmmword [ebp - 0x2f0]
movaps xmmword [ebp - 0x290], xmm0
movaps xmm0, xmm4
shufps xmm0, xmm5, 0xdd
shufps xmm1, xmm1, 0
shufps xmm4, xmm5, 0x88
movaps xmm5, xmmword [ebp - 0x70]
mulps xmm1, xmm4
shufps xmm5, xmm5, 0
mulps xmm5, xmm4
addps xmm1, xmm0
movaps xmmword [ebp - 0x60], xmm6
addps xmm5, xmm0
movaps xmmword [ebp - 0x2f0], xmm1
movaps xmm1, xmmword [ebp - 0x360]
shufps xmm1, xmm1, 0
mulps xmm1, xmm4
movaps xmmword [ebp - 0x70], xmm5
addps xmm1, xmm0
movaps xmmword [ebp - 0x360], xmm1
movss xmm1, dword [ebp - 0x130]
movaps xmm0, xmm1
mulss xmm0, dword [ebp - 0x2b0]
shufps xmm0, xmm0, 0
mulps xmm0, xmmword [ebp - 0x290]
addps xmm0, xmmword [ebp - 0x2f0]
movaps xmmword [ebp - 0x200], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x2b0]
movaps xmm5, xmmword [ebp - 0x200]
lea edx, [edi*8]
shufps xmm0, xmm0, 0
mulps xmm0, xmm6
addps xmm5, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [ebp - 0x370]
shufps xmm0, xmm0, 0
mulps xmm0, xmmword [ebp - 0x290]
movaps xmmword [ebp - 0x200], xmm5
movaps xmm5, xmmword [ebp - 0x70]
addps xmm0, xmmword [ebp - 0x360]
movaps xmmword [ebp - 0x230], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x370]
movaps xmm4, xmmword [ebp - 0x230]
shufps xmm0, xmm0, 0
mulps xmm0, xmm6
addps xmm4, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [ebp - 0x204]
shufps xmm0, xmm0, 0
mulps xmm0, xmmword [ebp - 0x290]
movaps xmmword [ebp - 0x230], xmm4
addps xmm0, xmm5
movaps xmmword [ebp - 0x240], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x204]
movaps xmm4, xmmword [ebp - 0x240]
shufps xmm0, xmm0, 0
mulps xmm0, xmm6
addps xmm4, xmm0
movaps xmmword [ebp - 0x240], xmm4
test edx, edx
jle 0x5703c1
mov ecx, dword [ebp - 0x124]
movss xmm0, dword [ebp - 0x17c]
xorps xmm0, xmmword [0x5eebf0]
shl ecx, 3
mov dword [ebp - 0x148], ecx
lea ecx, [edx - 1]
shr ecx, 3
inc ecx
movss dword [ebp - 0x26c], xmm0
mov byte [ebp - 0x1b5], 0xff
mov byte [ebp - 0x1b9], 0xff
mov byte [ebp - 0x175], 0xff
mov byte [ebp - 0x171], 0xff
mov dword [ebp - 0x20c], ecx
nop word [eax + eax]
movaps xmm4, xmm1
movss dword [ebp - 0x270], xmm2
mulss xmm1, dword [ebp - 0x17c]
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x17c]
mulss xmm4, dword [ebp - 0x1b4]
mulss xmm2, dword [ebp - 0x1b4]
movss dword [ebp - 0x140], xmm1
movups xmmword [ebp - 0x380], xmm4
subss xmm4, xmm0
movss dword [ebp - 0x390], xmm2
addss xmm2, xmm1
addss xmm3, dword [ebp - 0x2b4]
movaps xmm1, xmm4
movaps xmm0, xmm4
mulss xmm1, dword [ebp - 0x2b0]
movss dword [ebp - 0x130], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x2b0]
shufps xmm1, xmm1, 0
mulps xmm1, xmmword [ebp - 0x290]
shufps xmm0, xmm0, 0
mulps xmm0, xmm6
addps xmm1, xmmword [ebp - 0x2f0]
movups xmmword [ebp - 0x3a0], xmm4
movss dword [ebp - 0x210], xmm2
movss dword [ebp - 0x12c], xmm3
addps xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x370]
movaps xmmword [ebp - 0xc0], xmm1
movaps xmm1, xmm4
mulss xmm1, dword [ebp - 0x370]
shufps xmm0, xmm0, 0
mulps xmm0, xmm6
shufps xmm1, xmm1, 0
mulps xmm1, xmmword [ebp - 0x290]
addps xmm1, xmmword [ebp - 0x360]
addps xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x204]
movaps xmmword [ebp - 0xd0], xmm1
movaps xmm1, xmm4
mulss xmm1, dword [ebp - 0x204]
shufps xmm0, xmm0, 0
mulps xmm0, xmm6
shufps xmm1, xmm1, 0
mulps xmm1, xmmword [ebp - 0x290]
addps xmm1, xmm5
addps xmm1, xmm0
movss xmm0, dword [ebp - 0x2b8]
comiss xmm0, xmm3
movaps xmmword [ebp - 0x80], xmm1
ja 0x56f203
movaps xmm3, xmm0
movss dword [ebp - 0x12c], xmm0
movss xmm2, dword [ebp - 0x2bc]
movaps xmm1, xmm7
comiss xmm2, xmm3
jbe 0x56f21c
movaps xmm1, xmm3
divss xmm1, xmm2
jmp 0x56f242
movss xmm4, dword [ebp - 0x2c0]
movaps xmm2, xmm0
subss xmm2, xmm4
comiss xmm3, xmm2
jbe 0x56f242
movaps xmm0, xmm3
movaps xmm1, xmm7
subss xmm0, xmm2
divss xmm0, xmm4
subss xmm1, xmm0
mov esi, dword [eax + 0x5c]
mov edi, dword [eax + 0x64]
mov ecx, dword [eax + 0x60]
ucomiss xmm1, xmm7
mov dword [ebp - 0x1e4], esi
mov dword [ebp - 0x144], esi
mov dword [ebp - 0x1e8], edi
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 0x1a8], ecx
lahf
test ah, 0x44
jnp 0x56f2e4
shr esi, 0x18
shr edi, 0x18
shr ecx, 0x18
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov byte [ebp - 0x141], al
mov esi, dword [ebp - 0x144]
mov dword [ebp - 0x1e4], esi
mulss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov byte [ebp - 0x121], al
mov edi, dword [ebp - 0x124]
mov dword [ebp - 0x1e8], edi
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov byte [ebp - 0x1a5], al
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ec], eax
movss xmm0, dword [ebp - 0x2c4]
lea ecx, [ebp - 0x314]
addss xmm0, dword [ebp - 0x138]
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 0x78]
movss dword [ebp - 0x144], xmm0
mov dword [ebp - 0x124], eax
call fcn.004343a0
movaps xmm2, xmmword [ebp - 0x200]
mov ecx, dword [ebp - 0x128]
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xaa
movaps xmm1, xmm2
movss dword [ebp - 0x30c], xmm0
movaps xmm0, xmm2
mov eax, dword [ebp - 0x30c]
shufps xmm1, xmm2, 0x55
unpcklps xmm0, xmm1
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x14c]
movq qword [ebp - 0x314], xmm0
movss xmm0, dword [ebp - 0x138]
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x18], xmm0
movss xmm0, dword [ebp - 0x208]
movss dword [ecx + 0x1c], xmm0
lea ecx, [ebp - 0x32c]
call fcn.004343a0
movaps xmm2, xmmword [ebp - 0x240]
mov ecx, dword [ebp - 0x124]
movaps xmm1, xmm2
mov edx, dword [ebp - 0x128]
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xaa
shufps xmm1, xmm2, 0x55
movss dword [ebp - 0x324], xmm0
mov eax, dword [ebp - 0x324]
movss xmm0, dword [ebp - 0x138]
unpcklps xmm2, xmm1
movq qword [edx + ecx], xmm2
mov dword [edx + ecx + 8], eax
mov eax, dword [ebp - 0x150]
mov dword [edx + ecx + 0xc], eax
movss dword [edx + ecx + 0x18], xmm0
movss xmm0, dword [ebp - 0x268]
movss dword [edx + ecx + 0x1c], xmm0
lea ecx, [ebp - 0x2fc]
movq qword [ebp - 0x32c], xmm2
call fcn.004343a0
movaps xmm2, xmmword [ebp - 0xc0]
mov ecx, dword [ebp - 0x124]
movaps xmm0, xmm2
mov eax, dword [ebp - 0x128]
movaps xmm1, xmm2
shufps xmm0, xmm2, 0xaa
lea edx, [eax + ecx*2]
movss dword [ebp - 0x2f4], xmm0
movaps xmm0, xmm2
mov eax, dword [ebp - 0x2f4]
shufps xmm1, xmm2, 0x55
unpcklps xmm0, xmm1
movss xmm1, dword [ebp - 0x144]
movq qword [edx], xmm0
mov dword [edx + 8], eax
mov dword [edx + 0xc], esi
mov esi, dword [ebp - 0x128]
movq qword [ebp - 0x2fc], xmm0
movss xmm0, dword [ebp - 0x208]
mov dword [ebp - 0x244], edx
movss dword [esi + ecx*2 + 0x18], xmm1
movss dword [esi + ecx*2 + 0x1c], xmm0
lea ecx, [ebp - 0x344]
call fcn.004343a0
movaps xmm2, xmmword [ebp - 0x80]
mov ecx, dword [ebp - 0x124]
movaps xmm0, xmm2
movaps xmm1, xmm2
shufps xmm0, xmm2, 0xaa
shufps xmm1, xmm2, 0x55
movss dword [ebp - 0x33c], xmm0
mov eax, dword [ebp - 0x33c]
lea edx, [esi + ecx*2]
movaps xmm0, xmm2
unpcklps xmm0, xmm1
movq qword [ecx + edx], xmm0
mov dword [ecx + edx + 8], eax
mov eax, dword [ebp - 0x1ec]
mov dword [ecx + edx + 0xc], eax
add ecx, 8
movq qword [ebp - 0x344], xmm0
movss xmm0, dword [ebp - 0x144]
lea eax, [esi + ecx*2]
movss dword [ecx + eax], xmm0
lea ecx, [ebp - 0x308]
mov eax, dword [ebp - 0x124]
movss xmm0, dword [ebp - 0x268]
movss dword [eax + edx + 0x1c], xmm0
movups xmm0, xmmword [esi + eax]
movups xmm1, xmmword [esi + eax + 0x10]
movups xmm2, xmmword [esi + eax + 0x20]
movups xmm3, xmmword [esi + eax + 0x30]
movups xmm4, xmmword [esi + eax + 0x40]
movq xmm5, qword [esi + eax + 0x50]
movups xmmword [esi + eax*4], xmm0
movups xmmword [esi + eax*4 + 0x10], xmm1
movups xmmword [esi + eax*4 + 0x20], xmm2
movups xmmword [esi + eax*4 + 0x30], xmm3
movups xmmword [esi + eax*4 + 0x40], xmm4
movq qword [esi + eax*4 + 0x50], xmm5
call fcn.004343a0
mov ecx, dword [ebp - 0x124]
movaps xmm2, xmmword [ebp - 0x230]
mov edx, dword [ebp - 0x128]
movaps xmm1, xmm2
movaps xmm0, xmm2
shufps xmm1, xmm2, 0x55
shufps xmm0, xmm2, 0xaa
lea esi, [esi + ecx*4]
add esi, ecx
unpcklps xmm2, xmm1
movss dword [ebp - 0x300], xmm0
mov eax, dword [ebp - 0x300]
movss xmm0, dword [ebp - 0x138]
movq qword [esi], xmm2
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x190]
mov dword [esi + 0xc], eax
lea eax, [edx + ecx*2]
movss dword [esi + 0x18], xmm0
movss xmm0, dword [ebp - 0x248]
movss dword [esi + 0x1c], xmm0
movups xmm0, xmmword [ecx + eax]
mov dword [ebp - 0x14c], esi
movups xmm1, xmmword [ecx + eax + 0x10]
movups xmm3, xmmword [ecx + eax + 0x30]
movups xmm4, xmmword [ecx + eax + 0x40]
movq xmm5, qword [ecx + eax + 0x50]
movq qword [ebp - 0x308], xmm2
movups xmm2, xmmword [ecx + eax + 0x20]
lea eax, [ecx + ecx*2]
movups xmmword [edx + eax*2], xmm0
lea ecx, [ebp - 0x320]
movups xmmword [edx + eax*2 + 0x10], xmm1
movups xmmword [edx + eax*2 + 0x20], xmm2
movups xmmword [edx + eax*2 + 0x30], xmm3
movups xmmword [edx + eax*2 + 0x40], xmm4
movq qword [edx + eax*2 + 0x50], xmm5
call fcn.004343a0
mov edx, dword [ebp - 0x124]
movaps xmm2, xmmword [ebp - 0xd0]
mov ecx, dword [ebp - 0x128]
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xaa
movaps xmm1, xmm2
lea eax, [edx*8]
movss dword [ebp - 0x318], xmm0
sub eax, edx
shufps xmm1, xmm2, 0x55
add ecx, eax
movaps xmm0, xmm2
mov dword [ebp - 0x138], ecx
mov eax, dword [ebp - 0x318]
movss xmm5, dword [ebp - 0x158]
unpcklps xmm0, xmm1
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea eax, [edx + 4]
mov dword [ecx + 0xc], edi
movss xmm3, dword [ebp - 0x170]
movq qword [ebp - 0x320], xmm0
movaps xmm6, xmm3
movss xmm0, dword [ebp - 0x144]
movss dword [ecx + 0x18], xmm0
lea ecx, [eax*8]
movss xmm0, dword [ebp - 0x248]
sub ecx, eax
mov eax, dword [ebp - 0x128]
movss xmm4, dword [ebp - 0x15c]
movss xmm1, dword [ebp - 0x19c]
movaps xmm7, xmm4
addss xmm1, dword [ebp - 0x2d4]
movss dword [ecx + eax], xmm0
movaps xmm0, xmm5
addss xmm0, dword [ebp - 0x2d0]
movss dword [eax + 0x28], xmm3
addss xmm6, dword [ebp - 0x2c8]
addss xmm7, dword [ebp - 0x2cc]
movss xmm2, dword [ebp - 0x1d0]
movss dword [ebp - 0x1a8], xmm0
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x1d8]
movss dword [eax + 0x2c], xmm0
movss xmm0, dword [ebp - 0x1dc]
movss dword [eax + 0x30], xmm4
movss dword [eax + 0x34], xmm0
movss xmm0, dword [ebp - 0x1e0]
movss dword [eax + 0x38], xmm5
movss dword [eax + 0x3c], xmm0
movss xmm0, dword [ebp - 0x19c]
movss dword [eax + 0x40], xmm0
movss xmm0, dword [ebp - 0x1ac]
movss dword [eax + 0x44], xmm0
movss xmm0, dword [ebp - 0x1d0]
movss dword [eax + 0x48], xmm0
addss xmm2, dword [ebp - 0x2d8]
movss dword [ebp - 0x150], xmm1
movss dword [ebp - 0x24], xmm1
movss xmm1, dword [ebp - 0x1d4]
movss dword [eax + 0x4c], xmm1
movss dword [eax + edx + 0x28], xmm3
movss xmm3, dword [ebp - 0x264]
movss dword [eax + edx + 0x2c], xmm3
movss xmm3, dword [ebp - 0x19c]
movss dword [eax + edx + 0x30], xmm4
movss xmm4, dword [ebp - 0x2dc]
movss dword [eax + edx + 0x34], xmm4
movss dword [eax + edx + 0x38], xmm5
movss xmm5, dword [ebp - 0x2e0]
movss xmm1, dword [ebp - 0x150]
movss dword [eax + edx + 0x3c], xmm5
movss dword [eax + edx + 0x40], xmm3
movss xmm3, dword [ebp - 0x260]
movss dword [eax + edx + 0x44], xmm3
movss xmm3, dword [ebp - 0x1e0]
movss dword [eax + edx + 0x48], xmm0
movss xmm0, dword [ebp - 0x25c]
movss dword [eax + edx + 0x4c], xmm0
movss xmm0, dword [ebp - 0x1d8]
movss dword [eax + edx*2 + 0x28], xmm6
movss dword [eax + edx*2 + 0x2c], xmm0
movss xmm0, dword [ebp - 0x1dc]
movss dword [eax + edx*2 + 0x30], xmm7
movss dword [eax + edx*2 + 0x34], xmm0
movss xmm0, dword [ebp - 0x1a8]
movss dword [eax + edx*2 + 0x38], xmm0
movss dword [eax + edx*2 + 0x3c], xmm3
movss xmm3, dword [ebp - 0x1ac]
movss dword [ebp - 0x30], xmm6
movss dword [ebp - 0x2c], xmm7
movss dword [ebp - 0x190], xmm2
movss dword [ebp - 0x20], xmm2
movss dword [eax + edx*2 + 0x40], xmm1
movss dword [eax + edx*2 + 0x44], xmm3
lea ecx, [eax + edx*2]
movss dword [eax + edx*2 + 0x48], xmm2
movss xmm3, dword [ebp - 0x1d4]
movss dword [eax + edx*2 + 0x4c], xmm3
lea eax, [eax + edx*2]
movss dword [edx + ecx + 0x28], xmm6
movss xmm3, dword [ebp - 0x264]
movss dword [edx + ecx + 0x2c], xmm3
movss dword [edx + eax + 0x30], xmm7
movss dword [edx + ecx + 0x34], xmm4
movss dword [edx + ecx + 0x38], xmm0
mov eax, dword [ebp - 0x128]
movss xmm0, dword [ebp - 0x260]
lea eax, [eax + edx*2]
movss dword [edx + eax + 0x3c], xmm5
movss dword [edx + ecx + 0x40], xmm1
movss dword [edx + ecx + 0x44], xmm0
mov eax, dword [ebp - 0x128]
movss xmm0, dword [ebp - 0x25c]
lea eax, [eax + edx*2]
movss dword [edx + eax + 0x48], xmm2
mov eax, dword [ebp - 0x128]
mov edi, eax
movss dword [edx + ecx + 0x4c], xmm0
movups xmm0, xmmword [eax + edx]
movups xmm1, xmmword [eax + edx + 0x10]
movups xmm2, xmmword [eax + edx + 0x20]
movups xmm3, xmmword [eax + edx + 0x30]
movups xmm4, xmmword [eax + edx + 0x40]
movq xmm5, qword [eax + edx + 0x50]
movups xmmword [eax + edx*4], xmm0
movups xmmword [eax + edx*4 + 0x10], xmm1
movups xmmword [eax + edx*4 + 0x20], xmm2
movups xmmword [eax + edx*4 + 0x30], xmm3
movups xmmword [eax + edx*4 + 0x40], xmm4
movq qword [eax + edx*4 + 0x50], xmm5
add edx, 8
movss xmm1, dword [ebp - 0x170]
movss xmm0, dword [ebp - 0x258]
lea eax, [edi + edx*4]
movss dword [edx + eax], xmm1
movss xmm1, dword [ebp - 0x15c]
movss dword [esi + 0x2c], xmm0
movss xmm0, dword [ebp - 0x254]
mov eax, dword [ebp - 0x124]
movss dword [esi + 0x30], xmm1
movss xmm1, dword [ebp - 0x158]
movss dword [esi + 0x34], xmm0
movss xmm0, dword [ebp - 0x250]
movss dword [esi + 0x38], xmm1
mov esi, edi
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0x124]
movss dword [esi + eax + 0x3c], xmm0
mov eax, dword [ebp - 0x14c]
movss xmm0, dword [ebp - 0x19c]
movss dword [eax + 0x40], xmm0
movss xmm0, dword [ebp - 0x24c]
movss dword [eax + 0x44], xmm0
movss xmm0, dword [ebp - 0x1d0]
movss dword [eax + 0x48], xmm0
movss xmm0, dword [ebp - 0x1b0]
movss dword [eax + 0x4c], xmm0
mov eax, esi
mov esi, edi
movups xmm0, xmmword [eax + ecx]
movups xmm1, xmmword [eax + ecx + 0x10]
movups xmm2, xmmword [eax + ecx + 0x20]
movups xmm3, xmmword [eax + ecx + 0x30]
movups xmm4, xmmword [eax + ecx + 0x40]
movq xmm5, qword [eax + ecx + 0x50]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x138]
movups xmmword [esi + ecx*2], xmm0
movups xmmword [esi + ecx*2 + 0x10], xmm1
movups xmmword [esi + ecx*2 + 0x20], xmm2
movups xmmword [esi + ecx*2 + 0x30], xmm3
movups xmmword [esi + ecx*2 + 0x40], xmm4
movq qword [esi + ecx*2 + 0x50], xmm5
movss dword [eax + 0x28], xmm6
movss xmm0, dword [ebp - 0x258]
movss dword [eax + 0x2c], xmm0
movss dword [eax + 0x30], xmm7
movss xmm0, dword [ebp - 0x254]
movss dword [eax + 0x34], xmm0
lea eax, [edx*8]
movss xmm0, dword [ebp - 0x1a8]
sub eax, edx
mov edi, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x124]
movups xmm1, xmmword [ebp - 0x380]
movss dword [eax + esi], xmm0
mov eax, dword [ebp - 0x138]
movss xmm0, dword [ebp - 0x250]
movups xmm2, xmmword [ebp - 0x390]
movss dword [eax + 0x3c], xmm0
movss xmm0, dword [ebp - 0x150]
movss dword [eax + 0x40], xmm0
movss xmm0, dword [ebp - 0x24c]
movss dword [eax + 0x44], xmm0
movss xmm0, dword [ebp - 0x190]
movss dword [eax + 0x48], xmm0
movss xmm0, dword [ebp - 0x1b0]
movss dword [eax + 0x4c], xmm0
mov eax, dword [edi + 0xc8]
mov dword [esi + 0x50], eax
mov eax, dword [edi + 0xcc]
mov dword [esi + 0x54], eax
mov eax, dword [edi + 0xc8]
mov dword [edx + esi + 0x50], eax
mov eax, dword [edi + 0xcc]
mov dword [edx + esi + 0x54], eax
mov eax, dword [edi + 0xc8]
mov edx, dword [ebp - 0x244]
mov esi, dword [ebp - 0x124]
movss xmm0, dword [ebp - 0x26c]
mulss xmm0, dword [ebp - 0x270]
mov dword [edx + 0x50], eax
mov eax, dword [edi + 0xcc]
mov dword [edx + 0x54], eax
mov eax, dword [edi + 0xc8]
subss xmm1, xmm0
mov edi, dword [ebp - 0x128]
movups xmm0, xmmword [ebp - 0x2b0]
subss xmm2, dword [ebp - 0x140]
lea edx, [edi + esi*2]
mulss xmm1, xmm0
mov edi, dword [ebp - 0x13c]
mov dword [esi + edx + 0x50], eax
shufps xmm1, xmm1, 0
mov eax, dword [edi + 0xcc]
mov dword [esi + edx + 0x54], eax
mov edx, esi
mov eax, dword [edi + 0xc8]
mov esi, dword [ebp - 0x128]
mulps xmm1, xmmword [ebp - 0x290]
mulss xmm2, xmm0
mov dword [esi + edx*4 + 0x50], eax
mov eax, dword [edi + 0xcc]
mov dword [esi + edx*4 + 0x54], eax
mov eax, dword [edi + 0xc8]
mov edx, dword [ebp - 0x14c]
addps xmm1, xmmword [ebp - 0x2f0]
shufps xmm2, xmm2, 0
mulps xmm2, xmmword [ebp - 0x60]
mov dword [edx + 0x50], eax
mov eax, dword [edi + 0xcc]
mov dword [edx + 0x54], eax
mov eax, dword [edi + 0xc8]
mov dword [esi + ecx*2 + 0x50], eax
addps xmm1, xmm2
mov eax, dword [edi + 0xcc]
mov dword [esi + ecx*2 + 0x54], eax
mov ecx, dword [ebp - 0x138]
mov eax, dword [edi + 0xc8]
mov dword [ecx + 0x50], eax
mov eax, dword [edi + 0xcc]
mov dword [ecx + 0x54], eax
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0x124], eax
movaps xmm4, xmmword [ebp - 0x200]
lea eax, [ebp - 0x338]
movaps xmm3, xmmword [ebp - 0xc0]
movaps xmm5, xmm4
subps xmm5, xmm1
mov ecx, edx
subps xmm3, xmm4
xorps xmm4, xmm4
push esi
push eax
movaps xmm2, xmm5
mulps xmm2, xmm5
movaps xmm0, xmm2
movaps xmm1, xmm2
shufps xmm0, xmm2, 0x55
shufps xmm1, xmm2, 0xaa
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, xmm2
movaps xmm2, xmm3
mulps xmm2, xmm3
movss xmm0, xmm1
movss dword [ebp - 0x140], xmm1
rsqrtss xmm0, xmm0
movups xmmword [ebp - 0x200], xmm0
movaps xmm0, xmm2
movaps xmm1, xmm2
shufps xmm0, xmm2, 0x55
shufps xmm1, xmm2, 0xaa
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x210]
mulss xmm0, dword [ebp - 0x17c]
addss xmm1, xmm2
movups xmm2, xmmword [ebp - 0x3a0]
movss xmm4, xmm1
movss dword [ebp - 0x140], xmm1
rsqrtss xmm4, xmm4
shufps xmm4, xmm4, 0
mulps xmm4, xmm3
movaps xmm3, xmm2
mulss xmm3, dword [ebp - 0x1b4]
mulss xmm2, dword [ebp - 0x17c]
subss xmm3, xmm0
movss xmm0, dword [ebp - 0x210]
mulss xmm0, dword [ebp - 0x1b4]
mulss xmm3, dword [ebp - 0x2b0]
addss xmm2, xmm0
shufps xmm3, xmm3, 0
mulss xmm2, dword [ebp - 0x2b0]
mulps xmm3, xmmword [ebp - 0x290]
shufps xmm2, xmm2, 0
mulps xmm2, xmmword [ebp - 0x60]
addps xmm3, xmmword [ebp - 0x2f0]
addps xmm3, xmm2
subps xmm3, xmmword [ebp - 0xc0]
movaps xmm2, xmm3
mulps xmm2, xmm3
movaps xmm0, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
shufps xmm0, xmm2, 0xaa
addss xmm2, xmm0
movups xmm0, xmmword [ebp - 0x200]
shufps xmm0, xmm0, 0
addss xmm2, xmm1
mulps xmm0, xmm5
xorps xmm1, xmm1
movss xmm1, xmm2
movss dword [ebp - 0x140], xmm2
rsqrtss xmm1, xmm1
shufps xmm1, xmm1, 0
addps xmm0, xmm4
mulps xmm1, xmm3
divps xmm0, xmmword [0x6061e0]
addps xmm1, xmm4
movups xmmword [ebp - 0x200], xmm0
divps xmm1, xmmword [0x6061e0]
movups xmmword [ebp - 0x230], xmm1
call fcn.0050d850
push dword [ebp - 0x244]
lea eax, [ebp - 0x29c]
mov ecx, dword [ebp - 0x138]
push eax
call fcn.0050d850
lea eax, [ebp - 0x338]
push eax
lea ecx, [ebp - 0xe0]
call fcn.0052f950
movups xmm3, xmmword [ebp - 0x200]
lea eax, [ebp - 0x29c]
movaps xmm1, xmmword [ebp - 0xe0]
lea ecx, [ebp - 0xf0]
movaps xmm0, xmm1
movaps xmm2, xmm3
shufps xmm0, xmm1, 0xd2
shufps xmm2, xmm3, 0xc9
mulps xmm2, xmm0
movaps xmm0, xmm3
push eax
shufps xmm0, xmm3, 0xd2
shufps xmm1, xmm1, 0xc9
mulps xmm0, xmm1
subps xmm2, xmm0
movaps xmmword [ebp - 0x240], xmm2
call fcn.0052f950
movups xmm2, xmmword [ebp - 0x230]
mov eax, dword [ebp - 0x134]
movaps xmm1, xmmword [ebp - 0xf0]
movaps xmm4, xmmword [ebp - 0x240]
movaps xmm0, xmm1
movss xmm7, dword [0x5eeaf4]
movaps xmm5, xmm2
cmp byte [eax + 0x14], 0
shufps xmm0, xmm1, 0xd2
shufps xmm5, xmm2, 0xc9
mulps xmm5, xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xd2
shufps xmm1, xmm1, 0xc9
mulps xmm0, xmm1
subps xmm5, xmm0
jne 0x56fe1d
movss xmm6, dword [0x5eebf0]
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
movaps xmm3, xmm4
movaps xmm2, xmm0
shufps xmm4, xmm4, 0xaa
xorps xmm3, xmm6
movaps xmm1, xmm4
xorps xmm2, xmm6
xorps xmm1, xmm6
unpcklps xmm3, xmm1
movaps xmm0, xmm7
unpcklps xmm2, xmm0
movaps xmm0, xmm5
unpcklps xmm3, xmm2
movaps xmm4, xmm3
shufps xmm0, xmm5, 0x55
movaps xmm3, xmm5
movaps xmm2, xmm0
shufps xmm5, xmm5, 0xaa
xorps xmm3, xmm6
movaps xmm1, xmm5
xorps xmm2, xmm6
xorps xmm1, xmm6
movaps xmm0, xmm7
unpcklps xmm3, xmm1
unpcklps xmm2, xmm0
unpcklps xmm3, xmm2
movaps xmm5, xmm3
movaps xmm2, xmm4
xorps xmm3, xmm3
mulps xmm2, xmm4
movups xmm6, xmmword [ebp - 0x200]
movaps xmm0, xmm2
movaps xmm1, xmm2
shufps xmm0, xmm2, 0x55
shufps xmm1, xmm2, 0xaa
addss xmm1, xmm0
addss xmm1, xmm2
movaps xmm2, xmm5
mulps xmm2, xmm5
movss xmm3, xmm1
movss dword [ebp - 0x140], xmm1
movaps xmm0, xmm2
movaps xmm1, xmm2
shufps xmm0, xmm2, 0x55
shufps xmm1, xmm2, 0xaa
addss xmm1, xmm0
rsqrtss xmm3, xmm3
shufps xmm3, xmm3, 0
mulps xmm3, xmm4
xorps xmm4, xmm4
addss xmm1, xmm2
movaps xmm2, xmm6
mulps xmm2, xmm6
movss xmm4, xmm1
movss dword [ebp - 0x140], xmm1
movaps xmm0, xmm2
movaps xmm1, xmm2
shufps xmm0, xmm2, 0x55
shufps xmm1, xmm2, 0xaa
addss xmm1, xmm0
rsqrtss xmm4, xmm4
shufps xmm4, xmm4, 0
mulps xmm4, xmm5
xorps xmm5, xmm5
addss xmm1, xmm2
movss xmm5, xmm1
movss dword [ebp - 0x140], xmm1
rsqrtss xmm5, xmm5
shufps xmm5, xmm5, 0
mulps xmm5, xmm6
movups xmm6, xmmword [ebp - 0x230]
movaps xmm2, xmm6
mulps xmm2, xmm6
movaps xmm0, xmm2
movaps xmm1, xmm2
shufps xmm0, xmm2, 0x55
shufps xmm1, xmm2, 0xaa
addss xmm1, xmm0
movaps xmm0, xmm3
addss xmm0, xmm7
addss xmm1, xmm2
xorps xmm2, xmm2
mulss xmm0, dword [0x5eeacc]
addss xmm0, dword [0x6128f4]
movss xmm2, xmm1
movss dword [ebp - 0x140], xmm1
rsqrtss xmm2, xmm2
shufps xmm2, xmm2, 0
mulps xmm2, xmm6
movss xmm6, dword [0x5eeb48]
mulss xmm0, xmm6
movaps xmm1, xmm6
minss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movaps xmm1, xmm6
cvttss2si eax, xmm0
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
addss xmm0, xmm7
mov byte [ebp - 0x1b8], al
mulss xmm0, dword [0x5eeacc]
addss xmm0, dword [0x6128f4]
mulss xmm0, xmm6
minss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
cvttss2si eax, xmm0
xorps xmm0, xmm0
shufps xmm3, xmm3, 0xaa
addss xmm3, xmm7
mov byte [ebp - 0x1b7], al
movaps xmm1, xmm6
mulss xmm3, dword [0x5eeacc]
addss xmm3, dword [0x6128f4]
mulss xmm3, xmm6
minss xmm1, xmm3
movss xmm3, dword [0x5eeacc]
maxss xmm0, xmm1
movaps xmm1, xmm6
cvttss2si eax, xmm0
movaps xmm0, xmm4
addss xmm0, xmm7
mov byte [ebp - 0x1b6], al
mulss xmm0, xmm3
addss xmm0, dword [0x6128f4]
mulss xmm0, xmm6
minss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movaps xmm1, xmm6
cvttss2si eax, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
addss xmm0, xmm7
shufps xmm4, xmm4, 0xaa
addss xmm4, xmm7
mov byte [ebp - 0x1bc], al
mulss xmm0, xmm3
mulss xmm4, xmm3
addss xmm0, dword [0x6128f4]
addss xmm4, dword [0x6128f4]
mulss xmm0, xmm6
mulss xmm4, xmm6
minss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movaps xmm1, xmm6
minss xmm1, xmm4
cvttss2si eax, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
mov byte [ebp - 0x1bb], al
movaps xmm1, xmm6
cvttss2si eax, xmm0
movaps xmm0, xmm5
addss xmm0, xmm7
mov byte [ebp - 0x1ba], al
mulss xmm0, xmm3
addss xmm0, dword [0x6128f4]
mulss xmm0, xmm6
minss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movaps xmm1, xmm6
cvttss2si eax, xmm0
movaps xmm0, xmm5
shufps xmm0, xmm5, 0x55
addss xmm0, xmm7
shufps xmm5, xmm5, 0xaa
addss xmm5, xmm7
mov byte [ebp - 0x178], al
mulss xmm0, xmm3
mulss xmm5, xmm3
addss xmm0, dword [0x6128f4]
addss xmm5, dword [0x6128f4]
mulss xmm0, xmm6
mulss xmm5, xmm6
minss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movaps xmm1, xmm6
minss xmm1, xmm5
cvttss2si eax, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
mov byte [ebp - 0x177], al
cvttss2si eax, xmm0
mov byte [ebp - 0x176], al
movss xmm5, dword [0x6128f4]
movaps xmm0, xmm2
addss xmm0, xmm7
mov edi, dword [ebp - 0x124]
movaps xmm1, xmm6
mov edx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x1bc]
mov esi, dword [ebp - 0x124]
mulss xmm0, xmm3
addss xmm0, xmm5
mulss xmm0, xmm6
minss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movaps xmm1, xmm6
cvttss2si eax, xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x55
addss xmm0, xmm7
shufps xmm2, xmm2, 0xaa
addss xmm2, xmm7
mov byte [ebp - 0x174], al
mulss xmm0, xmm3
mulss xmm2, xmm3
addss xmm0, xmm5
addss xmm2, xmm5
mulss xmm0, xmm6
mulss xmm2, xmm6
minss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movaps xmm1, xmm6
minss xmm1, xmm2
cvttss2si eax, xmm0
xorps xmm0, xmm0
mov byte [ebp - 0x173], al
maxss xmm0, xmm1
movss xmm1, dword [ebp - 0x214]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x274]
mov byte [ebp - 0x172], al
addss xmm0, xmm1
mov eax, dword [ebp - 0x1b8]
mov dword [edx + 0x10], eax
mov dword [edx + edi + 0x10], eax
mov dword [edx + edi*2 + 0x10], ecx
lea edx, [edx + edi*2]
mov dword [edi + edx + 0x10], ecx
mov edx, dword [ebp - 0x128]
mov dword [edx + edi*4 + 0x10], eax
lea edx, [edx + edi*4]
mov dword [edi + edx + 0x10], eax
lea eax, [edi + edi*2]
mov edx, dword [ebp - 0x128]
mov dword [edx + eax*2 + 0x10], ecx
lea edx, [edi*8]
mov eax, dword [ebp - 0x128]
sub edx, edi
mov dword [edx + eax + 0x10], ecx
mov ecx, dword [ebp - 0x178]
mov dword [eax + 0x14], ecx
mov dword [eax + edi + 0x14], ecx
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x174]
mov dword [ecx + edi*2 + 0x14], eax
mov edi, ecx
lea ecx, [edi + esi*2]
mov dword [esi + ecx + 0x14], eax
mov eax, edi
mov ecx, dword [ebp - 0x178]
mov edi, esi
mov dword [eax + edi*4 + 0x14], ecx
mov edi, eax
lea eax, [edi + esi*4]
mov dword [esi + eax + 0x14], ecx
lea ecx, [esi + esi*2]
mov eax, dword [ebp - 0x174]
mov dword [edi + ecx*2 + 0x14], eax
mov dword [edx + edi + 0x14], eax
mov eax, edi
movss dword [eax + 0x20], xmm1
mov dword [eax + 0x24], 0
mov edi, esi
movaps xmm4, xmmword [ebp - 0xd0]
movaps xmmword [ebp - 0x230], xmm4
movaps xmm4, xmmword [ebp - 0x80]
movss dword [eax + edi + 0x20], xmm1
mov dword [eax + edi + 0x24], 0x3f000000
movss dword [eax + edi*2 + 0x20], xmm0
mov dword [eax + edi*2 + 0x24], 0
mov edi, eax
movaps xmmword [ebp - 0x240], xmm4
lea eax, [edi + esi*2]
mov edi, esi
movss dword [esi + eax + 0x20], xmm0
mov dword [edi + eax + 0x24], 0x3f000000
mov eax, dword [ebp - 0x128]
movss dword [eax + edi*4 + 0x20], xmm1
mov dword [eax + edi*4 + 0x24], 0x3f000000
mov edi, eax
lea eax, [edi + esi*4]
mov edi, esi
movss dword [esi + eax + 0x20], xmm1
movaps xmm1, xmmword [ebp - 0xc0]
mov esi, dword [ebp - 0x1e4]
mov dword [edi + eax + 0x24], 0x3f800000
mov eax, dword [ebp - 0x128]
mov edi, dword [ebp - 0x1e8]
movaps xmmword [ebp - 0x200], xmm1
movss xmm1, dword [ebp - 0x144]
movss dword [eax + ecx*2 + 0x20], xmm0
mov dword [eax + ecx*2 + 0x24], 0x3f000000
movss dword [edx + eax + 0x20], xmm0
mov dword [edx + eax + 0x24], 0x3f800000
mov eax, dword [ebp - 0x20]
movss dword [ebp - 0x138], xmm1
movaps xmm1, xmm0
movaps xmm0, xmmword [ebp - 0x30]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x148]
add dword [ebp - 0x128], eax
sub dword [ebp - 0x20c], 1
mov dword [ebp - 0x14c], esi
mov esi, dword [ebp - 0x1ec]
movss dword [ebp - 0x214], xmm1
movaps xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x190], edi
mov dword [ebp - 0x150], esi
je 0x5703a7
movss xmm1, dword [ebp - 0x48]
movss xmm0, dword [ebp - 0x40]
movss xmm2, dword [ebp - 0x210]
movss xmm3, dword [ebp - 0x12c]
movaps xmm6, xmmword [ebp - 0x60]
movaps xmm5, xmmword [ebp - 0x70]
mov eax, dword [ebp - 0x13c]
movss dword [ebp - 0x158], xmm1
movss xmm1, dword [ebp - 0x4c]
movss dword [ebp - 0x15c], xmm1
movss xmm1, dword [ebp - 0x50]
movss dword [ebp - 0x1d0], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [ebp - 0x170], xmm1
movss xmm1, dword [ebp - 0x130]
movss dword [ebp - 0x19c], xmm0
jmp 0x56f0d0
mov esi, dword [ebp - 0x198]
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x13c]
jmp 0x5703cd
mov ecx, dword [ebp - 0x128]
mov esi, dword [ebp - 0x198]
cmp dword [esi + 0x7c], 0
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x130], edx
jle 0x570442
cmp dword [ebp - 0x194], 0
lea edi, [ecx + 0x28]
mov dword [ebp - 0x130], edx
jle 0x570442
lea ecx, [eax + 0xd4]
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x12c], eax
nop dword [eax]
mov eax, dword [esi + 0x7c]
shl eax, 2
push eax
push ecx
push edi
call fcn.005b46d0
add edi, dword [ebp - 0x124]
add esp, 0xc
sub dword [ebp - 0x12c], 1
mov ecx, dword [ebp - 0x148]
jne 0x570410
mov edx, dword [esi + 0x78]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x130], edx
cmp dword [esi + 0x80], 0
mov dword [ebp - 0x148], edx
jle 0x5704b2
mov edi, dword [esi + 0x7c]
add edi, 0xa
cmp dword [ebp - 0x194], 0
lea edi, [ecx + edi*4]
jle 0x5704b8
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x194]
add ecx, 0xe4
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x12c], eax
mov eax, dword [esi + 0x80]
shl eax, 2
push eax
push ecx
push edi
call fcn.005b46d0
add edi, dword [ebp - 0x130]
add esp, 0xc
sub dword [ebp - 0x12c], 1
mov ecx, dword [ebp - 0x148]
jne 0x570481
mov edx, dword [esi + 0x78]
mov ecx, dword [esi + 0x1c]
jmp 0x5704b8
mov edx, dword [ebp - 0x148]
imul edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x134]
pop edi
mov eax, dword [eax + 0x10]
add edx, ecx
mov ecx, dword [ebp - 4]
add eax, eax
add dword [esi + 0x20], eax
xor ecx, ebp
mov dword [esi + 0x1c], edx
pop esi
call fcn.005b26e6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc