Function at 0x571370
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, 0x308
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 - 0x114], eax
mov edi, ecx
mov eax, dword [ebx + 0x10]
push 0x30
mov dword [ebp - 0x11c], eax
lea eax, [ebp - 0xb0]
push 0
push eax
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x10c], esi
call fcn.005b4c50
mov ecx, dword [ebp - 0x114]
add esp, 0xc
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x571502
cmp eax, 3
je 0x571502
cmp eax, 1
je 0x571502
cmp eax, 2
jne 0x5714d6
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 0x57144c
movss xmm0, dword [esi + 0xd0]
lea eax, [ebp - 0xb0]
push ecx
movss dword [esp], xmm0
push dword [ebp - 0x11c]
push eax
call fcn.00586b00
mov ecx, dword [ebp - 0x114]
add esp, 0xc
mov al, byte [ecx + 0x14]
lea edx, [ebp - 0x1fc]
mov esi, dword [ecx + 0x24]
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x110], eax
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x58]
call eax
push eax
lea ecx, [ebp - 0x70]
call fcn.0052f950
mov ecx, dword [edi + 0x14]
lea edx, [ebp - 0x260]
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 - 0x110]
lea eax, [ebp - 0x70]
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 - 0x220], xmm2
movaps xmmword [ebp - 0x60], xmm0
jmp 0x571705
movaps xmm0, xmmword [ebp - 0x90]
movaps xmmword [ebp - 0x200], xmm0
movaps xmm0, xmmword [ebp - 0xa0]
movaps xmmword [ebp - 0x220], xmm0
movaps xmm0, xmmword [ebp - 0xb0]
movaps xmmword [ebp - 0x60], xmm0
jmp 0x571711
cmp byte [ecx + 0xec], 0
je 0x571575
movups xmm0, xmmword [esi]
push ecx
lea eax, [ebp - 0x100]
movups xmmword [ebp - 0x100], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [ebp - 0xf0], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmmword [ebp - 0xe0], xmm0
movss xmm0, dword [esi + 0xd0]
movss dword [esp], xmm0
push dword [ebp - 0x11c]
push eax
call fcn.00586b00
mov ecx, dword [edi + 0x14]
lea edx, [ebp - 0x1fc]
add esp, 0xc
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x54]
call eax
push eax
lea ecx, [ebp - 0x70]
call fcn.0052f950
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x100]
push eax
jmp 0x571594
mov ecx, dword [edi + 0x14]
lea edx, [ebp - 0x1fc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x54]
call eax
push eax
lea ecx, [ebp - 0x70]
call fcn.0052f950
lea eax, [ebp - 0x70]
push eax
push esi
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0x114]
push dword [eax + 0xc]
call fcn.00586d00
mov ecx, dword [ebp - 0x114]
lea edx, [ebp - 0x1fc]
add esp, 0x1c
mov al, byte [ecx + 0x14]
mov esi, dword [ecx + 0x24]
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x110], eax
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x58]
call eax
push eax
lea ecx, [ebp - 0x70]
call fcn.0052f950
mov ecx, dword [edi + 0x14]
lea edx, [ebp - 0x260]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x54]
call eax
push eax
lea ecx, [ebp - 0xd0]
call fcn.0052f950
push dword [ebp - 0x110]
lea eax, [ebp - 0x60]
push esi
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00586540
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x100]
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 - 0x60], 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 - 0x220], 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 - 0x114]
mov esi, dword [ebp - 0x10c]
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 + 0x30]
movups xmmword [ebp - 0x2b0], xmm3
lea eax, [edi*8]
movd xmm1, edi
divss xmm2, dword [0x5f8460]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x78]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x104], edx
cvtdq2ps xmm1, xmm1
mulss xmm2, dword [0x6128fc]
movss dword [ebp - 0x228], xmm0
divss xmm0, xmm1
movaps xmm1, xmm3
movss dword [ebp - 0x128], xmm2
movups xmm2, xmmword [esi + 0x40]
movaps xmm4, xmm0
divss xmm4, dword [0x5f8460]
subss xmm1, xmm2
movss dword [ebp - 0x224], xmm0
mulss xmm4, dword [0x6128fc]
xorps xmm0, xmm0
movups xmmword [ebp - 0x2d0], xmm2
mulss xmm1, dword [esi + 0x58]
movss dword [ebp - 0x194], xmm4
movss dword [ebp - 0x1bc], xmm0
addss xmm1, xmm2
movss dword [ebp - 0x110], xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x55
movaps xmm3, xmm2
movaps xmmword [ebp - 0x2a0], xmm1
shufps xmm3, xmm2, 0x55
subss xmm1, xmm3
movaps xmmword [ebp - 0x2c0], xmm3
mulss xmm1, dword [esi + 0x58]
mov esi, dword [esi + 0x5c]
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 0x11c], esi
mov esi, dword [eax + 0x64]
addss xmm1, xmm3
mov dword [ebp - 0x170], esi
mov dword [ebp - 0x160], esi
mov esi, dword [eax + 0x60]
mov dword [ebp - 0x140], esi
movaps xmmword [ebp - 0x2e0], xmm1
movss xmm1, dword [ecx + 0x1c]
comiss xmm1, xmm0
mov dword [ebp - 0x144], esi
movss dword [ebp - 0x22c], xmm1
jbe 0x571884
mov byte [ebp - 0x119], 0
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 0x15d], 0
mov eax, dword [ebp - 0x160]
mov byte [ebp - 0x141], 0
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x140], eax
cvtps2pd xmm0, xmm4
call fcn.005c0380
movss xmm1, dword [ebp - 0x194]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x1b8], xmm0
cvtps2pd xmm0, xmm1
call fcn.005c0540
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [ebp - 0x128]
cvtps2pd xmm0, xmm0
call fcn.005c0380
movss xmm1, dword [ebp - 0x128]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x11c], xmm0
cvtps2pd xmm0, xmm1
call fcn.005c0540
mov ecx, dword [ebp - 0x10c]
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm0
movss xmm0, dword [ecx + 0x68]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0x16c], xmm0
movss xmm0, dword [ecx + 0x70]
divss xmm0, xmm1
movss xmm4, dword [ecx + 0x74]
movss xmm5, dword [ecx + 0x6c]
movaps xmm2, xmm4
movss dword [ebp - 0x234], xmm0
addss xmm4, xmm5
movss xmm0, dword [0x5eeacc]
mulss xmm2, xmm0
movss xmm6, dword [ecx + 0x9c]
movss xmm7, dword [ecx + 0xac]
addss xmm2, xmm5
movss dword [ebp - 0x1c8], xmm4
movss xmm4, dword [ecx + 0x7c]
movss dword [ebp - 0x198], xmm4
movss dword [ebp - 0x1c0], xmm5
movss xmm5, dword [ecx + 0x8c]
movss dword [ebp - 0x1c4], xmm2
movss xmm2, dword [ecx + 0x78]
movss dword [ebp - 0x160], xmm2
movss xmm2, dword [ecx + 0x88]
movss dword [ebp - 0x144], xmm2
movss xmm2, dword [ecx + 0x98]
movss dword [ebp - 0x128], xmm2
movss xmm2, dword [ecx + 0xa8]
movss dword [ebp - 0x164], xmm2
movss xmm2, dword [ecx + 0xb8]
movss dword [ebp - 0x190], xmm2
movss xmm2, dword [ecx + 0x80]
divss xmm2, xmm1
movss dword [ebp - 0x19c], xmm5
movss dword [ebp - 0x254], xmm2
movss xmm2, dword [ecx + 0x90]
divss xmm2, xmm1
movss dword [ebp - 0x1b0], xmm6
movss dword [ebp - 0x250], xmm2
movss xmm2, dword [ecx + 0xa0]
divss xmm2, xmm1
movss dword [ebp - 0x1a0], xmm7
movss dword [ebp - 0x238], xmm2
movss xmm2, dword [ecx + 0xb0]
divss xmm2, xmm1
movss dword [ebp - 0x23c], xmm2
movss xmm2, dword [ecx + 0xc0]
divss xmm2, xmm1
movss xmm1, dword [ecx + 0xbc]
movss dword [ebp - 0x1a4], xmm1
movss dword [ebp - 0x240], xmm2
movss xmm2, dword [ecx + 0x84]
movaps xmm1, xmm2
mulss xmm1, xmm0
addss xmm1, xmm4
movss xmm4, dword [ecx + 0x94]
movss dword [ebp - 0x208], xmm1
movaps xmm1, xmm4
mulss xmm1, xmm0
addss xmm1, xmm5
movss xmm5, dword [ecx + 0xa4]
movss dword [ebp - 0x244], xmm1
movaps xmm1, xmm5
mulss xmm1, xmm0
mov eax, dword [ebp - 0x114]
addss xmm2, dword [ebp - 0x198]
addss xmm4, dword [ebp - 0x19c]
addss xmm1, xmm6
mov dword [ebp - 0x30], 0
movss xmm6, dword [ecx + 0xb4]
addss xmm5, dword [ebp - 0x1b0]
movss dword [ebp - 0x1d4], xmm2
movaps xmm2, xmmword [ebp - 0x60]
movss dword [ebp - 0x248], xmm1
movaps xmm1, xmm6
mulss xmm1, xmm0
addss xmm6, dword [ebp - 0x1a0]
movss dword [ebp - 0x1d0], xmm4
addss xmm1, xmm7
movaps xmm4, xmmword [ebp - 0x200]
movss xmm7, dword [ecx + 0xc4]
movss dword [ebp - 0x1cc], xmm5
movaps xmm5, xmm2
shufps xmm5, xmmword [ebp - 0x220], 0x44
shufps xmm2, xmmword [ebp - 0x220], 0xee
movss dword [ebp - 0x1dc], xmm1
movaps xmm1, xmm7
addss xmm7, dword [ebp - 0x1a4]
mulss xmm1, xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x2c], xmm0
addss xmm1, dword [ebp - 0x1a4]
movss xmm0, dword [eax + 0x20]
movss dword [ebp - 0x230], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x1e4], xmm7
movaps xmm7, xmm5
movss dword [ebp - 0x204], xmm6
movaps xmm6, xmmword [ebp - 0x2e0]
movss dword [ebp - 0x1d8], xmm1
movaps xmm1, xmm4
shufps xmm1, xmm0, 0x44
shufps xmm4, xmm0, 0xee
movaps xmm0, xmm2
shufps xmm7, xmm1, 0x88
shufps xmm5, xmm1, 0xdd
movaps xmm1, xmmword [ebp - 0x2a0]
shufps xmm0, xmm4, 0xdd
shufps xmm2, xmm4, 0x88
movaps xmm4, xmmword [ebp - 0x2c0]
shufps xmm1, xmm1, 0
mulps xmm1, xmm2
shufps xmm4, xmm4, 0
shufps xmm6, xmm6, 0
mulps xmm4, xmm2
addps xmm1, xmm0
mulps xmm6, xmm2
movss xmm2, dword [ebp - 0x11c]
addps xmm4, xmm0
movaps xmmword [ebp - 0x300], xmm7
movaps xmmword [ebp - 0x2f0], xmm5
addps xmm6, xmm0
movaps xmmword [ebp - 0x2a0], xmm1
movups xmm1, xmmword [ebp - 0x2b0]
movaps xmm0, xmm2
movaps xmmword [ebp - 0x2c0], xmm4
mulss xmm0, xmm1
movaps xmmword [ebp - 0x2e0], xmm6
shufps xmm0, xmm0, 0
mulps xmm0, xmm7
addps xmm0, xmmword [ebp - 0x2a0]
movaps xmmword [ebp - 0x220], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
movaps xmm1, xmmword [ebp - 0x220]
shufps xmm0, xmm0, 0
mulps xmm0, xmm5
addps xmm1, xmm0
movaps xmm0, xmm2
movaps xmmword [ebp - 0x220], xmm1
movups xmm1, xmmword [ebp - 0x2d0]
mulss xmm0, xmm1
lea edx, [edi*8]
mov eax, dword [ebp - 0x104]
shufps xmm0, xmm0, 0
mulps xmm0, xmm7
addps xmm0, xmm4
movss xmm4, dword [ebp - 0x110]
movaps xmmword [ebp - 0x60], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
movaps xmm1, xmmword [ebp - 0x60]
shufps xmm0, xmm0, 0
mulps xmm0, xmm5
addps xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm4
movaps xmmword [ebp - 0x60], xmm1
movaps xmm1, xmm2
mulss xmm1, xmm4
shufps xmm0, xmm0, 0
mulps xmm0, xmm5
shufps xmm1, xmm1, 0
mulps xmm1, xmm7
addps xmm1, xmm6
addps xmm1, xmm0
movaps xmmword [ebp - 0x70], xmm1
test edx, edx
jle 0x5727a4
shl eax, 3
mov dword [ebp - 0x24c], eax
lea eax, [edx - 1]
shr eax, 3
inc eax
mov dword [ebp - 0x194], eax
nop word [eax + eax]
movaps xmm1, xmm2
movaps xmm0, xmm3
mulss xmm0, dword [ebp - 0x1b4]
mulss xmm1, dword [ebp - 0x1b8]
mulss xmm2, dword [ebp - 0x1b4]
mulss xmm3, dword [ebp - 0x1b8]
subss xmm1, xmm0
addss xmm3, xmm2
movaps xmm2, xmm1
movss dword [ebp - 0x11c], xmm2
mulss xmm2, dword [ebp - 0x2b0]
movaps xmm0, xmm3
movss dword [ebp - 0x178], xmm3
mulss xmm0, dword [ebp - 0x2b0]
shufps xmm2, xmm2, 0
mulps xmm2, xmm7
shufps xmm0, xmm0, 0
mulps xmm0, xmm5
addps xmm2, xmmword [ebp - 0x2a0]
addps xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [ebp - 0x2d0]
movaps xmmword [ebp - 0xd0], xmm2
movaps xmm2, xmm1
mulss xmm2, dword [ebp - 0x2d0]
shufps xmm0, xmm0, 0
mulps xmm0, xmm5
shufps xmm2, xmm2, 0
mulps xmm2, xmm7
mulss xmm1, xmm4
addps xmm2, xmmword [ebp - 0x2c0]
shufps xmm1, xmm1, 0
mulps xmm1, xmm7
addps xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm4
movss xmm4, dword [ebp - 0x22c]
addps xmm1, xmm6
movss xmm3, dword [0x5eeaf4]
shufps xmm0, xmm0, 0
mulps xmm0, xmm5
movaps xmmword [ebp - 0xc0], xmm2
movss xmm2, dword [ebp - 0x228]
addps xmm1, xmm0
movss xmm0, dword [ebp - 0x1bc]
addss xmm0, dword [ebp - 0x224]
movaps xmmword [ebp - 0x80], xmm1
movaps xmm1, xmm3
minss xmm0, xmm2
comiss xmm4, xmm0
movss dword [ebp - 0x1bc], xmm0
jbe 0x571dd0
movaps xmm1, xmm0
divss xmm1, xmm4
jmp 0x571ded
movss xmm4, dword [ebp - 0x230]
subss xmm2, xmm4
comiss xmm0, xmm2
jbe 0x571ded
subss xmm0, xmm2
divss xmm0, xmm4
subss xmm1, xmm0
mov esi, dword [ecx + 0x5c]
mov edi, dword [ecx + 0x64]
mov ecx, dword [ecx + 0x60]
ucomiss xmm1, xmm3
mov dword [ebp - 0x1e0], esi
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x104], edi
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x174], ecx
lahf
test ah, 0x44
jnp 0x571e83
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 - 0x11d], al
mov esi, dword [ebp - 0x120]
mov dword [ebp - 0x1e0], esi
mulss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov byte [ebp - 0x101], al
mov edi, dword [ebp - 0x104]
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov byte [ebp - 0x171], al
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x1ac], eax
movss xmm0, dword [ebp - 0x234]
lea ecx, [ebp - 0x284]
addss xmm0, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x78]
movss dword [ebp - 0x120], xmm0
mov dword [ebp - 0x104], eax
call fcn.004343a0
movaps xmm2, xmmword [ebp - 0x220]
mov ecx, dword [ebp - 0x108]
movaps xmm1, xmm2
movaps xmm0, xmm2
shufps xmm1, xmm2, 0x55
shufps xmm0, xmm2, 0xaa
movss dword [ebp - 0x27c], xmm0
mov eax, dword [ebp - 0x27c]
movss xmm0, dword [ebp - 0x16c]
unpcklps xmm2, xmm1
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm0
movss xmm0, dword [ebp - 0x1c0]
movss dword [ecx + 0x14], xmm0
lea ecx, [ebp - 0x290]
movq qword [ebp - 0x284], xmm2
call fcn.004343a0
movaps xmm2, xmmword [ebp - 0x70]
mov ecx, dword [ebp - 0x104]
movaps xmm1, xmm2
mov edx, dword [ebp - 0x108]
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xaa
shufps xmm1, xmm2, 0x55
movss dword [ebp - 0x288], xmm0
mov eax, dword [ebp - 0x288]
movss xmm0, dword [ebp - 0x16c]
unpcklps xmm2, xmm1
movq qword [edx + ecx], xmm2
mov dword [edx + ecx + 8], eax
mov eax, dword [ebp - 0x140]
mov dword [edx + ecx + 0xc], eax
movss dword [edx + ecx + 0x10], xmm0
movss xmm0, dword [ebp - 0x1c4]
movss dword [edx + ecx + 0x14], xmm0
lea ecx, [ebp - 0x26c]
movq qword [ebp - 0x290], xmm2
call fcn.004343a0
movaps xmm2, xmmword [ebp - 0xd0]
mov ecx, dword [ebp - 0x104]
movaps xmm0, xmm2
mov edx, dword [ebp - 0x108]
movaps xmm1, xmm2
shufps xmm0, xmm2, 0xaa
movss dword [ebp - 0x264], xmm0
movaps xmm0, xmm2
mov eax, dword [ebp - 0x264]
shufps xmm1, xmm2, 0x55
unpcklps xmm0, xmm1
movq qword [edx + ecx*2], xmm0
mov dword [edx + ecx*2 + 8], eax
mov dword [edx + ecx*2 + 0xc], esi
mov esi, edx
movq qword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x120]
movss dword [esi + ecx*2 + 0x10], xmm0
movss xmm0, dword [ebp - 0x1c0]
movss dword [esi + ecx*2 + 0x14], xmm0
lea ecx, [ebp - 0x278]
call fcn.004343a0
movaps xmm2, xmmword [ebp - 0x80]
mov edx, dword [ebp - 0x104]
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xaa
movaps xmm1, xmm2
movss dword [ebp - 0x270], xmm0
movaps xmm0, xmm2
shufps xmm1, xmm2, 0x55
lea ecx, [esi + edx*2]
unpcklps xmm0, xmm1
mov eax, dword [ebp - 0x270]
movq qword [edx + ecx], xmm0
mov dword [edx + ecx + 8], eax
mov eax, dword [ebp - 0x1ac]
mov dword [edx + ecx + 0xc], eax
movq qword [ebp - 0x278], xmm0
movss xmm0, dword [ebp - 0x120]
movss dword [edx + ecx + 0x10], xmm0
movss xmm0, dword [ebp - 0x1c4]
movss dword [edx + ecx + 0x14], xmm0
lea ecx, [ebp - 0x260]
movups xmm0, xmmword [esi + edx]
movups xmm1, xmmword [esi + edx + 0x10]
movups xmm2, xmmword [esi + edx + 0x20]
movups xmm3, xmmword [esi + edx + 0x30]
movq xmm4, qword [esi + edx + 0x40]
movups xmmword [esi + edx*4], xmm0
movups xmmword [esi + edx*4 + 0x10], xmm1
movups xmmword [esi + edx*4 + 0x20], xmm2
movups xmmword [esi + edx*4 + 0x30], xmm3
movq qword [esi + edx*4 + 0x40], xmm4
call fcn.004343a0
mov edx, dword [ebp - 0x104]
movaps xmm2, xmmword [ebp - 0x60]
movaps xmm1, xmm2
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xaa
shufps xmm1, xmm2, 0x55
lea ecx, [esi + edx*4]
unpcklps xmm2, xmm1
movq qword [edx + ecx], xmm2
movss dword [ebp - 0x258], xmm0
mov eax, dword [ebp - 0x258]
movss xmm0, dword [ebp - 0x16c]
mov dword [edx + ecx + 8], eax
mov eax, dword [ebp - 0x170]
mov dword [edx + ecx + 0xc], eax
movss dword [edx + ecx + 0x10], xmm0
lea ecx, [edx + 4]
movss xmm0, dword [ebp - 0x1c8]
lea eax, [esi + ecx*4]
movss dword [ecx + eax], xmm0
lea ecx, [esi + edx*2]
movups xmm0, xmmword [edx + ecx]
lea eax, [edx + edx*2]
movups xmm1, xmmword [edx + ecx + 0x10]
movups xmm3, xmmword [edx + ecx + 0x30]
movq xmm4, qword [edx + ecx + 0x40]
movq qword [ebp - 0x260], xmm2
movups xmm2, xmmword [edx + ecx + 0x20]
lea ecx, [ebp - 0x1fc]
movups xmmword [esi + eax*2], xmm0
movups xmmword [esi + eax*2 + 0x10], xmm1
movups xmmword [esi + eax*2 + 0x20], xmm2
movups xmmword [esi + eax*2 + 0x30], xmm3
movq qword [esi + eax*2 + 0x40], xmm4
call fcn.004343a0
movaps xmm2, xmmword [ebp - 0xc0]
mov ecx, dword [ebp - 0x104]
movaps xmm0, xmm2
movss xmm5, dword [ebp - 0x254]
movaps xmm1, xmm2
shufps xmm0, xmm2, 0xaa
movss dword [ebp - 0x1f4], xmm0
movaps xmm0, xmm2
mov eax, dword [ebp - 0x1f4]
lea edx, [ecx*8]
sub edx, ecx
shufps xmm1, xmm2, 0x55
movss xmm2, dword [ebp - 0x160]
unpcklps xmm0, xmm1
addss xmm5, xmm2
movq qword [ebp - 0x1fc], xmm0
movq qword [edx + esi], xmm0
movss xmm0, dword [ebp - 0x120]
mov dword [edx + esi + 8], eax
mov dword [edx + esi + 0xc], edi
movss dword [edx + esi + 0x10], xmm0
movss xmm0, dword [ebp - 0x1c8]
mov dword [ebp - 0x170], edx
movss dword [edx + esi + 0x14], xmm0
movss xmm0, dword [ebp - 0x23c]
lea eax, [esi + ecx*2]
addss xmm0, dword [ebp - 0x164]
movss dword [esi + 0x18], xmm2
movss xmm3, dword [ebp - 0x144]
movss xmm4, dword [ebp - 0x128]
movss xmm1, dword [ebp - 0x240]
addss xmm1, dword [ebp - 0x190]
movss xmm6, dword [ebp - 0x250]
movss dword [ebp - 0x174], xmm0
addss xmm6, xmm3
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x198]
movss dword [esi + 0x1c], xmm0
movss dword [esi + 0x20], xmm3
movss xmm0, dword [ebp - 0x19c]
movss dword [esi + 0x24], xmm0
movss xmm0, dword [ebp - 0x1b0]
movss dword [esi + 0x28], xmm4
movss dword [esi + 0x2c], xmm0
movss xmm0, dword [ebp - 0x164]
movss dword [esi + 0x30], xmm0
movss xmm0, dword [ebp - 0x1a0]
movss dword [esi + 0x34], xmm0
movss xmm0, dword [ebp - 0x190]
movss dword [esi + 0x38], xmm0
movss xmm7, dword [ebp - 0x238]
movss dword [ebp - 0x140], xmm1
addss xmm7, xmm4
movss dword [ebp - 0x20], xmm1
movss xmm1, dword [ebp - 0x1a4]
movss dword [esi + 0x3c], xmm1
movss dword [esi + ecx + 0x18], xmm2
movss xmm2, dword [ebp - 0x208]
movss dword [esi + ecx + 0x1c], xmm2
movss xmm2, dword [ebp - 0x164]
movss dword [esi + ecx + 0x20], xmm3
movss xmm3, dword [ebp - 0x244]
movss dword [esi + ecx + 0x24], xmm3
movss dword [esi + ecx + 0x28], xmm4
movss xmm4, dword [ebp - 0x248]
movss dword [esi + ecx + 0x2c], xmm4
movss dword [esi + ecx + 0x30], xmm2
movss xmm2, dword [ebp - 0x1dc]
movss dword [esi + ecx + 0x34], xmm2
movss dword [esi + ecx + 0x38], xmm0
movss xmm0, dword [ebp - 0x1d8]
movss dword [esi + ecx + 0x3c], xmm0
movss xmm0, dword [ebp - 0x198]
movss xmm2, dword [ebp - 0x1a0]
movss xmm1, dword [ebp - 0x140]
movss dword [esi + ecx*2 + 0x18], xmm5
movss dword [esi + ecx*2 + 0x1c], xmm0
movss xmm0, dword [ebp - 0x19c]
movss dword [esi + ecx*2 + 0x20], xmm6
movss dword [esi + ecx*2 + 0x24], xmm0
movss xmm0, dword [ebp - 0x1b0]
movss dword [esi + ecx*2 + 0x28], xmm7
movss dword [esi + ecx*2 + 0x2c], xmm0
movss xmm0, dword [ebp - 0x174]
movss dword [esi + ecx*2 + 0x30], xmm0
movss dword [esi + ecx*2 + 0x34], xmm2
movss xmm2, dword [ebp - 0x1a4]
movss dword [esi + ecx*2 + 0x38], xmm1
movss dword [esi + ecx*2 + 0x3c], xmm2
movss xmm2, dword [ebp - 0x208]
movss dword [ecx + eax + 0x18], xmm5
mov eax, ecx
movss dword [ebp - 0x30], xmm5
movss dword [ebp - 0x2c], xmm6
movss dword [ebp - 0x28], xmm7
lea ecx, [esi + eax*2]
movss dword [eax + ecx + 0x1c], xmm2
movss dword [eax + ecx + 0x20], xmm6
lea eax, [esi + eax*2]
mov esi, dword [ebp - 0x104]
movss dword [esi + eax + 0x24], xmm3
mov eax, esi
mov esi, dword [ebp - 0x108]
movss dword [eax + ecx + 0x28], xmm7
movss dword [eax + ecx + 0x2c], xmm4
lea eax, [esi + eax*2]
mov esi, dword [ebp - 0x104]
movss dword [esi + eax + 0x30], xmm0
mov eax, esi
mov esi, dword [ebp - 0x108]
movss xmm0, dword [ebp - 0x1dc]
movss dword [eax + ecx + 0x34], xmm0
movss dword [eax + ecx + 0x38], xmm1
lea eax, [esi + eax*2]
mov ecx, dword [ebp - 0x104]
movss xmm0, dword [ebp - 0x1d8]
movss dword [ecx + eax + 0x3c], xmm0
mov eax, ecx
movups xmm0, xmmword [esi + eax]
lea ecx, [esi + eax*4]
movups xmm1, xmmword [esi + eax + 0x10]
movups xmm2, xmmword [esi + eax + 0x20]
movups xmm3, xmmword [esi + eax + 0x30]
movq xmm4, qword [esi + eax + 0x40]
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
movq qword [esi + eax*4 + 0x40], xmm4
movss xmm2, dword [ebp - 0x160]
movss dword [eax + ecx + 0x18], xmm2
movss xmm0, dword [ebp - 0x1d4]
movss dword [eax + ecx + 0x1c], xmm0
movss xmm2, dword [ebp - 0x144]
movss dword [eax + ecx + 0x20], xmm2
movss xmm0, dword [ebp - 0x1d0]
movss dword [eax + ecx + 0x24], xmm0
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0x104]
movss xmm2, dword [ebp - 0x128]
movss xmm0, dword [ebp - 0x1cc]
movss dword [esi + eax + 0x28], xmm2
mov eax, esi
mov esi, dword [ebp - 0x108]
movss dword [eax + ecx + 0x2c], xmm0
movss xmm0, dword [ebp - 0x164]
movss dword [eax + ecx + 0x30], xmm0
movss xmm0, dword [ebp - 0x204]
movss dword [eax + ecx + 0x34], xmm0
movss xmm0, dword [ebp - 0x190]
movss dword [eax + ecx + 0x38], xmm0
mov ecx, eax
movss xmm0, dword [ebp - 0x1e4]
lea eax, [esi + ecx*4]
movss dword [ecx + eax + 0x3c], xmm0
lea eax, [esi + ecx*2]
movups xmm0, xmmword [ecx + eax]
movups xmm1, xmmword [ecx + eax + 0x10]
movups xmm2, xmmword [ecx + eax + 0x20]
movups xmm3, xmmword [ecx + eax + 0x30]
movq xmm4, qword [ecx + eax + 0x40]
lea eax, [ecx + ecx*2]
movups xmmword [esi + eax*2], xmm0
add ecx, 4
movss xmm0, dword [ebp - 0x1d4]
movups xmmword [esi + eax*2 + 0x10], xmm1
movups xmmword [esi + eax*2 + 0x20], xmm2
movups xmmword [esi + eax*2 + 0x30], xmm3
movq qword [esi + eax*2 + 0x40], xmm4
lea eax, [ecx*8]
sub eax, ecx
movss dword [edx + esi + 0x18], xmm5
mov ecx, dword [ebp - 0x104]
add ecx, 8
movss dword [eax + esi], xmm0
movss xmm0, dword [ebp - 0x1d0]
movss dword [edx + esi + 0x20], xmm6
lea eax, [ecx*8]
movss dword [edx + esi + 0x24], xmm0
movss xmm0, dword [ebp - 0x1cc]
movss dword [edx + esi + 0x28], xmm7
movss dword [edx + esi + 0x2c], xmm0
movss xmm0, dword [ebp - 0x174]
movss dword [edx + esi + 0x30], xmm0
movss xmm0, dword [ebp - 0x204]
movss dword [edx + esi + 0x34], xmm0
movss xmm0, dword [ebp - 0x140]
sub eax, ecx
mov ecx, dword [ebp - 0x108]
movaps xmm1, xmmword [ebp - 0xd0]
movaps xmmword [ebp - 0x220], xmm1
movss dword [eax + esi], xmm0
movss xmm0, dword [ebp - 0x1e4]
movss dword [edx + esi + 0x3c], xmm0
mov esi, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x108]
movaps xmm1, xmmword [ebp - 0xc0]
movss xmm0, dword [ebp - 0x120]
mov eax, dword [esi + 0xc8]
mov dword [ecx + 0x40], eax
mov eax, dword [esi + 0xcc]
mov dword [ecx + 0x44], eax
mov eax, dword [esi + 0xc8]
mov ecx, dword [ebp - 0x104]
movaps xmmword [ebp - 0x60], xmm1
movaps xmm1, xmmword [ebp - 0x80]
movss dword [ebp - 0x16c], xmm0
mov dword [edx + ecx + 0x40], eax
mov eax, dword [esi + 0xcc]
mov dword [edx + ecx + 0x44], eax
mov eax, dword [esi + 0xc8]
mov dword [edx + ecx*2 + 0x40], eax
mov eax, dword [esi + 0xcc]
mov dword [edx + ecx*2 + 0x44], eax
mov eax, dword [esi + 0xc8]
mov esi, ecx
movaps xmm0, xmmword [ebp - 0x30]
movaps xmmword [ebp - 0x70], xmm1
movaps xmmword [ebp - 0x50], xmm0
lea ecx, [edx + esi*2]
mov dword [esi + ecx + 0x40], eax
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 0xcc]
mov dword [esi + ecx + 0x44], eax
mov esi, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x104]
mov eax, dword [esi + 0xc8]
mov dword [edx + ecx*4 + 0x40], eax
mov eax, dword [esi + 0xcc]
mov dword [edx + ecx*4 + 0x44], eax
mov eax, dword [esi + 0xc8]
mov esi, ecx
lea ecx, [edx + esi*4]
mov dword [esi + ecx + 0x40], eax
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 0xcc]
mov dword [esi + ecx + 0x44], eax
lea ecx, [esi + esi*2]
mov eax, dword [ebp - 0x10c]
mov esi, edx
mov eax, dword [eax + 0xc8]
mov dword [edx + ecx*2 + 0x40], eax
mov eax, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x170], edi
mov eax, dword [eax + 0xcc]
mov dword [esi + ecx*2 + 0x44], eax
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx + 0xc8]
mov dword [edx + esi + 0x40], eax
mov eax, dword [ecx + 0xcc]
mov dword [edx + esi + 0x44], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1e0]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x24c]
add dword [ebp - 0x108], eax
sub dword [ebp - 0x194], 1
mov dword [ebp - 0x1a8], esi
mov esi, dword [ebp - 0x1ac]
mov dword [ebp - 0x140], esi
je 0x572790
movss xmm2, dword [ebp - 0x48]
movss xmm0, dword [ebp - 0x40]
movss xmm3, dword [ebp - 0x178]
movss xmm4, dword [ebp - 0x110]
movaps xmm5, xmmword [ebp - 0x2f0]
movaps xmm6, xmmword [ebp - 0x2e0]
movaps xmm7, xmmword [ebp - 0x300]
movss dword [ebp - 0x128], xmm2
movss xmm2, dword [ebp - 0x4c]
movss dword [ebp - 0x144], xmm2
movss xmm2, dword [ebp - 0x50]
movss dword [ebp - 0x190], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [ebp - 0x160], xmm2
movss xmm2, dword [ebp - 0x11c]
movss dword [ebp - 0x164], xmm0
jmp 0x571cc0
mov esi, dword [ebp - 0x118]
mov eax, dword [esi + 0x78]
mov edx, dword [esi + 0x1c]
mov dword [ebp - 0x104], eax
jmp 0x5727b0
mov esi, dword [ebp - 0x118]
mov edx, dword [ebp - 0x108]
cmp dword [esi + 0x7c], 0
mov dword [ebp - 0x118], eax
jle 0x572822
cmp dword [ebp - 0x168], 0
lea edi, [edx + 0x28]
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x118], eax
jle 0x572822
mov eax, dword [ebp - 0x168]
add ecx, 0xd4
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x110], 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 - 0x104]
add esp, 0xc
sub dword [ebp - 0x110], 1
mov ecx, dword [ebp - 0x178]
jne 0x5727f0
mov eax, dword [esi + 0x78]
mov edx, dword [esi + 0x1c]
mov dword [ebp - 0x118], eax
cmp dword [esi + 0x80], 0
mov ecx, eax
jle 0x572892
mov edi, dword [esi + 0x7c]
mov ecx, dword [ebp - 0x118]
add edi, 0xa
cmp dword [ebp - 0x168], 0
lea edi, [edx + edi*4]
jle 0x572892
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x168]
add ecx, 0xe4
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x110], eax
mov eax, dword [esi + 0x80]
shl eax, 2
push eax
push ecx
push edi
call fcn.005b46d0
add edi, dword [ebp - 0x118]
add esp, 0xc
sub dword [ebp - 0x110], 1
mov ecx, dword [ebp - 0x178]
jne 0x572863
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x1c]
imul ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x114]
pop edi
mov eax, dword [eax + 0x10]
add ecx, edx
mov dword [esi + 0x1c], ecx
add eax, eax
mov ecx, dword [ebp - 4]
add dword [esi + 0x20], eax
xor ecx, ebp
pop esi
call fcn.005b26e6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc