Function at 0x1401111a0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1d8]
sub rsp, 0x2b0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x140232100]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov r15, qword [0x14023a800]
mov qword [rbp - 0x68], r15
mov rax, qword [0x14023a7b0]
mov rbx, qword [rax + 0x50]
cmp rbx, 0x10000
jb 0x140112484
lea rax, [rbx + 0x1388]
mov qword [rbp + 0x28], rax
xor r12d, r12d
mov qword [rbp + 0x38], r12
mov qword [rsp + 0x28], 8
lea r9, [rsp + 0x28]
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x28]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
mov rax, qword [rbp + 0x38]
cmp rax, 0x10000
jb 0x140112484
add rax, 0x58
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x38], r12
mov qword [rsp + 0x28], 8
lea r9, [rsp + 0x28]
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x28]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
mov rax, qword [rbp + 0x38]
cmp rax, 0x10000
jb 0x140112484
add rax, 0xa0
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x28], r12
mov qword [rsp + 0x28], 8
lea r9, [rsp + 0x28]
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x38]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
mov r13, qword [rbp + 0x28]
mov qword [rsp + 0x28], r13
lea rax, [rbx + 0x2e8]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], 8
lea r9, [rbp + 0x40]
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x20]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], 8
lea r9, [rbp + 0x40]
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x20]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xf8], xmm0
movups xmmword [rbp + 0x108], xmm0
mov dword [rbp + 0x118], eax
mov qword [rbp + 0x40], 0x24
lea rax, [rbx + 0xb6c]
mov qword [rbp + 0x20], rax
lea r9, [rbp + 0x40]
lea r8, [rbp + 0xf8]
lea rdx, [rbp + 0x20]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
xorps xmm9, xmm9
mov qword [rbp + 0xbc], r12
mov dword [rbp + 0xb8], r12d
mov qword [rbp + 0x40], 0xc
lea rax, [rbx + 0xb90]
mov qword [rbp + 0x20], rax
lea r9, [rbp + 0x40]
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x20]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
mov qword [rbp + 0x80], r12
cmp r13, 0x10000
jbe 0x1401122df
movabs rbx, 0x100000001b3
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x70], rax
lea rax, [r13 + 0x34]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0xac], 0
mov dword [rbp + 0xa8], 0
mov qword [rbp + 0x38], 0xc
lea r9, [rbp + 0x38]
lea r8, [rbp + 0xa8]
lea rdx, [rbp + 0x40]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
movss xmm0, dword [rbp + 0xa8]
ucomiss xmm0, xmm9
jp 0x14011144b
jne 0x14011144b
movss xmm0, dword [rbp + 0xac]
ucomiss xmm0, xmm9
jp 0x14011144b
jne 0x14011144b
movss xmm0, dword [rbp + 0xb0]
ucomiss xmm0, xmm9
jp 0x14011144b
je 0x140112299
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov rdi, r12
mov qword [rbp + 0x60], r12
mov esi, 0xf
mov qword [rbp + 0x68], rsi
mov byte [rbp + 0x50], 0
lea rax, [r13 + 0xc0]
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x38], 8
lea r9, [rbp + 0x38]
lea r8, [rbp + 0x40]
lea rdx, [rsp + 0x20]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
mov r14, qword [rbp + 0x40]
movzx ecx, r14b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rbp + 0x41]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rbp + 0x42]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rbp + 0x43]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rbp + 0x44]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rbp + 0x45]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rbp + 0x46]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rbp + 0x47]
xor rcx, rax
imul rcx, rbx
mov rdx, qword [r15 + 0x38]
and rdx, rcx
add rdx, rdx
mov rcx, qword [r15 + 0x20]
mov rax, qword [rcx + rdx*8 + 8]
mov r9, qword [r15 + 0x10]
cmp rax, r9
je 0x140111534
mov rcx, qword [rcx + rdx*8]
cmp r14, qword [rax + 0x10]
je 0x140111537
cmp rax, rcx
je 0x140111534
mov rax, qword [rax + 8]
cmp r14, qword [rax + 0x10]
jne 0x140111523
jmp 0x140111537
mov rax, r12
test rax, rax
cmovne r9, rax
cmp r9, qword [r15 + 0x10]
je 0x14011158d
add r9, 0x18
lea rax, [rbp + 0x50]
cmp rax, r9
je 0x140111608
mov rbx, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0xf
jbe 0x140111563
mov r9, qword [r9]
lea rcx, [rbp + 0x50]
cmp rbx, 0xf
ja 0x140111583
mov qword [rbp + 0x60], rbx
mov r8, rbx
mov rdx, r9
call fcn.140171ce0
mov byte [rbp + rbx + 0x50], 0
jmp 0x140111600
mov rdx, rbx
call fcn.140046a40
jmp 0x140111600
lea rdx, [rbp + 0xd8]
mov rcx, r13
call fcn.14002d760
lea rcx, [rbp + 0x50]
cmp rcx, rax
je 0x1401115c3
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x60], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rbp + 0xd8]
call fcn.140029420
mov qword [rsp + 0x40], r14
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x48]
call fcn.14002a3b0
nop
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x30]
lea rcx, [r15 + 8]
call fcn.140116e50
nop
lea rcx, [rsp + 0x48]
call fcn.140029420
mov rsi, qword [rbp + 0x68]
mov rdi, qword [rbp + 0x60]
mov rdx, qword [r15 + 0x10]
mov rax, qword [rdx]
cmp rax, rdx
je 0x140111629
cmp qword [rax + 0x10], r14
je 0x140111762
mov rcx, qword [rax]
mov rax, rcx
cmp rcx, rdx
jne 0x140111614
lea rdx, [rbp]
mov rcx, r13
call fcn.14002d760
mov rbx, rax
lea rax, [rbp + 0x50]
cmp rax, rbx
je 0x140111697
cmp rsi, 0xf
jbe 0x140111679
lea rdx, [rsi + 1]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140111674
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401124ce
call fcn.1401383fc
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x50], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x60], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
lea rcx, [rbp]
call fcn.140029420
mov qword [rsp + 0x40], r14
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x48]
call fcn.14002a3b0
nop
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x20]
lea rcx, [r15 + 8]
call fcn.140116e50
nop
lea rcx, [rsp + 0x48]
call fcn.140029420
mov rsi, qword [rbp + 0x68]
mov rdi, qword [rbp + 0x60]
lea r14, [rbp + 0x50]
mov r15, qword [rbp + 0x50]
cmp rsi, 0xf
cmova r14, r15
cmp rdi, 9
jb 0x14011185b
lea r12, [r14 + rdi]
lea r8, [r12 - 8]
sub r8, r14
mov edx, 0x66
mov rcx, r14
call fcn.140172720
mov rbx, rax
test rax, rax
je 0x14011185b
nop dword [rax + rax]
mov r8d, 9
lea rdx, str.fuel_tank
mov rcx, rbx
call fcn.1401727c0
test eax, eax
je 0x1401117bf
inc rbx
lea r8, [r12 - 8]
sub r8, rbx
mov edx, 0x66
mov rcx, rbx
call fcn.140172720
mov rbx, rax
test rax, rax
jne 0x140111720
jmp 0x14011185b
lea r9, [rax + 0x18]
lea rax, [rbp + 0x50]
cmp rax, r9
je 0x1401116d9
mov rdi, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0xf
jbe 0x140111781
mov r9, qword [r9]
cmp rdi, rsi
ja 0x1401117ae
lea rbx, [rbp + 0x50]
cmp rsi, 0xf
cmova rbx, qword [rbp + 0x50]
mov qword [rbp + 0x60], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call fcn.140171ce0
mov byte [rdi + rbx], 0
jmp 0x1401116d1
mov rdx, rdi
lea rcx, [rbp + 0x50]
call fcn.140046a40
jmp 0x1401116d1
sub rbx, r14
cmp rbx, 0xffffffffffffffff
je 0x14011185b
lea r14, [rbp + 0x50]
cmp rsi, 0xf
cmova r14, r15
cmp rdi, 8
jb 0x14011198d
lea r12, [rdi + r14]
lea r8, [r12 - 7]
sub r8, r14
mov edx, 0x65
mov rcx, r14
call fcn.140172720
mov rbx, rax
test rax, rax
je 0x14011198d
nop word [rax + rax]
mov r8d, 8
lea rdx, str.exterior
mov rcx, rbx
call fcn.1401727c0
test eax, eax
je 0x14011184e
inc rbx
lea r8, [r12 - 7]
sub r8, rbx
mov edx, 0x65
mov rcx, rbx
call fcn.140172720
mov rbx, rax
test rax, rax
jne 0x140111810
jmp 0x14011198d
sub rbx, r14
cmp rbx, 0xffffffffffffffff
je 0x14011198d
lea rcx, [rbp + 0x50]
cmp rsi, 0xf
cmova rcx, r15
cmp rdi, 0xc
jne 0x140111884
mov r8, rdi
lea rdx, str.commander_dm
call fcn.1401727c0
test eax, eax
je 0x14011198d
lea rcx, [rbp + 0x50]
cmp rsi, 0xf
cmova rcx, r15
cmp rdi, 9
jne 0x1401118ad
mov r8, rdi
lea rdx, str.loader_dm
call fcn.1401727c0
test eax, eax
je 0x14011198d
lea rcx, [rbp + 0x50]
cmp rsi, 0xf
cmova rcx, r15
cmp rdi, 9
jne 0x1401118d6
mov r8, rdi
lea rdx, str.gunner_dm
call fcn.1401727c0
test eax, eax
je 0x14011198d
lea rcx, [rbp + 0x50]
cmp rsi, 0xf
cmova rcx, r15
cmp rdi, 9
jne 0x1401118ff
mov r8, rdi
lea rdx, str.engine_dm
call fcn.1401727c0
test eax, eax
je 0x14011198d
lea r14, [rbp + 0x50]
cmp rsi, 0xf
cmova r14, r15
cmp rdi, 9
jb 0x14011227f
lea r8, [r14 - 8]
add r8, rdi
sub r8, r14
mov edx, 0x61
mov rcx, r14
call fcn.140172720
mov rbx, rax
test rax, rax
je 0x14011227f
nop dword [rax + rax]
mov r8d, 9
lea rdx, [0x1401cab20]
mov rcx, rbx
call fcn.1401727c0
test eax, eax
je 0x140111980
inc rbx
lea r8, [r14 - 8]
add r8, rdi
sub r8, rbx
mov edx, 0x61
mov rcx, rbx
call fcn.140172720
mov rbx, rax
test rax, rax
jne 0x140111940
jmp 0x14011227f
sub rbx, r14
cmp rbx, 0xffffffffffffffff
je 0x14011227f
lea rax, [r13 + 4]
mov qword [rbp + 0x38], rax
xor r14d, r14d
mov word [rbp + 0x30], r14w
mov qword [rsp + 0x20], 2
lea r9, [rsp + 0x20]
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x38]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
movsx eax, word [rbp + 0x30]
shl eax, 6
movsxd rcx, eax
add rcx, qword [rbp - 0x70]
mov qword [rbp + 0x38], rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
movups xmmword [rbp + 0x130], xmm0
movups xmmword [rbp + 0x140], xmm0
movups xmmword [rbp + 0x150], xmm0
mov qword [rsp + 0x20], 0x40
lea r9, [rsp + 0x20]
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x38]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
lea rax, [r13 + 0x88]
mov qword [rbp + 0x38], rax
mov word [rbp + 0x30], r14w
mov qword [rsp + 0x20], 2
lea r9, [rsp + 0x20]
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x38]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
movsx rdi, word [rbp + 0x30]
xorps xmm0, xmm0
mov rbx, rdi
movdqu xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], r14
test edi, edi
je 0x140111ab8
movabs rax, 0x1555555555555555
cmp rbx, rax
ja 0x1401124d4
mov rdx, rbx
call fcn.140029ae0
mov qword [rbp + 0xd8], rax
lea rcx, [rdi + rdi*2]
lea rdx, [rax + rcx*4]
mov qword [rbp + 0xe8], rdx
nop word [rax + rax]
mov qword [rax + 4], r14
mov dword [rax], r14d
add rax, 0xc
sub rbx, 1
jne 0x140111aa0
mov qword [rbp + 0xe0], rax
lea rax, [r13 + 0x80]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x38], r14
mov qword [rsp + 0x20], 8
lea r9, [rsp + 0x20]
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x40]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
test edi, edi
jle 0x140111ce2
mov rbx, r14
mov rsi, qword [rbp + 0x38]
nop dword [rax + rax]
mov qword [rbp + 0x38], rsi
mov qword [rbp + 0xd0], 0
mov qword [rbp + 0xc8], 0
mov qword [rsp + 0x20], 0x10
lea r9, [rsp + 0x20]
lea r8, [rbp + 0xc8]
lea rdx, [rbp + 0x38]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
movss xmm8, dword [rbp + 0x130]
movss xmm5, dword [rbp + 0xcc]
mulss xmm8, xmm5
movss xmm0, dword [rbp + 0x120]
movss xmm2, dword [rbp + 0xc8]
mulss xmm0, xmm2
addss xmm8, xmm0
movss xmm1, dword [rbp + 0x140]
movss xmm4, dword [rbp + 0xd0]
mulss xmm1, xmm4
addss xmm8, xmm1
movss xmm0, dword [rbp + 0x150]
movss xmm3, dword [rbp + 0xd4]
mulss xmm0, xmm3
addss xmm8, xmm0
movss xmm7, dword [rbp + 0x124]
mulss xmm7, xmm2
movss xmm0, dword [rbp + 0x134]
mulss xmm0, xmm5
addss xmm7, xmm0
movss xmm1, dword [rbp + 0x144]
mulss xmm1, xmm4
addss xmm7, xmm1
movss xmm0, dword [rbp + 0x154]
mulss xmm0, xmm3
addss xmm7, xmm0
movss xmm6, dword [rbp + 0x128]
mulss xmm6, xmm2
movss xmm0, dword [rbp + 0x138]
mulss xmm0, xmm5
addss xmm6, xmm0
movss xmm1, dword [rbp + 0x148]
mulss xmm1, xmm4
addss xmm6, xmm1
movss xmm0, dword [rbp + 0x158]
mulss xmm0, xmm3
addss xmm6, xmm0
movss xmm3, dword [rbp + 0x10c]
mulss xmm3, xmm7
movss xmm0, dword [rbp + 0x100]
mulss xmm0, xmm8
addss xmm3, xmm0
movss xmm1, dword [rbp + 0x118]
mulss xmm1, xmm6
addss xmm3, xmm1
movss xmm2, dword [rbp + 0x108]
mulss xmm2, xmm7
movss xmm0, dword [rbp + 0xfc]
mulss xmm0, xmm8
addss xmm2, xmm0
movss xmm1, dword [rbp + 0x114]
mulss xmm1, xmm6
addss xmm2, xmm1
movss xmm4, dword [rbp + 0xc0]
addss xmm4, xmm3
movss xmm1, dword [rbp + 0xbc]
addss xmm1, xmm2
mov rax, qword [rbp + 0xd8]
movss xmm0, dword [rbp + 0x104]
mulss xmm0, xmm7
mulss xmm8, dword [rbp + 0xf8]
addss xmm0, xmm8
mulss xmm6, dword [rbp + 0x110]
addss xmm0, xmm6
addss xmm0, dword [rbp + 0xb8]
movss dword [rax + rbx], xmm0
movss dword [rax + rbx + 4], xmm1
movss dword [rax + rbx + 8], xmm4
add rsi, 0x10
add rbx, 0xc
sub rdi, 1
jne 0x140111b00
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
mov rsi, r14
mov qword [rbp + 0x98], r14
mov qword [rbp + 0xa0], 0xf
mov byte [rbp + 0x88], sil
lea rax, [r13 + 0xc0]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], r14
mov qword [rsp + 0x20], 8
lea r9, [rsp + 0x20]
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x38]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
mov r8, qword [0x14023a800]
mov rdi, qword [rbp + 0x40]
movzx ecx, dil
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rbp + 0x41]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x42]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x43]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x44]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x45]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x46]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x47]
xor rcx, rax
imul rcx, rdx
mov rdx, qword [r8 + 0x38]
and rdx, rcx
add rdx, rdx
mov rcx, qword [r8 + 0x20]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [r8 + 0x10]
je 0x140111de4
mov rcx, qword [rcx + rdx*8]
cmp rdi, qword [rax + 0x10]
je 0x140111de7
cmp rax, rcx
je 0x140111de4
mov rax, qword [rax + 8]
cmp rdi, qword [rax + 0x10]
jne 0x140111dd3
jmp 0x140111de7
mov rax, r14
test rax, rax
jne 0x140111df0
mov rax, qword [r8 + 0x10]
cmp rax, qword [r8 + 0x10]
je 0x140111e51
lea r9, [rax + 0x18]
lea rax, [rbp + 0x88]
cmp rax, r9
je 0x140111eda
mov rbx, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0xf
jbe 0x140111e18
mov r9, qword [r9]
lea rcx, [rbp + 0x88]
cmp rbx, 0xf
ja 0x140111e44
mov qword [rbp + 0x98], rbx
mov r8, rbx
mov rdx, r9
call fcn.140171ce0
mov byte [rbp + rbx + 0x88], 0
jmp 0x140111ed3
mov rdx, rbx
call fcn.140046a40
jmp 0x140111ed3
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.14002d760
lea rcx, [rbp + 0x88]
cmp rcx, rax
je 0x140111e8e
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x88], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x98], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rsp + 0x40]
call fcn.140029420
mov rbx, qword [0x14023a800]
mov qword [rsp + 0x40], rdi
lea rdx, [rbp + 0x88]
lea rcx, [rsp + 0x48]
call fcn.14002a3b0
nop
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x10]
lea rcx, [rbx + 8]
call fcn.140116e50
nop
lea rcx, [rsp + 0x48]
call fcn.140029420
mov rsi, qword [rbp + 0x98]
lea rax, [r13 + 0x98]
mov qword [rbp + 0x38], rax
mov word [rbp + 0x30], r14w
mov qword [rsp + 0x20], 2
lea r9, [rsp + 0x20]
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x38]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
lea rax, [r13 + 0x90]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x38], r14
mov qword [rsp + 0x20], 8
lea r9, [rsp + 0x20]
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x40]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
mov ebx, r14d
mov dword [rbp + 0x20], ebx
movsx eax, word [rbp + 0x30]
sub eax, 2
mov dword [rbp + 0x40], eax
test eax, eax
jle 0x140112265
mov r13d, 4
mov rdi, qword [rbp + 0x38]
nop
lea eax, [r13 - 4]
movsxd rcx, eax
add rcx, rdi
mov qword [rsp + 0x30], rcx
mov word [rbp + 0x30], r14w
mov qword [rsp + 0x20], 2
lea r9, [rsp + 0x20]
lea r8, [rbp + 0x30]
lea rdx, [rsp + 0x30]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
lea eax, [r13 - 2]
movsxd rcx, eax
add rcx, rdi
mov qword [rsp + 0x20], rcx
mov word [rbp + 0x48], r14w
mov qword [rsp + 0x30], 2
lea r9, [rsp + 0x30]
lea r8, [rbp + 0x48]
lea rdx, [rsp + 0x20]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
movsxd rax, r13d
add rax, rdi
mov qword [rsp + 0x20], rax
mov word [rbp + 0x4c], r14w
mov qword [rsp + 0x30], 2
lea r9, [rsp + 0x30]
lea r8, [rbp + 0x4c]
lea rdx, [rsp + 0x20]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
movsx rax, word [rbp + 0x30]
lea rcx, [rax + rax*2]
mov rdx, qword [rbp + 0xd8]
movsd xmm8, qword [rdx + rcx*4]
mov r12d, dword [rdx + rcx*4 + 8]
movsd qword [rbp - 0x60], xmm8
ucomiss xmm8, xmm9
jp 0x140112048
jne 0x140112048
movss xmm0, dword [rbp - 0x5c]
ucomiss xmm0, xmm9
jp 0x140112048
jne 0x140112048
movd xmm0, r12d
ucomiss xmm0, xmm9
jp 0x140112048
je 0x14011224d
movsx rax, word [rbp + 0x48]
lea rcx, [rax + rax*2]
movsd xmm7, qword [rdx + rcx*4]
mov r15d, dword [rdx + rcx*4 + 8]
movsd qword [rbp - 0x50], xmm7
ucomiss xmm7, xmm9
jp 0x140112086
jne 0x140112086
movss xmm0, dword [rbp - 0x4c]
ucomiss xmm0, xmm9
jp 0x140112086
jne 0x140112086
movd xmm0, r15d
ucomiss xmm0, xmm9
jp 0x140112086
je 0x14011224d
movsx rax, word [rbp + 0x4c]
lea rcx, [rax + rax*2]
movsd xmm6, qword [rdx + rcx*4]
mov r14d, dword [rdx + rcx*4 + 8]
movsd qword [rbp - 0x40], xmm6
ucomiss xmm6, xmm9
jp 0x1401120c4
jne 0x1401120c4
movss xmm0, dword [rbp - 0x3c]
ucomiss xmm0, xmm9
jp 0x1401120c4
jne 0x1401120c4
movd xmm0, r14d
ucomiss xmm0, xmm9
jp 0x1401120c4
je 0x14011224a
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
lea rdi, [rbp + 0x88]
cmp qword [rbp + 0xa0], 0xf
cmova rdi, qword [rbp + 0x88]
movabs rcx, 0x7fffffffffffffff
cmp rsi, rcx
ja 0x1401124e6
cmp rsi, 0xf
ja 0x140112123
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 0xf
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x40], xmm0
jmp 0x1401121bd
mov rbx, rsi
or rbx, 0xf
cmp rbx, rcx
jbe 0x140112142
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140112169
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14011218b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1401124e0
mov rcx, rax
call fcn.140138180
mov rcx, rax
test rax, rax
je 0x1401124da
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140112195
test rcx, rcx
je 0x140112195
call fcn.140138180
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rbx
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call fcn.140171ce0
movaps xmm0, xmmword [rsp + 0x40]
mov ebx, dword [rbp + 0x20]
xor eax, eax
movsd qword [rsp + 0x60], xmm8
mov dword [rsp + 0x68], r12d
movsd qword [rsp + 0x6c], xmm7
mov dword [rsp + 0x74], r15d
movsd qword [rsp + 0x78], xmm6
mov dword [rbp - 0x80], r14d
mov rdx, qword [rbp + 0x78]
cmp rdx, qword [rbp + 0x80]
je 0x14011222d
movups xmmword [rdx], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx + 0x10], xmm0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
movsd qword [rdx + 0x20], xmm8
mov dword [rdx + 0x28], r12d
movsd qword [rdx + 0x2c], xmm7
mov dword [rdx + 0x34], r15d
movsd qword [rdx + 0x38], xmm6
mov dword [rdx + 0x40], r14d
add qword [rbp + 0x78], 0x48
jmp 0x14011223c
lea r8, [rsp + 0x40]
lea rcx, [rbp + 0x70]
call fcn.14011b770
nop
lea rcx, [rsp + 0x40]
call fcn.140029420
mov rdi, qword [rbp + 0x38]
xor r14d, r14d
add ebx, 3
mov dword [rbp + 0x20], ebx
add r13d, 6
cmp ebx, dword [rbp + 0x40]
jl 0x140111f60
mov r13, qword [rsp + 0x28]
lea rcx, [rbp + 0x88]
call fcn.140029420
nop
lea rcx, [rbp + 0xd8]
call fcn.140029280
nop
lea rcx, [rbp + 0x50]
call fcn.140029420
mov r15, qword [rbp - 0x68]
xor r12d, r12d
movabs rbx, 0x100000001b3
lea rax, [r13 + 8]
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x20], r12
mov qword [rsp + 0x30], 8
lea r9, [rsp + 0x30]
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
mov rcx, qword [0x14023a7d0]
call fcn.14002c350
mov r13, qword [rbp + 0x20]
mov qword [rsp + 0x28], r13
cmp r13, 0x10000
ja 0x1401113d7
lea r14, [r15 + 0x48]
lea rax, [rbp + 0x70]
movabs r12, 0xe38e38e38e38e39
cmp r14, rax
je 0x14011240a
mov rcx, qword [rbp + 0x78]
mov rdi, qword [rbp + 0x70]
sub rcx, rdi
mov rax, r12
imul rcx
mov rsi, rdx
sar rsi, 2
mov rax, rsi
shr rax, 0x3f
add rsi, rax
mov rbx, qword [r14]
mov rcx, qword [r14 + 0x10]
sub rcx, rbx
mov rax, r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rsi, rdx
jbe 0x140112364
mov rdx, rsi
mov rcx, r14
call fcn.140118730
mov r9, r14
mov r8, qword [r14]
mov rdx, rsi
mov rcx, rdi
call fcn.14011b6b0
mov qword [r14 + 8], rax
jmp 0x14011240a
mov r8, qword [r14 + 8]
mov rcx, r8
sub rcx, rbx
mov rax, r12
imul rcx
mov r15, rdx
sar r15, 2
mov rax, r15
shr rax, 0x3f
add r15, rax
cmp rsi, r15
jbe 0x1401123c3
cmp rbx, r8
je 0x1401123ac
nop
mov rdx, rdi
mov rcx, rbx
call fcn.140117fd0
add rbx, 0x48
add rdi, 0x48
mov r8, qword [r14 + 8]
cmp rbx, r8
jne 0x140112390
sub rsi, r15
mov r9, r14
mov rdx, rsi
mov rcx, rdi
call fcn.14011b6b0
mov qword [r14 + 8], rax
jmp 0x14011240a
lea rax, [rsi + rsi*8]
lea r15, [rbx + rax*8]
test rsi, rsi
je 0x1401123e9
mov rdx, rdi
mov rcx, rbx
call fcn.140117fd0
add rbx, 0x48
add rdi, 0x48
sub rsi, 1
jne 0x1401123d0
mov rdi, qword [r14 + 8]
mov rbx, r15
cmp r15, rdi
je 0x140112406
mov rcx, rbx
call fcn.140029420
add rbx, 0x48
cmp rbx, rdi
jne 0x1401123f5
mov qword [r14 + 8], r15
mov rbx, qword [rbp + 0x70]
test rbx, rbx
je 0x140112484
mov rdi, qword [rbp + 0x78]
cmp rbx, rdi
je 0x140112435
nop dword [rax]
mov rcx, rbx
call fcn.140029420
add rbx, 0x48
cmp rbx, rdi
jne 0x140112420
mov rbx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x80]
sub rcx, rbx
mov rax, r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*8]
shl rdx, 3
mov rax, rbx
cmp rdx, 0x1000
jb 0x14011247c
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401124c8
mov rcx, rbx
call fcn.1401383fc
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.140138160
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140145644
nop
call fcn.140145644
nop
call fcn.140029b80
nop
call fcn.140145644
int3
call fcn.140025fa0
int3
call fcn.140026040
int3