joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14003c0c0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
lea rdi, [0x140093f00]
mov qword [rsp + 0x30], rdi
xor ebx, ebx
mov qword [0x140094300], rbx
mov qword [0x140094308], rbx
lea ecx, [rbx + 0x48]
call fcn.140041434
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x140094300], rax
mov qword [0x140094310], rbx
lea rax, [0x140085c08]
mov qword [0x140094318], rax
mov qword [0x140094320], 0xf4241
mov qword [0x140094328], rbx
mov dword [0x140094330], 1
mov dword [0x140094334], 1
lea rax, str._Data
mov qword [0x140094338], rax
mov qword [0x140094340], 1
mov qword [0x140094348], rbx
xorps xmm0, xmm0
movdqa xmmword [0x140094350], xmm0
mov qword [0x140094360], rbx
mov dword [0x140094368], 1
mov qword [0x140094370], rbx
movups xmmword [0x140094378], xmm0
mov qword [0x140094388], 6
mov qword [0x140094390], 0xf
mov eax, dword [str.010001]
mov dword [0x140094378], eax
movzx eax, word [0x1400857f4]
mov word [0x14009437c], ax
mov byte [0x14009437e], bl
movups xmmword [0x140094398], xmm0
mov qword [0x1400943a8], rbx
mov qword [0x1400943b0], 0xf
mov byte [0x140094398], bl
movups xmmword [0x1400943b8], xmm0
mov qword [0x1400943c8], rbx
mov qword [0x1400943d0], 0xf
mov byte [0x1400943b8], bl
mov dword [0x1400943d8], 1
mov r9, rdi
nop dword [rax]
mov eax, ebx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0xedb88320
mov eax, ebx
shr eax, 1
xor ecx, eax
mov eax, ecx
and al, 1
neg al
sbb edx, edx
and edx, 0xedb88320
shr ecx, 1
xor edx, ecx
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0xedb88320
shr edx, 1
xor ecx, edx
mov eax, ecx
and al, 1
neg al
sbb edx, edx
and edx, 0xedb88320
shr ecx, 1
xor edx, ecx
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0xedb88320
shr edx, 1
xor ecx, edx
mov eax, ecx
and al, 1
neg al
sbb edx, edx
and edx, 0xedb88320
shr ecx, 1
xor edx, ecx
mov eax, edx
and al, 1
neg al
sbb r8d, r8d
and r8d, 0xedb88320
shr edx, 1
xor r8d, edx
mov eax, r8d
and al, 1
neg al
sbb ecx, ecx
and ecx, 0xedb88320
shr r8d, 1
xor ecx, r8d
mov dword [r9], ecx
inc ebx
lea r9, [r9 + 4]
cmp ebx, 0x100
jl 0x14003c210
mov rax, rdi
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x140041f6c
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [0x1400713a0]
test rax, rax
je 0x140041fb6
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140041fb6
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140041fb6
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140041fb6
cmp dword [rcx + 0x84], 0xe
jbe 0x140041fb6
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140041fb8
xor al, al
add rsp, 0x28
ret
Function at 0x140053ef8
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov ebx, ecx
test r8d, r8d
jne 0x140053d63
xor ecx, ecx
call qword [0x1400713a0]
test rax, rax
je 0x140053d63
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140053d63
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140053d63
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140053d63
cmp dword [rcx + 0x84], 0xe
jbe 0x140053d63
cmp dword [rcx + 0xf8], 0
je 0x140053d63
mov ecx, ebx
call fcn.140053e14
mov byte [rbp + 0x28], 0
lea rax, [rbp + 0x18]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov eax, 2
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
lea r9, [rbp - 0x2c]
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.140053bf0
nop
cmp dword [rbp + 0x20], 0
je 0x140053db1
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.140053dbc
int3
xor r8d, r8d
xor edx, edx
jmp 0x140053cf4
Function at 0x14006c310
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14006c338
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x14006c338
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x1800097b0
Capabilities:
Hash data using fnv

Disassembly:
mov r8, qword [rdx]
mov r9, rcx
movabs r11, 0x100000001b3
movabs r10, 0xcbf29ce484222325
vxorps xmm2, xmm2, xmm2
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, dword [r8 + 0x1c]
vcmpeqss xmm0, xmm1, xmm2
vblendvps xmm0, xmm1, xmm2, xmm0
vmovss dword [rsp + 8], xmm0
movzx eax, byte [rsp + 9]
movzx edx, byte [rsp + 8]
xor rdx, r10
imul rdx, r11
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, dword [r8 + 0x20]
xor rdx, rax
movzx eax, byte [rsp + 0xa]
imul rdx, r11
vcmpeqss xmm0, xmm1, xmm2
xor rdx, rax
movzx eax, byte [rsp + 0xb]
imul rdx, r11
vblendvps xmm0, xmm1, xmm2, xmm0
xor rdx, rax
vmovss dword [rsp + 8], xmm0
movzx eax, byte [rsp + 9]
movzx ecx, byte [rsp + 8]
xor rcx, r10
imul rcx, r11
imul rdx, r11
xor rcx, rax
movzx eax, byte [rsp + 0xa]
imul rcx, r11
xor rcx, rax
movzx eax, byte [rsp + 0xb]
imul rcx, r11
xor rcx, rax
imul rcx, r11
lea rax, [rcx + rcx]
xor rax, rdx
and rax, qword [r9 + 0x30]
ret

Function at 0x180009940
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
movabs r9, 0x100000001b3
mov rcx, qword [rdx]
movabs r8, 0xcbf29ce484222325
vxorps xmm2, xmm2, xmm2
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, dword [rcx + 0x1c]
vcmpeqss xmm0, xmm1, xmm2
vblendvps xmm0, xmm1, xmm2, xmm0
vmovss dword [rsp + 8], xmm0
movzx eax, byte [rsp + 9]
movzx edx, byte [rsp + 8]
xor rdx, r8
imul rdx, r9
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, dword [rcx + 0x20]
xor rdx, rax
movzx eax, byte [rsp + 0xa]
imul rdx, r9
vcmpeqss xmm0, xmm1, xmm2
xor rdx, rax
movzx eax, byte [rsp + 0xb]
imul rdx, r9
vblendvps xmm0, xmm1, xmm2, xmm0
xor rdx, rax
vmovss dword [rsp + 8], xmm0
movzx eax, byte [rsp + 9]
movzx ecx, byte [rsp + 8]
xor rcx, r8
imul rcx, r9
imul rdx, r9
xor rcx, rax
movzx eax, byte [rsp + 0xa]
imul rcx, r9
xor rcx, rax
movzx eax, byte [rsp + 0xb]
imul rcx, r9
xor rcx, rax
imul rcx, r9
lea rax, [rcx + rcx]
xor rax, rdx
ret
Function at 0x180023870
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push r14
sub rsp, 0x30
mov r14, r8
mov rsi, rdx
mov rbx, rcx
test r8, r8
jg 0x180023892
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbx
ret
cmp qword [rcx + 0x68], 0
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rdi
je 0x18002390c
mov rdi, r14
mov rcx, rbx
call fcn.180025000
test rax, rax
jle 0x1800238e4
cmp rdi, rax
mov rbp, rdi
mov rcx, rsi
cmovge rbp, rax
mov rax, qword [rbx + 0x38]
mov r8, rbp
mov rdx, qword [rax]
call fcn.1801feaf0
mov rax, qword [rbx + 0x50]
sub rdi, rbp
sub dword [rax], ebp
mov rcx, qword [rbx + 0x38]
movsxd rax, ebp
add qword [rcx], rax
jmp 0x1800238fc
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + gethostname]
cmp eax, 0xffffffff
je 0x180023904
mov byte [rsi], al
dec rdi
mov ebp, 1
add rsi, rbp
test rdi, rdi
jg 0x1800238a6
sub r14, rdi
jmp 0x1800239ef
mov rax, qword [rcx + 0x38]
mov rbp, r14
mov rdx, qword [rax]
test rdx, rdx
je 0x180023923
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x180023925
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x180023957
cmp rax, r14
mov rdi, r14
mov rcx, rsi
cmovb rdi, rax
mov r8, rdi
call fcn.1801feaf0
mov rax, qword [rbx + 0x50]
add rsi, rdi
sub rbp, rdi
sub dword [rax], edi
mov rcx, qword [rbx + 0x38]
movsxd rax, edi
add qword [rcx], rax
cmp qword [rbx + 0x80], 0
je 0x1800239ec
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x180023992
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 rbp, 0xfff
jbe 0x1800239cd
nop dword [rax + rax]
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rsi
call fcn.1801d2ed0
add rsi, rax
sub rbp, rax
cmp rax, 0xfff
jne 0x1800239ec
cmp rbp, rax
ja 0x1800239a0
test rbp, rbp
je 0x1800239ec
mov r9, qword [rbx + 0x80]
mov r8, rbp
mov edx, 1
mov rcx, rsi
call fcn.1801d2ed0
sub rbp, rax
sub r14, rbp
mov rbp, qword [rsp + 0x28]
mov rax, r14
mov rdi, qword [rsp + 0x20]
add rsp, 0x30
pop r14
pop rsi
pop rbx
ret
Function at 0x1800442e0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
sub rsp, 0x98
vmovaps xmmword [rax - 0x18], xmm6
vmovaps xmmword [rax - 0x28], xmm7
vmovaps xmmword [rax - 0x38], xmm8
vmovaps xmmword [rax - 0x48], xmm9
mov rax, qword [0x180279b80]
xor rax, rsp
mov qword [rsp + 0x48], rax
cmp byte [0x18023a585], 0
mov eax, dword [0x18023a590]
mov r10, qword [0x180b60468]
vmovsd xmm1, qword [str._QArejjYZPX_]
mov dword [rsp + 0x40], eax
movzx eax, word [0x18023a584]
mov word [rsp + 0x30], ax
vmovsd qword [rsp + 0x38], xmm1
mov r11, qword [r10 + 0x48]
vmovaps xmm9, xmm0
je 0x180044353
xor byte [rsp + 0x31], 0x34
mov byte [rsp + 0x30], 0x66
vmovdqu xmm5, xmmword [0x1802493c0]
vmovdqu xmm6, xmmword [0x180249500]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 1
vpsrld xmm1, xmm4, 0x1f
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmmword [0x180249430]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm0, xmm3, xmmword [0x180249360]
vpaddb xmm2, xmm0, xmmword [0x180249580]
vmovdqu xmm5, xmmword [0x180249400]
vmovd xmm0, dword [str._QArejjYZPX_]
vpxor xmm1, xmm2, xmm0
vmovd dword [rsp + 0x38], xmm1
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 1
vpsrld xmm1, xmm4, 0x1f
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmmword [0x180249430]
vmovd xmm1, dword [rsp + 0x3c]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm0, xmm3, xmmword [0x180249360]
vpaddb xmm2, xmm0, xmmword [0x180249580]
vpxor xmm0, xmm2, xmm1
vmovd dword [rsp + 0x3c], xmm0
mov r8d, 8
lea r9, [rsp + 0x40]
nop
mov eax, 0x29e4129f
lea r9, [r9 + 1]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9 - 1], al
cmp r8d, 0xc
jl 0x180044420
mov rcx, qword [r10 + 0x270]
lea r8, [rsp + 0x30]
vcvtss2sd xmm3, xmm9, xmm9
vmovq r9, xmm3
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x20], 0
call r11
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1801be920
vmovaps xmm6, xmmword [rsp + 0x80]
vmovaps xmm7, xmmword [rsp + 0x70]
vmovaps xmm8, xmmword [rsp + 0x60]
vmovaps xmm9, xmmword [rsp + 0x50]
add rsp, 0x98
ret
Function at 0x180050a90
Capabilities:
Hash data using fnv

Disassembly:
mov rcx, qword [0x180b601b0]
add rcx, 1
mov rdx, qword [0x180b601d8]
vxorps xmm0, xmm0, xmm0
js 0x180050aaf
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x180050ac4
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm0, dword [0x180b601a0]
vxorps xmm1, xmm1, xmm1
vroundss xmm1, xmm1, xmm0, 2
vmovss xmm0, dword [0x180249254]
xor ecx, ecx
vcomiss xmm1, xmm0
jb 0x180050afd
vsubss xmm1, xmm1, xmm0
vcomiss xmm1, xmm0
jae 0x180050afd
movabs rax, 0x8000000000000000
mov rcx, rax
vcvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x180050b2f
cmp rdx, 0x200
jae 0x180050b2c
lea rdx, [rdx*8]
cmp rdx, rcx
jae 0x180050b2f
mov rdx, rcx
jmp 0x180050b60
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov r8d, 1
bsr rcx, rax
shlx rax, r8, rcx
cmp rdx, rax
ja 0x180050d12
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x180b601a8]
or rax, r8
bsr rcx, rax
mov qword [rsp + 0x20], rdi
inc ecx
shlx rdi, r8, rcx
mov r8, rbx
lea rcx, [0x180b601b8]
lea rdx, [rdi + rdi]
call fcn.180009670
mov rax, qword [0x180b601a8]
lea r9, [rdi - 1]
mov qword [0x180b601d0], r9
mov qword [0x180b601d8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180050d03
mov qword [rsp + 0x40], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
nop dword [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
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x180b601b8]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180050c4f
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180050cc4
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x180050c8c
mov r10, qword [rdx]
cmp r10, rax
je 0x180050c86
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 0x180050cc4
cmp r9, rdx
je 0x180050ca0
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x180050cd8
cmp r9, rdx
jne 0x180050c91
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 0x180050cfe
mov r9, qword [0x180b601d0]
jmp 0x180050c00
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 0x180050cc4
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
add rsp, 0x28
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.1801bb6bc
int3
Function at 0x180050b60
Capabilities:
Hash data using fnv

Disassembly:
mov rcx, qword [0x180b601b0]
add rcx, 1
mov rdx, qword [0x180b601d8]
vxorps xmm0, xmm0, xmm0
js 0x180050aaf
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x180050ac4
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm0, dword [0x180b601a0]
vxorps xmm1, xmm1, xmm1
vroundss xmm1, xmm1, xmm0, 2
vmovss xmm0, dword [0x180249254]
xor ecx, ecx
vcomiss xmm1, xmm0
jb 0x180050afd
vsubss xmm1, xmm1, xmm0
vcomiss xmm1, xmm0
jae 0x180050afd
movabs rax, 0x8000000000000000
mov rcx, rax
vcvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x180050b2f
cmp rdx, 0x200
jae 0x180050b2c
lea rdx, [rdx*8]
cmp rdx, rcx
jae 0x180050b2f
mov rdx, rcx
jmp 0x180050b60
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov r8d, 1
bsr rcx, rax
shlx rax, r8, rcx
cmp rdx, rax
ja 0x180050d12
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x180b601a8]
or rax, r8
bsr rcx, rax
mov qword [rsp + 0x20], rdi
inc ecx
shlx rdi, r8, rcx
mov r8, rbx
lea rcx, [0x180b601b8]
lea rdx, [rdi + rdi]
call fcn.180009670
mov rax, qword [0x180b601a8]
lea r9, [rdi - 1]
mov qword [0x180b601d0], r9
mov qword [0x180b601d8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180050d03
mov qword [rsp + 0x40], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
nop dword [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
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x180b601b8]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180050c4f
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180050cc4
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x180050c8c
mov r10, qword [rdx]
cmp r10, rax
je 0x180050c86
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 0x180050cc4
cmp r9, rdx
je 0x180050ca0
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x180050cd8
cmp r9, rdx
jne 0x180050c91
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 0x180050cfe
mov r9, qword [0x180b601d0]
jmp 0x180050c00
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 0x180050cc4
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
add rsp, 0x28
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.1801bb6bc
int3
Function at 0x18008b410
Capabilities:
Access peb ldr_data
Encode data using xor
Get kernel32 base address
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x38
cmp edx, 1
jne 0x18008b4ff
mov rax, qword gs:[0x60]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x30], rdi
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x18008b4b7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x18008b4b7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x18008b4b2
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x18008b490
cmp r8d, 0x8fb39146
je 0x18008b4bc
test r9d, r9d
jne 0x18008b470
mov rax, qword [rax]
jmp 0x18008b440
mov ecx, dword [rbx + 0x24]
lea r8, [0x18008aa30]
add rcx, r10
movzx edx, word [rcx + r9*2]
xor r9d, r9d
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor ecx, ecx
mov qword [rsp + 0x28], rcx
add rax, r10
xor edx, edx
mov dword [rsp + 0x20], ecx
call rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov eax, 1
add rsp, 0x38
ret
Function at 0x18009b1b0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r11d, r8d
mov r10, rdx
not r11d
mov r9, rcx
mov eax, r11d
test rdx, rdx
je 0x18009b20d
lea rbx, [0x18023e6c0]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x18009b1f4
cmp r10, 2
jb 0x18009b1f4
cmp byte [r9], r8b
jne 0x18009b1f4
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
xor rdx, r8
shr eax, 8
xor eax, dword [rbx + rdx*4]
test r10, r10
jne 0x18009b1d0
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x18009b24f
lea rbx, [0x18023e6c0]
cmp r8b, 0x23
jne 0x18009b233
cmp byte [r9], r8b
jne 0x18009b233
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
movzx ecx, r8b
movzx r8d, byte [r9]
xor rdx, rcx
shr eax, 8
inc r9
xor eax, dword [rbx + rdx*4]
test r8b, r8b
jne 0x18009b220
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x18009b390
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push r14
sub rsp, 0x20
mov r14, r8
test r8, r8
je 0x18009b3aa
mov qword [r8], 0
lea rdx, [0x1802455b0]
call fcn.18009b260
mov rbx, rax
test rax, rax
jne 0x18009b3ca
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov qword [rsp + 0x30], rsi
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call fcn.1801d92d8
mov esi, eax
cmp eax, 0xffffffff
je 0x18009b498
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 2]
call fcn.1801d32a0
test eax, eax
jne 0x18009b498
mov rcx, rbx
call fcn.1801d92d8
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x18009b498
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.1801d32a0
test eax, eax
jne 0x18009b498
cmp rdi, 0xffffffffffffffff
je 0x18009b498
mov rax, qword [0x180b5ee10]
test rax, rax
je 0x18009b43a
inc dword [rax + 0xf4]
mov rcx, rdi
call fcn.1801d42bc
mov rsi, rax
test rax, rax
je 0x18009b498
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call fcn.1801d2ed0
mov rcx, rbx
cmp rax, rdi
je 0x18009b486
call fcn.1801d2004
mov rax, qword [0x180b5ee10]
test rax, rax
je 0x18009b47c
dec dword [rax + 0xf4]
mov rcx, rsi
call fcn.1801d2aac
jmp 0x18009b4a0
call fcn.1801d2004
test r14, r14
je 0x18009b493
mov qword [r14], rdi
mov rax, rsi
jmp 0x18009b4a2
mov rcx, rbx
call fcn.1801d2004
xor eax, eax
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x1800a05b0
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x20
movsxd r8, dword [rcx + 0xf0]
lea r11, [0x18023e6c0]
mov rax, qword [rcx + 0xf8]
mov r9, rcx
movsxd r10, edx
mov ebx, dword [rax + r8*4 - 4]
not ebx
movzx eax, r10b
movzx r8d, bl
shr ebx, 8
xor r8, rax
mov eax, r10d
shr eax, 8
movzx edx, al
mov eax, r10d
xor ebx, dword [r11 + r8*4]
movzx ecx, bl
xor rdx, rcx
shr ebx, 8
shr eax, 0x10
xor ebx, dword [r11 + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
xor rdx, rcx
xor ebx, dword [r11 + rdx*4]
movzx ecx, bl
shr ebx, 8
mov edx, r10d
shr rdx, 0x18
xor rdx, rcx
mov rcx, qword [r9]
xor ebx, dword [r11 + rdx*4]
not ebx
cmp dword [rcx + 0x3f18], ebx
jne 0x1800a0646
mov r8, r10
mov edx, 4
mov ecx, ebx
call fcn.1800b40f0
mov eax, ebx
add rsp, 0x20
pop rbx
ret

Function at 0x1800a0650
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 0x18
mov rax, qword [rcx + 0xf8]
lea r9, [0x18023e6c0]
vmovss xmm3, dword [rcx + 0x110]
vmovss xmm4, dword [rcx + 0x114]
movsxd rcx, dword [rcx + 0xf0]
vmovss xmm0, dword [rdx]
vmovss xmm2, dword [rdx + 4]
vsubss xmm1, xmm0, xmm3
mov r8d, dword [rax + rcx*4 - 4]
not r8d
movzx ecx, r8b
shr r8d, 8
vmovss dword [rsp], xmm1
movzx eax, byte [rsp]
xor rcx, rax
movzx eax, byte [rsp + 1]
vmovss xmm1, dword [rdx + 8]
vsubss xmm0, xmm2, xmm4
vmovss dword [rsp + 4], xmm0
xor r8d, dword [r9 + rcx*4]
vmovss xmm0, dword [rdx + 0xc]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 2]
vsubss xmm2, xmm1, xmm3
vmovss dword [rsp + 8], xmm2
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 3]
vsubss xmm1, xmm0, xmm4
vmovss dword [rsp + 0xc], xmm1
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 4]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 5]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 6]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 7]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 8]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 9]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xa]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xb]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xc]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xd]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xe]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
xor r8d, dword [r9 + rcx*4]
movzx ecx, byte [rsp + 0xf]
movzx edx, r8b
shr r8d, 8
xor rdx, rcx
xor r8d, dword [r9 + rdx*4]
not r8d
mov eax, r8d
add rsp, 0x18
ret