joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140048db0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x40
mov rdi, rcx
mov r14, r8
mov ecx, dword [0x1400d6d18]
mov rsi, rdx
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
test rax, rax
jne 0x140048dea
call fcn.140027ad0
mov rcx, rax
movsxd rdx, dword [rdi + 0x2b4]
xor ebp, ebp
mov eax, dword [rdi + 0x2b8]
add rdx, rdx
cmp dword [rcx + rdx*8 + 8], eax
jne 0x140048e87
cmp qword [rcx + rdx*8], rbp
je 0x140048e87
mov ecx, dword [0x1400d6d18]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
test rax, rax
jne 0x140048e28
call fcn.140027ad0
mov rcx, rax
movsxd rdx, dword [rdi + 0x2b4]
mov eax, dword [rdi + 0x2b8]
add rdx, rdx
cmp dword [rcx + rdx*8 + 8], eax
je 0x140048e43
mov rdx, rbp
jmp 0x140048e47
mov rdx, qword [rcx + rdx*8]
mov r8, qword [rdx + 0x18]
mov rax, qword [rsi]
test r8, r8
je 0x140048e87
cmp eax, dword [r8 + 0x2410]
jne 0x140048e87
shr rax, 0x20
mov rcx, rax
and eax, 0x3ffffff
cmp rax, qword [rdx + 0x20]
jne 0x140048e87
shr rcx, 0x1a
lea rax, [rcx + rcx*8]
shl rax, 4
add rax, 0x10
add rax, r8
jne 0x140048f1a
test r14, r14
je 0x140048ecc
cmp byte [r14 + 8], bpl
jne 0x140048ecc
mov qword [rsp + 0x50], rbx
mov rbx, qword [r14]
call fcn.14001e9c0
mov rdx, rax
lea rcx, [rsp + 0x20]
mov r8, rbx
call fcn.14003e220
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
lea rcx, [rsp + 0x20]
call fcn.14003de10
mov rbx, qword [rsp + 0x50]
mov byte [r14 + 8], 1
mov rdx, qword [rdi + 0x318]
test rdx, rdx
je 0x140048f0d
mov ecx, dword [rsi + 4]
mov eax, ecx
and eax, 0x3ffffff
cmp rax, qword [rdi + 0x320]
jne 0x140048f0d
mov eax, dword [rdx + 0x2410]
cmp dword [rsi], eax
jne 0x140048f08
shr rcx, 0x1a
lea rbp, [rdx + 0x10]
lea rax, [rcx + rcx*8]
shl rax, 4
add rbp, rax
mov rax, rbp
jmp 0x140048f1a
mov rcx, qword [rdi + 0x20]
mov rdx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret

Function at 0x140049140
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov ecx, dword [0x1400d6d18]
mov rdi, rdx
mov rbx, qword [0x1400dc9c0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r8, rax
test rax, rax
jne 0x140049170
call fcn.140027ad0
mov r8, rax
movsxd rax, dword [rbx + 4]
add rax, rax
mov qword [r8 + rax*8], rdi
movsxd rcx, dword [rbx + 4]
mov eax, dword [rbx + 8]
add rcx, rcx
mov rbx, qword [rsp + 0x30]
mov dword [r8 + rcx*8 + 8], eax
add rsp, 0x20
pop rdi
ret

Function at 0x1400491a0
Capabilities:
Get thread local storage value

Disassembly:
push rbx
sub rsp, 0x20
mov ecx, dword [0x1400d6d18]
mov rbx, qword [0x1400dc9c0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
test rax, rax
jne 0x1400491c9
call fcn.140027ad0
mov rcx, rax
movsxd rdx, dword [rbx + 4]
mov eax, dword [rbx + 8]
add rdx, rdx
cmp dword [rcx + rdx*8 + 8], eax
je 0x1400491e1
xor eax, eax
add rsp, 0x20
pop rbx
ret
mov rax, qword [rcx + rdx*8]
add rsp, 0x20
pop rbx
ret
Function at 0x140049340
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
movzx r9d, byte [r8]
mov r11, rdx
mov rdx, rcx
movabs rax, 0xcbf29ce484222325
xor r9, rax
movabs rcx, 0x100000001b3
movzx eax, byte [r8 + 1]
mov rbx, r8
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 2]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 3]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 4]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 5]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 6]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 7]
mov r8, qword [rdx + 0x18]
imul r9, rcx
xor r9, rax
imul r9, rcx
mov rcx, qword [rdx + 0x30]
mov rdx, qword [rdx + 8]
and rcx, r9
mov rax, rcx
add rax, rax
add rcx, rcx
mov rax, qword [r8 + rax*8]
mov r9, qword [r8 + rcx*8]
lea r10, [r8 + rcx*8]
cmp r9, rdx
jne 0x1400493ef
mov rcx, rdx
jmp 0x1400493f6
mov rcx, qword [r10 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140049446
mov rcx, qword [rbx]
cmp qword [rax + 0x10], rcx
je 0x140049409
mov rax, qword [rax]
jmp 0x1400493e5
mov rbx, qword [rbx]
mov rcx, rax
nop
cmp r9, rdx
jne 0x14004941a
mov r8, rdx
jmp 0x140049421
mov r8, qword [r10 + 8]
mov r8, qword [r8]
cmp rax, r8
je 0x140049431
cmp rbx, qword [rax + 0x10]
jne 0x140049431
mov rax, qword [rax]
jmp 0x140049410
cmp rcx, rax
je 0x140049446
mov qword [r11 + 8], rax
mov rax, r11
mov qword [r11], rcx
mov rbx, qword [rsp + 8]
ret
mov rbx, qword [rsp + 8]
mov rax, r11
mov qword [r11], rdx
mov qword [r11 + 8], rdx
ret
Function at 0x140049460
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r15, qword [r8 + 0x18]
mov r14, r8
mov rdi, qword [r8 + 0x10]
mov r12, rdx
mov rbp, rcx
cmp r15, 0x10
jb 0x140049491
mov r8, qword [r8]
xor ecx, ecx
movabs rdx, 0xcbf29ce484222325
test rdi, rdi
je 0x1400494c4
movabs r9, 0x100000001b3
nop dword [rax]
movzx eax, byte [r8 + rcx]
inc rcx
xor rdx, rax
imul rdx, r9
cmp rcx, rdi
jb 0x1400494b0
mov rcx, qword [rbp + 0x30]
and rcx, rdx
mov qword [rsp + 0x58], rsi
mov rdx, qword [rbp + 0x18]
mov rax, rcx
mov rbp, qword [rbp + 8]
add rax, rax
mov rbx, qword [rdx + rax*8]
lea rax, [rcx + rcx]
mov r13, qword [rdx + rax*8]
lea rax, [rax + 1]
lea rax, [rdx + rax*8]
mov qword [rsp + 0x50], rax
cmp r13, rbp
jne 0x140049501
mov rax, rbp
jmp 0x140049507
mov rax, qword [rax]
mov rax, qword [rax]
cmp rbx, rax
je 0x1400495a5
cmp r15, 0x10
jb 0x14004951b
mov rdx, qword [r14]
jmp 0x14004951e
mov rdx, r14
cmp qword [rbx + 0x28], 0x10
jb 0x14004952b
mov rcx, qword [rbx + 0x10]
jmp 0x14004952f
lea rcx, [rbx + 0x10]
mov rsi, qword [rbx + 0x20]
mov r8, rdi
cmp rsi, rdi
cmovb r8, rsi
test r8, r8
je 0x14004954b
call fcn.140082950
test eax, eax
jne 0x140049552
cmp rsi, rdi
jb 0x140049552
jbe 0x14004955c
mov rbx, qword [rbx]
mov rax, qword [rsp + 0x50]
jmp 0x1400494f7
cmp qword [rbx + 0x28], 0x10
jb 0x140049569
mov rdx, qword [rbx + 0x10]
jmp 0x14004956d
lea rdx, [rbx + 0x10]
cmp r15, 0x10
jb 0x140049576
mov r14, qword [r14]
mov rsi, qword [rbx + 0x20]
cmp rdi, rsi
mov r8, rsi
cmovb r8, rdi
test r8, r8
je 0x140049595
mov rcx, r14
call fcn.140082950
test eax, eax
jne 0x14004959c
cmp rdi, rsi
jb 0x14004959c
jbe 0x14004959f
mov rbx, rbp
mov qword [r12], rbx
jmp 0x1400495a9
mov qword [r12], rbp
mov rsi, qword [rsp + 0x58]
mov rax, r12
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x1400498e0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
push rdi
sub rsp, 0x20
mov r9, r8
mov r10, rcx
movzx r8d, byte [r8 + 0x10]
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
mov rdi, rdx
xor r8, rax
movzx eax, byte [r9 + 0x11]
mov rdx, qword [r10 + 0x30]
imul r8, rcx
xor r8, rax
movzx eax, byte [r9 + 0x12]
imul r8, rcx
xor r8, rax
movzx eax, byte [r9 + 0x13]
imul r8, rcx
xor r8, rax
movzx eax, byte [r9 + 0x14]
imul r8, rcx
xor r8, rax
movzx eax, byte [r9 + 0x15]
imul r8, rcx
xor r8, rax
movzx eax, byte [r9 + 0x16]
imul r8, rcx
xor r8, rax
movzx eax, byte [r9 + 0x17]
imul r8, rcx
xor r8, rax
imul r8, rcx
mov rcx, qword [r10 + 0x18]
and rdx, r8
shl rdx, 4
add rcx, rdx
cmp qword [rcx + 8], r9
jne 0x1400499a9
cmp qword [rcx], r9
jne 0x14004999f
mov rax, qword [r10 + 8]
mov qword [rcx], rax
mov rcx, qword [r10 + 0x18]
mov rax, qword [r10 + 8]
mov qword [rdx + rcx + 8], rax
jmp 0x1400499b4
mov rax, qword [r9 + 8]
mov qword [rcx + 8], rax
jmp 0x1400499b4
cmp qword [rcx], r9
jne 0x1400499b9
mov rax, qword [r9]
mov qword [rcx], rax
mov r9, qword [rsp + 0x40]
mov rax, qword [r9 + 8]
mov rcx, r9
mov rbx, qword [r9]
mov qword [rax], rbx
mov rdx, qword [r9]
mov rax, qword [r9 + 8]
mov qword [rdx + 8], rax
dec qword [r10 + 0x10]
call fcn.140080c40
mov qword [rdi], rbx
mov rax, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x14004a8e0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push r14
push r15
sub rsp, 0x20
movzx r9d, byte [r8]
mov rbp, rcx
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor r9, rax
mov rsi, rdx
movzx eax, byte [r8 + 1]
mov r15, qword [rbp + 0x30]
mov rbx, qword [rbp + 8]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 2]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 3]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 4]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 5]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 6]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 7]
imul r9, rcx
xor r9, rax
imul r9, rcx
mov rcx, qword [rbp + 0x18]
and r15, r9
shl r15, 4
mov rax, qword [rcx + r15]
cmp rbx, rax
je 0x14004a9af
mov rbx, qword [rcx + r15 + 8]
mov rbx, qword [rbx]
cmp rbx, rax
je 0x14004a9af
mov rcx, qword [r8]
nop dword [rax + rax]
mov rbx, qword [rbx + 8]
cmp rcx, qword [rbx + 0x10]
je 0x14004aa1e
cmp rbx, rax
jne 0x14004a9a0
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 8]
mov qword [rsp + 0x40], rdi
mov rdx, qword [rdx]
call fcn.14004b990
mov rdi, qword [rbp + 8]
mov rdi, qword [rdi]
mov rax, qword [rdi]
cmp rbx, rax
je 0x14004aa00
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rcx, qword [rax + 8]
mov rdx, qword [rbx + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rdx, qword [rbp + 0x18]
add rdx, r15
mov rax, qword [rdx]
cmp rax, qword [rbp + 8]
jne 0x14004aa27
mov qword [rdx], rdi
mov rax, qword [rbp + 0x18]
mov qword [r15 + rax + 8], rdi
jmp 0x14004aa53
mov qword [rdx], rbx
mov byte [rdx + 8], 0
jmp 0x14004aa67
cmp rax, rbx
jne 0x14004aa31
mov qword [rdx], rdi
jmp 0x14004aa53
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x14004aa53
mov rdx, qword [rbp + 0x18]
mov rax, qword [rdx + r15 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r15 + 8], rcx
mov rcx, rbp
call fcn.14004af60
mov qword [rsi], rdi
mov rdi, qword [rsp + 0x40]
mov byte [rsi + 8], 1
mov rbx, qword [rsp + 0x48]
mov rax, rsi
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rsi
ret
Function at 0x14004b0b0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rdi, r9
mov r10, rcx
movzx r9d, byte [r8]
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
mov r11, r8
xor r9, rax
mov rsi, rdx
movzx eax, byte [r8 + 1]
mov rbx, qword [r10 + 8]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 2]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 3]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 4]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 5]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 6]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 7]
mov r8, qword [r10 + 0x30]
imul r9, rcx
xor r9, rax
imul r9, rcx
mov rcx, qword [r10 + 0x18]
and r8, r9
shl r8, 4
mov rax, qword [rcx + r8]
cmp rbx, rax
je 0x14004b17f
mov rbx, qword [rcx + r8 + 8]
mov rbx, qword [rbx]
cmp rbx, rax
je 0x14004b17f
mov rcx, qword [r11]
nop word [rax + rax]
mov rbx, qword [rbx + 8]
cmp rcx, qword [rbx + 0x10]
je 0x14004b1d2
cmp rbx, rax
jne 0x14004b170
mov rax, qword [rdi]
cmp rbx, rax
je 0x14004b1b4
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rcx, qword [rax + 8]
mov rdx, qword [rbx + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rdx, qword [r10 + 0x18]
add rdx, r8
mov rax, qword [rdx]
cmp rax, qword [r10 + 8]
jne 0x14004b20d
mov qword [rdx], rdi
mov rax, qword [r10 + 0x18]
mov qword [r8 + rax + 8], rdi
jmp 0x14004b239
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
mov rcx, rdi
dec qword [r10 + 0x10]
call fcn.140080c40
mov rax, rsi
mov qword [rsi], rbx
mov byte [rsi + 8], 0
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp rax, rbx
jne 0x14004b217
mov qword [rdx], rdi
jmp 0x14004b239
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x14004b239
mov rdx, qword [r10 + 0x18]
mov rax, qword [rdx + r8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r8 + 8], rcx
mov rcx, r10
call fcn.14004af60
mov rbx, qword [rsp + 0x30]
mov rax, rsi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14004b3c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x10], rdx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbp, qword [r8 + 0x10]
mov r14, r8
mov r8, qword [r8 + 0x18]
mov rdi, r9
mov rsi, rdx
mov r15, rcx
cmp r8, 0x10
jb 0x14004b400
mov r9, qword [r14]
jmp 0x14004b403
mov r9, r14
xor ecx, ecx
movabs rdx, 0xcbf29ce484222325
test rbp, rbp
je 0x14004b434
movabs r10, 0x100000001b3
nop
movzx eax, byte [r9 + rcx]
inc rcx
xor rdx, rax
imul rdx, r10
cmp rcx, rbp
jb 0x14004b420
mov r13, qword [r15 + 0x30]
mov rax, qword [r15 + 0x18]
and r13, rdx
mov rbx, qword [r15 + 8]
shl r13, 4
mov r12, qword [rax + r13]
cmp rbx, r12
je 0x14004b4f6
mov rbx, qword [rax + r13 + 8]
mov rbx, qword [rbx]
cmp rbx, r12
je 0x14004b4f6
mov rbx, qword [rbx + 8]
cmp qword [rbx + 0x28], 0x10
jb 0x14004b476
mov rdx, qword [rbx + 0x10]
jmp 0x14004b47a
lea rdx, [rbx + 0x10]
cmp r8, 0x10
jb 0x14004b485
mov rcx, qword [r14]
jmp 0x14004b488
mov rcx, r14
mov rsi, qword [rbx + 0x20]
cmp rbp, rsi
mov r8, rsi
cmovb r8, rbp
test r8, r8
je 0x14004b4a4
call fcn.140082950
test eax, eax
jne 0x14004b4ab
cmp rbp, rsi
jb 0x14004b4ab
jbe 0x14004b4b6
cmp rbx, r12
je 0x14004b4f1
mov r8, qword [r14 + 0x18]
jmp 0x14004b465
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
lea rcx, [rdi + 0x10]
dec qword [r15 + 0x10]
call fcn.1400021a0
mov rcx, rdi
call fcn.140080c40
mov rax, qword [rsp + 0x58]
mov qword [rax], rbx
mov byte [rax + 8], 0
jmp 0x14004b587
mov rsi, qword [rsp + 0x58]
mov rax, qword [rdi]
cmp rbx, rax
je 0x14004b52b
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rcx, qword [rax + 8]
mov rdx, qword [rbx + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rdx, qword [r15 + 0x18]
add rdx, r13
mov rax, qword [rdx]
cmp rax, qword [r15 + 8]
jne 0x14004b549
mov qword [rdx], rdi
mov rax, qword [r15 + 0x18]
mov qword [rax + r13 + 8], rdi
jmp 0x14004b575
cmp rax, rbx
jne 0x14004b553
mov qword [rdx], rdi
jmp 0x14004b575
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x14004b575
mov rdx, qword [r15 + 0x18]
mov rax, qword [rdx + r13 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r13 + 8], rcx
mov rcx, r15
call fcn.14004ba40
mov rax, rsi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x14004b5b0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
mov rdi, r9
mov r10, rcx
movzx r9d, byte [r8]
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
mov r11, r8
xor r9, rax
mov r14, rdx
movzx eax, byte [r8 + 1]
mov rbx, qword [r10 + 8]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 2]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 3]
mov r8, qword [r10 + 0x30]
imul r9, rcx
xor r9, rax
imul r9, rcx
mov rcx, qword [r10 + 0x18]
and r8, r9
shl r8, 4
mov rax, qword [rcx + r8]
cmp rbx, rax
je 0x14004b64e
mov rbx, qword [rcx + r8 + 8]
mov rbx, qword [rbx]
cmp rbx, rax
je 0x14004b64e
mov ecx, dword [r11]
nop dword [rax + rax]
mov rbx, qword [rbx + 8]
cmp ecx, dword [rbx + 0x10]
je 0x14004b6a4
cmp rbx, rax
jne 0x14004b640
mov rax, qword [rdi]
cmp rbx, rax
je 0x14004b683
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rcx, qword [rax + 8]
mov rdx, qword [rbx + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rdx, qword [r10 + 0x18]
add rdx, r8
mov rax, qword [rdx]
cmp rax, qword [r10 + 8]
jne 0x14004b705
mov qword [rdx], rdi
mov rax, qword [r10 + 0x18]
mov qword [r8 + rax + 8], rdi
jmp 0x14004b731
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rsp + 0x30], rsi
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
lea rcx, [rdi + 0x18]
dec qword [r10 + 0x10]
call fcn.14004b2a0
mov rcx, qword [rdi + 0x18]
call fcn.140080c40
mov rcx, rdi
mov qword [rdi + 0x18], 0
call fcn.140080c40
mov rsi, qword [rsp + 0x30]
mov rax, r14
mov qword [r14], rbx
mov byte [r14 + 8], 0
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
cmp rax, rbx
jne 0x14004b70f
mov qword [rdx], rdi
jmp 0x14004b731
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x14004b731
mov rdx, qword [r10 + 0x18]
mov rax, qword [rdx + r8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r8 + 8], rcx
mov rcx, r10
call fcn.14004bb00
mov rbx, qword [rsp + 0x38]
mov rax, r14
mov qword [r14], rdi
mov rdi, qword [rsp + 0x40]
mov byte [r14 + 8], 1
add rsp, 0x20
pop r14
ret
Function at 0x14004b760
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rdi, r9
mov r10, rcx
movzx r9d, byte [r8]
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
mov r11, r8
xor r9, rax
mov rsi, rdx
movzx eax, byte [r8 + 1]
mov rbx, qword [r10 + 8]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 2]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 3]
mov r8, qword [r10 + 0x30]
imul r9, rcx
xor r9, rax
imul r9, rcx
mov rcx, qword [r10 + 0x18]
and r8, r9
shl r8, 4
mov rax, qword [rcx + r8]
cmp rbx, rax
je 0x14004b7fe
mov rbx, qword [rcx + r8 + 8]
mov rbx, qword [rbx]
cmp rbx, rax
je 0x14004b7fe
mov ecx, dword [r11]
nop word [rax + rax]
mov rbx, qword [rbx + 8]
cmp ecx, dword [rbx + 0x10]
je 0x14004b851
cmp rbx, rax
jne 0x14004b7f0
mov rax, qword [rdi]
cmp rbx, rax
je 0x14004b833
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rcx, qword [rax + 8]
mov rdx, qword [rbx + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rdx, qword [r10 + 0x18]
add rdx, r8
mov rax, qword [rdx]
cmp rax, qword [r10 + 8]
jne 0x14004b895
mov qword [rdx], rdi
mov rax, qword [r10 + 0x18]
mov qword [r8 + rax + 8], rdi
jmp 0x14004b8c1
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
lea rcx, [rdi + 0x18]
dec qword [r10 + 0x10]
call fcn.1400021a0
mov rcx, rdi
call fcn.140080c40
mov rax, rsi
mov qword [rsi], rbx
mov byte [rsi + 8], 0
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp rax, rbx
jne 0x14004b89f
mov qword [rdx], rdi
jmp 0x14004b8c1
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x14004b8c1
mov rdx, qword [r10 + 0x18]
mov rax, qword [rdx + r8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r8 + 8], rcx
mov rcx, r10
call fcn.14004bbc0
mov rbx, qword [rsp + 0x30]
mov rax, rsi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14004c590
Capabilities:
Hash data with md5

Disassembly:
push rbp
push rbx
push rdi
push r14
lea rbp, [rsp - 0x3f]
sub rsp, 0xc8
mov rax, qword [0x1400d61c0]
xor rax, rsp
mov qword [rbp + 0x27], rax
cmp dword [rdx], 1
mov rdi, rcx
jge 0x14004c5be
mov dword [rdx], 1
cmp dword [r8], 0x7fffffff
jl 0x14004c5ce
mov dword [r8], 0x7ffffffe
cmp dword [r9], 0x4000
jb 0x14004c5de
mov dword [r9], 0x3fff
mov r10d, dword [rdx]
mov cl, 1
mov eax, dword [r8]
cmp r10d, eax
jle 0x14004c5f2
mov dword [rdx], eax
xor cl, cl
mov dword [r8], r10d
mov eax, dword [rdx]
cmp dword [r8], eax
jne 0x14004c600
xor cl, cl
inc eax
mov dword [r8], eax
mov r10d, dword [r9]
cmp r10d, 3
jae 0x14004c610
mov dword [r9], 3
xor r14d, r14d
movzx eax, cl
cmp r10d, 3
mov r11d, r14d
mov r10d, dword [r9]
cmovae r11d, eax
cmp r10d, 0x2712
jbe 0x14004c634
mov dword [r9], 0x2712
mov ecx, dword [r8]
mov ebx, r14d
sub ecx, dword [rdx]
add ecx, 2
movzx eax, r11b
cmp r10d, 0x2712
mov qword [rsp + 0xc0], rsi
cmovbe ebx, eax
cmp dword [r9], ecx
jbe 0x14004c661
xor bl, bl
mov dword [r9], ecx
jmp 0x14004c669
test bl, bl
jne 0x14004c760
mov r8d, 0x22
mov qword [rbp - 0x41], 0xf
lea rdx, str.Histogram.BadConstructionArguments
mov qword [rbp - 0x49], r14
lea rcx, [rbp - 0x59]
mov byte [rbp - 0x59], r14b
call fcn.140003450
lea rcx, [rbp - 0x59]
call fcn.14003c720
mov rsi, rax
mov rax, qword [rbp - 0x41]
cmp rax, 0x10
jb 0x14004c6e9
mov rcx, qword [rbp - 0x59]
inc rax
cmp rax, 0x1000
jb 0x14004c6e4
test cl, 0x1f
jne 0x14004c784
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x14004c78a
sub rcx, rax
cmp rcx, 8
jb 0x14004c790
cmp rcx, 0x27
ja 0x14004c796
mov rcx, rax
call fcn.140080c40
cmp qword [rdi + 0x18], 0x10
mov qword [rbp - 0x41], 0xf
mov qword [rbp - 0x49], r14
mov byte [rbp - 0x59], r14b
jb 0x14004c705
mov rcx, qword [rdi]
jmp 0x14004c708
mov rcx, rdi
mov rax, qword [rdi + 0x10]
lea rdx, [rbp - 0x69]
mov qword [rbp - 0x69], rcx
lea rcx, [rbp - 0x39]
mov qword [rbp - 0x61], rax
mov dword [rbp - 0x39], 0x67452301
mov dword [rbp - 0x35], 0xefcdab89
mov dword [rbp - 0x31], 0x98badcfe
mov qword [rbp - 0x2d], 0x10325476
mov dword [rbp - 0x25], r14d
call fcn.140065470
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 0x69]
call fcn.1400655f0
mov r8, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbp - 0x69]
bswap rdx
call qword [r8 + 0x20]
movzx eax, bl
mov rsi, qword [rsp + 0xc0]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400812a0
add rsp, 0xc8
pop r14
pop rdi
pop rbx
pop rbp
ret
call fcn.1400853c8
int3
call fcn.1400853c8
int3
call fcn.1400853c8
int3
call fcn.1400853c8
int3
Function at 0x14004cfd0
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0xa0
mov rax, qword [0x1400d61c0]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rsi, qword [rsp + 0xe0]
lea rax, [0x1400c8f20]
mov qword [rcx], rax
mov rbx, rcx
add rcx, 8
xor r14d, r14d
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdi, rdx
mov qword [rcx + 0x18], 0xf
mov qword [rcx + 0x10], r14
mov byte [rcx], r14b
call fcn.140003580
mov dword [rbx + 0x28], r14d
lea rax, [0x1400c8ce0]
mov qword [rbx], rax
movabs rax, 0xfeedc0dedeadbeef
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], r14
mov qword [rbx + 0x40], r14
test rsi, rsi
jne 0x14004d05b
int3
mov ecx, 0x38
call fcn.140080c00
cmp qword [rdi + 0x18], 0x10
mov rbp, rax
jb 0x14004d074
mov rcx, qword [rdi]
jmp 0x14004d077
mov rcx, rdi
mov rax, qword [rdi + 0x10]
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0x67452301
mov dword [rsp + 0x34], 0xefcdab89
mov dword [rsp + 0x38], 0x98badcfe
mov qword [rsp + 0x3c], 0x10325476
mov dword [rsp + 0x44], r14d
call fcn.140065470
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
call fcn.1400655f0
mov rdx, qword [rsp + 0x20]
mov r8, rsi
bswap rdx
mov rcx, rbp
call fcn.1400624c0
mov rcx, qword [rbx + 0x38]
mov qword [rbx + 0x38], rax
test rcx, rcx
je 0x14004d0f3
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov ecx, 0x38
call fcn.140080c00
mov r9, rax
mov r8, rsi
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rcx, r9
call fcn.1400624c0
mov rcx, qword [rbx + 0x40]
mov qword [rbx + 0x40], rax
test rcx, rcx
je 0x14004d12e
mov r8, qword [rcx]
mov edx, 1
call qword [r8]
mov rax, rbx
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400812a0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret