joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1800e8a50
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 r14
sub rsp, 0x40
mov rdi, r8
mov r14, rdx
mov r8, qword [r8 + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1800e8a81
mov rdx, qword [rdi]
movabs rbx, 0xcbf29ce484222325
xor ecx, ecx
test r8, r8
je 0x1800e8ab3
movabs r9, 0x100000001b3
nop dword [rax]
movzx eax, byte [rdx + rcx]
xor rbx, rax
imul rbx, r9
inc rcx
cmp rcx, r8
jb 0x1800e8aa0
mov r9, rbx
mov r8, rdi
lea rdx, [rsp + 0x20]
call fcn.1800e8fe0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1800e8ada
mov qword [r14], rax
mov byte [r14 + 8], 0
jmp 0x1800e8c8d
movabs rax, 0x249249249249249
cmp qword [0x18028edf0], rax
je 0x1800e8cab
lea rax, [0x18028ede8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0
mov ecx, 0x70
call fcn.180199d60
mov rsi, rax
mov qword [rsp + 0x38], rax
mov rdx, rdi
lea rcx, [rax + 0x10]
call fcn.180099e50
mov qword [rsi + 0x68], 0
mov r8, qword [0x18028edf0]
lea rcx, [r8 + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x1800e8b46
cvtsi2ss xmm0, rcx
jmp 0x1800e8b5b
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rdi, qword [0x18028ee18]
xorps xmm2, xmm2
test rdi, rdi
js 0x1800e8b71
cvtsi2ss xmm2, rdi
jmp 0x1800e8b89
mov rcx, rdi
shr rcx, 1
mov rax, rdi
and eax, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm1, xmm0
divss xmm1, xmm2
movss xmm3, dword [0x18028ede0]
comiss xmm1, xmm3
jbe 0x1800e8c29
divss xmm0, xmm3
call fcn.1801ca584
xor ecx, ecx
movss xmm1, dword [0x1802634bc]
comiss xmm0, xmm1
jb 0x1800e8bcf
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x1800e8bcf
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdi, rcx
jae 0x1800e8c01
cmp rdi, 0x200
jae 0x1800e8bfe
lea rdi, [rdi*8]
cmp rdi, rcx
jae 0x1800e8c01
mov rdi, rcx
mov rdx, rdi
call fcn.1800e8d70
mov r9, rbx
lea r8, [rsi + 0x10]
lea rdx, [rsp + 0x30]
call fcn.1800e8fe0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x20], xmm0
mov r8, qword [0x18028edf0]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rcx + 8]
inc r8
mov qword [0x18028edf0], r8
mov qword [rsi], rcx
mov qword [rsi + 8], rdx
mov qword [rdx], rsi
mov qword [rcx + 8], rsi
mov rax, qword [0x18028edf8]
and rbx, qword [0x18028ee10]
add rbx, rbx
mov r8, qword [rax + rbx*8]
cmp r8, qword [0x18028ede8]
jne 0x1800e8c6e
mov qword [rax + rbx*8], rsi
jmp 0x1800e8c80
cmp r8, rcx
jne 0x1800e8c79
mov qword [rax + rbx*8], rsi
jmp 0x1800e8c85
cmp qword [rax + rbx*8 + 8], rdx
jne 0x1800e8c85
mov qword [rax + rbx*8 + 8], rsi
mov qword [r14], rsi
mov byte [r14 + 8], 1
mov rax, r14
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret
lea rcx, str.unordered_map_set_too_long
call fcn.18019af50
int3
Function at 0x1800ea660
Capabilities:
Hash data using fnv

Disassembly:
movsx eax, byte [rcx]
test al, al
jne 0x1800ea66a
mov eax, edx
ret
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
jmp fcn.1800ea660

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

Disassembly:
mov r9, rcx
mov rdx, 0xffffffffffffffff
mov r8d, 0x811c9dc5
inc rdx
cmp byte [rcx + rdx], 0
jne 0x1800ea690
xor ecx, ecx
test rdx, rdx
je 0x1800ea6b7
movsx eax, byte [r9 + rcx]
inc rcx
xor eax, r8d
imul r8d, eax, 0x1000193
cmp rcx, rdx
jb 0x1800ea6a0
mov eax, r8d
ret
Function at 0x1800eb6b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
push rdi
sub rsp, 0x40
mov rbx, r8
mov rdi, rdx
mov r8, qword [r8 + 0x10]
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1800eb6d6
mov rdx, qword [rbx]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x1800eb704
movabs r10, 0x100000001b3
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x1800eb6f1
mov r8, rbx
lea rdx, [rsp + 0x28]
lea rcx, [0x180291320]
call fcn.18009dcd0
cmp qword [rax + 8], 0
je 0x1800eb762
mov r8, rbx
lea rdx, [rsp + 0x28]
lea rcx, [0x180291320]
call fcn.1800ede90
mov rdx, qword [rax]
cmp qword [rdx + 0x60], 0
je 0x1800eb762
mov r8, rbx
lea rdx, [rsp + 0x28]
lea rcx, [0x180291320]
call fcn.1800ede90
mov rdx, qword [rax]
add rdx, 0x50
mov rcx, rdi
call fcn.180099e50
jmp 0x1800eb7aa
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0
mov qword [rdi + 0x10], 7
mov qword [rdi + 0x18], 0xf
mov rax, qword [0x18024d2e0]
mov dword [rdi], eax
movzx eax, word [0x18024d2e4]
mov word [rdi + 4], ax
movzx eax, byte [0x18024d2e6]
mov byte [rdi + 6], al
mov byte [rdi + 7], 0
mov rcx, rbx
call fcn.18009a190
mov rax, rdi
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret

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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rdi
sub rsp, 0x30
mov rdi, r8
mov rbx, rdx
mov r10, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1800eb7e8
mov rdx, qword [rdx]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r10, r10
je 0x1800eb823
movabs r8, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r8
inc rcx
cmp rcx, r10
jb 0x1800eb810
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [0x180291320]
call fcn.18009dcd0
cmp qword [rax + 8], 0
jne 0x1800eb875
mov rax, qword [0x180291368]
cmp rax, qword [0x180291370]
je 0x1800eb863
mov rdx, rbx
mov rcx, rax
call fcn.180099e50
add qword [0x180291368], 0x20
jmp 0x1800eb875
mov r8, rbx
mov rdx, rax
lea rcx, [0x180291360]
call fcn.1800f0030
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [0x180291320]
call fcn.1800ede90
mov rcx, qword [rax]
mov eax, dword [rdi]
mov dword [rcx + 0x30], eax
mov eax, dword [rdi + 4]
mov dword [rcx + 0x34], eax
mov eax, dword [rdi + 8]
mov dword [rcx + 0x38], eax
movzx eax, byte [rdi + 0xc]
mov byte [rcx + 0x3c], al
movzx eax, byte [rdi + 0xd]
mov byte [rcx + 0x3d], al
movzx eax, byte [rdi + 0xe]
mov byte [rcx + 0x3e], al
movups xmm0, xmmword [rdi + 0x10]
movups xmmword [rcx + 0x40], xmm0
add rdi, 0x20
add rcx, 0x50
cmp rcx, rdi
je 0x1800eb8de
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1800eb8d4
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
call fcn.18009a1f0
nop
mov rcx, rbx
call fcn.18009a190
nop
mov rcx, rdi
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
jmp fcn.18009a190
Function at 0x1800ed4c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub rsp, 0x38
cmp qword [rdx + 0x18], 0xf
mov r10, rdx
mov r11, qword [rdx + 0x10]
jbe 0x1800ed4d5
mov r10, qword [rdx]
xor r8d, r8d
movabs r9, 0xcbf29ce484222325
test r11, r11
je 0x1800ed519
mov qword [rsp + 0x30], rbx
movabs rbx, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [r10 + r8]
inc r8
xor r9, rax
imul r9, rbx
cmp r8, r11
jb 0x1800ed500
mov rbx, qword [rsp + 0x30]
mov r8, rdx
lea rdx, [rsp + 0x20]
call fcn.18009dcd0
cmp qword [rax + 8], 0
setne al
add rsp, 0x38
ret

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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
cmp qword [r8 + 0x28], 0xf
lea r9, [r8 + 0x10]
mov r10, qword [r8 + 0x20]
mov rbx, r8
mov r14, rdx
mov rsi, rcx
jbe 0x1800ed571
mov r9, qword [r8 + 0x10]
xor edx, edx
movabs r8, 0xcbf29ce484222325
test r10, r10
je 0x1800ed5a4
movabs rcx, 0x100000001b3
nop dword [rax]
movzx eax, byte [r9 + rdx]
inc rdx
xor r8, rax
imul r8, rcx
cmp rdx, r10
jb 0x1800ed590
mov rdx, qword [rsi + 0x30]
and rdx, r8
shl rdx, 4
add rdx, qword [rsi + 0x18]
mov rax, qword [rdx]
cmp qword [rdx + 8], rbx
jne 0x1800ed5d8
cmp rax, rbx
jne 0x1800ed5ce
mov rax, qword [rsi + 8]
mov qword [rdx], rax
mov qword [rdx + 8], rax
jmp 0x1800ed5e3
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
jmp 0x1800ed5e3
cmp rax, rbx
jne 0x1800ed5e3
mov rax, qword [rbx]
mov qword [rdx], rax
mov rdi, qword [rbx]
lea rcx, [rbx + 0x10]
dec qword [rsi + 0x10]
mov rax, qword [rbx + 8]
mov qword [rax], rdi
mov rax, qword [rbx + 8]
mov qword [rdi + 8], rax
call fcn.18009a190
mov edx, 0x38
mov rcx, rbx
call fcn.180199c38
mov rbx, qword [rsp + 0x30]
mov rax, r14
mov rsi, qword [rsp + 0x38]
mov qword [r14], rdi
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x1800ed630
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
cmp qword [r8 + 0x28], 0xf
lea r9, [r8 + 0x10]
mov r10, qword [r8 + 0x20]
mov rbx, r8
mov r14, rdx
mov r11, rcx
jbe 0x1800ed661
mov r9, qword [r8 + 0x10]
xor edx, edx
movabs r8, 0xcbf29ce484222325
test r10, r10
je 0x1800ed694
movabs rcx, 0x100000001b3
nop dword [rax]
movzx eax, byte [r9 + rdx]
inc rdx
xor r8, rax
imul r8, rcx
cmp rdx, r10
jb 0x1800ed680
mov rdx, qword [r11 + 0x30]
and rdx, r8
shl rdx, 4
add rdx, qword [r11 + 0x18]
mov rax, qword [rdx]
cmp qword [rdx + 8], rbx
jne 0x1800ed6c8
cmp rax, rbx
jne 0x1800ed6be
mov rax, qword [r11 + 8]
mov qword [rdx], rax
mov qword [rdx + 8], rax
jmp 0x1800ed6d3
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
jmp 0x1800ed6d3
cmp rax, rbx
jne 0x1800ed6d3
mov rax, qword [rbx]
mov qword [rdx], rax
mov rdi, qword [rbx]
lea rcx, [rbx + 0x30]
dec qword [r11 + 0x10]
mov rax, qword [rbx + 8]
mov qword [rax], rdi
mov rax, qword [rbx + 8]
mov qword [rdi + 8], rax
call fcn.18009a190
lea rcx, [rbx + 0x10]
call fcn.18009a190
mov edx, 0x50
mov rcx, rbx
call fcn.180199c38
mov rbx, qword [rsp + 0x30]
mov rax, r14
mov rsi, qword [rsp + 0x38]
mov qword [r14], rdi
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret

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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
cmp qword [r8 + 0x28], 0xf
lea r9, [r8 + 0x10]
mov r10, qword [r8 + 0x20]
mov rbx, r8
mov r14, rdx
mov r11, rcx
jbe 0x1800ed761
mov r9, qword [r8 + 0x10]
xor edx, edx
movabs r8, 0xcbf29ce484222325
test r10, r10
je 0x1800ed794
movabs rcx, 0x100000001b3
nop dword [rax]
movzx eax, byte [r9 + rdx]
inc rdx
xor r8, rax
imul r8, rcx
cmp rdx, r10
jb 0x1800ed780
mov rdx, qword [r11 + 0x30]
and rdx, r8
shl rdx, 4
add rdx, qword [r11 + 0x18]
mov rax, qword [rdx]
cmp qword [rdx + 8], rbx
jne 0x1800ed7c8
cmp rax, rbx
jne 0x1800ed7be
mov rax, qword [r11 + 8]
mov qword [rdx], rax
mov qword [rdx + 8], rax
jmp 0x1800ed7d3
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
jmp 0x1800ed7d3
cmp rax, rbx
jne 0x1800ed7d3
mov rax, qword [rbx]
mov qword [rdx], rax
mov rdi, qword [rbx]
lea rcx, [rbx + 0x30]
dec qword [r11 + 0x10]
mov rax, qword [rbx + 8]
mov qword [rax], rdi
mov rax, qword [rbx + 8]
mov qword [rdi + 8], rax
call fcn.180099fe0
lea rcx, [rbx + 0x10]
call fcn.18009a190
mov edx, 0x48
mov rcx, rbx
call fcn.180199c38
mov rbx, qword [rsp + 0x30]
mov rax, r14
mov rsi, qword [rsp + 0x38]
mov qword [r14], rdi
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x1800ed830
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
cmp qword [r8 + 0x28], 0xf
lea r9, [r8 + 0x10]
mov r10, qword [r8 + 0x20]
mov rbx, r8
mov r14, rdx
mov rsi, rcx
jbe 0x1800ed861
mov r9, qword [r8 + 0x10]
xor edx, edx
movabs r8, 0xcbf29ce484222325
test r10, r10
je 0x1800ed894
movabs rcx, 0x100000001b3
nop dword [rax]
movzx eax, byte [r9 + rdx]
inc rdx
xor r8, rax
imul r8, rcx
cmp rdx, r10
jb 0x1800ed880
mov rdx, qword [rsi + 0x30]
and rdx, r8
shl rdx, 4
add rdx, qword [rsi + 0x18]
mov rax, qword [rdx]
cmp qword [rdx + 8], rbx
jne 0x1800ed8c8
cmp rax, rbx
jne 0x1800ed8be
mov rax, qword [rsi + 8]
mov qword [rdx], rax
mov qword [rdx + 8], rax
jmp 0x1800ed8d3
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
jmp 0x1800ed8d3
cmp rax, rbx
jne 0x1800ed8d3
mov rax, qword [rbx]
mov qword [rdx], rax
mov rdi, qword [rbx]
lea rcx, [rbx + 0x10]
dec qword [rsi + 0x10]
mov rax, qword [rbx + 8]
mov qword [rax], rdi
mov rax, qword [rbx + 8]
mov qword [rdi + 8], rax
call fcn.18009a190
mov edx, 0x40
mov rcx, rbx
call fcn.180199c38
mov rbx, qword [rsp + 0x30]
mov rax, r14
mov rsi, qword [rsp + 0x38]
mov qword [r14], rdi
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x180103170
Capabilities:
Read file on windows

Disassembly:
push rbx
push r14
push r15
sub rsp, 0x20
mov r15, r8
mov r14, rdx
mov rbx, rcx
test r8, r8
jg 0x180103194
xor eax, eax
add rsp, 0x20
pop r15
pop r14
pop rbx
ret
cmp qword [rcx + 0x68], 0
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdi
je 0x180103222
mov rdi, r15
mov qword [rsp + 0x40], rbp
lea rsi, [rcx + 0x50]
mov rax, qword [rbx + 0x38]
mov rdx, qword [rax]
test rdx, rdx
je 0x1801031f0
mov rax, qword [rsi]
movsxd rcx, dword [rax]
test ecx, ecx
jle 0x1801031f0
cmp rdi, rcx
mov rbp, rdi
cmovge rbp, rcx
mov rcx, r14
mov r8, rbp
call fcn.1801cf8e0
mov rax, qword [rsi]
sub rdi, rbp
sub dword [rax], ebp
mov rcx, qword [rbx + 0x38]
movsxd rax, ebp
add qword [rcx], rax
jmp 0x18010320d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
cmp eax, 0xffffffff
je 0x180103215
mov byte [r14], al
lea rsi, [rbx + 0x50]
dec rdi
mov ebp, 1
add r14, rbp
test rdi, rdi
jg 0x1801031b1
mov rbp, qword [rsp + 0x40]
sub r15, rdi
jmp 0x180103300
mov rax, qword [rcx + 0x38]
mov rsi, r15
mov rdx, qword [rax]
test rdx, rdx
je 0x180103239
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x18010323b
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x18010326d
cmp rax, r15
mov rdi, r15
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call fcn.1801cf8e0
mov rax, qword [rbx + 0x50]
add r14, rdi
sub rsi, rdi
sub dword [rax], edi
mov rcx, qword [rbx + 0x38]
movsxd rax, edi
add qword [rcx], rax
cmp qword [rbx + 0x80], 0
je 0x1801032fd
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x1801032a8
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
cmp rsi, 0xfff
jbe 0x1801032de
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call fcn.1801aa310
add r14, rax
sub rsi, rax
cmp rax, 0xfff
jne 0x1801032fd
cmp rsi, rax
ja 0x1801032b1
test rsi, rsi
je 0x1801032fd
mov r9, qword [rbx + 0x80]
mov r8, rsi
mov edx, 1
mov rcx, r14
call fcn.1801aa310
sub rsi, rax
sub r15, rsi
mov rsi, qword [rsp + 0x48]
mov rax, r15
mov rdi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rbx
ret
Function at 0x1801111a0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18029475c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x1802974c8], edx
jle 0x180111281
lea rcx, [0x1802974c8]
call fcn.180199ce8
cmp dword [0x1802974c8], 0xffffffff
jne 0x180111281
mov rcx, qword [0x180297128]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18011126e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x180111212
mov rdx, r11
test rax, rax
je 0x180111250
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 0x180111230
cmp r9d, 0xd134a6b7
je 0x18011125b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180111201
jmp 0x18011126e
lea r8, str.m_iPrimaryAmmoType
mov rdx, qword [r10 + 0x18]
call fcn.180199880
mov r11d, eax
mov dword [0x1802974cc], r11d
lea rcx, [0x1802974c8]
call fcn.180199c7c
movsxd rax, dword [0x1802974cc]
add rax, rbx
add rsp, 0x20
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18029475c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x1802974c4], edx
jle 0x180111384
lea rcx, [0x1802974c4]
call fcn.180199ce8
cmp dword [0x1802974c4], 0xffffffff
jne 0x180111384
mov rcx, qword [0x180297128]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18011136e
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x180111312
mov rdx, r11
test rax, rax
je 0x180111350
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 0x180111330
cmp r9d, 0x24615a25
je 0x18011135b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180111301
jmp 0x18011136e
lea r8, str.m_flLastCritCheckTime
mov rdx, qword [r10 + 0x18]
call fcn.180199880
mov r11d, eax
lea eax, [r11 - 4]
mov dword [0x1802974c0], eax
lea rcx, [0x1802974c4]
call fcn.180199c7c
movsxd rax, dword [0x1802974c0]
add rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x1801113a0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov edx, dword [0x18029475c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x1802974bc], edx
jle 0x180111481
lea rcx, [0x1802974bc]
call fcn.180199ce8
cmp dword [0x1802974bc], 0xffffffff
jne 0x180111481
mov rcx, qword [0x180297128]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x18011146e
mov r9, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r8d, 0x811c9dc5
inc rcx
cmp byte [r9 + rcx], r11b
jne 0x180111412
mov rdx, r11
test rcx, rcx
je 0x180111450
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [r9 + rdx]
xor eax, r8d
imul r8d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180111430
cmp r8d, 0x7c5cc931
je 0x18011145b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180111401
jmp 0x18011146e
lea r8, str.m_iCritMult
mov rdx, qword [r10 + 0x18]
call fcn.180199880
mov r11d, eax
mov dword [0x1802974d0], r11d
lea rcx, [0x1802974bc]
call fcn.180199c7c
movsxd rax, dword [0x1802974d0]
movd xmm2, dword [rax + rbx]
cvtdq2ps xmm2, xmm2
xorps xmm0, xmm0
subss xmm2, xmm0
divss xmm2, dword [0x1802633f4]
movss dword [rsp + 0x38], xmm2
mov dword [rsp + 0x40], 0x3f800000
mov dword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
lea rax, [rsp + 0x38]
comiss xmm0, xmm2
cmovbe rcx, rax
lea rax, [rsp + 0x40]
comiss xmm2, dword [0x180263200]
cmovbe rax, rcx
movss xmm0, dword [rax]
mulss xmm0, dword [0x18026327c]
addss xmm0, dword [0x180263200]
add rsp, 0x20
pop rbx
ret

