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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x45d60a
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [sym.imp.kernel32.dll_VirtualAlloc_1]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
call fcn.0047b5a0
xorps xmm15, xmm15
mov r14, qword [0x00786f90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rcx, rax
cmp qword [rsp + 0x28], rax
je 0x45d459
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x45d46c
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
sub rdx, rbx
add rcx, rbx
mov rbx, rdx
test rbx, rbx
jbe 0x45d490
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
nop
jmp 0x45d4a4
cmp rbx, 0x1000
jae 0x45d463
jmp 0x45d525
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x45d4b6
xor esi, esi
jmp 0x45d516
mov rax, qword [sym.imp.kernel32.dll_VirtualAlloc_1]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
nop dword [rax]
call fcn.0047b5a0
xorps xmm15, xmm15
mov r14, qword [0x00786f90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x28], 0
sete al
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov esi, eax
mov rax, qword [rsp + 0x68]
test sil, sil
jne 0x45d49a
nop
jmp 0x45d482
call fcn.004b35a0
xorps xmm15, xmm15
mov r14, qword [0x00786f90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x34], eax
cmp eax, 8
jne 0x45d5a5
call fcn.004803e0
lea rax, [0x005ffcaa]
mov ebx, 0x19
call fcn.00480ce0
mov rax, qword [rsp + 0x68]
call fcn.004809e0
lea rax, [0x005ff85e]
mov ebx, 0x19
call fcn.00480ce0
mov eax, dword [rsp + 0x34]
nop dword [rax]
call fcn.004809e0
call fcn.00480640
call fcn.00480460
lea rax, [0x005fbe5c]
mov ebx, 0xd
nop dword [rax + rax]
call fcn.0047eaa0
cmp eax, 0x5af
je 0x45d548
call fcn.004803e0
lea rax, [0x005ffcaa]
mov ebx, 0x19
nop dword [rax]
call fcn.00480ce0
mov rax, qword [rsp + 0x38]
call fcn.004809e0
lea rax, [0x005ff85e]
mov ebx, 0x19
nop dword [rax + rax]
call fcn.00480ce0
mov eax, dword [rsp + 0x34]
call fcn.004809e0
call fcn.00480640
call fcn.00480460
lea rax, [0x006017fd]
mov ebx, 0x1f
call fcn.0047eaa0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.004af240
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.0045d3e0
Function at 0x465b00
Capabilities:
Hash data using murmur3

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
cmp byte [0x00786d53], 0
jne 0x465bef
mov rdx, qword [rax + 0x50]
test byte [rdx], al
nop
nop
nop
sub rbx, qword [rax + 0x18]
mov esi, dword [rax + 0x5c]
imul rbx, rsi
mov rsi, rbx
shr rbx, 0x20
shr rsi, 0x23
and ebx, 7
mov rdi, rcx
mov rcx, rbx
mov r8d, 1
shl r8d, cl
add rdx, rsi
lock or byte [rdx], r8b
nop
nop
mov rcx, qword [rax + 0x18]
nop
movabs rdx, 0x800000000000
lea rax, [rdx + rcx]
mov rdx, rax
shr rax, 0x2a
cmp rax, 0x40
jae 0x465be5
lea rbx, [0x00759190]
mov rax, qword [rbx + rax*8]
shr rdx, 0x16
and edx, 0xfffff
mov rdx, qword [rax + rdx*8]
test byte [rdx], al
test byte [rax], al
mov rax, rcx
shr rcx, 0x10
and ecx, 0x3f
movzx ebx, byte [rdx + rcx + 0x11440]
lea rdx, [rdx + rcx]
lea rdx, [rdx + 0x11440]
shr rax, 0xd
and eax, 7
mov rcx, rax
mov eax, 1
shl eax, cl
test al, bl
jne 0x465bc7
lock or byte [rdx], al
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
add qword [rax + 0x1248], rdi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov ecx, 0x40
call fcn.004b18e0
lea rax, [0x006044a1]
mov ebx, 0x2c
nop dword [rax + rax]
call fcn.0047eaa0
nop
int3

Function at 0x467fa0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x46809e
sub rsp, 0x48
mov qword [rsp + 0x40], rbp
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 8], 0
jmp 0x467fe0
mov rax, qword [rsp + 0x50]
mov rcx, rdx
mov rbx, qword [rsp + 0x58]
nop
cmp qword [rsp + 8], rbx
jae 0x46808f
test byte [rax], al
lea rcx, [rax + 0x100b8]
mov rax, rcx
call fcn.00468b60
nop dword [rax]
test rax, rax
je 0x46808f
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x30], xmm15
lea rcx, [0x004680e0]
mov qword [rsp + 0x10], rcx
lea rdx, [rsp + 8]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rbx, [rsp + 0x10]
mov qword [rsp], rbx
call fcn.004af100
xorps xmm15, xmm15
mov r14, qword [0x00786f90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x60]
test rdx, rdx
jne 0x46807d
xor eax, eax
jmp 0x468087
mov rax, qword [rdx]
call rax
mov rdx, qword [rsp + 0x60]
test al, al
je 0x467fd2
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.004af240
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00467fa0
Function at 0x4779a0
Capabilities:
Hash data using murmur3

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x477c46
sub rsp, 0x40
mov qword [rsp + 0x38], rbp
lea rbp, [rsp + 0x38]
test byte [rax], al
lea rsi, [rax + 0x1270]
mov rcx, qword [rax + 0x1260]
sub rcx, rsi
shr rcx, 3
cmp rcx, 0x200
ja 0x477c3a
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], rcx
mov qword [rax + 0x1260], 0
cmp byte [0x00786d53], 0
jne 0x477a02
xor edx, edx
xor ebx, ebx
nop
jmp 0x477a4a
xor edx, edx
jmp 0x477a2d
mov qword [rsp + 0x28], rdx
mov rcx, qword [rax + rdx*8 + 0x1270]
mov rax, rcx
call fcn.00465320
mov rdx, qword [rsp + 0x28]
inc rdx
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
jl 0x477a06
add rax, 0x1260
call fcn.00477860
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
inc rdx
cmp rdx, rcx
jge 0x477bd4
mov rsi, qword [rax + rdx*8 + 0x1270]
nop dword [rax + rax]
cmp rsi, 0x1000
jb 0x477a47
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rbx
mov rax, rsi
xor ebx, ebx
mov rcx, rbx
nop dword [rax + rax]
call fcn.0045a180
test rax, rax
jne 0x477aa2
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
nop
jmp 0x477a47
mov rsi, qword [rbx + 0x50]
test byte [rsi], al
nop
mov r8, rcx
shr rcx, 3
movzx r9d, byte [rsi + rcx]
and r8d, 7
mov rdx, rcx
mov rcx, r8
mov r10d, 1
shl r10d, cl
add rsi, rdx
test r10b, r9b
je 0x477ae9
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x477a47
nop
lock or byte [rsi], r10b
nop
nop
mov rcx, qword [rbx + 0x18]
nop
movabs rsi, 0x800000000000
lea r8, [rsi + rcx]
mov r9, r8
shr r8, 0x2a
cmp r8, 0x40
jae 0x477c2d
lea r10, [0x00759190]
mov r8, qword [r10 + r8*8]
shr r9, 0x16
and r9d, 0xfffff
mov r9, qword [r8 + r9*8]
test byte [r9], al
test byte [r8], al
mov r8, rcx
shr rcx, 0x10
and ecx, 0x3f
movzx r10d, byte [r9 + rcx + 0x11440]
lea r9, [r9 + rcx]
lea r9, [r9 + 0x11440]
shr r8, 0xd
and r8d, 7
mov rcx, r8
mov r8d, 1
shl r8d, cl
test r8b, r10b
jne 0x477b6f
lock or byte [r9], r8b
movzx r8d, byte [rbx + 0x62]
test r8b, 1
je 0x477ba5
mov rax, qword [rsp + 0x48]
mov r8, qword [rax + 0x1248]
add r8, qword [rbx + 0x68]
mov qword [rax + 0x1248], r8
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x477a47
mov r8, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
cmp r8, rcx
jae 0x477c25
mov rbx, qword [rsp + 0x48]
mov qword [rbx + r8*8 + 0x1270], rax
inc r8
mov rax, rbx
mov rdx, qword [rsp + 0x28]
mov rbx, r8
jmp 0x477a47
cmp rbx, 0x200
ja 0x477c18
lea rdx, [rax + 0x1270]
lea rsi, [rax + 0x1238]
mov rcx, rbx
mov edi, 0x200
mov rbx, rdx
mov rax, rsi
call fcn.0046b4c0
mov rax, qword [rsp + 0x48]
add rax, 0x1260
call fcn.00477860
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
mov rcx, rbx
mov edx, 0x200
call fcn.004b1940
mov rax, r8
call fcn.004b18c0
mov rax, r8
mov ecx, 0x40
call fcn.004b18e0
mov edx, 0x200
nop
call fcn.004b1920
nop
mov qword [rsp + 8], rax
call fcn.004b4920
mov rax, qword [rsp + 8]
jmp fcn.004779a0
Function at 0x48db40
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x48dcaa
sub rsp, 0x20
mov qword [rsp + 0x18], rbp
lea rbp, [rsp + 0x18]
mov ecx, dword [rax + 0x190]
mov edx, dword [rax + 0x194]
mov rsi, qword [rax + 0x998]
mov edi, dword [rax + 0x194]
cmp edi, edx
jne 0x48db58
cmp edx, ecx
jne 0x48dc98
nop dword [rax]
test rsi, rsi
jne 0x48dc98
mov qword [rsp + 0x28], rax
test rbx, rbx
jne 0x48dbb4
nop
call fcn.004b3a00
xorps xmm15, xmm15
mov r14, qword [0x00786f90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rbx, qword [rsp]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x10], rbx
call fcn.0048da40
mov rcx, qword [0x00731b98]
mov rdx, qword [0x00731b90]
mov rbx, qword [rsp + 0x28]
mov esi, dword [rbx]
mov edi, esi
sar esi, 0x1f
shr esi, 0x1b
add esi, edi
mov r8d, esi
and esi, 0xffffffe0
sub edi, esi
test edi, edi
jl 0x48dc93
cmp edi, 0x20
sbb esi, esi
sar r8d, 5
mov rax, rcx
mov ecx, edi
mov r9d, 1
shl r9d, cl
and r9d, esi
movsxd rsi, r8d
cmp rax, rsi
jbe 0x48dc88
lea rcx, [rdx + rsi*4]
lock or dword [rcx], r9d
mov rcx, qword [0x00732ad0]
mov qword [rbx + 8], rcx
nop
mov rcx, rbx
mov qword [0x00732ad0], rbx
nop
mov edx, 1
lea rsi, [0x00732ad8]
lock xadd dword [rsi], edx
mov rdx, qword [rcx + 0x1220]
shr rdx, 0x3d
test dl, dl
jne 0x48dc77
nop
nop
mov rax, qword [rsp + 0x10]
movabs rdx, 0x1fffffffffffffff
and rdx, rax
bts rdx, 0x3f
xchg qword [rcx + 0x1220], rdx
mov rbp, qword [rsp + 0x18]
add rsp, 0x20
ret
lea rax, [0x006039d5]
mov ebx, 0x28
call fcn.0047eaa0
mov rcx, rax
mov rax, rsi
call fcn.004b18c0
call fcn.0047cd40
lea rax, [0x00602898]
mov ebx, 0x23
call fcn.0047eaa0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.004af240
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.0048db40
Function at 0x49bb80
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
mov qword [rsp + 0x20], rax
test rbx, rbx
jbe 0x49bcf8
movzx edx, byte [rax]
nop
test edx, edx
jne 0x49bbbc
test r8b, r8b
jne 0x49bbbc
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
bt edx, 7
jae 0x49bbcf
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x49bcb8
mov r8d, 1
mov r9d, edx
and edx, 1
neg edx
shr r9d, 1
xor edx, r9d
add dword [rsi], edx
cmp rbx, r8
jb 0x49bca6
sub rbx, r8
sub rcx, r8
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and r8, rcx
lea rsi, [rax + r8]
test rbx, rbx
jbe 0x49bc9c
movzx r8d, byte [rax + r8]
bt r8d, 7
jae 0x49bc23
xor eax, eax
xor ecx, ecx
xor r8d, r8d
jmp 0x49bc66
mov eax, 1
cmp rax, rbx
ja 0x49bc55
add qword [rdi], r8
sub rdx, rax
sub rbx, rax
mov rcx, rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
add rax, rsi
mov edi, 1
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov rcx, rbx
call fcn.004b1980
lea r8d, [rcx + 7]
mov ecx, eax
mov eax, r10d
cmp rax, rbx
jae 0x49bc94
movzx r9d, byte [rax + rsi]
lea r10d, [rax + 1]
mov r11d, r9d
and r9d, 0x7f
mov eax, ecx
mov ecx, r8d
shl r9d, cl
or eax, r9d
test r11b, 0x80
jne 0x49bc5d
mov r8d, eax
mov eax, r10d
jmp 0x49bc28
mov rcx, rbx
call fcn.004b18c0
xor eax, eax
mov rcx, rax
call fcn.004b18c0
mov eax, r8d
mov rcx, rbx
call fcn.004b1980
lea r9d, [rcx + 7]
mov rcx, r12
cmp rbx, rdx
jbe 0x49bcee
movzx r10d, byte [rdx + rax]
inc edx
mov r11d, r10d
and r10d, 0x7f
mov r12, rcx
mov ecx, r9d
shl r10d, cl
or r8d, r10d
test r11b, 0x80
jne 0x49bcb1
mov rcx, r12
mov r9d, edx
mov edx, r8d
mov r8d, r9d
jmp 0x49bbd5
mov eax, edx
mov rcx, rbx
call fcn.004b18c0
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.004b18c0
nop
int3
Function at 0x4a5d80
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4a5e39
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov qword [rsp + 0x70], rbx
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 rdx, [0x004a5e80]
mov qword [rsp + 0x10], rdx
lea rdx, [rsp + 8]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x28], rdx
mov rdx, r14
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call fcn.004af100
xorps xmm15, xmm15
mov r14, qword [0x00786f90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.004af240
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004a5d80
Function at 0x4b1340
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, qword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x007871c0]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d1247
mul rcx
nop
nop
xor rax, rdx
ret
cmp byte [0x00786d52], 0
je 0x4b1376
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x007875e0]
aesenc xmm0, xmmword [0x007875f0]
aesenc xmm0, xmmword [0x00787600]
movq rax, xmm0
ret
jmp 0x44fe60

