joyce8/EMBER2024-capa huggingface dataset:
Function at 0x44be60
Capabilities:
Access peb ldr_data

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rcx, r14
test rcx, rcx
je 0x44bea8
mov rcx, qword [rcx + 0x30]
mov rcx, qword [rcx + 0x90]
nop dword [rax + rax]
test rcx, rcx
je 0x44bea8
mov qword [rsp + 0x68], rcx
nop
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], 0
jmp 0x44beb8
mov eax, 1
add rsp, 0x70
pop rbp
ret
mov rax, qword [rsp + 0x60]
mov rcx, qword [sym.imp.kernel32.dll_RtlLookupFunctionEntry]
lea rdx, [rsp + 0x58]
mov rbx, qword [rax + 0xf8]
mov qword [rsp], rcx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], 0
call fcn.00435940
xorps xmm15, xmm15
mov r14, qword [0x00c7ad88]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
nop
test rax, rax
je 0x44bf91
mov rcx, qword [rsp + 0x58]
mov rdx, qword [sym.imp.kernel32.dll_RtlVirtualUnwind]
mov rbx, qword [rsp + 0x60]
mov rsi, rbx
lea rdi, [rsp + 0x50]
mov r8, qword [rsi + 0xf8]
mov qword [rsp], rdx
mov qword [rsp + 8], 0
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], 0
call fcn.00435bc0
xorps xmm15, xmm15
mov r14, qword [0x00c7ad88]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
cmp qword [rcx], rax
ja 0x44bf91
cmp qword [rcx + 8], rax
ja 0x44beb3
mov eax, 1
add rsp, 0x70
pop rbp
ret
Function at 0x4539e0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x20], rax
test rbx, rbx
jbe 0x453b57
movzx edx, byte [rax]
test edx, edx
jne 0x453a14
nop dword [rax]
test r8b, r8b
jne 0x453a14
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
add rsp, 0x10
pop rbp
ret
bt edx, 7
jae 0x453a27
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x453b17
mov r8d, 1
mov r9d, edx
and edx, 1
neg edx
shr r9d, 1
xor edx, r9d
add dword [rsi], edx
nop dword [rax]
cmp rbx, r8
jb 0x453b05
sub rbx, r8
sub rcx, r8
mov rdx, rcx
neg rdx
sar rdx, 0x3f
and r8, rdx
lea rdx, [rax + r8]
test rbx, rbx
jbe 0x453af7
movzx esi, byte [rax + r8]
bt esi, 7
jae 0x453a7d
xor eax, eax
xor esi, esi
xor r8d, r8d
jmp 0x453ac0
mov eax, 1
cmp rax, rbx
ja 0x453aab
add qword [rdi], rsi
sub rcx, rax
sub rbx, rax
mov rsi, rcx
neg rsi
sar rsi, 0x3f
and rax, rsi
add rax, rdx
mov edi, 1
add rsp, 0x10
pop rbp
ret
mov rcx, rbx
call fcn.00467700
lea r8d, [rcx + 7]
mov rcx, r11
mov eax, r12d
nop dword [rax]
cmp rax, rbx
jae 0x453aef
movzx r9d, byte [rax + rdx]
mov r10d, r9d
and r9d, 0x7f
mov r11, rcx
mov ecx, r8d
shl r9d, cl
lea r12d, [rax + 1]
or esi, r9d
test r10b, 0x80
jne 0x453ab3
mov rcx, r11
mov eax, r12d
jmp 0x453a82
mov rcx, rbx
call fcn.00467640
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00467640
mov eax, r8d
mov rcx, rbx
call fcn.00467700
lea r9d, [rcx + 7]
mov rcx, r12
cmp rbx, rdx
jbe 0x453b4d
movzx r10d, byte [rdx + rax]
mov r11d, r10d
and r10d, 0x7f
mov r12, rcx
mov ecx, r9d
shl r10d, cl
inc edx
or r8d, r10d
test r11b, 0x80
jne 0x453b10
mov rcx, r12
mov r9d, edx
mov edx, r8d
mov r8d, r9d
jmp 0x453a2d
mov eax, edx
mov rcx, rbx
call fcn.00467640
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00467640
nop
int3

Function at 0x459720
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4597d5
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rdi
test byte [rax], al
lea rdx, [rax + 0x10]
mov rsi, qword [rsp + 0x68]
mov rcx, rdi
mov rax, rdx
mov rbx, rsi
call fcn.004573a0
nop
test bl, bl
je 0x4597cf
mov qword [rsp + 0x18], rax
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
lea rcx, [0x00459820]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x20]
mov qword [rsp], rcx
call fcn.00465240
xorps xmm15, xmm15
mov r14, qword [0x00c7ad88]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x18]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00465360
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.00459720
Function at 0x45c740
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x45c7ef
push rbp
mov rbp, rsp
sub rsp, 0x58
mov qword [rsp + 0x70], rbx
lea rdx, [rsp + 0x68]
mov qword [rsp + 8], 0
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x18], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
movups xmmword [rsp + 0x48], xmm15
lea rsi, [0x0045c840]
mov qword [rsp + 0x10], rsi
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdx
mov rdx, r14
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 8]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call fcn.00465240
xorps xmm15, xmm15
mov r14, qword [0x00c7ad88]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 8]
add rsp, 0x58
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00465360
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop dword [rax]
jmp fcn.0045c740
Function at 0x467160
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x404423
push rbp
mov rbp, rsp
sub rsp, 0x18
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
call fcn.0040a1e0
add rsp, 0x18
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00465360
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x404400
cmp byte [0x00c7a50b], 0
je 0x467175
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x4643a0
jmp 0x404400

Function at 0x467180
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
nop
mov eax, dword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x00c7ae80]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d124b
mul rcx
xor rax, rdx
nop
nop
ret
cmp byte [0x00c7a50b], 0
je 0x4671b5
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x00c7b260]
aesenc xmm0, xmmword [0x00c7b270]
aesenc xmm0, xmmword [0x00c7b280]
movq rax, xmm0
ret
jmp 0x40a400

Function at 0x4671c0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
nop
mov rax, qword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x00c7ae80]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d1247
mul rcx
xor rax, rdx
nop
nop
ret
cmp byte [0x00c7a50b], 0
je 0x4671f6
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x00c7b260]
aesenc xmm0, xmmword [0x00c7b270]
aesenc xmm0, xmmword [0x00c7b280]
movq rax, xmm0
ret
jmp 0x40a460

Function at 0x468fa0
Capabilities:
Allocate thread local storage

Disassembly:
push rbp
mov rbp, rsp
mov rax, rsp
and rsp, 0xfffffffffffffff0
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rax, qword [sym.imp.kernel32.dll_TlsAlloc]
call rax
mov rsp, qword [rsp + 0x20]
mov rcx, rax
cmp rcx, 0x40
jb 0x468fd4
mov rcx, 0x28
jmp 0x468fdf
shl rcx, 3
add rcx, 0x1480
mov qword [0x00c7ad88], rcx
pop rbp
ret
Function at 0x473060
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x47312a
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0
call fcn.00403900
xorps xmm15, xmm15
mov r14, qword [0x00c7ad88]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
jne 0x47310f
mov rcx, qword [rsp + 0x60]
lea rdx, [rcx + 1]
mov qword [rsp + 0x40], rdx
lea rax, [0x0052a440]
xor ebx, ebx
mov rcx, rdx
call fcn.0044ca20
mov rbx, qword [rsp + 0x60]
mov rcx, rax
xor edi, edi
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
nop dword [rax]
call fcn.00473640
inc rbx
cmp rcx, rbx
jae 0x4730fe
mov edi, 1
lea rsi, [0x0052a440]
call fcn.0044cb00
mov word [rax + rbx*2 - 2], 0
xor edi, edi
xor esi, esi
add rsp, 0x48
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x005b01b8]
lea rsi, [0x005af908]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00465360
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00473060
Function at 0x49fdc0
Capabilities:
Hash data using fnv

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4a04ff
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x20], rax
movabs rcx, 0xcbf29ce484222325
jmp 0x49fded
lea rax, [rdx + 0x10]
dec rbx
mov rcx, rsi
test rbx, rbx
jle 0x4a0071
mov rdx, rax
mov rsi, qword [rax]
nop dword [rax]
test rsi, rsi
je 0x4a009d
mov edi, dword [rsi + 0x10]
shr edi, 1
mov r8, qword [rax + 8]
and edi, 0x3f
lea rax, [0x005b5640]
jmp qword [rax + rdi*8]
mov rax, rcx
add rsp, 0x10
pop rbp
ret
lea rax, [0x0052a340]
lea rbx, [0x005b00d0]
call fcn.00437420
inc rax
cmp rax, r8
jge 0x4a00c2
mov r9, qword [rsi + rax*8]
xor r10d, r10d
nop
jmp 0x4a00f7
lea rdi, [0x0052a3c0]
mov rsi, rcx
movabs rcx, 0x100000001b3
jmp 0x49fde3
movzx r11d, r9b
xor rcx, r11
inc r10
shr r9, 8
movabs r11, 0x100000001b3
imul rcx, r11
cmp r10, 8
jl 0x4a00db
jmp 0x4a00b0
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.00465360
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.0049fdc0

Function at 0x4a06a0
Capabilities:
Hash data using fnv

Disassembly:
test byte [rax], al
mov rcx, rbx
and ebx, 0x7f
shl rbx, 5
lea rdx, [rax + rbx]
xor eax, eax
jmp 0x4a06b7
inc rax
cmp rax, 4
jge 0x4a06cf
lea rbx, [rdx + rax*8]
mov rbx, qword [rbx]
cmp rbx, rcx
jne 0x4a06b4
mov eax, 1
ret
xor eax, eax
movabs rbx, 0xcbf29ce484222325
jmp 0x4a06e0
inc rax
cmp rax, 4
jge 0x4a06ee
mov rsi, qword [rdx + rax*8]
xor edi, edi
jmp 0x4a0717
and ebx, 3
lea rdx, [rdx + rbx*8]
xchg qword [rdx], rcx
xor eax, eax
ret
movzx r8d, sil
xor rbx, r8
inc rdi
shr rsi, 8
movabs r8, 0x100000001b3
imul rbx, r8
cmp rdi, 8
jl 0x4a06fb
jmp 0x4a06dd
Function at 0x4b0880
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
movd xmm0, dword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movdqu xmm1, xmmword [rsi]
movdqu xmm2, xmmword [rsi + 0x10]
movdqu xmm3, xmmword [rsi + 0x20]
movdqu xmm4, xmmword [rsi + 0x30]
pxor xmm1, xmm0
add rsi, 0x40
sub rcx, 0x40
cmp rcx, 0x40
jb 0x4b0955
movdqa xmm0, xmmword [0x005afa90]
movdqa xmm5, xmm1
movdqa xmm6, xmm2
movdqa xmm7, xmm3
movdqa xmm8, xmm4
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm2, xmm0, 0
pclmulqdq xmm3, xmm0, 0
pclmulqdq xmm4, xmm0, 0
movdqu xmm11, xmmword [rsi]
movdqu xmm12, xmmword [rsi + 0x10]
movdqu xmm13, xmmword [rsi + 0x20]
movdqu xmm14, xmmword [rsi + 0x30]
pclmulqdq xmm5, xmm0, 0x11
pclmulqdq xmm6, xmm0, 0x11
pclmulqdq xmm7, xmm0, 0x11
pclmulqdq xmm8, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
pxor xmm4, xmm8
pxor xmm1, xmm11
pxor xmm2, xmm12
pxor xmm3, xmm13
pxor xmm4, xmm14
add rdi, 0x40
add rsi, 0x40
sub rcx, 0x40
cmp rcx, 0x40
jge 0x4b08c1
movdqa xmm0, xmmword [0x005afaa0]
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm2
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm3
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm4
cmp rcx, 0x10
jb 0x4b09d7
movdqu xmm10, xmmword [rsi]
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm10
sub rcx, 0x10
add rsi, 0x10
cmp rcx, 0x10
jge 0x4b09ab
pcmpeqb xmm3, xmm3
pclmulqdq xmm0, xmm1, 1
psrldq xmm1, 8
pxor xmm1, xmm0
movdqa xmm2, xmm1
movq xmm0, qword [0x005af8f0]
psrlq xmm3, 0x20
psrldq xmm2, 4
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0
pxor xmm1, xmm2
movdqa xmm0, xmmword [0x005afab0]
movdqa xmm2, xmm1
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0x10
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0
pxor xmm1, xmm2
pextrd eax, xmm1, 1
mov dword [rsp + 0x28], eax
ret
Function at 0x180004fb0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x18016f040]
xor rax, rsp
mov qword [rbp - 8], rax
mov rbx, rcx
mov qword [rbp - 0x20], rcx
xor edi, edi
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rdi
mov qword [rcx + 0x18], 7
mov word [rcx], di
mov qword [rbp - 0x18], rdi
lea r9, [rbp - 0x18]
xor r8d, r8d
xor edx, edx
lea rcx, [0x18013c968]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
js 0x18000509a
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x50], rcx
mov rax, 0xffffffffffffffff
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x180005020
mov qword [rbp - 0x48], rax
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x40]
call fcn.1800176d0
lea rdx, [rbp - 0x40]
mov rcx, rbx
call fcn.180009d60
mov rdx, qword [rbp - 0x28]
cmp rdx, 7
jbe 0x180005090
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000508b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005190
call fcn.1800e9980
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea rax, str.JordTap
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 7
call fcn.1800ead88
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
lea r8, [rbp - 0x50]
mov edx, eax
lea rcx, [rbp - 0x40]
call fcn.180003580
nop
lea rdx, [rbp - 0x40]
mov rcx, rbx
call fcn.180003810
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 7
jbe 0x180005118
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005113
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005196
call fcn.1800e9980
mov qword [rbp - 0x18], rdi
lea rax, [0x18016fd20]
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x18]
mov rcx, rbx
call fcn.180004d40
cmp dword [rbp - 0x18], 0
jne 0x180005183
lea rax, str.default
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 7
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.1800051a0
nop
mov rax, rbx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1800e9960
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
mov r8, rbx
lea rdx, [rbp - 0x18]
call fcn.180004860
int3
call fcn.1800fa800
int3
call fcn.1800fa800
int3
Function at 0x180008970
Capabilities:
Read file on windows