Function at 0x1801114f0
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 [0x18029475c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + r8*8]
mov r8d, dword [rcx + rax]
cmp dword [0x1802974dc], r8d
jle 0x1801115e1
lea rcx, [0x1802974dc]
call fcn.180199ce8
cmp dword [0x1802974dc], 0xffffffff
jne 0x1801115e1
mov rcx, qword [0x180297128]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x1801115ce
nop word [rax + rax]
mov r8, qword [r10 + 0x10]
mov rax, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rax
cmp byte [r8 + rax], r11b
jne 0x180111571
mov rdx, r11
test rax, rax
je 0x1801115b0
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 0x180111590
cmp r9d, 0x3369e751
je 0x1801115bb
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180111560
jmp 0x1801115ce
lea r8, str.m_iHealth
mov rdx, qword [r10 + 0x18]
call fcn.180199880
mov r11d, eax
mov dword [0x1802974a8], r11d
lea rcx, [0x1802974dc]
call fcn.180199c7c
lea eax, [rbx*4]
cdqe
movsxd rdx, dword [0x1802974a8]
add rax, rdi
mov eax, dword [rdx + rax]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x180111940
Capabilities:
Access peb ldr_data

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 ecx, r9d
mov ebp, r8d
mov ebx, edx
call fcn.180190650
mov rcx, qword [0x180297168]
mov esi, eax
xor r14d, r14d
mov eax, 8
btr esi, 0x1f
mov edi, r14d
cmp ebx, 2
mov rdx, qword [rcx]
cmove edi, eax
call qword [rdx + 0x60]
mov ecx, edi
mov ebx, eax
mov rax, qword gs:[0x58]
shl ebx, cl
lea ecx, [rdi + 8]
shl ebp, cl
mov ecx, dword [0x18029475c]
or ebx, ebp
xor ebx, esi
mov esi, 4
mov rdi, qword [rax + rcx*8]
mov eax, dword [rdi + rsi]
cmp dword [0x1802a9f60], eax
jle 0x180111a02
lea rcx, [0x1802a9f60]
call fcn.180199ce8
cmp dword [0x1802a9f60], 0xffffffff
jne 0x180111a02
lea rcx, str.vstdlib.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.RandomSeed
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1802a9f60]
mov qword [0x1802a9f40], rax
call fcn.180199c7c
mov ecx, ebx
call qword [0x1802a9f40]
mov eax, dword [rdi + rsi]
cmp dword [0x1802a9f38], eax
jle 0x180111a5a
lea rcx, [0x1802a9f38]
call fcn.180199ce8
cmp dword [0x1802a9f38], 0xffffffff
jne 0x180111a5a
lea rcx, str.vstdlib.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.RandomInt
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1802a9f38]
mov qword [0x1802a9f70], rax
call fcn.180199c7c
mov edx, 0x270f
xor ecx, ecx
call qword [0x1802a9f70]
cmp byte [rsp + 0x50], r14b
je 0x180111a76
cmp eax, 0x64
setl al
jmp 0x180111a7e
cmp eax, 0x1770
setge al
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
ret
Function at 0x180113720
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push r14
sub rsp, 0x40
mov r14, qword [0x18028f640]
test r14, r14
je 0x180113922
mov rax, qword [0x1802a6eb0]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x38], rsi
mov rbx, qword [rax]
mov qword [rsp + 0x30], rdi
cmp rbx, rax
je 0x180113842
movabs rsi, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
nop word [rax + rax]
mov rcx, qword [0x180297150]
mov edx, dword [rbx + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x18]
test rax, rax
je 0x18011379d
mov rbx, qword [rbx]
jmp 0x180113835
movzx eax, byte [rbx + 0x11]
mov rcx, rbx
movzx r8d, byte [rbx + 0x10]
xor r8, rsi
imul r8, rdi
xor r8, rax
movzx eax, byte [rbx + 0x12]
imul r8, rdi
xor r8, rax
movzx eax, byte [rbx + 0x13]
imul r8, rdi
xor r8, rax
imul r8, rdi
and r8, qword [0x1802a6ed8]
shl r8, 4
add r8, qword [0x1802a6ec0]
mov rax, qword [r8]
cmp qword [r8 + 8], rbx
jne 0x180113807
cmp rax, rbx
jne 0x1801137fd
mov rax, qword [0x1802a6eb0]
mov qword [r8], rax
mov qword [r8 + 8], rax
jmp 0x180113812
mov rax, qword [rbx + 8]
mov qword [r8 + 8], rax
jmp 0x180113812
cmp rax, rbx
jne 0x180113812
mov rax, qword [rbx]
mov qword [r8], rax
mov rbx, qword [rbx]
mov edx, 0x18
dec qword [0x1802a6eb8]
mov rax, qword [rcx + 8]
mov qword [rax], rbx
mov rax, qword [rcx + 8]
mov qword [rbx + 8], rax
call fcn.180199c38
cmp rbx, qword [0x1802a6eb0]
jne 0x180113780
lea r8, [rsp + 0x50]
mov dword [rsp + 0x50], 0
lea rdx, [rsp + 0x20]
lea rcx, [0x18028f650]
call fcn.1800c9360
mov rcx, qword [rax]
mov rbp, qword [rcx + 0x20]
mov rsi, qword [rcx + 0x18]
cmp rsi, rbp
je 0x18011390e
nop dword [rax]
nop dword [rax + rax]
mov rdi, qword [rsi]
mov rcx, rdi
mov rax, qword [rdi]
call qword [rax + 0x410]
test al, al
je 0x180113901
mov rcx, rdi
call fcn.1800be180
mov ecx, dword [rax]
shr ecx, 0xd
test cl, 1
jne 0x180113901
mov rax, qword [rdi + 0x10]
lea rbx, [rdi + 0x10]
mov rcx, rbx
call qword [rax + 0x40]
test al, al
je 0x1801138ce
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x48]
mov edx, eax
mov rcx, r14
call fcn.1801114f0
mov edi, eax
jmp 0x1801138d8
mov rcx, rdi
call fcn.1800c3cd0
mov edi, dword [rax]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x48]
lea r8, [rsp + 0x50]
mov dword [rsp + 0x50], eax
lea rdx, [rsp + 0x20]
lea rcx, [0x1802a6ea8]
call fcn.1800c95a0
mov rcx, qword [rax]
mov dword [rcx + 0x14], edi
add rsi, 8
cmp rsi, rbp
jne 0x180113880
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x38]
add rsp, 0x40
pop r14
ret