joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180022ab8
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
mov r8, qword [rcx]
movzx edx, byte [r8]
cmp edx, 5
ja 0x180022aff
je 0x180022aff
test edx, edx
je 0x180022aff
sub edx, 1
je 0x180022af2
sub edx, 1
jne 0x180022aff
mov rax, qword [rcx + 0x10]
jmp 0x180022bb1
mov rax, qword [rcx + 8]
add rax, 0x40
jmp 0x180022bb1
cmp qword [rcx + 0x18], 0
jne 0x180022b0e
mov rax, r8
jmp 0x180022bb1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x180022b91
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x180022b91
mov r14d, dword [r9 + 0x20]
dec r10d
mov edi, 0x12e175c9
lea rcx, [r14 + r10*4]
mov r11d, dword [rcx + r8]
add r11, r8
mov bl, byte [r11]
inc r11
test bl, bl
je 0x180022b8c
movsx ecx, bl
sub bl, 0x41
mov edx, ecx
or edx, 0x20
cmp bl, 0x19
mov bl, byte [r11]
cmova edx, ecx
inc r11
xor edx, edi
imul edi, edx, 0x1000193
test bl, bl
jne 0x180022b61
cmp edi, 0xa3e2345
je 0x180022b96
test r10d, r10d
jne 0x180022b44
mov rax, qword [rax]
jmp 0x180022b1f
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret

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

