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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1a0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov r13, rdx
mov r15, rcx
mov r8, rdx
cmp qword [rdx + 0x18], 0xf
jbe 0x180135594
mov r8, qword [rdx]
mov rcx, 0xffffffffffffffff
mov r12d, 0x811c9dc5
inc rcx
cmp byte [r8 + rcx], 0
jne 0x1801355a1
xor edx, edx
test rcx, rcx
je 0x1801355d7
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rdx + r8]
xor eax, r12d
imul r12d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x1801355c0
mov r14, qword [0x180291360]
mov rax, qword [0x180291368]
mov qword [rbp - 0x30], rax
cmp r14, rax
je 0x18013649a
mov edi, 0xf
movss xmm6, dword [0x1802634f0]
movss xmm7, dword [0x1802634c0]
movss xmm8, dword [0x1802631f8]
movabs rbx, 0x7fffffffffffffff
mov r8, r14
lea rdx, [rbp + 0x48]
lea rcx, [0x180291320]
call fcn.1800ede90
mov rsi, qword [rax]
lea r8, [rsi + 0x50]
cmp qword [r8 + 0x18], 0xf
jbe 0x18013563e
mov r8, qword [r8]
mov rcx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
nop dword [rax + rax]
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180135650
xor edx, edx
test rcx, rcx
je 0x180135678
movsx eax, byte [r8 + rdx]
xor eax, r9d
imul r9d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180135661
cmp r12d, r9d
jne 0x18013648c
cmp byte [rsi + 0x3e], 0
je 0x18013644b
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rdi
mov byte [rsp + 0x60], 0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rdi
mov byte [rsp + 0x40], 0
mov ecx, dword [rsi + 0x30]
test ecx, ecx
je 0x180135f00
sub ecx, 1
je 0x1801359e8
cmp ecx, 1
jne case.default.0x180135a29
mov qword [rsp + 0x70], 6
mov eax, dword [str.weapon]
mov dword [rsp + 0x60], eax
movzx eax, word [0x18025bc6c]
mov word [rsp + 0x64], ax
mov byte [rsp + 0x66], 0
mov ecx, dword [rsi + 0x34]
test ecx, ecx
je 0x1801358f3
sub ecx, 1
je 0x180135805
cmp ecx, 1
jne case.default.0x180135a29
cmp rdi, 5
jb 0x180135758
lea rbx, [rsp + 0x40]
cmp rdi, 0xf
cmova rbx, qword [rsp + 0x40]
mov qword [rsp + 0x50], 5
mov r8d, 5
lea rdx, str.melee
mov rcx, rbx
call fcn.1801cf8e0
mov byte [rbx + 5], 0
jmp case.default.0x180135a29
mov rcx, rdi
shr rcx, 1
mov rax, rbx
sub rax, rcx
cmp rdi, rax
jbe 0x18013577c
mov rdi, rbx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1801357ab
lea rax, [rdi + rcx]
cmp rax, 0xf
cmova rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x180135795
xor ebx, ebx
jmp 0x1801357d2
cmp rcx, 0x1000
jb 0x1801357ca
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1801364d7
mov rcx, rax
call fcn.180199d60
test rax, rax
je 0x1801364dd
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1801357d2
call fcn.180199d60
mov rbx, rax
mov qword [rsp + 0x50], 5
mov qword [rsp + 0x58], rdi
mov ecx, dword [str.melee]
mov dword [rbx], ecx
movzx ecx, byte [0x18025bc90]
mov byte [rbx + 4], cl
mov byte [rbx + 5], 0
mov edi, 0xf
mov qword [rsp + 0x40], rbx
jmp case.default.0x180135a29
cmp rdi, 0xa
jb 0x180135841
lea rbx, [rsp + 0x40]
cmp rdi, 0xf
cmova rbx, qword [rsp + 0x40]
mov qword [rsp + 0x50], 0xa
mov r8d, 0xa
lea rdx, str.projectile
mov rcx, rbx
call fcn.1801cf8e0
mov byte [rbx + 0xa], 0
jmp case.default.0x180135a29
mov rcx, rdi
shr rcx, 1
mov rax, rbx
sub rax, rcx
cmp rdi, rax
jbe 0x180135865
mov rdi, rbx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180135894
lea rax, [rdi + rcx]
cmp rax, 0xf
cmova rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x18013587e
xor ebx, ebx
jmp 0x1801358bb
cmp rcx, 0x1000
jb 0x1801358b3
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1801364d7
mov rcx, rax
call fcn.180199d60
test rax, rax
je 0x1801364dd
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1801358bb
call fcn.180199d60
mov rbx, rax
mov qword [rsp + 0x50], 0xa
mov qword [rsp + 0x58], rdi
movsd xmm0, qword [str.projectile]
movsd qword [rbx], xmm0
movzx ecx, word [0x18025bca0]
mov word [rbx + 8], cx
mov byte [rbx + 0xa], 0
mov edi, 0xf
mov qword [rsp + 0x40], rbx
jmp case.default.0x180135a29
cmp rdi, 7
jb 0x18013592f
lea rbx, [rsp + 0x40]
cmp rdi, 0xf
cmova rbx, qword [rsp + 0x40]
mov qword [rsp + 0x50], 7
mov r8d, 7
lea rdx, str.hitscan
mov rcx, rbx
call fcn.1801cf8e0
mov byte [rbx + 7], 0
jmp case.default.0x180135a29
mov rcx, rdi
shr rcx, 1
mov rax, rbx
sub rax, rcx
cmp rdi, rax
jbe 0x180135953
mov rdi, rbx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180135982
lea rax, [rcx + rdi]
cmp rax, 0xf
cmova rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x18013596c
xor ebx, ebx
jmp 0x1801359a9
cmp rcx, 0x1000
jb 0x1801359a1
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1801364d7
mov rcx, rax
call fcn.180199d60
test rax, rax
je 0x1801364dd
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1801359a9
call fcn.180199d60
mov rbx, rax
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x58], rdi
mov rcx, qword [str.hitscan]
mov dword [rbx], ecx
movzx ecx, word [0x18025bc64]
mov word [rbx + 4], cx
movzx ecx, byte [0x18025bc66]
mov byte [rbx + 6], cl
mov byte [rbx + 7], 0
mov edi, 0xf
mov qword [rsp + 0x40], rbx
jmp case.default.0x180135a29
mov qword [rsp + 0x70], 5
mov eax, dword [str.class]
mov dword [rsp + 0x60], eax
movzx eax, byte [0x18024d2c4]
mov byte [rsp + 0x64], al
mov byte [rsp + 0x65], 0
movsxd rax, dword [rsi + 0x34]
cmp eax, 8
ja case.default.0x180135a29
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x1364f8]
add rcx, rdx
jmp rcx
lea rdx, str.scout
lea rcx, [rsp + 0x40]
call fcn.180099d30
jmp case.default.0x180135a29
lea rdx, str.soldier
lea rcx, [rsp + 0x40]
call fcn.180099d30
jmp case.default.0x180135a29
lea rdx, str.pyro
lea rcx, [rsp + 0x40]
call fcn.180099d30
jmp case.default.0x180135a29
cmp rdi, 7
jb 0x180135aa9
lea rbx, [rsp + 0x40]
cmp rdi, 0xf
cmova rbx, qword [rsp + 0x40]
mov qword [rsp + 0x50], 7
mov r8d, 7
lea rdx, str.demoman
mov rcx, rbx
call fcn.1801cf8e0
mov byte [rbx + 7], 0
jmp case.default.0x180135a29
mov rcx, rdi
shr rcx, 1
mov rax, rbx
sub rax, rcx
cmp rdi, rax
jbe 0x180135acd
mov rdi, rbx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180135afc
lea rax, [rcx + rdi]
cmp rax, 0xf
cmova rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x180135ae6
xor ebx, ebx
jmp 0x180135b23
cmp rcx, 0x1000
jb 0x180135b1b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1801364d7
mov rcx, rax
call fcn.180199d60
test rax, rax
je 0x1801364dd
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x180135b23
call fcn.180199d60
mov rbx, rax
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x58], rdi
mov rcx, qword [str.demoman]
mov dword [rbx], ecx
movzx ecx, word [0x18025bc5c]
mov word [rbx + 4], cx
movzx ecx, byte [0x18025bc5e]
jmp 0x1801359d2
lea rdx, str.heavy
lea rcx, [rsp + 0x40]
call fcn.180099d30
jmp case.default.0x180135a29
cmp rdi, 8
jb 0x180135b9b
lea rax, [rsp + 0x40]
cmp rdi, 0xf
cmova rax, qword [rsp + 0x40]
mov qword [rsp + 0x50], 8
movabs rcx, 0x7265656e69676e65
mov qword [rax], rcx
mov byte [rax + 8], 0
jmp case.default.0x180135a29
mov rcx, rdi
shr rcx, 1
mov rax, rbx
sub rax, rcx
cmp rdi, rax
jbe 0x180135bbf
mov rdi, rbx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180135bee
lea rax, [rcx + rdi]
cmp rax, 0xf
cmova rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x180135bd8
xor ebx, ebx
jmp 0x180135c15
cmp rcx, 0x1000
jb 0x180135c0d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1801364d7
mov rcx, rax
call fcn.180199d60
test rax, rax
je 0x1801364dd
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x180135c15
call fcn.180199d60
mov rbx, rax
mov qword [rsp + 0x50], 8
mov qword [rsp + 0x58], rdi
movabs rax, 0x7265656e69676e65
mov qword [rbx], rax
mov byte [rbx + 8], 0
mov edi, 0xf
mov qword [rsp + 0x40], rbx
jmp case.default.0x180135a29
cmp rdi, 5
jb 0x180135c7f
lea rbx, [rsp + 0x40]
cmp rdi, 0xf
cmova rbx, qword [rsp + 0x40]
mov qword [rsp + 0x50], 5
mov r8d, 5
lea rdx, str.medic
mov rcx, rbx
call fcn.1801cf8e0
mov byte [rbx + 5], 0
jmp case.default.0x180135a29
mov rcx, rdi
shr rcx, 1
mov rax, rbx
sub rax, rcx
cmp rdi, rax
jbe 0x180135ca3
mov rdi, rbx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180135cd2
lea rax, [rdi + rcx]
cmp rax, 0xf
cmova rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x180135cbc
xor ebx, ebx
jmp 0x180135cf9
cmp rcx, 0x1000
jb 0x180135cf1
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1801364d7
mov rcx, rax
call fcn.180199d60
test rax, rax
je 0x1801364dd
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x180135cf9
call fcn.180199d60
mov rbx, rax
mov qword [rsp + 0x50], 5
mov qword [rsp + 0x58], rdi
mov ecx, dword [str.medic]
mov dword [rbx], ecx
movzx ecx, byte [0x18025bc3c]
mov byte [rbx + 4], cl
mov byte [rbx + 5], 0
mov edi, 0xf
mov qword [rsp + 0x40], rbx
jmp case.default.0x180135a29
cmp rdi, 6
jb 0x180135d68
lea rbx, [rsp + 0x40]
cmp rdi, 0xf
cmova rbx, qword [rsp + 0x40]
mov qword [rsp + 0x50], 6
mov r8d, 6
lea rdx, str.sniper
mov rcx, rbx
call fcn.1801cf8e0
mov byte [rbx + 6], 0
jmp case.default.0x180135a29
mov rcx, rdi
shr rcx, 1
mov rax, rbx
sub rax, rcx
cmp rdi, rax
jbe 0x180135d8c
mov rdi, rbx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180135dbb
lea rax, [rcx + rdi]
cmp rax, 0xf
cmova rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x180135da5
xor ebx, ebx
jmp 0x180135de2
cmp rcx, 0x1000
jb 0x180135dda
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1801364d7
mov rcx, rax
call fcn.180199d60
test rax, rax
je 0x1801364dd
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x180135de2
call fcn.180199d60
mov rbx, rax
mov qword [rsp + 0x50], 6
mov qword [rsp + 0x58], rdi
mov ecx, dword [str.sniper]
mov dword [rbx], ecx
movzx ecx, word [0x18025bc78]
mov word [rbx + 4], cx
mov byte [rbx + 6], 0
mov edi, 0xf
mov qword [rsp + 0x40], rbx
jmp case.default.0x180135a29
cmp rdi, 3
jb 0x180135e52
lea rbx, [rsp + 0x40]
cmp rdi, 0xf
cmova rbx, qword [rsp + 0x40]
mov qword [rsp + 0x50], 3
mov r8d, 3
lea rdx, [0x18025bc70]
mov rcx, rbx
call fcn.1801cf8e0
mov byte [rbx + 3], 0
jmp case.default.0x180135a29
mov rcx, rdi
shr rcx, 1
mov rax, rbx
sub rax, rcx
cmp rdi, rax
jbe 0x180135e76
mov rdi, rbx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180135ea5
lea rax, [rcx + rdi]
cmp rax, 0xf
cmova rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x180135e8f
xor ebx, ebx
jmp 0x180135ecc
cmp rcx, 0x1000
jb 0x180135ec4
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1801364d7
mov rcx, rax
call fcn.180199d60
test rax, rax
je 0x1801364dd
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x180135ecc
call fcn.180199d60
mov rbx, rax
mov qword [rsp + 0x50], 3
mov qword [rsp + 0x58], rdi
mov ecx, dword [0x18025bc70]
mov word [rbx], cx
movzx ecx, byte [0x18025bc72]
mov byte [rbx + 2], cl
mov byte [rbx + 3], 0
mov edi, 0xf
mov qword [rsp + 0x40], rbx
jmp case.default.0x180135a29
mov ecx, dword [rsi + 0x34]
test ecx, ecx
je 0x180135f5d
sub ecx, 1
je 0x180135f37
cmp ecx, 1
jne 0x180135f73
mov qword [rsp + 0x70], 6
mov eax, dword [str.double]
mov dword [rsp + 0x60], eax
movzx eax, word [0x18024ce0c]
mov word [rsp + 0x64], ax
mov byte [rsp + 0x66], 0
jmp 0x180135f73
mov qword [rsp + 0x70], 6
mov eax, dword [str.toggle]
mov dword [rsp + 0x60], eax
movzx eax, word [0x18025bc34]
mov word [rsp + 0x64], ax
mov byte [rsp + 0x66], 0
jmp 0x180135f73
mov qword [rsp + 0x70], 4
mov dword [rsp + 0x60], 0x646c6f68
mov byte [rsp + 0x64], 0
movzx edx, word [rsi + 0x38]
lea rcx, [rbp - 0x60]
call fcn.180120110
mov rbx, rax
lea rax, [rsp + 0x40]
cmp rax, rbx
je 0x180135ff5
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x180135fca
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180135fc5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801364e3
call fcn.180199c38
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rdi
mov byte [rsp + 0x40], al
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rdi
mov byte [rbx], al
lea rcx, [rbp - 0x60]
call fcn.18009a190
cmp byte [rsi + 0x3c], 0
je 0x1801360ea
lea rax, str.not_
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], 6
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rax, qword [rsp + 0x60]
mov qword [rbp], rax
mov rax, qword [rsp + 0x70]
mov qword [rbp + 8], rax
movups xmm0, xmmword [rbp]
movups xmmword [rbp + 0x38], xmm0
movabs rax, 0xc000000000000000
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x10], 1
lea rax, [rbp + 0x30]
mov qword [rbp + 0x18], rax
movaps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp - 0x20], xmm0
movaps xmm1, xmmword [rbp + 0x20]
movdqa xmmword [rbp - 0x10], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x60]
call fcn.1800b2950
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1801360bf
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801360ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801364e9
call fcn.180199c38
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rbp - 0x50]
movups xmmword [rsp + 0x70], xmm1
mov qword [rbp - 0x50], 0
mov qword [rbp - 0x48], rdi
mov byte [rbp - 0x60], 0
lea rcx, [rbp - 0x60]
call fcn.18009a190
mov r10, qword [r15]
mov rdx, qword [r10]
mov rcx, qword [r10 + 0x18]
test rcx, rcx
jns 0x18013611c
mov rax, rcx
neg rax
je 0x18013611c
mov rax, rcx
not rax
shr rax, 5
lea rax, [rax*4 + 4]
sub rdx, rax
mov qword [rbp - 0x40], rdx
jmp 0x18013612b
mov rax, rcx
shr rax, 5
lea rax, [rdx + rax*4]
mov qword [rbp - 0x40], rax
and ecx, 0x1f
mov qword [rbp - 0x38], rcx
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x10], xmm0
lea r9, [rsi + 0x3d]
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x58]
mov rcx, r10
call fcn.180137a40
mov rbx, qword [r15 + 8]
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
je 0x18013616f
mov rdx, r14
mov rcx, rax
call fcn.180099e50
add qword [rbx + 8], 0x20
jmp 0x18013617d
mov r8, r14
mov rdx, rax
mov rcx, rbx
call fcn.1800f0030
mov rbx, qword [r15 + 0x10]
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
je 0x18013619f
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.180099e50
add qword [rbx + 8], 0x20
jmp 0x1801361af
lea r8, [rsp + 0x60]
mov rdx, rax
mov rcx, rbx
call fcn.1800f0030
mov rbx, qword [r15 + 0x18]
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
je 0x1801361d1
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.180099e50
add qword [rbx + 8], 0x20
jmp 0x1801361e1
lea r8, [rsp + 0x40]
mov rdx, rax
mov rcx, rbx
call fcn.1800f0030
mov rax, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x1801361ee
mov rax, qword [r14]
mov rbx, qword [0x180295db0]
movss xmm2, dword [rbx + 0x1048]
test rax, rax
jne 0x180136215
mov dword [rbp + 0xf0], eax
movss dword [rbp + 0xf4], xmm2
xorps xmm1, xmm1
jmp 0x18013626e
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm7
lea rdx, [rbp - 0x78]
mov rcx, qword [rbx + 0x1040]
call fcn.18006dd90
movss xmm0, dword [rbp - 0x78]
addss xmm0, xmm8
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x78], xmm1
movss dword [rbp + 0xf0], xmm1
movss xmm0, dword [rbp - 0x74]
movss dword [rbp + 0xf4], xmm0
lea rdx, [rbp + 0xf0]
mov rcx, qword [r15 + 0x20]
mov rax, rcx
comiss xmm1, dword [rcx]
cmova rax, rdx
mov eax, dword [rax]
mov dword [rcx], eax
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rax, qword [rsp + 0x60]
movss xmm2, dword [rbx + 0x1048]
test rax, rax
jne 0x1801362b8
mov dword [rbp + 0xf8], eax
movss dword [rbp + 0xfc], xmm2
xorps xmm1, xmm1
jmp 0x180136311
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm7
lea rdx, [rbp - 0x70]
mov rcx, qword [rbx + 0x1040]
call fcn.18006dd90
movss xmm0, dword [rbp - 0x70]
addss xmm0, xmm8
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x70], xmm1
movss dword [rbp + 0xf8], xmm1
movss xmm0, dword [rbp - 0x6c]
movss dword [rbp + 0xfc], xmm0
lea rdx, [rbp + 0xf8]
mov rcx, qword [r15 + 0x28]
mov rax, rcx
comiss xmm1, dword [rcx]
cmova rax, rdx
mov eax, dword [rax]
mov dword [rcx], eax
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rax, qword [rsp + 0x40]
movss xmm2, dword [rbx + 0x1048]
test rax, rax
jne 0x180136355
mov dword [rbp - 0x80], eax
movss dword [rbp - 0x7c], xmm2
xorps xmm1, xmm1
jmp 0x1801363a8
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm7
lea rdx, [rbp - 0x68]
mov rcx, qword [rbx + 0x1040]
call fcn.18006dd90
movss xmm0, dword [rbp - 0x68]
addss xmm0, xmm8
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x68], xmm1
movss dword [rbp - 0x80], xmm1
movss xmm0, dword [rbp - 0x64]
movss dword [rbp - 0x7c], xmm0
lea rdx, [rbp - 0x80]
mov rcx, qword [r15 + 0x30]
mov rax, rcx
comiss xmm1, dword [rcx]
cmova rax, rdx
mov eax, dword [rax]
mov dword [rcx], eax
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x1801363fb
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801363f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801364ef
call fcn.180199c38
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rdi
mov byte [rsp + 0x40], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x18013644b
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180136446
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801364cb
call fcn.180199c38
cmp byte [rsi + 0x3d], 0
je 0x18013648c
mov rbx, qword [r15 + 0x38]
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.180099e50
mov rdi, rax
mov qword [rbp - 0x20], rax
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1801364d1
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x10]
mov rdx, rax
call r8
nop
mov rcx, rdi
call fcn.18009a190
mov edi, 0xf
add r14, 0x20
cmp r14, qword [rbp - 0x30]
jne 0x180135610
mov rcx, r13
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.18009a190
call fcn.1801afdbc
nop
call fcn.18019af0c
nop
call fcn.180072a20
int3
call fcn.1801afdbc
int3
call fcn.1801afdbc
int3
call fcn.1801afdbc
nop
call fcn.1801afdbc
int3