joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140044cb0
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x1401b6080]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rsi, r8
mov r14, rdx
mov rbx, rcx
mov eax, dword [rcx + 8]
mov rcx, qword [rcx + 0x28]
bswap eax
test rcx, rcx
je 0x140044cf1
mov dword [rcx], eax
inc dword [rbx + 8]
mov rdi, qword [rbx + 0x20]
xor edx, edx
mov r8d, 0xd0
lea rcx, [rsp + 0x50]
call fcn.1400e09b9
xor eax, eax
mov qword [rsp + 0x58], rax
movdqa xmm0, xmmword [0x140196500]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x5f], 1
lea rax, [rsp + 0x60]
mov qword [rbp - 0x48], rax
movdqu xmmword [rbp + 8], xmm0
mov byte [rbp + 1], 1
lea rax, [rbp - 0x40]
mov qword [rbp + 0x18], rax
mov dword [rbp - 0x40], 0x67452301
mov dword [rbp - 0x3c], 0xefcdab89
mov dword [rbp - 0x38], 0x98badcfe
mov dword [rbp - 0x34], 0x10325476
mov dword [rbp - 0x30], 0xc3d2e1f0
lea rax, vtable.CryptoPP::SHA1.0
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x40], 1
mov byte [rsp + 0x38], 0
mov qword [rsp + 0x20], rdi
mov r9, qword [rbx + 0x28]
mov r8, rsi
mov rdx, r14
lea rcx, [rsp + 0x50]
call fcn.140052970
nop
mov rcx, qword [rbp + 0x10]
cmp qword [rbp + 8], rcx
cmovb rcx, qword [rbp + 8]
lea rax, [rbp - 0x40]
mov rdi, qword [rbp + 0x18]
cmp rdi, rax
jne 0x140044db0
xor eax, eax
rep stosd dword [rdi], eax
mov rcx, qword [rbp - 0x50]
cmp qword [rbp - 0x58], rcx
cmovb rcx, qword [rbp - 0x58]
lea rax, [rsp + 0x60]
mov rdi, qword [rbp - 0x48]
cmp rdi, rax
jne 0x140044dcf
xor eax, eax
rep stosd dword [rdi], eax
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400dea30
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
Function at 0x14004b7e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 8
test r8, r8
je 0x14004b942
cmp r8, 4
jb 0x14004b822
mov r9, r8
shr r9, 2
imul rax, r9, 0xfffffffffffffffc
add r8, rax
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rdx]
add rdx, 4
xor dword [rcx], eax
add rcx, 4
sub r9, 1
jne 0x14004b810
xor r10d, r10d
test r8, r8
je 0x14004b942
cmp r8, 8
jb 0x14004b924
lea r9, [rcx - 1]
lea rax, [rdx - 1]
add r9, r8
add rax, r8
cmp rcx, rax
ja 0x14004b854
cmp r9, rdx
jae 0x14004b924
cmp r8, 0x40
jb 0x14004b8e3
mov r9, r8
mov qword [rsp], rbx
and r9d, 0x3f
mov r11, r8
sub r11, r9
mov rbx, rdx
lea rax, [rcx + 0x10]
sub rbx, rcx
nop dword [rax]
movdqu xmm0, xmmword [rax - 0x10]
add r10, 0x40
movdqu xmm1, xmmword [rax + rbx - 0x10]
lea rax, [rax + 0x40]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rax + rbx - 0x40]
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm2, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rax + rbx - 0x30]
xorps xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rax + rbx - 0x20]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp r10, r11
jb 0x14004b880
mov rbx, qword [rsp]
cmp r9, 8
jb 0x14004b91f
mov r9, r8
and r9, 0xfffffffffffffff8
mov r11, rdx
lea rax, [r10 + rcx]
sub r11, rcx
nop dword [rax]
nop dword [rax + rax]
movq xmm0, qword [rax]
add r10, 8
movq xmm1, qword [r11 + rax]
lea rax, [rax + 8]
xorps xmm1, xmm0
movq qword [rax - 8], xmm1
cmp r10, r9
jb 0x14004b900
cmp r10, r8
jae 0x14004b942
sub rdx, rcx
lea r9, [r10 + rcx]
sub r8, r10
nop
movzx eax, byte [rdx + r9]
xor byte [r9], al
lea r9, [r9 + 1]
sub r8, 1
jne 0x14004b930
add rsp, 8
ret
Function at 0x14004b950
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 8
test r9, r9
je 0x14004bae6
cmp r9, 4
jb 0x14004b98a
mov r10, r9
shr r10, 2
imul rax, r10, 0xfffffffffffffffc
add r9, rax
mov eax, dword [rdx]
add rdx, 4
xor eax, dword [r8]
add r8, 4
mov dword [rcx], eax
add rcx, 4
sub r10, 1
jne 0x14004b971
xor r11d, r11d
test r9, r9
je 0x14004bae6
cmp r9, 8
jb 0x14004babd
lea r10, [rcx - 1]
lea rax, [r8 - 1]
add r10, r9
add rax, r9
cmp rcx, rax
ja 0x14004b9bc
cmp r10, r8
jae 0x14004babd
lea rax, [rdx - 1]
add rax, r9
cmp rcx, rax
ja 0x14004b9d1
cmp r10, rdx
jae 0x14004babd
mov qword [rsp + 0x10], rbx
mov qword [rsp], rdi
cmp r9, 0x40
jb 0x14004ba77
mov r10, r9
mov qword [rsp + 0x18], rsi
and r10d, 0x3f
mov rbx, r9
sub rbx, r10
mov rdi, rdx
lea rax, [r8 + 0x10]
sub rdi, r8
mov rsi, rcx
sub rsi, r8
nop word [rax + rax]
movdqu xmm0, xmmword [rdi + rax - 0x10]
add r11, 0x40
movdqu xmm1, xmmword [rax - 0x10]
movdqu xmm2, xmmword [rdi + rax]
lea rax, [rax + 0x40]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmmword [rsi + rax - 0x50], xmm1
xorps xmm2, xmm0
movdqu xmm0, xmmword [rdi + rax - 0x30]
movdqu xmm1, xmmword [rax - 0x30]
movdqu xmmword [rsi + rax - 0x40], xmm2
xorps xmm1, xmm0
movdqu xmm0, xmmword [rdi + rax - 0x20]
movdqu xmm2, xmmword [rax - 0x20]
movdqu xmmword [rsi + rax - 0x30], xmm1
xorps xmm2, xmm0
movdqu xmmword [rsi + rax - 0x20], xmm2
cmp r11, rbx
jb 0x14004ba10
mov rsi, qword [rsp + 0x18]
cmp r10, 8
jb 0x14004baaf
mov r10, r9
and r10, 0xfffffffffffffff8
mov rbx, rdx
lea rax, [r11 + r8]
sub rbx, r8
mov rdi, rcx
sub rdi, r8
nop
movq xmm1, qword [rax + rbx]
add r11, 8
movq xmm0, qword [rax]
lea rax, [rax + 8]
xorps xmm1, xmm0
movq qword [rdi + rax - 8], xmm1
cmp r11, r10
jb 0x14004ba90
mov rdi, qword [rsp]
mov rbx, qword [rsp + 0x10]
cmp r11, r9
jae 0x14004bae6
sub rdx, r8
lea r10, [r11 + r8]
sub rcx, r8
sub r9, r11
nop word [rax + rax]
movzx eax, byte [r10 + rdx]
xor al, byte [r10]
mov byte [rcx + r10], al
lea r10, [r10 + 1]
sub r9, 1
jne 0x14004bad0
add rsp, 8
ret
Function at 0x14004baf0
Capabilities:
Encode data using xor

Disassembly:
mov r9, r8
xor r11d, r11d
mov r10, rdx
mov r8d, r11d
cmp r9, 8
jb 0x14004bb27
mov rdx, r9
shr rdx, 3
imul rax, rdx, 0xfffffffffffffff8
add r9, rax
mov rax, qword [rcx]
add rcx, 8
xor rax, qword [r10]
add r10, 8
or r8, rax
sub rdx, 1
jne 0x14004bb10
mov rdx, r8
shr rdx, 0x20
or edx, r8d
mov r8d, edx
mov eax, edx
shr r8d, 8
or r8d, edx
shr eax, 0x10
and r8d, 0xff00
or r8d, eax
movzx eax, dl
shr r8d, 8
or r8d, eax
test r9, r9
je 0x14004bc18
sub rcx, r10
cmp r9, 8
jb 0x14004bbf9
mov rax, r9
lea rdx, [r10 + 4]
and rax, 0xfffffffffffffff8
xorps xmm4, xmm4
xorps xmm3, xmm3
nop dword [rax + rax]
movd xmm2, dword [rcx + rdx - 4]
xorps xmm0, xmm0
movd xmm1, dword [rdx - 4]
lea rdx, [rdx + 8]
punpcklbw xmm2, xmm0
add r11, 8
punpcklwd xmm2, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
xorps xmm2, xmm1
movd xmm1, dword [rdx - 8]
punpcklbw xmm1, xmm0
orps xmm4, xmm2
movd xmm2, dword [rcx + rdx - 8]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklwd xmm1, xmm0
xorps xmm2, xmm1
orps xmm3, xmm2
cmp r11, rax
jb 0x14004bb80
orps xmm3, xmm4
movdqa xmm0, xmm3
psrldq xmm0, 8
orps xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
orps xmm3, xmm0
movd eax, xmm3
or r8d, eax
cmp r11, r9
jae 0x14004bc18
add r10, r11
sub r9, r11
nop
movzx edx, byte [rcx + r10]
movzx eax, byte [r10]
lea r10, [r10 + 1]
xor edx, eax
or r8d, edx
sub r9, 1
jne 0x14004bc00
test r8d, r8d
sete al
ret
Function at 0x140054040
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x100
mov rax, qword [0x1401b6080]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rbx, r8
mov rdi, rdx
mov r15, rcx
xor edx, edx
mov r8d, 0xd8
lea rcx, [rsp + 0x20]
call fcn.1400e09b9
xor eax, eax
mov qword [rsp + 0x28], rax
movdqa xmm0, xmmword [0x140196500]
movdqu xmmword [rbp - 0x51], xmm0
mov byte [rbp - 0x58], 1
lea rax, [rsp + 0x30]
mov qword [rbp - 0x41], rax
movdqu xmmword [rbp + 0x17], xmm0
mov byte [rbp + 0x10], 1
lea rax, [rbp - 0x39]
mov esi, eax
and eax, 0xf
lea rcx, [rbp - 0x39]
add rcx, rax
mov qword [rbp + 0x27], rcx
movups xmm0, xmmword [0x140194930]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x140194940]
movups xmmword [rcx + 0x10], xmm1
lea rax, vtable.CryptoPP::SHA256.0
mov qword [rsp + 0x20], rax
mov r14d, 0x20
mov r8d, r14d
mov rdx, qword [r15 + 0x80]
lea rcx, [rsp + 0x20]
call fcn.14004b1b0
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.14004b1b0
mov rbx, qword [r15 + 0x80]
mov rax, qword [rsp + 0x20]
mov rdi, qword [rax + 0x78]
mov rdx, qword [rax + 0x40]
lea rax, [method.CryptoPP::BlockCipherFinal_0__class_CryptoPP::Rijndael::Enc_.virtual_16]
cmp rdx, rax
je 0x140054134
lea rcx, [rsp + 0x20]
call rdx
mov r14d, eax
mov r8d, r14d
lea rax, [fcn.14004b390]
mov rdx, rbx
lea rcx, [rsp + 0x20]
cmp rdi, rax
jne 0x140054152
call fcn.14004b390
jmp 0x140054154
call rdi
mov byte [r15 + 0x90], 0
mov rcx, qword [rbp + 0x1f]
cmp qword [rbp + 0x17], rcx
cmovb rcx, qword [rbp + 0x17]
and esi, 0xf
lea rax, [rbp - 0x39]
add rax, rsi
mov rdi, qword [rbp + 0x27]
cmp rdi, rax
jne 0x140054180
xor eax, eax
rep stosd dword [rdi], eax
mov rcx, qword [rbp - 0x49]
cmp qword [rbp - 0x51], rcx
cmovb rcx, qword [rbp - 0x51]
lea rax, [rsp + 0x30]
mov rdi, qword [rbp - 0x41]
cmp rdi, rax
jne 0x14005419f
xor eax, eax
rep stosd dword [rdi], eax
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1400dea30
mov rbx, qword [rsp + 0x148]
add rsp, 0x100
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400557a0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
movdqu xmm0, xmmword [rcx]
lea r11d, [r8 - 1]
xorps xmm0, xmmword [rdx]
mov r9d, 1
movdqu xmmword [rcx], xmm0
mov r10, rcx
cmp r11d, r9d
jbe 0x1400557ec
nop dword [rax]
mov eax, r9d
lea ecx, [r9 + 1]
add rax, rax
add rcx, rcx
add r9d, 2
aesenc xmm0, xmmword [rdx + rax*8]
movdqu xmmword [r10], xmm0
aesenc xmm0, xmmword [rdx + rcx*8]
movdqu xmmword [r10], xmm0
cmp r9d, r11d
jb 0x1400557c0
mov eax, r11d
add rax, rax
aesenc xmm0, xmmword [rdx + rax*8]
movdqu xmmword [r10], xmm0
mov eax, r8d
add rax, rax
aesenclast xmm0, xmmword [rdx + rax*8]
movdqu xmmword [r10], xmm0
ret

Function at 0x140055810
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
mov rbx, qword [rsp + 0x28]
mov r10, rcx
mov edi, dword [rsp + 0x30]
movdqu xmm2, xmmword [rbx]
movdqa xmm0, xmm2
movdqa xmm1, xmm2
xorps xmm0, xmmword [rcx]
movdqu xmmword [rcx], xmm0
movdqa xmm0, xmm2
xorps xmm1, xmmword [rdx]
movdqu xmmword [rdx], xmm1
xorps xmm0, xmmword [r8]
movdqu xmmword [r8], xmm0
xorps xmm2, xmmword [r9]
movdqu xmmword [r9], xmm2
cmp edi, 1
jbe 0x1400558ab
lea rcx, [rbx + 0x10]
lea r11d, [rdi - 1]
movdqu xmm2, xmmword [rcx]
lea rcx, [rcx + 0x10]
movdqu xmm0, xmmword [r10]
aesenc xmm0, xmm2
movdqu xmmword [r10], xmm0
movdqu xmm1, xmmword [rdx]
aesenc xmm1, xmm2
movdqu xmmword [rdx], xmm1
movdqu xmm0, xmmword [r8]
aesenc xmm0, xmm2
movdqu xmmword [r8], xmm0
movdqu xmm1, xmmword [r9]
aesenc xmm1, xmm2
movdqu xmmword [r9], xmm1
sub r11, 1
jne 0x140055863
movdqu xmm0, xmmword [r10]
mov rax, rdi
mov rdi, qword [rsp + 0x10]
add rax, rax
movdqu xmm2, xmmword [rbx + rax*8]
mov rbx, qword [rsp + 8]
aesenclast xmm0, xmm2
movdqu xmmword [r10], xmm0
movdqu xmm1, xmmword [rdx]
aesenclast xmm1, xmm2
movdqu xmmword [rdx], xmm1
movdqu xmm0, xmmword [r8]
aesenclast xmm0, xmm2
movdqu xmmword [r8], xmm0
movdqu xmm1, xmmword [r9]
aesenclast xmm1, xmm2
movdqu xmmword [r9], xmm1
ret
Function at 0x14005fde0
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 0x14005fe3d
lea rbx, [0x140183320]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x14005fe24
cmp r10, 2
jb 0x14005fe24
cmp byte [r9], r8b
jne 0x14005fe24
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 0x14005fe00
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x14005fe7f
lea rbx, [0x140183320]
cmp r8b, 0x23
jne 0x14005fe63
cmp byte [r9], r8b
jne 0x14005fe63
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 0x14005fe50
mov rbx, qword [rsp + 8]
not eax
ret
Function at 0x140064180
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x70
xor eax, eax
lea r8, [0x1401949fd]
mov dword [rsp + 0x2c], eax
lea r11, [0x140183320]
mov qword [rsp + 0x38], rax
mov r10d, 0xffffffff
mov qword [rsp + 0x60], rax
mov rbx, rcx
lea rax, str.Window
mov edx, r10d
mov qword [rsp + 0x20], rax
mov r9b, 0x57
cmp r9b, 0x23
jne 0x1400641d6
cmp byte [r8], r9b
jne 0x1400641d6
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [r11 + rcx*4]
test r9b, r9b
jne 0x1400641c3
mov ecx, dword [rbx + 0x302c]
lea rax, [0x140070ac0]
mov edi, dword [rbx + 0x3028]
not edx
mov qword [rsp + 0x30], rax
lea rax, [0x140070b50]
mov qword [rsp + 0x40], rax
lea rax, [0x140070c50]
mov qword [rsp + 0x48], rax
lea rax, [0x140070d30]
mov qword [rsp + 0x50], rax
lea rax, [0x140070e80]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x28], edx
cmp edi, ecx
jne 0x1400642f6
inc edi
test ecx, ecx
je 0x14006425a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14006425f
mov eax, 8
cmp eax, edi
cmovg edi, eax
cmp edi, ecx
jle 0x1400642f6
mov rax, qword [0x1401be640]
mov qword [rsp + 0x80], rsi
test rax, rax
je 0x140064286
inc dword [rax + 0x3bc]
movsxd rax, edi
lea rcx, [rax + rax*8]
shl rcx, 3
call qword [0x1400ea8f8]
mov rdx, qword [rbx + 0x3030]
mov rsi, rax
test rdx, rdx
je 0x1400642e1
movsxd rcx, dword [rbx + 0x3028]
lea r8, [rcx + rcx*8]
mov rcx, rax
shl r8, 3
call fcn.1400e09b3
mov rcx, qword [rbx + 0x3030]
test rcx, rcx
je 0x1400642db
mov rax, qword [0x1401be640]
test rax, rax
je 0x1400642db
dec dword [rax + 0x3bc]
call qword [0x1400ea908]
mov qword [rbx + 0x3030], rsi
mov rsi, qword [rsp + 0x80]
mov dword [rbx + 0x302c], edi
movsxd rax, dword [rbx + 0x3028]
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
lea rcx, [rax + rax*8]
mov rax, qword [rbx + 0x3030]
movups xmmword [rax + rcx*8], xmm0
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + rcx*8 + 0x10], xmm1
movaps xmm1, xmmword [rsp + 0x50]
movups xmmword [rax + rcx*8 + 0x20], xmm0
movsd xmm0, qword [rsp + 0x60]
movups xmmword [rax + rcx*8 + 0x30], xmm1
movsd qword [rax + rcx*8 + 0x40], xmm0
inc dword [rbx + 0x3028]
mov byte [rbx], 1
mov rbx, qword [rsp + 0x88]
add rsp, 0x70
pop rdi
ret
Function at 0x140065b50
Capabilities:
Hash data with crc32

