Function at 0x1801a9cb0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x208]
sub rsp, 0x2c8
vmovaps xmmword [rax - 0x58], xmm6
vmovaps xmmword [rax - 0x68], xmm7
vmovaps xmmword [rax - 0x78], xmm8
vmovaps xmmword [rax - 0x88], xmm9
vmovaps xmmword [rax - 0x98], xmm10
vmovaps xmmword [rax - 0xa8], xmm11
vmovaps xmmword [rax - 0xb8], xmm12
vmovaps xmmword [rax - 0xc8], xmm13
vmovaps xmmword [rax - 0xd8], xmm14
mov rax, qword [0x180267710]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x18]
mov rcx, qword [0x180267728]
mov rax, qword [rcx]
call qword [rax + 0x60]
mov edx, eax
mov rcx, qword [0x180267710]
call rbx
mov r14, rax
test rax, rax
je 0x1801ab03b
mov qword [0x180268200], rax
mov rcx, rax
call fcn.1800e6780
mov rcx, qword [0x180267710]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x20]
mov edx, dword [rax]
mov dword [rbp + 0x210], edx
lea rdx, [rbp + 0x210]
call r8
mov qword [0x180268208], rax
mov rcx, qword [0x180268200]
call fcn.180186310
mov edx, dword [rax]
sub edx, 4
je 0x1801a9d90
cmp edx, 1
jne 0x1801a9dc8
mov rcx, qword [0x180268200]
call fcn.180186410
mov rcx, qword [0x180267710]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x20]
mov eax, dword [rax]
mov dword [rbp + 0x210], eax
lea rdx, [rbp + 0x210]
call r8
test rax, rax
je 0x1801a9dc8
mov qword [0x180268218], rax
mov rcx, qword [0x180267728]
mov rax, qword [rcx]
call qword [rax + 0xa8]
lea esi, [rax + 1]
mov rcx, qword [0x180267710]
mov rdx, qword [rcx]
call qword [rdx + 0x30]
xor r12d, r12d
mov r13d, dword [0x180265dfc]
cmp esi, eax
jg 0x1801aa2e3
mov r15d, r13d
mov r12, qword gs:[0x58]
lea r13, [0x180000000]
nop dword [rax]
mov rcx, qword [0x180267710]
mov rax, qword [rcx]
mov edx, esi
call qword [rax + 0x18]
mov rdi, rax
mov qword [rsp + 0x30], rax
test rax, rax
je case.0x1801aa133.256
mov rdx, qword [rax + 0x10]
lea rcx, [rax + 0x10]
call qword [rdx + 0x40]
test al, al
jne case.0x1801aa133.256
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x10]
test rax, rax
je case.0x1801aa133.256
mov ebx, dword [rax + 0x28]
cmp ebx, 0xfc
jg 0x1801aa10e
je case.0x1801aa133.253
lea eax, [rbx - 1]
cmp eax, 0xf8
ja case.0x1801aa133.256
cdqe
movzx eax, byte [rax + r13 + 0x1ab0c0]
mov ecx, dword [r13 + rax*4 + 0x1ab090]
add rcx, r13
jmp rcx
mov qword [0x180268210], rdi
jmp case.0x1801aa133.256
mov dword [rbp + 0x210], 3
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x60]
lea rcx, [0x180268220]
call fcn.1801ac590
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x1801a9eda
mov qword [rdx], rdi
add qword [rcx + 8], 8
jmp 0x1801a9ee4
lea r8, [rsp + 0x30]
call fcn.18014c610
mov rcx, qword [0x180268200]
call fcn.1800c4a90
mov ebx, dword [rax]
mov rcx, rdi
call fcn.1800c4a90
xor ecx, ecx
cmp dword [rax], ebx
sete cl
add ecx, 4
mov dword [rbp + 0x218], ecx
lea r8, [rbp + 0x218]
lea rdx, [rbp + 0x70]
jmp 0x1801aa291
mov rdx, rdi
call fcn.1801ab330
test al, al
je 0x1801a9f3c
mov dword [rbp + 0x210], 6
lea rdx, [rbp + 0x80]
jmp 0x1801aa28a
mov rdx, rdi
call fcn.1801ab470
test al, al
je 0x1801a9f5e
mov dword [rbp + 0x210], 7
lea rdx, [rbp + 0x90]
jmp 0x1801aa28a
mov rdx, rdi
call fcn.1801ab530
test al, al
je 0x1801a9f80
mov dword [rbp + 0x210], 9
lea rdx, [rbp + 0xa0]
jmp 0x1801aa28a
mov rdx, rdi
call fcn.1801ab630
test al, al
je case.0x1801aa133.256
mov dword [rbp + 0x210], 0xa
lea rdx, [rbp + 0xb0]
jmp 0x1801aa28a
mov dword [rbp + 0x210], 7
lea rdx, [rbp + 0xc0]
jmp 0x1801aa28a
mov dword [rbp + 0x210], 0xc
lea rdx, [rbp + 0xd0]
jmp 0x1801aa28a
mov dword [rbp + 0x210], 8
lea rdx, [rbp + 0xe0]
jmp 0x1801aa28a
mov ecx, 4
mov rax, qword [r12 + r15*8]
mov ecx, dword [rcx + rax]
cmp dword [0x180267f20], ecx
jle 0x1801aa09d
lea rcx, [0x180267f20]
call fcn.1801b3c6c
cmp dword [0x180267f20], 0xffffffff
jne 0x1801aa09d
mov rcx, qword [0x1802676e0]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
test rax, rax
je 0x1801aa089
nop
mov r9, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r8d, 0x811c9dc5
inc rcx
cmp byte [r9 + rcx], 0
jne 0x1801aa041
xor edx, edx
test rcx, rcx
je 0x1801aa080
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rdx + r9]
xor eax, r8d
imul r8d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x1801aa060
cmp r8d, 0xd5c073db
je 0x1801aa0e8
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1801aa030
xor eax, eax
mov dword [0x180267f1c], eax
lea rcx, [0x180267f20]
call fcn.1801b3c00
movsxd rdx, dword [0x180267f1c]
mov rcx, qword [0x180267710]
mov rax, qword [rcx]
mov r8, qword [rax + 0x20]
mov eax, dword [rdx + rdi]
mov dword [rbp + 0x220], eax
lea rdx, [rbp + 0x220]
call r8
cmp rax, qword [0x180268200]
jne case.0x1801aa133.256
mov dword [rbp + 0x210], 0xf
lea rdx, [rbp + 0xf0]
jmp 0x1801aa28a
lea r8, str.m_hTargetPlayer
mov rdx, qword [r10 + 0x18]
call fcn.1801b3800
jmp 0x1801aa08b
mov dword [rbp + 0x210], 0x12
lea rdx, [rsp + 0x58]
jmp 0x1801aa28a
lea eax, [rbx - 0xfd]
cmp eax, 0x65
ja case.0x1801aa133.256
cdqe
movzx eax, byte [rax + r13 + 0x1ab1cc]
mov ecx, dword [r13 + rax*4 + 0x1ab1bc]
add rcx, r13
jmp rcx
mov dword [rbp + 0x210], 0xb
lea r8, [rbp + 0x210]
lea rdx, [rsp + 0x68]
lea rcx, [0x180268220]
call fcn.1801ac590
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x1801aa172
mov qword [rdx], rdi
add qword [rcx + 8], 8
jmp 0x1801aa17c
lea r8, [rsp + 0x30]
call fcn.18014c610
cmp ebx, 0xd9
jne 0x1801aa1e7
mov rcx, rdi
call fcn.1800c56c0
mov rcx, qword [0x180267710]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x20]
mov eax, dword [rax]
mov dword [rbp + 0x228], eax
lea rdx, [rbp + 0x228]
call r8
cmp rax, r14
jne case.0x1801aa133.256
mov rcx, rdi
call fcn.1800c58c0
cmp dword [rax], 1
je 0x1801aa1d3
mov rcx, rdi
call fcn.1800c58c0
cmp dword [rax], 2
jne case.0x1801aa133.256
mov dword [rbp + 0x210], 0x10
lea rdx, [rsp + 0x78]
jmp 0x1801aa28a
cmp ebx, 0x101
jne case.0x1801aa133.256
mov rcx, rdi
call fcn.1800e4840
mov rcx, qword [0x180267710]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x20]
mov eax, dword [rax]
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x40]
call r8
mov rbx, rax
mov rcx, rdi
call fcn.180158e60
mov rcx, qword [0x180267710]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x20]
mov edx, dword [rax]
mov dword [rsp + 0x44], edx
lea rdx, [rsp + 0x44]
call r8
cmp rax, qword [0x180268200]
jne case.0x1801aa133.256
test rbx, rbx
je case.0x1801aa133.256
mov rcx, rbx
call fcn.1800c3d00
cmp dword [rax], 0x15f
jne case.0x1801aa133.256
mov dword [rbp + 0x210], 0x11
lea rdx, [rbp - 0x78]
jmp 0x1801aa28a
mov dword [rbp + 0x210], 0xd
lea rdx, [rbp - 0x68]
jmp 0x1801aa28a
mov dword [rbp + 0x210], 0xe
lea rdx, [rbp - 0x58]
lea r8, [rbp + 0x210]
lea rcx, [0x180268220]
call fcn.1801ac590
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x1801aa2b8
mov qword [rdx], rdi
add qword [rcx + 8], 8
jmp case.0x1801aa133.256
lea r8, [rsp + 0x30]
call fcn.18014c610
inc esi
mov rcx, qword [0x180267710]
mov rax, qword [rcx]
call qword [rax + 0x30]
cmp esi, eax
jle 0x1801a9e10
mov r13d, dword [0x180265dfc]
xor r12d, r12d
mov dword [rbp + 0x218], 1
mov rcx, qword [0x180267728]
mov rax, qword [rcx]
call qword [rax + 0xa8]
movabs rsi, 0x100000001b3
mov edx, dword [rbp + 0x218]
cmp edx, eax
jg 0x1801aa8a7
mov r14d, r13d
mov r15, qword gs:[0x58]
movabs r13, 0xcbf29ce484222325
nop dword [rax + rax]
mov rcx, qword [0x180267710]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, rax
test rax, rax
je 0x1801aa87c
mov rdx, qword [rax + 0x10]
lea rcx, [rax + 0x10]
call qword [rdx + 0x10]
test rax, rax
je 0x1801aa87c
cmp dword [rax + 0x28], 0xf7
jne 0x1801aa87c
mov rsi, qword [0x180268210]
test rsi, rsi
je 0x1801aa6f2
mov edx, dword [rbp + 0x218]
mov rcx, rsi
call fcn.18015da70
test al, al
je 0x1801aa6f2
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x40]
mov edx, dword [rbp + 0x218]
mov rcx, rsi
test al, al
je 0x1801aa694
call fcn.18015d960
movzx ebx, al
xor bl, 1
add bl, bl
mov rcx, rdi
call fcn.1800c3e00
mov byte [rax], bl
mov ebx, dword [rbp + 0x218]
mov ecx, 4
mov rax, qword [r15 + r14*8]
mov ecx, dword [rcx + rax]
cmp dword [0x180267f24], ecx
jle 0x1801aa482
lea rcx, [0x180267f24]
call fcn.1801b3c6c
cmp dword [0x180267f24], 0xffffffff
jne 0x1801aa482
mov rcx, qword [0x1802676e0]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
test rax, rax
je 0x1801aa46d
nop
mov r9, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r8d, 0x811c9dc5
inc rcx
cmp byte [r9 + rcx], 0
jne 0x1801aa421
mov rdx, r12
test rcx, rcx
je 0x1801aa464
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rdx + r9]
xor eax, r8d
imul r8d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x1801aa440
cmp r8d, 0x3369e751
je 0x1801aa520
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1801aa410
mov eax, r12d
mov dword [0x180267f18], eax
lea rcx, [0x180267f24]
call fcn.1801b3c00
lea eax, [rbx*4]
cdqe
movsxd rdx, dword [0x180267f18]
add rax, rsi
mov ebx, dword [rdx + rax]
mov rcx, rdi
call fcn.1800ca830
mov dword [rax], ebx
mov edx, dword [rbp + 0x218]
movzx ecx, dl
xor rcx, r13
movabs rsi, 0x100000001b3
imul rcx, rsi
movzx eax, byte [rbp + 0x219]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbp + 0x21a]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbp + 0x21b]
xor rcx, rax
imul rcx, rsi
and rcx, qword [0x1802684d0]
add rcx, rcx
mov r8, qword [0x1802684b8]
mov rax, qword [r8 + rcx*8 + 8]
cmp rax, qword [0x1802684a8]
je 0x1801aa535
mov r8, qword [r8 + rcx*8]
cmp edx, dword [rax + 0x10]
je 0x1801aa538
nop
cmp rax, r8
je 0x1801aa535
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x1801aa510
jmp 0x1801aa538
lea r8, str.m_iHealth
mov rdx, qword [r10 + 0x18]
call fcn.1801b3800
jmp 0x1801aa470
mov rax, r12
test rax, rax
je 0x1801aa6fc
lea r8, [rbp + 0x218]
lea rdx, [rbp - 0x58]
lea rcx, [0x1802684a0]
call fcn.1801abf70
mov rbx, qword [rax]
mov rcx, qword [0x180267728]
mov rax, qword [rcx]
call qword [rax + 0x70]
vsubss xmm2, xmm0, dword [rbx + 0x20]
vmovss xmm1, dword [0x1802762d4]
vcomiss xmm1, xmm2
jbe 0x1801aa5b0
mov rcx, rdi
call fcn.1800caf30
mov ecx, dword [rbx + 0x14]
mov dword [rax], ecx
mov ecx, dword [rbx + 0x18]
mov dword [rax + 4], ecx
mov ecx, dword [rbx + 0x1c]
mov dword [rax + 8], ecx
mov rdx, rax
mov rcx, rdi
call qword [0x180261c48]
jmp 0x1801aa6fc
mov r9d, dword [rbp + 0x218]
movzx ecx, r9b
xor rcx, r13
imul rcx, rsi
movzx eax, byte [rbp + 0x219]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbp + 0x21a]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbp + 0x21b]
xor rcx, rax
imul rcx, rsi
mov rdx, qword [0x1802684d0]
and rdx, rcx
add rdx, rdx
mov r8, qword [0x1802684b8]
mov rcx, qword [r8 + rdx*8 + 8]
mov r10, qword [0x1802684a8]
cmp rcx, r10
je 0x1801aa631
mov rax, qword [r8 + rdx*8]
cmp r9d, dword [rcx + 0x10]
je 0x1801aa634
nop dword [rax + rax]
cmp rcx, rax
je 0x1801aa631
mov rcx, qword [rcx + 8]
cmp r9d, dword [rcx + 0x10]
jne 0x1801aa620
jmp 0x1801aa634
mov rcx, r12
test rcx, rcx
je 0x1801aa6fc
mov rax, qword [r8 + rdx*8]
cmp qword [r8 + rdx*8 + 8], rcx
jne 0x1801aa663
cmp rax, rcx
jne 0x1801aa658
mov qword [r8 + rdx*8], r10
mov qword [r8 + rdx*8 + 8], r10
jmp 0x1801aa66f
mov r10, qword [rcx + 8]
mov qword [r8 + rdx*8 + 8], r10
jmp 0x1801aa66f
cmp rax, rcx
jne 0x1801aa66f
mov rax, qword [rcx]
mov qword [r8 + rdx*8], rax
mov rdx, qword [rcx]
dec qword [0x1802684b0]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x28
call fcn.1801b3bbc
jmp 0x1801aa6fc
call fcn.18015d960
test al, al
je 0x1801aa6f2
mov rcx, rdi
call fcn.1800caf30
vmovss xmm7, dword [rax]
vmovss xmm8, dword [rax + 4]
vmovss xmm9, dword [rax + 8]
mov rcx, qword [0x180267728]
mov rax, qword [rcx]
call qword [rax + 0x70]
vmovaps xmm6, xmm0
lea r8, [rbp + 0x218]
lea rdx, [rbp - 0x68]
lea rcx, [0x1802684a0]
call fcn.1801abf70
mov rcx, qword [rax]
vmovss dword [rcx + 0x14], xmm7
vmovss dword [rcx + 0x18], xmm8
vmovss dword [rcx + 0x1c], xmm9
vmovss dword [rcx + 0x20], xmm6
movabs rsi, 0x100000001b3
mov dword [rbp + 0x210], r12d
lea r8, [rbp + 0x210]
lea rdx, [rbp - 0x78]
lea rcx, [0x180268220]
call fcn.1801ac590
mov rcx, qword [rax]
add rcx, 0x18
mov qword [rsp + 0x30], rdi
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x1801aa73a
mov qword [rdx], rdi
add qword [rcx + 8], 8
jmp 0x1801aa744
lea r8, [rsp + 0x30]
call fcn.18014c610
mov rcx, qword [0x180268200]
call fcn.1800c4a90
mov ebx, dword [rax]
mov rcx, rdi
call fcn.1800c4a90
mov ecx, r12d
cmp dword [rax], ebx
sete cl
inc ecx
mov dword [rbp + 0x220], ecx
lea r8, [rbp + 0x220]
lea rdx, [rsp + 0x78]
lea rcx, [0x180268220]
call fcn.1801ac590
mov rcx, qword [rax]
add rcx, 0x18
mov qword [rbp + 0x210], rdi
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x1801aa7a4
mov qword [rdx], rdi
add qword [rcx + 8], 8
jmp 0x1801aa7b0
lea r8, [rbp + 0x210]
call fcn.18014c610
vpxor xmm0, xmm0, xmm0
xor eax, eax
vmovups ymmword [rbp - 0x30], ymm0
vmovups ymmword [rbp - 0x10], ymm0
vmovups ymmword [rbp + 0x10], ymm0
vmovups ymmword [rbp + 0x30], ymm0
mov dword [rbp + 0x50], eax
mov rcx, qword [0x180267728]
mov rax, qword [rcx]
lea r8, [rbp - 0x30]
mov edx, dword [rbp + 0x218]
vzeroupper
call qword [rax + 0x40]
test al, al
je 0x1801aa87c
cmp byte [rbp + 0x3c], 0
jne 0x1801aa87c
mov rcx, qword [0x180267b10]
mov rax, qword [rcx]
mov r9, qword [rax + 0x88]
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x228], eax
mov byte [rbp + 0x22f], 1
mov eax, dword [rbp + 0x22c]
and eax, 0xff100001
or eax, 0x100001
mov dword [rbp + 0x22c], eax
mov r8d, 4
mov rdx, qword [rbp + 0x228]
call r9
movzx ebx, al
lea r8, [rbp + 0x18]
lea rdx, [rsp + 0x68]
lea rcx, [0x180268520]
call fcn.180146130
mov rcx, qword [rax]
mov dword [rcx + 0x14], ebx
lea r8, [rbp + 0x218]
lea rdx, [rsp + 0x58]
lea rcx, [0x1802684e0]
call fcn.1800b8f20
mov rcx, qword [rax]
mov byte [rcx + 0x14], bl
inc dword [rbp + 0x218]
mov rcx, qword [0x180267728]
mov rax, qword [rcx]
call qword [rax + 0xa8]
mov edx, dword [rbp + 0x218]
cmp edx, eax
jle 0x1801aa330
mov r13d, dword [0x180265dfc]
mov ecx, r13d
mov rax, qword gs:[0x58]
mov edx, 4
mov ebx, edx
mov rdi, qword [rax + rcx*8]
mov eax, dword [rdi + rdx]
cmp dword [0x18027a2e0], eax
jle 0x1801aa8fa
lea rcx, [0x18027a2e0]
call fcn.1801b3c6c
cmp dword [0x18027a2e0], 0xffffffff
jne 0x1801aa8fa
mov rax, qword [0x180267770]
mov edx, dword [rax + 0x18]
mov dword [0x18027a2f0], edx
lea rcx, [0x18027a2e0]
call fcn.1801b3c00
mov rax, qword [0x180267770]
mov ecx, dword [rax + 0x18]
mov r12d, ecx
sub r12d, dword [0x18027a2f0]
dec r12d
mov dword [0x18027a2f0], ecx
mov eax, dword [rdi + rbx]
cmp dword [0x18027a2dc], eax
jle 0x1801aa956
lea rcx, [0x18027a2dc]
call fcn.1801b3c6c
cmp dword [0x18027a2dc], 0xffffffff
jne 0x1801aa956
lea rdx, str.sv_maxusrcmdprocessticks
call fcn.1801b0360
mov qword [0x18027a2e8], rax
lea rcx, [0x18027a2dc]
call fcn.1801b3c00
mov rax, qword [0x18027a2e8]
test rax, rax
je 0x1801aa96c
mov rax, qword [rax + 0x38]
mov r13d, dword [rax + 0x58]
jmp 0x1801aa972
mov r13d, 0x18
mov dword [rsp + 0x50], r13d
mov dword [rbp + 0x210], 1
mov rcx, qword [0x180267728]
mov rax, qword [rcx]
call qword [rax + 0xa8]
mov edx, dword [rbp + 0x210]
cmp edx, eax
jg 0x1801aaf3e
vmovss xmm14, dword [0x18023bbc0]
vxorps xmm11, xmm11, xmm11
nop dword [rax]
mov rcx, qword [0x180267710]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r14, rax
test rax, rax
je 0x1801aaf1a
mov rcx, qword [0x180267728]
mov rdx, qword [rcx]
call qword [rdx + 0x60]
cmp dword [rbp + 0x210], eax
je 0x1801aaf1a
lea rcx, [r14 + 0x10]
mov rdx, qword [rcx]
call qword [rdx + 0x40]
movzx r15d, al
mov r8d, dword [rbp + 0x210]
movzx edx, r8b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
imul rdx, rsi
movzx ecx, byte [rbp + 0x211]
xor rdx, rcx
imul rdx, rsi
movzx ecx, byte [rbp + 0x212]
xor rdx, rcx
imul rdx, rsi
movzx eax, byte [rbp + 0x213]
xor rdx, rax
imul rdx, rsi
mov rcx, qword [0x180268290]
and rcx, rdx
add rcx, rcx
mov rdx, qword [0x180268278]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [0x180268268]
je 0x1801aaa73
mov rcx, qword [rdx + rcx*8]
cmp r8d, dword [rax + 0x10]
je 0x1801aaa75
cmp rax, rcx
je 0x1801aaa73
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x1801aaa62
jmp 0x1801aaa75
xor eax, eax
test rax, rax
je 0x1801aaa9d
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0xf0]
lea rcx, [0x180268260]
call fcn.1800b8a60
mov rax, qword [rax]
add rax, 0x14
jmp 0x1801aaaa5
mov rcx, r14
call fcn.1801a9bb0
vmovss xmm13, dword [rax]
lea r8, [rbp + 0x210]
lea rdx, [rbp - 0x58]
lea rcx, [0x1802682a0]
call fcn.1800b8a60
mov rcx, qword [rax]
vmovss dword [rcx + 0x14], xmm13
mov rcx, r14
test r15b, r15b
cmovne rcx, qword [0x180268200]
call fcn.1800ca0b0
vmovss xmm12, dword [rax]
lea r8, [rbp + 0x210]
lea rdx, [rbp - 0x68]
lea rcx, [0x180268260]
call fcn.1800b8a60
mov rcx, qword [rax]
vmovss dword [rcx + 0x14], xmm12
mov dword [rsp + 0x48], 0
mov rax, qword [0x180267770]
vmovss xmm3, dword [rax + 0x1c]
vsubss xmm0, xmm12, xmm13
vdivss xmm1, xmm0, xmm3
vaddss xmm2, xmm1, xmm14
vcvttss2si edx, xmm2
sub edx, r12d
mov dword [rsp + 0x4c], edx
lea rcx, [rsp + 0x48]
lea rax, [rsp + 0x4c]
cmovns rcx, rax
lea rax, [rsp + 0x50]
cmp r13d, edx
cmovge rax, rcx
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, dword [rax]
vmulss xmm6, xmm0, xmm3
lea r8, [rbp + 0x210]
lea rdx, [rbp - 0x78]
lea rcx, [0x1802682e0]
call fcn.1800b8a60
mov rcx, qword [rax]
vmovss dword [rcx + 0x14], xmm6
vucomiss xmm6, xmm11
jp 0x1801aab7d
je 0x1801aad0b
mov rcx, r14
call fcn.1800c3e00
cmp byte [rax], 0
jne 0x1801aace1
test r15b, r15b
jne 0x1801aace1
lea r8, [rbp + 0x210]
lea rdx, [rsp + 0x78]
lea rcx, [0x180268320]
call fcn.1800b8a60
mov rax, qword [rax]
mov eax, dword [rax + 0x14]
mov dword [rbp + 0x220], eax
mov qword [rbp + 0x228], r14
lea r8, [rbp + 0x228]
test byte [0x18026b7b4], 2
je 0x1801aacc9
lea rdx, [rsp + 0x68]
call fcn.1800ed020
mov rcx, qword [rax]
add rcx, 0x48
lea rdx, [rbp + 0x220]
call fcn.1800ed300
lea r8, [rbp + 0x228]
lea rdx, [rsp + 0x58]
call fcn.1800ed020
mov rcx, qword [rax]
cmp qword [rcx + 0x68], 3
jne 0x1801aace1
lea r8, [rbp + 0x228]
lea rdx, [rbp + 0xe0]
call fcn.1800ed020
mov rcx, qword [rax]
mov byte [rcx + 0x70], 1
lea r8, [rbp + 0x228]
lea rdx, [rbp + 0xd0]
call fcn.1800ed020
mov rdi, qword [rax]
mov rbx, qword [rdi + 0x60]
mov rsi, qword [rdi + 0x68]
add rsi, rbx
cmp rbx, rsi
je 0x1801aac9e
mov r8, rbx
shr r8, 2
mov rax, qword [rdi + 0x58]
dec rax
and r8, rax
mov rcx, qword [rdi + 0x50]
mov rdx, rbx
and edx, 3
mov rcx, qword [rcx + r8*8]
mov eax, dword [0x18026b834]
cmp dword [rcx + rdx*4], eax
jge 0x1801aac96
lea r8, [rbp + 0x228]
lea rdx, [rbp + 0xc0]
call fcn.1800ed020
mov rcx, qword [rax]
mov byte [rcx + 0x70], 0
inc rbx
cmp rbx, rsi
jne 0x1801aac52
lea r8, [rbp + 0x228]
lea rdx, [rbp + 0xb0]
call fcn.1800ed020
mov rcx, qword [rax]
add rcx, 0x48
call fcn.1800bc220
movabs rsi, 0x100000001b3
jmp 0x1801aace1
lea rdx, [rbp + 0xa0]
call fcn.1800ed020
mov rcx, qword [rax]
add rcx, 0x48
call fcn.1800bc220
mov rax, qword [0x180267770]
mov ebx, dword [rax + 0x18]
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x90]
lea rcx, [0x180268360]
call fcn.1800b8a60
mov rcx, qword [rax]
mov dword [rcx + 0x14], ebx
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x80]
lea rcx, [0x180268360]
call fcn.1800b8a60
mov rcx, qword [rax]
mov rax, qword [0x180267770]
mov ebx, dword [rax + 0x18]
sub ebx, dword [rcx + 0x14]
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x70]
lea rcx, [0x180268320]
call fcn.1800b8a60
mov rcx, qword [rax]
mov dword [rcx + 0x14], ebx
vucomiss xmm6, xmm11
jp 0x1801aad5f
je 0x1801aaf1a
lea r8, [rbp + 0x210]
lea rcx, [0x1802683a0]
test r15b, r15b
je 0x1801aad87
lea rdx, [rbp + 0x60]
call fcn.1801ac270
mov rcx, qword [rax]
mov byte [rcx + 0x14], 0
jmp 0x1801aaf1a
mov byte [0x1802685e0], 1
mov rax, qword [r14 + 8]
mov rbx, qword [rax + 0x80]
lea rdx, [rsp + 0x30]
call fcn.1801ac270
mov rdx, qword [rax]
add rdx, 0x18
vmovss dword [rsp + 0x20], xmm12
mov r9d, 0x7ff00
mov r8d, 0x80
lea rcx, [r14 + 8]
call rbx
movzx ebx, al
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x110]
lea rcx, [0x1802683a0]
call fcn.1801ac270
mov rcx, qword [rax]
mov byte [rcx + 0x14], bl
mov byte [0x1802685e0], 0
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x120]
lea rcx, [0x1802683e0]
call fcn.1800e2140
mov rcx, qword [rax]
vmovss xmm8, dword [rcx + 0x14]
vmovss xmm9, dword [rcx + 0x18]
vmovss xmm10, dword [rcx + 0x1c]
mov rcx, r14
call fcn.1800ebea0
vmovss xmm7, dword [rax]
mov rcx, r14
call fcn.1800ebfa0
vmovss xmm6, dword [rax]
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x100]
lea rcx, [0x1802683e0]
call fcn.1800e2140
mov rcx, qword [rax]
vmovss dword [rcx + 0x14], xmm7
vmovss dword [rcx + 0x18], xmm6
mov dword [rcx + 0x1c], 0
vsubss xmm2, xmm12, xmm13
vsubss xmm0, xmm7, xmm8
vdivss xmm8, xmm0, xmm2
vsubss xmm1, xmm6, xmm9
vdivss xmm9, xmm1, xmm2
vsubss xmm0, xmm11, xmm10
vdivss xmm10, xmm0, xmm2
mov rcx, qword [0x180267728]
mov rax, qword [rcx]
call qword [rax + 0x240]
mov rdi, rax
test rax, rax
jne 0x1801aae9d
vmovaps xmm1, xmm11
jmp 0x1801aaec9
vmovss xmm7, dword [0x180262844]
mov rax, qword [rax]
mov rbx, qword [rax + 0x48]
xor edx, edx
mov rcx, rdi
call rbx
vmovaps xmm6, xmm0
mov edx, 1
mov rcx, rdi
call rbx
vaddss xmm1, xmm0, xmm6
vsubss xmm1, xmm1, xmm7
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, dword [0x1802679f4]
mov rax, qword [0x180267770]
vmulss xmm0, xmm0, dword [rax + 0x1c]
vaddss xmm1, xmm0, xmm1
vmulss xmm6, xmm8, xmm1
vmulss xmm7, xmm9, xmm1
vmulss xmm8, xmm10, xmm1
lea r8, [rbp + 0x210]
lea rdx, [rbp - 0x48]
lea rcx, [0x180268420]
call fcn.1800e2140
mov rcx, qword [rax]
vmovss dword [rcx + 0x14], xmm6
vmovss dword [rcx + 0x18], xmm7
vmovss dword [rcx + 0x1c], xmm8
inc dword [rbp + 0x210]
mov rcx, qword [0x180267728]
mov rax, qword [rcx]
call qword [rax + 0xa8]
mov edx, dword [rbp + 0x210]
cmp edx, eax
jle 0x1801aa9b0
mov dword [rbp + 0x210], 0
lea r8, [rbp + 0x210]
lea rdx, [rbp - 0x48]
lea rcx, [0x180268220]
call fcn.1801ac590
mov rcx, qword [rax]
mov r14, qword [rcx + 0x20]
mov rdi, qword [rcx + 0x18]
cmp rdi, r14
je 0x1801ab03b
nop dword [rax]
nop word [rax + rax]
mov rsi, qword [rdi]
vpxor xmm0, xmm0, xmm0
xor eax, eax
vmovups ymmword [rbp - 0x30], ymm0
vmovups ymmword [rbp - 0x10], ymm0
vmovups ymmword [rbp + 0x10], ymm0
vmovups ymmword [rbp + 0x30], ymm0
mov dword [rbp + 0x50], eax
mov rax, qword [0x180267728]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x40]
mov rax, qword [rsi + 0x10]
lea rcx, [rsi + 0x10]
vzeroupper
call qword [rax + 0x48]
lea r8, [rbp - 0x30]
mov edx, eax
mov rcx, qword [0x180267728]
call rbx
test al, al
je 0x1801ab02e
xor r8d, r8d
mov edx, dword [rbp + 0x18]
lea rcx, [0x1802769d0]
call fcn.18015e240
mov ebx, eax
lea r8, [rbp + 0x18]
lea rdx, [rbp - 0x48]
lea rcx, [0x1802685a0]
call fcn.180146130
mov rdx, qword [rax]
mov dword [rdx + 0x14], ebx
mov rdx, qword [rsi + 0x10]
lea rcx, [rsi + 0x10]
call qword [rdx + 0x48]
mov dword [rbp + 0x210], eax
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x100]
lea rcx, [0x180268560]
call fcn.1800b8a60
mov rcx, qword [rax]
mov dword [rcx + 0x14], ebx
add rdi, 8
cmp rdi, r14
jne 0x1801aaf80
lea r11, [rsp + 0x2c8]
vmovaps xmm6, xmmword [r11 - 0x18]
vmovaps xmm7, xmmword [r11 - 0x28]
vmovaps xmm8, xmmword [r11 - 0x38]
vmovaps xmm9, xmmword [r11 - 0x48]
vmovaps xmm10, xmmword [r11 - 0x58]
vmovaps xmm11, xmmword [r11 - 0x68]
vmovaps xmm12, xmmword [r11 - 0x78]
vmovaps xmm13, xmmword [r11 - 0x88]
vmovaps xmm14, xmmword [r11 - 0x98]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret