Function at 0x58ac90
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x278
push esi
push edi
mov edi, ecx
movss dword [esp + 0x28], xmm1
mov dword [esp + 0x5c], edi
mov eax, dword [edi + 0x25c]
cmp eax, dword [edi + 0x260]
jae 0x58c084
test byte [edi + 0xb8], 1
je 0x58c084
mov ecx, dword [edi + 0x134]
test ecx, ecx
je 0x58ace0
call fcn.00516a20
test al, al
je 0x58c084
mov al, byte [edi + 0x29d]
mov edx, dword [ebp + 8]
and al, 1
mov byte [esp + 0x2f], al
je 0x58acf9
test edx, edx
jle 0x58c084
mov ecx, dword [edi + 0x268]
xor esi, esi
mov al, byte [edi + 0x2ad]
and al, 3
mov dword [esp + 0x14], esi
mov byte [esp + 0x13], al
cmp byte [ecx], 0
mov dword [esp + 0xc], ecx
je 0x58bdc8
nop
cmp dword [ecx + 0x28], 0
mov dword [esp + 0x24], edx
jl 0x58ae1c
cmp byte [esp + 0x2f], 0
jne 0x58ae1c
cmp dword [ecx + 0x30], 0
lea edx, [ecx + 0x30]
movss xmm1, dword [ecx + 0x10]
movss dword [esp + 0x40], xmm1
je 0x58ad63
mov ecx, dword [edi + 0x70]
call fcn.00571ca0
movss xmm1, dword [esp + 0x40]
mov ecx, dword [esp + 0xc]
mulss xmm1, xmm0
mulss xmm1, dword [esp + 0x28]
mov edx, dword [ecx + 0x20]
add edx, dword [ebp + 8]
mov dword [esp + 0x24], edx
addss xmm1, dword [ecx + 0x1c]
mov dword [ecx + 0x20], 0
comiss xmm1, dword [0x739900]
movss dword [esp + 0x40], xmm1
movss dword [esp + 8], xmm1
jb 0x58ae0c
movss xmm0, dword [ecx + 0x14]
comiss xmm0, dword [0x739804]
jb 0x58ae0c
fld dword [esp + 8]
sub esp, 8
fstp qword [esp]
call fcn.006d3790
mov edx, dword [esp + 0x2c]
add esp, 8
movss xmm1, dword [esp + 0x40]
mov ecx, dword [esp + 0xc]
fstp dword [esp + 0x18]
cvttss2si eax, dword [esp + 0x18]
mov dword [esp + 8], eax
add eax, edx
test byte [ecx + 0x28], 2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [ecx + 0x1c], xmm1
je 0x58adfe
mov eax, 1
cmp dword [esp + 8], eax
cmovl eax, dword [esp + 8]
add edx, eax
mov dword [esp + 0x24], edx
jmp 0x58ae1c
cvttss2si eax, dword [esp + 0x18]
add edx, eax
mov dword [esp + 0x24], edx
jmp 0x58ae1c
movd xmm0, edx
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [ecx + 0x1c], xmm1
test edx, edx
jle 0x58bda1
mov al, byte [ecx]
cmp al, 1
jne 0x58b4df
mov eax, dword [ecx + 0xd0]
xorps xmm0, xmm0
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 8], 0x3f800000
lea eax, [eax + eax*4]
shl eax, 4
add eax, dword [edi + 0x2b0]
movups xmm0, xmmword [eax]
movss dword [esp + 0x40], xmm0
movups xmm0, xmmword [eax + 0x10]
movss dword [esp + 0x44], xmm0
movups xmm0, xmmword [eax + 0x20]
lea eax, [esp + 8]
movss dword [esp + 0x48], xmm0
movaps xmm0, xmmword [esp + 0x40]
addps xmm0, xmmword [ecx + 0x50]
push eax
lea ecx, [esp + 0x194]
movaps xmmword [esp + 0xa4], xmm0
call fcn.00449760
test byte [edi + 0x29c], 1
je 0x58af10
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [edi + 0x70]
push eax
mov edx, dword [ecx]
lea ecx, [esp + 0x244]
call fcn.00449900
add esp, 4
lea ecx, [esp + 0x21c]
push eax
call fcn.004ab7e0
push eax
lea ecx, [esp + 0x1d4]
call fcn.004ab820
movaps xmm0, xmmword [esp + 0x1d0]
movaps xmmword [esp + 0x190], xmm0
movaps xmm0, xmmword [esp + 0x1e0]
movaps xmmword [esp + 0x1a0], xmm0
movaps xmm0, xmmword [esp + 0x1f0]
movaps xmmword [esp + 0x1b0], xmm0
movaps xmm0, xmmword [esp + 0x200]
movaps xmmword [esp + 0x1c0], xmm0
lea eax, [esp + 0x190]
push eax
lea ecx, [esp + 0x74]
call fcn.004ab7e0
movaps xmm0, xmmword [esp + 0x190]
mov edx, dword [edi + 0x260]
sub edx, dword [edi + 0x25c]
movaps xmmword [esp + 0x160], xmm0
movaps xmm0, xmmword [esp + 0x1a0]
movaps xmmword [esp + 0x170], xmm0
movaps xmm0, xmmword [esp + 0x1b0]
movaps xmmword [esp + 0x180], xmm0
movaps xmm0, xmmword [esp + 0x1c0]
movaps xmmword [esp + 0xd0], xmm0
cmp edx, dword [esp + 0x24]
jbe 0x58af82
mov eax, dword [esp + 0xc]
mov al, byte [eax + 0x28]
and al, 1
mov byte [esp + 0x23], al
jmp 0x58afa0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], edx
mov al, byte [ecx + 0x28]
and al, 1
mov byte [esp + 0x23], al
test edx, edx
jle 0x58bd68
nop dword [eax + eax]
mov eax, dword [edi + 0x1e4]
xorps xmm1, xmm1
movss xmm0, dword [eax + esi*4]
lea ecx, [eax + esi*4]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x58afd6
nop word [eax + eax]
movss xmm0, dword [ecx + 4]
lea ecx, [ecx + 4]
inc esi
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x58afc0
mov dword [esp + 0x14], esi
mov ecx, dword [edi + 0x70]
add ecx, 0x2b20
call fcn.004602f0
xorps xmm0, xmm0
mov ecx, dword [edi + 0x70]
add ecx, 0x2b20
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
subss xmm0, xmm1
addss xmm0, xmm1
mulss xmm0, dword [0x739814]
mulss xmm0, dword [0x7398f8]
addss xmm0, dword [0x739828]
addss xmm0, xmm0
mulss xmm0, dword [0x739994]
movss dword [esp + 8], xmm0
call fcn.004602f0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
subss xmm0, xmm1
addss xmm0, xmm1
mulss xmm0, dword [0x739814]
mulss xmm0, dword [0x7398f8]
addss xmm0, dword [0x739828]
addss xmm0, xmm0
subss xmm0, dword [0x739900]
movss dword [esp + 0x40], xmm0
cvtps2pd xmm0, xmm0
call fcn.006d4b50
mov ecx, dword [edi + 0x70]
cvtsd2ss xmm0, xmm0
add ecx, 0x2b20
movss dword [esp + 0x18], xmm0
call fcn.004602f0
xorps xmm0, xmm0
xorps xmm1, xmm1
push ecx
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
subss xmm0, xmm1
addss xmm0, xmm1
mulss xmm0, dword [0x739814]
mulss xmm0, dword [0x7398f8]
addss xmm0, dword [0x739828]
movss dword [esp], xmm0
call fcn.005ed6fb
movss xmm0, dword [esp + 0x1c]
add esp, 4
cvtps2pd xmm0, xmm0
fstp dword [esp + 0x30]
call fcn.006d3350
movss xmm2, dword [esp + 8]
cvtsd2ss xmm0, xmm0
cvtps2pd xmm2, xmm2
mulss xmm0, dword [esp + 0x30]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x30]
mulss xmm0, dword [esp + 0x40]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmm2
call fcn.006d3350
movss xmm1, dword [esp + 8]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 0x18]
movups xmmword [esp + 0x150], xmm0
cvtps2pd xmm0, xmm1
call fcn.006d3190
xorps xmm2, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm2, xmm0
movups xmm0, xmmword [esp + 0x150]
mulss xmm2, dword [esp + 0x18]
unpcklps xmm0, xmm1
unpcklps xmm2, xmmword [esp + 0x40]
cmp byte [esp + 0x23], 0
mov eax, dword [esp + 0xc]
unpcklps xmm2, xmm0
mulps xmm2, xmmword [eax + 0x60]
movaps xmm0, xmm2
mulps xmm0, xmm2
movaps xmm1, xmm0
movhlps xmm1, xmm0
movlhps xmm0, xmm0
addps xmm1, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xb1
addps xmm0, xmm1
sqrtps xmm4, xmm0
rcpps xmm3, xmm4
mulps xmm4, xmmword [eax + 0xa0]
mulps xmm3, xmm2
addps xmm4, xmmword [eax + 0x90]
je 0x58b1e0
xorps xmm0, xmm0
movaps xmm1, xmm3
cmpltps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmmword [0x74d400]
xorps xmm1, xmmword [eax + 0x70]
andps xmm1, xmmword [eax + 0x80]
andps xmm0, xmm1
andnps xmm1, xmm3
movaps xmm3, xmm1
orps xmm3, xmm0
test byte [edi + 0x29c], 1
mulps xmm4, xmm3
je 0x58b234
movaps xmm2, xmm4
movaps xmm3, xmm4
movaps xmm1, xmm4
shufps xmm3, xmm4, 0x55
mulps xmm3, xmmword [esp + 0x170]
shufps xmm2, xmm4, 0
mulps xmm2, xmmword [esp + 0x160]
shufps xmm1, xmm4, 0xff
shufps xmm4, xmm4, 0xaa
mulps xmm4, xmmword [esp + 0x180]
addps xmm3, xmm2
movaps xmm0, xmm4
movaps xmm4, xmm1
mulps xmm4, xmmword [esp + 0xd0]
addps xmm4, xmm0
addps xmm4, xmm3
mov eax, dword [edi + 0x20c]
movaps xmm1, xmm4
addps xmm1, xmmword [esp + 0xa0]
movss dword [eax + esi*4], xmm1
movaps xmm0, xmm1
mov eax, dword [edi + 0x210]
shufps xmm0, xmm1, 0x55
shufps xmm1, xmm1, 0xaa
movss dword [eax + esi*4], xmm0
mov eax, dword [edi + 0x214]
movss dword [eax + esi*4], xmm1
movaps xmm1, xmm4
mulps xmm1, xmm4
movaps xmm0, xmm1
movhlps xmm0, xmm1
movlhps xmm1, xmm1
addps xmm1, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xb1
addps xmm1, xmm0
movss xmm0, dword [0x739838]
shufps xmm1, xmm1, 0
comiss xmm0, xmm1
jbe 0x58b3d4
mov ecx, dword [edi + 0x70]
add ecx, 0x2b20
call fcn.004602f0
xorps xmm0, xmm0
movss xmm4, dword [0x739814]
movss xmm6, dword [0x7398f8]
xorps xmm5, xmm5
mov ecx, dword [edi + 0x70]
cvtsi2sd xmm0, eax
shr eax, 0x1f
add ecx, 0x2b20
movss xmm7, dword [0x739828]
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm3, xmm0
subss xmm3, xmm5
addss xmm3, xmm5
mulss xmm3, xmm4
mulss xmm3, xmm6
addss xmm3, xmm7
call fcn.004602f0
xorps xmm0, xmm0
mov ecx, dword [edi + 0x70]
add ecx, 0x2b20
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm1, xmm0
subss xmm1, xmm5
addss xmm1, xmm5
mulss xmm1, xmm4
mulss xmm1, xmm6
addss xmm1, xmm7
call fcn.004602f0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
test byte [edi + 0x29c], 1
addsd xmm0, qword [eax*8 + 0x739f30]
mov eax, dword [esp + 0xc]
cvtpd2ps xmm0, xmm0
subss xmm0, xmm5
addss xmm0, xmm5
mulss xmm0, xmm4
movaps xmm4, xmm3
unpcklps xmm4, xmm1
mulss xmm0, xmm6
addss xmm0, xmm7
unpcklps xmm4, xmm0
mulps xmm4, xmmword [0x74d430]
subps xmm4, xmmword [0x74d420]
mulps xmm4, xmmword [eax + 0x60]
je 0x58b3e7
movaps xmm0, xmm4
movaps xmm3, xmm4
movaps xmm2, xmm4
shufps xmm3, xmm4, 0x55
mulps xmm3, xmmword [esp + 0x170]
shufps xmm2, xmm4, 0xaa
mulps xmm2, xmmword [esp + 0x180]
shufps xmm0, xmm4, 0
shufps xmm4, xmm4, 0xff
movaps xmm1, xmm4
movaps xmm4, xmmword [esp + 0x160]
mulps xmm1, xmmword [esp + 0xd0]
mulps xmm4, xmm0
addps xmm2, xmm1
addps xmm4, xmm3
addps xmm4, xmm2
jmp 0x58b3e7
movss xmm6, dword [0x7398f8]
xorps xmm5, xmm5
movss xmm7, dword [0x739828]
movaps xmm1, xmm4
mov ecx, dword [edi + 0x70]
mulps xmm1, xmm4
add ecx, 0x2b20
movaps xmm0, xmm1
movhlps xmm0, xmm1
movlhps xmm1, xmm1
addps xmm1, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xb1
addps xmm1, xmm0
sqrtps xmm0, xmm1
rcpps xmm1, xmm0
mulps xmm1, xmm4
call fcn.004602f0
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
mov eax, dword [esp + 0xc]
cvtpd2ps xmm2, xmm0
subss xmm2, xmm5
addss xmm2, xmm5
mulss xmm2, dword [0x739814]
mulss xmm2, xmm6
addss xmm2, xmm7
shufps xmm2, xmm2, 0
mulps xmm2, xmmword [eax + 0xc0]
addps xmm2, xmmword [eax + 0xb0]
mov eax, dword [edi + 0x218]
mulps xmm2, xmm1
movss dword [eax + esi*4], xmm2
movaps xmm0, xmm2
mov eax, dword [edi + 0x21c]
shufps xmm0, xmm2, 0x55
shufps xmm2, xmm2, 0xaa
movss dword [eax + esi*4], xmm0
mov eax, dword [edi + 0x220]
movss dword [eax + esi*4], xmm2
lea eax, [esp + 0x70]
push eax
push esi
call fcn.0058c0b0
inc dword [edi + 0x25c]
mov eax, dword [edi + 0x258]
cmp esi, eax
jne 0x58b4b3
inc eax
mov dword [edi + 0x258], eax
cmp byte [esp + 0x13], 0
je 0x58b4ca
lea eax, [esp + 0x14]
lea ecx, [edi + 0x2c8]
push eax
call fcn.00415af0
inc esi
sub dword [esp + 0x24], 1
mov dword [esp + 0x14], esi
jne 0x58afa0
jmp 0x58bd64
cmp al, 2
jne 0x58bd68
mov eax, dword [ecx + 0x88]
lea eax, [eax + eax*4]
shl eax, 4
add eax, dword [edi + 0x2b0]
test byte [edi + 0x29c], 1
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movups xmm2, xmmword [eax + 0x20]
addss xmm0, dword [ecx + 0x50]
addss xmm1, dword [ecx + 0x54]
addss xmm2, dword [ecx + 0x58]
mov dword [esp + 0x90], 0x3f800000
movups xmmword [esp + 0xa0], xmm0
movaps xmm0, xmmword [0x739b30]
movups xmmword [esp + 0x150], xmm1
movups xmmword [esp + 0xd0], xmm2
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x80], xmm0
je 0x58b5a4
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [edi + 0x70]
push eax
mov edx, dword [ecx]
lea ecx, [esp + 0x244]
call fcn.00449900
add esp, 4
lea ecx, [esp + 0x21c]
push eax
call fcn.004ab7e0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x70], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0x80], xmm0
mov eax, dword [eax + 0x20]
mov dword [esp + 0x90], eax
mov eax, dword [edi + 0x260]
sub eax, dword [edi + 0x25c]
mov dword [esp + 8], eax
cmp eax, edx
ja 0x58b5d0
mov dword [esp + 0x24], eax
test eax, eax
jle 0x58bd68
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 0x1e4]
xorps xmm3, xmm3
movss xmm0, dword [eax + esi*4]
lea ecx, [eax + esi*4]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x58b606
nop word [eax + eax]
movss xmm0, dword [ecx + 4]
lea ecx, [ecx + 4]
inc esi
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x58b5f0
mov dword [esp + 0x14], esi
mov eax, 0x70
mov esi, edi
mov ecx, dword [eax + esi]
add ecx, 0x2b20
call fcn.004602f0
movss xmm4, dword [0x739814]
mov edi, 0x70
movss xmm5, dword [0x7398f8]
movss xmm6, dword [0x739828]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov ecx, dword [edi + esi]
add ecx, 0x2b20
movss xmm7, dword [0x739900]
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm2, xmm0
subss xmm2, xmm3
addss xmm2, xmm3
mulss xmm2, xmm4
mulss xmm2, xmm5
addss xmm2, xmm6
addss xmm2, xmm2
subss xmm2, xmm7
call fcn.004602f0
mov ecx, dword [edi + esi]
add ecx, 0x2b20
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm1, xmm0
subss xmm1, xmm3
addss xmm1, xmm3
mulss xmm1, xmm4
mulss xmm1, xmm5
addss xmm1, xmm6
addss xmm1, xmm1
subss xmm1, xmm7
call fcn.004602f0
lea edx, [esp + 0x60]
mov dword [esp + 0xf0], 0
lea ecx, [esp + 0xe8]
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
mov eax, dword [esp + 0xc]
cvtpd2ps xmm0, xmm0
mulss xmm1, dword [eax + 0x60]
subss xmm0, xmm3
mulss xmm2, dword [eax + 0x64]
movss dword [esp + 0x64], xmm1
movss dword [esp + 0x68], xmm2
addss xmm0, xmm3
mulss xmm0, xmm4
mulss xmm0, xmm5
addss xmm0, xmm6
addss xmm0, xmm0
subss xmm0, xmm7
mulss xmm0, dword [eax + 0x5c]
lea eax, [esp + 0xf0]
push eax
movss dword [esp + 0x64], xmm0
call fcn.00592470
add esp, 4
mov dword [esp + 0x100], 0
lea edx, [esp + 0x100]
mov dword [esp + 0x104], 0
lea ecx, [esp + 0xc8]
mov dword [esp + 0x108], 0
movzx esi, byte [eax]
movzx edi, byte [eax + 1]
movzx eax, byte [eax + 2]
mov dword [esp + 8], eax
lea eax, [esp + 0x60]
push eax
call fcn.00592470
add esp, 4
movzx ecx, byte [eax]
movd xmm2, esi
cvtdq2ps xmm2, xmm2
movd xmm0, ecx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
cvtdq2ps xmm0, xmm0
movss xmm5, dword [esp + 0x64]
subss xmm0, xmm2
movd xmm3, eax
movd xmm2, dword [esp + 8]
mov eax, dword [esp + 0xc]
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm3, xmm3
movd xmm1, ecx
movaps xmm4, xmm0
mulss xmm4, dword [esp + 0x60]
subss xmm3, xmm2
movd xmm2, edi
mov edi, dword [esp + 0x5c]
mulss xmm4, dword [eax + 0x74]
cvtdq2ps xmm1, xmm1
test byte [edi + 0x29c], 1
movaps xmm6, xmm3
mulss xmm6, dword [esp + 0x68]
addss xmm4, dword [eax + 0x68]
cvtdq2ps xmm2, xmm2
mulss xmm6, dword [eax + 0x7c]
subss xmm1, xmm2
mulss xmm4, xmm0
addss xmm6, dword [eax + 0x70]
movss dword [esp + 0x110], xmm4
mulss xmm5, xmm1
mulss xmm6, xmm3
mulss xmm5, dword [eax + 0x78]
movss dword [esp + 0x118], xmm6
addss xmm5, dword [eax + 0x6c]
mulss xmm5, xmm1
movss dword [esp + 0x114], xmm5
movaps xmm0, xmmword [esp + 0x110]
movaps xmmword [esp + 0x60], xmm0
je 0x58b90d
movss xmm3, dword [esp + 0x84]
movaps xmm0, xmm4
mulss xmm0, dword [esp + 0x78]
movss xmm2, dword [esp + 0x80]
movss xmm1, dword [esp + 0x7c]
mulss xmm3, xmm5
mulss xmm2, xmm5
addss xmm3, xmm0
mulss xmm1, xmm5
movss xmm0, dword [esp + 0x90]
mulss xmm0, xmm6
addss xmm3, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [esp + 0x74]
mulss xmm4, dword [esp + 0x70]
addss xmm2, xmm0
movss dword [esp + 0x128], xmm3
movss xmm0, dword [esp + 0x8c]
mulss xmm0, xmm6
addss xmm1, xmm4
addss xmm2, xmm0
movss xmm0, dword [esp + 0x88]
mulss xmm0, xmm6
addss xmm1, xmm0
movss dword [esp + 0x124], xmm2
movss dword [esp + 0x120], xmm1
movaps xmm0, xmmword [esp + 0x120]
movaps xmmword [esp + 0x60], xmm0
movups xmm0, xmmword [esp + 0xa0]
mov ecx, 0x5f375a86
mov eax, dword [edi + 0x20c]
movss xmm4, dword [esp + 0x60]
mov esi, dword [esp + 0x14]
addss xmm4, xmm0
movups xmm1, xmmword [esp + 0x150]
movss xmm3, dword [esp + 0x64]
movups xmm2, xmmword [esp + 0xd0]
movss xmm5, dword [esp + 0x68]
addss xmm3, xmm1
movss dword [eax + esi*4], xmm4
addss xmm5, xmm2
mov eax, dword [edi + 0x210]
subss xmm4, xmm0
movss dword [eax + esi*4], xmm3
subss xmm3, xmm1
mov eax, dword [edi + 0x214]
movaps xmm1, xmm4
mulss xmm1, xmm4
movss dword [esp + 0x30], xmm4
movss dword [eax + esi*4], xmm5
subss xmm5, xmm2
movaps xmm2, xmm3
movss dword [esp + 8], xmm3
mulss xmm2, xmm3
movaps xmm0, xmm5
movss dword [esp + 0x18], xmm5
addss xmm1, xmm2
mulss xmm0, xmm5
addss xmm1, xmm0
movss dword [esp + 0x40], xmm1
mov eax, dword [esp + 0x40]
mov dword [esp + 0x40], eax
movss xmm1, dword [esp + 0x40]
mulss xmm1, dword [0x7398c0]
shr eax, 1
sub ecx, eax
mov dword [esp + 0x40], ecx
movss xmm2, dword [esp + 0x40]
movaps xmm0, xmm2
mulss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, xmm0
movss xmm0, dword [0x739924]
subss xmm0, xmm1
movss xmm1, dword [0x739838]
mulss xmm2, xmm0
movss xmm0, dword [0x739900]
divss xmm0, xmm2
movss dword [esp + 0x40], xmm2
comiss xmm1, xmm0
jbe 0x58bc2c
mov eax, 0x70
mov ecx, edi
mov ecx, dword [eax + ecx]
add ecx, 0x2b20
call fcn.004602f0
movss xmm2, dword [0x739814]
xorps xmm1, xmm1
movss xmm6, dword [0x7398f8]
mov ecx, 0x70
movss xmm7, dword [0x739828]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
mov eax, edi
mov ecx, dword [ecx + eax]
cvtpd2ps xmm5, xmm0
add ecx, 0x2b20
subss xmm5, xmm1
addss xmm5, xmm1
mulss xmm5, xmm2
mulss xmm5, xmm6
addss xmm5, xmm7
call fcn.004602f0
mov ecx, 0x70
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
mov eax, edi
mov ecx, dword [ecx + eax]
cvtpd2ps xmm3, xmm0
add ecx, 0x2b20
subss xmm3, xmm1
addss xmm3, xmm1
mulss xmm3, xmm2
mulss xmm3, xmm6
addss xmm3, xmm7
call fcn.004602f0
addss xmm3, xmm3
addss xmm5, xmm5
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
test byte [edi + 0x29c], 1
addsd xmm0, qword [eax*8 + 0x739f30]
mov eax, dword [esp + 0xc]
cvtpd2ps xmm4, xmm0
movss xmm0, dword [0x739900]
subss xmm4, xmm1
subss xmm3, xmm0
subss xmm5, xmm0
addss xmm4, xmm1
movss dword [esp + 0x134], xmm3
mulss xmm3, dword [eax + 0x60]
movss dword [esp + 0x138], xmm5
mulss xmm4, xmm2
mulss xmm5, dword [eax + 0x64]
mulss xmm4, xmm6
movss dword [esp + 8], xmm3
movss dword [esp + 0x18], xmm5
addss xmm4, xmm7
addss xmm4, xmm4
subss xmm4, xmm0
movss dword [esp + 0x130], xmm4
mulss xmm4, dword [eax + 0x5c]
movaps xmm0, xmmword [esp + 0x130]
movaps xmmword [esp + 0x40], xmm0
movss dword [esp + 0x30], xmm4
je 0x58bc2c
movaps xmm2, xmm3
movaps xmm0, xmm4
mulss xmm0, dword [esp + 0x78]
movaps xmm1, xmm3
mulss xmm2, dword [esp + 0x84]
mulss xmm1, dword [esp + 0x80]
mulss xmm3, dword [esp + 0x7c]
addss xmm2, xmm0
movss xmm0, dword [esp + 0x90]
mulss xmm0, xmm5
addss xmm2, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [esp + 0x74]
mulss xmm4, dword [esp + 0x70]
addss xmm1, xmm0
movss dword [esp + 0x148], xmm2
movss xmm0, dword [esp + 0x8c]
mulss xmm0, xmm5
addss xmm3, xmm4
addss xmm1, xmm0
movss xmm0, dword [esp + 0x88]
mulss xmm0, xmm5
addss xmm3, xmm0
movss dword [esp + 0x144], xmm1
movss dword [esp + 0x140], xmm3
movaps xmm0, xmmword [esp + 0x140]
movaps xmmword [esp + 0x40], xmm0
movss xmm5, dword [esp + 0x48]
movss xmm3, dword [esp + 0x44]
movss xmm4, dword [esp + 0x40]
movss dword [esp + 0x18], xmm5
movss dword [esp + 8], xmm3
movss dword [esp + 0x30], xmm4
movaps xmm1, xmm3
movaps xmm2, xmm4
mulss xmm1, xmm3
movaps xmm0, xmm5
mulss xmm2, xmm4
mulss xmm0, xmm5
addss xmm1, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x58bc5b
sqrtsd xmm0, xmm0
jmp 0x58bc60
call fcn.006d5e50
movss xmm3, dword [0x739900]
mov eax, edi
cvtsd2ss xmm0, xmm0
mov ecx, 0x70
mov ecx, dword [ecx + eax]
divss xmm3, xmm0
add ecx, 0x2b20
movaps xmm1, xmm3
movaps xmm2, xmm3
mulss xmm1, dword [esp + 0x30]
mulss xmm2, dword [esp + 0x18]
mulss xmm3, dword [esp + 8]
call fcn.004602f0
xorps xmm4, xmm4
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
mov eax, dword [esp + 0xc]
cvtpd2ps xmm0, xmm0
subss xmm0, xmm4
addss xmm0, xmm4
mulss xmm0, dword [0x739814]
mulss xmm0, dword [0x7398f8]
addss xmm0, dword [0x739828]
mulss xmm0, dword [eax + 0x84]
addss xmm0, dword [eax + 0x80]
mov eax, dword [edi + 0x218]
mulss xmm3, xmm0
mulss xmm2, xmm0
mulss xmm0, xmm1
movss dword [eax + esi*4], xmm0
mov eax, dword [edi + 0x21c]
movss dword [eax + esi*4], xmm3
mov eax, dword [edi + 0x220]
movss dword [eax + esi*4], xmm2
lea eax, [esp + 0x70]
push eax
push esi
call fcn.0058c0b0
inc dword [edi + 0x25c]
mov eax, dword [edi + 0x258]
cmp esi, eax
jne 0x58bd3d
inc eax
mov dword [edi + 0x258], eax
cmp byte [esp + 0x13], 0
je 0x58bd54
lea eax, [esp + 0x14]
lea ecx, [edi + 0x2c8]
push eax
call fcn.00415af0
inc esi
sub dword [esp + 0x24], 1
mov dword [esp + 0x14], esi
jne 0x58b5d0
mov ecx, dword [esp + 0xc]
movss xmm1, dword [ecx + 0x14]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x58bd8e
subss xmm1, dword [esp + 0x28]
comiss xmm0, xmm1
movss dword [ecx + 0x14], xmm1
jb 0x58bda1
mov dword [ecx + 0x14], 0xbf800000
jmp 0x58bd94
comiss xmm0, dword [ecx + 0x10]
jb 0x58bda1
dec byte [edi + 0x2ac]
or dword [ecx + 0x28], 0x80000000
movzx eax, byte [ecx]
sub eax, 1
je 0x58bdb1
add ecx, 0x90
jmp 0x58bdb7
add ecx, 0xe0
cmp byte [ecx], 0
mov dword [esp + 0xc], ecx
je 0x58bdc8
mov edx, dword [ebp + 8]
jmp 0x58ad20
cmp byte [esp + 0x13], 0
je 0x58c070
mov esi, dword [edi + 0x2e0]
mov eax, dword [edi + 0x2e4]
mov dword [esp + 8], esi
mov dword [esp + 0x30], eax
cmp esi, eax
je 0x58c070
nop
mov eax, dword [esi + 0x20]
cmp eax, 1
je 0x58be00
test eax, eax
jne 0x58c05f
mov eax, dword [esi + 0x30]
sub eax, dword [esi + 0x2c]
sar eax, 3
cmp eax, dword [esi + 0x28]
je 0x58c05f
mov eax, dword [edi + 0x2c8]
mov ecx, dword [edi + 0x2cc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ecx
cmp eax, ecx
je 0x58c05f
nop
mov eax, dword [eax]
mov dword [esp + 0x14], eax
call fcn.005ceee5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x739a80]
comiss xmm0, dword [esi + 0x24]
ja 0x58bfa7
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xa0]
push esi
mov dword [esp + 0xcc], eax
call fcn.00464b00
lea ecx, [esp + 0xa0]
call fcn.00571eb0
mov esi, dword [edi + 0x70]
push dword [esp + 0x5c]
lea edi, [esi + 0x29e0]
mov ecx, edi
call fcn.0050bc50
push 0x448
call fcn.005ab82c
add esp, 4
lea ecx, [esp + 0xa0]
push ecx
push esi
mov ecx, eax
call fcn.005720e0
mov esi, eax
lea eax, [esp + 0xa0]
push eax
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x20]
push esi
mov ecx, edi
call fcn.0050bc50
mov dword [esp + 0xcc], esi
lea eax, [esp + 0xc8]
mov esi, dword [esp + 8]
push eax
lea ecx, [esi + 0x2c]
call fcn.004e0af0
cmp dword [esi + 0x20], 0
mov edi, dword [esp + 0x5c]
jne 0x58bf70
movzx eax, byte [esp + 0x14]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esp + 0x15]
xor ecx, eax
movzx eax, byte [esp + 0x16]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esp + 0x17]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [edi + 0x2ec]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0xf0]
push eax
call fcn.004301e0
lea ecx, [edi + 0x2ec]
mov eax, dword [eax + 4]
test eax, eax
jne 0x58bf4b
mov eax, dword [ecx + 4]
cmp eax, dword [edi + 0x2f0]
jne 0x58bf6d
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00475970
mov eax, dword [eax]
mov dword [eax + 0xc], 1
jmp 0x58bf70
inc dword [eax + 0xc]
mov eax, dword [esi + 0x30]
sub eax, dword [esi + 0x2c]
sar eax, 3
cmp eax, dword [esi + 0x28]
je 0x58bfc1
lea ecx, [esp + 0xa0]
call fcn.00465f40
mov eax, dword [esp + 0xac]
xorps xmm0, xmm0
movlpd qword [esp + 0xa0], xmm0
test eax, eax
je 0x58bfa7
push eax
call fcn.004672a0
mov eax, dword [esp + 0x28]
add eax, 4
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x18]
jne 0x58be30
jmp 0x58c05f
movzx eax, byte [esp + 0xa8]
cmp eax, 7
ja case.default.0x58bfce
jmp dword [eax*4 + 0x58c08c]
mov eax, dword [esp + 0xa8]
shr eax, 8
test al, 1
je case.0x58bfce.0
push dword [esp + 0xa0]
call fcn.005c69b0
add esp, 4
jmp case.0x58bfce.0
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x28], ecx
test ecx, ecx
je case.0x58bfce.0
mov eax, dword [ecx]
push dword [eax + 4]
push ecx
call fcn.00467a30
mov eax, dword [esp + 0x28]
push 0x30
push dword [eax]
call fcn.005ab85c
push 8
push dword [esp + 0x34]
call fcn.005ab85c
add esp, 0x10
jmp case.0x58bfce.0
push 0x407
push str.D:devwewindows_srcjson_srcjson_value.cpp
push str.false
call fcn.005d018c
add esp, 0xc
mov eax, dword [esp + 0xac]
xorps xmm0, xmm0
movlpd qword [esp + 0xa0], xmm0
test eax, eax
je 0x58c05f
push eax
call fcn.004672a0
add esi, 0x38
mov dword [esp + 8], esi
cmp esi, dword [esp + 0x30]
jne 0x58bdf0
mov eax, dword [edi + 0x2c8]
cmp eax, dword [edi + 0x2cc]
je 0x58c084
mov dword [edi + 0x2cc], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4