Function at 0x4b3520
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0x30
mov rcx, 0xfffffffffffffff4
mov qword [rsp], rcx
mov rax, qword [sym.imp.kernel32.dll_GetStdHandle_1]
call rax
mov rcx, rax
mov qword [rsp], rcx
lea rdx, [0x00787560]
mov qword [rsp + 8], rdx
lea r8d, [0x00786d74]
mov qword [rsp + 0x10], r8
lea r9, [rsp + 0x28]
mov qword [r9], 0
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], 0
mov rax, qword [sym.imp.kernel32.dll_WriteFile_1]
call rax
call fcn.004b1220
add rsp, 0x30
ret

Function at 0x4b3a60
Capabilities:
Allocate thread local storage

Disassembly:
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 0x4b3a8c
call fcn.004b1220
shl rcx, 3
add rcx, 0x1480
mov qword [0x00786f90], rcx
ret
Function at 0x1800049e8
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 8], rcx
push rsi
push rdi
push r14
sub rsp, 0x50
mov r8d, dword [0x1802cd9dc]
mov rdi, rcx
movaps xmmword [rax - 0x28], xmm6
xor ebp, ebp
mov rax, qword gs:[0x58]
mov sil, dl
movss xmm6, dword [0x180183e74]
mov ecx, 4
mov r9, qword [rax + r8*8]
mov eax, dword [rcx + r9]
cmp dword [0x1803040e0], eax
jg 0x180004b9b
movabs rbx, 0xcbf29ce484222325
mov rdx, rbp
mov rcx, rbx
movabs r14, 0x100000001b3
movzx eax, byte [rsp + rdx + 0x70]
inc rdx
xor rcx, rax
imul rcx, r14
cmp rdx, 8
jb 0x180004a56
mov rax, qword [0x1803040d0]
mov rdx, qword [0x1803040b8]
and rax, rcx
mov r9, qword [0x1803040a8]
add rax, rax
mov rcx, qword [rdx + rax*8 + 8]
cmp rcx, r9
je 0x180004aa7
mov r8, qword [rdx + rax*8]
jmp 0x180004a9f
cmp rcx, r8
je 0x180004aa7
mov rcx, qword [rcx + 8]
cmp rdi, qword [rcx + 0x10]
jne 0x180004a96
jmp 0x180004aaa
mov rcx, rbp
test rcx, rcx
mov rax, r9
cmovne rax, rcx
cmp rax, r9
jne 0x180004b2c
lea r8, [rsp + 0x20]
mov qword [rsp + 0x20], rdi
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x28], ebp
call fcn.18000532c
mov rcx, rbp
movzx eax, byte [rsp + rcx + 0x70]
inc rcx
xor rbx, rax
imul rbx, r14
cmp rcx, 8
jb 0x180004ad4
and rbx, qword [0x1803040d0]
mov rdx, qword [0x1803040b8]
add rbx, rbx
mov rax, qword [0x1803040a8]
mov rcx, qword [rdx + rbx*8 + 8]
cmp rcx, rax
je 0x180004b22
mov r8, qword [rdx + rbx*8]
jmp 0x180004b1a
cmp rcx, r8
je 0x180004b22
mov rcx, qword [rcx + 8]
cmp rdi, qword [rcx + 0x10]
jne 0x180004b11
jmp 0x180004b25
mov rcx, rbp
test rcx, rcx
cmovne rax, rcx
mov rcx, qword [0x1802ce2d0]
mov edx, 0xff
subss xmm6, dword [rcx + 0x18]
mov ecx, dword [rax + 0x18]
mulss xmm6, dword [0x180183f6c]
test sil, sil
je 0x180004b5e
cmp ecx, edx
jge 0x180004b73
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, xmm6
jmp 0x180004b6d
test ecx, ecx
jle 0x180004b71
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm0, xmm6
cvttss2si ecx, xmm0
cmp ecx, edx
jg 0x180004b7c
test ecx, ecx
mov edx, ecx
cmovs edx, ebp
movaps xmm6, xmmword [rsp + 0x40]
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov dword [rax + 0x18], edx
mov eax, edx
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
lea rcx, [0x1803040e0]
call fcn.18008ec68
cmp dword [0x1803040e0], 0xffffffff
jne 0x180004a3c
mov ecx, 0x20
call fcn.18008ea98
xorps xmm0, xmm0
lea rcx, [0x1803040b8]
mov r8, rax
mov edx, 0x10
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1803040a8], rax
mov qword [0x1803040b8], rbp
movdqa xmmword [0x1803040c0], xmm0
mov qword [0x1803040d0], 7
mov qword [0x1803040d8], 8
mov dword [0x1803040a0], 0x3f800000
call fcn.180004f98
lea rcx, [0x1800fada0]
call fcn.18008f0e0
lea rcx, [0x1803040e0]
call fcn.18008ec08
jmp 0x180004a3c
Function at 0x180004ccc
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov qword [rax + 8], rcx
push rdi
sub rsp, 0x60
mov r8d, dword [0x1802cd9dc]
mov rdi, rcx
movaps xmmword [rax - 0x18], xmm6
mov sil, dl
movaps xmmword [rax - 0x28], xmm8
movaps xmm6, xmm3
mov rax, qword gs:[0x58]
movss xmm8, dword [0x180183e74]
mov ecx, 4
mov r9, qword [rax + r8*8]
mov eax, dword [rcx + r9]
cmp dword [0x1803040e4], eax
jg 0x180004e8e
movabs rbx, 0xcbf29ce484222325
xor edx, edx
mov rcx, rbx
movabs rbp, 0x100000001b3
movzx eax, byte [rsp + rdx + 0x70]
inc rdx
xor rcx, rax
imul rcx, rbp
cmp rdx, 8
jb 0x180004d41
mov rax, qword [0x180304090]
mov rdx, qword [0x180304078]
and rax, rcx
mov r9, qword [0x180304068]
add rax, rax
mov rcx, qword [rdx + rax*8 + 8]
cmp rcx, r9
je 0x180004d92
mov r8, qword [rdx + rax*8]
jmp 0x180004d8a
cmp rcx, r8
je 0x180004d92
mov rcx, qword [rcx + 8]
cmp rdi, qword [rcx + 0x10]
jne 0x180004d81
jmp 0x180004d94
xor ecx, ecx
test rcx, rcx
mov rax, r9
cmovne rax, rcx
cmp rax, r9
jne 0x180004e15
and dword [rsp + 0x28], 0
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x20], rdi
call fcn.1800050cc
xor ecx, ecx
movzx eax, byte [rsp + rcx + 0x70]
inc rcx
xor rbx, rax
imul rbx, rbp
cmp rcx, 8
jb 0x180004dbe
and rbx, qword [0x180304090]
mov rdx, qword [0x180304078]
add rbx, rbx
mov rax, qword [0x180304068]
mov rcx, qword [rdx + rbx*8 + 8]
cmp rcx, rax
je 0x180004e0c
mov r8, qword [rdx + rbx*8]
jmp 0x180004e04
cmp rcx, r8
je 0x180004e0c
mov rcx, qword [rcx + 8]
cmp rdi, qword [rcx + 0x10]
jne 0x180004dfb
jmp 0x180004e0e
xor ecx, ecx
test rcx, rcx
cmovne rax, rcx
mov rcx, qword [0x1802ce2d0]
movss xmm0, dword [rax + 0x18]
subss xmm8, dword [rcx + 0x18]
mulss xmm8, dword [rsp + 0x90]
test sil, sil
je 0x180004e42
comiss xmm0, xmm6
jae 0x180004e50
addss xmm0, xmm8
jmp 0x180004e50
comiss xmm0, dword [0x180183d1c]
jbe 0x180004e50
subss xmm0, xmm8
comiss xmm6, xmm0
jb 0x180004e66
comiss xmm0, dword [0x180183d1c]
jae 0x180004e63
xorps xmm6, xmm6
jmp 0x180004e66
movaps xmm6, xmm0
lea r11, [rsp + 0x60]
movss dword [rax + 0x18], xmm6
mov rbx, qword [r11 + 0x18]
movaps xmm0, xmm6
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
movaps xmm8, xmmword [r11 - 0x20]
movaps xmm6, xmmword [rsp + 0x50]
mov rsp, r11
pop rdi
ret
lea rcx, [0x1803040e4]
call fcn.18008ec68
cmp dword [0x1803040e4], 0xffffffff
jne 0x180004d28
mov ecx, 0x20
call fcn.18008ea98
xorps xmm0, xmm0
lea rcx, [0x180304078]
mov r8, rax
mov edx, 0x10
mov qword [rax], rax
mov qword [rax + 8], rax
and qword [0x180304078], 0
mov qword [0x180304068], rax
movdqa xmmword [0x180304080], xmm0
mov qword [0x180304090], 7
mov qword [0x180304098], 8
mov dword [0x180304060], 0x3f800000
call fcn.180004f98
lea rcx, [0x1800fadac]
call fcn.18008f0e0
lea rcx, [0x1803040e4]
call fcn.18008ec08
jmp 0x180004d28
Function at 0x18000558c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rcx, qword [0x180304070]
mov esi, 1
add rcx, rsi
xorps xmm1, xmm1
js 0x1800055b6
cvtsi2ss xmm1, rcx
jmp 0x1800055cb
mov rax, rcx
and rcx, rsi
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm1, dword [0x180304060]
cvttss2si ecx, xmm1
cmp ecx, 0x80000000
je 0x1800055fe
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
je 0x1800055fe
unpcklps xmm1, xmm1
movmskps eax, xmm1
and eax, esi
xor eax, esi
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x18018408c]
xor ecx, ecx
comiss xmm1, xmm0
jb 0x180005623
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x180005623
movabs rax, 0x8000000000000000
mov rcx, rax
mov rdx, qword [0x180304098]
cvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x180005658
cmp rdx, 0x200
jae 0x180005655
shl rdx, 3
cmp rdx, rcx
jae 0x180005658
mov rdx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov rax, rsi
shl rax, cl
cmp rdx, rax
jbe 0x18000567f
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov rbx, qword [0x180304068]
lea rax, [rdx - 1]
or rax, rsi
mov rdi, rsi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180304078]
lea rdx, [rdi + rdi]
call fcn.180004f98
mov rax, qword [0x180304068]
lea r9, [rdi - 1]
mov qword [0x180304090], r9
mov qword [0x180304098], rdi
mov rax, qword [rax]
mov rdx, rax
cmp rax, rbx
je 0x1800057cb
mov rdx, qword [rdx]
movabs r11, 0xcbf29ce484222325
xor r8d, r8d
movzx ecx, byte [r8 + rax + 0x10]
movabs r10, 0x100000001b3
xor r11, rcx
add r8, rsi
imul r11, r10
cmp r8, 8
jb 0x1800056e4
mov rdi, qword [0x180304078]
and r11, r9
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x180005722
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x180005791
mov rcx, qword [rdi + r11*8 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rcx + 0x10]
jne 0x180005766
mov r8, qword [rcx]
cmp r8, rax
je 0x18000571b
mov r10, qword [rax + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rcx, qword [r8 + 8]
mov qword [rcx], rax
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rax + 8], rcx
jmp 0x18000571b
mov rcx, qword [rcx + 8]
cmp r8, qword [rcx + 0x10]
je 0x1800057a5
cmp qword [rdi + r11*8], rcx
jne 0x18000575c
mov r10, qword [rax + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], rax
mov qword [rcx + 8], r9
mov qword [rdx + 8], r10
mov qword [rax + 8], r8
mov qword [rdi + r11*8], rax
mov rax, rdx
cmp rdx, rbx
je 0x1800057cb
mov r9, qword [0x180304090]
jmp 0x1800056d4
mov r10, qword [rcx]
mov r9, qword [rax + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rcx, qword [r10 + 8]
mov qword [rcx], rax
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rax + 8], rcx
jmp 0x180005791
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret