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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r13, r8
mov r14, rdx
mov rsi, rcx
movzx r12d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r12, rax
movabs rcx, 0x100000001b3
imul r12, rcx
movzx eax, byte [r8 + 1]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 2]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 3]
xor r12, rax
imul r12, rcx
mov rcx, r12
and rcx, qword [rsi + 0x30]
add rcx, rcx
mov rax, qword [rsi + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
lea rdx, [rsi + 8]
mov r15, qword [rdx]
cmp rbx, r15
jne 0x1800c835f
mov rbx, r15
mov rbp, r15
jmp 0x1800c83ac
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x1800c837e
nop dword [rax + rax]
cmp rbx, rcx
je 0x1800c83a6
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x1800c8370
mov qword [r14], rbx
mov byte [r14 + 8], 0
mov rax, r14
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov r15, rbx
mov rbp, rbx
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [rsi + 0x10], rax
jne 0x1800c83ca
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], 0
mov ecx, 0x18
call fcn.180190644
mov rdi, rax
mov qword [rsp + 0x28], rax
mov ecx, dword [r13]
mov dword [rax + 0x10], ecx
xor r13d, r13d
mov dword [rax + 0x14], r13d
mov rcx, qword [rsi + 0x10]
add rcx, 1
vxorps xmm1, xmm1, xmm1
js 0x1800c840d
vcvtsi2ss xmm1, xmm1, rcx
jmp 0x1800c8422
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm1, xmm1, rax
vaddss xmm1, xmm1, xmm1
mov rcx, qword [rsi + 0x38]
vxorps xmm0, xmm0, xmm0
test rcx, rcx
js 0x1800c8436
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x1800c844b
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm1, xmm0
vcomiss xmm0, dword [rsi]
jbe 0x1800c84a6
mov rcx, rsi
call fcn.1800c8750
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [rsi + 8]
cmp rax, rbx
je 0x1800c8499
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x1800c8496
mov rbx, rax
cmp rax, rdx
je 0x1800c84da
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x1800c8485
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r15, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
inc qword [rsi + 0x10]
mov qword [rdi], r15
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x30]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rsi + 8]
jne 0x1800c84e1
mov qword [rcx + rax*8], rdi
jmp 0x1800c84f3
mov qword [rsp + 0x20], rax
jmp 0x1800c849e
cmp r8, rbp
jne 0x1800c84ec
mov qword [rcx + rax*8], rdi
jmp 0x1800c84f8
cmp qword [rcx + rax*8 + 8], rdx
jne 0x1800c84f8
mov qword [rcx + rax*8 + 8], rdi
mov qword [r14], rdi
mov byte [r14 + 8], 1
jmp 0x1800c8386
Function at 0x1800c8750
Capabilities:
Hash data using fnv

Disassembly:
mov rdx, qword [rcx + 0x10]
mov r9, rcx
add rdx, 1
mov r8, qword [rcx + 0x38]
vxorps xmm0, xmm0, xmm0
js 0x1800c876c
vcvtsi2ss xmm0, xmm0, rdx
jmp 0x1800c8781
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm0, dword [rcx]
vxorps xmm1, xmm1, xmm1
vroundss xmm1, xmm1, xmm0, 2
vmovss xmm0, dword [0x180218d30]
xor ecx, ecx
vcomiss xmm1, xmm0
jb 0x1800c87b6
vsubss xmm1, xmm1, xmm0
vcomiss xmm1, xmm0
jae 0x1800c87b6
movabs rax, 0x8000000000000000
mov rcx, rax
vcvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp r8, rcx
jae 0x1800c87e8
cmp r8, 0x200
jae 0x1800c87e5
lea r8, [r8*8]
cmp r8, rcx
jae 0x1800c87e8
mov r8, rcx
mov rdx, r8
mov rcx, r9
jmp fcn.1800c8800
Function at 0x1800c8800
Capabilities:
Hash data using fnv

Disassembly:
push rsi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov r9d, 1
bsr r8, rax
mov rsi, rcx
shlx rax, r9, r8
cmp rdx, rax
jbe 0x1800c8835
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 [rsi + 8]
or rax, r9
bsr rcx, rax
mov qword [rsp + 0x40], rdi
mov r8, rbx
inc ecx
mov qword [rsp + 0x48], r14
shlx rdi, r9, rcx
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.1800991c0
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1800c8986
mov qword [rsp + 0x38], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r9d, byte [rax + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rcx, qword [rcx]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x12]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x13]
imul r9, rdi
xor r9, rdx
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1800c8900
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1800c8975
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x1800c893d
mov r10, qword [rdx]
cmp r10, rax
je 0x1800c8937
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 0x1800c8975
cmp r9, rdx
je 0x1800c8951
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x1800c899b
cmp r9, rdx
jne 0x1800c8942
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
jne 0x1800c88b0
mov rbp, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
add rsp, 0x20
pop rsi
ret
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 0x1800c8975
Function at 0x1800ca430
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, qword [rsp + 0x70]
mov rbp, rcx
lea rcx, [r8 - 1]
mov qword [rsp + 0x58], r13
mov r14, rcx
mov qword [rsp + 0x50], rcx
sar r14, 1
mov r15, r9
mov r13, r8
mov rdi, rdx
mov r12, rdx
cmp rdx, r14
jge 0x1800ca4d0
nop dword [rax]
nop word [rax + rax]
lea rsi, [rdx + rdx]
mov rcx, rbx
lea rdx, [rsi + 2]
shl rdx, 4
add rdx, rbp
lea r8, [rdx - 0x10]
call fcn.1800c9bf0
add rdi, rdi
movzx edx, al
xor rdx, 1
inc rdx
add rdx, rsi
mov rcx, rdx
add rcx, rcx
mov rax, qword [rbp + rcx*8]
mov qword [rbp + rdi*8], rax
mov eax, dword [rbp + rcx*8 + 8]
mov dword [rbp + rdi*8 + 8], eax
mov rdi, rdx
cmp rdx, r14
jl 0x1800ca480
mov rcx, qword [rsp + 0x50]
jne 0x1800ca4f4
test r13b, 1
jne 0x1800ca4f4
add r13, r13
add rdi, rdi
mov rax, qword [rbp + r13*8 - 0x10]
mov qword [rbp + rdi*8], rax
mov eax, dword [rbp + r13*8 - 8]
mov dword [rbp + rdi*8 + 8], eax
mov rdi, rcx
mov r13, qword [rsp + 0x58]
cmp r12, rdi
jge 0x1800ca53e
nop
lea rsi, [rdi - 1]
mov r8, r15
sar rsi, 1
mov rcx, rbx
mov r14, rsi
shl r14, 4
add r14, rbp
mov rdx, r14
call fcn.1800c9bf0
test al, al
je 0x1800ca53e
mov rax, qword [r14]
add rdi, rdi
mov qword [rbp + rdi*8], rax
mov eax, dword [r14 + 8]
mov dword [rbp + rdi*8 + 8], eax
mov rdi, rsi
cmp r12, rsi
jl 0x1800ca500
mov rax, qword [r15]
add rdi, rdi
mov rbx, qword [rsp + 0x60]
mov qword [rbp + rdi*8], rax
mov eax, dword [r15 + 8]
mov dword [rbp + rdi*8 + 8], eax
mov rbp, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18024256c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x1802440f0], edx
jle 0x1800ca721
lea rcx, [0x1802440f0]
call fcn.1801905cc
cmp dword [0x1802440f0], 0xffffffff
jne 0x1800ca721
mov rcx, qword [0x180243e98]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1800ca70e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1800ca6b2
mov rdx, r11
test rax, rax
je 0x1800ca6f0
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 0x1800ca6d0
cmp r9d, 0x47697bc5
je 0x1800ca6fb
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1800ca6a1
jmp 0x1800ca70e
lea r8, str.m_flModelScale
mov rdx, qword [r10 + 0x18]
call fcn.180190160
mov r11d, eax
mov dword [0x180244104], r11d
lea rcx, [0x1802440f0]
call fcn.180190560
movsxd rax, dword [0x180244104]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x1800ca740
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18024256c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x180244114], edx
jle 0x1800ca821
lea rcx, [0x180244114]
call fcn.1801905cc
cmp dword [0x180244114], 0xffffffff
jne 0x1800ca821
mov rcx, qword [0x180243e98]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1800ca80e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1800ca7b2
mov rdx, r11
test rax, rax
je 0x1800ca7f0
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 0x1800ca7d0
cmp r9d, 0xc262c48c
je 0x1800ca7fb
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1800ca7a1
jmp 0x1800ca80e
lea r8, str.m_iHealth
mov rdx, qword [r10 + 0x18]
call fcn.180190160
mov r11d, eax
mov dword [0x180244128], r11d
lea rcx, [0x180244114]
call fcn.180190560
movsxd rax, dword [0x180244128]
add rax, rbx
add rsp, 0x20
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18024256c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x180244124], edx
jle 0x1800ca921
lea rcx, [0x180244124]
call fcn.1801905cc
cmp dword [0x180244124], 0xffffffff
jne 0x1800ca921
mov rcx, qword [0x180243e98]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1800ca90e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1800ca8b2
mov rdx, r11
test rax, rax
je 0x1800ca8f0
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 0x1800ca8d0
cmp r9d, 0xc262c48c
je 0x1800ca8fb
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1800ca8a1
jmp 0x1800ca90e
lea r8, str.m_iMaxHealth
mov rdx, qword [r10 + 0x18]
call fcn.180190160
mov r11d, eax
mov dword [0x1802440fc], r11d
lea rcx, [0x180244124]
call fcn.180190560
movsxd rax, dword [0x1802440fc]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x1800ca940
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18024256c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x180244108], edx
jle 0x1800caa21
lea rcx, [0x180244108]
call fcn.1801905cc
cmp dword [0x180244108], 0xffffffff
jne 0x1800caa21
mov rcx, qword [0x180243e98]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1800caa0e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1800ca9b2
mov rdx, r11
test rax, rax
je 0x1800ca9f0
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 0x1800ca9d0
cmp r9d, 0xc262c48c
je 0x1800ca9fb
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1800ca9a1
jmp 0x1800caa0e
lea r8, str.m_bHasSapper
mov rdx, qword [r10 + 0x18]
call fcn.180190160
mov r11d, eax
mov dword [0x1802440f8], r11d
lea rcx, [0x180244108]
call fcn.180190560
movsxd rax, dword [0x1802440f8]
add rax, rbx
add rsp, 0x20
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18024256c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x180244100], edx
jle 0x1800cab21
lea rcx, [0x180244100]
call fcn.1801905cc
cmp dword [0x180244100], 0xffffffff
jne 0x1800cab21
mov rcx, qword [0x180243e98]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1800cab0e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1800caab2
mov rdx, r11
test rax, rax
je 0x1800caaf0
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 0x1800caad0
cmp r9d, 0xc262c48c
je 0x1800caafb
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1800caaa1
jmp 0x1800cab0e
lea r8, str.m_bMiniBuilding
mov rdx, qword [r10 + 0x18]
call fcn.180190160
mov r11d, eax
mov dword [0x1802440e8], r11d
lea rcx, [0x180244100]
call fcn.180190560
movsxd rax, dword [0x1802440e8]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x1800cab40
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18024256c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x180244118], edx
jle 0x1800cac21
lea rcx, [0x180244118]
call fcn.1801905cc
cmp dword [0x180244118], 0xffffffff
jne 0x1800cac21
mov rcx, qword [0x180243e98]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1800cac0e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1800cabb2
mov rdx, r11
test rax, rax
je 0x1800cabf0
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 0x1800cabd0
cmp r9d, 0xc262c48c
je 0x1800cabfb
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1800caba1
jmp 0x1800cac0e
lea r8, str.m_iUpgradeLevel
mov rdx, qword [r10 + 0x18]
call fcn.180190160
mov r11d, eax
mov dword [0x18024410c], r11d
lea rcx, [0x180244118]
call fcn.180190560
movsxd rax, dword [0x18024410c]
add rax, rbx
add rsp, 0x20
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18024256c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x1802440ec], edx
jle 0x1800cad27
lea rcx, [0x1802440ec]
call fcn.1801905cc
cmp dword [0x1802440ec], 0xffffffff
jne 0x1800cad27
mov rcx, qword [0x180243e98]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1800cad0e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1800cacb2
mov rdx, r11
test rax, rax
je 0x1800cacf0
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 0x1800cacd0
cmp r9d, 0xc262c48c
je 0x1800cacfb
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1800caca1
jmp 0x1800cad0e
lea r8, str.m_iUpgradeLevel
mov rdx, qword [r10 + 0x18]
call fcn.180190160
mov r11d, eax
lea eax, [r11 - 0x154]
mov dword [0x180244148], eax
lea rcx, [0x1802440ec]
call fcn.180190560
movsxd rax, dword [0x180244148]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x1800cad40
Capabilities:
Encode data using xor
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 r13
push r14
push r15
sub rsp, 0x20
mov r15, r9
mov rsi, r8
mov rdi, rdx
mov r14, rcx
call fcn.1800caa40
movzx ebp, byte [rax]
mov r10d, dword [0x18024256c]
mov rax, qword gs:[0x58]
mov rbx, qword [rax + r10*8]
mov r13d, 4
mov eax, dword [rbx + r13]
cmp dword [0x180244134], eax
jle 0x1800cae41
lea rcx, [0x180244134]
call fcn.1801905cc
cmp dword [0x180244134], 0xffffffff
jne 0x1800cae41
mov rcx, qword [0x180243e98]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
test rax, rax
je 0x1800cae2d
nop word [rax + rax]
mov r8, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rcx
cmp byte [r8 + rcx], 0
jne 0x1800cade1
xor edx, edx
test rcx, rcx
je 0x1800cae24
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [r8 + rdx]
xor eax, r9d
imul r9d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x1800cae00
cmp r9d, 0x80133484
je 0x1800caeaa
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1800cadd0
xor eax, eax
mov dword [0x18024414c], eax
lea rcx, [0x180244134]
call fcn.180190560
movsxd rax, dword [0x18024414c]
mov ecx, dword [rax + r14]
mov dword [rdi], ecx
mov rcx, r14
call fcn.1800cab40
cmp dword [rax], 1
je 0x1800cae6d
mov rcx, r14
call fcn.1800caa40
cmp byte [rax], 0
mov eax, 0xc8
je 0x1800cae72
mov eax, 0x96
mov dword [rsi], eax
test bpl, bpl
je 0x1800caebf
mov dword [r15], 0
mov rax, qword [rsp + 0x60]
mov dword [rax], 0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r13
ret
lea r8, str.m_iAmmoShells
mov rdx, qword [r10 + 0x18]
call fcn.180190160
jmp 0x1800cae2f
mov eax, dword [rbx + r13]
cmp dword [0x180244130], eax
jle 0x1800caf6d
lea rcx, [0x180244130]
call fcn.1801905cc
cmp dword [0x180244130], 0xffffffff
jne 0x1800caf6d
mov rcx, qword [0x180243e98]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
test rax, rax
je 0x1800caf59
nop dword [rax]
mov r9, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r8d, 0x811c9dc5
inc rax
cmp byte [r9 + rax], 0
jne 0x1800caf11
xor edx, edx
test rax, rax
je 0x1800caf50
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r9 + rdx]
xor ecx, r8d
imul r8d, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x1800caf30
cmp r8d, 0x80133484
je 0x1800caf9c
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1800caf00
xor eax, eax
mov dword [0x18024412c], eax
lea rcx, [0x180244130]
call fcn.180190560
movsxd rax, dword [0x18024412c]
mov ecx, dword [rax + r14]
mov dword [r15], ecx
mov rcx, r14
call fcn.1800cab40
cmp dword [rax], 3
jl 0x1800cae80
mov rax, qword [rsp + 0x60]
mov dword [rax], 0x14
jmp 0x1800cae8b
lea r8, str.m_iAmmoRockets
mov rdx, qword [r10 + 0x18]
call fcn.180190160
jmp 0x1800caf5b
Function at 0x1800cafb0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18024256c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18024411c], edx
jle 0x1800cb091
lea rcx, [0x18024411c]
call fcn.1801905cc
cmp dword [0x18024411c], 0xffffffff
jne 0x1800cb091
mov rcx, qword [0x180243e98]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1800cb07e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1800cb022
mov rdx, r11
test rax, rax
je 0x1800cb060
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 0x1800cb040
cmp r9d, 0x7a1c884e
je 0x1800cb06b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1800cb011
jmp 0x1800cb07e
lea r8, str.m_hGroundEntity
mov rdx, qword [r10 + 0x18]
call fcn.180190160
mov r11d, eax
mov dword [0x1802440f4], r11d
lea rcx, [0x18024411c]
call fcn.180190560
movsxd rax, dword [0x1802440f4]
add rax, rbx
add rsp, 0x20
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18024256c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x180244110], edx
jle 0x1800cb194
lea rcx, [0x180244110]
call fcn.1801905cc
cmp dword [0x180244110], 0xffffffff
jne 0x1800cb194
mov rcx, qword [0x180243e98]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1800cb17e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x1800cb122
mov rdx, r11
test rax, rax
je 0x1800cb160
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 0x1800cb140
cmp r9d, 0x24615a25
je 0x1800cb16b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1800cb111
jmp 0x1800cb17e
lea r8, str.m_nInspectStage
mov rdx, qword [r10 + 0x18]
call fcn.180190160
mov r11d, eax
lea eax, [r11 + 0x1c]
mov dword [0x180244138], eax
lea rcx, [0x180244110]
call fcn.180190560
movsxd rax, dword [0x180244138]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x1800d0e70
Capabilities:
Hash data using fnv

Disassembly:
mov rdx, qword [rcx + 0x10]
mov r9, rcx
add rdx, 1
mov r8, qword [rcx + 0x38]
vxorps xmm0, xmm0, xmm0
js 0x1800d0e8c
vcvtsi2ss xmm0, xmm0, rdx
jmp 0x1800d0ea1
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm0, dword [rcx]
vxorps xmm1, xmm1, xmm1
vroundss xmm1, xmm1, xmm0, 2
vmovss xmm0, dword [0x180218d30]
xor ecx, ecx
vcomiss xmm1, xmm0
jb 0x1800d0ed6
vsubss xmm1, xmm1, xmm0
vcomiss xmm1, xmm0
jae 0x1800d0ed6
movabs rax, 0x8000000000000000
mov rcx, rax
vcvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp r8, rcx
jae 0x1800d0f08
cmp r8, 0x200
jae 0x1800d0f05
lea r8, [r8*8]
cmp r8, rcx
jae 0x1800d0f08
mov r8, rcx
mov rdx, r8
mov rcx, r9
jmp fcn.1800d0f40