Function at 0x180109dc0
Capabilities:
Encode data using xor
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
sub rsp, 0x650
vmovaps xmmword [rax - 0x38], xmm6
vmovaps xmmword [rax - 0x48], xmm7
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
xor r13d, r13d
mov r15d, r13d
mov dword [rbp + 0x10], r13d
mov rcx, qword [0x18019d6f8]
call fcn.1800ef690
test eax, eax
jle 0x18010b0d7
movabs r12, 0x7ffffffdfffe
movzx esi, byte [rbp + 8]
movzx ebx, byte [rbp + 8]
movzx edi, byte [rbp + 8]
vmovss xmm7, dword [0x1800aa0a4]
vxorps xmm6, xmm6, xmm6
mov r14, qword [0x18019d760]
nop dword [rax]
mov rax, qword [0x18019d6f8]
test rax, rax
je 0x180109e80
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x180109e80
movsxd rax, r15d
add rcx, 0x20
lea rdx, [rcx + rax*8]
mov qword [rbp + 0x38], r13
mov r8d, 8
lea rcx, [rbp + 0x38]
call fcn.180185c30
mov r15, qword [rbp + 0x38]
mov r14, qword [0x18019d760]
jmp 0x180109e83
mov r15, r13
cmp r15, r14
jbe 0x180109e97
mov rcx, qword [0x18019d768]
add rcx, r14
cmp r15, rcx
jb 0x180109ea7
lea rax, [r15 - 0x10000]
cmp rax, r12
ja 0x18010b0b7
mov rcx, r15
call fcn.18011fc70
mov r13, rax
mov qword [rbp + 0x58], rax
mov r14, qword [0x18019d760]
cmp rax, r14
jbe 0x180109ed1
mov rcx, qword [0x18019d768]
add rcx, r14
cmp rax, rcx
jb 0x180109ee0
add rax, 0xffffffffffff0000
cmp rax, r12
ja 0x18010b0b4
mov rcx, r15
call fcn.180120340
mov r12d, eax
lea rdx, [rbp + 0x78]
mov rcx, r13
call fcn.180113ed0
mov rcx, r15
call fcn.1800ee940
mov r14, rax
mov rcx, rax
call fcn.18011fc70
mov qword [rbp + 0x2c8], rax
xor r13d, r13d
mov dword [rbp + 0x2a0], r13d
mov qword [rbp + 0x40], r13
lea r8d, [r13 + 8]
lea rdx, [r14 + 0x10]
lea rcx, [rbp + 0x40]
call fcn.180185c30
xor eax, eax
mov qword [rbp + 0x28], rax
mov dword [rbp + 0x30], eax
mov rdx, qword [rbp + 0x40]
add rdx, 0x70
lea r8d, [r13 + 0xc]
lea rcx, [rbp + 0x28]
call fcn.180185c30
vmovsd xmm0, qword [rbp + 0x28]
vmovsd qword [rbp + 0x2b0], xmm0
mov eax, dword [rbp + 0x30]
mov dword [rbp + 0x2b8], eax
mov qword [rbp + 0x48], r13
lea r8d, [r13 + 8]
lea rdx, [r14 + 0x10]
lea rcx, [rbp + 0x48]
call fcn.180185c30
xor eax, eax
mov qword [rbp + 0x18], rax
mov dword [rbp + 0x20], eax
mov rdx, qword [rbp + 0x48]
add rdx, 0x7c
lea r8d, [r13 + 0xc]
lea rcx, [rbp + 0x18]
call fcn.180185c30
vmulss xmm4, xmm7, dword [rbp + 0x20]
vmulss xmm3, xmm7, dword [rbp + 0x1c]
vmulss xmm2, xmm7, dword [rbp + 0x18]
vmovss dword [rbp + 0x2bc], xmm2
vmovss dword [rbp + 0x2c0], xmm3
vmovss dword [rbp + 0x2c4], xmm4
vmovss xmm0, dword [0x18019d6c8]
vsubss xmm5, xmm0, dword [rbp + 0x80]
vmovss xmm1, dword [0x18019d6c4]
vsubss xmm4, xmm1, dword [rbp + 0x7c]
vmovss xmm0, dword [0x18019d6c0]
vsubss xmm2, xmm0, dword [rbp + 0x78]
vmulss xmm3, xmm2, xmm2
vmulss xmm1, xmm4, xmm4
vaddss xmm4, xmm3, xmm1
vmulss xmm0, xmm5, xmm5
vaddss xmm0, xmm4, xmm0
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
ja 0x18010a00c
vsqrtss xmm0, xmm0, xmm0
jmp 0x18010a011
call fcn.180185060
vcomiss xmm0, dword [0x18019b290]
ja 0x18010a9cd
lea eax, [r12 - 2]
cmp eax, 1
jbe 0x18010a9e3
cmp r12d, 1
jne 0x18010a9cd
mov eax, dword [0x18019e820]
test r12b, al
jne 0x18010a1b5
or eax, r12d
mov dword [0x18019e820], eax
movabs rax, 0x8e992baa4173c439
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x330], rax
movabs r14, 0x93e8cbcb24d100b0
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x338], rax
movabs rcx, 0x8e992baa241ea577
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x420], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x428], rax
vmovdqu xmm0, xmmword [rbp + 0x330]
vpxor xmm1, xmm0, xmmword [rbp + 0x420]
vmovdqu xmmword [rbp + 0x330], xmm1
movabs rax, 0xe3fc5fe35071ca3b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x400], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x408], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x440], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x448], rax
vmovdqu xmm0, xmmword [rbp + 0x400]
vpxor xmm1, xmm0, xmmword [rbp + 0x440]
vmovdqu xmmword [rbp + 0x400], xmm1
movabs rax, 0xebed45e30a4ae332
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x310], rax
movabs rax, 0x938dbda250b261c2
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x318], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x460], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x468], rax
vmovdqu xmm0, xmmword [rbp + 0x310]
vpxor xmm1, xmm0, xmmword [rbp + 0x460]
vmovdqu xmmword [rbp + 0x310], xmm1
lea rdx, [rbp + 0x400]
lea rcx, [rbp + 0x310]
call fcn.180124190
xor r8d, r8d
lea rdx, [rbp + 0x330]
mov rcx, rax
call fcn.180124550
mov qword [0x18019e818], rax
jmp 0x18010a1c6
mov rax, qword [0x18019e818]
movabs r14, 0x93e8cbcb24d100b0
test rax, rax
jne 0x18010a1d0
mov rcx, r13
jmp 0x18010a1eb
lea rdx, [r15 + rax]
mov qword [rbp + 0x50], r13
mov r8d, 8
lea rcx, [rbp + 0x50]
call fcn.180185c30
mov rcx, qword [rbp + 0x50]
call fcn.18010bd40
mov r13, rax
mov ecx, dword [0x18019e810]
test cl, 1
jne 0x18010a36b
or ecx, 1
mov dword [0x18019e810], ecx
movabs rax, 0xe3fc5fe37b6ac010
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x390], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x398], rax
movabs rcx, 0x8e992baa241ea577
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x480], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x488], rax
vmovdqu xmm0, xmmword [rbp + 0x390]
vpxor xmm1, xmm0, xmmword [rbp + 0x480]
vmovdqu xmmword [rbp + 0x390], xmm1
movabs rax, 0xe3fc5fe35071ca3b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x350], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x358], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x4a0], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x4a8], rax
vmovdqu xmm0, xmmword [rbp + 0x350]
vpxor xmm1, xmm0, xmmword [rbp + 0x4a0]
vmovdqu xmmword [rbp + 0x350], xmm1
movabs rax, 0xebed45e30a4ae332
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x370], rax
movabs rax, 0x938dbda250b261c2
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x378], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x4c0], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x4c8], rax
vmovdqu xmm0, xmmword [rbp + 0x370]
vpxor xmm1, xmm0, xmmword [rbp + 0x4c0]
vmovdqu xmmword [rbp + 0x370], xmm1
lea rdx, [rbp + 0x350]
lea rcx, [rbp + 0x370]
call fcn.180124190
xor r9d, r9d
lea r8d, [r9 - 1]
lea rdx, [rbp + 0x390]
mov rcx, rax
call fcn.1801245b0
mov qword [0x18019e808], rax
jmp 0x18010a372
mov rax, qword [0x18019e808]
mov qword gs:[0x130], rax
mov rax, qword [0x1800015f8]
mov qword gs:[0x128], rax
mov rcx, r15
call fcn.180185f50
mov r14, qword [0x18019d760]
cmp rax, r14
jbe 0x18010a3ae
mov rdx, qword [0x18019d768]
add rdx, r14
cmp rax, rdx
jb 0x18010a3c4
lea rcx, [rax - 0x10000]
movabs r8, 0x7ffffffdfffe
cmp rcx, r8
ja 0x18010a3e5
mov rcx, rax
call fcn.18011f930
mov rdx, rax
mov r14, qword [0x18019d760]
xor r15d, r15d
movabs r8, 0x7ffffffdfffe
jmp 0x18010a3eb
xor r15d, r15d
mov edx, r15d
cmp rdx, r14
jbe 0x18010a3ff
mov rcx, qword [0x18019d768]
add rcx, r14
cmp rdx, rcx
jb 0x18010a40f
lea rax, [rdx - 0x10000]
cmp rax, r8
ja 0x18010ac79
lea rcx, [rdx + 0x14]
mov rdx, rcx
mov r8d, 0x84222325
movzx eax, word [rcx]
test ax, ax
je 0x18010a449
nop dword [rax]
nop dword [rax + rax]
movzx eax, ax
xor eax, r8d
imul r8d, eax, 0x1b3
lea rdx, [rdx + 2]
movzx eax, word [rdx]
test ax, ax
jne 0x18010a430
mov dword [rbp + 0xc], r8d
mov r8d, 0x84222325
movzx eax, word [rcx]
test ax, ax
je 0x18010a479
nop dword [rax + rax]
movzx eax, ax
xor eax, r8d
imul r8d, eax, 0x1b3
lea rcx, [rcx + 2]
movzx eax, word [rcx]
test ax, ax
jne 0x18010a460
lea rdx, [rbp + 0x530]
lea rcx, [0x18019bfeb]
call fcn.1800ea0d0
nop
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xa8], r15
mov qword [rbp + 0xb0], 0xf
mov byte [rbp + 0x98], 0
vmovups xmmword [rbp + 0xb8], xmm0
mov qword [rbp + 0xc8], r15
mov qword [rbp + 0xd0], 7
mov word [rbp + 0xb8], r15w
mov dword [rbp + 0xd8], 0
vmovups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], r15
mov qword [rbp + 0xf8], 7
mov word [rbp + 0xe0], r15w
mov qword [rbp + 0x100], r15
vmovups xmmword [rbp + 0x108], xmm0
mov qword [rbp + 0x118], r15
mov qword [rbp + 0x120], 7
mov word [rbp + 0x108], r15w
vmovss dword [rbp + 0x128], xmm6
vmovss dword [rbp + 0x12c], xmm6
vmovss dword [rbp + 0x130], xmm6
mov qword [rbp + 0x138], r15
vmovdqu xmmword [rbp + 0x140], xmm0
vxorps xmm1, xmm1, xmm1
vmovups xmmword [rbp + 0x160], xmm1
vmovss dword [rbp + 0x170], xmm6
vmovss dword [rbp + 0x174], xmm6
mov dword [rbp + 0x90], r12d
mov eax, dword [rbp + 0x530]
mov dword [rbp + 0x94], eax
lea rdx, [rbp + 0x538]
cmp qword [rbp + 0x550], 0xf
cmova rdx, qword [rbp + 0x538]
mov r8, qword [rbp + 0x548]
lea rcx, [rbp + 0x98]
call fcn.1800e9e30
lea r9, [r13 + 0x14]
mov rdx, 0xffffffffffffffff
inc rdx
cmp word [r9 + rdx*2], 0
jne 0x18010a5b4
mov rax, qword [rbp + 0xf8]
cmp rdx, rax
ja 0x18010a601
lea r15, [rbp + 0xe0]
cmp rax, 7
cmova r15, qword [rbp + 0xe0]
mov qword [rbp + 0xf0], rdx
lea r14, [rdx + rdx]
mov r8, r14
mov rdx, r9
mov rcx, r15
call fcn.180184e40
xor r13d, r13d
mov word [r14 + r15], r13w
jmp 0x18010a614
movzx r8d, dil
lea rcx, [rbp + 0xe0]
call fcn.1800deb80
xor r13d, r13d
movzx eax, byte [rbp + 0x55c]
mov byte [rbp + 0xda], al
lea rdx, [rbp + 0x500]
mov rcx, qword [rbp + 0x58]
call fcn.180113ed0
vmovsd xmm0, qword [rax]
vmovsd qword [rbp + 0x128], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x130], eax
vmovups ymm0, ymmword [rbp + 0x2a0]
vmovups ymmword [rbp + 0x150], ymm0
vmovups xmm1, xmmword [rbp + 0x2c0]
vmovups xmmword [rbp + 0x170], xmm1
mov edx, dword [rbp + 0xc]
movzx ecx, dl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r8, 0x100000001b3
imul rcx, r8
movzx eax, byte [rbp + 0xd]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0xe]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0xf]
xor rcx, rax
imul rcx, r8
and rcx, qword [0x18019d5b0]
add rcx, rcx
mov r8, qword [0x18019d598]
mov rax, qword [r8 + rcx*8 + 8]
cmp rax, qword [0x18019d588]
je 0x18010a6e0
mov r8, qword [r8 + rcx*8]
cmp edx, dword [rax + 0x10]
je 0x18010a6e3
cmp rax, r8
je 0x18010a6e0
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x18010a6d0
jmp 0x18010a6e3
mov rax, r13
test rax, rax
je 0x18010a710
lea r8, [rbp + 0xc]
lea rdx, [rbp + 0x518]
lea rcx, [0x18019d580]
vzeroupper
call fcn.1800df5f0
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov qword [rbp + 0x100], rax
mov rax, qword [0x18019d500]
cmp rax, qword [0x18019d508]
je 0x18010a73f
lea rdx, [rbp + 0x90]
mov rcx, rax
vzeroupper
call fcn.1800e48b0
add qword [0x18019d500], 0xf0
jmp 0x18010a759
lea r8, [rbp + 0x90]
mov rdx, rax
lea rcx, [0x18019d4f8]
vzeroupper
call fcn.1800dbff0
nop
mov r14, qword [rbp + 0x138]
test r14, r14
je 0x18010a7f9
mov r15, qword [rbp + 0x140]
cmp r14, r15
je 0x18010a78d
mov rcx, r14
call fcn.1800e5ad0
add r14, 0x78
cmp r14, r15
jne 0x18010a775
mov r14, qword [rbp + 0x138]
mov rcx, qword [rbp + 0x148]
sub rcx, r14
movabs rax, 0x8888888888888889
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r14
cmp rdx, 0x1000
jb 0x18010a7de
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b113
mov rcx, r14
call fcn.180182790
mov qword [rbp + 0x138], r13
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp + 0x140], xmm0
mov rdx, qword [rbp + 0x120]
cmp rdx, 7
jbe 0x18010a83f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010a83a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b113
call fcn.180182790
mov qword [rbp + 0x118], r13
mov qword [rbp + 0x120], 7
mov word [rbp + 0x108], r13w
mov rdx, qword [rbp + 0xf8]
cmp rdx, 7
jbe 0x18010a89f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010a89a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b113
call fcn.180182790
mov qword [rbp + 0xf0], r13
mov qword [rbp + 0xf8], 7
mov word [rbp + 0xe0], r13w
mov rdx, qword [rbp + 0xd0]
cmp rdx, 7
jbe 0x18010a8ff
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xb8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010a8fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b113
call fcn.180182790
mov qword [rbp + 0xc8], r13
mov qword [rbp + 0xd0], 7
mov word [rbp + 0xb8], r13w
mov rdx, qword [rbp + 0xb0]
cmp rdx, 0xf
jbe 0x18010a95a
inc rdx
mov rcx, qword [rbp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010a955
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b113
call fcn.180182790
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0xb0], 0xf
mov byte [rbp + 0x98], 0
mov rdx, qword [rbp + 0x550]
cmp rdx, 0xf
jbe 0x18010a9b4
inc rdx
mov rcx, qword [rbp + 0x538]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010a9af
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b119
call fcn.180182790
mov qword [rbp + 0x548], r13
mov qword [rbp + 0x550], 0xf
mov byte [rbp + 0x538], 0
mov r14, qword [0x18019d760]
movabs r12, 0x7ffffffdfffe
jmp 0x18010b0b7
mov rcx, r15
call fcn.1801087f0
mov r14, rax
mov rcx, qword [0x18019d760]
cmp rax, rcx
jbe 0x18010aa06
add rcx, qword [0x18019d768]
cmp rax, rcx
jb 0x18010aa1f
add rax, 0xffffffffffff0000
movabs rcx, 0x7ffffffdfffe
cmp rax, rcx
ja 0x18010ac0c
mov eax, dword [0x18019e7f0]
test al, 1
jne 0x18010abe2
or eax, 1
mov dword [0x18019e7f0], eax
movabs rax, 0xebf44ae47b6ac010
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x3e0], rax
movabs rcx, 0x93e8cbcb24d100b0
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x3e8], rax
movabs rdx, 0x8e992baa241ea577
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x4e0], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x4e8], rax
vmovdqu xmm0, xmmword [rbp + 0x3e0]
vpxor xmm1, xmm0, xmmword [rbp + 0x4e0]
vmovdqu xmmword [rbp + 0x3e0], xmm1
movabs rax, 0xfaf742c4716dc43f
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x280], rax
movabs rax, 0xf181bfbb51a372d5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x288], rax
movabs rax, 0x65684420784e4d75
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x290], rax
movabs r8, 0xf42452e54c22010a
mov qword [rbp], r8
mov rax, qword [rbp]
mov qword [rbp + 0x298], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x3c0], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x3c8], rax
movabs rax, 0xb072d541b0f2819
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x3d0], rax
mov qword [rbp], r8
mov rax, qword [rbp]
mov qword [rbp + 0x3d8], rax
vmovdqu ymm0, ymmword [rbp + 0x280]
vpxor ymm1, ymm0, ymmword [rbp + 0x3c0]
vmovdqu ymmword [rbp + 0x280], ymm1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x2d0], xmm0
mov qword [rbp + 0x2e0], r13
mov qword [rbp + 0x2e8], r13
lea rax, [rbp + 0x280]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18010ab92
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x2d0]
vzeroupper
call fcn.1800db380
mov edx, 0xed44
lea rcx, [rbp + 0x2d0]
call fcn.180124760
xor r9d, r9d
lea r8d, [r9 - 1]
lea rdx, [rbp + 0x3e0]
mov rcx, rax
call fcn.1801245b0
mov qword [0x18019e7e8], rax
jmp 0x18010abe9
mov rax, qword [0x18019e7e8]
mov qword gs:[0x130], rax
mov rax, qword [0x1800015f8]
mov qword gs:[0x128], rax
mov rcx, r14
call fcn.180185f50
jmp 0x18010ac0f
mov rax, r13
mov rcx, rax
call fcn.18010bd40
mov r13, rax
mov r14, qword [0x18019d760]
cmp rax, r14
jbe 0x18010ac35
mov rdx, qword [0x18019d768]
add rdx, r14
cmp rax, rdx
jb 0x18010ac4f
lea rcx, [rax - 0x10000]
movabs rax, 0x7ffffffdfffe
cmp rcx, rax
ja 0x18010b0b1
lea rdx, [rbp + 0x60]
mov rcx, r15
call fcn.180109400
nop
mov rcx, qword [rbp + 0x60]
mov r10, qword [rbp + 0x68]
cmp rcx, r10
jne 0x18010ac88
lea rcx, [rbp + 0x60]
call fcn.1800e77f0
mov r14, qword [0x18019d760]
movabs r12, 0x7ffffffdfffe
jmp 0x18010b0b4
mov r9, r10
sub r9, rcx
movabs rax, 0x8888888888888889
imul r9
add rdx, r9
sar rdx, 6
mov r8, rdx
shr r8, 0x3f
add r8, rdx
movzx r9d, sil
mov rdx, r10
call fcn.1800df3c0
xor r15d, r15d
mov r8d, r15d
mov dword [rbp + 0x184], r15d
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x188], xmm0
mov qword [rbp + 0x198], r15
mov qword [rbp + 0x1a0], 0xf
mov byte [rbp + 0x188], r8b
vmovups xmmword [rbp + 0x1a8], xmm0
mov qword [rbp + 0x1b8], r15
mov qword [rbp + 0x1c0], 7
mov word [rbp + 0x1a8], r15w
mov dword [rbp + 0x1c8], r15d
xor dl, dl
vmovups xmmword [rbp + 0x1d0], xmm0
mov qword [rbp + 0x1e0], r15
mov qword [rbp + 0x1e8], 7
mov word [rbp + 0x1d0], r15w
mov qword [rbp + 0x1f0], r15
vmovups xmmword [rbp + 0x1f8], xmm0
mov qword [rbp + 0x208], r15
mov qword [rbp + 0x210], 7
mov word [rbp + 0x1f8], r15w
vmovss dword [rbp + 0x218], xmm6
vmovss dword [rbp + 0x21c], xmm6
vmovss dword [rbp + 0x220], xmm6
mov qword [rbp + 0x228], r15
vmovdqu xmmword [rbp + 0x230], xmm0
vxorps xmm1, xmm1, xmm1
vmovups xmmword [rbp + 0x250], xmm1
vmovss dword [rbp + 0x260], xmm6
vmovss dword [rbp + 0x264], xmm6
mov dword [rbp + 0x180], r12d
mov rcx, qword [rbp + 0x60]
mov r9, qword [rbp + 0x68]
cmp rcx, r9
je 0x18010adee
mov r15d, 1
nop dword [rax]
add r8d, dword [rcx]
mov dword [rbp + 0x184], r8d
cmp byte [rcx + 0x32], 0
je 0x18010ade2
movzx eax, dl
test dl, dl
cmove eax, r15d
movzx edx, al
mov byte [rbp + 0x1cb], al
add rcx, 0x78
cmp rcx, r9
jne 0x18010adc0
xor r15d, r15d
lea rdx, [rbp + 0x2f0]
lea rcx, [0x18019bfeb]
call fcn.1800fce80
mov r14, rax
lea rax, [rbp + 0x188]
cmp rax, r14
je 0x18010ae87
mov rdx, qword [rbp + 0x1a0]
cmp rdx, 0xf
jbe 0x18010ae51
inc rdx
mov rcx, qword [rbp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010ae4c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b104
call fcn.180182790
mov qword [rbp + 0x198], r15
mov qword [rbp + 0x1a0], 0xf
mov byte [rbp + 0x188], 0
vmovups ymm0, ymmword [r14]
vmovups ymmword [rbp + 0x188], ymm0
mov qword [r14 + 0x10], r15
mov qword [r14 + 0x18], 0xf
mov byte [r14], 0
mov rdx, qword [rbp + 0x308]
cmp rdx, 0xf
jbe 0x18010aecb
inc rdx
mov rcx, qword [rbp + 0x2f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010aec3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b104
vzeroupper
call fcn.180182790
mov qword [rbp + 0x300], r15
mov qword [rbp + 0x308], 0xf
mov byte [rbp + 0x2f0], 0
mov rcx, qword [rbp + 0x68]
sub rcx, qword [rbp + 0x60]
movabs rax, 0x8888888888888889
imul rcx
add rdx, rcx
sar rdx, 6
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, qword [rbp + 0x60]
lea rcx, [rbp + 0x228]
vzeroupper
call fcn.1800db0a0
lea rdx, [rbp + 0x50c]
mov rcx, qword [rbp + 0x58]
call fcn.180113ed0
vmovsd xmm0, qword [rax]
vmovsd qword [rbp + 0x218], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x220], eax
lea r9, [r13 + 0x14]
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp word [r9 + rdx*2], 0
jne 0x18010af50
mov rax, qword [rbp + 0x210]
cmp rdx, rax
ja 0x18010af9d
lea r15, [rbp + 0x1f8]
cmp rax, 7
cmova r15, qword [rbp + 0x1f8]
mov qword [rbp + 0x208], rdx
lea r14, [rdx + rdx]
mov r8, r14
mov rdx, r9
mov rcx, r15
call fcn.180184e40
xor r13d, r13d
mov word [r14 + r15], r13w
jmp 0x18010afb0
movzx r8d, bl
lea rcx, [rbp + 0x1f8]
call fcn.1800deb80
xor r13d, r13d
vmovups ymm0, ymmword [rbp + 0x2a0]
vmovups ymmword [rbp + 0x240], ymm0
vmovups xmm1, xmmword [rbp + 0x2c0]
vmovups xmmword [rbp + 0x260], xmm1
mov rax, qword [0x18019d500]
cmp rax, qword [0x18019d508]
je 0x18010afff
lea rdx, [rbp + 0x180]
mov rcx, rax
vzeroupper
call fcn.1800e48b0
add qword [0x18019d500], 0xf0
jmp 0x18010b019
lea r8, [rbp + 0x180]
mov rdx, rax
lea rcx, [0x18019d4f8]
vzeroupper
call fcn.1800dbff0
nop
lea rcx, [rbp + 0x228]
call fcn.1800e77f0
lea rcx, [rbp + 0x1f8]
call fcn.1800e78a0
lea rcx, [rbp + 0x1d0]
call fcn.1800e78a0
lea rcx, [rbp + 0x1a8]
call fcn.1800e78a0
mov rdx, qword [rbp + 0x1a0]
cmp rdx, 0xf
jbe 0x18010b08a
inc rdx
mov rcx, qword [rbp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010b085
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b10d
call fcn.180182790
mov qword [rbp + 0x198], r13
mov qword [rbp + 0x1a0], 0xf
mov byte [rbp + 0x188], 0
lea rcx, [rbp + 0x60]
call fcn.1800e77f0
jmp 0x18010a9cd
mov r12, rax
xor r13d, r13d
mov r15d, dword [rbp + 0x10]
inc r15d
mov dword [rbp + 0x10], r15d
mov rcx, qword [0x18019d6f8]
call fcn.1800ef690
cmp r15d, eax
jl 0x180109e40
lea r11, [rsp + 0x650]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
vzeroupper
call fcn.1800e6e30
nop
call fcn.1800e6e30
nop
call fcn.1800e6e30
nop
call fcn.1800e6e30
int3