Disassembly:
mov qword [rsp + 8], rbx
xor r10d, r10d
mov rbx, rdx
mov r11, rcx
test r9b, r9b
je 0x1800195ea
test r8, r8
je 0x18001960d
movabs r9, 0x100000001b3
mov al, byte [rbx + r10]
mov dl, byte [rbx + r10]
add al, 0x20
movzx ecx, al
sub dl, 0x41
movzx eax, byte [rbx + r10]
cmp dl, 0x19
cmova ecx, eax
inc r10
imul r11, r9
movsx rax, cl
xor r11, rax
cmp r10, r8
jb 0x1800195ba
jmp 0x18001960d
test r8, r8
je 0x18001960d
movabs r9, 0x100000001b3
movsx rcx, byte [rdx + r10]
inc r10
imul r11, r9
xor r11, rcx
cmp r10, r8
jb 0x1800195f9
mov rbx, qword [rsp + 8]
mov rax, r11
ret
xor r8d, r8d
cmp byte [rcx], r8b
je 0x180023e3a
inc r8
cmp byte [rcx + r8], 0
jne 0x180023e30
mov r9b, dl
mov rdx, rcx
movabs rcx, 0xcbf29ce484222325
jmp 0x180019598
Function at 0x180023e68
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
mov qword [r11 + 0x10], rdx
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x20], r9
push rbx
push rsi
push rdi
push r14
sub rsp, 0x38
lea rax, [r11 + 0x10]
mov qword [r11 - 0x38], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r11d, dword [rcx + r8 + 0x88]
add r11, r8
cmp r11, r8
je 0x180023f0f
mov r10d, dword [r11 + 0x18]
test r10d, r10d
je 0x180023f0f
mov r14d, dword [r11 + 0x20]
dec r10d
mov edi, 0x9386c2b3
lea rcx, [r14 + r10*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov bl, byte [r9]
inc r9
test bl, bl
je 0x180023f0a
movsx ecx, bl
sub bl, 0x41
mov edx, ecx
or edx, 0x20
cmp bl, 0x19
mov bl, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test bl, bl
jne 0x180023edf
cmp edi, 0x9c2f3ddd
je 0x180023f14
test r10d, r10d
jne 0x180023ec2
mov rax, qword [rax]
jmp 0x180023e9d
mov ecx, dword [r11 + 0x24]
mov r9, qword [rsp + 0x20]
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
mov edx, 0x200
add rax, r8
lea rcx, [0x1800bbed0]
mov r8, qword [rsp + 0x60]
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r9d, dword [rcx + r10 + 0x88]
add r9, r10
cmp r9, r10
je 0x180023fc8
mov r8d, dword [r9 + 0x18]
test r8d, r8d
je 0x180023fc8
mov r14d, dword [r9 + 0x20]
dec r8d
mov esi, 0xa2a72dfb
lea rcx, [r14 + r8*4]
mov r11d, dword [rcx + r10]
add r11, r10
mov bl, byte [r11]
inc r11
test bl, bl
je 0x180023fc3
movsx ecx, bl
sub bl, 0x41
mov edx, ecx
or edx, 0x20
cmp bl, 0x19
mov bl, byte [r11]
cmova edx, ecx
inc r11
xor edx, esi
imul esi, edx, 0x1000193
test bl, bl
jne 0x180023f98
cmp esi, 0xdc247c47
je 0x180023fcd
test r8d, r8d
jne 0x180023f7b
mov rax, qword [rax]
jmp 0x180023f56
mov edx, dword [r9 + 0x24]
lea rcx, [0x1800bbed0]
add rdx, r10
movzx r8d, word [rdx + r8*2]
mov edx, dword [r9 + 0x1c]
add rdx, r10
mov r9d, dword [rdx + r8*4]
add r9, r10
call r9
lea rax, [0x1800bbed0]
add rsp, 0x38
pop r14
pop rdi
pop rsi
pop rbx
ret
Function at 0x180043840
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x1800438d8
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x1800438d8
mov r14d, dword [r9 + 0x20]
dec r10d
mov edi, 0xa39988d0
lea rcx, [r14 + r10*4]
mov r11d, dword [rcx + r8]
add r11, r8
mov bl, byte [r11]
inc r11
test bl, bl
je 0x1800438d3
movsx ecx, bl
sub bl, 0x41
mov edx, ecx
or edx, 0x20
cmp bl, 0x19
mov bl, byte [r11]
cmova edx, ecx
inc r11
xor edx, edi
imul edi, edx, 0x1000193
test bl, bl
jne 0x1800438a8
cmp edi, 0xa480e1f0
je 0x1800438dd
test r10d, r10d
jne 0x18004388b
mov rax, qword [rax]
jmp 0x180043866
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
mov rax, qword [rax]
test rax, rax
jne 0x180043904
mov al, 0x2e
jmp 0x180043906
mov al, byte [rax]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x1800439a0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xorps xmm0, xmm0
mov rbx, rdx
movups xmmword [rdx], xmm0
and qword [rdx + 0x10], 0
mov qword [rdx + 0x18], 0xf
mov byte [rdx], 0
mov r12, qword [rcx + 0x40]
mov rdi, qword [rcx + 0x38]
jmp 0x180043b28
movzx esi, byte [rdi]
cmp sil, 0x1f
ja 0x180043ae6
xor eax, eax
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x28], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r11d, dword [rcx + r8 + 0x88]
add r11, r8
cmp r11, r8
je 0x180043a8d
mov r10d, dword [r11 + 0x18]
test r10d, r10d
je 0x180043a8d
mov r13d, dword [r11 + 0x20]
dec r10d
mov r14d, 0x37940175
lea rcx, [r10*4]
add rcx, r13
mov r9d, dword [rcx + r8]
add r9, r8
mov bpl, byte [r9]
inc r9
test bpl, bpl
je 0x180043a88
movsx ecx, bpl
sub bpl, 0x41
mov edx, ecx
or edx, 0x20
cmp bpl, 0x19
mov bpl, byte [r9]
cmova edx, ecx
inc r9
xor edx, r14d
imul r14d, edx, 0x1000193
test bpl, bpl
jne 0x180043a56
cmp r14d, 0xc41d909f
je 0x180043a95
test r10d, r10d
jne 0x180043a30
mov rax, qword [rax]
jmp 0x180043a0b
mov ecx, dword [r11 + 0x24]
mov r9d, esi
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
mov edx, 9
add rax, r8
lea rcx, [rsp + 0x20]
lea r8, str._U_.4X_
call rax
lea rax, [rsp + 0x20]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180043acd
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.180041528
jmp 0x180043b25
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x180043b10
cmp qword [rbx + 0x18], 0xf
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
jbe 0x180043b05
mov rax, qword [rbx]
mov byte [rax + rcx], sil
mov byte [rax + rcx + 1], 0
jmp 0x180043b25
mov r8b, byte [rsp + 0x60]
mov r9b, sil
mov edx, 1
mov rcx, rbx
call fcn.18001bf84
inc rdi
cmp rdi, r12
jne 0x1800439e2
mov rbp, qword [rsp + 0x70]
mov rax, rbx
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x180046048
Capabilities:
Access peb ldr_data
Encode data using xor
Get number of processors
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [rcx + 0x10]
mov rsi, rcx
sub rax, qword [rcx + 8]
mov r14, rdx
mov rcx, qword [rcx + 0xa8]
sar rax, 3
mov byte [rbp + 0x20], 2
mov dword [rbp + 0x30], eax
test rcx, rcx
je 0x1800461f3
mov rax, qword [rcx]
lea r9, [rsi + 0xb8]
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x30]
call qword [rax + 0x10]
lea rdx, [rbp - 0x20]
mov byte [rbp + 0x20], al
lea rcx, [rsi + 0x20]
call fcn.180042d60
mov r9d, 1
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x10]
lea rcx, [rsi + 0x20]
movups xmm0, xmmword [rax]
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
movdqu xmmword [rbp - 0x30], xmm0
call fcn.180040c40
mov r9b, 1
mov byte [rbp + 0x20], 2
lea r8, [rbp + 0x20]
mov rcx, rsi
lea rdx, [rbp - 0x30]
call fcn.18001f488
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi + 0x18]
je 0x180046102
mov rax, qword [rbp - 0x28]
mov qword [rdx], rax
add qword [rsi + 0x10], 8
jmp 0x18004610f
lea r8, [rbp - 0x28]
lea rcx, [rsi + 8]
call fcn.18001afc4
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax - 8]
test rcx, rcx
je 0x1800461dc
cmp r14, 0xffffffffffffffff
je 0x1800461dc
call fcn.180044080
cmp r14, rax
jbe 0x1800461dc
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov r10d, dword [rcx + r9 + 0x88]
add r10, r9
cmp r10, r9
je 0x1800461bb
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x1800461bb
mov r14d, dword [r10 + 0x20]
dec r11d
mov edi, 0x7b6bfae6
lea rcx, [r14 + r11*4]
mov r8d, dword [rcx + r9]
add r8, r9
mov bl, byte [r8]
inc r8
test bl, bl
je 0x1800461b6
movsx ecx, bl
sub bl, 0x41
mov edx, ecx
or edx, 0x20
cmp bl, 0x19
mov bl, byte [r8]
cmova edx, ecx
inc r8
xor edx, edi
imul edi, edx, 0x1000193
test bl, bl
jne 0x18004618b
cmp edi, 0xd4f94d30
je 0x1800461c0
test r11d, r11d
jne 0x18004616e
mov rax, qword [rax]
jmp 0x180046149
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov ecx, dword [rdx + r8*4]
add rcx, r9
call rcx
lea r11, [rsp + 0x60]
mov al, 1
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call fcn.180040730
int3
Function at 0x1800461fc
Capabilities:
Access peb ldr_data
Encode data using xor
Get number of processors
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [rcx + 0x10]
mov rsi, rcx
sub rax, qword [rcx + 8]
mov r14, rdx
mov rcx, qword [rcx + 0xa8]
sar rax, 3
mov byte [rbp + 0x20], 0
mov dword [rbp + 0x30], eax
test rcx, rcx
je 0x1800463a7
mov rax, qword [rcx]
lea r9, [rsi + 0xb8]
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x30]
call qword [rax + 0x10]
lea rdx, [rbp - 0x20]
mov byte [rbp + 0x20], al
lea rcx, [rsi + 0x20]
call fcn.180042d60
mov r9d, 1
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x10]
lea rcx, [rsi + 0x20]
movups xmm0, xmmword [rax]
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
movdqu xmmword [rbp - 0x30], xmm0
call fcn.180040c40
mov r9b, 1
mov byte [rbp + 0x20], 1
lea r8, [rbp + 0x20]
mov rcx, rsi
lea rdx, [rbp - 0x30]
call fcn.18001f488
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi + 0x18]
je 0x1800462b6
mov rax, qword [rbp - 0x28]
mov qword [rdx], rax
add qword [rsi + 0x10], 8
jmp 0x1800462c3
lea r8, [rbp - 0x28]
lea rcx, [rsi + 8]
call fcn.18001afc4
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax - 8]
test rcx, rcx
je 0x180046390
cmp r14, 0xffffffffffffffff
je 0x180046390
call fcn.180044080
cmp r14, rax
jbe 0x180046390
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov r10d, dword [rcx + r9 + 0x88]
add r10, r9
cmp r10, r9
je 0x18004636f
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x18004636f
mov r14d, dword [r10 + 0x20]
dec r11d
mov edi, 0x2da28713
lea rcx, [r14 + r11*4]
mov r8d, dword [rcx + r9]
add r8, r9
mov bl, byte [r8]
inc r8
test bl, bl
je 0x18004636a
movsx ecx, bl
sub bl, 0x41
mov edx, ecx
or edx, 0x20
cmp bl, 0x19
mov bl, byte [r8]
cmova edx, ecx
inc r8
xor edx, edi
imul edi, edx, 0x1000193
test bl, bl
jne 0x18004633f
cmp edi, 0xbf6b862f
je 0x180046374
test r11d, r11d
jne 0x180046322
mov rax, qword [rax]
jmp 0x1800462fd
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov ecx, dword [rdx + r8*4]
add rcx, r9
call rcx
lea r11, [rsp + 0x60]
mov al, 1
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call fcn.180040730
int3

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

Disassembly:
xor r8d, r8d
movzx eax, byte [rdx + r8]
movabs r9, 0x100000001b3
xor rcx, rax
inc r8
imul rcx, r9
cmp r8, 8
jb 0x1800465a7
mov rax, rcx
ret
mov rdx, rcx
movabs rcx, 0xcbf29ce484222325
jmp 0x1800465a4
Function at 0x180047320
Capabilities:
Encode data using add xor sub operations
Encode data using xor
Hash data using fnv

Disassembly:
sub rsp, 0x48
xor r11d, r11d
mov r8, rcx
mov edx, r11d
cmp word [rcx], r11w
je 0x18004733d
inc rdx
cmp word [rcx + rdx*2], r11w
jne 0x180047333
movabs r9, 0xcbf29ce484222325
mov r10, r11
test rdx, rdx
je 0x180047387
movzx eax, word [r8 + r10*2]
movzx ecx, word [r8 + r10*2]
sub ax, 0x41
add cx, 0x20
cmp ax, 0x19
cmova cx, word [r8 + r10*2]
inc r10
movzx eax, cx
movabs rcx, 0x100000001b3
imul r9, rcx
xor r9, rax
cmp r10, rdx
jb 0x18004734f
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x28], r11
lea rcx, [0x180047310]
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x20], r9
call fcn.180047458
neg al
sbb rax, rax
and rax, qword [rsp + 0x28]
add rsp, 0x48
ret

Function at 0x18004c00c
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
mov rdi, qword [rsp + 0x28]
xor r10d, r10d
mov rsi, r8
mov rbx, rdx
test rdx, rdx
je 0x18004c098
mov r11d, r10d
cmp byte [rdi], r10b
je 0x18004c03f
inc r11
cmp byte [rdi + r11], r10b
jne 0x18004c036
movabs r8, 0xcbf29ce484222325
test r11, r11
je 0x18004c086
mov dl, byte [rdi + r10]
mov al, byte [rdi + r10]
sub dl, 0x41
add al, 0x20
movzx ecx, al
cmp dl, 0x19
movzx eax, byte [rdi + r10]
cmova ecx, eax
inc r10
movsx rdx, cl
movabs rcx, 0x100000001b3
imul r8, rcx
xor r8, rdx
cmp r10, r11
jb 0x18004c04e
cmp r8, qword [rbx]
jne 0x18004c098
mov qword [rbx + 0x10], rsi
mov al, 1
mov word [rbx + 8], r9w
jmp 0x18004c09a
xor al, al
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret

Function at 0x18004c100
Capabilities:
Parse pe header
Resolve function by parsing pe exports

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, 0x20
mov r12, rdx
mov r13, r8
xor edx, edx
mov rdi, rcx
test r12, r12
je 0x18004c1c9
test rcx, rcx
je 0x18004c1c9
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x18004c1c9
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
cmp dword [rax], 0x4550
jne 0x18004c1c9
test rax, rax
je 0x18004c1c9
add rax, 0x88
je 0x18004c1c9
mov ebx, dword [rax]
add rbx, rcx
je 0x18004c1c9
cmp dword [rbx + 0x1c], edx
je 0x18004c1c9
cmp dword [rbx + 0x20], edx
je 0x18004c1c9
cmp dword [rbx + 0x24], edx
je 0x18004c1c9
mov r14d, dword [rbx + 0x1c]
mov esi, edx
mov ebp, dword [rbx + 0x20]
add r14, rcx
mov r15d, dword [rbx + 0x24]
add rbp, rcx
add r15, rcx
cmp dword [rbx + 0x18], edx
jbe 0x18004c1c9
mov ecx, esi
movzx r8d, word [r15 + rcx*2]
cmp dword [r14 + r8*4], edx
je 0x18004c1c2
cmp dword [rbp + rcx*4], edx
je 0x18004c1c2
mov r9d, dword [rbp + rcx*4]
mov rcx, r13
mov edx, dword [r14 + r8*4]
add r9, rdi
add rdx, rdi
call r12
xor edx, edx
test al, al
jne 0x18004c1e8
inc esi
cmp esi, dword [rbx + 0x18]
jb 0x18004c194
xor al, al
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov al, 1
jmp 0x18004c1cb
Function at 0x1800585c4
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
xor r10d, r10d
mov r11, rcx
test r9b, r9b
je 0x18005860e
test r8, r8
je 0x180058631
movabs r9, 0x100000001b3
movzx eax, word [rdx + r10*2]
movzx ecx, word [rdx + r10*2]
sub ax, 0x41
add cx, 0x20
cmp ax, 0x19
cmova cx, word [rdx + r10*2]
inc r10
imul r11, r9
movzx eax, cx
xor r11, rax
cmp r10, r8
jb 0x1800585de
jmp 0x180058631
test r8, r8
je 0x180058631
movabs r9, 0x100000001b3
movzx ecx, word [rdx + r10*2]
inc r10
imul r11, r9
xor r11, rcx
cmp r10, r8
jb 0x18005861d
mov rax, r11
ret
Function at 0x18007b908
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov r15, rcx
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov ebx, dword [rcx + r8 + 0x88]
add rbx, r8
cmp rbx, r8
je 0x18007b9af
mov r10d, dword [rbx + 0x18]
test r10d, r10d
je 0x18007b9af
mov esi, dword [rbx + 0x20]
dec r10d
mov edi, 0x71f240e0
lea rcx, [rsi + r10*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r11b, byte [r9]
inc r9
test r11b, r11b
je 0x18007b9aa
movsx ecx, r11b
sub r11b, 0x41
mov edx, ecx
or edx, 0x20
cmp r11b, 0x19
mov r11b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r11b, r11b
jne 0x18007b97b
cmp edi, 0xaf19947c
je 0x18007b9b4
test r10d, r10d
jne 0x18007b95d
mov rax, qword [rax]
jmp 0x18007b939
mov ecx, dword [rbx + 0x24]
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
mov rdx, r15
add rax, r8
xor ecx, ecx
xor r8d, r8d
call rax
mov rcx, 0xffffffffffffffff
lea r12, [rax + 1]
mov eax, 2
mul r12
cmovo rax, rcx
mov rcx, rax
call fcn.1800477fc
mov rcx, qword gs:[0x60]
mov rbp, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r9, qword [rcx + 0x30]
movsxd rdx, dword [r9 + 0x3c]
mov r10d, dword [rdx + r9 + 0x88]
add r10, r9
cmp r10, r9
je 0x18007ba7a
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x18007ba7a
mov r14d, dword [r10 + 0x20]
dec r11d
mov edi, 0x4a95e10b
lea rax, [r14 + r11*4]
mov r8d, dword [rax + r9]
add r8, r9
mov bl, byte [r8]
inc r8
test bl, bl
je 0x18007ba75
movsx eax, bl
sub bl, 0x41
mov edx, eax
or edx, 0x20
cmp bl, 0x19
mov bl, byte [r8]
cmova edx, eax
inc r8
xor edx, edi
imul edi, edx, 0x1000193
test bl, bl
jne 0x18007ba4a
cmp edi, 0x4269745b
je 0x18007ba7f
test r11d, r11d
jne 0x18007ba2d
mov rcx, qword [rcx]
jmp 0x18007ba08
mov ecx, dword [r10 + 0x24]
mov r8, r12
add rcx, r9
movzx edx, word [rcx + r11*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
mov rdx, r15
add rax, r9
mov rcx, rbp
call rax
mov rbx, qword [rsp + 0x40]
mov rax, rbp
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
Function at 0x18009ccec
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
push rdi
sub rsp, 0x40
lea rax, [rcx - 0x10000]
mov rsi, rcx
movabs rcx, 0x7ffffffeffff
mov rbx, rdx
cmp rax, rcx
ja 0x18009ce07
movabs rax, 0x71a39280a8f54b1d
xor r9d, r9d
mov qword [r11 - 0x28], rax
movabs rax, 0xde67045f17e872c5
mov qword [r11 - 0x20], rax
movabs rax, 0x6d1fdc6d191245f
movdqa xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x30], rax
movabs rax, 0xde67045f178c00a4
mov qword [rsp + 0x38], rax
xorps xmm0, xmmword [rsp + 0x30]
movq rax, xmm0
movdqa xmmword [rsp + 0x20], xmm0
test al, al
je 0x18009cd7e
inc r9
cmp byte [rsp + r9 + 0x20], 0
jne 0x18009cd73
xor r10d, r10d
movabs rdi, 0xcbf29ce484222325
test r9, r9
je 0x18009cdc4
movzx edx, byte [rsp + r10 + 0x20]
lea eax, [rdx + 0x20]
movzx ecx, al
lea r8d, [rdx - 0x41]
cmp r8b, 0x19
cmova ecx, edx
inc r10
movsx rax, cl
movabs rcx, 0x100000001b3
imul rdi, rcx
xor rdi, rax
cmp r10, r9
jb 0x18009cd90
mov rax, qword [0x1800c3508]
test rax, rax
jne 0x18009cdeb
call fcn.180047294
mov rcx, rax
lea rdx, str.PlayerEyes
call fcn.18002342c
mov qword [0x1800c3508], rax
xor r8d, r8d
mov rdx, rdi
mov rcx, rax
call fcn.180046730
mov rdx, rsi
mov rcx, rbx
mov r8, qword [rax]
call r8
jmp 0x18009ce18
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
mov rcx, rbx
call fcn.1800a05d4
mov rsi, qword [rsp + 0x58]
mov rax, rbx
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret

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

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
push rdi
sub rsp, 0x40
lea rax, [rcx - 0x10000]
mov rsi, rcx
movabs rcx, 0x7ffffffeffff
mov rbx, rdx
cmp rax, rcx
ja 0x18009cf47
movabs rax, 0x6eb69494a8f54b1d
xor r9d, r9d
mov qword [r11 - 0x28], rax
movabs rax, 0xde67045f178c00d0
mov qword [r11 - 0x20], rax
movabs rax, 0x6d1fdc6d191245f
movdqa xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x30], rax
movabs rax, 0xde67045f178c00a4
mov qword [rsp + 0x38], rax
xorps xmm0, xmmword [rsp + 0x30]
movq rax, xmm0
movdqa xmmword [rsp + 0x20], xmm0
test al, al
je 0x18009cebe
inc r9
cmp byte [rsp + r9 + 0x20], 0
jne 0x18009ceb3
xor r10d, r10d
movabs rdi, 0xcbf29ce484222325
test r9, r9
je 0x18009cf04
movzx edx, byte [rsp + r10 + 0x20]
lea eax, [rdx + 0x20]
movzx ecx, al
lea r8d, [rdx - 0x41]
cmp r8b, 0x19
cmova ecx, edx
inc r10
movsx rax, cl
movabs rcx, 0x100000001b3
imul rdi, rcx
xor rdi, rax
cmp r10, r9
jb 0x18009ced0
mov rax, qword [0x1800c3508]
test rax, rax
jne 0x18009cf2b
call fcn.180047294
mov rcx, rax
lea rdx, str.PlayerEyes
call fcn.18002342c
mov qword [0x1800c3508], rax
xor r8d, r8d
mov rdx, rdi
mov rcx, rax
call fcn.180046730
mov rdx, rsi
mov rcx, rbx
mov r8, qword [rax]
call r8
jmp 0x18009cf58
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
mov rcx, rbx
call fcn.1800a05d4
mov rsi, qword [rsp + 0x58]
mov rax, rbx
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret