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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x150
mov eax, dword [0x67ad7034]
xor eax, esp
mov dword [esp + 0x14c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], edx
mov edx, ecx
mov ecx, dword [0x67b38b68]
mov dword [esp + 0xdc], eax
push esi
push edi
mov eax, dword [ecx + 0x3e28]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x3c], ecx
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
mov dword [esp + 0x5c], eax
cmp byte [eax + 0xab], 0
je 0x678543a3
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.679343f5
mov esp, ebp
pop ebp
ret
test byte [ecx + 0x4688], 1
mov edi, dword [eax + 0x260]
mov dword [esp + 0x70], edi
je 0x678543c0
movss xmm1, dword [ecx + 0x468c]
jmp 0x678543c8
movss xmm1, dword [eax + 0x19c]
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x6785440a
cmp dword [eax + 0x18c], 0
movss xmm0, dword [eax + 0x224]
jne 0x678543ea
cmp dword [ecx + 0x49d0], 0
je 0x678543f2
movss xmm0, dword [eax + 0x1f4]
subss xmm0, dword [eax + 0xec]
addss xmm0, xmm1
movss xmm1, dword [0x67ac4418]
maxss xmm1, xmm0
mov dword [ecx + 0x4688], 0
mov ecx, edx
cvttss2si esi, xmm1
call fcn.677ec540
call fcn.677ef2a0
mov ecx, dword [ebp + 8]
mov edx, ecx
or edx, 0x10
mov eax, ecx
and eax, 0x100
cmovne edx, ecx
mov dword [esp + 0x9c], edx
test dl, 8
jne 0x67854452
mov ecx, dword [esp + 0x20]
call fcn.67857c10
mov edx, dword [esp + 0x9c]
test edx, 0x6000000
jne 0x67854480
mov edx, dword [esp + 0x3c]
mov ecx, 0xa900000
mov eax, dword [edx + 0x5944]
test eax, 0x6000000
cmovne ecx, eax
and ecx, 0x6000000
or ecx, dword [esp + 0x9c]
jmp 0x67854486
mov ecx, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
test ecx, 0x18000000
jne 0x678544b9
mov eax, dword [edx + 0x5944]
mov edi, 0xa900000
test eax, 0x18000000
cmovne edi, eax
mov eax, edi
mov dword [esp + 0x94], edi
and eax, 0x18000000
or ecx, eax
mov dword [esp + 0x14], ecx
test cl, 8
jne 0x678544cf
mov eax, dword [edx + 0x5944]
and eax, 0x10000
or ecx, eax
mov dword [esp + 0x14], ecx
mov eax, ecx
movss xmm2, dword [edx + 0x37ec]
and eax, 2
movd xmm3, esi
mov dword [esp + 0xc0], eax
and ecx, 0x10002
mov eax, dword [esp + 0x5c]
cvtdq2ps xmm3, xmm3
mov dword [esp + 0x9c], ecx
movss xmm0, dword [eax + 0xf0]
movss xmm5, dword [eax + 0xec]
mov eax, dword [0x67b38b68]
mov dword [esp + 0x4c], eax
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x44], xmm0
movaps xmm0, xmm2
movss xmm4, dword [eax + 0x37d8]
addss xmm4, xmm4
movss dword [esp + 0x40], xmm5
addss xmm4, dword [eax + 0x3bb4]
xor eax, eax
cmp ecx, 0x10000
sete al
inc eax
addss xmm0, xmm4
movss dword [esp + 0x6c], xmm4
movd xmm1, eax
xor eax, eax
cvtdq2ps xmm1, xmm1
cmp dword [esp + 0xc0], eax
sete al
mulss xmm1, xmm0
movaps xmm0, xmm4
lea eax, [eax*4 + 0xc]
push eax
push dword [esp + 0x24]
subss xmm3, xmm1
movaps xmm1, xmm5
lea eax, [esp + 0x14c]
push eax
maxss xmm0, xmm3
addss xmm1, xmm0
movss dword [esp + 0x34], xmm0
movaps xmm0, xmm1
movss dword [esp + 0xe8], xmm1
addss xmm0, xmm2
movss dword [esp + 0xc8], xmm0
addss xmm0, xmm4
movss dword [esp + 0xa0], xmm0
addss xmm0, xmm2
movss dword [esp + 0xf4], xmm0
movaps xmm0, xmm4
mulss xmm0, dword [0x67ac4384]
cvttss2si esi, xmm0
mov dword [esp + 0x104], esi
call sub.VCRUNTIME140.dll_memcpy_1
movss xmm1, dword [esp + 0x34]
add esp, 0xc
movaps xmm4, xmm1
movaps xmm3, xmm1
mulss xmm4, dword [0x67ac43bc]
mulss xmm3, dword [0x67ac435c]
movaps xmm0, xmm4
movss dword [esp + 0x5c], xmm4
addss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x8c], xmm3
movaps xmm2, xmm4
subss xmm2, xmm3
movaps xmm3, xmm1
addss xmm3, dword [esp + 0x6c]
movss dword [esp + 0xb4], xmm0
movss dword [esp + 0x10c], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x67ac4344]
mulss xmm3, dword [0x67ac43bc]
cvttss2si eax, xmm0
addss xmm3, dword [esp + 0x40]
movss dword [esp + 0x58], xmm2
movd xmm0, eax
movss dword [esp + 0xb0], xmm3
movss dword [esp + 0x108], xmm3
mov eax, dword [esp + 0x20]
movaps xmm1, xmm2
cvtdq2ps xmm0, xmm0
lea ecx, [eax + 4]
mov dword [esp + 0x34], 0
mov dword [esp + 0xa4], ecx
movss xmm7, dword [eax + 8]
subss xmm1, xmm0
movss xmm5, dword [0x67ac4564]
movss xmm6, dword [0x67ac4314]
movss dword [esp + 0x54], xmm7
movss dword [esp + 0xf4], xmm5
movaps xmm0, xmm1
movss dword [esp + 0x30], xmm1
mulss xmm0, dword [0x67ac4718]
movaps xmm2, xmm1
mulss xmm2, dword [0x67ac4724]
movss dword [esp + 0xd4], xmm0
movss dword [esp + 0x7c], xmm0
movss dword [esp + 0x128], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x67ac43f4]
movss xmm1, dword [ecx]
lea ecx, [eax + 8]
movss dword [esp + 0xb8], xmm2
movss dword [esp + 0x80], xmm2
movss dword [esp + 0xd8], xmm0
movss dword [esp + 0x12c], xmm0
movss xmm0, dword [eax]
movaps xmm2, xmm0
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x14]
mov edx, ecx
movss dword [esp + 0xcc], xmm2
and edx, 0x8000000
movss dword [esp + 0xe0], xmm2
movaps xmm2, xmm1
movss dword [esp + 0xc8], xmm2
movss dword [esp + 0xd0], xmm2
movaps xmm2, xmm7
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x24], xmm1
movss dword [esp + 0x74], xmm2
movss dword [esp + 0x78], xmm2
mov dword [esp + 0x68], edx
je 0x67854847
comiss xmm7, xmm1
xorps xmm3, xmm3
movaps xmm2, xmm1
movaps xmm4, xmm7
jbe 0x678547a3
movss xmm3, dword [0x67ac4728]
movaps xmm2, xmm7
movaps xmm4, xmm1
comiss xmm2, xmm0
movaps xmm7, xmm0
movss dword [esp + 0x54], xmm7
jbe 0x678547cc
movaps xmm7, xmm2
movaps xmm2, xmm0
movss xmm0, dword [0x67ac4714]
subss xmm0, xmm3
movss dword [esp + 0x54], xmm7
movaps xmm3, xmm0
movaps xmm0, xmm2
movss dword [esp + 0x18], xmm7
minss xmm0, xmm4
movaps xmm1, xmm7
subss xmm2, xmm4
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x28]
subss xmm1, xmm0
push ecx
lea edx, [esp + 0x14]
mov ecx, eax
movaps xmm0, xmm1
mulss xmm0, xmm5
addss xmm0, xmm6
divss xmm2, xmm0
movaps xmm0, xmm7
addss xmm0, xmm6
addss xmm2, xmm3
divss xmm1, xmm0
andps xmm2, xmmword [0x67ac55a0]
movss dword [esp + 0x14], xmm2
movss dword [esp + 0x2c], xmm1
call fcn.67852e80
movss xmm0, dword [esp + 0x14]
add esp, 8
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x24], xmm0
jmp 0x6785489a
test ecx, 0x10000000
je 0x6785489a
lea eax, [esp + 0x78]
push eax
lea edx, [esp + 0xd4]
lea ecx, [esp + 0xe4]
call fcn.677df2d0
movss xmm0, dword [esp + 0xe4]
add esp, 4
movss dword [esp + 0xcc], xmm0
movss xmm0, dword [esp + 0xd0]
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [esp + 0x78]
movss dword [esp + 0x74], xmm0
mov ecx, dword [esp + 0x4c]
mov byte [esp + 0xb], 0
mov byte [esp + 0x1e], 0
mov byte [esp + 0x13], 0
mov eax, dword [ecx + 0x4680]
or eax, 8
mov dword [ecx + 0x4680], eax
add ecx, 0x4768
mov dword [esp + 0xc4], eax
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
cmp edx, eax
jne 0x67854905
inc edx
mov dword [esp + 0xc], edx
test eax, eax
je 0x678548e9
cdq
sub eax, edx
mov edx, dword [esp + 0xc]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x678548ee
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.677ff2a0
mov ecx, dword [esp + 0x4c]
add ecx, 0x4768
mov edx, dword [ecx]
mov eax, dword [ecx + 8]
mov edi, dword [esp + 0xc4]
mov dword [eax + edx*4], edi
inc dword [ecx]
mov eax, dword [esp + 0x14]
mov ecx, eax
and ecx, 0x4000000
mov dword [esp + 0xa8], ecx
je 0x67854f59
movss xmm1, dword [esp + 0x28]
lea edx, [esp + 0x60]
mov eax, dword [esp + 0x3c]
movaps xmm0, xmm1
push 0
mov ecx, 0x67aba49c
movss dword [esp + 0x68], xmm1
addss xmm0, dword [eax + 0x37ec]
addss xmm0, dword [esp + 0x70]
movss dword [esp + 0x64], xmm0
call fcn.67845820
mov eax, dword [0x67b38b68]
add esp, 4
mov ecx, dword [eax + 0x3e74]
test ecx, ecx
je 0x67854dfa
cmp ecx, dword [eax + 0x469c]
jne 0x67854dfa
mov eax, dword [esp + 0x3c]
movss xmm0, dword [eax + 0x36a8]
subss xmm0, dword [esp + 0xb4]
movss xmm1, dword [eax + 0x36a4]
subss xmm1, dword [esp + 0xb0]
movss xmm2, dword [eax + 0xdb8]
movss xmm3, dword [eax + 0xdbc]
subss xmm2, dword [esp + 0xb0]
subss xmm3, dword [esp + 0xb4]
movaps xmm4, xmm0
movss dword [esp + 0xc], xmm0
mulss xmm4, xmm0
movaps xmm0, xmm1
mulss xmm0, xmm1
movss dword [esp + 0xc4], xmm1
movss xmm1, dword [0x67ac4418]
addss xmm4, xmm0
movss dword [esp + 0xfc], xmm2
movss xmm0, dword [esp + 0x58]
subss xmm0, xmm1
movss dword [esp + 0x100], xmm3
mulss xmm0, xmm0
comiss xmm4, xmm0
jb 0x67854a94
movss xmm0, dword [esp + 0x5c]
addss xmm0, xmm1
mulss xmm0, xmm0
comiss xmm0, xmm4
jb 0x67854a94
cvtps2pd xmm0, xmm3
movsd qword [esp + 0x60], xmm0
fld qword [esp + 0x60]
cvtps2pd xmm0, xmm2
movsd qword [esp + 0x60], xmm0
fld qword [esp + 0x60]
call sub.ucrtbase.dll__CIatan2
movss xmm2, dword [0x67ac4510]
xorps xmm0, xmm0
fstp qword [esp + 0x60]
movsd xmm1, qword [esp + 0x60]
cvtpd2ps xmm1, xmm1
divss xmm1, xmm2
mulss xmm1, dword [0x67ac43bc]
comiss xmm0, xmm1
movss dword [esp + 0x18], xmm1
jbe 0x67854a8c
addss xmm1, dword [0x67ac4418]
movss dword [esp + 0x18], xmm1
mov al, 1
mov byte [esp + 0xb], al
jmp 0x67854aa6
mov al, byte [esp + 0xb]
movss xmm2, dword [0x67ac4510]
movss xmm1, dword [esp + 0x18]
movaps xmm0, xmm1
mov byte [esp + 0x1e], al
xorps xmm0, xmmword [0x67ac55d0]
addss xmm0, xmm0
mulss xmm0, xmm2
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x60], xmm0
call sub.ucrtbase.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x4c], xmm0
movsd xmm0, qword [esp + 0x60]
call sub.ucrtbase.dll__libm_sse2_sin_precise
movss xmm3, dword [esp + 0xc4]
xorps xmm5, xmm5
movss xmm1, dword [esp + 0xc]
movaps xmm4, xmm3
mulss xmm4, dword [esp + 0x4c]
movss xmm7, dword [esp + 0xb8]
movss xmm6, dword [esp + 0xd4]
cvtsd2ss xmm5, xmm0
movaps xmm0, xmm1
movaps xmm2, xmm6
mulss xmm1, dword [esp + 0x4c]
subss xmm2, xmm6
mulss xmm0, xmm5
mulss xmm3, xmm5
subss xmm4, xmm0
movss dword [esp + 0x118], xmm2
movaps xmm0, xmm7
movss dword [esp + 0xec], xmm5
subss xmm0, dword [esp + 0xd8]
addss xmm3, xmm1
movss xmm5, dword [esp + 0x30]
subss xmm5, xmm6
movaps xmm1, xmm4
subss xmm1, xmm6
movss dword [esp + 0xc4], xmm0
movss dword [esp + 0x98], xmm5
mulss xmm1, xmm0
movaps xmm0, xmm3
subss xmm0, dword [esp + 0xd8]
mulss xmm0, xmm2
xorps xmm2, xmm2
subss xmm1, xmm0
xorps xmm0, xmm0
subss xmm0, xmm7
comiss xmm2, xmm1
movaps xmm1, xmm4
movss dword [esp + 0x90], xmm0
subss xmm1, xmm6
seta cl
mulss xmm1, xmm0
movaps xmm0, xmm3
subss xmm0, xmm7
mulss xmm0, xmm5
subss xmm1, xmm0
comiss xmm2, xmm1
seta al
cmp al, cl
jne 0x67854df2
movss xmm7, dword [esp + 0xd8]
subss xmm3, xmm2
subss xmm4, dword [esp + 0x30]
movaps xmm0, xmm6
subss xmm7, xmm2
subss xmm0, dword [esp + 0x30]
mulss xmm4, xmm7
mulss xmm3, xmm0
movss dword [esp + 0x60], xmm7
movss dword [esp + 0xc], xmm0
subss xmm4, xmm3
comiss xmm2, xmm4
seta al
cmp cl, al
jne 0x67854df2
movss xmm5, dword [esp + 0xfc]
movss xmm1, dword [esp + 0x100]
movaps xmm6, xmm5
movss xmm4, dword [esp + 0xec]
movaps xmm0, xmm1
mulss xmm1, dword [esp + 0x4c]
mulss xmm6, dword [esp + 0x4c]
movss xmm3, dword [esp + 0xd4]
mulss xmm0, xmm4
mulss xmm5, xmm4
subss xmm6, xmm0
addss xmm5, xmm1
movaps xmm1, xmm6
movss dword [esp + 0xec], xmm6
subss xmm1, xmm3
movaps xmm0, xmm5
movss dword [esp + 0xf0], xmm5
subss xmm0, dword [esp + 0xd8]
mulss xmm1, dword [esp + 0xc4]
mulss xmm0, dword [esp + 0x118]
subss xmm1, xmm0
movaps xmm0, xmm5
subss xmm0, dword [esp + 0xb8]
comiss xmm2, xmm1
mulss xmm0, dword [esp + 0x98]
movaps xmm1, xmm6
subss xmm1, xmm3
seta cl
mulss xmm1, dword [esp + 0x90]
subss xmm1, xmm0
comiss xmm2, xmm1
seta al
cmp al, cl
jne 0x67854cf3
movaps xmm1, xmm6
movaps xmm0, xmm5
subss xmm1, dword [esp + 0x30]
subss xmm0, xmm2
mulss xmm1, xmm7
mulss xmm0, dword [esp + 0xc]
subss xmm1, xmm0
comiss xmm2, xmm1
seta al
cmp cl, al
je 0x67854d39
lea eax, [esp + 0xec]
push eax
lea eax, [esp + 0x12c]
push eax
lea eax, [esp + 0x84]
push eax
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x10c]
call fcn.677de610
movss xmm7, dword [esp + 0x6c]
add esp, 0xc
movss xmm3, dword [esp + 0xd4]
xorps xmm2, xmm2
movss xmm6, dword [eax]
movss xmm5, dword [eax + 4]
subss xmm6, dword [esp + 0x30]
movaps xmm4, xmm3
subss xmm5, xmm2
movss xmm3, dword [esp + 0xb8]
subss xmm4, dword [esp + 0x30]
subss xmm3, xmm2
movaps xmm1, xmm6
mulss xmm1, xmm7
movaps xmm2, xmm4
movaps xmm0, xmm3
mulss xmm2, xmm7
mulss xmm0, dword [esp + 0xc]
mulss xmm6, xmm3
subss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esp + 0xc]
mulss xmm5, xmm4
subss xmm1, xmm0
movss xmm0, dword [0x67ac4418]
movaps xmm7, xmm0
subss xmm5, xmm6
divss xmm1, xmm2
divss xmm5, xmm2
movss xmm2, dword [0x67ac4328]
subss xmm7, xmm1
movss dword [esp + 0x24], xmm2
comiss xmm2, xmm7
movaps xmm3, xmm7
subss xmm3, xmm5
jbe 0x67854dc3
movaps xmm1, xmm2
jmp 0x67854dca
movaps xmm1, xmm0
minss xmm1, xmm7
divss xmm3, xmm1
movss dword [esp + 0x54], xmm1
comiss xmm2, xmm3
ja 0x67854de6
movaps xmm2, xmm0
minss xmm2, xmm3
movss dword [esp + 0x24], xmm2
mov byte [esp + 0x13], 1
mov byte [esp + 0xb], 1
jmp 0x67854dfa
mov al, byte [esp + 0xb]
mov byte [esp + 0x1e], al
mov edx, dword [esp + 0x14]
test dl, 8
jne 0x67854e79
mov eax, dword [0x67b38b68]
mov ecx, 1
mov edi, dword [eax + 0x3e28]
call fcn.677ecd80
test al, al
je 0x67854e79
mov ecx, 0x20
call fcn.677e2fd0
test al, al
je 0x67854e79
mov ecx, dword [edi + 0xe0]
xor edx, edx
mov eax, dword [edi + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x67ab88a4
call fcn.677dea60
mov edi, eax
add esp, 4
mov eax, dword [0x67b38b68]
cmp dword [eax + 0x3e5c], edi
jne 0x67854e6d
push ecx
push 0x67ab88a4
mov edx, 0xb
mov ecx, edi
call fcn.677fe2f0
add esp, 8
mov edx, 1
mov ecx, edi
call fcn.677efeb0
movss xmm2, dword [esp + 0x2c]
movss xmm4, dword [esp + 0x28]
cmp dword [esp + 0x9c], 0x10000
mov edi, dword [esp + 0x70]
jne 0x6785525c
mov ecx, dword [0x67b38b68]
lea edx, [esp + 0x7c]
movss xmm0, dword [esp + 0xe8]
push 0
movss dword [esp + 0x84], xmm4
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
mov ecx, 0x67aba4a8
movss dword [eax + 0xec], xmm0
movss xmm0, dword [esp + 0x70]
movss dword [eax + 0xf0], xmm2
mov byte [eax + 0x12d], 1
movss dword [esp + 0x80], xmm0
call fcn.67845820
mov eax, dword [0x67b38b68]
add esp, 4
mov ecx, dword [eax + 0x3e74]
test ecx, ecx
je 0x6785525c
cmp ecx, dword [eax + 0x469c]
jne 0x6785525c
mov eax, dword [esp + 0x3c]
xorps xmm2, xmm2
movss xmm0, dword [esp + 0x28]
movss xmm1, dword [0x67ac4418]
subss xmm0, xmm1
movss xmm3, dword [eax + 0xdbc]
subss xmm3, dword [esp + 0x2c]
divss xmm3, xmm0
comiss xmm2, xmm3
jbe 0x67855240
xorps xmm4, xmm4
jmp 0x67855247
test eax, 0x2000000
je 0x67854e79
movss xmm0, dword [esp + 0x28]
lea edx, [esp + 0x7c]
push 0
mov ecx, 0x67aba4a0
movss dword [esp + 0x80], xmm0
movss dword [esp + 0x84], xmm0
call fcn.67845820
mov ecx, dword [0x67b38b68]
add esp, 4
mov eax, dword [ecx + 0x3e74]
test eax, eax
je 0x678550c8
cmp eax, dword [ecx + 0x469c]
jne 0x678550c8
mov ecx, dword [esp + 0x3c]
xorps xmm0, xmm0
movss xmm4, dword [esp + 0x28]
movss xmm1, dword [0x67ac4418]
subss xmm4, xmm1
movss xmm3, dword [ecx + 0xdb8]
subss xmm3, dword [esp + 0x40]
divss xmm3, xmm4
comiss xmm0, xmm3
jbe 0x67854fe7
movss dword [esp + 0x24], xmm0
jmp 0x67854ff4
movaps xmm2, xmm1
minss xmm2, xmm3
movss dword [esp + 0x24], xmm2
movss xmm2, dword [ecx + 0xdbc]
subss xmm2, dword [esp + 0x2c]
divss xmm2, xmm4
comiss xmm0, xmm2
jbe 0x67855010
xorps xmm3, xmm3
jmp 0x67855017
movaps xmm3, xmm1
minss xmm3, xmm2
mov eax, dword [esp + 0x20]
movaps xmm2, xmm1
subss xmm2, xmm3
movss xmm5, dword [eax + 4]
movss xmm6, dword [eax + 8]
movss dword [esp + 0x54], xmm2
movss xmm2, dword [eax]
comiss xmm0, xmm2
jbe 0x67855040
xorps xmm3, xmm3
jmp 0x67855047
movaps xmm3, xmm1
minss xmm3, xmm2
comiss xmm0, xmm5
movss xmm4, dword [0x67ac467c]
movss xmm2, dword [0x67ac43bc]
mulss xmm3, xmm4
addss xmm3, xmm2
cvttss2si edx, xmm3
jbe 0x6785506d
xorps xmm3, xmm3
jmp 0x67855074
movaps xmm3, xmm1
minss xmm3, xmm5
mulss xmm3, xmm4
addss xmm3, xmm2
cvttss2si eax, xmm3
shl eax, 8
or edx, eax
comiss xmm0, xmm6
jbe 0x6785508f
xorps xmm1, xmm1
jmp 0x67855093
minss xmm1, xmm6
mulss xmm1, xmm4
addss xmm1, xmm2
cvttss2si eax, xmm1
shl eax, 0x10
or eax, edx
cmp dword [ecx + 0x5950], eax
jne 0x678550ba
movss xmm0, dword [ecx + 0x5948]
movss dword [esp + 0x18], xmm0
mov ecx, dword [0x67b38b68]
mov al, 1
mov byte [esp + 0xb], al
jmp 0x678550cc
mov al, byte [esp + 0xb]
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], al
mov byte [esp + 0x1f], al
test dl, 8
jne 0x6785514e
mov edi, dword [ecx + 0x3e28]
mov ecx, 1
call fcn.677ecd80
test al, al
je 0x6785514e
mov ecx, 0x20
call fcn.677e2fd0
test al, al
je 0x6785514e
mov ecx, dword [edi + 0xe0]
xor edx, edx
mov eax, dword [edi + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x67ab88a4
call fcn.677dea60
mov edi, eax
add esp, 4
mov eax, dword [0x67b38b68]
cmp dword [eax + 0x3e5c], edi
jne 0x67855142
push ecx
push 0x67ab88a4
mov edx, 0xb
mov ecx, edi
call fcn.677fe2f0
add esp, 8
mov edx, 1
mov ecx, edi
call fcn.677efeb0
mov ecx, dword [0x67b38b68]
lea edx, [esp + 0x7c]
movss xmm0, dword [esp + 0xbc]
push 0
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
mov ecx, 0x67aba4a4
movss dword [eax + 0xec], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [eax + 0xf0], xmm0
movss xmm0, dword [esp + 0x70]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x2c]
mov byte [eax + 0x12d], 1
movss dword [esp + 0x84], xmm0
call fcn.67845820
mov eax, dword [0x67b38b68]
add esp, 4
mov ecx, dword [eax + 0x3e74]
test ecx, ecx
je 0x67854e79
mov dl, byte [esp + 0xb]
mov byte [esp + 0x13], dl
cmp ecx, dword [eax + 0x469c]
jne 0x67854e79
mov eax, dword [esp + 0x3c]
movss xmm4, dword [esp + 0x28]
movss xmm2, dword [esp + 0x2c]
movaps xmm0, xmm4
movss xmm1, dword [0x67ac4418]
movss xmm3, dword [eax + 0xdbc]
subss xmm0, xmm1
subss xmm3, xmm2
divss xmm3, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm3
ja 0x67855223
movaps xmm0, xmm1
minss xmm0, xmm3
mov al, byte [esp + 0x1f]
movss dword [esp + 0x18], xmm0
mov byte [esp + 0x1e], 1
mov byte [esp + 0xb], 1
mov byte [esp + 0x13], al
jmp 0x67854e85
movaps xmm4, xmm1
minss xmm4, xmm3
mov eax, dword [esp + 0x20]
movaps xmm0, xmm1
subss xmm0, xmm4
mov byte [esp + 0xb], 1
movss dword [eax + 0xc], xmm0
mov edx, dword [0x67b38b68]
dec dword [edx + 0x4768]
mov eax, dword [edx + 0x4770]
mov ecx, dword [edx + 0x4768]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x4680], eax
mov eax, dword [esp + 0x14]
mov edx, eax
and edx, 0x100
mov dword [esp + 0xc], edx
jne 0x678552b1
mov eax, dword [esp + 0x3c]
xorps xmm0, xmm0
movss xmm1, dword [eax + 0x37ec]
call fcn.677eecb0
call fcn.677ef2a0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
and eax, 0x80
mov dword [esp + 0x118], eax
jne 0x67855322
mov eax, dword [esp + 0xa0]
cmp eax, 0xffffffff
jae 0x67855322
nop dword [eax + eax]
mov cl, byte [eax]
test cl, cl
je 0x678552e6
cmp cl, 0x23
jne 0x678552e0
cmp byte [eax + 1], cl
je 0x678552e6
inc eax
cmp eax, 0xffffffff
jb 0x678552d0
mov dword [esp + 0x4c], eax
cmp dword [esp + 0xa0], eax
je 0x67855322
test edx, edx
je 0x6785530f
mov eax, dword [esp + 0x3c]
xorps xmm0, xmm0
movss xmm1, dword [eax + 0x37ec]
call fcn.677eecb0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa0]
mov edx, eax
push 0
call fcn.67843d10
add esp, 4
cmp dword [esp + 0xc], 0
jne 0x67855576
mov eax, dword [0x67b38b68]
mov ecx, dword [eax + 0x4680]
or ecx, 0x10
mov dword [eax + 0x4680], ecx
mov edx, dword [eax + 0x4768]
mov dword [esp + 0x90], ecx
lea ecx, [eax + 0x4768]
mov eax, dword [ecx + 4]
mov dword [esp + 0x98], ecx
cmp edx, eax
jne 0x67855392
inc edx
mov dword [esp + 0x60], edx
test eax, eax
je 0x67855379
cdq
sub eax, edx
mov edx, dword [esp + 0x60]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x6785537e
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.677ff2a0
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx]
mov eax, dword [ecx + 8]
mov esi, dword [esp + 0x90]
mov dword [eax + edx*4], esi
inc dword [ecx]
cmp dword [esp + 0xc0], 0
mov eax, dword [esp + 0x20]
je 0x678553b9
movss xmm1, dword [0x67ac4418]
jmp 0x678553be
movss xmm1, dword [eax + 0xc]
cmp dword [esp + 0x118], 0
movss xmm0, dword [eax]
mov esi, dword [esp + 0xf8]
movss dword [esp + 0x128], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x12c], xmm0
movss xmm0, dword [eax + 8]
movss dword [esp + 0x130], xmm0
movss dword [esp + 0x134], xmm1
je 0x6785540e
push 0x67aaec90
call fcn.678443f0
add esp, 4
movss xmm1, dword [esp + 0x6c]
lea ecx, [esp + 0x7c]
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x128]
movaps xmm0, xmm1
and eax, 0x180e0040
mulss xmm0, dword [0x67ac450c]
push ecx
push eax
mov ecx, 0x67aaec98
mov dword [esp + 0x98], eax
movss dword [esp + 0x68], xmm0
movss dword [esp + 0x84], xmm0
movaps xmm0, xmm1
addss xmm0, xmm1
movss dword [esp + 0xa0], xmm0
movss dword [esp + 0x88], xmm0
call fcn.67856bc0
add esp, 8
cmp dword [esp + 0xe4], 0
je 0x6785554f
push 0x67aba4b0
call fcn.678443f0
mov eax, dword [esp + 0xe8]
add esp, 4
cmp dword [esp + 0xc0], 0
je 0x678554a7
movss xmm1, dword [0x67ac4418]
jmp 0x678554ac
movss xmm1, dword [eax + 0xc]
movss xmm0, dword [eax]
lea edx, [esp + 0x118]
movss dword [esp + 0x118], xmm0
mov ecx, 0x67aba4bc
movss xmm0, dword [eax + 4]
movss dword [esp + 0x11c], xmm0
movss xmm0, dword [eax + 8]
lea eax, [esp + 0x7c]
movss dword [esp + 0x120], xmm0
movss xmm0, dword [esp + 0x60]
push eax
push dword [esp + 0x94]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0xa0]
movss dword [esp + 0x12c], xmm1
movss dword [esp + 0x88], xmm0
call fcn.67856bc0
add esp, 8
test al, al
je 0x6785554f
xor eax, eax
cmp dword [esp + 0xc0], eax
sete al
lea eax, [eax*4 + 0xc]
push eax
push dword [esp + 0xe8]
push dword [esp + 0x28]
call sub.VCRUNTIME140.dll_memcpy_1
add esp, 0xc
mov byte [esp + 0xb], 1
mov edx, dword [0x67b38b68]
dec dword [edx + 0x4768]
mov eax, dword [edx + 0x4770]
mov ecx, dword [edx + 0x4768]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x4680], eax
call fcn.677ef3d0
cmp byte [esp + 0x1e], 0
jne 0x67855588
cmp byte [esp + 0x13], 0
je 0x67855676
cmp dword [esp + 0x68], 0
je 0x678556a0
push dword [esp + 0x50]
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x24]
movss xmm2, dword [esp + 0x58]
movss xmm1, dword [esp + 0x28]
movss xmm0, dword [esp + 0x1c]
call fcn.677df2d0
mov ecx, dword [esp + 0x40]
add esp, 4
movss xmm0, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
movss xmm1, dword [0x67ac4418]
movss dword [ecx + 0x5948], xmm0
movss xmm0, dword [esp + 0x24]
movss dword [ecx + 0x594c], xmm0
xorps xmm0, xmm0
movss xmm2, dword [eax]
comiss xmm0, xmm2
mov eax, dword [esp + 0xa4]
movss xmm5, dword [eax]
mov eax, dword [esp + 0x50]
movss xmm6, dword [eax]
jbe 0x6785560c
xorps xmm3, xmm3
jmp 0x67855613
movaps xmm3, xmm1
minss xmm3, xmm2
comiss xmm0, xmm5
movss xmm4, dword [0x67ac467c]
movss xmm2, dword [0x67ac43bc]
mulss xmm3, xmm4
addss xmm3, xmm2
cvttss2si edx, xmm3
jbe 0x67855639
xorps xmm3, xmm3
jmp 0x67855640
movaps xmm3, xmm1
minss xmm3, xmm5
mulss xmm3, xmm4
addss xmm3, xmm2
cvttss2si eax, xmm3
shl eax, 8
or edx, eax
comiss xmm0, xmm6
jbe 0x6785565b
xorps xmm1, xmm1
jmp 0x6785565f
minss xmm1, xmm6
mulss xmm1, xmm4
addss xmm1, xmm2
cvttss2si eax, xmm1
shl eax, 0x10
or eax, edx
mov dword [ecx + 0x5950], eax
mov edx, dword [esp + 0x14]
mov byte [esp + 0x1f], 0
test dl, 0x20
jne 0x67855a48
cmp dword [esp + 0x9c], 0x10000
jne 0x678556db
movss xmm0, dword [esp + 0xe8]
jmp 0x678556e4
mov edx, dword [esp + 0x14]
test edx, 0x10000000
je 0x6785567a
mov eax, dword [esp + 0x20]
movss xmm0, dword [esp + 0x18]
movss dword [eax], xmm0
mov eax, dword [esp + 0xa4]
movss xmm0, dword [esp + 0x24]
movss dword [eax], xmm0
mov eax, dword [esp + 0x50]
movss xmm0, dword [esp + 0x54]
movss dword [eax], xmm0
jmp 0x6785567a
movss xmm0, dword [esp + 0xbc]
addss xmm0, dword [esp + 0x6c]
subss xmm0, dword [esp + 0x40]
call fcn.677eeea0
mov eax, dword [esp + 0x14]
mov edx, eax
and edx, 0x198e001a
mov dword [esp + 0x50], edx
test eax, 0x100000
jne 0x67855720
mov ecx, eax
and ecx, 0x700000
mov dword [esp + 0xc], ecx
jne 0x67855780
mov dword [esp + 0xc], ecx
jmp 0x67855729
and eax, 0x700000
mov dword [esp + 0xc], eax
or edx, 0x100004
mov ecx, 0x67aba4c8
push edx
mov edx, dword [esp + 0x24]
call fcn.67852f70
add esp, 4
test al, al
je 0x67855774
mov eax, dword [esp + 0x3c]
cmp dword [eax + 0x3e74], 0
je 0x67855760
cmp byte [eax + 0x3e81], 0
mov byte [esp + 0x1f], 1
je 0x67855765
mov byte [esp + 0x1f], 0
mov ecx, dword [esp + 0xc]
mov byte [esp + 0xb], 1
mov dword [esp + 0xc], ecx
jmp 0x67855778
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x14]
test eax, 0x200000
jne 0x6785578b
test ecx, ecx
jne 0x678557af
or edx, 0x200004
mov ecx, 0x67aba4d0
push edx
mov edx, dword [esp + 0x24]
call fcn.67852f70
mov ecx, dword [esp + 0x10]
add esp, 4
or byte [esp + 0xb], al
mov eax, dword [esp + 0x14]
test eax, 0x400000
jne 0x678557ba
test ecx, ecx
jne 0x678557d9
mov eax, dword [esp + 0x50]
mov ecx, 0x67aba4d8
mov edx, dword [esp + 0x20]
or eax, 0x400004
push eax
call fcn.67852f70
add esp, 4
or byte [esp + 0xb], al
cmp byte [esp + 0x1f], 0
mov ecx, dword [0x67b38b68]
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x3e28]
mov ecx, dword [edx + 0x1a4]
mov eax, dword [edx + 0x1ac]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x19c], eax
lea eax, [ecx - 1]
mov ecx, dword [esp + 0x20]
mov dword [edx + 0x1a4], eax
mov eax, dword [esp + 0x68]
je 0x67855a6a
test eax, eax
je 0x67855a59
movss xmm3, dword [ecx + 4]
lea eax, [ecx + 4]
movss xmm5, dword [ecx + 8]
lea edx, [ecx + 8]
comiss xmm5, xmm3
movss xmm4, dword [ecx]
xorps xmm2, xmm2
xorps xmm6, xmm6
jbe 0x6785585c
movss xmm6, dword [0x67ac4728]
movaps xmm0, xmm3
movaps xmm3, xmm5
movaps xmm5, xmm0
comiss xmm3, xmm4
jbe 0x67855879
movaps xmm0, xmm4
movaps xmm4, xmm3
movaps xmm3, xmm0
movss xmm0, dword [0x67ac4714]
subss xmm0, xmm6
movaps xmm6, xmm0
movaps xmm0, xmm3
movaps xmm1, xmm4
minss xmm0, xmm5
subss xmm3, xmm5
subss xmm1, xmm0
movaps xmm0, xmm4
addss xmm0, dword [0x67ac4314]
movaps xmm7, xmm1
mulss xmm1, dword [0x67ac4564]
divss xmm7, xmm0
addss xmm1, dword [0x67ac4314]
divss xmm3, xmm1
addss xmm3, xmm6
movss xmm6, dword [0x67ac55a0]
andps xmm3, xmm6
comiss xmm2, xmm3
jb 0x67855a7b
movss xmm0, dword [esp + 0x18]
comiss xmm0, xmm2
jbe 0x67855919
comiss xmm2, xmm4
jb 0x67855a26
movss xmm1, dword [esp + 0x54]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x67855a23
movaps xmm2, xmm1
movss xmm1, dword [esp + 0x24]
mulss xmm2, dword [0x67ac43bc]
push edx
lea edx, [ecx + 4]
call fcn.677df2d0
movss xmm6, dword [0x67ac55a0]
add esp, 4
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
cmp byte [esp + 0xb], 0
je 0x67855b01
test eax, eax
je 0x67855a88
movss xmm0, dword [ecx + 4]
xorps xmm4, xmm4
movss xmm1, dword [ecx + 8]
movaps xmm3, xmm0
comiss xmm1, xmm0
movss xmm7, dword [ecx]
movaps xmm5, xmm1
movss dword [esp + 0xcc], xmm7
movss dword [esp + 0xc8], xmm0
movss dword [esp + 0x74], xmm1
jbe 0x67855976
movss xmm4, dword [0x67ac4728]
movaps xmm3, xmm1
movaps xmm5, xmm0
comiss xmm3, xmm7
movaps xmm2, xmm7
movss dword [esp + 0x54], xmm2
jbe 0x6785599f
movss xmm0, dword [0x67ac4714]
movaps xmm2, xmm3
subss xmm0, xmm4
movss dword [esp + 0x54], xmm2
movaps xmm3, xmm7
movaps xmm4, xmm0
movaps xmm0, xmm3
movss dword [esp + 0x18], xmm2
minss xmm0, xmm5
movaps xmm1, xmm2
subss xmm3, xmm5
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x28]
subss xmm1, xmm0
push eax
lea edx, [esp + 0x14]
movaps xmm0, xmm1
mulss xmm0, dword [0x67ac4564]
addss xmm0, dword [0x67ac4314]
divss xmm3, xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x67ac4314]
addss xmm3, xmm4
divss xmm1, xmm0
andps xmm3, xmm6
movss dword [esp + 0x14], xmm3
movss dword [esp + 0x2c], xmm1
call fcn.67852e80
movss xmm3, dword [esp + 0x14]
add esp, 8
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x18], xmm3
movss dword [esp + 0x24], xmm0
jmp 0x67855b07
lea eax, [ecx + 4]
comiss xmm2, xmm7
jb 0x67855919
movss xmm1, dword [esp + 0x24]
movaps xmm2, xmm4
mulss xmm1, dword [0x67ac43bc]
push edx
mov edx, eax
jmp 0x67855905
movss xmm6, dword [0x67ac55a0]
mov ecx, dword [esp + 0x20]
jmp 0x6785591d
movss xmm6, dword [0x67ac55a0]
mov edx, dword [esp + 0x14]
jmp 0x67855921
movss xmm6, dword [0x67ac55a0]
mov edx, dword [esp + 0x14]
jmp 0x67855921
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x14]
jmp 0x67855921
test edx, 0x10000000
je 0x67855b01
movss xmm1, dword [ecx + 8]
lea eax, [esp + 0x78]
movss xmm3, dword [ecx + 4]
lea edx, [esp + 0xd0]
movss xmm0, dword [ecx]
movaps xmm2, xmm1
movss dword [esp + 0x54], xmm1
lea ecx, [esp + 0xe0]
push eax
movaps xmm1, xmm3
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0x28], xmm3
call fcn.677df2d0
movss xmm0, dword [esp + 0xe4]
add esp, 4
movss dword [esp + 0xcc], xmm0
movss xmm0, dword [esp + 0xd0]
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [esp + 0x78]
movss dword [esp + 0x74], xmm0
movss xmm3, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
xorps xmm0, xmm0
movss xmm2, dword [eax + 0x3798]
comiss xmm0, xmm2
movss xmm0, dword [0x67ac4418]
jbe 0x67855b28
xorps xmm1, xmm1
jmp 0x67855b2f
movaps xmm1, xmm0
minss xmm1, xmm2
mulss xmm1, dword [0x67ac467c]
mov dword [esp + 0x7c], 0x3f800000
movss dword [esp + 0x88], xmm2
movaps xmm2, xmm0
mov dword [esp + 0x80], 0x3f800000
addss xmm1, dword [0x67ac43bc]
mov dword [esp + 0x84], 0x3f800000
cvttss2si edx, xmm1
movaps xmm1, xmm0
movaps xmm0, xmm3
shl edx, 0x18
mov eax, edx
mov dword [esp + 0xa0], edx
or eax, 0xffffff
mov ecx, edx
mov dword [esp + 0xc], eax
or ecx, 0xff
mov eax, edx
mov dword [esp + 0x128], ecx
or eax, 0x808080
mov dword [esp + 0x140], ecx
mov dword [esp + 0x78], eax
lea ecx, [esp + 0x7c]
mov eax, edx
or eax, 0xffff
mov dword [esp + 0x12c], eax
mov eax, edx
or eax, 0xff00
mov dword [esp + 0x130], eax
mov eax, edx
or eax, 0xffff00
mov dword [esp + 0x134], eax
mov eax, edx
or eax, 0xff0000
mov dword [esp + 0x138], eax
mov eax, edx
or eax, 0xff00ff
lea edx, [esp + 0x80]
mov dword [esp + 0x13c], eax
lea eax, [esp + 0x84]
push eax
call fcn.677df2d0
movss xmm3, dword [esp + 0x80]
xorps xmm1, xmm1
movss xmm2, dword [0x67ac4418]
add esp, 4
comiss xmm1, xmm3
jbe 0x67855c28
xorps xmm0, xmm0
jmp 0x67855c2f
movaps xmm0, xmm2
minss xmm0, xmm3
movss xmm5, dword [0x67ac467c]
movss xmm3, dword [0x67ac43bc]
movss xmm4, dword [esp + 0x80]
comiss xmm1, xmm4
mulss xmm0, xmm5
addss xmm0, xmm3
cvttss2si ecx, xmm0
jbe 0x67855c5e
xorps xmm0, xmm0
jmp 0x67855c65
movaps xmm0, xmm2
minss xmm0, xmm4
movss xmm4, dword [esp + 0x84]
mulss xmm0, xmm5
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm1, xmm4
jbe 0x67855c89
xorps xmm0, xmm0
jmp 0x67855c90
movaps xmm0, xmm2
minss xmm0, xmm4
movss xmm4, dword [esp + 0x88]
mulss xmm0, xmm5
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm1, xmm4
jbe 0x67855cb4
xorps xmm0, xmm0
jmp 0x67855cbb
movaps xmm0, xmm2
minss xmm0, xmm4
movss xmm4, dword [esp + 0xcc]
mulss xmm0, xmm5
addss xmm0, xmm3
cvttss2si edx, xmm0
shl edx, 0x18
or edx, ecx
comiss xmm1, xmm4
mov dword [esp + 0xa4], edx
jbe 0x67855ce6
xorps xmm0, xmm0
jmp 0x67855ced
movaps xmm0, xmm2
minss xmm0, xmm4
movss xmm4, dword [esp + 0xc8]
comiss xmm1, xmm4
mulss xmm0, xmm5
addss xmm0, xmm3
cvttss2si ecx, xmm0
jbe 0x67855d0c
xorps xmm0, xmm0
jmp 0x67855d13
movaps xmm0, xmm2
minss xmm0, xmm4
movss xmm4, dword [esp + 0x74]
mulss xmm0, xmm5
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm1, xmm4
jbe 0x67855d34
xorps xmm0, xmm0
jmp 0x67855d3b
movaps xmm0, xmm2
minss xmm0, xmm4
mulss xmm0, xmm5
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
mov eax, dword [esp + 0x3c]
movss xmm4, dword [eax + 0x3798]
comiss xmm1, xmm4
jbe 0x67855d62
xorps xmm0, xmm0
jmp 0x67855d69
movaps xmm0, xmm2
minss xmm0, xmm4
mulss xmm0, xmm5
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
cmp dword [esp + 0xa8], 0
mov dword [esp + 0x74], eax
je 0x67856475
movss xmm1, dword [esp + 0x5c]
movaps xmm4, xmm3
movss xmm0, dword [esp + 0x58]
mov eax, 0x2aaaaaab
divss xmm4, xmm1
mov esi, edi
cvttss2si ecx, xmm1
addss xmm0, xmm1
movss dword [esp + 0xa8], xmm4
imul ecx
movss dword [esp + 0x90], xmm0
movaps xmm5, xmm0
mov eax, 4
mulss xmm5, xmm3
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
movss dword [esp + 0x60], xmm5
cmp ecx, eax
cmovle ecx, eax
xor eax, eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x50], eax
nop word [eax + eax]
movd xmm1, eax
lea eax, [esp + 0x108]
cvtdq2ps xmm1, xmm1
mov edi, dword [esi + 0x18]
push ecx
push ecx
mov ecx, esi
movaps xmm0, xmm1
addss xmm1, xmm2
divss xmm0, dword [0x67ac4564]
divss xmm1, dword [0x67ac4564]
addss xmm0, xmm0
movaps xmm2, xmm5
addss xmm1, xmm1
mulss xmm0, dword [0x67ac4510]
mulss xmm1, dword [0x67ac4510]
subss xmm0, xmm4
addss xmm1, xmm4
movaps xmm3, xmm0
movss dword [esp + 0x64], xmm0
movss dword [esp], xmm1
push eax
movss dword [esp + 0x58], xmm1
call fcn.6782f800
movss xmm0, dword [esp + 0x8c]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 0
push dword [esp + 0x14]
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.6782e350
movss xmm0, dword [esp + 0x5c]
cvtps2pd xmm0, xmm0
mov dword [esi + 0x54], 0
call sub.ucrtbase.dll__libm_sse2_cos_precise
movss xmm1, dword [esp + 0x5c]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 0x58]
addss xmm0, dword [esp + 0xb0]
movss dword [esp + 0xec], xmm0
cvtps2pd xmm0, xmm1
call sub.ucrtbase.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 0x58]
addss xmm0, dword [esp + 0xb4]
movss dword [esp + 0xf0], xmm0
movss xmm0, dword [esp + 0x4c]
cvtps2pd xmm0, xmm0
call sub.ucrtbase.dll__libm_sse2_cos_precise
movss xmm1, dword [esp + 0x4c]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 0x58]
addss xmm0, dword [esp + 0xb0]
movss dword [esp + 0x40], xmm0
cvtps2pd xmm0, xmm1
call sub.ucrtbase.dll__libm_sse2_sin_precise
mov eax, dword [esp + 0x50]
mov edx, edi
cvtsd2ss xmm0, xmm0
mov ecx, esi
mulss xmm0, dword [esp + 0x58]
addss xmm0, dword [esp + 0xb4]
movss dword [esp + 0x44], xmm0
push dword [esp + 0x44]
push dword [esp + 0x44]
push dword [esp + 0xf8]
push dword [esp + 0xf8]
push dword [esp + eax*4 + 0x13c]
push dword [esp + eax*4 + 0x13c]
push dword [esi + 0x18]
call fcn.67831b30
mov eax, dword [esp + 0x6c]
add esp, 0x1c
movss xmm2, dword [0x67ac4418]
inc eax
movss xmm4, dword [esp + 0xa8]
cmp eax, 6
movss xmm5, dword [esp + 0x60]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x98]
jl 0x67855e10
movss xmm0, dword [esp + 0x18]
mulss xmm0, dword [0x67ac44c0]
mulss xmm0, dword [0x67ac4510]
movss dword [esp + 0x18], xmm0
cvtps2pd xmm0, xmm0
call sub.ucrtbase.dll__libm_sse2_cos_precise
movss xmm3, dword [esp + 0x18]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x58], xmm0
cvtps2pd xmm0, xmm3
call sub.ucrtbase.dll__libm_sse2_sin_precise
cmp byte [esp + 0x1e], 0
xorps xmm3, xmm3
movss xmm2, dword [esp + 0x90]
movss xmm1, dword [esp + 0x8c]
cvtsd2ss xmm3, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0x58]
mulss xmm2, xmm3
mulss xmm0, dword [0x67ac43bc]
mulss xmm2, dword [0x67ac43bc]
addss xmm0, dword [esp + 0xb0]
movss dword [esp + 0xa8], xmm3
addss xmm2, dword [esp + 0xb4]
movss dword [esp + 0x40], xmm0
movss dword [esp + 0x44], xmm2
je 0x67856055
mulss xmm1, dword [0x67ac43c8]
jmp 0x6785605d
mulss xmm1, dword [0x67ac43c0]
movaps xmm0, xmm1
movss dword [esp + 0x8c], xmm1
divss xmm0, dword [0x67ac4458]
cvttss2si edi, xmm0
cmp edi, 9
jge 0x67856081
mov edi, 9
jmp 0x6785608c
cmp edi, 0x20
mov eax, 0x20
cmovg edi, eax
push edi
push dword [esp + 0xa8]
lea eax, [esp + 0x48]
movaps xmm2, xmm1
push eax
mov ecx, esi
call fcn.67830cd0
movss xmm2, dword [esp + 0x8c]
lea eax, [esp + 0x40]
addss xmm2, dword [0x67ac4418]
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push edi
push dword [esp + 0x80]
push eax
call fcn.67830c10
movss xmm2, dword [esp + 0x8c]
lea eax, [esp + 0x40]
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push edi
mov edi, dword [esp + 0x14]
push edi
push eax
call fcn.67830c10
movss xmm3, dword [esp + 0x58]
xorps xmm1, xmm1
movss xmm5, dword [esp + 0xa8]
movaps xmm2, xmm3
mulss xmm2, dword [esp + 0x30]
movaps xmm0, xmm5
mov eax, dword [0x67b38b68]
mov ecx, esi
movss xmm6, dword [esp + 0xb0]
movaps xmm4, xmm3
mulss xmm0, xmm1
push 6
movss xmm7, dword [esp + 0xb8]
mulss xmm4, dword [esp + 0xd8]
push 6
subss xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
movaps xmm1, xmm5
mulss xmm1, dword [esp + 0xdc]
addss xmm2, xmm6
movss dword [esp + 0x64], xmm2
movss dword [esp + 0x84], xmm2
movaps xmm2, xmm5
mulss xmm2, dword [esp + 0x38]
addss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esp + 0xc0]
mulss xmm5, dword [esp + 0xe0]
addss xmm2, xmm7
movss dword [esp + 0x58], xmm2
movss dword [esp + 0x88], xmm2
movaps xmm2, xmm4
subss xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [esp + 0xc0]
subss xmm4, xmm5
mulss xmm3, dword [esp + 0xe0]
addss xmm0, xmm1
addss xmm4, xmm6
addss xmm3, xmm1
addss xmm2, xmm6
addss xmm0, xmm7
movss dword [esp + 0x54], xmm4
addss xmm3, xmm7
movss dword [esp + 0x110], xmm4
movss dword [esp + 0x38], xmm2
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [eax + 0x3bbc]
movss dword [esp + 0xb0], xmm0
movss xmm0, dword [eax + 0x3bc0]
movss dword [esp + 0x60], xmm3
movss dword [esp + 0x114], xmm3
movss dword [esp + 0x68], xmm0
call fcn.6782e100
mov ecx, dword [esi + 0x38]
mov ax, word [esi + 0x28]
movss xmm2, dword [esp + 0x5c]
movss xmm3, dword [esp + 0x50]
mov word [ecx], ax
mov eax, dword [esi + 0x34]
add dword [esi + 0x38], 2
movss xmm0, dword [esp + 0xa8]
movss xmm1, dword [esp + 0x60]
movss dword [eax], xmm2
movss dword [eax + 4], xmm3
mov eax, dword [esi + 0x34]
mov edx, dword [esp + 0xa4]
movss xmm5, dword [esp + 0x30]
movss xmm4, dword [esp + 0x34]
movss dword [eax + 8], xmm0
movss dword [eax + 0xc], xmm1
mov eax, dword [esi + 0x34]
movss xmm7, dword [esp + 0x4c]
movss xmm6, dword [esp + 0x58]
mov dword [eax + 0x10], edx
add dword [esi + 0x34], 0x14
inc dword [esi + 0x28]
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x28]
mov word [eax], cx
mov eax, dword [esi + 0x34]
add dword [esi + 0x38], 2
movss dword [eax], xmm5
movss dword [eax + 4], xmm4
mov eax, dword [esi + 0x34]
movss dword [eax + 8], xmm0
movss dword [eax + 0xc], xmm1
mov eax, dword [esi + 0x34]
mov dword [eax + 0x10], edx
add dword [esi + 0x34], 0x14
mov eax, dword [esi + 0x38]
inc dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
mov word [eax], cx
mov eax, dword [esi + 0x34]
add dword [esi + 0x38], 2
movss dword [eax], xmm7
movss dword [eax + 4], xmm6
mov eax, dword [esi + 0x34]
movss dword [eax + 8], xmm0
movss dword [eax + 0xc], xmm1
mov eax, dword [esi + 0x34]
mov dword [eax + 0x10], edi
add dword [esi + 0x34], 0x14
mov eax, dword [esi + 0x38]
inc dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
mov word [eax], cx
mov eax, dword [esi + 0x34]
add dword [esi + 0x38], 2
movss dword [eax], xmm2
movss dword [eax + 4], xmm3
mov eax, dword [esi + 0x34]
movss dword [eax + 8], xmm0
movss dword [eax + 0xc], xmm1
mov eax, dword [esi + 0x34]
mov dword [eax + 0x10], 0
mov eax, dword [esi + 0x38]
add dword [esi + 0x34], 0x14
inc dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
mov word [eax], cx
mov eax, dword [esi + 0x34]
add dword [esi + 0x38], 2
mov ecx, dword [esp + 0xa0]
movss dword [eax], xmm5
movss dword [eax + 4], xmm4
mov eax, dword [esi + 0x34]
movss dword [eax + 8], xmm0
movss dword [eax + 0xc], xmm1
mov eax, dword [esi + 0x34]
mov dword [eax + 0x10], ecx
add dword [esi + 0x34], 0x14
inc dword [esi + 0x28]
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x28]
push ecx
mov dword [esp], 0x3fc00000
mov word [eax], cx
mov ecx, esi
mov eax, dword [esi + 0x34]
add dword [esi + 0x38], 2
push dword [esp + 0x7c]
movss dword [eax], xmm7
movss dword [eax + 4], xmm6
mov eax, dword [esi + 0x34]
movss dword [eax + 8], xmm0
movss dword [eax + 0xc], xmm1
mov eax, dword [esi + 0x34]
mov dword [eax + 0x10], 0
lea eax, [esp + 0x110]
add dword [esi + 0x34], 0x14
inc dword [esi + 0x28]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.678309f0
movss xmm0, dword [0x67ac4418]
xorps xmm1, xmm1
movaps xmm2, xmm0
subss xmm2, dword [esp + 0x54]
comiss xmm1, xmm2
jbe 0x678563e5
xorps xmm5, xmm5
jmp 0x678563ec
movaps xmm5, xmm0
minss xmm5, xmm2
movss xmm2, dword [esp + 0x24]
comiss xmm1, xmm2
jbe 0x678563fc
xorps xmm4, xmm4
jmp 0x67856403
movaps xmm4, xmm0
minss xmm4, xmm2
movss xmm0, dword [esp + 0x5c]
subss xmm0, dword [esp + 0x4c]
movss xmm3, dword [esp + 0x30]
movss xmm2, dword [esp + 0x34]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0x70]
mulss xmm0, xmm4
addss xmm0, dword [esp + 0x4c]
subss xmm3, xmm0
mulss xmm3, xmm5
addss xmm3, xmm0
movss xmm0, dword [esp + 0x50]
subss xmm0, dword [esp + 0x58]
movss dword [esp + 0x118], xmm3
mulss xmm0, xmm4
addss xmm0, dword [esp + 0x58]
subss xmm2, xmm0
mulss xmm2, xmm5
addss xmm2, xmm0
movss dword [esp + 0x11c], xmm2
jmp 0x678567df
test dword [esp + 0x14], 0x2000000
je 0x678567eb
mov eax, dword [esp + 0xc]
mov ecx, edi
movss xmm0, dword [esp + 0xdc]
push eax
push edx
push edx
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0x38]
addss xmm0, dword [esp + 0x34]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x54]
push eax
movss dword [esp + 0x4c], xmm0
call fcn.67830870
mov ecx, dword [esp + 0xa0]
lea eax, [esp + 0x108]
movss xmm0, dword [esp + 0xdc]
push ecx
push ecx
push 0
push 0
push eax
movss dword [esp + 0x11c], xmm0
lea eax, [esp + 0x54]
movss xmm0, dword [esp + 0x48]
mov ecx, edi
push eax
movss dword [esp + 0x124], xmm0
call fcn.67830870
movss xmm0, dword [esp + 0xdc]
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0xac], xmm0
xorps xmm0, xmm0
push dword [esp + 0xac]
push dword [esp + 0xac]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.677e17e0
movss xmm2, dword [esp + 0x34]
xorps xmm0, xmm0
movss xmm1, dword [0x67ac4418]
add esp, 0x10
comiss xmm0, xmm2
jbe 0x6785655c
xorps xmm3, xmm3
jmp 0x67856563
movaps xmm3, xmm1
minss xmm3, xmm2
movss xmm5, dword [esp + 0x28]
movss xmm6, dword [esp + 0x40]
movss xmm2, dword [0x67ac43bc]
mulss xmm3, xmm5
movss xmm4, dword [0x67ac44c0]
movss xmm7, dword [esp + 0xdc]
addss xmm3, xmm6
addss xmm6, xmm4
subss xmm7, xmm4
addss xmm3, xmm2
cvttss2si eax, xmm3
movd xmm3, eax
cvtdq2ps xmm3, xmm3
comiss xmm6, xmm3
jbe 0x678565b7
movss dword [esp + 0x118], xmm6
jmp 0x678565d0
comiss xmm3, xmm7
jbe 0x678565c7
movss dword [esp + 0x118], xmm7
jmp 0x678565d0
movss dword [esp + 0x118], xmm3
movaps xmm3, xmm1
subss xmm3, dword [esp + 0x54]
comiss xmm0, xmm3
jbe 0x678565e3
xorps xmm1, xmm1
jmp 0x678565e7
minss xmm1, xmm3
movss xmm3, dword [esp + 0x2c]
mulss xmm1, xmm5
movss xmm0, dword [esp + 0x34]
subss xmm0, xmm4
addss xmm1, xmm3
addss xmm1, xmm2
cvttss2si eax, xmm1
movaps xmm1, xmm3
addss xmm1, xmm4
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm1, xmm2
jbe 0x67856625
movss dword [esp + 0x11c], xmm1
jmp 0x6785663e
comiss xmm2, xmm0
jbe 0x67856635
movss dword [esp + 0x11c], xmm0
jmp 0x6785663e
movss dword [esp + 0x11c], xmm2
movss xmm0, dword [esp + 0x94]
movaps xmm1, xmm5
divss xmm1, dword [0x67ac4564]
xor ecx, ecx
mov esi, edi
movss dword [esp + 0x108], xmm0
movss xmm0, dword [esp + 0xbc]
movss dword [esp + 0xa8], xmm1
movss dword [esp + 0x7c], xmm0
nop word [eax + eax]
mov eax, dword [esp + ecx*4 + 0x12c]
lea edi, [ecx + 1]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push eax
push eax
lea eax, [esp + 0x110]
mulss xmm0, xmm1
addss xmm0, xmm3
movss dword [esp + 0x114], xmm0
movd xmm0, ecx
mov ecx, dword [esp + ecx*4 + 0x130]
cvtdq2ps xmm0, xmm0
push ecx
push ecx
push eax
lea eax, [esp + 0x90]
mov ecx, esi
push eax
mulss xmm0, xmm1
addss xmm0, xmm3
movss dword [esp + 0x98], xmm0
call fcn.67830870
movss xmm1, dword [esp + 0xa8]
mov ecx, edi
movss xmm3, dword [esp + 0x2c]
cmp ecx, 6
jl 0x67856680
movss xmm0, dword [esp + 0x94]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0xbc]
push dword [esp + 0x44]
movss dword [esp + 0x34], xmm0
movaps xmm0, xmm3
push dword [esp + 0x44]
movss dword [esp + 0x3c], xmm0
xorps xmm0, xmm0
push dword [esp + 0x3c]
push dword [esp + 0x3c]
call fcn.677e17e0
mov esi, dword [esp + 0x108]
movss xmm1, dword [esp + 0x7c]
addss xmm1, dword [0x67ac44c0]
mov edi, dword [esp + 0x80]
mov ecx, edi
movd xmm2, esi
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
movss dword [esp + 0x44], xmm2
addss xmm0, dword [0x67ac4418]
movss xmm2, dword [esp + 0xcc]
push dword [esp + 0x44]
subss xmm2, dword [0x67ac4418]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0x2c]
mulss xmm0, dword [esp + 0x3c]
push dword [esp + 0x44]
movss dword [esp + 0x58], xmm2
addss xmm0, dword [esp + 0x44]
addss xmm0, dword [0x67ac43bc]
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [esp + 0x54]
cvtdq2ps xmm0, xmm0
movss xmm2, dword [eax + 0x3798]
movss dword [esp + 0x5c], xmm0
push dword [esp + 0x5c]
push dword [esp + 0x5c]
call fcn.67854130
add esp, 0x20
mov eax, dword [esp + 0x74]
movss xmm3, dword [0x67ac43bc]
cmp byte [esp + 0x13], 0
je 0x67856805
movss xmm2, dword [0x67ac4584]
movss dword [esp + 0xf4], xmm2
jmp 0x6785680d
movss xmm2, dword [0x67ac4564]
test eax, 0xff000000
je 0x6785684d
comiss xmm3, xmm2
ja 0x6785684d
push 0xb
push ecx
lea eax, [esp + 0x120]
mov dword [esp], 0x40b84e89
push eax
xorps xmm3, xmm3
mov ecx, edi
call fcn.6782f800
push dword [esp + 0x74]
mov ecx, edi
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.6782eff0
mov dword [edi + 0x54], 0
test dword [esp + 0x78], 0xff000000
movss xmm1, dword [esp + 0xf4]
movss xmm0, dword [0x67ac43bc]
movaps xmm2, xmm1
addss xmm2, dword [0x67ac4418]
je 0x678568ce
comiss xmm0, xmm2
ja 0x678568ce
push 0xb
push ecx
subss xmm2, xmm0
mov dword [esp], 0x40b84e89
lea eax, [esp + 0x120]
xorps xmm3, xmm3
push eax
mov ecx, edi
call fcn.6782f800
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push 1
push dword [esp + 0x80]
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.6782e350
movss xmm0, dword [0x67ac43bc]
movss xmm1, dword [esp + 0xf4]
mov dword [edi + 0x54], 0
test dword [esp + 0xc], 0xff000000
je 0x67856922
comiss xmm0, xmm1
ja 0x67856922
push 0xb
subss xmm1, xmm0
xorps xmm3, xmm3
push ecx
lea eax, [esp + 0x120]
mov dword [esp], 0x40b84e89
push eax
mov ecx, edi
movaps xmm2, xmm1
call fcn.6782f800
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push 1
push dword [esp + 0x14]
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.6782e350
mov dword [edi + 0x54], 0
cmp dword [esp + 0x9c], 0x10000
jne 0x67856ae7
mov eax, dword [esp + 0x20]
xorps xmm1, xmm1
movss xmm2, dword [eax + 0xc]
comiss xmm1, xmm2
jbe 0x6785694f
movss dword [esp + 0x94], xmm1
jmp 0x67856964
movss xmm0, dword [0x67ac4418]
minss xmm0, xmm2
movss dword [esp + 0x94], xmm0
movss xmm3, dword [esp + 0xe8]
xor edx, edx
movss xmm0, dword [esp + 0x2c]
movaps xmm2, xmm3
addss xmm2, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
movss dword [esp + 0x10c], xmm0
addss xmm0, dword [esp + 0x28]
mov dword [esp + 0x34], 0
push dword [esp + 0x34]
mov dword [esp + 0x34], 0
push dword [esp + 0x34]
movss dword [esp + 0x118], xmm2
subss xmm2, xmm3
movss dword [esp + 0x11c], xmm0
push dword [esp + 0x11c]
movss dword [esp + 0x114], xmm3
xorps xmm3, xmm3
push dword [esp + 0x11c]
mov edi, dword [esp + 0x118]
push dword [esp + 0x11c]
mulss xmm2, dword [0x67ac43bc]
push edi
push 0
call fcn.67836110
mov ecx, dword [esp + 0x90]
add esp, 0x1c
mov eax, ecx
and eax, 0xffffff
push eax
push eax
push ecx
push ecx
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0x11c]
push eax
call fcn.67830870
push dword [esp + 0x114]
xorps xmm0, xmm0
push dword [esp + 0x114]
push dword [esp + 0x114]
push edi
call fcn.677e17e0
movss xmm1, dword [0x67ac4418]
movd xmm2, esi
cvtdq2ps xmm2, xmm2
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x80]
movaps xmm0, xmm2
movss dword [esp + 0x44], xmm2
movss xmm2, dword [esp + 0xf8]
addss xmm0, xmm1
subss xmm2, xmm1
subss xmm1, dword [esp + 0xa4]
push dword [esp + 0x44]
movss dword [esp + 0x44], xmm0
push dword [esp + 0x44]
mulss xmm1, dword [esp + 0x40]
movss dword [esp + 0x58], xmm2
movss xmm2, dword [edi + 0x3798]
addss xmm1, dword [esp + 0x44]
addss xmm1, dword [0x67ac43bc]
cvttss2si eax, xmm1
movss xmm1, dword [esp + 0x84]
addss xmm1, dword [0x67ac44c0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x5c], xmm0
push dword [esp + 0x5c]
push dword [esp + 0x5c]
call fcn.67854130
add esp, 0x20
jmp 0x67856aeb
mov edi, dword [esp + 0x3c]
call fcn.677ef3d0
cmp byte [esp + 0xb], 0
je 0x67856b88
mov ecx, dword [esp + 0x20]
lea esi, [esp + 0x144]
xor edx, edx
cmp dword [esp + 0xc0], edx
sete dl
lea edx, [edx*4 + 0xc]
sub edx, 4
jb 0x67856b31
nop
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x67856b36
add esi, 4
add ecx, 4
sub edx, 4
jae 0x67856b20
cmp edx, 0xfffffffc
je 0x67856b83
mov al, byte [esi]
cmp al, byte [ecx]
jne 0x67856b63
cmp edx, 0xfffffffd
je 0x67856b83
mov al, byte [esi + 1]
cmp al, byte [ecx + 1]
jne 0x67856b63
cmp edx, 0xfffffffe
je 0x67856b83
mov al, byte [esi + 2]
cmp al, byte [ecx + 2]
jne 0x67856b63
cmp edx, 0xffffffff
je 0x67856b83
mov al, byte [esi + 3]
cmp al, byte [ecx + 3]
je 0x67856b83
cmp dword [edi + 0x469c], 0
mov eax, dword [0x67b38b68]
je 0x67856b8d
or dword [eax + 0x46a4], 4
mov word [eax + 0x3e84], 0x101
jmp 0x67856b8d
mov byte [esp + 0xb], 0
mov eax, dword [0x67b38b68]
mov ecx, dword [eax + 0x3e28]
mov al, byte [esp + 0xb]
pop edi
pop esi
dec dword [ecx + 0xe0]
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.679343f5
mov esp, ebp
pop ebp
ret