Disassembly:
push rbx
push r14
push r15
sub rsp, 0x30
mov r15, r8
mov r14, rdx
mov rbx, rcx
test r8, r8
jg 0x180008994
xor eax, eax
add rsp, 0x30
pop r15
pop r14
pop rbx
ret
cmp qword [rcx + 0x68], 0
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rdi
je 0x180008a22
mov rdi, r15
mov qword [rsp + 0x68], rbp
lea rsi, [rcx + 0x50]
mov rax, qword [rbx + 0x38]
mov rdx, qword [rax]
test rdx, rdx
je 0x1800089f0
mov rax, qword [rsi]
movsxd rcx, dword [rax]
test ecx, ecx
jle 0x1800089f0
cmp rdi, rcx
mov rbp, rdi
cmovge rbp, rcx
mov rcx, r14
mov r8, rbp
call fcn.18011c600
mov rax, qword [rsi]
sub rdi, rbp
sub dword [rax], ebp
mov rcx, qword [rbx + 0x38]
movsxd rax, ebp
add qword [rcx], rax
jmp 0x180008a0d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
cmp eax, 0xffffffff
je 0x180008a15
mov byte [r14], al
lea rsi, [rbx + 0x50]
dec rdi
mov ebp, 1
add r14, rbp
test rdi, rdi
jg 0x1800089b1
mov rbp, qword [rsp + 0x68]
sub r15, rdi
jmp 0x180008b00
mov rax, qword [rcx + 0x38]
mov rsi, r15
mov rdx, qword [rax]
test rdx, rdx
je 0x180008a39
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x180008a3b
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x180008a6d
cmp rax, r15
mov rdi, r15
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call fcn.18011c600
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 0x180008afd
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x180008aa8
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 0x180008ade
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call fcn.1800f9ff0
add r14, rax
sub rsi, rax
cmp rax, 0xfff
jne 0x180008afd
cmp rsi, rax
ja 0x180008ab1
test rsi, rsi
je 0x180008afd
mov r9, qword [rbx + 0x80]
mov r8, rsi
mov edx, 1
mov rcx, r14
call fcn.1800f9ff0
sub rsi, rax
sub r15, rsi
mov rsi, qword [rsp + 0x28]
mov rax, r15
mov rdi, qword [rsp + 0x20]
add rsp, 0x30
pop r15
pop r14
pop rbx
ret
Function at 0x18002af00
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 r12
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x18016f040]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rax, qword gs:[0x30]
test rax, rax
je 0x18002b101
mov r14, qword [rax + 0x60]
test r14, r14
je 0x18002b0d8
mov r14, qword [r14 + 0x18]
add r14, 0x20
mov rdi, qword [r14]
cmp rdi, r14
je 0x18002b0a6
xor r15d, r15d
movabs rbp, 0x100000001b3
movabs r12, 0xcbf29ce484222325
nop dword [rax]
lea rsi, [rdi - 0x10]
test rsi, rsi
je 0x18002b09a
movzx r9d, word [rsi + 0x58]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r8, qword [rsi + 0x60]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rbx, eax
mov rdx, rbx
xor r8d, r8d
lea rcx, [rsp + 0x60]
call fcn.180009e90
nop
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rcx, qword [rsp + 0x60]
movzx r9d, word [rsi + 0x58]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rcx
mov r8, qword [rsi + 0x60]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rbx, qword [rsi + 0x30]
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rdx, qword [rsp + 0x60]
mov rax, r12
movzx ecx, byte [rdx]
test cl, cl
je 0x18002b046
nop dword [rax]
nop dword [rax + rax]
movsx rcx, cl
lea rdx, [rdx + 1]
xor rax, rcx
imul rax, rbp
movzx ecx, byte [rdx]
test cl, cl
jne 0x18002b030
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
call fcn.18002b690
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x18002b09a
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002b095
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002b0fb
call fcn.1800e9980
mov rdi, qword [rdi]
cmp rdi, r14
jne 0x18002af80
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1800e9960
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret
lea rdx, str.failed_to_get_peb_pointer
lea rcx, [rsp + 0x48]
call fcn.1800017b0
lea rdx, [0x18016c6d0]
lea rcx, [rsp + 0x48]
call fcn.1800edfa0
int3
call fcn.1800fa800
int3
lea rdx, str.failed_to_get_teb_pointer
lea rcx, [rsp + 0x48]
call fcn.1800017b0
lea rdx, [0x18016c6d0]
lea rcx, [rsp + 0x48]
call fcn.1800edfa0
int3
Function at 0x18002b130
Capabilities:
Hash data using fnv

Disassembly:
mov r9, rcx
movzx r8d, dl
movabs r10, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor r8, rax
mov rax, rdx
imul r8, r10
shr rax, 8
movzx ecx, al
mov rax, rdx
xor r8, rcx
shr rax, 0x10
imul r8, r10
movzx ecx, al
mov rax, rdx
xor r8, rcx
shr rax, 0x18
imul r8, r10
movzx ecx, al
mov rax, rdx
xor r8, rcx
shr rax, 0x20
imul r8, r10
movzx ecx, al
mov rax, rdx
xor r8, rcx
shr rax, 0x28
imul r8, r10
movzx ecx, al
mov rax, rdx
xor r8, rcx
shr rax, 0x30
imul r8, r10
movzx ecx, al
mov rax, rdx
xor r8, rcx
shr rax, 0x38
mov rcx, qword [0x18021d010]
imul r8, r10
xor r8, rax
imul r8, r10
and rcx, r8
mov r8, qword [0x18021cfe8]
shl rcx, 4
add rcx, qword [0x18021cff8]
mov rax, qword [rcx + 8]
cmp rax, r8
je 0x18002b205
mov rcx, qword [rcx]
cmp rdx, qword [rax + 0x10]
je 0x18002b207
cmp rax, rcx
je 0x18002b205
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x18002b1f4
jmp 0x18002b207
xor eax, eax
test rax, rax
je 0x18002b221
cmp rax, r8
je 0x18002b221
mov rcx, qword [rax + 0x18]
mov rax, r9
mov qword [r9], rcx
mov byte [r9 + 8], 1
ret
mov byte [r9 + 8], 0
mov rax, r9
ret
Function at 0x18002b990
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
ja 0x18002bb6d
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x18021cfe8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x18021cff8]
lea rdx, [rdi + rdi]
call fcn.18002b550
mov rax, qword [0x18021cfe8]
lea r9, [rdi - 1]
mov qword [0x18021d010], r9
mov qword [0x18021d018], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x18002bb62
mov qword [rsp + 0x40], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
nop word [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r11d, byte [rax + 0x10]
mov rcx, qword [rcx]
xor r11, rsi
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x12]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x13]
imul r11, rdi
xor r11, rdx
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 [0x18021cff8]
mov r9, qword [r11]
cmp r9, rbx
jne 0x18002baab
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x18002bb23
mov rdx, qword [r11 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rdx + 0x10]
jne 0x18002bae8
mov r10, qword [rdx]
cmp r10, rax
je 0x18002bae2
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 0x18002bb23
cmp r9, rdx
je 0x18002baff
nop dword [rax]
mov rdx, qword [rdx + 8]
cmp r8, qword [rdx + 0x10]
je 0x18002bb37
cmp r9, rdx
jne 0x18002baf0
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 0x18002bb5d
mov r9, qword [0x18021d010]
jmp 0x18002ba30
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 0x18002bb23
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.1800eb968
int3