joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14004ec80
Capabilities:
Check process job object
Get process image filename

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x1409b0280]
xor rax, rsp
mov qword [rsp + 0x70], rax
xor esi, esi
mov ecx, 0x2010
call fcn.140175580
mov r14, rax
test rax, rax
je 0x14004ee6b
mov rdi, rax
xor eax, eax
mov ecx, 0x2010
rep stosb byte [rdi], al
mov dword [r14 + 4], 0x400
mov qword [rsp + 0x20], rsi
mov r9d, 0x2010
mov r8, r14
lea edx, [rsi + 3]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_QueryInformationJobObject]
test eax, eax
je 0x14004ee63
mov r13d, esi
mov ebp, esi
mov eax, dword [r14]
test eax, eax
je 0x14004ee5c
nop dword [rax]
mov eax, ebp
mov rdi, qword [r14 + rax*8 + 8]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov eax, eax
cmp rdi, rax
jne 0x14004ed2c
inc r13d
jmp 0x14004ee4f
mov r8d, edi
xor edx, edx
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r15, rax
test rax, rax
je 0x14004ee4f
mov ecx, 0x1000
call fcn.140175580
mov rbx, rax
test rax, rax
je 0x14004ee46
mov rdi, rax
xor eax, eax
mov ecx, 0x1000
rep stosb byte [rdi], al
mov r8d, 0x1000
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_K32GetProcessImageFileNameA]
test eax, eax
je 0x14004ee3e
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rsi
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x14004eda0
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140011c50
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
mov r8d, Ordinal_33
lea rdx, str.WindowsSystem32conhost.exe
lea rcx, [rsp + 0x30]
call fcn.140011c50
lea r9, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova r9, qword [rsp + 0x30]
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rdx, qword [rsp + 0x60]
call fcn.140013170
mov rdi, rax
lea rcx, [rsp + 0x30]
call fcn.140010b40
nop
lea rcx, [rsp + 0x50]
call fcn.140010b40
lea eax, [r13 + 1]
cmp rdi, 0xffffffffffffffff
cmove eax, r13d
mov r13d, eax
mov rcx, rbx
call fcn.14017007c
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc ebp
mov eax, dword [r14]
cmp ebp, eax
jb 0x14004ed10
cmp r13d, eax
setne sil
mov rcx, r14
call fcn.14017007c
mov eax, esi
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14015a1f0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
Function at 0x14004f350
Capabilities:
Query environment variable

Disassembly:
push rdi
sub rsp, 0x50
mov rax, qword [0x1409b0280]
xor rax, rsp
mov qword [rsp + 0x40], rax
xor ecx, ecx
mov edx, 0x8000
mov r8d, 0x3000
lea r9d, [rcx + 4]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdi, rax
test rax, rax
jne 0x14004f397
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14015a1f0
add rsp, 0x50
pop rdi
ret
xor ecx, ecx
mov qword [rsp + 0x70], rsi
mov edx, 0x1000000
mov r8d, 0x203000
lea r9d, [rcx + 4]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rsi, rax
test rax, rax
jne 0x14004f3d3
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
jmp 0x14004f51e
mov qword [rsp + 0x60], rbx
xor ecx, ecx
mov qword [rsp + 0x68], rbp
mov rdx, rsi
mov qword [rsp + 0x78], r14
mov r14d, 1
mov r8d, r14d
call qword [sym.imp.KERNEL32.dll_GlobalGetAtomNameA]
xor ebx, ebx
lea rcx, str._ThisIsAnInvalidEnvironmentVariableName_________:__
test eax, eax
mov ebp, ebx
mov r8d, 0x1000000
mov rdx, rsi
setne bpl
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov rdx, rsi
lea rcx, str._ThisIsAnInvalidFileName_________:__
test eax, eax
cmovne ebp, r14d
call qword [sym.imp.KERNEL32.dll_GetBinaryTypeW]
mov r9d, 0x1000
mov qword [rsp + 0x20], rbx
test eax, eax
lea edx, [rbx + 0x45]
mov r8, rsi
cmovne ebp, r14d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapQueryInformation]
mov r9d, 0x1000
mov qword [rsp + 0x20], rbx
test eax, eax
lea rcx, [rbx - 1]
mov r8, rsi
mov edx, 0x69696969
cmovne ebp, r14d
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, rsi
lea rcx, [rbx - 1]
test eax, eax
cmovne ebp, r14d
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
mov qword [rsp + 0x28], rsi
lea rdx, [fcn.14004f350]
test eax, eax
mov qword [rsp + 0x20], rbx
cmovne ebp, r14d
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetWriteWatch]
mov r14, qword [rsp + 0x78]
test eax, eax
je 0x14004f4f0
test ebp, ebp
jne 0x14004f4f0
lea rax, [rsp + 0x38]
mov qword [rsp + 0x30], 0x1000
mov qword [rsp + 0x28], rax
mov r9, rdi
lea rax, [rsp + 0x30]
mov r8d, 0x1000
mov rdx, rsi
mov qword [rsp + 0x20], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetWriteWatch]
test eax, eax
jne 0x14004f4f0
cmp qword [rsp + 0x30], rbx
setne bl
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor edx, edx
mov r8d, 0x8000
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rbp, qword [rsp + 0x68]
mov eax, ebx
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14015a1f0
add rsp, 0x50
pop rdi
ret
Function at 0x140062d50
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 0x140062dad
lea rbx, [0x140902a20]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x140062d94
cmp r10, 2
jb 0x140062d94
cmp byte [r9], r8b
jne 0x140062d94
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 0x140062d70
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x140062def
lea rbx, [0x140902a20]
cmp r8b, 0x23
jne 0x140062dd3
cmp byte [r9], r8b
jne 0x140062dd3
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 0x140062dc0
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x140062f30
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push r14
sub rsp, 0x20
mov r14, r8
test r8, r8
je 0x140062f4a
mov qword [r8], 0
lea rdx, [0x140984870]
call fcn.140062e00
mov rbx, rax
test rax, rax
jne 0x140062f6a
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.140175f38
mov esi, eax
cmp eax, 0xffffffff
je 0x140063038
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 2]
call fcn.140170870
test eax, eax
jne 0x140063038
mov rcx, rbx
call fcn.140175f38
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x140063038
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.140170870
test eax, eax
jne 0x140063038
cmp rdi, 0xffffffffffffffff
je 0x140063038
mov rax, qword [0x1409f44f8]
test rax, rax
je 0x140062fda
inc dword [rax + 0xec]
mov rcx, rdi
call fcn.140175580
mov rsi, rax
test rax, rax
je 0x140063038
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call fcn.1401704a0
mov rcx, rbx
cmp rax, rdi
je 0x140063026
call fcn.14016bc48
mov rax, qword [0x1409f44f8]
test rax, rax
je 0x14006301c
dec dword [rax + 0xec]
mov rcx, rsi
call fcn.14017007c
jmp 0x140063040
call fcn.14016bc48
test r14, r14
je 0x140063033
mov qword [r14], rdi
mov rax, rsi
jmp 0x140063042
mov rcx, rbx
call fcn.14016bc48
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 0x1400650f0
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x20
movsxd r8, dword [rcx + 0xd0]
mov rax, qword [rcx + 0xd8]
movsxd r9, edx
mov ebx, dword [rax + r8*4 - 4]
lea r8, [0x140902a20]
not ebx
movzx eax, r9b
movzx ecx, bl
xor rcx, rax
shr ebx, 8
mov eax, r9d
shr eax, 8
movzx edx, al
mov eax, r9d
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rdx, rcx
shr ebx, 8
shr eax, 0x10
xor ebx, dword [r8 + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
xor rdx, rcx
xor ebx, dword [r8 + rdx*4]
movzx ecx, bl
shr ebx, 8
mov edx, r9d
shr rdx, 0x18
xor rdx, rcx
mov rcx, qword [0x1409f44f8]
xor ebx, dword [r8 + rdx*4]
not ebx
cmp dword [rcx + 0x3edc], ebx
jne 0x140065186
mov r8, r9
mov edx, 4
mov ecx, ebx
call fcn.140076a00
mov eax, ebx
add rsp, 0x20
pop rbx
ret
Function at 0x140070890
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x1409b0280]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x1409f44f8]
mov edi, ecx
cmp byte [rbx + 0x424d], 0
jne 0x1400708f1
cmp byte [rbx + 0x424e], 0
jne 0x1400708f1
movsx r9d, word [rbx + 0x5332]
lea r8, str.Tooltip__02d
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.140062c10
test dil, 1
je 0x140070a18
jmp 0x14007097a
movss xmm1, dword [rbx + 0x38b0]
lea r8, str.Tooltip__02d
movsx r9d, word [rbx + 0x5332]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x140986088]
mulss xmm1, dword [0x140986074]
lea edx, [rax + 0x10]
addss xmm0, dword [rbx + 0xd94]
addss xmm1, dword [rbx + 0xd98]
mov qword [rbx + 0x3fc8], rax
mov dword [rbx + 0x3fb4], 1
movss dword [rbx + 0x3fc0], xmm0
movss dword [rbx + 0x3fc4], xmm1
movss xmm0, dword [rbx + 0x390c]
mulss xmm0, dword [0x140985fa4]
or dword [rbx + 0x3fb0], 0x41
movss dword [rbx + 0x4010], xmm0
call fcn.140062c10
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x1400709d0
lea r11, [0x140902a20]
nop word [rax + rax]
cmp r9b, 0x23
jne 0x1400709b3
cmp byte [r8], r9b
jne 0x1400709b3
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x1400709a0
not ecx
call fcn.140069a60
test rax, rax
je 0x140070a18
cmp byte [rax + 0x96], 0
je 0x140070a18
mov byte [rax + 0x9d], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xb8], 1
lea rcx, [rsp + 0x20]
inc word [rbx + 0x5332]
mov edx, reloc.WS2_32.dll_recv
movsx r9d, word [rbx + 0x5332]
call fcn.140062c10
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x20c0347
call fcn.14006c160
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.14015a1f0
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret

Function at 0x140075cb0
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x1409f44f8]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x140075d13
mov qword [rsp], rbx
lea rbx, [0x140902a20]
nop dword [rax]
cmp r9b, 0x23
jne 0x140075cf3
cmp byte [r8], r9b
jne 0x140075cf3
cmp byte [r8 + 1], r9b
cmove eax, r11d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [rbx + rdx*4]
test r9b, r9b
jne 0x140075ce0
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x5390]
xor r8d, r8d
not eax
test ecx, ecx
jle 0x140075d47
mov r10, qword [r10 + 0x5398]
mov r9, rcx
mov edx, r8d
lea rcx, [r10 + 8]
cmp dword [rcx], eax
je 0x140075d4e
inc r8d
inc rdx
add rcx, 0x48
cmp rdx, r9
jl 0x140075d34
xor eax, eax
add rsp, 8
ret
movsxd rax, r8d
lea rcx, [rax + rax*8]
lea rax, [r10 + rcx*8]
add rsp, 8
ret
Function at 0x140099e60
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov edx, dword [rcx + 0x10]
lea r11, [rcx + 0x10]
mov edi, edx
mov rbx, rcx
and edi, 7
je 0x140099ec5
cmp edx, edi
jge 0x140099ebb
mov r9, qword [rcx + 8]
mov r10d, dword [rcx + 0x14]
mov rax, qword [rbx]
cmp rax, r9
jb 0x140099e93
xor cl, cl
jmp 0x140099e9c
movzx ecx, byte [rax]
inc rax
mov qword [rbx], rax
movzx eax, cl
mov ecx, edx
shl eax, cl
add edx, 8
or eax, r10d
mov dword [r11], edx
mov dword [rbx + 0x14], eax
mov r10d, eax
cmp edx, 0x18
jle 0x140099e87
lea r11, [rbx + 0x10]
mov ecx, edi
shr dword [rbx + 0x14], cl
sub edx, edi
mov dword [r11], edx
xor r9d, r9d
mov ecx, edx
test edx, edx
jle 0x140099efe
mov eax, dword [rbx + 0x14]
lea rdx, [rsp + 0x30]
movzx r10d, al
nop word [rax + rax]
shr eax, 8
inc r9d
mov byte [rdx], r10b
lea rdx, [rdx + 1]
sub ecx, 8
mov dword [rbx + 0x14], eax
movzx r10d, al
test ecx, ecx
jg 0x140099ee0
mov dword [r11], ecx
movsxd rcx, r9d
cmp rcx, 4
jge 0x140099f32
mov r8, qword [rbx + 8]
nop dword [rax + rax]
mov rax, qword [rbx]
cmp rax, r8
jb 0x140099f1c
xor dl, dl
jmp 0x140099f25
movzx edx, byte [rax]
inc rax
mov qword [rbx], rax
mov byte [rsp + rcx + 0x30], dl
inc rcx
cmp rcx, 4
jl 0x140099f10
movzx eax, byte [rsp + 0x30]
movzx r8d, byte [rsp + 0x31]
movzx ecx, byte [rsp + 0x33]
shl r8d, 8
add r8d, eax
shl ecx, 8
movzx eax, byte [rsp + 0x32]
add ecx, eax
mov eax, r8d
xor eax, 0xffff
cmp ecx, eax
je 0x140099f88
mov rax, qword gs:[0x58]
mov edx, Ordinal_27
mov rcx, qword [rax]
lea rax, str.zlib_corrupt
mov qword [rdx + rcx], rax
xor eax, eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rcx, qword [rbx]
mov edi, r8d
add rcx, rdi
cmp rcx, qword [rbx + 8]
jbe 0x140099fc0
mov rax, qword gs:[0x58]
mov edx, Ordinal_27
mov rcx, qword [rax]
lea rax, str.read_past_buffer
mov qword [rdx + rcx], rax
xor eax, eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rdx, qword [rbx + 0x18]
lea rax, [r8 + rdx]
cmp rax, qword [rbx + 0x28]
jbe 0x140099fda
mov rcx, rbx
call fcn.1400995a0
test eax, eax
je 0x140099f7b
mov rdx, qword [rbx]
mov r8, rdi
mov rcx, qword [rbx + 0x18]
call fcn.140195690
add qword [rbx], rdi
mov eax, 1
add qword [rbx + 0x18], rdi
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1400a5910
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x28
cmp byte [0x1409852f3], 0
mov eax, dword [0x1409852f0]
mov dword [rsp + 0x30], eax
je 0x1400a59fe
xor ecx, ecx
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1400a59ca
movdqa xmm3, xmmword [0x140986240]
lea rcx, [rsp + 0x30]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140986390]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140986390]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x1409862c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140986360]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140986430]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
call fcn.1401753dc
add rsp, 0x28
ret
lea r8, [rsp + 0x30]
nop
mov eax, 0x94f2095
lea r8, [r8 + 1]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul edx, eax, 0x37
add dl, cl
inc ecx
xor byte [r8 - 1], dl
cmp ecx, 4
jl 0x1400a59d0
lea rcx, [rsp + 0x30]
call fcn.1401753dc
add rsp, 0x28
ret

Function at 0x1400a5a10
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x28
cmp byte [0x14098523f], 0
mov eax, dword [0x14098523c]
mov dword [rsp + 0x30], eax
je 0x1400a5afe
xor ecx, ecx
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1400a5aca
movdqa xmm3, xmmword [0x140986240]
lea rcx, [rsp + 0x30]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140986390]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140986390]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x1409862c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140986360]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140986430]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
call fcn.1401753dc
add rsp, 0x28
ret
lea r8, [rsp + 0x30]
nop
mov eax, 0x94f2095
lea r8, [r8 + 1]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul edx, eax, 0x37
add dl, cl
inc ecx
xor byte [r8 - 1], dl
cmp ecx, 4
jl 0x1400a5ad0
lea rcx, [rsp + 0x30]
call fcn.1401753dc
add rsp, 0x28
ret
Function at 0x1400aef00
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rbx, r8
mov r15, rdx
mov r13, rcx
mov r8, qword [r8 + 0x10]
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1400aef2e
mov rdx, qword [rbx]
movabs rdi, 0xcbf29ce484222325
xor r12d, r12d
mov ecx, r12d
test r8, r8
je 0x1400aef63
movabs r9, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor rdi, rax
imul rdi, r9
inc rcx
cmp rcx, r8
jb 0x1400aef50
mov r9, rdi
mov r8, rbx
lea rdx, [rsp + 0x20]
mov rcx, r13
call fcn.1400af4a0
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x1400aef8c
mov qword [r15], rcx
mov byte [r15 + 8], r12b
jmp 0x1400af131
movabs rax, 0x492492492492492
cmp qword [r13 + 0x10], rax
je 0x1400af14c
lea rbp, [r13 + 8]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], r12
mov ecx, Ordinal_60
call fcn.14015a210
mov rsi, rax
mov qword [rsp + 0x38], rax
mov rdx, rbx
lea rcx, [rax + 0x10]
call fcn.140012d30
mov qword [rsi + 0x30], r12
mov rcx, qword [r13 + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x1400aefe4
cvtsi2ss xmm0, rcx
jmp 0x1400aeff9
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [r13 + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1400af00c
cvtsi2ss xmm1, rcx
jmp 0x1400af021
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [r13]
seta al
test al, al
je 0x1400af0d9
mov rcx, r13
call fcn.1400af170
mov rax, qword [r13 + 0x30]
and rax, rdi
add rax, rax
mov rdx, qword [r13 + 0x18]
mov rbx, qword [rdx + rax*8 + 8]
mov rcx, qword [rbp]
cmp rbx, rcx
jne 0x1400af065
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], r12
jmp 0x1400af0ce
mov r12, qword [rdx + rax*8]
mov rbp, qword [rsi + 0x20]
nop dword [rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1400af082
mov rdx, qword [rdx]
lea rcx, [rsi + 0x10]
cmp qword [rsi + 0x28], 0xf
jbe 0x1400af091
mov rcx, qword [rsi + 0x10]
cmp rbp, rax
jne 0x1400af0a2
mov r8, rbp
call fcn.1401960d0
test eax, eax
je 0x1400af0ad
cmp rbx, r12
je 0x1400af0bc
mov rbx, qword [rbx + 8]
jmp 0x1400af070
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
jmp 0x1400af0ca
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 0
lea rbp, [r13 + 8]
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rdx, qword [rsp + 0x20]
mov r8, qword [rdx + 8]
inc qword [r13 + 0x10]
mov qword [rsi], rdx
mov qword [rsi + 8], r8
mov qword [r8], rsi
mov qword [rdx + 8], rsi
mov rcx, qword [r13 + 0x18]
mov rax, qword [r13 + 0x30]
and rax, rdi
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [rbp]
jne 0x1400af112
mov qword [rcx + rax*8], rsi
jmp 0x1400af124
cmp r9, rdx
jne 0x1400af11d
mov qword [rcx + rax*8], rsi
jmp 0x1400af129
cmp qword [rcx + rax*8 + 8], r8
jne 0x1400af129
mov qword [rcx + rax*8 + 8], rsi
mov qword [r15], rsi
mov byte [r15 + 8], 1
mov rax, r15
mov rbx, qword [rsp + 0x98]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.unordered_map_set_too_long
call fcn.140158bb0
int3
Function at 0x1400b5540
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 8
xor eax, eax
mov r10, rcx
mov r9d, eax
test r8d, r8d
jle 0x1400b5612
cmp r8d, 8
jb 0x1400b5612
mov qword [rsp + 0x10], rbx
lea r11, [rdx + 4]
mov qword [rsp], rdi
sub rcx, rdx
movsxd rbx, r8d
mov rdi, 0xfffffffffffffffc
and rbx, 0xfffffffffffffff8
xorps xmm4, xmm4
sub rdi, rdx
xorps xmm3, xmm3
nop word [rax + rax]
movd xmm2, dword [rcx + r11 - 4]
xorps xmm0, xmm0
movd xmm1, dword [r11 - 4]
lea r11, [r11 + 8]
punpcklbw xmm2, xmm0
lea rax, [rdi + r11]
punpcklwd xmm2, xmm0
add r9d, 8
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
xorps xmm2, xmm1
movd xmm1, dword [r11 - 8]
punpcklbw xmm1, xmm0
orps xmm4, xmm2
movd xmm2, dword [rcx + r11 - 8]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklwd xmm1, xmm0
xorps xmm2, xmm1
orps xmm3, xmm2
cmp rax, rbx
jl 0x1400b5590
mov rdi, qword [rsp]
orps xmm3, xmm4
mov rbx, qword [rsp + 0x10]
movdqa xmm0, xmm3
psrldq xmm0, 8
orps xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
orps xmm3, xmm0
movd eax, xmm3
movsxd r11, r9d
movsxd r9, r8d
cmp r11, r9
jge 0x1400b5648
sub r10, rdx
lea rcx, [r11 + rdx]
sub r9, r11
nop word [rax + rax]
movzx r8d, byte [rcx + r10]
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
xor r8d, edx
or eax, r8d
sub r9, 1
jne 0x1400b5630
add rsp, 8
ret
Function at 0x1400b68b0
Capabilities:
Hash data using sha256
Hash data using sha384
Hash data using sha512

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
xor edi, edi
mov rcx, qword [rcx + 0x78]
test rcx, rcx
je 0x1400b68e1
mov rax, qword [0x1409f4530]
test rax, rax
je 0x1400b68d8
call rax
jmp 0x1400b68dd
call fcn.14017007c
mov qword [rbx + 0x78], rdi
mov rax, qword [0x1409f4538]
mov ecx, 0x3e8
test rax, rax
je 0x1400b68f6
call rax
jmp 0x1400b68fb
call fcn.140175580
mov qword [rbx + 0x78], rax
test rax, rax
jne 0x1400b6914
mov eax, 0xffffff83
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
xor edx, edx
mov r8d, 0x3e8
mov rcx, rax
call fcn.140195d30
mov rcx, qword [rbx + 0x78]
add rcx, 0x1b0
je 0x1400b6ad9
mov rax, qword [rbx + 0xa8]
xorps xmm0, xmm0
mov qword [rcx + 0x70], rax
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
mov dword [rcx], 0x6a09e667
mov dword [rcx + 4], 0xbb67ae85
mov dword [rcx + 8], 0x3c6ef372
mov dword [rcx + 0xc], 0xa54ff53a
mov dword [rcx + 0x10], 0x510e527f
mov dword [rcx + 0x14], 0x9b05688c
mov dword [rcx + 0x18], 0x1f83d9ab
mov dword [rcx + 0x1c], 0x5be0cd19
mov qword [rcx + 0x60], rdi
mov dword [rcx + 0x68], edi
mov rcx, qword [rbx + 0x78]
add rcx, 0x228
je 0x1400b6ad9
mov rax, qword [rbx + 0xa8]
mov qword [rcx + 0xd8], rax
movabs rax, 0xcbbb9d5dc1059ed8
mov qword [rcx], rax
movabs rax, 0x629a292a367cd507
mov qword [rcx + 8], rax
movabs rax, 0x9159015a3070dd17
mov qword [rcx + 0x10], rax
movabs rax, 0x152fecd8f70e5939
mov qword [rcx + 0x18], rax
movabs rax, 0x67332667ffc00b31
mov qword [rcx + 0x20], rax
movabs rax, 0x8eb44a8768581511
mov qword [rcx + 0x28], rax
movabs rax, 0xdb0c2e0d64f98fa7
mov qword [rcx + 0x30], rax
movabs rax, 0x47b5481dbefa4fa4
mov qword [rcx + 0x38], rax
mov dword [rcx + 0xc0], edi
mov qword [rcx + 0xc8], rdi
mov qword [rcx + 0xd0], rdi
mov rcx, qword [rbx + 0x78]
add rcx, 0x308
je 0x1400b6ad9
mov rax, qword [rbx + 0xa8]
mov qword [rcx + 0xd8], rax
movabs rax, 0x6a09e667f3bcc908
mov qword [rcx], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rcx + 8], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rcx + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rcx + 0x18], rax
movabs rax, 0x510e527fade682d1
mov qword [rcx + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rcx + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rcx + 0x30], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rcx + 0x38], rax
xor eax, eax
mov dword [rcx + 0xc0], edi
mov qword [rcx + 0xc8], rdi
mov qword [rcx + 0xd0], rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x30]
mov eax, 0xffffff53
add rsp, 0x20
pop rdi
ret