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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18028cea8], edx
jle 0x180184ec1
lea rcx, [0x18028cea8]
call fcn.1801d1cb0
cmp dword [0x18028cea8], 0xffffffff
jne 0x180184ec1
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x180184eae
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x180184e52
mov rdx, r11
test rax, rax
je 0x180184e90
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x180184e70
cmp r9d, 0x8d97f7e7
je 0x180184e9b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180184e41
jmp 0x180184eae
lea r8, str.m_hPlayer
mov rdx, qword [r10 + 0x18]
call fcn.1801d1920
mov r11d, eax
mov dword [0x18028ce9c], r11d
lea rcx, [0x18028cea8]
call fcn.1801d1c44
movsxd rax, dword [0x18028ce9c]
add rax, rbx
add rsp, 0x20
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18028cebc], edx
jle 0x180187361
lea rcx, [0x18028cebc]
call fcn.1801d1cb0
cmp dword [0x18028cebc], 0xffffffff
jne 0x180187361
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18018734e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1801872f2
mov rdx, r11
test rax, rax
je 0x180187330
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x180187310
cmp r9d, 0xc262c48c
je 0x18018733b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1801872e1
jmp 0x18018734e
lea r8, str.m_iObjectMode
mov rdx, qword [r10 + 0x18]
call fcn.1801d1920
mov r11d, eax
mov dword [0x18028cecc], r11d
lea rcx, [0x18028cebc]
call fcn.1801d1c44
movsxd rax, dword [0x18028cecc]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x180187380
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18028cec8], edx
jle 0x180187461
lea rcx, [0x18028cec8]
call fcn.1801d1cb0
cmp dword [0x18028cec8], 0xffffffff
jne 0x180187461
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18018744e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1801873f2
mov rdx, r11
test rax, rax
je 0x180187430
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x180187410
cmp r9d, 0xc262c48c
je 0x18018743b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1801873e1
jmp 0x18018744e
lea r8, str.m_bWasMapPlaced
mov rdx, qword [r10 + 0x18]
call fcn.1801d1920
mov r11d, eax
mov dword [0x18028cef0], r11d
lea rcx, [0x18028cec8]
call fcn.1801d1c44
movsxd rax, dword [0x18028cef0]
add rax, rbx
add rsp, 0x20
pop rbx
ret

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

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov ebx, edx
mov rdi, rcx
mov r8d, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + r8*8]
mov r8d, dword [rcx + rax]
cmp dword [0x18028cee8], r8d
jle 0x180187591
lea rcx, [0x18028cee8]
call fcn.1801d1cb0
cmp dword [0x18028cee8], 0xffffffff
jne 0x180187591
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18018757e
nop word [rax + rax]
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x180187521
mov rdx, r11
test rax, rax
je 0x180187560
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x180187540
cmp r9d, 0x3369e751
je 0x18018756b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180187510
jmp 0x18018757e
lea r8, str.m_iPing
mov rdx, qword [r10 + 0x18]
call fcn.1801d1920
mov r11d, eax
mov dword [0x18028ceb8], r11d
lea rcx, [0x18028cee8]
call fcn.1801d1c44
lea eax, [rbx*4]
cdqe
movsxd rdx, dword [0x18028ceb8]
add rax, rdi
mov eax, dword [rdx + rax]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x18018c320
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18028cf08], edx
jle 0x18018c401
lea rcx, [0x18028cf08]
call fcn.1801d1cb0
cmp dword [0x18028cf08], 0xffffffff
jne 0x18018c401
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18018c3ee
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x18018c392
mov rdx, r11
test rax, rax
je 0x18018c3d0
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x18018c3b0
cmp r9d, 0x47697bc5
je 0x18018c3db
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x18018c381
jmp 0x18018c3ee
lea r8, str.m_nSequence
mov rdx, qword [r10 + 0x18]
call fcn.1801d1920
mov r11d, eax
mov dword [0x18028cefc], r11d
lea rcx, [0x18028cf08]
call fcn.1801d1c44
movsxd rax, dword [0x18028cefc]
add rax, rbx
add rsp, 0x20
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18028cf04], edx
jle 0x18018c501
lea rcx, [0x18028cf04]
call fcn.1801d1cb0
cmp dword [0x18028cf04], 0xffffffff
jne 0x18018c501
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18018c4ee
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x18018c492
mov rdx, r11
test rax, rax
je 0x18018c4d0
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x18018c4b0
cmp r9d, 0x47697bc5
je 0x18018c4db
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x18018c481
jmp 0x18018c4ee
lea r8, str.m_flCycle
mov rdx, qword [r10 + 0x18]
call fcn.1801d1920
mov r11d, eax
mov dword [0x18028cef8], r11d
lea rcx, [0x18028cf04]
call fcn.1801d1c44
movsxd rax, dword [0x18028cef8]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x18018c520
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18028cf00], edx
jle 0x18018c601
lea rcx, [0x18028cf00]
call fcn.1801d1cb0
cmp dword [0x18028cf00], 0xffffffff
jne 0x18018c601
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18018c5ee
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x18018c592
mov rdx, r11
test rax, rax
je 0x18018c5d0
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x18018c5b0
cmp r9d, 0x47697bc5
je 0x18018c5db
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x18018c581
jmp 0x18018c5ee
lea r8, str.m_flPoseParameter
mov rdx, qword [r10 + 0x18]
call fcn.1801d1920
mov r11d, eax
mov dword [0x18028cef4], r11d
lea rcx, [0x18028cf00]
call fcn.1801d1c44
movsxd rax, dword [0x18028cef4]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x180194db0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rdi, qword [rcx + 8]
xor r14d, r14d
mov rsi, rcx
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x180194e08
nop dword [rax]
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x180194e00
mov rax, qword [rcx]
call qword [rax + 0x68]
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x190]
mov qword [rbx + 0x30], r14
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x180194de0
mov rdi, qword [rsi + 0x48]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x180194e3c
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x180194e34
mov rax, qword [rcx]
call qword [rax + 0x68]
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x190]
mov qword [rbx + 0x30], r14
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x180194e14
mov rcx, rsi
call fcn.180190a70
lea rcx, [rsi + 0x40]
call fcn.180190a70
lea rcx, [rsi + 0x80]
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
jmp fcn.18015b2f0

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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x10], rdx
push rdi
sub rsp, 0x30
mov rbx, rdx
mov r8, rdx
cmp qword [rdx + 0x18], 0xf
jbe 0x1801950b4
mov r8, qword [rdx]
mov edi, 0x811c9dc5
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], 0
jne 0x1801950c0
xor esi, esi
mov edx, esi
test rcx, rcx
je 0x1801950f5
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [r8 + rdx]
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x1801950e0
mov edx, 0xca0c003e
lea rcx, [0x1802470d1]
call fcn.1800fa000
cmp edi, eax
jne 0x180195124
mov rcx, rbx
call fcn.1800a3670
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov r8, qword [rbx + 0x10]
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180195135
mov rdx, qword [rbx]
movabs r9, 0xcbf29ce484222325
mov rcx, rsi
test r8, r8
je 0x180195164
movabs r10, 0x100000001b3
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x180195151
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [0x18028d1f0]
call fcn.1800a6fe0
cmp qword [rax + 8], rsi
je 0x180195199
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [0x18028d1f0]
call fcn.180196db0
mov rcx, qword [rax]
mov rsi, qword [rcx + 0x30]
mov rcx, rbx
call fcn.1800a3670
mov rax, rsi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x18019a470
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18028cf20], edx
jle 0x18019a551
lea rcx, [0x18028cf20]
call fcn.1801d1cb0
cmp dword [0x18028cf20], 0xffffffff
jne 0x18019a551
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18019a53e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x18019a4e2
mov rdx, r11
test rax, rax
je 0x18019a520
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x18019a500
cmp r9d, 0x7a1c884e
je 0x18019a52b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x18019a4d1
jmp 0x18019a53e
lea r8, str.m_iObserverMode
mov rdx, qword [r10 + 0x18]
call fcn.1801d1920
mov r11d, eax
mov dword [0x18028cf0c], r11d
lea rcx, [0x18028cf20]
call fcn.1801d1c44
movsxd rax, dword [0x18028cf0c]
add rax, rbx
add rsp, 0x20
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18028cf14], edx
jle 0x18019a651
lea rcx, [0x18028cf14]
call fcn.1801d1cb0
cmp dword [0x18028cf14], 0xffffffff
jne 0x18019a651
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18019a63e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x18019a5e2
mov rdx, r11
test rax, rax
je 0x18019a620
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x18019a600
cmp r9d, 0x7a1c884e
je 0x18019a62b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x18019a5d1
jmp 0x18019a63e
lea r8, str.m_hObserverTarget
mov rdx, qword [r10 + 0x18]
call fcn.1801d1920
mov r11d, eax
mov dword [0x18028cf18], r11d
lea rcx, [0x18028cf14]
call fcn.1801d1c44
movsxd rax, dword [0x18028cf18]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x18019b860
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18028cf28], edx
jle 0x18019b941
lea rcx, [0x18028cf28]
call fcn.1801d1cb0
cmp dword [0x18028cf28], 0xffffffff
jne 0x18019b941
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18019b92e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x18019b8d2
mov rdx, r11
test rax, rax
je 0x18019b910
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x18019b8f0
cmp r9d, 0x7a1c884e
je 0x18019b91b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x18019b8c1
jmp 0x18019b92e
lea r8, str.m_iFOV
mov rdx, qword [r10 + 0x18]
call fcn.1801d1920
mov r11d, eax
mov dword [0x18028cf34], r11d
lea rcx, [0x18028cf28]
call fcn.1801d1c44
movsxd rax, dword [0x18028cf34]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x1801ac510
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x1801ac541
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 [0x180285928]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180285938]
lea rdx, [rdi + rdi]
call fcn.1800a3a00
mov rax, qword [0x180285928]
lea r9, [rdi - 1]
mov qword [0x180285950], r9
mov qword [0x180285958], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1801ac6b4
mov qword [rsp + 0x38], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
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 [0x180285938]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1801ac600
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1801ac675
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x1801ac63d
mov r10, qword [rdx]
cmp r10, rax
je 0x1801ac637
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 0x1801ac675
cmp r9, rdx
je 0x1801ac651
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x1801ac689
cmp r9, rdx
jne 0x1801ac642
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 0x1801ac6af
mov r9, qword [0x180285950]
jmp 0x1801ac5b1
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 0x1801ac675
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1801ad1d0
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x1801ad201
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 [0x18028c688]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x18028c698]
lea rdx, [rdi + rdi]
call fcn.1800a3a00
mov rax, qword [0x18028c688]
lea r9, [rdi - 1]
mov qword [0x18028c6b0], r9
mov qword [0x18028c6b8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1801ad3a2
mov qword [rsp + 0x38], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
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
movzx edx, byte [rax + 0x14]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x15]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x16]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x17]
imul r11, rdi
xor r11, rdx
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x18028c698]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1801ad2ec
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1801ad363
mov rdx, qword [r11 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rdx + 0x10]
jne 0x1801ad329
mov r10, qword [rdx]
cmp r10, rax
je 0x1801ad323
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 0x1801ad363
cmp r9, rdx
je 0x1801ad33f
nop
mov rdx, qword [rdx + 8]
cmp r8, qword [rdx + 0x10]
je 0x1801ad377
cmp r9, rdx
jne 0x1801ad330
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 0x1801ad39d
mov r9, qword [0x18028c6b0]
jmp 0x1801ad271
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 0x1801ad363
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1801ad800
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18028cf5c], edx
jle 0x1801ad8e4
lea rcx, [0x18028cf5c]
call fcn.1801d1cb0
cmp dword [0x18028cf5c], 0xffffffff
jne 0x1801ad8e4
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1801ad8ce
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1801ad872
mov rdx, r11
test rax, rax
je 0x1801ad8b0
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x1801ad890
cmp r9d, 0x9dc483b8
je 0x1801ad8bb
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1801ad861
jmp 0x1801ad8ce
lea r8, str.moveparent
mov rdx, qword [r10 + 0x18]
call fcn.1801d1920
mov r11d, eax
lea eax, [r11 - 8]
mov dword [0x18028cf54], eax
lea rcx, [0x18028cf5c]
call fcn.1801d1c44
movsxd rdx, dword [0x18028cf54]
add rdx, rbx
jne 0x1801ad8f8
xor eax, eax
add rsp, 0x20
pop rbx
ret
mov rcx, qword [0x18028c748]
mov rax, qword [rcx]
mov r8, qword [rax + 0x20]
mov eax, dword [rdx]
mov dword [rsp + 0x30], eax
lea rdx, [rsp + 0x30]
call r8
add rsp, 0x20
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18028cf98], edx
jle 0x1801b2da1
lea rcx, [0x18028cf98]
call fcn.1801d1cb0
cmp dword [0x18028cf98], 0xffffffff
jne 0x1801b2da1
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1801b2d8e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1801b2d32
mov rdx, r11
test rax, rax
je 0x1801b2d70
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x1801b2d50
cmp r9d, 0xb47de3de
je 0x1801b2d7b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1801b2d21
jmp 0x1801b2d8e
lea r8, str.m_flNextAttack
mov rdx, qword [r10 + 0x18]
call fcn.1801d1920
mov r11d, eax
mov dword [0x18028cf84], r11d
lea rcx, [0x18028cf98]
call fcn.1801d1c44
movsxd rax, dword [0x18028cf84]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x1801b2dc0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18028cfa0], edx
jle 0x1801b2ea1
lea rcx, [0x18028cfa0]
call fcn.1801d1cb0
cmp dword [0x18028cfa0], 0xffffffff
jne 0x1801b2ea1
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1801b2e8e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1801b2e32
mov rdx, r11
test rax, rax
je 0x1801b2e70
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, r9d
imul r9d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x1801b2e50
cmp r9d, 0x24615a25
je 0x1801b2e7b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1801b2e21
jmp 0x1801b2e8e
lea r8, str.m_flEnergy
mov rdx, qword [r10 + 0x18]
call fcn.1801d1920
mov r11d, eax
mov dword [0x18028cf88], r11d
lea rcx, [0x18028cfa0]
call fcn.1801d1c44
movsxd rax, dword [0x18028cf88]
add rax, rbx
add rsp, 0x20
pop rbx
ret