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

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x40
mov rbp, r8
mov r14, rdx
mov rsi, rcx
cmp rdx, r8
je 0x180019d69
mov rdx, qword [rcx + 0x18]
movabs r8, 0x100000001b3
mov rax, qword [r14 + 8]
mov qword [rsp + 0x70], rax
movabs rax, 0xcbf29ce484222325
mov qword [rsp + 0x60], rbx
mov rbx, r14
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], r12
mov r12, qword [rcx + 8]
movzx ecx, byte [r14 + 0x10]
xor rcx, rax
mov qword [rsp + 0x28], r13
movzx eax, byte [r14 + 0x11]
mov r13, qword [rsi + 0x30]
imul rcx, r8
mov qword [rsp + 0x20], r15
xor rcx, rax
mov qword [rsp + 0x78], rdx
movzx eax, byte [r14 + 0x12]
imul rcx, r8
xor rcx, rax
movzx eax, byte [r14 + 0x13]
imul rcx, r8
xor rcx, rax
movzx eax, byte [r14 + 0x14]
imul rcx, r8
xor rcx, rax
movzx eax, byte [r14 + 0x15]
imul rcx, r8
xor rcx, rax
movzx eax, byte [r14 + 0x16]
imul rcx, r8
xor rcx, rax
movzx eax, byte [r14 + 0x17]
imul rcx, r8
xor rcx, rax
imul rcx, r8
and r13, rcx
shl r13, 4
add r13, rdx
mov rax, qword [r13]
mov r15, qword [r13 + 8]
mov qword [rsp + 0x68], rax
nop dword [rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, 0x38
call main
dec qword [rsi + 0x10]
cmp rdi, r15
je 0x180019c75
cmp rbx, rbp
jne 0x180019c40
cmp qword [rsp + 0x68], r14
jne 0x180019d44
mov qword [r13], rbx
jmp 0x180019d44
cmp qword [rsp + 0x68], r14
jne 0x180019c85
mov qword [r13], r12
mov rax, r12
jmp 0x180019c8a
mov rax, qword [rsp + 0x70]
mov qword [r13 + 8], rax
cmp rbx, rbp
je 0x180019d44
mov r13, qword [rsp + 0x78]
nop dword [rax]
movzx r15d, byte [rbx + 0x10]
movabs rdx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor r15, rax
movzx eax, byte [rbx + 0x11]
imul r15, rdx
xor r15, rax
movzx eax, byte [rbx + 0x12]
imul r15, rdx
xor r15, rax
movzx eax, byte [rbx + 0x13]
imul r15, rdx
xor r15, rax
movzx eax, byte [rbx + 0x14]
imul r15, rdx
xor r15, rax
movzx eax, byte [rbx + 0x15]
imul r15, rdx
xor r15, rax
movzx eax, byte [rbx + 0x16]
imul r15, rdx
xor r15, rax
movzx eax, byte [rbx + 0x17]
imul r15, rdx
xor r15, rax
imul r15, rdx
and r15, qword [rsi + 0x30]
shl r15, 4
add r15, r13
mov r14, qword [r15 + 8]
nop dword [rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, 0x38
call main
dec qword [rsi + 0x10]
cmp rdi, r14
je 0x180019d75
cmp rbx, rbp
jne 0x180019d20
mov qword [r15], rbx
mov rax, qword [rsp + 0x70]
mov r15, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov qword [rax], rbx
mov qword [rbx + 8], rax
mov rbx, qword [rsp + 0x60]
mov rax, rbp
add rsp, 0x40
pop r14
pop rsi
pop rbp
ret
mov qword [r15], r12
mov qword [r15 + 8], r12
cmp rbx, rbp
jne 0x180019ca0
jmp 0x180019d44
Function at 0x18002ac80
Capabilities:
Encode data using xor

Disassembly:
movzx eax, byte [rcx]
mov edx, 0x84222325
test al, al
je 0x18002aca6
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1b3
movzx eax, byte [rcx]
test al, al
jne 0x18002ac90
mov eax, edx
ret

Function at 0x18002b4e0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
mov rax, qword gs:[0x60]
mov rbx, rcx
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rdx, qword [rax + 0x60]
mov r10d, 0xe6847f90
movzx r8d, word [rax + 0x58]
shr r8, 1
lea r11, [rdx + r8*2]
cmp rdx, r11
je 0x18002b553
nop dword [rax + rax]
movsx ecx, byte [rdx]
mov r8d, ecx
sub cl, 0x41
mov r9d, r8d
or r9d, 0x20
cmp cl, 0x19
cmova r9d, r8d
add rdx, 2
xor r9d, r10d
imul r10d, r9d, 0x1000193
cmp rdx, r11
jne 0x18002b520
cmp r10d, 0xca2ea508
je 0x18002b558
mov rax, qword [rax]
jmp 0x18002b500
mov rdx, qword [rax + 0x30]
mov rcx, qword [0x1800c2958]
add rdx, 0x34f91d0
cmp rdx, rcx
jbe 0x18002b57b
add rcx, qword [0x1800c2960]
cmp rdx, rcx
jb 0x18002b591
lea rax, [rdx - 0x10000]
movabs rcx, 0x7ffffffdfffe
cmp rax, rcx
ja 0x18002b598
mov rcx, rbx
pop rbx
jmp rdx
xor eax, eax
pop rbx
ret
Function at 0x18002d2d0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x18002d4af
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x40], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.18002d190
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x18002d474
mov qword [rsp + 0x38], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r9d, byte [rax + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rcx, qword [rcx]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x12]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x13]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x14]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x15]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x16]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x17]
imul r9, rdi
xor r9, rdx
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x18002d3ec
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x18002d463
mov rdx, qword [r11 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rdx + 0x10]
jne 0x18002d429
mov r10, qword [rdx]
cmp r10, rax
je 0x18002d423
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 0x18002d463
cmp r9, rdx
je 0x18002d43f
nop
mov rdx, qword [rdx + 8]
cmp r8, qword [rdx + 0x10]
je 0x18002d489
cmp r9, rdx
jne 0x18002d430
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
jne 0x18002d370
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x18002d463
lea rcx, str.invalid_hash_bucket_count
call fcn.180009b50
int3
Function at 0x1800304a0
Capabilities:
Hash data using fnv

