joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18017f340
Capabilities:
Hash data using fnv

Disassembly:
test rdx, rdx
je 0x18017f4f8
mov qword [rsp + 0x10], rdx
push rbx
sub rsp, 0x20
movzx eax, byte [rsp + 0x39]
movabs r11, 0x100000001b3
mov r9, qword [0x180262710]
mov rbx, rdx
mov r10, qword [0x1802626f8]
mov r8, qword [0x1802626e8]
mov qword [rsp + 0x30], rdi
movabs rdi, 0xcbf29ce484222325
movzx ecx, bl
xor rcx, rdi
imul rcx, r11
xor rcx, rax
movzx eax, byte [rsp + 0x3a]
imul rcx, r11
xor rcx, rax
movzx eax, byte [rsp + 0x3b]
imul rcx, r11
xor rcx, rax
movzx eax, byte [rsp + 0x3c]
imul rcx, r11
xor rcx, rax
movzx eax, byte [rsp + 0x3d]
imul rcx, r11
xor rcx, rax
movzx eax, byte [rsp + 0x3e]
imul rcx, r11
xor rcx, rax
movzx eax, byte [rsp + 0x3f]
imul rcx, r11
xor rcx, rax
imul rcx, r11
and rcx, r9
add rcx, rcx
mov rax, qword [r10 + rcx*8 + 8]
cmp rax, r8
je 0x18017f411
mov rcx, qword [r10 + rcx*8]
cmp rdx, qword [rax + 0x10]
je 0x18017f413
nop dword [rax]
cmp rax, rcx
je 0x18017f411
mov rax, qword [rax + 8]
cmp rbx, qword [rax + 0x10]
jne 0x18017f400
jmp 0x18017f413
xor eax, eax
test rax, rax
mov rcx, r8
cmovne rcx, rax
cmp rcx, r8
je 0x18017f4d9
movzx eax, byte [rcx + 0x11]
movzx edx, byte [rcx + 0x10]
xor rdx, rdi
imul rdx, r11
xor rdx, rax
movzx eax, byte [rcx + 0x12]
imul rdx, r11
xor rdx, rax
movzx eax, byte [rcx + 0x13]
imul rdx, r11
xor rdx, rax
movzx eax, byte [rcx + 0x14]
imul rdx, r11
xor rdx, rax
movzx eax, byte [rcx + 0x15]
imul rdx, r11
xor rdx, rax
movzx eax, byte [rcx + 0x16]
imul rdx, r11
xor rdx, rax
movzx eax, byte [rcx + 0x17]
imul rdx, r11
xor rdx, rax
imul rdx, r11
and rdx, r9
add rdx, rdx
mov rax, qword [r10 + rdx*8]
cmp qword [r10 + rdx*8 + 8], rcx
jne 0x18017f4aa
cmp rax, rcx
jne 0x18017f49f
mov qword [r10 + rdx*8], r8
mov qword [r10 + rdx*8 + 8], r8
jmp 0x18017f4b6
mov r8, qword [rcx + 8]
mov qword [r10 + rdx*8 + 8], r8
jmp 0x18017f4b6
cmp rax, rcx
jne 0x18017f4b6
mov rax, qword [rcx]
mov qword [r10 + rdx*8], rax
mov rdx, qword [rcx]
dec qword [0x1802626f0]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x20
call fcn.1801b3bbc
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x68]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x190]
mov rdi, qword [rsp + 0x30]
add rsp, 0x20
pop rbx
ret
Function at 0x180180700
Capabilities:
Hash data using fnv

Disassembly:
mov dword [rsp + 0x10], edx
push rbx
sub rsp, 0x30
mov ebx, edx
lea rcx, [0x1802266a9]
mov edx, 0xca0c003e
call fcn.1800f5960
cmp ebx, eax
jne 0x180180730
xor eax, eax
add rsp, 0x30
pop rbx
ret
movabs rcx, 0x100000001b3
movzx edx, bl
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movzx eax, byte [rsp + 0x49]
imul rdx, rcx
xor rdx, rax
movzx eax, byte [rsp + 0x4a]
imul rdx, rcx
xor rdx, rax
movzx eax, byte [rsp + 0x4b]
imul rdx, rcx
xor rdx, rax
imul rdx, rcx
mov rcx, qword [0x1802626d0]
and rcx, rdx
xor edx, edx
shl rcx, 4
add rcx, qword [0x1802626b8]
mov rax, qword [rcx + 8]
cmp rax, qword [0x1802626a8]
je 0x1801807b0
mov rcx, qword [rcx]
cmp ebx, dword [rax + 0x10]
je 0x1801807b3
nop
cmp rax, rcx
je 0x1801807b0
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x1801807a0
jmp 0x1801807b3
mov rax, rdx
test rax, rax
je 0x1801807ce
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x20]
call fcn.1801824d0
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x18]
mov rax, rdx
add rsp, 0x30
pop rbx
ret
Function at 0x180181b40
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rsi
push rdi
push r15
sub rsp, 0x20
mov rsi, qword [rdx + 0x68]
mov r15, rcx
mov rdi, qword [rsi]
cmp rdi, rsi
je 0x180181c3b
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], r14
nop dword [rax + rax]
mov rbx, qword [rdi + 0x18]
mov r10, qword [rdi + 0x20]
cmp rbx, r10
je 0x180181c20
cmp qword [rbx + 0x18], 0xf
mov r8, rbx
jbe 0x180181b8e
mov r8, qword [rbx]
mov rdx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
nop dword [rax + rax]
inc rdx
cmp byte [r8 + rdx], 0
jne 0x180181ba0
xor ecx, ecx
test rdx, rdx
je 0x180181bcc
movsx eax, byte [rcx + r8]
inc rcx
xor eax, r9d
imul r9d, eax, 0x1000193
cmp rcx, rdx
jb 0x180181bb1
mov r10, qword [rdi + 0x20]
mov rax, qword [r15]
lea rbp, [rbx + 0x28]
cmp r9d, dword [rax]
jne 0x180181c14
mov r14, qword [rdi + 0x20]
cmp rbp, r14
je 0x180181bfc
lea rcx, [rbp - 0x28]
mov rdx, rbp
call fcn.18009fee0
mov eax, dword [rbp + 0x20]
mov dword [rbp - 8], eax
add rbp, 0x28
cmp rbp, r14
jne 0x180181be1
mov rcx, qword [rdi + 0x20]
sub rcx, 0x28
call fcn.1800a0370
add qword [rdi + 0x20], 0xffffffffffffffd8
mov r10, qword [rdi + 0x20]
jmp 0x180181c17
mov rbx, rbp
cmp rbx, r10
jne 0x180181b81
mov rdi, qword [rdi]
cmp rdi, rsi
jne 0x180181b70
mov r14, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r15
pop rdi
pop rsi
ret

Function at 0x180181c50
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x180181cfc
mov rax, qword [rdi + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x180181c8a
mov rdx, qword [rdi + 8]
mov rcx, rdi
mov r8, rdx
mov rdx, qword [rdx]
add rsp, 0x20
pop rdi
jmp 0x180139510
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 8]
mov qword [rax], 0
mov rcx, qword [rcx]
test rcx, rcx
je 0x180181cca
mov qword [rsp + 0x38], rbx
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x20
call fcn.1801b3bbc
mov rcx, rbx
test rbx, rbx
jne 0x180181cb0
mov rbx, qword [rsp + 0x38]
mov rax, qword [rdi + 8]
lea r8, [rsp + 0x30]
mov qword [rax], rax
mov rax, qword [rdi + 8]
mov qword [rax + 8], rax
mov qword [rdi + 0x10], 0
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x30], rax
call fcn.1800a2a60
add rsp, 0x20
pop rdi
ret
Function at 0x1801829b0
Capabilities:
Hash data using fnv

Disassembly:
mov rcx, qword [0x1802626b0]
add rcx, 1
mov rdx, qword [0x1802626d8]
vxorps xmm0, xmm0, xmm0
js 0x1801829cf
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x1801829e4
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm0, dword [0x1802626a0]
vxorps xmm1, xmm1, xmm1
vroundss xmm1, xmm1, xmm0, 2
vmovss xmm0, dword [0x18023bf04]
xor ecx, ecx
vcomiss xmm1, xmm0
jb 0x180182a1d
vsubss xmm1, xmm1, xmm0
vcomiss xmm1, xmm0
jae 0x180182a1d
movabs rax, 0x8000000000000000
mov rcx, rax
vcvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x180182a4f
cmp rdx, 0x200
jae 0x180182a4c
lea rdx, [rdx*8]
cmp rdx, rcx
jae 0x180182a4f
mov rdx, rcx
jmp 0x180182a80
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov r8d, 1
bsr rcx, rax
shlx rax, r8, rcx
cmp rdx, rax
jbe 0x180182ab0
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x1802626a8]
or rax, r8
bsr rcx, rax
mov qword [rsp + 0x20], rdi
inc ecx
shlx rdi, r8, rcx
mov r8, rbx
lea rcx, [0x1802626b8]
lea rdx, [rdi + rdi]
call fcn.1800a0700
mov rax, qword [0x1802626a8]
lea r9, [rdi - 1]
mov qword [0x1802626d0], r9
mov qword [0x1802626d8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180182c33
mov qword [rsp + 0x38], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
nop word [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r11d, byte [rax + 0x10]
mov rcx, qword [rcx]
xor r11, rsi
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x12]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x13]
imul r11, rdi
xor r11, rdx
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x1802626b8]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180182b7f
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180182bf4
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x180182bbc
mov r10, qword [rdx]
cmp r10, rax
je 0x180182bb6
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x180182bf4
cmp r9, rdx
je 0x180182bd0
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x180182c08
cmp r9, rdx
jne 0x180182bc1
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x180182c2e
mov r9, qword [0x1802626d0]
jmp 0x180182b30
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x180182bf4
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
add rsp, 0x28
ret
Function at 0x180182a80
Capabilities:
Hash data using fnv

Disassembly:
mov rcx, qword [0x1802626b0]
add rcx, 1
mov rdx, qword [0x1802626d8]
vxorps xmm0, xmm0, xmm0
js 0x1801829cf
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x1801829e4
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm0, dword [0x1802626a0]
vxorps xmm1, xmm1, xmm1
vroundss xmm1, xmm1, xmm0, 2
vmovss xmm0, dword [0x18023bf04]
xor ecx, ecx
vcomiss xmm1, xmm0
jb 0x180182a1d
vsubss xmm1, xmm1, xmm0
vcomiss xmm1, xmm0
jae 0x180182a1d
movabs rax, 0x8000000000000000
mov rcx, rax
vcvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x180182a4f
cmp rdx, 0x200
jae 0x180182a4c
lea rdx, [rdx*8]
cmp rdx, rcx
jae 0x180182a4f
mov rdx, rcx
jmp 0x180182a80
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov r8d, 1
bsr rcx, rax
shlx rax, r8, rcx
cmp rdx, rax
jbe 0x180182ab0
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x1802626a8]
or rax, r8
bsr rcx, rax
mov qword [rsp + 0x20], rdi
inc ecx
shlx rdi, r8, rcx
mov r8, rbx
lea rcx, [0x1802626b8]
lea rdx, [rdi + rdi]
call fcn.1800a0700
mov rax, qword [0x1802626a8]
lea r9, [rdi - 1]
mov qword [0x1802626d0], r9
mov qword [0x1802626d8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180182c33
mov qword [rsp + 0x38], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
nop word [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r11d, byte [rax + 0x10]
mov rcx, qword [rcx]
xor r11, rsi
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x12]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x13]
imul r11, rdi
xor r11, rdx
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x1802626b8]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180182b7f
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180182bf4
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x180182bbc
mov r10, qword [rdx]
cmp r10, rax
je 0x180182bb6
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x180182bf4
cmp r9, rdx
je 0x180182bd0
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x180182c08
cmp r9, rdx
jne 0x180182bc1
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x180182c2e
mov r9, qword [0x1802626d0]
jmp 0x180182b30
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x180182bf4
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
add rsp, 0x28
ret
Function at 0x180186310
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x180265dfc]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x180267df0], edx
jle 0x1801863f1
lea rcx, [0x180267df0]
call fcn.1801b3c6c
cmp dword [0x180267df0], 0xffffffff
jne 0x1801863f1
mov rcx, qword [0x1802676e0]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1801863de
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x180186382
mov rdx, r11
test rax, rax
je 0x1801863c0
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [rdx + r8]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x1801863a0
cmp r9d, 0x7a1c884e
je 0x1801863cb
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180186371
jmp 0x1801863de
lea r8, str.m_iObserverMode
mov rdx, qword [r10 + 0x18]
call fcn.1801b3800
mov r11d, eax
mov dword [0x180267ddc], r11d
lea rcx, [0x180267df0]
call fcn.1801b3c00
movsxd rax, dword [0x180267ddc]
add rax, rbx
add rsp, 0x20
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x180265dfc]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x180267de4], edx
jle 0x1801864f1
lea rcx, [0x180267de4]
call fcn.1801b3c6c
cmp dword [0x180267de4], 0xffffffff
jne 0x1801864f1
mov rcx, qword [0x1802676e0]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1801864de
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x180186482
mov rdx, r11
test rax, rax
je 0x1801864c0
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [rdx + r8]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x1801864a0
cmp r9d, 0x7a1c884e
je 0x1801864cb
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180186471
jmp 0x1801864de
lea r8, str.m_hObserverTarget
mov rdx, qword [r10 + 0x18]
call fcn.1801b3800
mov r11d, eax
mov dword [0x180267de8], r11d
lea rcx, [0x180267de4]
call fcn.1801b3c00
movsxd rax, dword [0x180267de8]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x1801876c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x180265dfc]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x180267e20], edx
jle 0x1801877a1
lea rcx, [0x180267e20]
call fcn.1801b3c6c
cmp dword [0x180267e20], 0xffffffff
jne 0x1801877a1
mov rcx, qword [0x1802676e0]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18018778e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x180187732
mov rdx, r11
test rax, rax
je 0x180187770
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [rdx + r8]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x180187750
cmp r9d, 0xb47de3de
je 0x18018777b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180187721
jmp 0x18018778e
lea r8, str.m_flNextAttack
mov rdx, qword [r10 + 0x18]
call fcn.1801b3800
mov r11d, eax
mov dword [0x180267df8], r11d
lea rcx, [0x180267e20]
call fcn.1801b3c00
movsxd rax, dword [0x180267df8]
add rax, rbx
add rsp, 0x20
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x180265dfc]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x180267e28], edx
jle 0x1801878a1
lea rcx, [0x180267e28]
call fcn.1801b3c6c
cmp dword [0x180267e28], 0xffffffff
jne 0x1801878a1
mov rcx, qword [0x1802676e0]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18018788e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x180187832
mov rdx, r11
test rax, rax
je 0x180187870
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [rdx + r8]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x180187850
cmp r9d, 0xd134a6b7
je 0x18018787b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180187821
jmp 0x18018788e
lea r8, str.m_flNextPrimaryAttack
mov rdx, qword [r10 + 0x18]
call fcn.1801b3800
mov r11d, eax
mov dword [0x180267e30], r11d
lea rcx, [0x180267e28]
call fcn.1801b3c00
movsxd rax, dword [0x180267e30]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x1801878c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x180265dfc]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x180267df4], edx
jle 0x1801879a1
lea rcx, [0x180267df4]
call fcn.1801b3c6c
cmp dword [0x180267df4], 0xffffffff
jne 0x1801879a1
mov rcx, qword [0x1802676e0]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18018798e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x180187932
mov rdx, r11
test rax, rax
je 0x180187970
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [rdx + r8]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x180187950
cmp r9d, 0xd134a6b7
je 0x18018797b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180187921
jmp 0x18018798e
lea r8, str.m_flNextSecondaryAttack
mov rdx, qword [r10 + 0x18]
call fcn.1801b3800
mov r11d, eax
mov dword [0x180267e04], r11d
lea rcx, [0x180267df4]
call fcn.1801b3c00
movsxd rax, dword [0x180267e04]
add rax, rbx
add rsp, 0x20
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x180265dfc]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x180267dfc], edx
jle 0x180187aa1
lea rcx, [0x180267dfc]
call fcn.1801b3c6c
cmp dword [0x180267dfc], 0xffffffff
jne 0x180187aa1
mov rcx, qword [0x1802676e0]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x180187a8e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x180187a32
mov rdx, r11
test rax, rax
je 0x180187a70
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [rdx + r8]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x180187a50
cmp r9d, 0x7a1c884e
je 0x180187a7b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180187a21
jmp 0x180187a8e
lea r8, str.m_iFOV
mov rdx, qword [r10 + 0x18]
call fcn.1801b3800
mov r11d, eax
mov dword [0x180267e18], r11d
lea rcx, [0x180267dfc]
call fcn.1801b3c00
movsxd rax, dword [0x180267e18]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x1801915d0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x180265dfc]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x180267e34], edx
jle 0x1801916b4
lea rcx, [0x180267e34]
call fcn.1801b3c6c
cmp dword [0x180267e34], 0xffffffff
jne 0x1801916b4
mov rcx, qword [0x1802676e0]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18019169e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x180191642
mov rdx, r11
test rax, rax
je 0x180191680
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [rdx + r8]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x180191660
cmp r9d, 0x9dc483b8
je 0x18019168b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180191631
jmp 0x18019169e
lea r8, str.m_flElasticity
mov rdx, qword [r10 + 0x18]
call fcn.1801b3800
mov r11d, eax
lea eax, [r11 - 0x38]
mov dword [0x180267e38], eax
lea rcx, [0x180267e34]
call fcn.1801b3c00
movsxd rax, dword [0x180267e38]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x1801933f0
Capabilities:
Hash data using fnv

Disassembly:
mov rcx, qword [0x180262460]
add rcx, 1
mov rdx, qword [0x180262488]
vxorps xmm0, xmm0, xmm0
js 0x18019340f
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x180193424
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm0, dword [0x180262450]
vxorps xmm1, xmm1, xmm1
vroundss xmm1, xmm1, xmm0, 2
vmovss xmm0, dword [0x18023bf04]
xor ecx, ecx
vcomiss xmm1, xmm0
jb 0x18019345d
vsubss xmm1, xmm1, xmm0
vcomiss xmm1, xmm0
jae 0x18019345d
movabs rax, 0x8000000000000000
mov rcx, rax
vcvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x18019348f
cmp rdx, 0x200
jae 0x18019348c
lea rdx, [rdx*8]
cmp rdx, rcx
jae 0x18019348f
mov rdx, rcx
jmp 0x1801934a0
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov r8d, 1
bsr rcx, rax
shlx rax, r8, rcx
cmp rdx, rax
jbe 0x1801934d0
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x180262458]
or rax, r8
bsr rcx, rax
mov qword [rsp + 0x20], rdi
inc ecx
shlx rdi, r8, rcx
mov r8, rbx
lea rcx, [0x180262468]
lea rdx, [rdi + rdi]
call fcn.1800a0700
mov rax, qword [0x180262458]
lea r9, [rdi - 1]
mov qword [0x180262480], r9
mov qword [0x180262488], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180193653
mov qword [rsp + 0x38], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
nop word [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r11d, byte [rax + 0x10]
mov rcx, qword [rcx]
xor r11, rsi
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x12]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x13]
imul r11, rdi
xor r11, rdx
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x180262468]
mov r9, qword [r11]
cmp r9, rbx
jne 0x18019359f
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180193614
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x1801935dc
mov r10, qword [rdx]
cmp r10, rax
je 0x1801935d6
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x180193614
cmp r9, rdx
je 0x1801935f0
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x180193628
cmp r9, rdx
jne 0x1801935e1
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x18019364e
mov r9, qword [0x180262480]
jmp 0x180193550
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x180193614
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
add rsp, 0x28
ret