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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x6904
call fcn.1011ce80
mov eax, dword [0x10189818]
push ebx
push esi
mov dword [esp + 0x1c], ecx
push edi
lea ecx, [eax + 0x6e0]
mov dword [esp + 0x9c], eax
call fcn.100ad3a0
test al, al
je 0x100847fb
mov eax, dword [0x1018ae24]
cmp dword [eax], 0
je 0x100847fb
mov esi, dword [eax]
mov ecx, 0xf412939a
call fcn.100b07b0
mov ecx, dword [0x10189814]
movd xmm1, dword [0x10352e88]
cvtdq2ps xmm1, xmm1
mov ecx, dword [ecx + 0x10]
movss xmm0, dword [eax + esi]
mulss xmm1, dword [ecx + 0x20]
comiss xmm0, xmm1
ja 0x100847fb
mov ecx, 0x66dc9d6d
call fcn.100b07b0
cmp byte [eax + esi], 0
jne 0x100847fb
mov ecx, 0x76649c6f
call fcn.100b07b0
cmp byte [eax + esi], 0
jne 0x100847fb
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x430]
call eax
mov ebx, eax
mov dword [esp + 0x1c], ebx
test ebx, ebx
je 0x100847fb
mov ecx, 0xb22c092c
call fcn.100b07b0
cmp dword [eax + ebx], 0
je 0x100847fb
mov ecx, 0x96ed4d1e
call fcn.100b07b0
mov esi, dword [0x1018ae24]
mov ecx, dword [esi]
cmp dword [eax + ecx], 0
jle 0x1008237d
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x734]
call eax
test eax, eax
je 0x100847fb
mov al, byte [eax + 0xec]
test al, al
je 0x100847fb
mov esi, dword [0x1018ae24]
mov ecx, 0x19cdc55d
call fcn.100b07b0
mov cx, word [eax + ebx]
call fcn.10076d90
mov edi, eax
test edi, edi
je 0x100847fb
mov eax, dword [esp + 0x9c]
imul edx, edi, 0x2c
cmp byte [edx + eax], 0
jne 0x100823bf
mov ecx, 0x19cdc55d
call fcn.100b07b0
mov cx, word [eax + ebx]
call fcn.10081380
mov edi, eax
mov edx, dword [esp + 0x9c]
xor ecx, ecx
imul eax, edi, 0x2c
cmp byte [eax + edx], cl
cmovne ecx, edi
imul edi, ecx, 0x2c
add edi, edx
cmp byte [edi + 0xd], 0
jne 0x1008240d
mov ecx, 0xb439d47
call fcn.100b07b0
mov ecx, dword [0x10189814]
movd xmm1, dword [0x10352e88]
cvtdq2ps xmm1, xmm1
mov ecx, dword [ecx + 0x10]
movss xmm0, dword [eax + ebx]
mulss xmm1, dword [ecx + 0x20]
comiss xmm0, xmm1
ja 0x100847fb
cmp byte [edi + 6], 0
jne 0x10082432
mov ecx, 0x346c4efc
call fcn.100b07b0
mov ecx, dword [esi]
movss xmm0, dword [0x10179084]
comiss xmm0, dword [eax + ecx - 8]
jb 0x100847fb
cmp byte [edi], 0
je 0x100847fb
mov ecx, dword [esp + 0x20]
test byte [ecx + 0x30], 1
jne 0x10082455
cmp byte [edi + 8], 0
jne 0x10082455
cmp byte [edi + 1], 0
je 0x100847fb
or ecx, 0xffffffff
mov dword [esp + 0xe0], 0
mov dword [esp + 0xac], ecx
lea edx, [esp + 0x78]
mov ecx, dword [esi]
xorps xmm0, xmm0
xorps xmm1, xmm1
movss dword [esp + 0x38], xmm0
push edx
movss dword [esp + 0x88], xmm0
mov eax, dword [ecx]
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x8c], xmm0
movss dword [esp + 0x2c], xmm0
mov eax, dword [eax + 0x2a4]
movss dword [esp + 0x90], xmm0
movq qword [esp + 0xdc], xmm0
movss dword [esp + 0xac], xmm1
call eax
mov eax, dword [0x1018ae24]
lea edx, [esp + 0xc4]
push edx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x568]
call eax
mov ecx, dword [edi + 0x18]
mov al, byte [edi + 0x18]
and al, 1
mov byte [esp + 0xe5], 0
mov byte [esp + 0xe4], al
mov eax, ecx
shr eax, 1
and al, 1
mov dword [esp + 0xef], 0
mov byte [esp + 0xea], al
mov eax, ecx
shr eax, 2
and al, 1
mov byte [esp + 0xe8], al
mov eax, ecx
shr eax, 3
and al, 1
mov byte [esp + 0xe9], al
mov eax, ecx
shr eax, 4
and al, 1
mov byte [esp + 0xe7], al
mov eax, ecx
shr eax, 5
and al, 1
mov byte [esp + 0xe6], al
mov eax, ecx
shr eax, 6
and al, 1
mov byte [esp + 0xf3], al
mov eax, ecx
shr eax, 7
and al, 1
mov byte [esp + 0xf4], al
mov eax, ecx
shr eax, 8
and al, 1
mov byte [esp + 0xf5], al
mov eax, ecx
shr eax, 9
and al, 1
mov byte [esp + 0xf6], al
mov eax, ecx
shr eax, 0xa
and al, 1
mov byte [esp + 0xed], al
mov eax, ecx
shr eax, 0xb
and al, 1
mov byte [esp + 0xeb], al
mov eax, ecx
shr eax, 0xc
and al, 1
shr ecx, 0xd
mov byte [esp + 0xee], al
xor eax, eax
mov dword [esp + 0xf8], 0
mov dword [esp + 0xa4], eax
and cl, 1
mov dword [esp + 0xfc], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x100], eax
mov eax, dword [0x1018ae24]
mov byte [esp + 0xec], cl
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov esi, 1
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x98], eax
mov eax, dword [0x10189820]
movq qword [esp + 0x90], xmm0
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp eax, esi
jl 0x100847fb
movss xmm0, dword [esp + 0x98]
mov eax, esi
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0x94]
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esp + 0x90]
movss dword [esp + 0xb0], xmm0
cmp eax, 0x41
jae 0x10084807
imul eax, eax, 0x3644
lea ecx, [esp + 0x270]
add eax, 0x10194e30
push eax
call fcn.10076490
cmp byte [esp + 0x3898], 0
jne 0x1008268f
lea ecx, [esp + 0x270]
call fcn.100766d0
jmp 0x1008298f
mov eax, dword [0x10189820]
push esi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
test esi, esi
je 0x1008297f
mov ecx, dword [0x1018ae24]
cmp esi, dword [ecx]
je 0x1008297f
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x1008297f
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x1008297f
mov eax, dword [0x1018ae24]
mov ecx, dword [eax]
mov eax, dword [0x10189814]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x38]
call eax
test al, al
jne 0x100826ff
cmp byte [edi + 3], al
je 0x1008297f
mov ecx, 0xe7cc7916
call fcn.100b07b0
cmp byte [eax + esi], 0
jne 0x1008297f
movss xmm0, dword [esp + 0x410]
lea ecx, [esp + 0x104]
subss xmm0, dword [esp + 0x78]
mov eax, dword [esp + 0x20]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x420]
subss xmm0, dword [esp + 0x7c]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x430]
subss xmm0, dword [esp + 0x80]
xorps xmm0, xmmword [0x10179810]
movss dword [esp + 0x14], xmm0
fld dword [esp + 0x14]
fld dword [esp + 0x60]
fst dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
fld dword [esp + 0x74]
fst dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0x14], xmm0
fld dword [esp + 0x14]
fxch st(1)
fxch st(3)
movss xmm0, dword [esp + 0xc4]
fxch st(1)
fpatan
addss xmm0, dword [eax + 0xc]
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
fpatan
mulss xmm1, dword [0x10179074]
fstp dword [esp + 0x14]
subss xmm1, xmm0
movss xmm0, dword [esp + 0xc8]
addss xmm0, dword [eax + 0x10]
movss dword [esp + 0x104], xmm1
movss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x10179074]
subss xmm1, xmm0
movss xmm0, dword [esp + 0xcc]
addss xmm0, dword [eax + 0x14]
movss dword [esp + 0x108], xmm1
xorps xmm0, xmmword [0x10179810]
movss dword [esp + 0x10c], xmm0
call fcn.10071300
mov ecx, esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esi]
movq qword [esp + 0x3c], xmm0
mov eax, dword [eax + 0x28]
call eax
movss xmm1, dword [esp + 0x3c]
mov ecx, esi
mulss xmm1, xmm1
movq xmm0, qword [eax]
movq qword [esp + 0x90], xmm0
movss xmm0, dword [esp + 0x40]
mulss xmm0, xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x98], eax
mov eax, dword [esi]
addss xmm1, xmm0
xorps xmm0, xmm0
mov eax, dword [eax + 0x1e8]
sqrtss xmm0, xmm1
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x60], xmm0
call eax
movss xmm1, dword [esp + 0xb0]
movss xmm2, dword [esp + 0x64]
subss xmm1, dword [esp + 0x90]
subss xmm2, dword [esp + 0x94]
movss xmm0, dword [esp + 0x54]
mov dword [esp + 0x6c], eax
subss xmm0, dword [esp + 0x98]
mulss xmm2, xmm2
mov ecx, dword [esp + 0xa4]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm2
movss dword [esp + 0x74], xmm0
cmp ecx, dword [esp + 0x9c]
je 0x10082930
mov esi, dword [esp + 0x34]
mov dword [ecx], esi
mov dword [ecx + 4], eax
movss dword [ecx + 8], xmm0
movss xmm0, dword [esp + 0x14]
movss dword [ecx + 0xc], xmm0
add ecx, 0x10
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xfc], ecx
lea ecx, [esp + 0x270]
call fcn.100766d0
jmp 0x1008298f
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x3c]
push eax
push ecx
lea ecx, [esp + 0x10c]
call fcn.10084820
mov eax, dword [esp + 0x100]
lea ecx, [esp + 0x270]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xa4], eax
call fcn.100766d0
jmp 0x1008298f
lea ecx, [esp + 0x270]
call fcn.100766d0
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x270]
push 8
push eax
mov dword [esp + 0x278], 0
call fcn.1011c1c8
mov eax, dword [0x10189820]
add esp, 8
inc esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], esi
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp esi, eax
mov eax, esi
jle 0x10082653
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xa4]
cmp esi, ecx
je 0x100847c7
mov eax, dword [edi + 0x10]
sub eax, 0
je 0x10082a2c
sub eax, 1
je 0x10082a11
sub eax, 1
jne 0x10082a45
movzx eax, byte [0x1034e481]
mov edx, ecx
push eax
mov eax, ecx
mov ecx, esi
sub eax, esi
sar eax, 4
push eax
call fcn.10084d50
jmp 0x10082a45
movzx eax, byte [0x1034e480]
mov edx, ecx
push eax
mov eax, ecx
mov ecx, esi
sub eax, esi
sar eax, 4
push eax
call fcn.10084ba0
jmp 0x10082a45
movzx eax, byte [0x1034e482]
mov edx, ecx
push eax
mov eax, ecx
mov ecx, esi
sub eax, esi
sar eax, 4
push eax
call fcn.100849d0
cmp byte [edi + 0xb], 0
mov eax, dword [0x10189814]
movss xmm0, dword [0x10186364]
mulss xmm0, dword [0x10178edc]
mov ecx, dword [edi + 0x20]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xb0], ecx
movss xmm1, dword [eax + 8]
mulss xmm1, dword [0x10178df0]
addss xmm1, xmm0
movss dword [0x10186364], xmm1
je 0x10082aa5
movss xmm0, dword [0x10178ef4]
xor edx, edx
divss xmm0, xmm1
cvttss2si eax, xmm0
cmp eax, 0x3c
cmovle ecx, edx
mov dword [esp + 0xb0], ecx
mov edx, esi
mov dword [esp + 0xa0], esi
nop
mov eax, dword [0x10189820]
push dword [edx]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x68], esi
mov eax, dword [eax]
cmp eax, 0x41
jae 0x10084807
imul ecx, eax, 0x3644
add ecx, 0x10194e30
push ecx
lea ecx, [esp + 0x274]
call fcn.10076490
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x734]
call eax
mov ecx, dword [0x10189818]
add eax, 0xf0
add ecx, 0x704
mov dword [esp + 0x14], eax
call fcn.100ad3a0
xor ecx, ecx
test al, al
mov eax, dword [esp + 0xa0]
setne cl
mov eax, dword [eax + 4]
lea ecx, [ecx*4 + 0x24]
mov ecx, dword [edi + ecx]
cmp eax, ecx
jl 0x10082b40
xor edx, edx
mov eax, ecx
test ecx, ecx
cmovs eax, edx
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
mov dword [esp + 0x74], ecx
cmp ecx, eax
jl 0x10082b5b
xor edx, edx
mov ecx, eax
test eax, eax
cmovs ecx, edx
mov dword [esp + 0x74], ecx
mov eax, dword [esi + 0x2914]
mov ecx, esi
movss xmm0, dword [0x101791b4]
mov dword [esp + 0x34], eax
mov eax, dword [esi]
movss dword [esp + 0x6c], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov ecx, eax
call edx
mov ecx, esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
mov eax, dword [esi]
movq qword [esp + 0xb8], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x54], eax
mov eax, dword [esi]
movq qword [esp + 0x58], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], eax
mov eax, dword [esi]
movq qword [esp + 0x48], xmm0
mov eax, dword [eax + 0x2c]
call eax
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x2920]
movq qword [esp + 0x3c], xmm0
cmp eax, 0x100
jle 0x10082c04
mov eax, 0x100
jmp 0x10082c0b
xor ecx, ecx
test eax, eax
cmovs eax, ecx
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [esp + 0x288]
push eax
push dword [esi + 0x2914]
call fcn.1011d990
add esp, 0xc
lea eax, [esp + 0x384c]
mov ecx, esi
push eax
mov eax, dword [0x10189814]
mov eax, dword [eax + 0x4c]
call eax
mov eax, dword [0x10189814]
lea ecx, [esp + 0x13c]
movss xmm0, dword [esp + 0x3868]
push ecx
mov ecx, esi
mov eax, dword [eax + 0xd0]
mov dword [esp + 0x140], 0
movss dword [esp + 0x144], xmm0
mov dword [esp + 0x148], 0
call eax
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
movss xmm0, dword [ecx + 8]
ucomiss xmm0, dword [esp + 0x3834]
lahf
test ah, 0x44
jp 0x10082cfc
movss xmm0, dword [ecx + 0xc]
ucomiss xmm0, dword [esp + 0x3838]
lahf
test ah, 0x44
jp 0x10082cfc
movss xmm0, dword [ecx + 0x10]
ucomiss xmm0, dword [esp + 0x383c]
lahf
test ah, 0x44
jp 0x10082cfc
movss xmm0, dword [ecx + 0x14]
ucomiss xmm0, dword [esp + 0x3840]
lahf
test ah, 0x44
jp 0x10082cfc
movss xmm0, dword [ecx + 0x18]
ucomiss xmm0, dword [esp + 0x3844]
lahf
test ah, 0x44
jp 0x10082cfc
movss xmm0, dword [ecx + 0x1c]
ucomiss xmm0, dword [esp + 0x3848]
lahf
test ah, 0x44
jnp 0x10082d97
movq xmm0, qword [esp + 0x3834]
movq qword [ecx + 8], xmm0
mov eax, dword [esp + 0x383c]
mov dword [ecx + 0x10], eax
movq xmm0, qword [esp + 0x3840]
movq qword [ecx + 0x14], xmm0
mov eax, dword [esp + 0x3848]
mov dword [ecx + 0x1c], eax
movss xmm1, dword [esp + 0x3840]
movss xmm2, dword [esp + 0x3844]
subss xmm2, dword [esp + 0x3838]
subss xmm1, dword [esp + 0x3834]
movss xmm0, dword [esp + 0x3848]
subss xmm0, dword [esp + 0x383c]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm2
mulss xmm0, dword [0x10178e88]
movss dword [ecx + 0x24], xmm0
mov eax, dword [0x10189814]
mov eax, dword [eax + 0x16c]
call eax
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 0x20]
call eax
mov edx, eax
test edx, edx
jne 0x10082df3
mov eax, dword [esp + 0x54]
movq xmm0, qword [esp + 0x58]
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x268], eax
lea eax, [esp + 0x250]
movq qword [esp + 0x250], xmm0
movq xmm0, qword [esp + 0xb8]
push eax
movq qword [esp + 0x264], xmm0
lea eax, [esp + 0x264]
jmp 0x100841c9
mov eax, dword [0x10189820]
push edx
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx]
mov eax, dword [eax + 0x80]
call eax
test eax, eax
jne 0x10082e55
mov eax, dword [esp + 0x54]
movq xmm0, qword [esp + 0x58]
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x178], eax
lea eax, [esp + 0x160]
movq qword [esp + 0x160], xmm0
movq xmm0, qword [esp + 0xb8]
push eax
movq qword [esp + 0x174], xmm0
lea eax, [esp + 0x174]
jmp 0x100841c9
cmp dword [eax + 0xac], 0
jle 0x10084183
mov ecx, dword [eax + 0xb0]
add ecx, eax
mov dword [esp + 0x64], ecx
je 0x10084183
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x60], edx
cmp byte [esp + ecx + 0xe4], 0
je 0x100833c8
test ecx, ecx
js 0x100833c8
mov eax, dword [esp + 0x64]
cmp ecx, dword [eax + 4]
jge 0x100833c8
mov eax, dword [eax + 8]
add eax, edx
add eax, dword [esp + 0x64]
je 0x100833c8
movss xmm0, dword [esp + 0x78]
mov edx, esi
movss xmm1, dword [esp + 0x7c]
movss xmm2, dword [esp + 0x80]
push 0
push dword [esp + 0xb4]
push ecx
push eax
lea eax, [esp + 0x294]
push eax
lea ecx, [esp + 0x118]
call fcn.10072530
mov esi, dword [esp + 0x104]
cmp esi, dword [esp + 0x108]
je 0x100833b0
nop dword [eax]
movss xmm0, dword [esi]
lea ecx, [esp + 0x148]
subss xmm0, dword [esp + 0x78]
mov eax, dword [esp + 0x20]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esi + 4]
subss xmm0, dword [esp + 0x7c]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esi + 8]
subss xmm0, dword [esp + 0x80]
xorps xmm0, xmmword [0x10179810]
movss dword [esp + 0x14], xmm0
fld dword [esp + 0x14]
fld dword [esp + 0x28]
fst dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
fld dword [esp + 0x2c]
fst dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0x14], xmm0
fld dword [esp + 0x14]
fxch st(1)
fxch st(3)
movss xmm0, dword [esp + 0xc4]
fxch st(1)
fpatan
addss xmm0, dword [eax + 0xc]
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
fpatan
mulss xmm1, dword [0x10179074]
fstp dword [esp + 0x14]
subss xmm1, xmm0
movss xmm0, dword [esp + 0xc8]
addss xmm0, dword [eax + 0x10]
movss dword [esp + 0x148], xmm1
movss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x10179074]
subss xmm1, xmm0
movss xmm0, dword [esp + 0xcc]
addss xmm0, dword [eax + 0x14]
movss dword [esp + 0x14c], xmm1
xorps xmm0, xmmword [0x10179810]
movss dword [esp + 0x150], xmm0
call fcn.10071300
movq xmm0, qword [eax]
movq qword [esp + 0x184], xmm0
movss xmm1, dword [esp + 0x184]
movq qword [esp + 0xd0], xmm0
movss xmm0, dword [esp + 0x188]
mulss xmm0, xmm0
mov eax, dword [eax + 8]
mulss xmm1, xmm1
mov dword [esp + 0x18], eax
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
comiss xmm0, dword [edi + 0x14]
ja 0x100833a0
cmp byte [edi + 7], 0
jne 0x100830a3
mov eax, dword [0x10189814]
movq xmm0, qword [esi]
push 1
sub esp, 0xc
mov edx, dword [eax + 0x30]
mov ecx, esp
mov eax, dword [esi + 8]
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [esp + 0x94]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [esp + 0x9c]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call edx
add esp, 0x1c
test al, al
jne 0x100833a0
mov ecx, dword [esp + 0x1c]
mov bl, byte [edi + 3]
mov eax, dword [ecx]
mov eax, dword [eax + 0x734]
call eax
push ebx
push dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov edx, esi
push eax
mov ecx, ebx
call fcn.10071c50
mov eax, dword [ebx]
mov ecx, ebx
movss dword [esp + 0x14], xmm0
mov eax, dword [eax + 0x1ec]
call eax
movss xmm1, dword [esp + 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
movss dword [esp + 0x2c], xmm0
jbe 0x100830f6
xorps xmm1, xmm1
jmp 0x10083106
movaps xmm0, xmm1
xorps xmm1, xmm1
maxss xmm0, xmm1
movss dword [esp + 0x2c], xmm0
comiss xmm1, xmm0
jae 0x1008339c
push esi
mov ecx, ebx
call fcn.10081410
test al, al
jne 0x10083124
cmp byte [edi + 4], al
jne 0x1008339c
cmp byte [edi + 9], 0
mov ebx, dword [esp + 0x1c]
je 0x10083195
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x71c]
call eax
cmp eax, 5
jne 0x10083195
mov eax, dword [0x1018ae24]
mov ecx, 0x747d37fc
mov eax, dword [eax]
mov dword [esp + 0x28], eax
call fcn.100b07b0
mov ecx, dword [esp + 0x28]
cmp byte [eax + ecx], 0
jne 0x10083195
mov ecx, 0x8c04d21d
call fcn.100b07b0
cmp dword [eax + ebx], 0
jne 0x10083195
mov ecx, 0x394634f0
call fcn.100b07b0
mov ecx, dword [esp + 0x28]
test byte [eax + ecx], 1
je 0x10083195
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x30]
test al, 2
jne 0x10083195
or eax, 0x80000
mov dword [ecx + 0x30], eax
cmp byte [edi + 5], 0
je 0x100831c8
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x71c]
call eax
cmp eax, 5
jne 0x100831c8
mov ecx, 0x747d37fc
call fcn.100b07b0
mov ecx, dword [0x1018ae24]
mov ecx, dword [ecx]
cmp byte [eax + ecx], 0
je 0x1008424d
cmp byte [edi + 0xa], 0
je 0x1008331e
mov ecx, 0x394634f0
call fcn.100b07b0
mov ecx, dword [0x1018ae24]
mov ecx, dword [ecx]
test byte [eax + ecx], 1
je 0x1008331e
mov eax, dword [esp + 0x20]
test byte [eax + 0x30], 2
jne 0x1008331e
movss xmm0, dword [0x1034e474]
movss xmm1, dword [0x1034e478]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
comiss xmm0, dword [0x10179018]
movss dword [esp + 0xb4], xmm0
jb 0x1008331e
movss xmm0, dword [0x1034e47c]
xorps xmm0, xmmword [0x10179810]
movss dword [esp + 0x14], xmm0
fld dword [esp + 0x14]
fld dword [0x1034e474]
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
fld dword [0x1034e478]
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0x14], xmm0
fld dword [esp + 0x14]
fpatan
fstp dword [esp + 0x28]
movss xmm0, dword [esp + 0x28]
call fcn.10143efb
fld dword [0x1034e478]
fld dword [0x1034e474]
fpatan
mov eax, dword [esp + 0x20]
movss xmm1, dword [eax + 0x10]
movss dword [esp + 0x70], xmm0
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
mulss xmm0, dword [0x10179074]
subss xmm1, xmm0
mulss xmm1, dword [0x10178dac]
movaps xmm0, xmm1
movss xmm1, dword [esp + 0x28]
call fcn.10142a10
movss xmm3, dword [esp + 0xb4]
movaps xmm1, xmm0
xorps xmm3, xmmword [0x10179810]
mov eax, dword [esp + 0x20]
shufps xmm0, xmm1, 1
mulss xmm0, dword [esp + 0x70]
mulss xmm1, dword [esp + 0x70]
mulss xmm0, xmm3
mulss xmm1, xmm3
movss dword [eax + 0x24], xmm0
movss dword [eax + 0x28], xmm1
mov ecx, dword [esp + 0xa0]
movss xmm1, dword [esp + 0x6c]
movd xmm0, dword [ecx + 4]
cvtdq2ps xmm0, xmm0
subss xmm0, dword [esp + 0x2c]
andps xmm0, xmmword [0x101797e0]
comiss xmm1, xmm0
jb 0x100833a0
mov eax, dword [esp + 0x18]
movq xmm1, qword [esp + 0xd0]
movss dword [esp + 0x6c], xmm0
movq xmm0, qword [esi]
mov dword [esp + 0xe0], eax
mov eax, dword [esi + 8]
movq qword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0x388c]
mov dword [esp + 0x8c], eax
mov eax, dword [ecx]
movq qword [esp + 0xd8], xmm1
movss dword [esp + 0xa8], xmm0
mov dword [esp + 0xac], eax
jmp 0x100833a0
mov ebx, dword [esp + 0x1c]
add esi, 0xc
cmp esi, dword [esp + 0x108]
jne 0x10082f00
lea ecx, [esp + 0x104]
call fcn.1006d720
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
add edx, 0x44
inc ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x60], edx
cmp edx, 0x50c
jb 0x10082e80
movss xmm0, dword [esp + 0x84]
xorps xmm2, xmm2
movss xmm1, dword [esp + 0x88]
ucomiss xmm0, xmm2
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x8c]
lahf
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x2c], xmm1
test ah, 0x44
jp 0x1008342f
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x1008342f
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x100834da
push dword [edi + 0x1c]
mov ecx, dword [esp + 0x24]
mov eax, dword [0x1018ae24]
push ecx
lea ecx, [esp + 0xe0]
push ecx
push ebx
lea ecx, [esp + 0x294]
push ecx
push dword [esp + 0x78]
mov ecx, dword [eax]
call fcn.10072b30
test al, al
jne 0x100834da
xorps xmm0, xmm0
mov dword [esp + 0x8c], 0
movq qword [esp + 0x84], xmm0
movq qword [esp + 0xd8], xmm0
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [0x101791b4]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [esp + 0x8c]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x88]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x84]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xac], 0xffffffff
movss dword [esp + 0x38], xmm0
mov eax, dword [esp + 0x54]
mov ecx, esi
movq xmm0, qword [esp + 0x58]
mov edx, dword [esp + 0x34]
movss xmm1, dword [esp + 0x4c]
movss xmm2, dword [esp + 0x50]
movss xmm3, dword [esp + 0x3c]
movss xmm4, dword [esp + 0x40]
movss xmm5, dword [esp + 0x44]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1a8], eax
lea eax, [esp + 0x190]
movq qword [esp + 0x190], xmm0
movq xmm0, qword [esp + 0xb8]
push eax
lea eax, [esp + 0x1a4]
movq qword [esp + 0x1a4], xmm0
movss xmm0, dword [esp + 0x4c]
push eax
call fcn.10119ba0
movss xmm0, dword [esp + 0x38]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10084405
movss xmm0, dword [esp + 0x2c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10084405
movss xmm0, dword [esp + 0x28]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10084405
cmp byte [edi + 0xc], 0
je 0x100835af
movss xmm0, dword [0x10178ef4]
divss xmm0, dword [0x10186364]
cvttss2si eax, xmm0
cmp eax, 0x3c
jle 0x100841f9
mov eax, dword [0x10189818]
cmp byte [eax + 0x1500], 0
je 0x100841f9
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x28]
call eax
cmp eax, 0x41
jae 0x10084807
imul ebx, eax, 0x3644
add ebx, 0x10194e30
je 0x100841f9
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x100841f9
add esi, 0xffffffff
js 0x100841f9
nop dword [eax + eax]
cmp dword [ebx + 0x10], esi
jbe 0x10084802
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx]
add edx, esi
test ecx, ecx
je 0x10083618
mov eax, dword [ecx]
jmp 0x1008361a
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov eax, dword [eax + ecx*4]
movss xmm0, dword [eax + 0x44]
call fcn.10079180
test al, al
jne 0x1008363e
sub esi, 1
jns 0x10083600
jmp 0x100841f9
cmp esi, 0xffffffff
jle 0x100841f9
cmp dword [ebx + 0x10], esi
jbe 0x10084802
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx]
add edx, esi
test ecx, ecx
je 0x1008365f
mov eax, dword [ecx]
jmp 0x10083661
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
push dword [eax + ecx*4]
lea ecx, [esp + 0x38bc]
call fcn.10076a90
mov esi, dword [esp + 0x68]
mov ecx, esi
mov eax, dword [esi]
mov ebx, dword [esi + 0x2914]
mov dword [esp + 0x14], ebx
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov ecx, eax
call edx
mov ecx, esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
mov eax, dword [esi]
movq qword [esp + 0xd0], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x34], eax
mov eax, dword [esi]
movq qword [esp + 0xb8], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], eax
mov eax, dword [esi]
movq qword [esp + 0x48], xmm0
mov eax, dword [eax + 0x2c]
call eax
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x2920]
movq qword [esp + 0x3c], xmm0
cmp eax, 0x100
jle 0x1008371b
mov eax, 0x100
jmp 0x10083722
xor ecx, ecx
test eax, eax
cmovs eax, ecx
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [esp + 0x3910]
push eax
push dword [esi + 0x2914]
call fcn.1011d990
add esp, 0xc
lea eax, [esp + 0x38cc]
mov ecx, esi
push eax
mov eax, dword [0x10189814]
mov eax, dword [eax + 0x4c]
call eax
mov eax, dword [0x10189814]
lea ecx, [esp + 0x154]
movss xmm0, dword [esp + 0x38dc]
push ecx
mov ecx, esi
mov eax, dword [eax + 0xd0]
mov dword [esp + 0x158], 0
movss dword [esp + 0x15c], xmm0
mov dword [esp + 0x160], 0
call eax
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
movss xmm0, dword [ecx + 8]
ucomiss xmm0, dword [esp + 0x38e4]
lahf
test ah, 0x44
jp 0x10083813
movss xmm0, dword [ecx + 0xc]
ucomiss xmm0, dword [esp + 0x38e8]
lahf
test ah, 0x44
jp 0x10083813
movss xmm0, dword [ecx + 0x10]
ucomiss xmm0, dword [esp + 0x38ec]
lahf
test ah, 0x44
jp 0x10083813
movss xmm0, dword [ecx + 0x14]
ucomiss xmm0, dword [esp + 0x38f0]
lahf
test ah, 0x44
jp 0x10083813
movss xmm0, dword [ecx + 0x18]
ucomiss xmm0, dword [esp + 0x38f4]
lahf
test ah, 0x44
jp 0x10083813
movss xmm0, dword [ecx + 0x1c]
ucomiss xmm0, dword [esp + 0x38f8]
lahf
test ah, 0x44
jnp 0x100838ae
movq xmm0, qword [esp + 0x38e4]
movq qword [ecx + 8], xmm0
mov eax, dword [esp + 0x38ec]
mov dword [ecx + 0x10], eax
movq xmm0, qword [esp + 0x38f0]
movq qword [ecx + 0x14], xmm0
mov eax, dword [esp + 0x38f8]
mov dword [ecx + 0x1c], eax
movss xmm1, dword [esp + 0x38f0]
movss xmm2, dword [esp + 0x38f4]
subss xmm2, dword [esp + 0x38e8]
subss xmm1, dword [esp + 0x38e4]
movss xmm0, dword [esp + 0x38f8]
subss xmm0, dword [esp + 0x38ec]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm2
mulss xmm0, dword [0x10178e88]
movss dword [ecx + 0x24], xmm0
mov eax, dword [0x10189814]
mov eax, dword [eax + 0x16c]
call eax
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 0x20]
call eax
mov edx, eax
test edx, edx
jne 0x10083968
mov eax, dword [esp + 0x34]
movq xmm0, qword [esp + 0xb8]
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c8], eax
lea eax, [esp + 0x1b0]
movq qword [esp + 0x1b0], xmm0
movq xmm0, qword [esp + 0xd0]
push eax
movq qword [esp + 0x1c4], xmm0
lea eax, [esp + 0x1c4]
movss xmm0, dword [esp + 0x4c]
mov edx, ebx
movss xmm1, dword [esp + 0x50]
mov ecx, esi
movss xmm2, dword [esp + 0x54]
movss xmm3, dword [esp + 0x40]
movss xmm4, dword [esp + 0x44]
movss xmm5, dword [esp + 0x48]
push eax
call fcn.10119ba0
lea ecx, [esp + 0x38b8]
call fcn.10076950
mov eax, dword [esp + 0x38b8]
push 8
push eax
mov dword [esp + 0x38c0], 0
call fcn.1011c1c8
add esp, 8
jmp 0x100841f9
mov eax, dword [0x10189820]
push edx
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx]
mov eax, dword [eax + 0x80]
call eax
test eax, eax
jne 0x100839cd
mov eax, dword [esp + 0x34]
movq xmm0, qword [esp + 0xb8]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1e8], eax
lea eax, [esp + 0x1d0]
movq qword [esp + 0x1d0], xmm0
movq xmm0, qword [esp + 0xd0]
push eax
movq qword [esp + 0x1e4], xmm0
lea eax, [esp + 0x1e4]
jmp 0x1008390c
cmp dword [eax + 0xac], 0
jle 0x10084135
mov edx, dword [eax + 0xb0]
add edx, eax
mov dword [esp + 0x58], edx
je 0x10084135
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x2c], ecx
nop dword [eax + eax]
cmp byte [esp + ebx + 0xe4], 0
je 0x10083f3f
test ebx, ebx
js 0x10083f3f
cmp ebx, dword [edx + 4]
jge 0x10083f3f
mov eax, dword [edx + 8]
add eax, ecx
add eax, edx
je 0x10083f3f
movss xmm0, dword [esp + 0x78]
lea ecx, [esp + 0x90]
movss xmm1, dword [esp + 0x7c]
mov edx, esi
movss xmm2, dword [esp + 0x80]
push 0
push dword [esp + 0xb4]
push ebx
push eax
lea eax, [esp + 0x391c]
push eax
call fcn.10072530
mov esi, dword [esp + 0x90]
cmp esi, dword [esp + 0x94]
je 0x10083f27
mov ebx, dword [esp + 0x20]
nop word [eax + eax]
movss xmm0, dword [esi]
lea ecx, [esp + 0x130]
subss xmm0, dword [esp + 0x78]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esi + 4]
subss xmm0, dword [esp + 0x7c]
movss dword [esp + 0xb4], xmm0
movss xmm0, dword [esi + 8]
subss xmm0, dword [esp + 0x80]
xorps xmm0, xmmword [0x10179810]
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fld dword [esp + 0x70]
fst dword [esp + 0x18]
movss xmm1, dword [esp + 0x18]
fld dword [esp + 0xb4]
fst dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fxch st(1)
fxch st(3)
movss xmm0, dword [esp + 0xc4]
fxch st(1)
fpatan
addss xmm0, dword [ebx + 0xc]
fstp dword [esp + 0x18]
movss xmm1, dword [esp + 0x18]
fpatan
mulss xmm1, dword [0x10179074]
fstp dword [esp + 0x18]
subss xmm1, xmm0
movss xmm0, dword [esp + 0xc8]
addss xmm0, dword [ebx + 0x10]
movss dword [esp + 0x130], xmm1
movss xmm1, dword [esp + 0x18]
mulss xmm1, dword [0x10179074]
subss xmm1, xmm0
movss xmm0, dword [esp + 0xcc]
addss xmm0, dword [ebx + 0x14]
movss dword [esp + 0x134], xmm1
xorps xmm0, xmmword [0x10179810]
movss dword [esp + 0x138], xmm0
call fcn.10071300
movq xmm0, qword [eax]
movq qword [esp + 0x1f4], xmm0
movss xmm1, dword [esp + 0x1f4]
movq qword [esp + 0x248], xmm0
movss xmm0, dword [esp + 0x1f8]
mulss xmm0, xmm0
mov eax, dword [eax + 8]
mulss xmm1, xmm1
mov dword [esp + 0x38], eax
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
comiss xmm0, dword [edi + 0x14]
ja 0x10083f13
cmp byte [edi + 7], 0
jne 0x10083c25
mov eax, dword [0x10189814]
movq xmm0, qword [esi]
push 1
sub esp, 0xc
mov edx, dword [eax + 0x30]
mov ecx, esp
mov eax, dword [esi + 8]
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [esp + 0x94]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [esp + 0x9c]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call edx
add esp, 0x1c
test al, al
jne 0x10083f13
mov ecx, dword [esp + 0x1c]
mov bl, byte [edi + 3]
mov eax, dword [ecx]
mov eax, dword [eax + 0x734]
call eax
push ebx
push dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov edx, esi
push eax
mov ecx, ebx
call fcn.10071c50
mov eax, dword [ebx]
mov ecx, ebx
movss dword [esp + 0x18], xmm0
mov eax, dword [eax + 0x1ec]
call eax
movss xmm1, dword [esp + 0x18]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
movss dword [esp + 0x64], xmm0
jbe 0x10083c78
xorps xmm1, xmm1
jmp 0x10083c88
movaps xmm0, xmm1
xorps xmm1, xmm1
maxss xmm0, xmm1
movss dword [esp + 0x64], xmm0
comiss xmm1, xmm0
jae 0x10083f0f
push esi
mov ecx, ebx
call fcn.10081410
test al, al
jne 0x10083ca6
cmp byte [edi + 4], al
jne 0x10083f0f
cmp byte [edi + 9], 0
mov ebx, dword [esp + 0x1c]
je 0x10083d07
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x71c]
call eax
cmp eax, 5
jne 0x10083d07
mov eax, dword [0x1018ae24]
mov ecx, 0x747d37fc
mov eax, dword [eax]
mov dword [esp + 0x60], eax
call fcn.100b07b0
mov ecx, dword [esp + 0x60]
cmp byte [eax + ecx], 0
jne 0x10083d07
mov ecx, 0x394634f0
call fcn.100b07b0
mov ecx, dword [esp + 0x60]
test byte [eax + ecx], 1
je 0x10083d07
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x30]
test al, 2
jne 0x10083d07
or eax, 0x800
mov dword [ecx + 0x30], eax
cmp byte [edi + 5], 0
je 0x10083d3a
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x71c]
call eax
cmp eax, 5
jne 0x10083d3a
mov ecx, 0x747d37fc
call fcn.100b07b0
mov ecx, dword [0x1018ae24]
mov ecx, dword [ecx]
cmp byte [eax + ecx], 0
je 0x100842d6
cmp byte [edi + 0xa], 0
je 0x10083e8d
mov ecx, 0x394634f0
call fcn.100b07b0
mov ecx, dword [0x1018ae24]
mov ebx, dword [esp + 0x20]
mov ecx, dword [ecx]
test byte [eax + ecx], 1
je 0x10083e91
test byte [ebx + 0x30], 2
jne 0x10083e91
movss xmm0, dword [0x1034e474]
movss xmm1, dword [0x1034e478]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
comiss xmm0, dword [0x10179018]
movss dword [esp + 0x70], xmm0
jb 0x10083e91
movss xmm0, dword [0x1034e47c]
xorps xmm0, xmmword [0x10179810]
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fld dword [0x1034e474]
fstp dword [esp + 0x18]
movss xmm1, dword [esp + 0x18]
fld dword [0x1034e478]
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fpatan
fstp dword [esp + 0x28]
movss xmm0, dword [esp + 0x28]
call fcn.10143efb
fld dword [0x1034e478]
fld dword [0x1034e474]
fpatan
movss xmm1, dword [ebx + 0x10]
movss dword [esp + 0xb4], xmm0
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
mulss xmm0, dword [0x10179074]
subss xmm1, xmm0
mulss xmm1, dword [0x10178dac]
movaps xmm0, xmm1
movss xmm1, dword [esp + 0x28]
call fcn.10142a10
movss xmm3, dword [esp + 0x70]
movaps xmm1, xmm0
xorps xmm3, xmmword [0x10179810]
shufps xmm0, xmm1, 1
mulss xmm0, dword [esp + 0xb4]
mulss xmm1, dword [esp + 0xb4]
mulss xmm0, xmm3
mulss xmm1, xmm3
movss dword [ebx + 0x24], xmm0
movss dword [ebx + 0x28], xmm1
jmp 0x10083e91
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0xa0]
movss xmm1, dword [esp + 0x6c]
movd xmm0, dword [ecx + 4]
cvtdq2ps xmm0, xmm0
subss xmm0, dword [esp + 0x64]
andps xmm0, xmmword [0x101797e0]
comiss xmm1, xmm0
jb 0x10083f13
mov eax, dword [esp + 0x38]
movq xmm1, qword [esp + 0x248]
movss dword [esp + 0x6c], xmm0
movq xmm0, qword [esi]
mov dword [esp + 0xe0], eax
mov eax, dword [esi + 8]
movq qword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0x38fc]
mov dword [esp + 0x8c], eax
mov eax, dword [ecx]
movq qword [esp + 0xd8], xmm1
movss dword [esp + 0xa8], xmm0
mov dword [esp + 0xac], eax
jmp 0x10083f13
mov ebx, dword [esp + 0x20]
add esi, 0xc
cmp esi, dword [esp + 0x94]
jne 0x10083a80
mov ebx, dword [esp + 0x54]
lea ecx, [esp + 0x90]
call fcn.1006d720
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x58]
add ecx, 0x44
inc ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x2c], ecx
cmp ecx, 0x50c
jb 0x10083a00
movss xmm0, dword [esp + 0x84]
xorps xmm2, xmm2
movss xmm1, dword [esp + 0x88]
ucomiss xmm0, xmm2
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x8c]
lahf
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x2c], xmm1
test ah, 0x44
jp 0x10083fa6
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x10083fa6
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x10084042
push dword [edi + 0x1c]
mov ecx, dword [esp + 0x24]
mov eax, dword [0x1018ae24]
mov ebx, dword [esp + 0x20]
push ecx
lea ecx, [esp + 0xe0]
push ecx
push ebx
lea ecx, [esp + 0x391c]
push ecx
mov ecx, dword [eax]
push edx
call fcn.10072b30
test al, al
jne 0x10084046
xorps xmm0, xmm0
mov dword [esp + 0x8c], 0
movq qword [esp + 0x84], xmm0
movq qword [esp + 0xd8], xmm0
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [esp + 0x8c]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x88]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x84]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xac], 0xffffffff
movss dword [esp + 0x38], xmm0
jmp 0x10084046
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov ecx, esi
movq xmm0, qword [esp + 0xb8]
mov edx, dword [esp + 0x14]
movss xmm1, dword [esp + 0x4c]
movss xmm2, dword [esp + 0x50]
movss xmm3, dword [esp + 0x3c]
movss xmm4, dword [esp + 0x40]
movss xmm5, dword [esp + 0x44]
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x218], eax
lea eax, [esp + 0x200]
movq qword [esp + 0x200], xmm0
movq xmm0, qword [esp + 0xd0]
push eax
lea eax, [esp + 0x214]
movq qword [esp + 0x214], xmm0
movss xmm0, dword [esp + 0x4c]
push eax
call fcn.10119ba0
movss xmm0, dword [esp + 0x38]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100843b4
movss xmm0, dword [esp + 0x2c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100843b4
movss xmm0, dword [esp + 0x28]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100843b4
lea ecx, [esp + 0x38b8]
call fcn.10076950
mov eax, dword [esp + 0x38b8]
push 8
push eax
mov dword [esp + 0x38c0], 0
call fcn.1011c1c8
add esp, 8
lea ecx, [esp + 0x270]
call fcn.100766d0
jmp 0x10084209
mov eax, dword [esp + 0x34]
movq xmm0, qword [esp + 0xb8]
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x238], eax
lea eax, [esp + 0x220]
movq qword [esp + 0x220], xmm0
movq xmm0, qword [esp + 0xd0]
push eax
movq qword [esp + 0x234], xmm0
lea eax, [esp + 0x234]
jmp 0x1008390c
mov eax, dword [esp + 0x54]
movq xmm0, qword [esp + 0x58]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x128], eax
lea eax, [esp + 0x110]
movq qword [esp + 0x110], xmm0
movq xmm0, qword [esp + 0xb8]
push eax
movq qword [esp + 0x124], xmm0
lea eax, [esp + 0x124]
movss xmm5, dword [esp + 0x48]
mov ecx, esi
movss xmm4, dword [esp + 0x44]
movss xmm3, dword [esp + 0x40]
movss xmm2, dword [esp + 0x54]
movss xmm1, dword [esp + 0x50]
movss xmm0, dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
push eax
call fcn.10119ba0
lea ecx, [esp + 0x270]
call fcn.100766d0
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x270]
push 8
push eax
mov dword [esp + 0x278], 0
call fcn.1011c1c8
mov edx, dword [esp + 0xa8]
add esp, 8
add edx, 0x10
mov dword [esp + 0xa0], edx
cmp edx, dword [esp + 0xa4]
je 0x10084432
mov ebx, dword [esp + 0x1c]
jmp 0x10082ab0
mov eax, dword [esp + 0x54]
movq xmm0, qword [esp + 0x58]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x68]
movss xmm1, dword [esp + 0x4c]
movss xmm2, dword [esp + 0x50]
movss xmm3, dword [esp + 0x3c]
movss xmm4, dword [esp + 0x40]
movss xmm5, dword [esp + 0x44]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x118], eax
lea eax, [esp + 0x120]
movq qword [esp + 0x120], xmm0
movq xmm0, qword [esp + 0xb8]
push eax
lea eax, [esp + 0x114]
movq qword [esp + 0x114], xmm0
movss xmm0, dword [esp + 0x4c]
push eax
call fcn.10119ba0
lea ecx, [esp + 0x104]
call fcn.1006d720
jmp 0x10084386
mov eax, dword [esp + 0x34]
movq xmm0, qword [esp + 0xb8]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x68]
movss xmm1, dword [esp + 0x4c]
movss xmm2, dword [esp + 0x50]
movss xmm3, dword [esp + 0x3c]
movss xmm4, dword [esp + 0x40]
movss xmm5, dword [esp + 0x44]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x118], eax
lea eax, [esp + 0x120]
movq qword [esp + 0x120], xmm0
movq xmm0, qword [esp + 0xd0]
push eax
lea eax, [esp + 0x114]
movq qword [esp + 0x114], xmm0
movss xmm0, dword [esp + 0x4c]
push eax
call fcn.10119ba0
lea ecx, [esp + 0x90]
call fcn.1006d720
lea ecx, [esp + 0x38b8]
call fcn.10076950
mov eax, dword [esp + 0x38b8]
push 8
push eax
mov dword [esp + 0x38c0], 0
call fcn.1011c1c8
add esp, 8
lea ecx, [esp + 0x270]
call fcn.100766d0
mov eax, dword [esp + 0x270]
push 8
push eax
mov dword [esp + 0x278], 0
call fcn.1011c1c8
add esp, 8
jmp 0x100847c0
lea ecx, [esp + 0x38b8]
call fcn.10076950
mov eax, dword [esp + 0x38b8]
push 8
push eax
mov dword [esp + 0x38c0], 0
call fcn.1011c1c8
add esp, 8
lea ecx, [esp + 0x270]
call fcn.100766d0
mov eax, dword [esp + 0x270]
push 8
push eax
mov dword [esp + 0x278], 0
call fcn.1011c1c8
jmp 0x1008442f
lea ecx, [esp + 0x270]
call fcn.100766d0
mov eax, dword [esp + 0x270]
push 8
push eax
mov dword [esp + 0x278], 0
call fcn.1011c1c8
mov ebx, dword [esp + 0x24]
add esp, 8
movss xmm1, dword [esp + 0x38]
xorps xmm2, xmm2
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x10084466
movss xmm0, dword [esp + 0x2c]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x10084466
movss xmm0, dword [esp + 0x28]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x100847c0
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1018a32c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10351aa4]
cmp eax, dword [ecx + 4]
jle 0x100844c7
push 0x10351aa4
call fcn.1011c323
add esp, 4
cmp dword [0x10351aa4], 0xffffffff
jne 0x100844be
mov eax, dword [esp + 0x20]
push 0x10351aa4
movq xmm0, qword [eax + 0xc]
movq qword [0x10351aa8], xmm0
mov eax, dword [eax + 0x14]
mov dword [0x10351ab0], eax
call fcn.1011c2d9
add esp, 4
movss xmm1, dword [esp + 0x38]
xorps xmm2, xmm2
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
dec eax
cmp dword [0x1034e4b4], eax
jne 0x10084525
movss xmm0, dword [0x10351aa8]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x1008450a
movss xmm0, dword [0x10351aac]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x1008450a
movss xmm0, dword [0x10351ab0]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x10084525
cmp byte [edi + 2], 0
je 0x10084525
movq xmm0, qword [0x10351aa8]
movq qword [ecx + 0xc], xmm0
mov eax, dword [0x10351ab0]
mov dword [ecx + 0x14], eax
movss xmm0, dword [esp + 0x2c]
lea esi, [ecx + 0xc]
subss xmm0, dword [esp + 0x7c]
subss xmm1, dword [esp + 0x78]
lea ecx, [esp + 0x130]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x28]
subss xmm0, dword [esp + 0x80]
movss dword [esp + 0x18], xmm1
xorps xmm0, xmmword [0x10179810]
movss dword [esp + 0x58], xmm0
fld dword [esp + 0x58]
fld dword [esp + 0x18]
fst dword [esp + 0x58]
movss xmm1, dword [esp + 0x58]
fld dword [esp + 0x70]
fst dword [esp + 0x58]
movss xmm0, dword [esp + 0x58]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0x58], xmm0
fld dword [esp + 0x58]
fxch st(1)
fxch st(3)
movss xmm0, dword [esp + 0xc4]
fxch st(1)
fpatan
addss xmm0, dword [esi]
fstp dword [esp + 0x58]
movss xmm1, dword [esp + 0x58]
fpatan
mulss xmm1, dword [0x10179074]
fstp dword [esp + 0x58]
subss xmm1, xmm0
movss xmm0, dword [esp + 0xc8]
addss xmm0, dword [esi + 4]
movss dword [esp + 0x130], xmm1
movss xmm1, dword [esp + 0x58]
mulss xmm1, dword [0x10179074]
subss xmm1, xmm0
movss xmm0, dword [esp + 0xcc]
addss xmm0, dword [esi + 8]
movss dword [esp + 0x134], xmm1
xorps xmm0, xmmword [0x10179810]
movss dword [esp + 0x138], xmm0
call fcn.10071300
movss xmm4, dword [0x101797e0]
mov byte [esp + 0x27], 0
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x90], xmm0
movss xmm2, dword [esp + 0x90]
movss xmm1, dword [esp + 0x94]
movaps xmm0, xmm2
mov dword [esp + 0x98], eax
andps xmm0, xmm4
mov eax, dword [0x10189818]
movss xmm3, dword [eax + 0x3740]
comiss xmm0, xmm3
ja 0x10084685
movaps xmm0, xmm1
andps xmm0, xmm4
comiss xmm0, xmm3
jbe 0x100846b0
comiss xmm2, xmm3
movaps xmm0, xmm3
xorps xmm0, xmmword [0x10179810]
jbe 0x10084699
movaps xmm2, xmm3
jmp 0x1008469d
maxss xmm2, xmm0
comiss xmm1, xmm3
jbe 0x100846a7
movaps xmm1, xmm3
jmp 0x100846ab
maxss xmm1, xmm0
mov byte [esp + 0x27], 1
movss xmm0, dword [esp + 0x98]
addss xmm2, dword [esi]
addss xmm1, dword [esi + 4]
addss xmm0, dword [esi + 8]
movss dword [esi], xmm2
movss dword [esi + 4], xmm1
movss dword [esi + 8], xmm0
cmp byte [edi + 2], 0
jne 0x100846eb
mov eax, dword [0x10189820]
push esi
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
call eax
cmp byte [edi + 8], 0
je 0x1008472b
mov ecx, 0xb439d47
call fcn.100b07b0
mov ecx, dword [0x10189814]
movd xmm0, dword [0x10352e88]
cvtdq2ps xmm0, xmm0
mov ecx, dword [ecx + 0x10]
mulss xmm0, dword [ecx + 0x20]
comiss xmm0, dword [eax + ebx]
jb 0x1008472b
cmp byte [esp + 0x27], 0
jne 0x10084732
mov ebx, dword [esp + 0x20]
or dword [ebx + 0x30], 1
jmp 0x10084740
cmp byte [esp + 0x27], 0
je 0x1008473c
mov ebx, dword [esp + 0x20]
and dword [ebx + 0x30], 0xfffffffe
jmp 0x10084740
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx + 0x30]
test al, 1
je 0x10084786
call fcn.10078a70
mov eax, dword [0x10189814]
addss xmm0, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov eax, dword [eax + 0x10]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x10178e88]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xa8]
mov dword [ebx + 8], eax
call fcn.10085d90
cmp byte [esp + 0x27], 0
je 0x100847a3
movq xmm0, qword [esi]
movq qword [0x10351aa8], xmm0
mov eax, dword [esi + 8]
mov dword [0x10351ab0], eax
jmp 0x100847b8
xorps xmm0, xmm0
mov dword [0x10351ab0], 0
movq qword [0x10351aa8], xmm0
mov eax, dword [ebx + 4]
mov dword [0x1034e4b4], eax
mov esi, dword [esp + 0xf8]
test esi, esi
je 0x100847fb
mov ecx, dword [esp + 0x9c]
mov eax, esi
sub ecx, esi
and ecx, 0xfffffff0
cmp ecx, 0x1000
jb 0x100847f1
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008480c
push ecx
push esi
call fcn.1011c1c8
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10079650
call fcn.100766c0
call fcn.10120cee
int3