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

Disassembly:
mov rax, rsp
movss dword [rax + 0x20], xmm3
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rdi
push r12
lea rbp, [rax - 0xd8]
sub rsp, 0x1c0
mov r9d, dword [rbp + 0x100]
mov qword [rax - 0x20], rbx
mov rbx, r8
mov qword [rax - 0x28], rsi
mov rsi, qword [0x1801b0270]
mov qword [rax - 0x30], r13
mov r13d, r9d
mov qword [rax - 0x38], r14
or r13d, 6
mov qword [rax - 0x40], r15
mov r14, rcx
movaps xmmword [rax - 0x58], xmm6
mov r15, rsi
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xd8], xmm14
mov eax, r9d
and eax, 0x200
cmove r13d, r9d
xor r12b, r12b
mov dword [rsp + 0x68], r13d
call fcn.1800276b0
mov rdi, rax
test rax, rax
jne 0x180027bc8
mov rdx, qword [rbx]
mov r8d, r13d
mov rcx, r14
call fcn.180027720
mov rsi, qword [0x1801b0270]
mov rdi, rax
mov r12b, 1
mov r11d, dword [rsi + 0x1734]
mov eax, dword [rdi + 0x218]
mov dword [rbp - 0x58], r11d
mov dword [rbp - 0x30], eax
cmp eax, r11d
je 0x180027be7
mov dword [rdi + 0xc], r13d
jmp 0x180027bf0
mov r13d, dword [rdi + 0xc]
mov dword [rsp + 0x68], r13d
lea r14, [r15 + 0x1768]
cmp dword [r14], 0
je 0x180027c13
mov eax, dword [r14]
dec eax
movsxd rcx, eax
mov rax, qword [r14 + 8]
mov rax, qword [rax + rcx*8]
mov qword [rbp - 0x28], rax
jmp 0x180027c1b
mov qword [rbp - 0x28], 0
mov ecx, dword [r14 + 4]
mov ebx, 8
mov r8d, dword [r14]
cmp r8d, ecx
jne 0x180027c5d
inc r8d
test ecx, ecx
je 0x180027c3e
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180027c40
mov eax, ebx
cmp eax, r8d
mov rcx, r14
cmovg r8d, eax
mov edx, r8d
call fcn.180034aa0
mov r11d, dword [rbp - 0x58]
mov rsi, qword [0x1801b0270]
movsxd rcx, dword [r14]
mov rax, qword [r14 + 8]
mov qword [rax + rcx*8], rdi
lea rcx, [rdi + 0x194]
inc dword [r14]
movss xmm0, dword [rsi + 0x1724]
mov qword [rsi + 0x1760], rdi
mulss xmm0, dword [rdi + 0x280]
movss dword [rsi + 0x1720], xmm0
mov eax, dword [rdi + 0x1e8]
mov dword [rcx], eax
mov eax, dword [rdi + 0x180]
mov dword [rcx + 4], eax
mov eax, dword [rsi + 0x1820]
mov dword [rcx + 8], eax
mov eax, dword [rsi + 0x17e0]
mov dword [rcx + 0xc], eax
add rcx, 0x10
mov eax, dword [rsi + 0x17f0]
mov dword [rcx], eax
mov eax, dword [rsi + 0x1800]
mov dword [rcx + 4], eax
lea eax, [r11 - 1]
cmp dword [rdi + 0x218], eax
mov eax, r13d
sete r10b
and eax, 0x2000000
mov dword [rbp - 0x50], eax
mov byte [rsp + 0x40], r10b
je 0x180027d49
lea rcx, [r15 + 0x1820]
movsxd rax, dword [rcx]
lea rdx, [rax + rax*4]
mov rax, qword [r15 + 0x1818]
lea rbx, [rax + rdx*8]
mov eax, dword [rax + rdx*8]
cmp dword [rdi + 0x94], eax
sete dl
cmp rdi, qword [rbx + 8]
mov qword [rbx + 8], rdi
sete al
and dl, al
and r10b, dl
mov rdx, rbx
mov byte [rsp + 0x40], r10b
call fcn.180034a20
mov eax, dword [rbx]
mov ebx, 8
mov rsi, qword [0x1801b0270]
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rbp - 0x58]
mov dword [rdi + 0x94], eax
mov r9d, dword [rdi + 0xa8]
xor r13b, r13b
cmp dword [r15 + 0x184c], 0
movss xmm2, dword [0x1801a0504]
mov dword [rbp - 0x40], r9d
mov byte [rbp + 0x100], 0
je 0x180027e12
movsd xmm5, qword [rdi + 0xc0]
test r10b, r10b
je 0x180027d87
cmp r9d, 1
jne 0x180027d8e
or dword [rdi + 0xac], 8
mov ecx, dword [rdi + 0xac]
mov eax, ecx
mov r8d, dword [r15 + 0x184c]
and eax, r8d
setne byte [rbp + 0x100]
test eax, eax
je 0x180027df0
movss xmm0, dword [r15 + 0x1834]
movss xmm1, dword [r15 + 0x1830]
subss xmm0, xmm2
subss xmm1, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [0x1801a02f8]
comiss xmm0, xmm1
jbe 0x180027df0
and ecx, 0xfffffff1
mov byte [rdi + 0xb8], 1
mov dword [rdi + 0xac], ecx
jmp 0x180027dff
lea rdx, [r15 + 0x1830]
mov rcx, rdi
call fcn.18002b980
xor edx, edx
movsd qword [rdi + 0xc0], xmm5
mov dword [r15 + 0x184c], edx
jmp 0x180027e14
xor edx, edx
cmp dword [r15 + 0x1850], 0
je 0x180027e5a
test r10b, r10b
je 0x180027e29
cmp r9d, 1
jne 0x180027e30
or dword [rdi + 0xb0], 8
mov r8d, dword [r15 + 0x1850]
lea rdx, [r15 + 0x1838]
test dword [rdi + 0xb0], r8d
mov rcx, rdi
setne r13b
call fcn.18002ba40
xor edx, edx
mov dword [r15 + 0x1850], edx
cmp dword [r15 + 0x1854], 0
xorps xmm10, xmm10
je 0x180027e7f
movsd xmm0, qword [r15 + 0x1840]
movsd qword [rdi + 0x3c], xmm0
mov dword [r15 + 0x1854], edx
jmp 0x180027e91
cmp dword [rbp - 0x30], r11d
je 0x180027e91
xorps xmm0, xmm0
unpcklps xmm0, xmm10
movsd qword [rdi + 0x3c], xmm0
cmp dword [r15 + 0x1858], 0
je 0x180027edc
test r10b, r10b
je 0x180027ea6
cmp r9d, 1
jne 0x180027ead
or dword [rdi + 0xb4], 8
mov eax, dword [r15 + 0x1858]
movzx ecx, byte [r15 + 0x1848]
test eax, eax
je 0x180027ec8
test dword [rdi + 0xb4], eax
je 0x180027ed5
and dword [rdi + 0xb4], 0xfffffff1
mov byte [rdi + 0x8b], cl
mov dword [r15 + 0x1858], edx
cmp byte [r15 + 0x1881], 0
je 0x180027f01
mov rcx, qword [rsi + 0x1760]
call fcn.18002b120
mov rsi, qword [0x1801b0270]
mov byte [r15 + 0x1881], 0
mov ecx, dword [r14]
dec ecx
test ecx, ecx
jle 0x180027f3a
mov rax, qword [r15 + 0x1770]
movsxd rdx, ecx
lea r8, [rax + rdx*8]
nop dword [rax + rax]
mov rax, qword [r8]
test dword [rax + 0xc], 0x100000
je 0x180027f3a
dec ecx
dec rdx
sub r8, 8
test rdx, rdx
jg 0x180027f20
mov r9d, ecx
test ecx, ecx
jle 0x180027f6b
mov rax, qword [r15 + 0x1770]
movsxd rdx, ecx
lea r8, [rax + rdx*8]
nop
mov rax, qword [r8]
test dword [rax + 0xc], 0x2100000
je 0x180027f6b
dec r9d
dec rdx
sub r8, 8
test rdx, rdx
jg 0x180027f50
mov rax, qword [rbp - 0x28]
mov r14d, 1
movss xmm14, dword [0x1801a0324]
mov qword [rdi + 0x2a0], rax
mov rax, qword [r15 + 0x1770]
movsxd rcx, ecx
mov rcx, qword [rax + rcx*8]
mov qword [rdi + 0x290], rcx
mov rax, qword [r15 + 0x1770]
movsxd rcx, r9d
mov rcx, qword [rax + rcx*8]
mov eax, dword [rbp - 0x58]
mov qword [rdi + 0x298], rcx
cmp dword [rbp - 0x30], eax
je 0x18002a613
movups xmm0, xmmword [0x1801a0a30]
xor ecx, ecx
mov byte [rdi + 0x88], r14b
movaps xmmword [rsp + 0x170], xmm7
movaps xmmword [rsp + 0x160], xmm8
movaps xmmword [rsp + 0x120], xmm12
movups xmmword [rdi + 0x1f8], xmm0
mov dword [rdi + 0x10], ecx
mov dword [rdi + 0x90], ecx
mov dword [rdi + 0x218], eax
mov ecx, dword [rdi + 0x1ec]
movaps xmmword [rsp + 0x110], xmm13
movaps xmmword [rsp + 0xf0], xmm15
cmp ecx, r14d
jge 0x18002803e
test ecx, ecx
je 0x180028027
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180028029
mov eax, ebx
cmp eax, r14d
lea rcx, [rdi + 0x1e8]
mov edx, r14d
cmovg edx, eax
call fcn.180034bc0
mov dword [rdi + 0x1e8], r14d
mov rcx, qword [rdi + 0x288]
call fcn.18003b9d0
mov rsi, qword [rdi + 0x288]
mov rax, qword [r15 + 0x1718]
mov ecx, dword [rsi + 0x64]
mov r8d, dword [rsi + 0x60]
mov r14, qword [rax + 0x58]
cmp r8d, ecx
jne 0x180028099
inc r8d
test ecx, ecx
je 0x180028081
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180028086
mov eax, 8
cmp eax, r8d
lea rcx, [rsi + 0x60]
cmovg r8d, eax
mov edx, r8d
call fcn.180034aa0
movsxd r8, dword [rsi + 0x60]
mov rcx, rsi
mov rax, qword [r14]
mov rdx, qword [rsi + 0x68]
movaps xmmword [rsp + 0x150], xmm9
mov qword [rdx + r8*8], rax
inc dword [rsi + 0x60]
call fcn.18003bee0
mov rbx, qword [0x1801b0270]
movss xmm0, dword [rbx + 0xa8]
ucomiss xmm0, dword [rbx + 0xb0]
jp 0x1800280d6
je 0x1800280e9
movss xmm0, dword [rbx + 0xac]
ucomiss xmm0, dword [rbx + 0xb4]
jp 0x18002814a
jne 0x18002814a
movsd xmm2, qword [rbp - 0x68]
movaps xmm6, xmm10
movss xmm8, dword [rbx + 8]
movaps xmm4, xmm6
movss xmm9, dword [rbx + 0xc]
movaps xmm1, xmm8
movss xmm2, xmm1
movaps xmm3, xmm9
movsd xmm1, qword [rbp - 0x70]
movaps xmm7, xmm10
movss xmm1, xmm4
shufps xmm2, xmm2, 0xe1
movaps xmm0, xmm1
movss xmm2, xmm3
shufps xmm0, xmm0, 0xe1
movaps xmm5, xmm7
movss xmm0, xmm5
shufps xmm2, xmm2, 0xe1
shufps xmm0, xmm0, 0xe1
movaps xmm3, xmm2
movsd qword [rbp - 0x70], xmm0
movaps xmm1, xmm0
movsd qword [rbp - 0x68], xmm2
jmp 0x180028184
movsd xmm3, qword [rbx + 0xb0]
movsd xmm1, qword [rbx + 0xa8]
movaps xmm0, xmm3
shufps xmm0, xmm0, 0x55
movaps xmm9, xmm0
movsd qword [rbp - 0x68], xmm3
movss xmm8, dword [rbp - 0x68]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movsd qword [rbp - 0x70], xmm1
movaps xmm7, xmm0
movss xmm6, dword [rbp - 0x70]
mov esi, dword [rsp + 0x68]
mov r9b, 1
mov eax, esi
and eax, 0x2900000
cmp eax, 0x100000
mov rax, qword [rbx + 0x1760]
mov byte [rax + 0x8a], r9b
mov rbx, qword [rbx + 0x1760]
mov rcx, qword [rbx + 0x288]
jne 0x1800281c9
mov rax, qword [rbp - 0x28]
mov r8, qword [rax + 0x200]
mov rdx, qword [rax + 0x1f8]
jmp 0x1800281d3
movq r8, xmm3
movq rdx, xmm1
call fcn.18003bf90
mov rcx, qword [rbx + 0x288]
movzx r14d, byte [rsp + 0x40]
mov eax, dword [rcx + 0x50]
dec eax
movsxd rdx, eax
shl rdx, 4
add rdx, qword [rcx + 0x58]
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbx + 0x1f8], xmm0
test r14b, r14b
jne 0x18002824b
mov ebx, dword [rbp - 0x50]
mov dword [rdi + 0xa4], 0xffffffff
bt esi, 0xc
jb 0x180028230
test esi, 0x1100000
je 0x180028228
test ebx, ebx
je 0x18002824b
mov rcx, rdi
call fcn.18002b120
test ebx, ebx
je 0x18002824b
cmp byte [rbp + 0x100], 0
jne 0x18002824b
movsd xmm0, qword [r15 + 0xf8]
movsd qword [rdi + 0x14], xmm0
mov ebx, dword [rsp + 0x68]
mov rcx, qword [0x1801b0270]
test bl, 0x21
jne 0x18002838d
test byte [rdi + 0xc], 1
je 0x18002826b
movaps xmm1, xmm10
jmp 0x18002828b
movss xmm0, dword [rcx + 0x1414]
movss xmm1, dword [rcx + 0x1724]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x280]
addss xmm1, xmm0
movss xmm2, dword [rdi + 0x2c]
movsd xmm0, qword [rdi + 0x1c]
addss xmm2, dword [rdi + 0x1c]
addss xmm1, dword [rdi + 0x20]
movsd qword [rsp + 0x78], xmm0
cmp qword [r15 + 0x1780], rdi
jne 0x180028394
mov rax, qword [rcx + 0x1760]
movss xmm3, dword [rsp + 0x78]
movss xmm0, dword [rsp + 0x7c]
movss xmm4, dword [rax + 0x1f8]
comiss xmm4, xmm3
jbe 0x1800282d5
movaps xmm3, xmm4
movss xmm4, dword [rax + 0x1fc]
comiss xmm4, xmm0
jbe 0x1800282e5
movaps xmm0, xmm4
movss xmm4, dword [rax + 0x200]
comiss xmm2, xmm4
jbe 0x1800282f5
movaps xmm2, xmm4
movss xmm4, dword [rax + 0x204]
comiss xmm1, xmm4
jbe 0x180028305
movaps xmm1, xmm4
subss xmm3, dword [rcx + 0x142c]
movss xmm4, dword [rcx + 0xf8]
addss xmm2, dword [rcx + 0x142c]
addss xmm1, dword [rcx + 0x1430]
subss xmm0, dword [rcx + 0x1430]
comiss xmm4, xmm3
jb 0x180028394
movss xmm3, dword [rcx + 0xfc]
comiss xmm3, xmm0
jb 0x180028394
comiss xmm2, xmm4
jbe 0x180028394
comiss xmm1, xmm3
jbe 0x180028394
cmp byte [r15 + 0x3a0], 0
je 0x180028394
cmp byte [rdi + 0x8b], 0
sete al
mov byte [rdi + 0x8b], al
bt ebx, 8
jb 0x18002837c
comiss xmm10, dword [rcx + 0x17d8]
jb 0x18002837c
mov eax, dword [rcx + 0x14]
mov dword [rcx + 0x17d8], eax
mov rcx, rdi
call fcn.18002b120
mov rcx, qword [0x1801b0270]
jmp 0x180028394
mov byte [rdi + 0x8b], 0
movss xmm0, dword [rdi + 0x3c]
ucomiss xmm0, xmm10
jp 0x1800283be
jne 0x1800283be
test r12b, r12b
je 0x1800283ac
movaps xmm0, xmm10
jmp 0x1800283b9
movss xmm0, dword [rdi + 0xd8]
subss xmm0, dword [rdi + 0x1c]
addss xmm0, dword [rdi + 0x60]
movss xmm1, dword [rdi + 0x40]
ucomiss xmm1, xmm10
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x34], xmm0
jp 0x1800283f8
jne 0x1800283f8
test r12b, r12b
je 0x1800283e6
movaps xmm1, xmm10
jmp 0x1800283f3
movss xmm1, dword [rdi + 0xdc]
subss xmm1, dword [rdi + 0x20]
addss xmm1, dword [rdi + 0x64]
cvttss2si eax, xmm1
movd xmm0, eax
mov eax, dword [rdi + 0xa8]
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x38], xmm0
test eax, eax
jle 0x18002841a
dec eax
mov dword [rdi + 0xa8], eax
mov eax, ebx
and eax, 0x3000000
mov dword [rsp + 0x60], eax
je 0x18002845d
test r14b, r14b
jne 0x18002845d
mov dword [rdi + 0xa8], 1
test bl, 0x40
je 0x18002845d
test r13b, r13b
jne 0x180028450
movaps xmm0, xmm10
unpcklps xmm0, xmm10
unpcklpd xmm0, xmm0
movups xmmword [rdi + 0x24], xmm0
movaps xmm0, xmm10
unpcklps xmm0, xmm10
movsd qword [rdi + 0x34], xmm0
mov eax, ebx
and eax, 0x2910080
cmp eax, 0x100000
lea rax, [rsp + 0x48]
jne 0x18002847b
mov qword [rsp + 0x48], 0
jmp 0x18002848a
movsd xmm0, qword [r15 + 0x13f4]
movsd qword [rsp + 0x48], xmm0
movsd xmm0, qword [rax]
mov r14d, ebx
movsd qword [rdi + 0x54], xmm0
and r14d, 0x1000000
je 0x1800284cc
movss xmm1, dword [rdi + 0x34]
addss xmm1, dword [rdi + 0x54]
movss xmm2, dword [rdi + 0x58]
addss xmm2, dword [rdi + 0x38]
subss xmm1, xmm10
subss xmm2, dword [r15 + 0x1420]
movss dword [rsp + 0x48], xmm1
jmp 0x180028595
movss xmm1, dword [r15 + 0xc]
subss xmm1, dword [r15 + 0x1458]
movss xmm0, dword [r15 + 8]
subss xmm0, dword [r15 + 0x1454]
movss xmm3, dword [r15 + 0x1400]
movss xmm4, dword [r15 + 0x13fc]
movss xmm2, dword [r15 + 0x1400]
maxss xmm3, xmm1
movss xmm1, dword [rdi + 0x38]
addss xmm1, dword [rdi + 0x58]
maxss xmm4, xmm0
movss xmm0, dword [rdi + 0x54]
addss xmm0, dword [rdi + 0x34]
comiss xmm2, xmm1
ja 0x18002852d
movaps xmm2, xmm3
minss xmm2, xmm1
movss xmm1, dword [r15 + 0x13fc]
comiss xmm1, xmm0
ja 0x180028542
movaps xmm1, xmm4
minss xmm1, xmm0
movss xmm0, dword [rdi + 0x34]
comiss xmm0, xmm1
movss dword [rsp + 0x48], xmm1
jbe 0x180028569
mov eax, ebx
and eax, 0x808
cmp eax, 0x800
jne 0x180028569
addss xmm2, dword [r15 + 0x143c]
movss xmm0, dword [rdi + 0x38]
comiss xmm0, xmm2
jbe 0x180028587
test bl, 8
jne 0x180028587
addss xmm1, dword [r15 + 0x143c]
movss dword [rsp + 0x48], xmm1
subss xmm2, dword [r15 + 0x1420]
maxss xmm2, xmm10
cmp byte [rdi + 0x8b], 0
movss dword [rsp + 0x4c], xmm2
movsd xmm15, qword [rsp + 0x48]
je 0x180028606
cmp dword [rdi + 0x98], 0
jle 0x1800285d0
cmp byte [rdi + 0xa0], 0
je 0x1800285c8
movss xmm0, dword [rdi + 0x2c]
maxss xmm0, xmm1
jmp 0x1800285cb
movaps xmm0, xmm1
movss dword [rdi + 0x2c], xmm0
cmp dword [rdi + 0x9c], 0
jle 0x18002868e
cmp byte [rdi + 0xa0], 0
je 0x1800285f9
movss xmm0, dword [rdi + 0x30]
maxss xmm0, xmm2
movss dword [rdi + 0x30], xmm0
jmp 0x18002868e
movaps xmm0, xmm2
movss dword [rdi + 0x30], xmm0
jmp 0x18002868e
test bl, 0x40
je 0x180028618
test r13b, r13b
jne 0x180028618
movsd qword [rdi + 0x2c], xmm15
jmp 0x18002868e
mov eax, dword [rdi + 0x98]
test eax, eax
jg 0x18002862b
cmp dword [rdi + 0x9c], 0
jle 0x18002868e
test r13b, r13b
jne 0x18002868e
test eax, eax
jle 0x180028650
cmp byte [rdi + 0xa0], r13b
je 0x180028648
movss xmm0, dword [rdi + 0x2c]
maxss xmm0, xmm1
jmp 0x18002864b
movaps xmm0, xmm1
movss dword [rdi + 0x2c], xmm0
cmp dword [rdi + 0x9c], 0
jle 0x180028675
cmp byte [rdi + 0xa0], 0
je 0x18002866d
movss xmm0, dword [rdi + 0x30]
maxss xmm0, xmm2
jmp 0x180028670
movaps xmm0, xmm2
movss dword [rdi + 0x30], xmm0
bt ebx, 8
jb 0x18002868e
comiss xmm10, dword [rcx + 0x17d8]
jb 0x18002868e
mov eax, dword [rcx + 0x14]
mov dword [rcx + 0x17d8], eax
mov rdx, qword [rdi + 0x2c]
mov rcx, rdi
call fcn.1800279d0
cmp byte [rdi + 0x8b], 0
mov rsi, qword [0x1801b0270]
je 0x18002870d
test byte [rdi + 0xc], 1
je 0x1800286b6
movaps xmm2, xmm10
jmp 0x1800286d6
movss xmm0, dword [rsi + 0x1414]
movss xmm2, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm2, dword [rdi + 0x280]
addss xmm2, xmm0
movsd xmm1, qword [rdi + 0x1c]
movss xmm0, dword [rdi + 0x2c]
addss xmm0, dword [rdi + 0x1c]
addss xmm2, dword [rdi + 0x20]
movsd qword [rsp + 0x78], xmm1
subss xmm0, xmm1
movss dword [rsp + 0x48], xmm0
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
subss xmm2, xmm0
movss dword [rsp + 0x4c], xmm2
jmp 0x180028718
movsd xmm0, qword [rdi + 0x2c]
movsd qword [rsp + 0x48], xmm0
lea rax, [rsp + 0x48]
mov r13d, ebx
movsd xmm0, qword [rax]
lea r8, [rdi + 0x24]
movsd qword [r8], xmm0
and r13d, 0x100000
je 0x180028796
mov rbx, qword [rbp - 0x28]
add rbx, 0x118
mov eax, dword [rbx]
mov dword [rdi + 0x10], eax
mov ecx, dword [rbx + 4]
mov r8d, dword [rbx]
cmp r8d, ecx
jne 0x180028781
inc r8d
test ecx, ecx
je 0x180028763
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180028768
mov eax, 8
cmp eax, r8d
mov rcx, rbx
cmovg r8d, eax
mov edx, r8d
call fcn.180034aa0
mov rsi, qword [0x1801b0270]
movsxd rcx, dword [rbx]
lea r8, [rdi + 0x24]
mov rax, qword [rbx + 8]
mov qword [rax + rcx*8], rdi
inc dword [rbx]
mov ebx, dword [rsp + 0x68]
mov r9, qword [rbp - 0x28]
mov eax, ebx
and eax, 0x2100000
cmp eax, 0x100000
jne 0x1800287ce
movsd xmm1, qword [r9 + 0xc0]
mov rax, qword [rbp + 0xf0]
unpcklpd xmm1, xmm1
movups xmmword [rdi + 0x14], xmm1
movsd xmm2, qword [rax]
movsd qword [rdi + 0x2c], xmm2
movsd qword [r8], xmm2
cmp byte [rdi + 0xb8], 0
je 0x1800287e7
cmp dword [rdi + 0xa8], 0
jne 0x1800287e7
mov ecx, 1
jmp 0x1800287e9
xor ecx, ecx
mov edx, dword [rbp - 0x40]
mov r12d, ebx
and r12d, 0x4000000
je 0x18002880a
cmp byte [rbp + 0x100], 0
jne 0x18002880a
cmp edx, 1
jne 0x18002880a
mov eax, edx
jmp 0x18002880c
xor eax, eax
or al, cl
je 0x180028a88
movss xmm0, dword [rdi + 0x2c]
addss xmm6, xmm8
movss xmm1, dword [rdi + 0x30]
addss xmm7, xmm9
mov rax, qword [rsi + 0x1760]
lea rdx, [rsp + 0x48]
mulss xmm0, xmm14
xor r8d, r8d
mulss xmm1, xmm14
mulss xmm6, xmm14
mulss xmm7, xmm14
subss xmm6, xmm0
movss xmm0, dword [r15 + 0x1454]
subss xmm7, xmm1
movss xmm1, dword [r15 + 0x1458]
mov byte [rax + 0x8a], 1
mov rcx, qword [rsi + 0x1760]
maxss xmm0, xmm6
maxss xmm1, xmm7
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
call fcn.18002b980
movss xmm9, dword [0x1801a034c]
movzx eax, byte [rbp + 0x100]
movss xmm7, dword [0x1801a03c0]
lea r8, [rdi + 0x24]
movss xmm6, dword [0x1801a0438]
test r14d, r14d
je 0x180028963
test al, al
jne 0x180028963
movss xmm3, dword [r15 + 0xf8]
lea rax, [rsp + 0x48]
movss xmm2, dword [r15 + 0xfc]
lea r9, [rdi + 0xa4]
movaps xmm0, xmm3
mov qword [rsp + 0x20], rax
addss xmm3, dword [0x1801a0458]
movaps xmm1, xmm2
subss xmm0, xmm6
subss xmm1, dword [0x1801a041c]
addss xmm2, dword [0x1801a0458]
lea rdx, [r15 + 0xf8]
lea rcx, [rsp + 0x78]
movss dword [rsp + 0x50], xmm3
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
movss dword [rsp + 0x54], xmm2
call fcn.1800273c0
cmp dword [rdi + 0xa4], 0xffffffff
movsd xmm0, qword [rax]
movsd qword [rdi + 0x14], xmm0
jne 0x180028963
movss xmm0, dword [r15 + 0xf8]
movss xmm1, dword [r15 + 0xfc]
addss xmm0, xmm7
addss xmm1, xmm7
unpcklps xmm0, xmm1
movsd qword [rdi + 0x14], xmm0
mov ebx, dword [rsp + 0x68]
test ebx, 0x1100000
jne 0x180028a3c
cmp byte [rbp + 0x100], 0
jne 0x180028a3c
cmp dword [rdi + 0x98], 0
jg 0x180028a3c
cmp dword [rdi + 0x9c], 0
jg 0x180028a3c
movss xmm0, dword [r15 + 8]
comiss xmm0, xmm10
jbe 0x180028a3c
movss xmm0, dword [r15 + 0xc]
comiss xmm0, xmm10
jbe 0x180028a3c
movss xmm0, dword [r8]
addss xmm0, dword [rdi + 0x14]
movss xmm2, dword [r15 + 0x144c]
maxss xmm2, dword [r15 + 0x1454]
movss xmm1, dword [rdi + 0x18]
addss xmm1, dword [r8 + 4]
movss xmm3, dword [r15 + 0x1450]
maxss xmm3, dword [r15 + 0x1458]
maxss xmm0, xmm2
maxss xmm1, xmm3
subss xmm0, dword [r8]
subss xmm1, dword [r8 + 4]
unpcklps xmm0, xmm1
movsd qword [rdi + 0x14], xmm0
movss xmm1, dword [r15 + 8]
movss xmm0, dword [rdi + 0x14]
subss xmm1, xmm2
movss xmm2, dword [r15 + 0xc]
subss xmm2, xmm3
minss xmm0, xmm1
movss xmm1, dword [rdi + 0x18]
minss xmm1, xmm2
unpcklps xmm0, xmm1
movsd qword [rdi + 0x14], xmm0
cvttss2si eax, dword [rdi + 0x14]
movd xmm0, eax
cvttss2si eax, dword [rdi + 0x18]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
unpcklps xmm0, xmm1
movss xmm1, dword [r8]
comiss xmm1, xmm10
movsd qword [rdi + 0x1c], xmm0
jbe 0x180028c75
test ebx, 0x1000040
jne 0x180028c75
mulss xmm1, dword [0x1801a032c]
cvttss2si eax, xmm1
jmp 0x180028c86
bt ebx, 0x1b
jae 0x180028be4
cmp byte [r9 + 0x10e], 0
je 0x180028b64
mov ecx, dword [r9 + 0xc]
mov eax, ecx
and eax, 1
je 0x180028ab1
movaps xmm1, xmm10
jmp 0x180028ad2
movss xmm0, dword [rsi + 0x1414]
movss xmm1, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm1, dword [r9 + 0x280]
addss xmm1, xmm0
bt ecx, 0xa
jae 0x180028afb
movss xmm0, dword [rsi + 0x1414]
movss xmm3, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm3, dword [r9 + 0x280]
addss xmm3, xmm0
jmp 0x180028aff
movaps xmm3, xmm10
test eax, eax
je 0x180028b09
movaps xmm2, xmm10
jmp 0x180028b2a
movss xmm0, dword [rsi + 0x1414]
movss xmm2, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm2, dword [r9 + 0x280]
addss xmm2, xmm0
addss xmm1, dword [r9 + 0x20]
addss xmm2, dword [r9 + 0x20]
mov dword [rsp + 0x78], 0xff7fffff
mov dword [rbp - 0x80], 0x7f7fffff
movups xmm0, xmmword [rsp + 0x78]
addss xmm1, xmm3
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm2
shufps xmm0, xmm0, 0x87
movss xmm0, xmm1
shufps xmm0, xmm0, 0x39
jmp 0x180028bae
movss xmm0, dword [r15 + 0x141c]
movss xmm2, dword [r9 + 0x1c]
movaps xmm1, xmm0
addss xmm1, xmm2
mov dword [rsp + 0x7c], 0xff7fffff
addss xmm2, dword [r9 + 0x24]
mov dword [rbp - 0x7c], 0x7f7fffff
subss xmm2, xmm0
movups xmm0, xmmword [rsp + 0x78]
movss xmm0, xmm1
subss xmm2, dword [r9 + 0x7c]
shufps xmm0, xmm0, 0xd2
movss xmm0, xmm2
shufps xmm0, xmm0, 0xc9
lea rax, [rsp + 0x78]
movups xmmword [rsp + 0x78], xmm0
lea r9, [rdi + 0xa4]
mov qword [rsp + 0x20], rax
lea rdx, [rdi + 0x14]
lea rcx, [rbp - 0x20]
movups xmmword [rsp + 0x78], xmm0
call fcn.1800273c0
movsd xmm0, qword [rax]
movsd qword [rdi + 0x14], xmm0
jmp 0x18002888c
cmp dword [rbp - 0x50], 0
je 0x18002888c
movzx eax, byte [rbp + 0x100]
movss xmm9, dword [0x1801a034c]
test al, al
jne 0x18002889c
cmp edx, 1
jne 0x18002889c
movss xmm3, dword [rdi + 0x14]
lea rax, [rsp + 0x78]
movss xmm2, dword [rdi + 0x18]
lea r9, [rdi + 0xa4]
movaps xmm0, xmm3
mov qword [rsp + 0x20], rax
movaps xmm1, xmm2
subss xmm0, xmm9
subss xmm1, xmm9
addss xmm3, xmm9
addss xmm2, xmm9
lea rdx, [rdi + 0x14]
lea rcx, [rbp - 0x20]
movss dword [rsp + 0x78], xmm0
movss dword [rsp + 0x7c], xmm1
movss dword [rbp - 0x80], xmm3
movss dword [rbp - 0x7c], xmm2
call fcn.1800273c0
movsd xmm0, qword [rax]
movsd qword [rdi + 0x14], xmm0
jmp 0x180028895
movss xmm0, dword [r15 + 0x1720]
mulss xmm0, xmm6
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [rdi + 0x2b8]
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x21c], xmm0
cmp eax, 0x7fffffff
je 0x180028cb8
mov ecx, dword [rdi + 0x2a8]
cmp ecx, 0xffffffff
je 0x180028cb8
inc eax
add eax, ecx
inc ecx
cdq
idiv ecx
jmp 0x180028cbd
mov edx, 0x7fffffff
mov eax, dword [rdi + 0x2bc]
mov dword [rdi + 0x2b0], edx
cmp eax, 0x7fffffff
je 0x180028ce6
mov ecx, dword [rdi + 0x2ac]
cmp ecx, 0xffffffff
je 0x180028ce6
inc eax
add eax, ecx
inc ecx
cdq
idiv ecx
jmp 0x180028ceb
mov edx, 0x7fffffff
movss xmm0, dword [rdi + 0x68]
movss xmm8, dword [0x1801a04cc]
comiss xmm8, xmm0
mov dword [rdi + 0x2b4], edx
mov qword [rdi + 0x2a8], 0xffffffffffffffff
mov dword [rdi + 0x2bc], 0x7fffffff
mov dword [rdi + 0x2b8], 0x7fffffff
jbe 0x180028d30
movss dword [rdi + 0x60], xmm0
mov dword [rdi + 0x68], 0x7f7fffff
movss xmm2, dword [rdi + 0x6c]
comiss xmm8, xmm2
jbe 0x180028d91
test byte [rdi + 0xc], 1
movss xmm3, dword [rdi + 0x74]
je 0x180028d4c
movaps xmm1, xmm10
jmp 0x180028d6c
movss xmm0, dword [rsi + 0x1414]
movss xmm1, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x280]
addss xmm1, xmm0
movaps xmm0, xmm9
mov dword [rdi + 0x6c], 0x7f7fffff
subss xmm0, xmm3
mulss xmm3, dword [rdi + 0x30]
mulss xmm0, xmm1
subss xmm2, xmm0
subss xmm2, xmm3
movss dword [rdi + 0x64], xmm2
cmp byte [rdi + 0x8b], 0
movss xmm0, dword [rdi + 0x60]
movss xmm1, dword [rdi + 0x64]
maxss xmm0, xmm10
maxss xmm1, xmm10
unpcklps xmm0, xmm1
movsd qword [rdi + 0x60], xmm0
jne 0x180028e0a
cmp byte [rdi + 0x8c], 0
jne 0x180028e0a
movss xmm0, dword [rdi + 0x34]
movaps xmm1, xmm10
subss xmm0, dword [rdi + 0x2c]
movss xmm3, dword [rdi + 0x38]
movaps xmm2, xmm10
subss xmm3, dword [rdi + 0x30]
addss xmm0, dword [rdi + 0x7c]
addss xmm3, dword [rdi + 0x80]
maxss xmm1, xmm0
movss xmm0, dword [rdi + 0x60]
maxss xmm2, xmm3
minss xmm0, xmm1
movss xmm1, dword [rdi + 0x64]
minss xmm1, xmm2
unpcklps xmm0, xmm1
movsd qword [rdi + 0x60], xmm0
test r12d, r12d
je 0x180028ed2
mov eax, dword [rsi + 0x1810]
sub eax, 1
js 0x180028e52
mov rcx, qword [rsi + 0x1818]
movsxd rdx, eax
lea r8, [rdx*4 + 1]
add r8, rdx
lea r8, [rcx + r8*8]
mov rax, qword [r8]
test rax, rax
je 0x180028e48
test dword [rax + 0xc], 0x4000000
jne 0x180028e54
sub r8, 0x28
sub rdx, 1
jns 0x180028e37
xor eax, eax
cmp rdi, rax
jne 0x180028ece
movups xmm2, xmmword [rsi + 0x1704]
lea rcx, [rsp + 0x48]
movss xmm1, dword [r15 + 0x18d8]
mulss xmm1, dword [rsi + 0x13f0]
movups xmmword [rsp + 0x48], xmm2
shufps xmm2, xmm2, 0xff
mulss xmm2, xmm1
movss dword [rsp + 0x54], xmm2
call fcn.1800223e0
mov rbx, qword [rdi + 0x288]
mov r14d, eax
cmp eax, 0x1000000
jb 0x180028eca
mov edx, 6
mov rcx, rbx
lea r8d, [rdx - 2]
call fcn.18003c5e0
mov r9d, r14d
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.18003c6b0
mov rsi, qword [0x1801b0270]
mov ebx, dword [rsp + 0x68]
lea r8, [rdi + 0x24]
mov edx, dword [rdi + 0xc]
and edx, 1
je 0x180028ee0
movaps xmm1, xmm10
jmp 0x180028f00
movss xmm0, dword [rsi + 0x1414]
movss xmm1, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x280]
addss xmm1, xmm0
movss xmm3, dword [rdi + 0x1c]
movss xmm4, dword [rdi + 0x20]
movaps xmm12, xmm3
movsd xmm6, qword [rdi + 0x1c]
movaps xmm13, xmm4
movaps xmmword [rsp + 0x130], xmm11
addss xmm13, xmm1
movsd qword [rbp - 0x50], xmm6
addss xmm12, dword [rdi + 0x2c]
movss dword [rbp - 0x44], xmm13
movss dword [rbp - 0x48], xmm12
test r13d, r13d
je 0x180028f4c
movss xmm11, dword [r15 + 0x140c]
jmp 0x180028f55
movss xmm11, dword [r15 + 0x1404]
cmp byte [rdi + 0x8b], 0
je 0x180028fac
movups xmm1, xmmword [rsi + 0x1514]
lea rcx, [rsp + 0x48]
movups xmmword [rsp + 0x48], xmm1
shufps xmm1, xmm1, 0xff
mulss xmm1, dword [rsi + 0x13f0]
movss dword [rsp + 0x54], xmm1
call fcn.1800223e0
mov rdx, qword [rbp - 0x48]
mov r8d, eax
mov rcx, qword [rdi + 0x1c]
mov r9b, 1
movss dword [rsp + 0x20], xmm11
call fcn.180025f50
mov rsi, qword [0x1801b0270]
jmp 0x180029d67
movss xmm1, dword [r15 + 0x1720]
xor r14d, r14d
mov dword [rbp + 0x100], r14d
movaps xmm14, xmm1
mulss xmm1, dword [0x1801a0314]
movaps xmm0, xmm11
mulss xmm14, dword [0x1801a035c]
addss xmm0, xmm9
addss xmm1, xmm0
maxss xmm14, xmm1
test bl, 0x40
jne 0x180029289
cmp dword [rdi + 0x98], r14d
jg 0x180029289
cmp dword [rdi + 0x9c], r14d
jg 0x180029289
test bl, 2
jne 0x180029289
addss xmm3, dword [r8]
addss xmm4, dword [rdi + 0x28]
mov eax, dword [rdi + 0x1e8]
movaps xmm2, xmm14
mulss xmm2, dword [0x1801a0338]
dec eax
movsxd rcx, eax
xor edx, edx
mov rax, qword [rdi + 0x1f0]
movaps xmm0, xmm3
movaps xmm1, xmm4
movss dword [rsp + 0x50], xmm3
subss xmm0, xmm2
movss dword [rsp + 0x54], xmm4
subss xmm1, xmm2
mov r8d, dword [rax + rcx*4]
lea rcx, str.RESIZE
unpcklps xmm0, xmm1
movsd qword [rsp + 0x48], xmm0
call fcn.180021e20
cmp dword [rsi + 0x179c], eax
jne 0x18002907e
mov byte [rsi + 0x17a4], 1
lea r9, [rsp + 0x70]
mov dword [rsp + 0x20], 0x20
lea r8, [rbp + 0x100]
mov edx, eax
lea rcx, [rsp + 0x48]
call fcn.18002c320
movzx r8d, byte [rsp + 0x70]
movzx r9d, byte [rbp + 0x100]
test r8b, r8b
je 0x1800290b8
mov eax, 0x21
jmp 0x1800290c4
test r9b, r9b
mov eax, r14d
setne al
add eax, 0x1f
mov rsi, qword [0x1801b0270]
lea rcx, [rbp - 0x40]
add rax, rax
movups xmm1, xmmword [rsi + rax*8 + 0x1464]
movups xmmword [rbp - 0x40], xmm1
shufps xmm1, xmm1, 0xff
mulss xmm1, dword [rsi + 0x13f0]
movss dword [rbp - 0x34], xmm1
call fcn.1800223e0
mov dword [rbp + 0x100], eax
test r9b, r9b
jne 0x180029104
test r8b, r8b
je 0x18002910f
mov dword [r15 + 0x1978], 6
cmp qword [r15 + 0x1780], rdi
jne 0x180029173
test r8b, r8b
je 0x1800291fd
cmp byte [r15 + 0x3a0], r14b
je 0x180029173
movq rdx, xmm15
mov rcx, rdi
call fcn.1800279d0
mov rsi, qword [0x1801b0270]
bt ebx, 8
jb 0x180029157
comiss xmm10, dword [rsi + 0x17d8]
jb 0x180029157
mov eax, dword [rsi + 0x14]
mov dword [rsi + 0x17d8], eax
mov dword [rsi + 0x179c], r14d
mov word [rsi + 0x17a5], 1
mov qword [rsi + 0x17b0], r14
jmp 0x1800291fd
test r8b, r8b
je 0x1800291fd
movss xmm2, dword [r15 + 0xf8]
mov rcx, rdi
subss xmm2, dword [r15 + 0x17a8]
movss xmm0, dword [r15 + 0xfc]
subss xmm0, dword [r15 + 0x17ac]
movss xmm1, dword [rsp + 0x50]
subss xmm1, dword [rsp + 0x48]
movss xmm3, dword [rsp + 0x54]
subss xmm3, dword [rsp + 0x4c]
addss xmm2, xmm1
addss xmm3, xmm0
subss xmm2, dword [rdi + 0x1c]
subss xmm3, dword [rdi + 0x20]
movaps xmm0, xmm2
unpcklps xmm0, xmm3
movq rdx, xmm0
call fcn.1800279d0
mov rsi, qword [0x1801b0270]
bt ebx, 8
jb 0x1800291fd
comiss xmm10, dword [rsi + 0x17d8]
jb 0x1800291fd
mov eax, dword [rsi + 0x14]
mov dword [rsi + 0x17d8], eax
mov edx, dword [rdi + 0xc]
lea r8, [rdi + 0x24]
movsd xmm0, qword [rdi + 0x2c]
movsd qword [r8], xmm0
and edx, 1
je 0x180029219
movaps xmm13, xmm10
jmp 0x18002923c
movss xmm0, dword [rsi + 0x1414]
movss xmm13, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm13, dword [rdi + 0x280]
addss xmm13, xmm0
movsd xmm15, qword [rdi + 0x1c]
movsd xmm0, qword [rbp - 0x50]
movaps xmm1, xmm15
movss xmm12, dword [rdi + 0x2c]
movss xmm0, xmm1
addss xmm12, dword [rdi + 0x1c]
addss xmm13, dword [rdi + 0x20]
movaps xmm1, xmm0
movsd qword [rsp + 0x48], xmm15
shufps xmm1, xmm1, 0xe1
movaps xmm2, xmm15
shufps xmm2, xmm2, 0x55
movss xmm1, xmm2
shufps xmm1, xmm1, 0xe1
movsd qword [rbp - 0x50], xmm1
movaps xmm6, xmm1
jmp 0x18002928f
movss xmm15, dword [rbp - 0x50]
bt ebx, 0xe
jb 0x1800292b7
movss xmm1, dword [rdi + 0x28]
addss xmm1, dword [r15 + 0x1420]
movss xmm0, dword [rdi + 0x38]
comiss xmm0, xmm1
jbe 0x1800292b2
test bl, 8
je 0x1800292b7
mov ecx, r14d
jmp 0x1800292bc
mov ecx, 1
mov byte [rdi + 0x79], cl
bt ebx, 0xf
jb 0x180029303
test cl, cl
je 0x1800292d4
movss xmm0, dword [r15 + 0x143c]
jmp 0x1800292d8
movaps xmm0, xmm10
movss xmm1, dword [r8]
subss xmm1, xmm0
movss xmm0, dword [rdi + 0x34]
subss xmm1, dword [rdi + 0x54]
comiss xmm0, xmm1
jbe 0x1800292fe
mov eax, ebx
and eax, 0x808
cmp eax, 0x800
je 0x180029303
mov eax, r14d
jmp 0x180029308
mov eax, 1
mov byte [rdi + 0x78], al
test al, al
je 0x18002931a
movss xmm1, dword [r15 + 0x143c]
jmp 0x18002931e
movaps xmm1, xmm10
test cl, cl
je 0x18002932d
movss xmm0, dword [r15 + 0x143c]
jmp 0x180029331
movaps xmm0, xmm10
mov r12d, ebx
unpcklps xmm0, xmm1
movsd qword [rdi + 0x7c], xmm0
and r12d, 0x80
je 0x18002934b
movaps xmm0, xmm9
jmp 0x18002934f
movaps xmm0, xmm10
movss dword [rdi + 0x84], xmm0
bt ebx, 0x17
jae 0x180029364
mov eax, 0x12
jmp 0x180029381
cmp dword [rsp + 0x60], r14d
jne 0x18002937c
mov eax, 2
test r13d, r13d
je 0x180029381
mov eax, 3
jmp 0x180029381
mov eax, 4
movss xmm3, dword [rbp + 0xf8]
add rax, rax
comiss xmm3, xmm10
movups xmm0, xmmword [r15 + rax*8 + 0x1464]
movups xmmword [rsp + 0x48], xmm0
jae 0x1800293a6
movss xmm3, dword [rsp + 0x54]
mulss xmm3, dword [r15 + 0x13f0]
mov ecx, 0xf
comiss xmm3, xmm10
jbe 0x18002958d
movss xmm1, dword [rsp + 0x48]
comiss xmm10, xmm1
jbe 0x1800293d0
movaps xmm0, xmm10
jmp 0x1800293d8
movaps xmm0, xmm9
minss xmm0, xmm1
movss xmm1, dword [0x1801a0494]
movss xmm4, dword [0x1801a0324]
movss xmm2, dword [rsp + 0x4c]
comiss xmm10, xmm2
mulss xmm0, xmm1
addss xmm0, xmm4
cvttss2si ebx, xmm0
jbe 0x180029406
movaps xmm0, xmm10
jmp 0x18002940e
movaps xmm0, xmm9
minss xmm0, xmm2
movss xmm2, dword [rsp + 0x50]
mulss xmm0, xmm1
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 8
or ebx, eax
comiss xmm10, xmm2
jbe 0x180029431
movaps xmm0, xmm10
jmp 0x180029439
movaps xmm0, xmm9
minss xmm0, xmm2
mulss xmm0, xmm1
addss xmm0, xmm4
cvttss2si eax, xmm0
movaps xmm0, xmm9
minss xmm0, xmm3
shl eax, 0x10
or ebx, eax
mulss xmm0, xmm1
movss xmm1, dword [rdi + 0x20]
addss xmm1, dword [r8 + 4]
addss xmm0, xmm4
movss dword [rsp + 0x4c], xmm1
cvttss2si eax, xmm0
movss xmm0, dword [r8]
addss xmm0, dword [rdi + 0x1c]
shl eax, 0x18
or ebx, eax
movss dword [rsp + 0x48], xmm0
test edx, edx
je 0x18002948e
movaps xmm1, xmm10
jmp 0x1800294ae
movss xmm0, dword [rsi + 0x1414]
movss xmm1, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x280]
addss xmm1, xmm0
movss xmm0, dword [rdi + 0x1c]
mov r14, qword [rdi + 0x288]
addss xmm0, xmm10
addss xmm1, dword [rdi + 0x20]
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm1
cmp ebx, 0x1000000
jb 0x180029589
comiss xmm11, xmm10
jbe 0x18002955c
mov esi, dword [rsp + 0x68]
lea r8, [rsp + 0x48]
mov eax, 0xc
lea rdx, [rsp + 0x60]
test sil, 1
movaps xmm3, xmm11
cmovne eax, ecx
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.18003e260
mov r8d, dword [r14 + 0x70]
lea rsi, [r14 + 0x70]
mov rdx, qword [r14 + 0x78]
mov r9d, ebx
mov rcx, r14
call fcn.18003d7c0
mov ecx, dword [rsi + 4]
test ecx, ecx
jns 0x180029554
je 0x180029537
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002953c
mov eax, 8
xor r14d, r14d
mov rcx, rsi
test eax, eax
mov edx, r14d
cmovg edx, eax
call fcn.180034aa0
mov dword [rsi], r14d
jmp 0x180029582
xor r14d, r14d
mov dword [rsi], r14d
jmp 0x180029582
mov edx, 6
mov rcx, r14
lea r8d, [rdx - 2]
call fcn.18003c5e0
mov r9d, ebx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.18003c6b0
mov rsi, qword [0x1801b0270]
mov ebx, dword [rsp + 0x68]
mov r13d, ebx
and r13d, 1
jne 0x1800296a9
mov rax, qword [r15 + 0x1778]
test rax, rax
je 0x1800295bb
mov rax, qword [rax + 0x298]
cmp qword [rdi + 0x298], rax
mov eax, 0xc0
je 0x1800295c0
mov eax, 0xa0
movups xmm1, xmmword [rax + rsi + 0x1464]
lea rcx, [rsp + 0x48]
movups xmmword [rsp + 0x48], xmm1
shufps xmm1, xmm1, 0xff
mulss xmm1, dword [rsi + 0x13f0]
movss dword [rsp + 0x54], xmm1
call fcn.1800223e0
mov rbx, qword [rdi + 0x288]
movaps xmm0, xmm12
unpcklps xmm0, xmm13
mov r14d, eax
movsd qword [rsp + 0x48], xmm0
movsd qword [rsp + 0x60], xmm6
cmp eax, 0x1000000
jb 0x1800296a5
comiss xmm11, xmm10
mov rcx, rbx
jbe 0x18002967b
movaps xmm3, xmm11
mov dword [rsp + 0x20], 3
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x60]
call fcn.18003e260
mov r8d, dword [rbx + 0x70]
mov r9d, r14d
mov rdx, qword [rbx + 0x78]
mov rcx, rbx
call fcn.18003d7c0
mov ecx, dword [rbx + 0x74]
test ecx, ecx
jns 0x180029672
je 0x18002965d
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180029662
mov eax, 8
xor edx, edx
lea rcx, [rbx + 0x70]
test eax, eax
cmovg edx, eax
call fcn.180034aa0
mov dword [rbx + 0x70], 0
jmp 0x18002969e
mov edx, 6
lea r8d, [rdx - 2]
call fcn.18003c5e0
mov r9d, r14d
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.18003c6b0
mov rsi, qword [0x1801b0270]
mov ebx, dword [rsp + 0x68]
bt ebx, 0xa
jae 0x1800298bc
mov eax, dword [rdi + 0xc]
test al, 1
je 0x1800296c0
movaps xmm6, xmm10
jmp 0x1800296e0
movss xmm0, dword [rsi + 0x1414]
movss xmm6, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm6, dword [rdi + 0x280]
addss xmm6, xmm0
addss xmm6, dword [rdi + 0x20]
bt eax, 0xa
jae 0x18002970d
movss xmm0, dword [rsi + 0x1414]
movss xmm1, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x280]
addss xmm1, xmm0
jmp 0x180029711
movaps xmm1, xmm10
movss xmm9, dword [rdi + 0x1c]
movss dword [rbp - 0x6c], xmm6
movaps xmm8, xmm9
movss dword [rbp - 0x70], xmm9
addss xmm6, xmm1
addss xmm8, dword [rdi + 0x2c]
test r13d, r13d
je 0x18002973b
movaps xmm7, xmm11
jmp 0x18002973f
movaps xmm7, xmm10
movups xmm1, xmmword [rsi + 0x1534]
lea rcx, [rsp + 0x48]
movups xmmword [rsp + 0x48], xmm1
shufps xmm1, xmm1, 0xff
mulss xmm1, dword [rsi + 0x13f0]
movss dword [rsp + 0x54], xmm1
call fcn.1800223e0
mov rbx, qword [rdi + 0x288]
movaps xmm0, xmm8
unpcklps xmm0, xmm6
mov r14d, eax
movsd qword [rsp + 0x48], xmm0
movsd xmm0, qword [rbp - 0x70]
movsd qword [rsp + 0x60], xmm0
cmp eax, 0x1000000
jb 0x180029826
comiss xmm7, xmm10
mov rcx, rbx
jbe 0x1800297fc
movaps xmm3, xmm7
mov dword [rsp + 0x20], 3
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x60]
call fcn.18003e260
mov r8d, dword [rbx + 0x70]
mov r9d, r14d
mov rdx, qword [rbx + 0x78]
mov rcx, rbx
call fcn.18003d7c0
mov ecx, dword [rbx + 0x74]
test ecx, ecx
jns 0x1800297f3
je 0x1800297de
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1800297e3
mov eax, 8
xor edx, edx
lea rcx, [rbx + 0x70]
test eax, eax
cmovg edx, eax
call fcn.180034aa0
mov dword [rbx + 0x70], 0
jmp 0x18002981f
mov edx, 6
lea r8d, [rdx - 2]
call fcn.18003c5e0
mov r9d, r14d
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.18003c6b0
mov rsi, qword [0x1801b0270]
test r12d, r12d
je 0x1800298af
movups xmm1, xmmword [rsi + 0x14b4]
lea rcx, [rbp - 0x40]
subss xmm6, xmm10
movups xmmword [rbp - 0x40], xmm1
shufps xmm1, xmm1, 0xff
subss xmm8, xmm10
mulss xmm1, dword [rsi + 0x13f0]
subss xmm9, xmm10
movss dword [rsp + 0x4c], xmm6
movss dword [rsp + 0x64], xmm6
movss dword [rbp - 0x34], xmm1
movss dword [rsp + 0x48], xmm8
movss dword [rsp + 0x60], xmm9
call fcn.1800223e0
movss xmm9, dword [0x1801a034c]
lea rdx, [rsp + 0x60]
mov rcx, qword [rdi + 0x288]
lea r8, [rsp + 0x48]
mov r9d, eax
movss dword [rsp + 0x20], xmm9
call fcn.18003e640
mov rsi, qword [0x1801b0270]
jmp 0x1800298b8
movss xmm9, dword [0x1801a034c]
mov ebx, dword [rsp + 0x68]
cmp byte [rdi + 0x78], 0
je 0x1800298d3
mov dl, 1
mov rcx, rdi
call fcn.18002a9c0
mov rsi, qword [0x1801b0270]
cmp byte [rdi + 0x79], 0
je 0x1800298ea
xor edx, edx
mov rcx, rdi
call fcn.18002a9c0
mov rsi, qword [0x1801b0270]
test bl, 2
jne 0x180029aa0
movss xmm7, dword [rdi + 0x28]
movss xmm8, dword [0x18018a070]
mov rbx, qword [rdi + 0x288]
xorps xmm14, xmm8
addss xmm7, dword [rdi + 0x20]
movss xmm6, dword [rdi + 0x24]
movaps xmm0, xmm14
addss xmm6, dword [rdi + 0x1c]
movss xmm2, dword [rdi + 0x84]
mov r8d, dword [rbx + 0x74]
xorps xmm2, xmm8
mov ecx, dword [rbx + 0x70]
movaps xmm1, xmm7
addss xmm1, xmm2
addss xmm0, xmm6
movss dword [rsp + 0x4c], xmm1
movss dword [rsp + 0x48], xmm0
cmp ecx, r8d
jne 0x180029977
inc ecx
test r8d, r8d
je 0x180029962
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x180029967
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
lea rcx, [rbx + 0x70]
call fcn.180034aa0
movsxd rcx, dword [rbx + 0x70]
movsd xmm0, qword [rsp + 0x48]
mov rax, qword [rbx + 0x78]
movsd qword [rax + rcx*8], xmm0
movaps xmm0, xmm6
inc dword [rbx + 0x70]
movss xmm1, dword [rdi + 0x84]
mov rbx, qword [rdi + 0x288]
xorps xmm1, xmm8
addss xmm0, xmm1
movaps xmm1, xmm7
addss xmm1, xmm14
mov r8d, dword [rbx + 0x74]
mov ecx, dword [rbx + 0x70]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
cmp ecx, r8d
jne 0x1800299f0
inc ecx
test r8d, r8d
je 0x1800299db
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x1800299e0
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
lea rcx, [rbx + 0x70]
call fcn.180034aa0
movsxd rcx, dword [rbx + 0x70]
subss xmm6, xmm11
movsd xmm0, qword [rsp + 0x48]
subss xmm7, xmm11
mov rax, qword [rbx + 0x78]
lea rdx, [rsp + 0x48]
xor r9d, r9d
mov dword [rsp + 0x20], 3
movaps xmm2, xmm11
movsd qword [rax + rcx*8], xmm0
inc dword [rbx + 0x70]
movss xmm1, dword [rdi + 0x84]
mov rcx, qword [rdi + 0x288]
subss xmm6, xmm1
subss xmm7, xmm1
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm7
call fcn.18003ddd0
mov rcx, qword [rdi + 0x288]
mov r8d, dword [rcx + 0x70]
lea rbx, [rcx + 0x70]
mov r9d, dword [rbp + 0x100]
mov rdx, qword [rcx + 0x78]
call fcn.18003d7c0
mov ecx, dword [rbx + 4]
test ecx, ecx
jns 0x180029a93
je 0x180029a7f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180029a84
mov eax, 8
xor edx, edx
mov rcx, rbx
test eax, eax
cmovg edx, eax
call fcn.180034aa0
mov rsi, qword [0x1801b0270]
mov dword [rbx], 0
test r12d, r12d
je 0x180029d4d
movups xmm1, xmmword [rsi + 0x14c4]
lea rcx, [rsp + 0x48]
movups xmmword [rsp + 0x48], xmm1
shufps xmm1, xmm1, 0xff
mulss xmm1, dword [rsi + 0x13f0]
movss dword [rsp + 0x54], xmm1
call fcn.1800223e0
movss xmm0, dword [rdi + 0x1c]
mov r12d, eax
movss xmm1, dword [rdi + 0x20]
movss xmm2, dword [rdi + 0x1c]
movss xmm3, dword [rdi + 0x20]
addss xmm2, xmm9
mov r14, qword [rdi + 0x288]
addss xmm3, xmm9
movss xmm14, dword [0x1801a0324]
addss xmm0, dword [rdi + 0x24]
addss xmm1, dword [rdi + 0x28]
addss xmm0, xmm9
addss xmm1, xmm9
cmp eax, 0x1000000
jb 0x180029bc3
addss xmm3, xmm14
mov dword [rsp + 0x20], 0xf
subss xmm0, xmm14
mov rcx, r14
subss xmm1, xmm14
addss xmm2, xmm14
lea r8, [rsp + 0x48]
movss dword [rsp + 0x64], xmm3
lea rdx, [rsp + 0x60]
movaps xmm3, xmm11
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
movss dword [rsp + 0x60], xmm2
call fcn.18003e260
mov r8d, dword [r14 + 0x70]
mov r9d, r12d
mov rdx, qword [r14 + 0x78]
mov rcx, r14
movss dword [rsp + 0x28], xmm9
mov byte [rsp + 0x20], 1
call fcn.18003c990
mov ecx, dword [r14 + 0x74]
test ecx, ecx
jns 0x180029bb4
je 0x180029b9f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180029ba4
mov eax, 8
xor edx, edx
lea rcx, [r14 + 0x70]
test eax, eax
cmovg edx, eax
call fcn.180034aa0
mov rsi, qword [0x1801b0270]
mov dword [r14 + 0x70], 0
movups xmm1, xmmword [rsi + 0x14b4]
lea rcx, [rsp + 0x48]
movups xmmword [rsp + 0x48], xmm1
shufps xmm1, xmm1, 0xff
mulss xmm1, dword [rsi + 0x13f0]
movss dword [rsp + 0x54], xmm1
call fcn.1800223e0
movss xmm0, dword [rdi + 0x24]
mov r12d, eax
movss xmm1, dword [rdi + 0x20]
mov r14, qword [rdi + 0x288]
addss xmm0, dword [rdi + 0x1c]
addss xmm1, dword [rdi + 0x28]
cmp eax, 0x1000000
jb 0x180029cc0
subss xmm0, xmm14
mov dword [rsp + 0x20], 0xf
subss xmm1, xmm14
movaps xmm3, xmm11
lea r8, [rsp + 0x48]
mov rcx, r14
lea rdx, [rsp + 0x60]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [rdi + 0x1c]
movss dword [rsp + 0x4c], xmm1
addss xmm0, xmm14
movss xmm1, dword [rdi + 0x20]
addss xmm1, xmm14
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm1
call fcn.18003e260
mov r8d, dword [r14 + 0x70]
mov r9d, r12d
mov rdx, qword [r14 + 0x78]
mov rcx, r14
movss dword [rsp + 0x28], xmm9
mov byte [rsp + 0x20], 1
call fcn.18003c990
mov ecx, dword [r14 + 0x74]
test ecx, ecx
jns 0x180029cb1
je 0x180029c9c
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180029ca1
mov eax, 8
xor edx, edx
lea rcx, [r14 + 0x70]
test eax, eax
cmovg edx, eax
call fcn.180034aa0
mov rsi, qword [0x1801b0270]
mov dword [r14 + 0x70], 0
test r13d, r13d
jne 0x180029d56
movups xmm1, xmmword [rsi + 0x14b4]
lea rcx, [rbp - 0x40]
movaps xmm0, xmm13
subss xmm12, xmm9
subss xmm0, xmm10
movups xmmword [rbp - 0x40], xmm1
shufps xmm1, xmm1, 0xff
addss xmm15, xmm9
mulss xmm1, dword [rsi + 0x13f0]
movss dword [rsp + 0x4c], xmm0
movaps xmm0, xmm13
addss xmm0, xmm10
movss dword [rsp + 0x48], xmm12
movss dword [rbp - 0x34], xmm1
movss dword [rsp + 0x60], xmm15
movss dword [rsp + 0x64], xmm0
call fcn.1800223e0
mov rcx, qword [rdi + 0x288]
lea rdx, [rsp + 0x60]
mov r9d, eax
movss dword [rsp + 0x20], xmm9
lea r8, [rsp + 0x48]
call fcn.18003e640
mov rsi, qword [0x1801b0270]
jmp 0x180029d56
movss xmm14, dword [0x1801a0324]
movss xmm7, dword [0x1801a03c0]
movss xmm8, dword [0x1801a04cc]
movss xmm4, dword [rdi + 0x54]
movss xmm3, dword [rdi + 0x60]
movaps xmm0, xmm4
mov eax, dword [rdi + 0xc]
subss xmm0, xmm3
movaps xmm15, xmmword [rsp + 0xf0]
mov ecx, eax
movaps xmm12, xmmword [rsp + 0x120]
movaps xmm11, xmmword [rsp + 0x130]
movss dword [rdi + 0x44], xmm0
and ecx, 1
je 0x180029da8
movaps xmm2, xmm10
jmp 0x180029dc8
movss xmm0, dword [rsi + 0x1414]
movss xmm2, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm2, dword [rdi + 0x280]
addss xmm2, xmm0
and eax, 0x400
je 0x180029df1
movss xmm0, dword [rsi + 0x1414]
movss xmm1, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x280]
addss xmm1, xmm0
jmp 0x180029df5
movaps xmm1, xmm10
movss xmm5, dword [rdi + 0x58]
movss xmm6, dword [rdi + 0x64]
movaps xmm0, xmm5
subss xmm0, xmm6
addss xmm0, xmm2
addss xmm0, xmm1
movss xmm1, dword [rdi + 0x3c]
ucomiss xmm1, xmm10
movss dword [rdi + 0x48], xmm0
jp 0x180029e2a
jne 0x180029e2a
movss xmm1, dword [rdi + 0x24]
subss xmm1, dword [rdi + 0x7c]
movaps xmm0, xmm3
addss xmm0, xmm4
subss xmm1, xmm0
movss dword [rdi + 0x4c], xmm1
movss xmm1, dword [rdi + 0x40]
ucomiss xmm1, xmm10
jp 0x180029e54
jne 0x180029e54
movss xmm1, dword [rdi + 0x28]
subss xmm1, dword [rdi + 0x80]
xor r14d, r14d
movaps xmm0, xmm6
mov dword [rdi + 0x1b0], r14d
movaps xmm2, xmm4
addss xmm0, xmm5
addss xmm2, xmm10
subss xmm1, xmm0
subss xmm2, xmm3
movss dword [rdi + 0x50], xmm1
movss dword [rdi + 0x1ac], xmm2
test ecx, ecx
je 0x180029e8c
movaps xmm3, xmm10
jmp 0x180029eac
movss xmm0, dword [rsi + 0x1414]
movss xmm3, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm3, dword [rdi + 0x280]
addss xmm3, xmm0
test eax, eax
je 0x180029ed2
movss xmm0, dword [rsi + 0x1414]
movss xmm1, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x280]
addss xmm1, xmm0
jmp 0x180029ed6
movaps xmm1, xmm10
addss xmm1, xmm3
addss xmm2, xmm10
addss xmm1, xmm5
addss xmm2, dword [rdi + 0x1c]
subss xmm1, xmm6
movaps xmm0, xmm2
addss xmm1, dword [rdi + 0x20]
mov qword [rdi + 0xe8], r14
mov qword [rdi + 0xe0], r14
mov byte [rdi + 0x10e], r14b
unpcklps xmm0, xmm1
unpcklpd xmm0, xmm0
movsd qword [rdi + 0xd0], xmm0
movups xmmword [rdi + 0xc0], xmm0
movsd qword [rdi + 0xd8], xmm0
maxss xmm4, dword [r15 + 0x141c]
movss xmm0, dword [rdi + 0xc4]
subss xmm0, dword [0x1801a04c0]
movss dword [rdi + 0x110], xmm4
movss dword [rdi + 0xf0], xmm0
mov ecx, dword [rdi + 0x11c]
test ecx, ecx
jns 0x180029f87
je 0x180029f67
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180029f6c
mov eax, 8
test eax, eax
lea rcx, [rdi + 0x118]
mov edx, r14d
cmovg edx, eax
call fcn.180034aa0
mov rsi, qword [0x1801b0270]
mov dword [rdi + 0x118], r14d
mov eax, dword [rdi + 0x21c]
mov dword [rdi + 0x134], eax
mov dword [rdi + 0x130], r14d
mov dword [rdi + 0x138], 0xbf800000
mov word [rdi + 0x13c], 1
mov ecx, dword [rdi + 0x144]
test ecx, ecx
jns 0x180029feb
je 0x180029fcb
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180029fd0
mov eax, 8
test eax, eax
lea rcx, [rdi + 0x140]
mov edx, r14d
cmovg edx, eax
call fcn.180034bc0
mov rsi, qword [0x1801b0270]
mov dword [rdi + 0x140], r14d
mov ecx, dword [rdi + 0x154]
test ecx, ecx
jns 0x18002a029
je 0x18002a009
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002a00e
mov eax, 8
test eax, eax
lea rcx, [rdi + 0x150]
mov edx, r14d
cmovg edx, eax
call fcn.180034bc0
mov rsi, qword [0x1801b0270]
mov dword [rdi + 0x150], r14d
mov ecx, dword [rdi + 0x164]
test ecx, ecx
jns 0x18002a067
je 0x18002a047
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002a04c
mov eax, 8
test eax, eax
lea rcx, [rdi + 0x160]
mov edx, r14d
cmovg edx, eax
call fcn.18001ad20
mov rsi, qword [0x1801b0270]
mov dword [rdi + 0x160], r14d
mov ecx, dword [rdi + 0x174]
test ecx, ecx
jns 0x18002a0a5
je 0x18002a085
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002a08a
mov eax, 8
test eax, eax
lea rcx, [rdi + 0x170]
mov edx, r14d
cmovg edx, eax
call fcn.18001ad20
mov rsi, qword [0x1801b0270]
mov dword [rdi + 0x170], r14d
lea rax, [rdi + 0x270]
movss xmm0, dword [rdi + 0xc4]
mov r12d, 1
movss dword [rdi + 0x1c4], xmm0
movss dword [rdi + 0x1cc], xmm0
movss dword [rdi + 0x1c8], xmm0
mov dword [rdi + 0x190], 0xfffffffe
mov dword [rdi + 0x1b4], r14d
mov dword [rdi + 0x1b8], r12d
mov dword [rdi + 0xf4], r14d
mov qword [rdi + 0x128], rax
mov ecx, dword [rdi + 0x184]
test ecx, ecx
jns 0x18002a136
je 0x18002a116
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002a11b
mov eax, 8
test eax, eax
lea rcx, [rdi + 0x180]
mov edx, r14d
cmovg edx, eax
call fcn.180034c40
mov rsi, qword [0x1801b0270]
mov dword [rdi + 0x180], r14d
movss xmm0, dword [r15 + 0x141c]
movss dword [rdi + 0x224], xmm0
mov dword [rdi + 0x220], 3
mov qword [rdi + 0x228], r14
cmp byte [rsp + 0x40], r14b
jne 0x18002a184
xor eax, eax
mov qword [rdi + 0x250], rax
mov qword [rdi + 0x258], rax
mov qword [rdi + 0x260], rax
mov qword [rdi + 0x268], rax
mov r8d, r14d
cmp dword [rdi + 0x220], r14d
jle 0x18002a205
mov rdx, r14
lea rcx, [rdi + 0x250]
nop word [rax + rax]
test rdx, rdx
jle 0x18002a1c7
movss xmm0, dword [rcx]
comiss xmm0, xmm10
jbe 0x18002a1c7
movss xmm0, dword [rdi + 0x224]
addss xmm0, dword [rdi + 0x228]
movss dword [rdi + 0x228], xmm0
cvttss2si eax, dword [rdi + 0x228]
inc r8d
inc rdx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx - 0x20], xmm0
movss xmm1, dword [rdi + 0x228]
addss xmm1, dword [rcx]
movss dword [rdi + 0x228], xmm1
mov dword [rcx], r14d
add rcx, 4
cmp r8d, dword [rdi + 0x220]
jl 0x18002a1a0
mov eax, dword [rdi + 0x98]
test eax, eax
jle 0x18002a217
dec eax
mov dword [rdi + 0x98], eax
mov eax, dword [rdi + 0x9c]
test eax, eax
jle 0x18002a229
dec eax
mov dword [rdi + 0x9c], eax
mov r14d, dword [rsp + 0x68]
test r12b, r14b
jne 0x18002a541
mov rbx, qword [rbp + 0xe8]
test rbx, rbx
je 0x18002a302
test byte [rdi + 0xc], r12b
je 0x18002a253
movaps xmm3, xmm10
jmp 0x18002a273
movss xmm0, dword [rsi + 0x1414]
movss xmm3, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm3, dword [rdi + 0x280]
addss xmm3, xmm0
mov eax, dword [rdi + 0x1e8]
xor edx, edx
subss xmm3, dword [0x1801a0400]
movss xmm1, dword [0x1801a04f0]
dec eax
movss xmm0, dword [rdi + 0x24]
addss xmm0, dword [rdi + 0x1c]
movsxd rcx, eax
mov rax, qword [rdi + 0x1f0]
mulss xmm3, xmm14
mov r8d, dword [rax + rcx*4]
lea rcx, str.CLOSE
movaps xmm2, xmm3
subss xmm1, xmm3
addss xmm2, xmm7
addss xmm0, xmm1
addss xmm2, dword [rdi + 0x20]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm2
call fcn.180021e20
cmp dword [rsi + 0x179c], eax
jne 0x18002a2e5
mov byte [rsi + 0x17a4], r12b
movaps xmm2, xmm3
lea rdx, [rsp + 0x48]
mov ecx, eax
call fcn.18002c910
mov rsi, qword [0x1801b0270]
test al, al
je 0x18002a302
mov byte [rbx], 0
mov r13, qword [rbp + 0xe0]
mov rax, r13
cmp r13, 0xffffffffffffffff
jae 0x18002a32c
movzx ecx, byte [rax]
test cl, cl
je 0x18002a32c
cmp cl, 0x23
jne 0x18002a323
cmp byte [rax + 1], cl
je 0x18002a32c
inc rax
cmp rax, 0xffffffffffffffff
jb 0x18002a312
mov rbx, qword [rsi + 0x1718]
movss xmm6, dword [rsi + 0x1720]
cmp r13, rax
jne 0x18002a34a
mov dword [rsp + 0x48], 0
jmp 0x18002a3a9
movss xmm0, dword [0x1801a04e0]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x30], rax
movaps xmm3, xmm8
mov qword [rsp + 0x28], r13
movaps xmm2, xmm6
mov rcx, rbx
movss dword [rsp + 0x20], xmm0
call fcn.180040fd0
movss xmm0, dword [rsp + 0x60]
comiss xmm0, xmm10
jbe 0x18002a38a
divss xmm6, dword [rbx]
subss xmm0, xmm6
addss xmm0, dword [0x1801a0348]
movss xmm6, dword [rsp + 0x64]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm6
test r14b, 0x20
jne 0x18002a3f0
movss xmm0, dword [r15 + 0x1410]
movzx r9d, r12b
movss xmm1, dword [r15 + 0x1414]
movaps xmm2, xmm9
addss xmm0, dword [rdi + 0x1c]
addss xmm1, dword [rdi + 0x20]
cmp byte [rdi + 0x8b], 0
sete dl
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.1800261e0
movss xmm0, dword [rdi + 0x20]
addss xmm0, dword [r15 + 0x1414]
movss xmm3, dword [rdi + 0x24]
movss xmm4, dword [r15 + 0x1410]
movaps xmm1, xmm3
movss xmm2, dword [rdi + 0x1c]
subss xmm1, xmm4
addss xmm2, dword [r15 + 0x1410]
mov rax, qword [rbp + 0xe8]
movss dword [rbp - 0x3c], xmm0
movss xmm0, dword [r15 + 0x1414]
addss xmm0, xmm0
movss dword [rbp - 0x40], xmm2
addss xmm1, dword [rdi + 0x1c]
addss xmm0, xmm6
movss dword [rsp + 0x60], xmm1
addss xmm0, dword [rdi + 0x20]
movss dword [rsp + 0x64], xmm0
test rax, rax
je 0x18002a46f
subss xmm13, dword [rbp - 0x4c]
subss xmm13, dword [0x1801a03e4]
jmp 0x18002a473
movaps xmm13, xmm4
addss xmm3, dword [rdi + 0x1c]
mov r10d, dword [r15 + 0x1408]
mov r8d, r14d
shr r8d, 5
mov edx, r10d
not r8b
movss dword [rbp - 0x4c], xmm0
and r8b, r12b
test rax, rax
movzx r9d, r8b
subss xmm3, xmm13
setne al
and dl, 2
movzx ecx, al
cmove r9d, ecx
movss dword [rbp - 0x50], xmm3
test r8b, r8b
je 0x18002a4d2
movss xmm0, dword [r15 + 0x1720]
addss xmm0, dword [r15 + 0x1424]
addss xmm2, xmm0
movss dword [rbp - 0x40], xmm2
test r9b, r9b
je 0x18002a4f3
movss xmm0, dword [r15 + 0x1720]
addss xmm0, dword [r15 + 0x1424]
subss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
movss xmm0, dword [rdi + 0x20]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x60]
lea rax, [rsp + 0x68]
movss dword [rsp + 0x68], xmm2
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x40]
lea rax, [rsp + 0x48]
mov dword [rsp + 0x28], r10d
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r13
movss dword [rsp + 0x6c], xmm0
call fcn.180025bc0
mov rsi, qword [0x1801b0270]
movss xmm0, dword [rdi + 0x20]
movss xmm3, dword [rdi + 0x1c]
movaps xmm2, xmm0
addss xmm2, dword [rdi + 0x28]
movaps xmm13, xmmword [rsp + 0x110]
movaps xmm1, xmm3
addss xmm1, dword [rdi + 0x24]
movaps xmm9, xmmword [rsp + 0x150]
movaps xmm8, xmmword [rsp + 0x160]
movaps xmm7, xmmword [rsp + 0x170]
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm0
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [rdi + 0x208], xmm3
movss xmm0, dword [rdi + 0x1f8]
comiss xmm0, dword [rdi + 0x208]
movups xmmword [rbp - 0x70], xmm3
jbe 0x18002a5be
movss dword [rdi + 0x208], xmm0
movss xmm0, dword [rdi + 0x1fc]
comiss xmm0, dword [rdi + 0x20c]
jbe 0x18002a5d7
movss dword [rdi + 0x20c], xmm0
movss xmm1, dword [rdi + 0x200]
movss xmm0, dword [rdi + 0x210]
comiss xmm0, xmm1
jbe 0x18002a5f4
movss dword [rdi + 0x210], xmm1
movss xmm1, dword [rdi + 0x204]
movss xmm0, dword [rdi + 0x214]
comiss xmm0, xmm1
jbe 0x18002a61e
movss dword [rdi + 0x214], xmm1
jmp 0x18002a61e
mov r14d, dword [rsp + 0x68]
mov r12d, 1
mov ecx, dword [rdi + 0xc]
mov r13, qword [rsp + 0x1a8]
test cl, 1
je 0x18002a634
movaps xmm1, xmm10
jmp 0x18002a654
movss xmm0, dword [rsi + 0x1414]
movss xmm1, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x280]
addss xmm1, xmm0
movss xmm0, dword [rdi + 0x54]
movss xmm3, dword [rdi + 0x20]
movss xmm6, dword [rdi + 0x84]
movaps xmm4, xmm3
movsd xmm2, qword [rdi + 0x1c]
addss xmm4, xmm1
mulss xmm0, xmm14
movaps xmm5, xmm6
addss xmm2, xmm14
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm5, xmm1
addss xmm2, xmm5
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x70], xmm0
bt ecx, 0xa
jae 0x18002a6ca
movss xmm0, dword [rsi + 0x1414]
movss xmm1, dword [rsi + 0x1724]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x280]
addss xmm1, xmm0
jmp 0x18002a6ce
movaps xmm1, xmm10
addss xmm3, xmm14
mov r9b, 1
addss xmm4, xmm14
addss xmm3, dword [rdi + 0x28]
addss xmm4, xmm1
movss xmm1, dword [rdi + 0x1c]
addss xmm1, xmm14
subss xmm3, dword [rdi + 0x80]
addss xmm4, xmm6
addss xmm1, dword [rdi + 0x24]
subss xmm3, xmm6
cvttss2si eax, xmm4
subss xmm1, dword [rdi + 0x7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm5
movss dword [rbp - 0x6c], xmm0
mov rdx, qword [rbp - 0x70]
cvttss2si eax, xmm1
movd xmm0, eax
cvttss2si eax, xmm3
cvtdq2ps xmm0, xmm0
movd xmm1, eax
mov rax, qword [rsi + 0x1760]
cvtdq2ps xmm1, xmm1
mov byte [rax + 0x8a], 1
mov rbx, qword [rsi + 0x1760]
unpcklps xmm0, xmm1
movq r8, xmm0
mov rcx, qword [rbx + 0x288]
call fcn.18003bf90
mov rcx, qword [rbx + 0x288]
movaps xmm14, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x180]
mov rsi, qword [rsp + 0x1b0]
mov eax, dword [rcx + 0x50]
dec eax
movsxd rdx, eax
mov eax, dword [rbp - 0x30]
shl rdx, 4
add rdx, qword [rcx + 0x58]
movups xmm0, xmmword [rdx]
movups xmmword [rbx + 0x1f8], xmm0
mov rbx, qword [rsp + 0x1b8]
movups xmmword [rbp - 0x70], xmm0
cmp eax, dword [rbp - 0x58]
je 0x18002a7b4
mov byte [rdi + 0x8a], 0
inc dword [rdi + 0x90]
mov byte [r15 + 0x1880], 0
bt r14d, 0x14
jae 0x18002a841
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x18002a7e0
cmp byte [rax + 0x8b], 0
je 0x18002a7e0
mov ecx, r12d
jmp 0x18002a7e2
xor ecx, ecx
mov byte [rdi + 0x8b], cl
test r14b, 0x40
jne 0x18002a831
cmp dword [rdi + 0x98], 0
jg 0x18002a831
cmp dword [rdi + 0x9c], 0
jg 0x18002a831
movss xmm0, dword [rdi + 0x208]
comiss xmm0, dword [rdi + 0x210]
jae 0x18002a826
movss xmm0, dword [rdi + 0x20c]
comiss xmm0, dword [rdi + 0x214]
jae 0x18002a826
xor eax, eax
jmp 0x18002a829
mov eax, r12d
or al, cl
mov byte [rdi + 0x8b], al
cmp byte [rdi + 0x8b], 0
je 0x18002a841
mov byte [rdi + 0x88], 0
comiss xmm10, dword [r15 + 0x13f0]
mov r15, qword [rsp + 0x198]
mov r14, qword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x140]
jb 0x18002a86b
mov byte [rdi + 0x88], 0
cmp byte [rdi + 0x8b], 0
jne 0x18002a87d
cmp byte [rdi + 0x88], 0
jne 0x18002a88f
cmp dword [rdi + 0x98], 0
jg 0x18002a88f
cmp dword [rdi + 0x9c], 0
jle 0x18002a892
xor r12d, r12d
test r12b, r12b
mov byte [rdi + 0x8c], r12b
sete al
add rsp, 0x1c0
pop r12
pop rdi
pop rbp
ret