Disassembly:
cmp rdx, r8
je 0x1800306e5
push rsi
push r13
push r15
sub rsp, 0x40
mov qword [rsp + 0x60], rbx
mov r15, rdx
mov qword [rsp + 0x38], r12
mov r13, r8
mov qword [rsp + 0x30], r14
mov rsi, rcx
mov qword [rsp + 0x68], rbp
movabs rdx, 0x492492492492492
mov qword [rsp + 0x70], rdi
movzx r12d, byte [r15]
movabs rcx, 0x100000001b3
mov r14, qword [rsi + 8]
movabs rax, 0xcbf29ce484222325
xor r12, rax
movzx eax, byte [r15 + 1]
imul r12, rcx
xor r12, rax
movzx eax, byte [r15 + 2]
imul r12, rcx
xor r12, rax
movzx eax, byte [r15 + 3]
imul r12, rcx
xor r12, rax
mov rax, qword [rsi + 0x18]
imul r12, rcx
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, r14
jne 0x180030545
mov rbx, r14
mov rbp, r14
jmp 0x18003056e
mov rcx, qword [rax + rcx*8]
mov eax, dword [r15]
cmp eax, dword [rbx + 0x10]
je 0x1800306b6
cmp rbx, rcx
je 0x180030568
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x180030555
jmp 0x1800306b6
mov r14, rbx
mov rbp, rbx
cmp qword [rsi + 0x10], rdx
je 0x1800306e6
mov ecx, 0x38
call fcn.18009fac0
mov ecx, dword [r15]
lea rdx, [r15 + 8]
mov rdi, rax
mov dword [rax + 0x10], ecx
lea rcx, [rax + 0x18]
call fcn.180025150
mov rcx, qword [rsi + 0x10]
xorps xmm0, xmm0
add rcx, 1
js 0x1800305ac
cvtsi2ss xmm0, rcx
jmp 0x1800305c1
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rsi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1800305d4
cvtsi2ss xmm1, rcx
jmp 0x1800305e9
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rsi]
jbe 0x180030651
mov rcx, rsi
call fcn.180045820
mov rcx, qword [rsi + 0x30]
mov rdx, qword [rsi + 0x18]
and rcx, r12
mov rbx, qword [rsi + 8]
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, rbx
jne 0x180030621
mov qword [rsp + 0x28], 0
jmp 0x180030644
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x180030641
nop dword [rax]
mov rbx, rax
cmp rax, rdx
je 0x180030685
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x180030630
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov r14, qword [rsp + 0x20]
mov rbp, rbx
mov rdx, qword [rbx + 8]
inc qword [rsi + 0x10]
mov qword [rdi], r14
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rax, qword [rsi + 0x30]
mov rcx, qword [rsi + 0x18]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rsi + 8]
jne 0x180030695
mov qword [rcx + rax*8], rdi
jmp 0x1800306a7
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
jmp 0x180030649
cmp r8, rbp
jne 0x1800306a0
mov qword [rcx + rax*8], rdi
jmp 0x1800306ac
cmp qword [rcx + rax*8 + 8], rdx
jne 0x1800306ac
mov qword [rcx + rax*8 + 8], rdi
movabs rdx, 0x492492492492492
add r15, 0x28
cmp r15, r13
jne 0x1800304de
mov rdi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x30]
add rsp, 0x40
pop r15
pop r13
pop rsi
ret
lea rcx, str.unordered_map_set_too_long
call fcn.180009b50
int3
Function at 0x180030700
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movzx r12d, byte [r8]
mov rsi, rcx
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor r12, rax
mov r13, r8
movzx eax, byte [r8 + 1]
mov r14, rdx
mov r15, qword [rsi + 8]
imul r12, rcx
xor r12, rax
movzx eax, byte [r8 + 2]
imul r12, rcx
xor r12, rax
movzx eax, byte [r8 + 3]
imul r12, rcx
xor r12, rax
mov rax, qword [rsi + 0x18]
imul r12, rcx
mov rcx, r12
and rcx, qword [rsi + 0x30]
add rcx, rcx
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, r15
jne 0x180030787
mov rbx, r15
mov rbp, r15
jmp 0x1800307c9
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x1800307a1
cmp rbx, rcx
je 0x1800307c3
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x180030793
mov qword [rdx], rbx
mov byte [rdx + 8], 0
mov rbx, qword [rsp + 0x68]
mov rax, r14
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rsi
ret
mov r15, rbx
mov rbp, rbx
movabs rax, 0x492492492492492
cmp qword [rsi + 0x10], rax
je 0x180030935
mov ecx, 0x38
mov qword [rsp + 0x60], rdi
call fcn.18009fac0
mov ecx, dword [r13]
xorps xmm0, xmm0
xor r13d, r13d
mov rdi, rax
mov dword [rax + 0x10], ecx
movups xmmword [rax + 0x18], xmm0
mov qword [rax + 0x28], r13
mov qword [rax + 0x30], 0xf
xorps xmm0, xmm0
mov byte [rax + 0x18], r13b
mov rcx, qword [rsi + 0x10]
add rcx, 1
js 0x180030824
cvtsi2ss xmm0, rcx
jmp 0x180030839
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rsi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x18003084c
cvtsi2ss xmm1, rcx
jmp 0x180030861
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rsi]
jbe 0x1800308c1
mov rcx, rsi
call fcn.180045820
mov rcx, qword [rsi + 0x30]
mov rdx, qword [rsi + 0x18]
and rcx, r12
mov rbx, qword [rsi + 8]
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, rbx
je 0x1800308b4
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x1800308b1
nop word [rax + rax]
mov rbx, rax
cmp rax, rdx
je 0x1800308f5
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x1800308a0
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov r15, qword [rsp + 0x20]
mov rbp, rbx
mov rdx, qword [rbx + 8]
inc qword [rsi + 0x10]
mov qword [rdi], r15
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rax, qword [rsi + 0x30]
mov rcx, qword [rsi + 0x18]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rsi + 8]
jne 0x1800308fc
mov qword [rcx + rax*8], rdi
jmp 0x18003091e
mov qword [rsp + 0x20], rax
jmp 0x1800308b9
cmp r8, rbp
jne 0x180030917
mov qword [rcx + rax*8], rdi
mov qword [r14], rdi
mov rdi, qword [rsp + 0x60]
mov byte [r14 + 8], 1
jmp 0x1800307a8
cmp qword [rcx + rax*8 + 8], rdx
jne 0x180030923
mov qword [rcx + rax*8 + 8], rdi
mov qword [r14], rdi
mov rdi, qword [rsp + 0x60]
mov byte [r14 + 8], 1
jmp 0x1800307a8
lea rcx, str.unordered_map_set_too_long
call fcn.180009b50
int3
Function at 0x180045650
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x180045801
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x40], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.18002d190
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1800457c6
mov qword [rsp + 0x38], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r9d, byte [rax + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rcx, qword [rcx]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x12]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x13]
imul r9, rdi
xor r9, rdx
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180045740
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1800457b5
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x18004577d
mov r10, qword [rdx]
cmp r10, rax
je 0x180045777
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 0x1800457b5
cmp r9, rdx
je 0x180045791
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x1800457db
cmp r9, rdx
jne 0x180045782
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
jne 0x1800456f0
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x1800457b5
lea rcx, str.invalid_hash_bucket_count
call fcn.180009b50
int3
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdx, qword [rcx + 0x10]
mov rdi, rcx
add rdx, 1
mov rbx, qword [rcx + 0x38]
xorps xmm0, xmm0
js 0x180045845
cvtsi2ss xmm0, rdx
jmp 0x18004585a
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call fcn.1800a0b70
movss xmm1, dword [0x1800a5e48]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x180045888
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x180045888
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x1800458ba
cmp rbx, 0x200
jae 0x1800458b7
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x1800458ba
mov rbx, rcx
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x180045650
Function at 0x18004c280
Capabilities:
Access peb ldr_data
Encode data using xor
Get process filename
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push r15
sub rsp, 0x30
mov rax, qword [0x1800c4a88]
mov r15, rcx
test rax, rax
jne 0x18004c392
mov rax, qword gs:[0x60]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], rsi
mov rdx, qword [rax + 0x18]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r14
mov rax, qword [rdx + 0x10]
mov rbp, qword [rax]
mov rdi, rbp
nop dword [rax]
mov r11, qword [rdi + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x18004c35a
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x18004c35a
mov r14d, dword [rsi + 0x20]
nop word [rax + rax]
dec r10d
mov r9d, 0xc2204d12
lea rax, [r14 + r10*4]
mov eax, dword [rax + r11]
add rax, r11
movzx r8d, byte [rax]
inc rax
test r8b, r8b
je 0x18004c355
movsx ecx, r8b
lea rax, [rax + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [rax - 1]
cmova edx, ecx
xor edx, r9d
imul r9d, edx, 0x1000193
test r8b, r8b
jne 0x18004c320
cmp r9d, 0x2234d053
je 0x18004c39e
test r10d, r10d
jne 0x18004c300
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rbp
je 0x18004c370
cmp qword [rax + 0x30], 0
jne 0x18004c2d0
xor eax, eax
mov r14, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov qword [0x1800c4a88], rax
mov rcx, r15
add rsp, 0x30
pop r15
jmp rax
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rsi + 0x1c]
add rcx, r11
mov eax, dword [rcx + rdx*4]
add rax, r11
jmp 0x18004c372
Function at 0x18004c3c0
Capabilities:
Access peb ldr_data
Encode data using xor
Get process filename
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push r15
sub rsp, 0x30
mov rax, qword [0x1800c4a50]
mov r15, rcx
test rax, rax
jne 0x18004c4d2
mov rax, qword gs:[0x60]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], rsi
mov rdx, qword [rax + 0x18]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r14
mov rax, qword [rdx + 0x10]
mov rbp, qword [rax]
mov rdi, rbp
nop dword [rax]
mov r11, qword [rdi + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x18004c49a
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x18004c49a
mov r14d, dword [rsi + 0x20]
nop word [rax + rax]
dec r10d
mov r9d, 0xceaea87f
lea rax, [r14 + r10*4]
mov eax, dword [rax + r11]
add rax, r11
movzx r8d, byte [rax]
inc rax
test r8b, r8b
je 0x18004c495
movsx ecx, r8b
lea rax, [rax + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [rax - 1]
cmova edx, ecx
xor edx, r9d
imul r9d, edx, 0x1000193
test r8b, r8b
jne 0x18004c460
cmp r9d, 0x1b2705de
je 0x18004c4de
test r10d, r10d
jne 0x18004c440
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rbp
je 0x18004c4b0
cmp qword [rax + 0x30], 0
jne 0x18004c410
xor eax, eax
mov r14, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov qword [0x1800c4a50], rax
mov rcx, r15
add rsp, 0x30
pop r15
jmp rax
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rsi + 0x1c]
add rcx, r11
mov eax, dword [rcx + rdx*4]
add rax, r11
jmp 0x18004c4b2
Function at 0x18004c500
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbp
push rsi
push r14
mov qword [rsp + 0x28], r15
movabs r15, 0x7a1435883d4d519d
mov r10, rdx
mov r9, rcx
movabs rbp, 0xc2b2ae3d27d4eb4f
movabs rsi, 0x9e3779b185ebca87
movabs r14, 0x27d4eb2f165667c5
cmp rdx, 0x20
jb 0x18004c666
mov qword [rsp + 0x18], rbx
lea rcx, [rdx - 0x1f]
mov qword [rsp + 0x20], rdi
lea r11, [r8 + rbp]
movabs rdi, 0x60ea27eeadc0b5d6
add rcx, r9
add rdi, r8
movabs rbx, 0x61c8864e7a143579
add rbx, r8
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r9]
imul rax, rbp
add rdi, rax
mov rax, qword [r9 + 8]
imul rax, rbp
rol rdi, 0x1f
add r11, rax
mov rax, qword [r9 + 0x10]
imul rax, rbp
imul rdi, rsi
add r8, rax
rol r11, 0x1f
mov rax, qword [r9 + 0x18]
add r9, 0x20
imul rax, rbp
imul r11, rsi
add rbx, rax
rol r8, 0x1f
rol rbx, 0x1f
imul rbx, rsi
imul r8, rsi
cmp r9, rcx
jb 0x18004c580
mov rdx, rbx
mov rax, r8
rol rdx, 0x12
mov rcx, rdi
rol rax, 0xc
add rdx, rax
rol rdi, 1
mov rax, r11
imul rcx, rbp
imul r11, rbp
imul rbx, rbp
imul r8, rbp
rol rax, 7
add rdx, rax
rol rcx, 0x1f
add rdx, rdi
rol r11, 0x1f
mov rdi, qword [rsp + 0x20]
movabs rax, 0x85ebca77c2b2ae63
imul rcx, rsi
imul r11, rsi
xor rdx, rcx
rol rbx, 0x1f
imul rdx, rsi
imul rbx, rsi
sub rdx, r15
rol r8, 0x1f
xor rdx, r11
imul rdx, rsi
imul r8, rsi
sub rdx, r15
xor rdx, r8
imul rdx, rsi
sub rdx, r15
xor rdx, rbx
mov rbx, qword [rsp + 0x18]
imul rdx, rsi
add rax, rdx
jmp 0x18004c66a
lea rax, [r8 + r14]
add rax, r10
and r10d, 0x1f
cmp r10, 8
jb 0x18004c6b7
mov edx, r10d
shr rdx, 3
imul rcx, rdx, 0xfffffffffffffff8
add r10, rcx
nop word [rax + rax]
mov rcx, qword [r9]
add r9, 8
imul rcx, rbp
rol rcx, 0x1f
imul rcx, rsi
xor rax, rcx
rol rax, 0x1b
imul rax, rsi
sub rax, r15
sub rdx, 1
jne 0x18004c690
mov r15, qword [rsp + 0x28]
movabs r8, 0x165667b19e3779f9
cmp r10, 4
jb 0x18004c6e9
mov edx, dword [r9]
add r9, 4
imul rdx, rsi
xor rax, rdx
rol rax, 0x17
imul rax, rbp
add rax, r8
sub r10, 4
test r10, r10
je 0x18004c70d
nop
movzx ecx, byte [r9]
lea r9, [r9 + 1]
imul rcx, r14
xor rax, rcx
rol rax, 0xb
imul rax, rsi
sub r10, 1
jne 0x18004c6f0
mov rcx, rax
shr rcx, 0x21
xor rcx, rax
imul rcx, rbp
mov rbp, qword [rsp + 0x30]
mov rdx, rcx
shr rdx, 0x1d
xor rdx, rcx
imul rdx, r8
mov rax, rdx
shr rax, 0x20
xor rax, rdx
pop r14
pop rsi
ret