Disassembly:
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10d, 0xffffffff
mov eax, r10d
test r9b, r9b
je 0x140065ba0
lea r11, [0x140183320]
nop dword [rax]
cmp r9b, 0x23
jne 0x140065b83
cmp byte [r8], r9b
jne 0x140065b83
cmp byte [r8 + 1], r9b
cmove eax, r10d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [r11 + rdx*4]
test r9b, r9b
jne 0x140065b70
mov rcx, qword [0x1401be640]
not eax
movsxd rdx, dword [rcx + 0x1a68]
mov r9, qword [rcx + 0x1a70]
mov r10, rdx
shl r10, 4
add r10, r9
test rdx, rdx
je 0x140065c01
nop word [rax + rax]
mov r8, rdx
shr r8, 1
mov rcx, r8
add rcx, rcx
cmp dword [r9 + rcx*8], eax
jae 0x140065bf9
lea r9, [r9 + rcx*8]
mov rcx, 0xffffffffffffffff
sub rcx, r8
add r9, 0x10
add rdx, rcx
jmp 0x140065bfc
mov rdx, r8
test rdx, rdx
jne 0x140065bd0
cmp r9, r10
je 0x140065c10
cmp dword [r9], eax
jne 0x140065c10
mov rax, qword [r9 + 8]
ret
xor eax, eax
ret
Function at 0x14006aef0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [0x1401be640]
lea r10, [0x140183320]
mov r8, rcx
mov rbx, qword [rax + 0x1a80]
add rbx, 0xc0
movsxd r9, dword [rbx]
mov rax, qword [rbx + 8]
mov edi, dword [rax + r9*4 - 4]
not edi
movzx eax, r8b
movzx ecx, dil
xor rcx, rax
shr edi, 8
mov rax, r8
shr rax, 8
movzx edx, al
mov rax, r8
xor edi, dword [r10 + rcx*4]
movzx ecx, dil
xor rdx, rcx
shr edi, 8
shr rax, 0x10
xor edi, dword [r10 + rdx*4]
movzx ecx, dil
shr edi, 8
movzx edx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x18
xor edi, dword [r10 + rdx*4]
movzx ecx, dil
shr edi, 8
movzx edx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x20
xor edi, dword [r10 + rdx*4]
movzx ecx, dil
shr edi, 8
movzx edx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x28
xor edi, dword [r10 + rdx*4]
movzx ecx, dil
shr edi, 8
movzx edx, al
mov rax, r8
xor rdx, rcx
shr r8, 0x38
shr rax, 0x30
xor edi, dword [r10 + rdx*4]
movzx ecx, dil
shr edi, 8
movzx edx, al
xor rdx, rcx
xor edi, dword [r10 + rdx*4]
movzx ecx, dil
xor rcx, r8
shr edi, 8
mov r8d, dword [rbx + 4]
xor edi, dword [r10 + rcx*4]
not edi
cmp r9d, r8d
jne 0x14006b010
lea ecx, [r9 + 1]
test r8d, r8d
je 0x14006affc
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x14006b001
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.140071ca0
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], edi
inc dword [rbx]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x14007b6e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
test r9d, 0xff000000
je 0x14007b873
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
movss xmm3, dword [rsp + 0x70]
xorps xmm0, xmm0
comiss xmm3, xmm0
mov edi, r9d
mov rsi, r8
mov rbp, rdx
mov rbx, rcx
jbe 0x14007b750
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
call fcn.14007b0a0
mov r8d, dword [rbx + 0x80]
mov r9d, edi
mov rdx, qword [rbx + 0x88]
mov rcx, rbx
call fcn.14007a700
mov dword [rbx + 0x80], 0
jmp 0x14007b85f
mov edx, 6
movaps xmmword [rsp + 0x30], xmm6
mov r8d, 4
call fcn.140079640
movzx edx, word [rbx + 0x48]
mov rax, qword [rbx + 0x38]
movss xmm1, dword [rsi]
movss xmm2, dword [rbp + 4]
movss xmm3, dword [rbp]
lea ecx, [rdx + 1]
movss xmm6, dword [rax + 4]
movss xmm5, dword [rax]
movss xmm4, dword [rsi + 4]
mov rax, qword [rbx + 0x58]
mov word [rax], dx
mov rax, qword [rbx + 0x58]
mov word [rax + 2], cx
lea ecx, [rdx + 2]
mov rax, qword [rbx + 0x58]
mov word [rax + 4], cx
mov rax, qword [rbx + 0x58]
mov word [rax + 6], dx
add dx, 3
mov rax, qword [rbx + 0x58]
mov word [rax + 8], cx
mov rax, qword [rbx + 0x58]
mov word [rax + 0xa], dx
movsd xmm0, qword [rbp]
mov rax, qword [rbx + 0x50]
movsd qword [rax], xmm0
mov rax, qword [rbx + 0x50]
movss dword [rax + 8], xmm5
movss dword [rax + 0xc], xmm6
mov rax, qword [rbx + 0x50]
mov dword [rax + 0x10], edi
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x14], xmm1
movss dword [rax + 0x18], xmm2
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x1c], xmm5
movss dword [rax + 0x20], xmm6
mov rax, qword [rbx + 0x50]
mov dword [rax + 0x24], edi
movsd xmm0, qword [rsi]
mov rax, qword [rbx + 0x50]
movsd qword [rax + 0x28], xmm0
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x30], xmm5
movss dword [rax + 0x34], xmm6
mov rax, qword [rbx + 0x50]
mov dword [rax + 0x38], edi
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x3c], xmm3
movss dword [rax + 0x40], xmm4
mov rax, qword [rbx + 0x50]
movss dword [rax + 0x44], xmm5
movss dword [rax + 0x48], xmm6
mov rax, qword [rbx + 0x50]
movaps xmm6, xmmword [rsp + 0x30]
mov dword [rax + 0x4c], edi
add qword [rbx + 0x50], 0x50
add dword [rbx + 0x48], 4
add qword [rbx + 0x58], 0xc
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
Function at 0x14008e9b0
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x310]
sub rsp, 0x410
mov rax, qword [0x1401b6080]
xor rax, rsp
mov qword [rbp + 0x300], rax
mov rdi, rcx
mov qword [rsp + 0x48], rcx
xor esi, esi
mov r8d, 0x104
lea rdx, [rbp + 0xf0]
xor ecx, ecx
call qword [0x1400ea238]
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp - 0x20]
call fcn.1400e09b9
lea rcx, [rbp - 0x20]
call fcn.140035080
nop
lea rdx, [rbp + 0xf0]
lea rax, [rbp + 0xf0]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x14008ea30
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rsi
lea rcx, [rsp + 0x20]
call fcn.1400105d0
nop
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 7
cmova rdx, qword [rsp + 0x20]
mov r8d, 0x21
lea rcx, [rbp - 0x10]
call fcn.140035200
xor r8d, r8d
test rax, rax
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x20]
je 0x14008ea99
add rcx, rax
xor edx, edx
call qword [0x1400ea4f8]
jmp 0x14008eaa8
add rcx, rax
mov edx, 2
call qword [0x1400ea3c8]
nop
lea rcx, [rsp + 0x20]
call fcn.14000d0e0
xor edx, edx
mov r8d, 2
lea rcx, [rbp - 0x20]
call qword [0x1400ea520]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x20]
call qword [0x1400ea528]
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [0x1400ea520]
mov rcx, qword [rsp + 0x50]
add rcx, qword [rsp + 0x58]
call fcn.1400dedfc
mov rbx, rax
mov r8, qword [rsp + 0x58]
add r8, qword [rsp + 0x50]
mov rdx, rax
lea rcx, [rbp - 0x20]
call qword [0x1400ea510]
mov byte [rsp + 0x70], 0
mov qword [rbp - 0x4c], rsi
mov dword [rbp - 0x44], 0x67452301
mov dword [rbp - 0x40], 0xefcdab89
mov dword [rbp - 0x3c], 0x98badcfe
mov dword [rbp - 0x38], 0x10325476
mov r8d, dword [rsp + 0x50]
add r8d, dword [rsp + 0x58]
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14008bfd0
lea rcx, [rsp + 0x70]
call fcn.14008c0a0
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.14008c310
mov rcx, rbx
call fcn.1400dea50
nop
mov rcx, qword [rbp - 0x20]
movsxd rdx, dword [rcx + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rdx - 0x20], rax
mov rcx, qword [rbp - 0x20]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0xb0]
mov dword [rbp + rdx - 0x24], r8d
lea rcx, [rbp - 0x10]
call fcn.14000a9f0
lea rcx, [rbp - 8]
call qword [0x1400ea508]
lea rcx, [rbp + 0x90]
call qword [0x1400ea3f0]
mov rax, rdi
mov rcx, qword [rbp + 0x300]
xor rcx, rsp
call fcn.1400dea30
lea r11, [rsp + 0x410]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret