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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x18003f3c0]
xor rax, rsp
mov qword [rbp - 0x30], rax
mov rbx, qword [0x18003f5c8]
mov r15d, r8d
mov r14, rbx
mov qword [rbp - 0x78], rcx
mov r12, rcx
call fcn.18000f908
xor esi, esi
mov rdi, rax
xorps xmm8, xmm8
test rax, rax
jne 0x1800109f7
mov ecx, dword [rbx + 0x1914]
test ecx, ecx
je 0x1800109ba
movsd xmm0, qword [rbx + 0x1938]
movsd qword [rbp - 0x50], xmm0
jmp 0x1800109c2
and dword [rsp + 0x48], esi
and dword [rsp + 0x4c], esi
test ecx, ecx
lea rdx, [rbp - 0x50]
lea rax, [rsp + 0x48]
mov r8d, r15d
cmovne rax, rdx
mov rcx, r12
movss xmm1, dword [rax + 4]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movq rdx, xmm0
call fcn.18000f954
mov rbx, qword [0x18003f5c8]
mov rdi, rax
bt r15d, 9
jae 0x180010a02
or r15d, 6
mov r8d, dword [r14 + 0x180c]
mov r9d, dword [rdi + 0x220]
mov dword [rsp + 0x70], r8d
mov dword [rsp + 0x74], r9d
cmp r9d, r8d
je 0x180010a25
mov dword [rdi + 0xc], r15d
jmp 0x180010a29
mov r15d, dword [rdi + 0xc]
lea eax, [r8 - 1]
mov r13d, r15d
cmp r9d, eax
mov eax, dword [rdi + 0xbc]
mov dword [rsp + 0x60], eax
setl dl
mov byte [rsp + 0x42], dl
and r13d, 0x4000000
je 0x180010a81
movsxd rax, dword [r14 + 0x1900]
lea rax, [rax + rax*2]
shl rax, 4
add rax, qword [r14 + 0x18f8]
cmp rdi, qword [rax + 8]
mov eax, dword [rax]
setne cl
cmp dword [rdi + 0xa4], eax
setne al
or cl, al
mov eax, dword [rsp + 0x60]
or dl, cl
mov byte [rsp + 0x42], dl
test dl, dl
jne 0x180010a8d
cmp eax, 1
mov al, sil
jne 0x180010a8f
mov al, 1
mov byte [rdi + 0x95], al
mov r10d, 8
mov byte [rdi + 0x96], sil
test al, al
je 0x180010abb
or dword [rdi + 0xc0], r10d
or dword [rdi + 0xc4], r10d
or dword [rdi + 0xc8], r10d
lea r12, [r14 + 0x1838]
movsxd rdx, dword [r12]
test edx, edx
jne 0x180010acf
mov rcx, rsi
jmp 0x180010adb
mov rax, qword [r14 + 0x1840]
mov rcx, qword [rax + rdx*8 - 8]
mov qword [rsp + 0x68], rcx
cmp r9d, r8d
je 0x180010af7
mov eax, r15d
and eax, 0x5000000
neg eax
sbb rax, rax
and rax, rcx
jmp 0x180010afe
mov rax, qword [rdi + 0x288]
mov ecx, dword [r12 + 4]
mov qword [rsp + 0x78], rax
cmp edx, ecx
jne 0x180010b3b
lea r8d, [rdx + 1]
test ecx, ecx
je 0x180010b1f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180010b22
mov eax, r10d
cmp eax, r8d
mov rcx, r12
cmovg r8d, eax
mov edx, r8d
call fcn.180020104
mov rbx, qword [0x18003f5c8]
movsxd rcx, dword [r12]
mov dl, 1
mov rax, qword [r12 + 8]
mov qword [rax + rcx*8], rdi
mov rcx, rdi
inc dword [r12]
movss xmm0, dword [rbx + 0x177c]
mov qword [rbx + 0x1860], rdi
mulss xmm0, dword [rdi + 0x278]
movss dword [rbx + 0x1790], xmm0
movss dword [rbx + 0x1778], xmm0
call fcn.18000f53c
test r13d, r13d
je 0x180010bb6
lea rcx, [r14 + 0x1900]
movsxd rax, dword [rcx]
lea rbx, [rax + rax*2]
shl rbx, 4
add rbx, qword [r14 + 0x18f8]
mov rdx, rbx
mov qword [rbx + 8], rdi
call fcn.18001fda4
mov eax, dword [rbx]
mov rbx, qword [0x18003f5c8]
mov dword [rdi + 0xa4], eax
mov r8d, dword [r14 + 0x1910]
mov r13b, sil
mov byte [rsp + 0x41], sil
mov byte [rsp + 0x40], sil
test r8d, r8d
je 0x180010c4e
mov ecx, dword [rdi + 0xc0]
test r8d, ecx
setne dl
mov byte [rsp + 0x41], dl
test r8d, ecx
je 0x180010c38
movss xmm0, dword [r14 + 0x1934]
movss xmm1, dword [r14 + 0x1930]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm1, dword [0x18003a3fc]
jbe 0x180010c38
movsd xmm0, qword [r14 + 0x1928]
and ecx, 0xfffffff1
movsd qword [rdi + 0xcc], xmm0
movsd xmm1, qword [r14 + 0x1930]
movsd qword [rdi + 0xd4], xmm1
mov dword [rdi + 0xc0], ecx
jmp 0x180010c47
lea rdx, [r14 + 0x1928]
mov rcx, rdi
call fcn.18001382c
mov dword [r14 + 0x1910], esi
mov r8d, dword [r14 + 0x1914]
test r8d, r8d
je 0x180010cac
mov eax, r8d
and eax, dword [rdi + 0xc4]
je 0x180010c79
movss xmm0, dword [r14 + 0x1938]
comiss xmm0, xmm8
jbe 0x180010c79
mov r13b, 1
jmp 0x180010c7d
test eax, eax
je 0x180010c91
movss xmm0, dword [r14 + 0x193c]
comiss xmm0, xmm8
mov byte [rsp + 0x40], 1
ja 0x180010c96
mov byte [rsp + 0x40], sil
lea rdx, [r14 + 0x1938]
mov rcx, rdi
call fcn.1800138e4
mov dword [r14 + 0x1914], esi
cmp dword [r14 + 0x1918], esi
je 0x180010d3c
test byte [rdi + 0xc], 1
movsd xmm0, qword [r14 + 0x1940]
movsd qword [rdi + 0x40], xmm0
je 0x180010cd2
xorps xmm2, xmm2
jmp 0x180010cf2
movss xmm0, dword [rbx + 0x1460]
movss xmm2, dword [rbx + 0x177c]
addss xmm0, xmm0
mulss xmm2, dword [rdi + 0x278]
addss xmm2, xmm0
test dword [rdi + 0xc], 0x400
je 0x180010d1d
movss xmm0, dword [rbx + 0x1460]
movss xmm1, dword [rbx + 0x177c]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x278]
addss xmm1, xmm0
jmp 0x180010d20
xorps xmm1, xmm1
mov r12d, dword [rsp + 0x70]
addss xmm1, xmm2
addss xmm1, dword [rdi + 0x44]
movss dword [rdi + 0x44], xmm1
mov dword [r14 + 0x1918], esi
jmp 0x180010d4c
mov r12d, dword [rsp + 0x70]
cmp dword [rsp + 0x74], r12d
je 0x180010d4c
mov qword [rdi + 0x40], rsi
mov ecx, dword [r14 + 0x191c]
test ecx, ecx
je 0x180010d7e
mov eax, dword [rdi + 0xc8]
mov dl, byte [r14 + 0x1948]
test eax, ecx
je 0x180010d77
and eax, 0xfffffff1
mov byte [rdi + 0x93], dl
mov dword [rdi + 0xc8], eax
mov dword [r14 + 0x191c], esi
cmp dword [r14 + 0x1924], esi
je 0x180010da1
mov rcx, qword [rbx + 0x1860]
call fcn.180013464
mov rbx, qword [0x18003f5c8]
mov dword [r14 + 0x1924], esi
cmp byte [rdi + 0x95], sil
je 0x180010dbf
and dword [rdi + 0xc0], 0xfffffff7
and dword [rdi + 0xc4], 0xfffffff7
and dword [rdi + 0xc8], 0xfffffff7
mov r8d, 0x1000000
cmp dword [rsp + 0x74], r12d
je 0x180012a39
mov rcx, qword [rsp + 0x78]
mov eax, r15d
mov edx, 0x3000000
mov qword [rdi + 0x288], rcx
and eax, edx
mov qword [rdi + 0x298], rdi
mov dword [rsp + 0x50], eax
mov qword [rdi + 0x290], rdi
test rcx, rcx
je 0x180010e32
test r8d, r15d
je 0x180010e14
cmp eax, edx
je 0x180010e14
mov rax, qword [rcx + 0x290]
mov qword [rdi + 0x290], rax
bt r15d, 0x1b
jb 0x180010e32
test r15d, 0x5000000
je 0x180010e32
mov rax, qword [rcx + 0x298]
mov qword [rdi + 0x298], rax
mov byte [rdi + 0x90], 1
mov dword [rdi + 0x98], esi
mov ecx, dword [r14 + 0x1858]
lea eax, [rcx + 1]
mov dword [r14 + 0x1858], eax
mov eax, 0xff7fffff
mov dword [rdi + 0x9c], ecx
mov dword [rdi + 0xa0], esi
mov dword [rdi + 0x1f0], eax
mov dword [rdi + 0x1f4], eax
mov eax, 0x7f7fffff
mov dword [rdi + 0x1f8], eax
mov dword [rdi + 0x1fc], eax
mov dword [rdi + 0x220], r12d
mov ecx, dword [rdi + 0x1e4]
cmp ecx, 1
jge 0x180010f2d
test ecx, ecx
je 0x180010eb5
mov r12d, 1
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
cmp eax, r12d
cmovg r12d, eax
cmp r12d, ecx
jle 0x180010f2d
jmp 0x180010ebb
mov r12d, 8
mov rax, qword [rbx + 0xf0]
inc dword [rbx + 0x354]
movsxd rcx, r12d
shl rcx, 2
call rax
mov rdx, qword [rdi + 0x1e8]
mov rbx, rax
test rdx, rdx
je 0x180010ef3
movsxd r8, dword [rdi + 0x1e0]
mov rcx, rax
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rdi + 0x1e8]
mov rax, qword [0x18003f5c8]
test rcx, rcx
je 0x180010f0c
dec dword [rax + 0x354]
call qword [rax + 0xf8]
mov qword [rdi + 0x1e8], rbx
mov r8d, 0x1000000
mov rbx, qword [0x18003f5c8]
mov dword [rdi + 0x1e4], r12d
mov ecx, r15d
mov dword [rdi + 0x1e0], 1
mov edx, 0xc000000
and ecx, r8d
je 0x180010f4f
movss xmm0, dword [r14 + 0x144c]
jmp 0x180010f6f
mov eax, r15d
and eax, edx
cmp eax, 0x4000000
jne 0x180010f66
movss xmm0, dword [r14 + 0x1454]
jmp 0x180010f6f
movss xmm0, dword [r14 + 0x1434]
movss dword [rdi + 0x60], xmm0
test ecx, ecx
je 0x180010f83
movss xmm1, dword [r14 + 0x1450]
jmp 0x180010fa3
mov eax, r15d
and eax, edx
cmp eax, 0x4000000
jne 0x180010f9a
movss xmm1, dword [r14 + 0x1458]
jmp 0x180010fa3
movss xmm1, dword [r14 + 0x1438]
mov eax, r15d
movss dword [rdi + 0x64], xmm1
movsd xmm0, qword [r14 + 0x142c]
and eax, 0x5010000
movsd qword [rdi + 0x58], xmm0
cmp eax, r8d
jne 0x180010fe8
ucomiss xmm1, xmm8
jp 0x180010fe8
jne 0x180010fe8
bt r15d, 0xa
jae 0x180010fdd
movss xmm0, dword [r14 + 0x1430]
jmp 0x180010fe0
xorps xmm0, xmm0
movss dword [rdi + 0x5c], xmm0
mov dword [rdi + 0x58], esi
test r15b, 0x21
jne 0x1800110a4
test byte [rdi + 0xc], 1
je 0x180010ffd
xorps xmm2, xmm2
jmp 0x18001101d
movss xmm0, dword [rbx + 0x1460]
movss xmm2, dword [rbx + 0x177c]
addss xmm0, xmm0
mulss xmm2, dword [rdi + 0x278]
addss xmm2, xmm0
movss xmm0, dword [rdi + 0x18]
movaps xmm1, xmm0
movss dword [rbp - 0x70], xmm0
addss xmm1, dword [rdi + 0x28]
addss xmm2, dword [rdi + 0x1c]
movss xmm0, dword [rdi + 0x1c]
movss dword [rbp - 0x6c], xmm0
movss dword [rbp - 0x68], xmm1
movss dword [rbp - 0x64], xmm2
cmp qword [r14 + 0x1870], rdi
jne 0x1800110ab
mov r8b, 1
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x70]
call fcn.18000eadc
test al, al
je 0x1800110ab
cmp byte [r14 + 0x3b5], sil
je 0x1800110ab
cmp byte [rdi + 0x93], sil
sete al
test dword [rdi + 0xc], 0x100
mov byte [rdi + 0x93], al
jne 0x18001109a
comiss xmm8, dword [rbx + 0x2a38]
jb 0x18001109a
mov eax, dword [rbx + 0x14]
mov dword [rbx + 0x2a38], eax
mov rcx, rdi
call fcn.180013464
jmp 0x1800110ab
mov byte [rdi + 0x93], sil
mov rdx, rdi
lea rcx, [rbp - 0x60]
call fcn.18000fe2c
movss xmm4, dword [rax]
movss xmm5, dword [rax + 4]
mov eax, dword [rdi + 0xbc]
movss dword [rdi + 0x38], xmm4
movss dword [rdi + 0x3c], xmm5
test eax, eax
jle 0x1800110dc
dec eax
mov dword [rdi + 0xbc], eax
mov r12b, byte [rsp + 0x42]
test r15d, 0x6000000
je 0x18001111e
test r12b, r12b
je 0x18001111e
mov dword [rdi + 0xbc], 1
test r15b, 0x40
je 0x18001111e
test r13b, r13b
jne 0x18001110a
mov dword [rdi + 0x28], esi
mov dword [rdi + 0x20], esi
mov bl, byte [rsp + 0x40]
test bl, bl
jne 0x180011118
mov dword [rdi + 0x2c], esi
mov dword [rdi + 0x24], esi
mov qword [rdi + 0x38], rsi
jmp 0x180011122
mov bl, byte [rsp + 0x40]
lea r8, [rdi + 0x38]
lea rcx, [rsp + 0x58]
call fcn.18000fe98
movss xmm9, dword [0x18003a550]
movaps xmm6, xmm9
movaps xmm7, xmm9
test r15b, 0x40
je 0x180011178
cmp byte [rdi + 0x93], sil
jne 0x180011178
test r13b, r13b
jne 0x180011160
movss xmm6, dword [rsp + 0x58]
movss dword [rdi + 0x28], xmm6
test bl, bl
jne 0x180011211
movss xmm7, dword [rsp + 0x5c]
movss dword [rdi + 0x2c], xmm7
jmp 0x180011211
mov eax, dword [rdi + 0xa8]
test eax, eax
jg 0x18001118e
cmp dword [rdi + 0xac], esi
jle 0x180011211
test r13b, r13b
jne 0x1800111b8
test eax, eax
jle 0x1800111b8
cmp byte [rdi + 0xb0], sil
je 0x1800111ad
movss xmm6, dword [rdi + 0x28]
maxss xmm6, dword [rsp + 0x58]
jmp 0x1800111b3
movss xmm6, dword [rsp + 0x58]
movss dword [rdi + 0x28], xmm6
test bl, bl
jne 0x1800111e5
cmp dword [rdi + 0xac], esi
jle 0x1800111e5
cmp byte [rdi + 0xb0], sil
je 0x1800111da
movss xmm7, dword [rdi + 0x2c]
maxss xmm7, dword [rsp + 0x5c]
jmp 0x1800111e0
movss xmm7, dword [rsp + 0x5c]
movss dword [rdi + 0x2c], xmm7
cmp byte [rdi + 0x93], sil
jne 0x180011211
test dword [rdi + 0xc], 0x100
mov rcx, qword [0x18003f5c8]
jne 0x180011211
comiss xmm8, dword [rcx + 0x2a38]
jb 0x180011211
mov eax, dword [rcx + 0x14]
mov dword [rcx + 0x2a38], eax
mov r8, qword [rdi + 0x28]
lea rcx, [rbp - 0x60]
mov rdx, rdi
call fcn.18000fc10
mov cl, byte [rdi + 0x93]
mov rdx, qword [0x18003f5c8]
movss xmm2, dword [rax]
movss xmm0, dword [rax + 4]
movss dword [rdi + 0x28], xmm2
movss dword [rdi + 0x2c], xmm0
test cl, cl
je 0x1800112a2
bt r15d, 0x18
jb 0x1800112a2
test byte [rdi + 0xc], 1
je 0x180011257
xorps xmm1, xmm1
jmp 0x180011277
movss xmm0, dword [rdx + 0x1460]
movss xmm1, dword [rdx + 0x177c]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x278]
addss xmm1, xmm0
movss xmm0, dword [rdi + 0x18]
lea rax, [rsp + 0x48]
addss xmm1, dword [rdi + 0x1c]
addss xmm0, xmm2
subss xmm1, dword [rdi + 0x1c]
subss xmm0, dword [rdi + 0x18]
movss dword [rsp + 0x4c], xmm1
movss dword [rsp + 0x48], xmm0
jmp 0x1800112b0
movsd xmm0, qword [rdi + 0x28]
lea rax, [rbp - 0x50]
movsd qword [rbp - 0x50], xmm0
movsd xmm0, qword [rax]
movsd qword [rdi + 0x20], xmm0
test cl, cl
jne 0x1800113aa
ucomiss xmm6, xmm9
jp 0x1800112ce
jne 0x1800112ce
movss xmm2, dword [rdi + 0x30]
ucomiss xmm7, xmm9
jp 0x1800112dd
jne 0x1800112dd
movss xmm1, dword [rdi + 0x34]
jmp 0x1800112e2
movss xmm1, dword [rdi + 0x2c]
bt r15d, 0xe
jb 0x1800112fe
movss xmm0, dword [rdi + 0x3c]
comiss xmm0, xmm1
jbe 0x1800112f9
test r15b, 8
je 0x1800112fe
mov cl, sil
jmp 0x180011300
mov cl, 1
mov byte [rdi + 0x85], cl
bt r15d, 0xf
jb 0x180011346
test cl, cl
je 0x18001131c
movss xmm0, dword [r14 + 0x148c]
jmp 0x18001131f
xorps xmm0, xmm0
subss xmm2, xmm0
movss xmm0, dword [rdi + 0x38]
subss xmm2, dword [rdi + 0x58]
comiss xmm0, xmm2
jbe 0x180011341
mov eax, r15d
and eax, 0x808
cmp eax, 0x800
je 0x180011346
mov al, sil
jmp 0x180011348
mov al, 1
mov byte [rdi + 0x84], al
test al, al
je 0x180011385
test cl, cl
jne 0x18001137a
addss xmm1, dword [r14 + 0x148c]
movss xmm0, dword [rdi + 0x3c]
comiss xmm0, xmm1
jbe 0x180011371
mov cl, 1
test r15b, 8
je 0x180011374
mov cl, sil
mov byte [rdi + 0x85], cl
movss xmm1, dword [r14 + 0x148c]
jmp 0x180011388
xorps xmm1, xmm1
test cl, cl
je 0x180011397
movss xmm0, dword [r14 + 0x148c]
jmp 0x18001139a
xorps xmm0, xmm0
movss dword [rdi + 0x88], xmm0
movss dword [rdi + 0x8c], xmm1
test r12b, r12b
mov r12b, byte [rsp + 0x41]
je 0x1800113fc
or dword [rdi + 0xb8], 0xffffffff
bt r15d, 0x1a
jae 0x1800113fc
test r12b, r12b
jne 0x1800113fc
movsxd rax, dword [r14 + 0x1900]
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x1908]
add rcx, rcx
movss xmm0, dword [rax + rcx*8 - 0x10]
movss xmm1, dword [rax + rcx*8 - 0xc]
movss dword [rdi + 0x10], xmm0
movss dword [rdi + 0x14], xmm1
movss dword [rdi + 0x18], xmm0
movss dword [rdi + 0x1c], xmm1
bt r15d, 0x18
jae 0x1800114aa
mov r9, qword [rsp + 0x78]
lea rbx, [r9 + 0x148]
mov eax, dword [rbx]
mov dword [rdi + 0x98], eax
mov r8d, dword [rbx]
mov ecx, dword [rbx + 4]
cmp r8d, ecx
jne 0x18001145b
inc r8d
test ecx, ecx
je 0x180011438
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18001143d
mov eax, 8
cmp eax, r8d
mov rcx, rbx
cmovg r8d, eax
mov edx, r8d
call fcn.180020104
mov rdx, qword [0x18003f5c8]
mov r9, qword [rsp + 0x78]
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov r13d, dword [rsp + 0x50]
mov qword [rax + rcx*8], rdi
inc dword [rbx]
bt r15d, 0x1a
jb 0x1800114af
test r12b, r12b
jne 0x1800114af
cmp r13d, 0x3000000
je 0x1800114af
movss xmm0, dword [r9 + 0xf0]
movss xmm1, dword [r9 + 0xf4]
movss dword [rdi + 0x10], xmm0
movss dword [rdi + 0x14], xmm1
movss dword [rdi + 0x18], xmm0
movss dword [rdi + 0x1c], xmm1
jmp 0x1800114af
mov r13d, dword [rsp + 0x50]
movss xmm1, dword [rdi + 0xcc]
ucomiss xmm1, xmm9
movss xmm6, dword [0x18003a474]
jp 0x1800114c7
je 0x180011534
cmp dword [rdi + 0xbc], esi
jne 0x180011534
movss xmm0, dword [rdi + 0x28]
lea rdx, [rsp + 0x48]
mulss xmm0, dword [rdi + 0xd4]
xor r8d, r8d
mov rcx, rdi
movss xmm2, dword [rdi + 0xd0]
subss xmm1, xmm0
movss xmm0, dword [r14 + 0x14ac]
maxss xmm0, xmm1
movss xmm1, dword [rdi + 0xd8]
mulss xmm1, dword [rdi + 0x2c]
movss dword [rsp + 0x48], xmm0
subss xmm2, xmm1
movss xmm0, dword [r14 + 0x14b0]
maxss xmm0, xmm2
movss dword [rsp + 0x4c], xmm0
call fcn.18001382c
jmp 0x1800116fb
bt r15d, 0x1c
jae 0x18001167b
mov rcx, qword [rsp + 0x68]
movss xmm2, dword [r14 + 0x146c]
cmp byte [rcx + 0x13d], sil
je 0x180011609
mov eax, dword [rcx + 0xc]
bt eax, 0xa
jae 0x180011585
movss xmm0, dword [rdx + 0x1460]
movss xmm2, dword [rdx + 0x177c]
addss xmm0, xmm0
mulss xmm2, dword [rcx + 0x278]
addss xmm2, xmm0
jmp 0x180011588
xorps xmm2, xmm2
and eax, 1
je 0x180011592
xorps xmm1, xmm1
jmp 0x1800115b2
movss xmm0, dword [rdx + 0x1460]
movss xmm1, dword [rdx + 0x177c]
addss xmm0, xmm0
mulss xmm1, dword [rcx + 0x278]
addss xmm1, xmm0
movss xmm4, dword [rcx + 0x1c]
movaps xmm3, xmm4
addss xmm3, xmm1
addss xmm3, xmm2
test eax, eax
je 0x1800115cb
xorps xmm1, xmm1
jmp 0x1800115eb
movss xmm0, dword [rdx + 0x1460]
movss xmm1, dword [rdx + 0x177c]
addss xmm0, xmm0
mulss xmm1, dword [rcx + 0x278]
addss xmm1, xmm0
addss xmm4, xmm1
movss dword [rbp - 0x64], xmm3
mov dword [rbp - 0x70], 0xff7fffff
mov dword [rbp - 0x68], 0x7f7fffff
movss dword [rbp - 0x6c], xmm4
jmp 0x18001163e
movss xmm1, dword [rcx + 0x18]
movaps xmm0, xmm1
mov dword [rbp - 0x6c], 0xff7fffff
addss xmm1, dword [rcx + 0x20]
addss xmm0, xmm2
mov dword [rbp - 0x64], 0x7f7fffff
subss xmm1, xmm2
movss dword [rbp - 0x70], xmm0
subss xmm1, dword [rcx + 0x88]
movss dword [rbp - 0x68], xmm1
lea rax, [rbp - 0x70]
mov dword [rsp + 0x28], esi
lea r9, [rdi + 0xb8]
mov qword [rsp + 0x20], rax
lea r8, [rdi + 0x20]
lea rdx, [rdi + 0x10]
lea rcx, [rbp - 0x60]
call fcn.18000f594
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rdi + 0x10], xmm0
movss dword [rdi + 0x14], xmm1
jmp 0x1800116fb
bt r15d, 0x1a
jae 0x1800116fb
test r12b, r12b
jne 0x1800116fb
cmp dword [rsp + 0x60], 1
jne 0x1800116fb
movss xmm2, dword [rdi + 0x14]
lea rbx, [rdi + 0x10]
movss xmm3, dword [rbx]
lea rax, [rbp - 0x70]
movaps xmm0, xmm3
mov dword [rsp + 0x28], esi
movaps xmm1, xmm2
mov qword [rsp + 0x20], rax
subss xmm0, xmm6
mov rdx, rbx
subss xmm1, xmm6
addss xmm3, xmm6
addss xmm2, xmm6
lea r9, [rdi + 0xb8]
lea r8, [rdi + 0x20]
movss dword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x60]
movss dword [rbp - 0x6c], xmm1
movss dword [rbp - 0x68], xmm3
movss dword [rbp - 0x64], xmm2
call fcn.18000f594
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rbx], xmm0
movss dword [rbx + 4], xmm1
movss xmm9, dword [0x18003a500]
bt r15d, 0x19
jae 0x1800117de
test r12b, r12b
jne 0x1800117de
cmp r13d, 0x3000000
je 0x1800117de
movsd xmm0, qword [r14 + 0x110]
lea rax, [rbp - 0x70]
movsd qword [rsp + 0x68], xmm0
lea r9, [rdi + 0xb8]
movss xmm6, dword [rsp + 0x68]
lea r8, [rdi + 0x20]
movss xmm7, dword [rsp + 0x6c]
lea rdx, [rsp + 0x68]
movaps xmm1, xmm6
mov dword [rsp + 0x28], esi
subss xmm1, xmm9
mov qword [rsp + 0x20], rax
movaps xmm0, xmm7
lea rcx, [rbp - 0x60]
subss xmm0, dword [0x18003a4ec]
movss dword [rbp - 0x70], xmm1
movaps xmm1, xmm6
addss xmm1, dword [0x18003a508]
movss dword [rbp - 0x6c], xmm0
movaps xmm0, xmm7
addss xmm0, dword [0x18003a508]
movss dword [rbp - 0x68], xmm1
movss dword [rbp - 0x64], xmm0
call fcn.18000f594
cmp dword [r9], 0xffffffff
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rdi + 0x10], xmm0
movss dword [rdi + 0x14], xmm1
jne 0x1800117d6
addss xmm6, dword [0x18003a4a4]
addss xmm7, dword [0x18003a4a4]
movss dword [rdi + 0x10], xmm6
movss dword [rdi + 0x14], xmm7
movss xmm6, dword [0x18003a474]
test r15d, 0x3000000
jne 0x1800118a2
test r12b, r12b
jne 0x1800118a2
cmp dword [rdi + 0xa8], esi
jg 0x1800118a2
cmp dword [rdi + 0xac], esi
jg 0x1800118a2
movss xmm0, dword [r14 + 8]
comiss xmm0, xmm8
jbe 0x1800118a2
movss xmm0, dword [r14 + 0xc]
comiss xmm0, xmm8
jbe 0x1800118a2
movss xmm1, dword [r14 + 0x14a4]
maxss xmm1, dword [r14 + 0x14ac]
movss xmm4, dword [r14 + 0x14a8]
maxss xmm4, dword [r14 + 0x14b0]
movss xmm3, dword [rdi + 0x20]
addss xmm3, dword [rdi + 0x10]
movss xmm2, dword [rdi + 0x24]
addss xmm2, dword [rdi + 0x14]
maxss xmm3, xmm1
maxss xmm2, xmm4
subss xmm3, dword [rdi + 0x20]
subss xmm2, dword [rdi + 0x24]
movss dword [rdi + 0x10], xmm3
movss dword [rdi + 0x14], xmm2
movss xmm0, dword [r14 + 8]
subss xmm0, xmm1
movss xmm1, dword [r14 + 0xc]
subss xmm1, xmm4
minss xmm3, xmm0
minss xmm2, xmm1
movss dword [rdi + 0x10], xmm3
movss dword [rdi + 0x14], xmm2
cvttss2si eax, dword [rdi + 0x10]
movss xmm2, dword [rdi + 0x20]
comiss xmm2, xmm8
movd xmm1, eax
cvttss2si eax, dword [rdi + 0x14]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x18], xmm1
movss dword [rdi + 0x1c], xmm0
jbe 0x1800118e2
test r15d, 0x2000040
jne 0x1800118e2
mulss xmm2, dword [0x18003a450]
jmp 0x1800118f0
movss xmm2, dword [r14 + 0x1778]
mulss xmm2, xmm9
cvttss2si eax, xmm2
mov r8d, 0x7fffffff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x224], xmm0
mov eax, dword [rdi + 0x2b0]
cmp eax, r8d
je 0x18001192a
mov ecx, dword [rdi + 0x2a0]
cmp ecx, 0xffffffff
je 0x18001192a
inc eax
add eax, ecx
inc ecx
cdq
idiv ecx
jmp 0x18001192d
mov edx, r8d
mov eax, dword [rdi + 0x2b4]
mov dword [rdi + 0x2a8], edx
cmp eax, r8d
je 0x180011954
mov ecx, dword [rdi + 0x2a4]
cmp ecx, 0xffffffff
je 0x180011954
inc eax
add eax, ecx
inc ecx
cdq
idiv ecx
jmp 0x180011957
mov edx, r8d
or dword [rdi + 0x2a4], 0xffffffff
lea rcx, [rbp - 0x60]
or dword [rdi + 0x2a0], 0xffffffff
mov dword [rdi + 0x2ac], edx
mov rdx, rdi
mov dword [rdi + 0x2b4], r8d
mov dword [rdi + 0x2b0], r8d
call fcn.18000ffc4
mov bl, sil
mov byte [rsp + 0x41], bl
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
mov eax, 0x7f7fffff
mov dword [rdi + 0x74], eax
mov dword [rdi + 0x78], eax
movss dword [rdi + 0x6c], xmm0
movss dword [rdi + 0x70], xmm1
cmp byte [rsp + 0x42], sil
je 0x1800119ce
bt r15d, 0xc
jb 0x1800119ce
test r15d, 0x3000000
je 0x1800119c8
bt r15d, 0x1a
jae 0x1800119ce
mov bl, 1
mov byte [rsp + 0x41], bl
movss xmm1, dword [r14 + 0x1778]
xorps xmm0, xmm0
or dword [rbp - 0x80], 0xffffffff
movaps xmm2, xmm1
mulss xmm1, dword [0x18003a42c]
mov eax, r15d
and eax, 0x20000
mulss xmm2, dword [0x18003a480]
neg eax
movups xmmword [rbp - 0x40], xmm0
sbb r12d, r12d
movss xmm0, dword [rdi + 0x60]
neg r12d
addss xmm0, xmm6
inc r12d
addss xmm0, xmm1
maxss xmm2, xmm0
cvttss2si eax, xmm2
movd xmm15, eax
cvtdq2ps xmm15, xmm15
cmp byte [rdi + 0x93], sil
jne 0x180011a4c
lea rax, [rbp - 0x40]
mov r9d, r12d
lea r8, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.180010340
mov rcx, qword [rdi + 0x280]
call fcn.1800269b8
mov al, byte [r14 + 0x14b5]
neg al
mov eax, esi
sbb ecx, ecx
and ecx, 2
cmp byte [r14 + 0x14b4], sil
setne al
or ecx, eax
mov rax, qword [rdi + 0x280]
mov dword [rax + 0x30], ecx
mov rdx, qword [r14 + 0x1770]
mov rcx, qword [rdi + 0x280]
mov rdx, qword [rdx + 0x58]
call fcn.1800270c8
lea rcx, [rbp - 0x70]
call fcn.18000ecec
mov ecx, r15d
and ecx, 0x5000000
cmp ecx, 0x1000000
jne 0x180011acd
cmp r13d, 0x3000000
je 0x180011acd
mov rax, qword [rsp + 0x78]
lea rdx, [rax + 0x1f8]
lea rcx, [rax + 0x1f0]
jmp 0x180011ad5
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x70]
mov r8b, 1
call fcn.18000d78c
bt r15d, 0x1b
jae 0x180011b4e
call fcn.18000efb8
cmp rdi, rax
jne 0x180011b4e
mov rax, qword [0x18003f5c8]
lea rcx, [rbp - 0x60]
movss xmm0, dword [r14 + 0x19b8]
movdqu xmm1, xmmword [rax + 0x174c]
mulss xmm0, dword [rax + 0x1428]
movups xmmword [rbp - 0x60], xmm1
shufps xmm1, xmm1, 0xff
mulss xmm1, xmm0
movss dword [rbp - 0x54], xmm1
call fcn.18000a7ec
mov rcx, qword [rdi + 0x280]
lea rdx, [rbp - 0x70]
mov r9d, eax
mov dword [rsp + 0x28], 0xf
lea r8, [rbp - 0x68]
movss dword [rsp + 0x20], xmm8
call fcn.180028fdc
test byte [rdi + 0xc], 1
movss xmm14, dword [rdi + 0x60]
movss xmm11, dword [rdi + 0x64]
mov r8, qword [0x18003f5c8]
je 0x180011b6d
xorps xmm13, xmm13
jmp 0x180011b91
movss xmm0, dword [r8 + 0x1460]
movss xmm13, dword [r8 + 0x177c]
addss xmm0, xmm0
mulss xmm13, dword [rdi + 0x278]
addss xmm13, xmm0
movss xmm10, dword [rdi + 0x18]
movss xmm5, dword [rdi + 0x1c]
movaps xmm12, xmm10
movss dword [rsp + 0x68], xmm10
movaps xmm7, xmm5
movss dword [rbp - 0x70], xmm10
addss xmm13, xmm5
movss dword [rsp + 0x50], xmm7
movss dword [rbp - 0x6c], xmm7
addss xmm12, dword [rdi + 0x28]
movss dword [rbp - 0x64], xmm13
movss dword [rsp + 0x58], xmm12
movss dword [rbp - 0x68], xmm12
test bl, bl
jne 0x180011c01
mov rax, qword [r14 + 0x1868]
test rax, rax
je 0x180011bf9
mov rax, qword [rax + 0x298]
cmp qword [rdi + 0x298], rax
je 0x180011c01
mov r13d, 0x134
jmp 0x180011c07
mov r13d, 0x144
cmp byte [rdi + 0x93], sil
je 0x180011c99
movss xmm6, dword [r14 + 0x1468]
lea rcx, [rbp - 0x60]
movss dword [r14 + 0x1468], xmm11
movdqu xmm0, xmmword [r8 + 0x157c]
movups xmmword [rbp - 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x1428]
movss dword [rbp - 0x54], xmm0
call fcn.18000a7ec
movaps xmm0, xmm12
movss dword [rsp + 0x20], xmm14
unpcklps xmm0, xmm13
mov r8d, eax
movsd qword [rbp - 0x68], xmm0
movq rdx, xmm0
movaps xmm0, xmm10
mov r9b, 1
unpcklps xmm0, xmm7
movq rcx, xmm0
movsd qword [rbp - 0x70], xmm0
call fcn.18000e4ec
movss dword [r14 + 0x1468], xmm6
movss xmm6, dword [0x18003a474]
jmp 0x180012322
test r15d, 0x6000000
je 0x180011ca9
mov eax, 0xd4
jmp 0x180011cbf
mov eax, r15d
and eax, 0x1000000
neg eax
sbb rax, rax
and eax, 0x10
add rax, 0xb4
movdqu xmm0, xmmword [r8 + rax + 0x1428]
lea rcx, [rbp - 0x60]
movups xmmword [rbp - 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x1428]
movss dword [rbp - 0x54], xmm0
call fcn.18000a7ec
test byte [rdi + 0xc], 1
movaps xmm0, xmm10
addss xmm0, dword [rdi + 0x20]
movaps xmm1, xmm5
mov r9d, eax
addss xmm1, dword [rdi + 0x24]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
je 0x180011d13
xorps xmm1, xmm1
jmp 0x180011d35
movss xmm0, dword [r8 + 0x1460]
movss xmm1, dword [r8 + 0x177c]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x278]
addss xmm1, xmm0
mov rcx, qword [rdi + 0x280]
addss xmm5, xmm1
movaps xmm0, xmm10
lea r8, [rsp + 0x48]
addss xmm0, xmm8
mov ebx, r15d
and ebx, 1
mov eax, ebx
neg eax
movss dword [rsp + 0x64], xmm5
sbb edx, edx
movss dword [rsp + 0x60], xmm0
and edx, 3
add edx, 0xc
mov dword [rsp + 0x28], edx
lea rdx, [rsp + 0x60]
movss dword [rsp + 0x20], xmm14
call fcn.180028fdc
test ebx, ebx
jne 0x180011dda
mov rax, qword [0x18003f5c8]
lea rcx, [rbp - 0x60]
movdqu xmm0, xmmword [rax + r13 + 0x1428]
movups xmmword [rbp - 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1428]
movss dword [rbp - 0x54], xmm0
call fcn.18000a7ec
mov rcx, qword [rdi + 0x280]
lea rdx, [rbp - 0x70]
mov r9d, eax
mov dword [rsp + 0x28], 3
lea r8, [rbp - 0x68]
movss dword [rsp + 0x20], xmm14
call fcn.180028fdc
bt r15d, 0xa
jae 0x180011f20
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.1800099f8
movss xmm0, dword [rbp - 0x5c]
movss xmm5, dword [rdi + 0x18]
movss xmm4, dword [rdi + 0x1c]
movss xmm7, dword [rbp - 0x60]
maxss xmm0, xmm4
movss xmm6, dword [rbp - 0x54]
maxss xmm7, xmm5
movss xmm9, dword [rbp - 0x58]
addss xmm4, dword [rdi + 0x24]
addss xmm5, dword [rdi + 0x20]
movss dword [rbp - 0x5c], xmm0
movss dword [rbp - 0x60], xmm7
minss xmm6, xmm4
minss xmm9, xmm5
movss dword [rbp - 0x54], xmm6
movss dword [rbp - 0x58], xmm9
test ebx, ebx
je 0x180011e4a
movaps xmm5, xmm14
jmp 0x180011e4d
xorps xmm5, xmm5
mov rax, qword [0x18003f5c8]
lea rcx, [rbp - 0x50]
movdqu xmm0, xmmword [rax + 0x158c]
movups xmmword [rbp - 0x50], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1428]
movss dword [rbp - 0x44], xmm0
call fcn.18000a7ec
mov rcx, qword [rdi + 0x280]
lea rdx, [rbp - 0x60]
mov r9d, eax
mov dword [rsp + 0x28], 3
lea r8, [rbp - 0x58]
movss dword [rsp + 0x20], xmm5
call fcn.180028fdc
movss xmm5, dword [r14 + 0x1468]
comiss xmm5, xmm8
jbe 0x180011f20
movss xmm0, dword [rdi + 0x1c]
addss xmm0, dword [rdi + 0x24]
comiss xmm0, xmm6
jbe 0x180011f20
mov rax, qword [0x18003f5c8]
lea rcx, [rbp - 0x60]
movss dword [rsp + 0x48], xmm7
movss dword [rsp + 0x4c], xmm6
movdqu xmm0, xmmword [rax + 0x150c]
movups xmmword [rbp - 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1428]
movss dword [rbp - 0x54], xmm0
movaps xmm0, xmm9
unpcklps xmm0, xmm6
movsd qword [rbp - 0x50], xmm0
call fcn.18000a7ec
mov rcx, qword [rdi + 0x280]
lea rdx, [rsp + 0x48]
mov r9d, eax
movss dword [rsp + 0x20], xmm5
lea r8, [rbp - 0x50]
call fcn.180028d80
cmp byte [rdi + 0x84], sil
je 0x180011f33
mov ecx, 1
call fcn.180012ccc
cmp byte [rdi + 0x85], sil
je 0x180011f43
xor ecx, ecx
call fcn.180012ccc
test r15b, 2
jne 0x180012172
mov ecx, esi
mov eax, r12d
movaps xmm12, xmm11
mov dword [rsp + 0x60], ecx
mov qword [rbp - 0x60], rax
addss xmm12, xmm14
mov qword [rsp + 0x48], rsi
lea r13, [0x18003f6a8]
movss xmm9, dword [rdi + 0x18]
mov r12d, ecx
movss xmm10, dword [rdi + 0x1c]
mov rbx, qword [rdi + 0x280]
addss xmm9, dword [rdi + 0x20]
addss xmm10, dword [rdi + 0x24]
subss xmm9, dword [rdi + 0x18]
subss xmm10, dword [rdi + 0x1c]
mulss xmm9, dword [r13 - 8]
mulss xmm10, dword [r13 - 4]
addss xmm9, dword [rdi + 0x18]
addss xmm10, dword [rdi + 0x1c]
and r12d, 1
je 0x180011fc5
movaps xmm6, xmm11
movaps xmm7, xmm15
jmp 0x180011fcd
movaps xmm6, xmm15
movaps xmm7, xmm11
mulss xmm6, dword [r13]
sub rbx, 0xffffffffffffff80
mulss xmm7, dword [r13 + 4]
mov r8d, dword [rbx]
addss xmm6, xmm9
mov ecx, dword [rbx + 4]
addss xmm7, xmm10
cmp r8d, ecx
jne 0x18001201b
inc r8d
test ecx, ecx
je 0x180012004
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180012009
mov eax, 8
cmp eax, r8d
mov rcx, rbx
cmovg r8d, eax
mov edx, r8d
call fcn.180020104
movsxd rcx, dword [rbx]
movaps xmm0, xmm6
mov rax, qword [rbx + 8]
unpcklps xmm0, xmm7
movsd qword [rax + rcx*8], xmm0
inc dword [rbx]
mov rbx, qword [rdi + 0x280]
test r12d, r12d
je 0x180012045
movaps xmm6, xmm15
movaps xmm7, xmm11
jmp 0x18001204d
movaps xmm6, xmm11
movaps xmm7, xmm15
mulss xmm6, dword [r13]
sub rbx, 0xffffffffffffff80
mulss xmm7, dword [r13 + 4]
mov r8d, dword [rbx]
addss xmm6, xmm9
mov ecx, dword [rbx + 4]
addss xmm7, xmm10
cmp r8d, ecx
jne 0x18001209b
inc r8d
test ecx, ecx
je 0x180012084
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180012089
mov eax, 8
cmp eax, r8d
mov rcx, rbx
cmovg r8d, eax
mov edx, r8d
call fcn.180020104
movsxd rcx, dword [rbx]
lea rdx, [rbp - 0x50]
mov rax, qword [rbx + 8]
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movaps xmm1, xmm12
movaps xmm2, xmm14
movsd qword [rax + rcx*8], xmm0
movaps xmm0, xmm12
inc dword [rbx]
mulss xmm0, dword [r13 + 4]
mov eax, dword [r13 + 0xc]
mulss xmm1, dword [r13]
mov r9d, dword [r13 + 8]
mov rcx, qword [rdi + 0x280]
addss xmm0, xmm10
mov dword [rsp + 0x20], eax
addss xmm1, xmm9
movss dword [rbp - 0x4c], xmm0
movss dword [rbp - 0x50], xmm1
call fcn.1800286fc
mov rcx, qword [rdi + 0x280]
mov r9, qword [rsp + 0x48]
mov rdx, qword [rcx + 0x88]
lea rbx, [rcx + 0x80]
mov r8d, dword [rbx]
mov r9d, dword [rbp + r9*4 - 0x40]
call fcn.1800282f8
cmp dword [rbx + 4], esi
jge 0x18001213d
mov eax, dword [rbx + 4]
mov rcx, rbx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, dword [rbx + 4]
test eax, eax
cmovg edx, eax
call fcn.180020104
mov ecx, dword [rsp + 0x60]
add r13, 0x18
mov rax, qword [rsp + 0x48]
inc ecx
inc rax
mov dword [rbx], esi
mov dword [rsp + 0x60], ecx
mov qword [rsp + 0x48], rax
cmp rax, qword [rbp - 0x60]
jl 0x180011f6f
movss xmm10, dword [rsp + 0x68]
movss xmm12, dword [rsp + 0x58]
comiss xmm11, xmm8
jbe 0x1800121f0
mov rax, qword [0x18003f5c8]
lea rcx, [rbp - 0x40]
movss xmm1, dword [rdi + 0x24]
addss xmm1, dword [rdi + 0x1c]
movdqu xmm0, xmmword [rax + 0x150c]
movups xmmword [rbp - 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1428]
movss dword [rbp - 0x4c], xmm1
movss dword [rbp - 0x34], xmm0
movss xmm0, dword [rdi + 0x20]
addss xmm0, dword [rdi + 0x18]
movss dword [rbp - 0x50], xmm0
call fcn.18000a7ec
mov rcx, qword [rdi + 0x280]
lea rdx, [rdi + 0x18]
movss dword [rsp + 0x30], xmm11
lea r8, [rbp - 0x50]
mov r9d, eax
mov dword [rsp + 0x28], 0xf
movss dword [rsp + 0x20], xmm14
call fcn.180028ef8
mov r8d, dword [rbp - 0x80]
cmp r8d, 0xffffffff
je 0x18001226d
movaps xmm3, xmm15
movss dword [rsp + 0x20], xmm8
mov rdx, rdi
lea rcx, [rbp - 0x60]
call fcn.180010250
mov rcx, qword [0x18003f5c8]
movss xmm6, dword [0x18003a474]
movaps xmm5, xmm6
maxss xmm5, xmm11
movdqu xmm3, xmmword [rcx + 0x168c]
movups xmmword [rbp - 0x40], xmm3
shufps xmm3, xmm3, 0xff
mulss xmm3, dword [rcx + 0x1428]
lea rcx, [rbp - 0x40]
movss dword [rbp - 0x34], xmm3
call fcn.18000a7ec
mov rcx, qword [rdi + 0x280]
lea rdx, [rbp - 0x60]
mov r9d, eax
movss dword [rsp + 0x20], xmm5
lea r8, [rbp - 0x58]
call fcn.180028d80
jmp 0x180012275
movss xmm6, dword [0x18003a474]
movss xmm5, dword [r14 + 0x1468]
comiss xmm5, xmm8
jbe 0x18001231c
test r15b, 1
jne 0x18001231c
mov rax, qword [0x18003f5c8]
lea rcx, [rbp - 0x40]
movss xmm2, dword [r14 + 0x1438]
movaps xmm1, xmm13
subss xmm1, xmm6
movdqu xmm0, xmmword [rax + 0x150c]
movups xmmword [rbp - 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1428]
movss dword [rbp - 0x4c], xmm1
movaps xmm1, xmm13
subss xmm1, xmm6
movss dword [rbp - 0x34], xmm0
movaps xmm0, xmm12
subss xmm0, xmm2
movss dword [rsp + 0x4c], xmm1
movss dword [rbp - 0x50], xmm0
movaps xmm0, xmm10
addss xmm0, xmm2
movss dword [rsp + 0x48], xmm0
call fcn.18000a7ec
mov rcx, qword [rdi + 0x280]
lea rdx, [rsp + 0x48]
mov r9d, eax
movss dword [rsp + 0x20], xmm5
lea r8, [rbp - 0x50]
call fcn.180028d80
movss xmm7, dword [rsp + 0x50]
movsd xmm0, qword [rdi + 0x28]
mov r13d, 0x400
movss xmm4, dword [rdi + 0x58]
mov eax, dword [rdi + 0xc]
mov rcx, qword [0x18003f5c8]
movsd qword [rdi + 0x30], xmm0
movaps xmm0, xmm4
subss xmm0, dword [rdi + 0x6c]
movss dword [rdi + 0x48], xmm0
test r13d, eax
je 0x180012375
movss xmm0, dword [rcx + 0x1460]
movss xmm2, dword [rcx + 0x177c]
addss xmm0, xmm0
mulss xmm2, dword [rdi + 0x278]
addss xmm2, xmm0
jmp 0x180012379
movaps xmm2, xmm8
test al, 1
je 0x180012383
movaps xmm1, xmm8
jmp 0x1800123a3
movss xmm0, dword [rcx + 0x1460]
movss xmm1, dword [rcx + 0x177c]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x278]
addss xmm1, xmm0
movss xmm0, dword [rdi + 0x5c]
subss xmm0, dword [rdi + 0x70]
addss xmm0, xmm1
movss xmm1, dword [rdi + 0x40]
ucomiss xmm1, xmm8
addss xmm0, xmm2
movss dword [rdi + 0x4c], xmm0
jp 0x1800123d4
jne 0x1800123d4
movss xmm1, dword [rdi + 0x20]
subss xmm1, dword [rdi + 0x88]
movss xmm0, dword [rdi + 0x6c]
movss xmm3, dword [0x18003a760]
movss xmm2, dword [rdi + 0x44]
xorps xmm0, xmm3
ucomiss xmm2, xmm8
subss xmm0, xmm4
addss xmm0, xmm1
movss dword [rdi + 0x50], xmm0
jp 0x18001240b
jne 0x18001240b
movss xmm2, dword [rdi + 0x24]
subss xmm2, dword [rdi + 0x8c]
movss xmm0, dword [rdi + 0x70]
mov qword [rdi + 0x1cc], rsi
xorps xmm0, xmm3
subss xmm0, dword [rdi + 0x5c]
addss xmm0, xmm2
movaps xmm2, xmm4
addss xmm2, xmm8
movss dword [rdi + 0x54], xmm0
subss xmm2, dword [rdi + 0x6c]
movss dword [rdi + 0x1c8], xmm2
test r13d, eax
je 0x180012464
movss xmm0, dword [rcx + 0x1460]
movss xmm3, dword [rcx + 0x177c]
addss xmm0, xmm0
mulss xmm3, dword [rdi + 0x278]
addss xmm3, xmm0
jmp 0x180012468
movaps xmm3, xmm8
test al, 1
je 0x180012472
movaps xmm1, xmm8
jmp 0x180012492
movss xmm0, dword [rcx + 0x1460]
movss xmm1, dword [rcx + 0x177c]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x278]
addss xmm1, xmm0
addss xmm1, xmm3
addss xmm2, xmm8
lea rbx, [rdi + 0x148]
addss xmm1, dword [rdi + 0x5c]
addss xmm2, dword [rdi + 0x18]
subss xmm1, dword [rdi + 0x70]
addss xmm1, dword [rdi + 0x1c]
movss dword [rdi + 0x100], xmm2
movss dword [rdi + 0xf0], xmm2
movss dword [rdi + 0xf8], xmm2
movss dword [rdi + 0x108], xmm2
movss dword [rdi + 0xf4], xmm1
movss xmm0, dword [rdi + 0xf4]
subss xmm0, dword [0x18003a548]
movss dword [rdi + 0x104], xmm1
movss dword [rdi + 0xfc], xmm1
movss dword [rdi + 0x10c], xmm1
mov qword [rdi + 0x118], rsi
mov qword [rdi + 0x110], rsi
mov byte [rdi + 0x13d], sil
maxss xmm4, dword [r14 + 0x146c]
movss dword [rdi + 0x120], xmm0
movss dword [rdi + 0x140], xmm4
cmp dword [rbx + 4], esi
jge 0x18001255a
mov eax, dword [rbx + 4]
mov rcx, rbx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, dword [rbx + 4]
test eax, eax
cmovg edx, eax
call fcn.180020104
mov rcx, qword [0x18003f5c8]
mov dword [rbx], esi
mov eax, dword [rdi + 0x224]
mov dword [rdi + 0x168], eax
mov dword [rdi + 0x160], esi
mov dword [rdi + 0x164], 1
mov dword [rdi + 0x16c], 0xbf800000
mov r8d, dword [rdi + 0x174]
test r8d, r8d
jns 0x180012609
mov eax, r8d
mov ebx, esi
cdq
sub eax, edx
sar eax, 1
add eax, r8d
test eax, eax
cmovg ebx, eax
cmp ebx, r8d
jle 0x180012609
inc dword [rcx + 0x354]
mov rax, qword [rcx + 0xf0]
movsxd rcx, ebx
shl rcx, 2
call rax
mov rdx, qword [rdi + 0x178]
mov r12, rax
test rdx, rdx
je 0x1800125dd
movsxd r8, dword [rdi + 0x170]
mov rcx, rax
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rdi + 0x178]
mov rax, qword [0x18003f5c8]
test rcx, rcx
je 0x1800125f6
dec dword [rax + 0x354]
call qword [rax + 0xf8]
mov qword [rdi + 0x178], r12
mov dword [rdi + 0x174], ebx
lea rbx, [rdi + 0x180]
mov dword [rdi + 0x170], esi
cmp dword [rbx + 4], esi
jge 0x180012635
mov eax, dword [rbx + 4]
mov rcx, rbx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, dword [rbx + 4]
test eax, eax
cmovg edx, eax
call fcn.1800206b0
mov dword [rbx], esi
lea rbx, [rdi + 0x190]
cmp dword [rbx + 4], esi
jge 0x18001265d
mov eax, dword [rbx + 4]
mov rcx, rbx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, dword [rbx + 4]
test eax, eax
cmovg edx, eax
call fcn.1800206b0
mov dword [rbx], esi
lea rax, [rdi + 0x258]
lea rcx, [rdi + 0x1a0]
mov qword [rdi + 0x158], rax
xor edx, edx
mov qword [rdi + 0x1d8], rsi
mov dword [rdi + 0x124], esi
call fcn.18001fce4
lea rcx, [rdi + 0x248]
movss xmm0, dword [r14 + 0x146c]
movss dword [rdi + 0x22c], xmm0
mov dword [rdi + 0x228], 3
mov qword [rdi + 0x230], rsi
cmp byte [rsp + 0x42], sil
je 0x1800126be
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov r8d, esi
cmp dword [rdi + 0x228], esi
jle 0x180012730
mov rdx, rsi
test rdx, rdx
jle 0x1800126f3
movss xmm0, dword [rcx]
comiss xmm0, xmm8
jbe 0x1800126f3
movss xmm0, dword [rdi + 0x230]
addss xmm0, dword [rdi + 0x22c]
movss dword [rdi + 0x230], xmm0
cvttss2si eax, dword [rdi + 0x230]
inc r8d
inc rdx
movss xmm1, dword [rcx]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx - 0x10], xmm0
addss xmm1, dword [rdi + 0x230]
movss dword [rdi + 0x230], xmm1
mov dword [rcx], esi
add rcx, 4
cmp r8d, dword [rdi + 0x228]
jl 0x1800126cc
bt r15d, 0x18
jae 0x180012763
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x164]
cmp dword [rdi + 0x164], eax
je 0x180012763
lea rdx, [rdi + 0x164]
mov dword [rdi + 0x164], eax
lea rcx, [rdi + 0x170]
call fcn.18001fc20
mov eax, dword [rdi + 0xa8]
test eax, eax
jle 0x180012775
dec eax
mov dword [rdi + 0xa8], eax
mov eax, dword [rdi + 0xac]
test eax, eax
jle 0x180012787
dec eax
mov dword [rdi + 0xac], eax
cmp byte [rsp + 0x41], sil
je 0x180012796
mov rcx, rdi
call fcn.180013464
test r15b, 1
jne 0x1800128cb
mov ebx, r15d
and ebx, 0x20
jne 0x1800127e4
movss xmm0, dword [r14 + 0x145c]
movaps xmm2, xmm6
movss xmm1, dword [rdi + 0x1c]
mov al, byte [rdi + 0x93]
addss xmm0, dword [rdi + 0x18]
addss xmm1, dword [r14 + 0x1460]
neg al
sbb edx, edx
and edx, 0xfffffffe
unpcklps xmm0, xmm1
add edx, 3
movq rcx, xmm0
call fcn.18000e7c8
mov r12, qword [rbp - 0x78]
lea rcx, [rbp - 0x78]
movss xmm0, dword [0x18003a568]
mov rdx, r12
mov r9b, 1
movss dword [rsp + 0x20], xmm0
xor r8d, r8d
call fcn.18000ea10
movss dword [rbp - 0x5c], xmm7
movss dword [rbp - 0x54], xmm13
test ebx, ebx
jne 0x180012837
movss xmm3, dword [r14 + 0x145c]
movaps xmm1, xmm3
addss xmm1, dword [r14 + 0x1778]
addss xmm1, dword [r14 + 0x1474]
jmp 0x180012843
movss xmm1, dword [r14 + 0x145c]
movaps xmm3, xmm1
lea rax, [r14 + 0x1444]
movaps xmm2, xmm3
movss xmm0, dword [rax]
comiss xmm0, xmm8
jbe 0x180012866
movaps xmm2, xmm1
subss xmm2, xmm3
mulss xmm2, xmm0
addss xmm2, xmm3
movaps xmm0, xmm10
movss dword [rbp - 0x4c], xmm7
addss xmm0, xmm1
movss dword [rbp - 0x44], xmm13
subss xmm12, xmm2
xor r9d, r9d
lea rcx, [rbp - 0x50]
mov r8, r12
mov qword [rsp + 0x30], rcx
lea rdx, [rbp - 0x58]
mov qword [rsp + 0x28], rax
lea rcx, [rbp - 0x60]
movss dword [rbp - 0x60], xmm0
lea rax, [rbp - 0x78]
movss dword [rbp - 0x50], xmm0
movss xmm0, dword [rdi + 0x20]
addss xmm0, dword [rdi + 0x18]
movss dword [rbp - 0x58], xmm12
mov qword [rsp + 0x20], rax
subss xmm0, xmm3
movss dword [rbp - 0x48], xmm0
call fcn.18000e2b0
movss xmm2, dword [rdi + 0x18]
mov eax, r15d
movss xmm3, dword [rdi + 0x1c]
and eax, 0x401
movss xmm1, dword [rdi + 0x24]
movss dword [rdi + 0x200], xmm2
addss xmm1, xmm3
movss dword [rdi + 0x204], xmm3
addss xmm2, dword [rdi + 0x20]
movss dword [rdi + 0x208], xmm2
movss dword [rdi + 0x20c], xmm1
movss xmm0, dword [rdi + 0x200]
maxss xmm0, dword [rdi + 0x1f0]
maxss xmm3, dword [rdi + 0x1f4]
movss dword [rdi + 0x200], xmm0
movss dword [rdi + 0x204], xmm3
movss xmm1, dword [rdi + 0x208]
movss xmm0, dword [rdi + 0x20c]
minss xmm1, dword [rdi + 0x1f8]
minss xmm0, dword [rdi + 0x1fc]
movss dword [rdi + 0x208], xmm1
movss dword [rdi + 0x20c], xmm0
movss xmm2, dword [rdi + 0x64]
addss xmm10, xmm2
movss dword [rdi + 0x210], xmm10
cmp eax, 1
jne 0x180012980
movaps xmm3, xmm2
jmp 0x180012989
movss xmm3, dword [r14 + 0x1468]
test dword [rdi + 0xc], r13d
je 0x1800129b8
mov rax, qword [0x18003f5c8]
movss xmm0, dword [rax + 0x1460]
movss xmm1, dword [rax + 0x177c]
addss xmm0, xmm0
mulss xmm1, dword [rdi + 0x278]
addss xmm1, xmm0
jmp 0x1800129bc
movaps xmm1, xmm8
addss xmm1, xmm13
xor r8d, r8d
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x70]
addss xmm1, xmm3
movss dword [rdi + 0x214], xmm1
movss xmm0, dword [rdi + 0x20]
addss xmm0, dword [rdi + 0x18]
subss xmm0, dword [rdi + 0x88]
subss xmm0, xmm2
movss dword [rdi + 0x218], xmm0
movss xmm1, dword [rdi + 0x1c]
addss xmm1, dword [rdi + 0x24]
movups xmm0, xmmword [rbp - 0x70]
subss xmm1, dword [rdi + 0x8c]
subss xmm1, xmm2
movss dword [rdi + 0x21c], xmm1
mov eax, dword [rdi + 0x68]
mov dword [rdi + 0x128], eax
movdqu xmmword [rdi + 0x12c], xmm0
call fcn.18000eadc
mov r12d, dword [rsp + 0x70]
mov byte [rdi + 0x13c], al
movss xmm3, dword [0x18003a43c]
lea rdx, [rbp - 0x68]
movss xmm0, dword [rdi + 0x58]
lea rcx, [rbp - 0x70]
movss xmm1, dword [rdi + 0x210]
movaps xmm2, xmm8
mulss xmm0, xmm3
addss xmm1, xmm3
mov r8b, 1
subss xmm0, dword [rdi + 0x64]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm2, xmm0
addss xmm1, xmm2
cvttss2si eax, xmm1
movss xmm1, dword [rdi + 0x214]
addss xmm1, xmm3
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm1
movss xmm1, dword [rdi + 0x218]
movss dword [rbp - 0x70], xmm0
addss xmm1, xmm3
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm2
movss dword [rbp - 0x6c], xmm0
cvttss2si eax, xmm1
movss xmm1, dword [rdi + 0x21c]
addss xmm1, xmm3
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm1
movss dword [rbp - 0x68], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x64], xmm0
call fcn.18000d78c
cmp dword [rsp + 0x74], r12d
je 0x180012af8
mov byte [rdi + 0x92], sil
inc dword [rdi + 0xa0]
mov dword [r14 + 0x1920], esi
bt r15d, 0x18
jae 0x180012b7c
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x180012b21
mov cl, 1
cmp byte [rax + 0x93], sil
jne 0x180012b24
mov cl, sil
mov byte [rdi + 0x93], cl
mov al, cl
test r15b, 0x40
jne 0x180012b71
cmp dword [rdi + 0xa8], esi
jg 0x180012b71
cmp dword [rdi + 0xac], esi
jg 0x180012b71
movss xmm0, dword [rdi + 0x200]
comiss xmm0, dword [rdi + 0x208]
jae 0x180012b67
movss xmm0, dword [rdi + 0x204]
mov al, sil
comiss xmm0, dword [rdi + 0x20c]
jb 0x180012b69
mov al, 1
or al, cl
mov byte [rdi + 0x93], al
test al, al
je 0x180012b7c
mov byte [rdi + 0x90], sil
comiss xmm8, dword [r14 + 0x1428]
jb 0x180012b8d
mov byte [rdi + 0x90], sil
cmp byte [rdi + 0x93], sil
jne 0x180012b9f
cmp byte [rdi + 0x90], sil
jne 0x180012bb2
cmp dword [rdi + 0xa8], esi
jg 0x180012bb2
cmp dword [rdi + 0xac], esi
jg 0x180012bb2
mov sil, 1
mov byte [rdi + 0x94], sil
xor sil, 1
mov al, sil
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.180031ce0
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret