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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x20
mov r15, qword [rcx + 8]
xor ebp, ebp
mov r13d, dword [rdx + 0x80]
dec r15
mov r14, rdx
mov eax, 0x811c9dc5
mov r8d, ebp
test r13, r13
je 0x1400357e2
nop dword [rax]
nop word [rax + rax]
xor eax, dword [rdx + r8*4]
inc r8
imul eax, eax, 0x1000193
cmp r8, r13
jb 0x1400357d0
mov edi, eax
lea rax, [rcx + 0x18]
mov qword [rsp + 0x68], rax
and rdi, r15
mov qword [rsp + 0x70], r12
nop word [rax + rax]
imul rbx, rdi, 0x88
add rbx, qword [rcx]
mov esi, dword [rbx + 0x80]
mov r12d, esi
cmp esi, dword [rax + 0x80]
jne 0x140035832
lea r8, [rsi*4]
mov rdx, rax
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14003586b
cmp esi, r13d
jne 0x14003584e
lea r8, [r12*4]
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400358c7
inc rdi
add rdi, rbp
inc rbp
and rdi, r15
cmp rbp, r15
ja 0x1400358cc
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
jmp 0x140035800
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [r14 + 0x20]
movups xmmword [rbx + 0x20], xmm0
movups xmm1, xmmword [r14 + 0x30]
movups xmmword [rbx + 0x30], xmm1
movups xmm0, xmmword [r14 + 0x40]
movups xmmword [rbx + 0x40], xmm0
movups xmm1, xmmword [r14 + 0x50]
movups xmmword [rbx + 0x50], xmm1
movups xmm0, xmmword [r14 + 0x60]
movups xmmword [rbx + 0x60], xmm0
movups xmm1, xmmword [r14 + 0x70]
movups xmmword [rbx + 0x70], xmm1
mov eax, dword [r14 + 0x80]
mov dword [rbx + 0x80], eax
mov rax, qword [rsp + 0x60]
inc qword [rax + 0x10]
mov rax, rbx
jmp 0x1400358ce
xor eax, eax
mov r12, qword [rsp + 0x70]
add rsp, 0x20
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140035d80
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
cmp qword [rcx + 0x10], 0
mov r15, rdx
mov rsi, rcx
je 0x140035eb0
mov rbx, qword [rdx]
lea r14, [rcx + 0x18]
test rbx, rbx
je 0x140035dd7
mov rdx, qword [r14]
test rdx, rdx
je 0x140035dd7
mov r8, qword [r15 + 8]
cmp r8, qword [r14 + 8]
jne 0x140035de0
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jmp 0x140035dda
cmp rbx, qword [r14]
je 0x140035eb0
mov r12, qword [rsi + 8]
xor ebp, ebp
mov r8, qword [r15 + 8]
dec r12
mov edx, 0x811c9dc5
mov ecx, ebp
test r8, r8
je 0x140035e18
nop dword [rax]
movzx eax, byte [rbx + rcx]
inc rcx
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jb 0x140035e00
lea r14, [rsi + 0x18]
mov rcx, qword [rsi]
mov r13, r8
mov edi, edx
mov r15, rbx
and rdi, r12
mov qword [rsp + 0x50], rcx
nop dword [rax + rax]
lea rax, [rdi + rdi*2]
mov rbx, qword [rcx + rax*8]
lea rsi, [rcx + rax*8]
test rbx, rbx
je 0x140035e63
test r15, r15
je 0x140035e63
mov r8, qword [rsi + 8]
cmp r8, r13
jne 0x140035e5e
mov rdx, r15
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140035eab
mov rax, r14
jmp 0x140035e70
cmp rbx, r15
je 0x140035eab
mov rax, r14
test rbx, rbx
je 0x140035e8e
mov rdx, qword [rax]
test rdx, rdx
je 0x140035e8e
mov r8, qword [rsi + 8]
cmp r8, qword [rax + 8]
jne 0x140035e93
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jmp 0x140035e91
cmp rbx, qword [rax]
je 0x140035eb0
inc rdi
add rdi, rbp
inc rbp
and rdi, r12
cmp rbp, r12
ja 0x140035eb0
mov rcx, qword [rsp + 0x50]
jmp 0x140035e30
mov rax, rsi
jmp 0x140035eb2
xor eax, eax
mov rbx, qword [rsp + 0x58]
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 0x140035ed0
Capabilities:
Hash data using fnv

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x68], rbx
mov rbx, rcx
mov qword [rsp + 0x70], rbp
lea rbp, [rcx + 0x18]
mov qword [rsp + 0x78], rsi
mov rsi, qword [rcx + 8]
mov qword [rsp + 0x50], rdi
mov edi, dword [rbp]
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r14
mov r14, rbp
test rsi, rsi
jne 0x140035f24
mov ecx, 0x80
mov esi, reloc.WS2_32.dll_recv
call fcn.1400ce9e0
mov rdx, rax
mov r11, rax
xor ecx, ecx
mov r13d, esi
jmp 0x140035f50
xor r11d, r11d
xor r13d, r13d
add rsi, rsi
je 0x140035f65
lea rcx, [rsi*8]
call fcn.1400ce9e0
xor ecx, ecx
mov rdx, rax
mov r11, rax
mov r13, rsi
test rsi, rsi
je 0x140035f65
nop dword [rax]
mov eax, dword [r14]
mov dword [rdx + rcx*8], eax
xor eax, eax
mov word [rdx + rcx*8 + 4], ax
inc rcx
cmp rcx, rsi
jb 0x140035f50
xor esi, esi
cmp qword [rbx + 8], rsi
jbe 0x140036056
mov qword [rsp + 0x48], r12
xor r14d, r14d
mov qword [rsp + 0x30], r15
movabs rcx, 0xcbf29ce484222325
xor r15d, r15d
movabs r12, 0x100000001b3
mov rax, qword [rbx]
mov r10d, dword [r14 + rax]
cmp r10d, dword [rbp]
je 0x140036037
movzx eax, r10b
lea r9, [r13 - 1]
xor rax, rcx
mov ecx, r10d
imul rax, r12
shr ecx, 8
movzx edx, cl
mov ecx, r10d
xor rax, rdx
shr ecx, 0x10
imul rax, r12
movzx edx, cl
mov ecx, r10d
xor rax, rdx
shr rcx, 0x18
imul rax, r12
xor rax, rcx
imul rax, r12
and rax, r9
xor ecx, ecx
nop dword [rax + rax]
mov r8d, dword [r11 + rax*8]
lea rdx, [r11 + rax*8]
cmp r8d, edi
je 0x140036017
cmp r8d, r10d
je 0x14003601a
inc rax
add rax, rcx
inc rcx
and rax, r9
cmp rcx, r9
jbe 0x140035ff0
xor edx, edx
jmp 0x14003601a
mov dword [rdx], r10d
mov rcx, qword [rbx]
mov eax, dword [rcx + r15]
mov dword [rdx], eax
movzx eax, word [rcx + r15 + 4]
movabs rcx, 0xcbf29ce484222325
mov word [rdx + 4], ax
inc rsi
add r14, 8
add r15, 8
cmp rsi, qword [rbx + 8]
jb 0x140035f95
mov r15, qword [rsp + 0x30]
mov r12, qword [rsp + 0x48]
mov rcx, qword [rbx]
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
mov qword [rbx + 8], r13
mov r13, qword [rsp + 0x40]
mov qword [rbx], r11
mov rbx, qword [rsp + 0x68]
test rcx, rcx
je 0x14003608c
add rsp, 0x58
jmp fcn.1400cec5c
add rsp, 0x58
ret
Function at 0x14004ba20
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x30
xor ebp, ebp
mov rdi, rdx
mov rbx, rcx
mov esi, ebp
cmp qword [rdx + 0x40], rbp
jbe 0x14004bab4
mov qword [rsp + 0x50], r14
mov r14d, ebp
mov qword [rsp + 0x58], r15
movabs r15, 0x8080808080808080
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rdi + 0x38]
lea rdx, [rsp + 0x20]
mov rcx, rbx
mov r8, qword [r14 + r8]
call fcn.14004b040
inc rsi
lea r14, [r14 + 8]
mov r8, qword [rax]
add r8, qword [rbx + 0x38]
mov rdx, r8
mov qword [rbx + 0x40], rbp
and rdx, r15
mov rax, rdx
mov rcx, rdx
shr rax, 7
xor rdx, r8
sub rcx, rax
or rcx, rdx
mov qword [rbx + 0x38], rcx
cmp rsi, qword [rdi + 0x40]
jb 0x14004ba60
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov rdx, qword [rdi + 0x48]
lea r8, [rsp + 0x20]
mov qword [rsp + 0x20], 1
mov r9d, 3
mov qword [rsp + 0x28], rbp
mov rcx, rbx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.14004b630
mov rbx, qword [rsp + 0x60]
xor al, al
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret

Function at 0x14004eca0
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
cmp qword [rcx + 0x10], 0
mov r9, rdx
mov r14, rcx
je 0x14004ed8d
mov r12d, dword [rdx + 8]
cmp r12d, dword [rcx + 0x20]
jne 0x14004ecf8
mov rdx, qword [rcx + 0x18]
mov r8d, r12d
mov rcx, qword [r9]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004ed8d
mov r9, qword [rsp + 0x58]
mov r15, qword [r14 + 8]
xor ebp, ebp
dec r15
mov edx, 0x811c9dc5
mov ecx, ebp
test r12, r12
je 0x14004ed25
mov r8, qword [r9]
movzx eax, byte [r8 + rcx]
inc rcx
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r12
jb 0x14004ed10
mov edi, edx
and rdi, r15
nop word [rax + rax]
mov rbx, rdi
shl rbx, 4
add rbx, qword [r14]
mov esi, dword [rbx + 8]
mov r13d, esi
cmp esi, r12d
jne 0x14004ed57
mov rdx, qword [r9]
mov r8d, esi
mov rcx, qword [rbx]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004ed88
cmp esi, dword [r14 + 0x20]
jne 0x14004ed70
mov rdx, qword [r14 + 0x18]
mov r8, r13
mov rcx, qword [rbx]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004ed8d
inc rdi
add rdi, rbp
inc rbp
and rdi, r15
cmp rbp, r15
ja 0x14004ed8d
mov r9, qword [rsp + 0x58]
jmp 0x14004ed30
mov rax, rbx
jmp 0x14004ed8f
xor eax, eax
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 0x14004edb0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x10], rdx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x20
mov r14, qword [rcx + 8]
xor ebp, ebp
mov r12d, dword [rdx + 8]
dec r14
mov r10, rdx
mov r13, rcx
mov r9d, 0x811c9dc5
mov r8d, ebp
test r12, r12
je 0x14004ee07
mov rdx, qword [rdx]
nop
movzx eax, byte [rdx + r8]
inc r8
xor eax, r9d
imul r9d, eax, 0x1000193
cmp r8, r12
jb 0x14004edf0
mov edi, r9d
and rdi, r14
mov qword [rsp + 0x50], r15
mov rbx, rdi
shl rbx, 4
add rbx, qword [r13]
mov esi, dword [rbx + 8]
mov r15d, esi
cmp esi, dword [r13 + 0x20]
jne 0x14004ee41
mov rdx, qword [r13 + 0x18]
mov r8d, esi
mov rcx, qword [rbx]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004ee70
mov r10, qword [rsp + 0x58]
cmp esi, r12d
jne 0x14004ee58
mov rdx, qword [r10]
mov r8, r15
mov rcx, qword [rbx]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14004ee7f
inc rdi
add rdi, rbp
inc rbp
and rdi, r14
cmp rbp, r14
ja 0x14004ee84
mov r10, qword [rsp + 0x58]
jmp 0x14004ee12
mov rax, qword [rsp + 0x58]
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
inc qword [r13 + 0x10]
mov rax, rbx
jmp 0x14004ee86
xor eax, eax
mov r15, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x20
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
Function at 0x1400659f0
Capabilities:
Get file size

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x60
mov rax, qword [0x140113040]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rdi, rdx
mov rbx, rcx
mov rcx, qword [rcx + 0x18]
xor ebp, ebp
test rcx, rcx
je 0x140065a2e
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rbx + 0x18], rbp
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140065a41
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], rbp
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140065a57
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx], 0xffffffffffffffff
mov qword [rbx + 0x10], rbp
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov rcx, rbp
mov qword [rsp + 0x40], rcx
mov edx, 7
mov qword [rsp + 0x48], rdx
mov word [rsp + 0x30], bp
mov rsi, rbp
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], sil
jne 0x140065a84
test rax, rax
je 0x140065aee
movsx r9d, byte [rdi + rsi]
cmp rcx, rdx
jae 0x140065ac0
lea rax, [rcx + 1]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
cmp rdx, 7
cmova rax, qword [rsp + 0x30]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], bp
jmp 0x140065aca
lea rcx, [rsp + 0x30]
call fcn.140080ea0
inc rsi
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x140065ad4
mov rdx, qword [rsp + 0x48]
cmp rsi, rax
jae 0x140065aee
mov rcx, qword [rsp + 0x40]
jmp 0x140065a92
lea rcx, [rsp + 0x30]
cmp rdx, 7
cmova rcx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rbp
mov edx, 0x80000000
mov r9d, 3
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_CreateFile2]
mov qword [rbx], rax
cmp rax, 0xffffffffffffffff
je 0x140065ba1
mov qword [rsp + 0x50], rbp
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x140065ba1
mov r9, qword [rsp + 0x50]
mov qword [rbx + 0x10], r9
mov qword [rsp + 0x20], rbp
xor edx, edx
mov r8d, 2
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingFromApp]
mov qword [rbx + 8], rax
test rax, rax
jne 0x140065bd3
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x140065b74
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rbx + 0x18], rbp
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140065b87
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], rbp
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140065b9d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx], 0xffffffffffffffff
mov qword [rbx + 0x10], rbp
xor bl, bl
lea rcx, [rsp + 0x30]
call fcn.1400131e0
movzx eax, bl
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400ce8a0
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
xor r9d, r9d
xor r8d, r8d
mov edx, 4
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFileFromApp]
mov qword [rbx + 0x18], rax
test rax, rax
je 0x140065b74
mov bl, 1
jmp 0x140065ba3
Function at 0x1400721b0
Capabilities:
Set console window title

Disassembly:
sub rsp, 0x38
mov rax, qword [0x140113040]
xor rax, rsp
mov qword [rsp + 0x28], rax
lea rcx, reloc.WS2_32.dll_bind
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400721e0
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x1401131cc], 0x7fffffff
jne 0x140072202
mov ecx, 6
mov dword [0x1401131cc], 0x7ffffffe
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp byte [0x14011e5fc], 0
jne 0x140072270
mov byte [0x14011e5fc], 1
call qword [sym.imp.KERNEL32.dll_AllocConsole]
lea rcx, str.Lettuce
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, rax
lea r8, [0x1400dcdac]
lea rdx, str.CONOUT_
lea rcx, [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen_s]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, rax
lea r8, [0x1400eed78]
lea rdx, str.CONIN_
lea rcx, [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen_s]
lea rcx, reloc.WS2_32.dll_bind
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1400ce8a0
add rsp, 0x38
ret
Function at 0x14007b6d0
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r15, rdx
mov rdi, rcx
je 0x14007b6f8
add rsp, 0x20
pop r15
pop rdi
pop rbx
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
mov qword [rsp + 0x58], r14
mov r9, qword [rax]
test r9, r9
je 0x14007b71e
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x14007b720
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x14007b779
test ecx, ecx
jle 0x14007b759
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x58]
add r15, rbp
sub rbx, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x14007b779
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x14007b779
mov r8, rbx
mov edx, 1
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov r14, qword [rsp + 0x58]
sub rsi, rbx
mov rbp, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret

Function at 0x14007b7a0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x14007b7c2
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je 0x14007b7d8
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x28], rbx
mov rbx, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x14007b7f4
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x14007b7f6
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x14007b832
mov qword [rsp + 0x20], rdi
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
add r14, rdi
sub rbx, rdi
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
mov rdi, qword [rsp + 0x20]
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x14007b8ce
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x14007b86d
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
cmp rbx, 0xfff
jbe 0x14007b8ae
nop word [rax + rax]
mov r9, qword [rsi + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add r14, rax
sub rbx, rax
cmp rax, 0xfff
jne 0x14007b8ce
cmp rbx, rax
ja 0x14007b880
test rbx, rbx
je 0x14007b8ce
mov r9, qword [rsi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
sub rbp, rbx
mov rbx, qword [rsp + 0x28]
mov rax, rbp
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
Function at 0x14007bcf0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x140113040]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x14007bd1d
xor eax, eax
jmp 0x14007be89
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
test rdx, rdx
je 0x14007bd57
mov rax, qword [rcx + 0x58]
movsxd r8, dword [rax]
lea rcx, [rdx + r8]
cmp rdx, rcx
jae 0x14007bd57
lea ecx, [r8 - 1]
mov dword [rax], ecx
mov eax, edi
mov rdx, qword [rbx + 0x40]
mov r8, qword [rdx]
lea rcx, [r8 + 1]
mov qword [rdx], rcx
mov byte [r8], dil
jmp 0x14007be89
cmp qword [rbx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x14007be7c
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x14007bd9a
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x14007bdc5
mov rdx, qword [rbx + 0x80]
movsx ecx, dil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x14007be81
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], dil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x51]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x14007be34
sub eax, 1
je 0x14007be34
cmp eax, 2
jne 0x14007be7c
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x14007be81
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x14007be62
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rsi, rax
jne 0x14007be7c
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, edi
mov eax, ecx
jmp 0x14007be81
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400ce8a0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x14007d500
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x140113040]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x14007d5d3
cmp byte [rcx + 0x71], 0
je 0x14007d5d3
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x14007d5cf
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x14007d594
sub eax, 1
je 0x14007d598
cmp eax, 2
jne 0x14007d5cf
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400ce8a0
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x14007d5c6
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x14007d5cf
cmp byte [rbx + 0x71], 0
sete al
jmp 0x14007d57c
xor al, al
jmp 0x14007d57c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400ce8a0
add rsp, 0x60
pop rbx
ret
Function at 0x1400806b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x30
cmp qword [r8 + 0x18], 0xf
mov rbx, rdx
mov r11, qword [r8 + 0x10]
mov r10, r8
jbe 0x1400806ca
mov r10, qword [r8]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r11, r11
je 0x140080704
movabs rdx, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [r10 + rcx]
inc rcx
xor r9, rax
imul r9, rdx
cmp rcx, r11
jb 0x1400806f0
lea rdx, [rsp + 0x20]
call fcn.140084a00
mov rcx, qword [rax + 8]
mov rax, qword [0x14011e6c8]
test rcx, rcx
cmovne rax, rcx
mov qword [rbx], rax
mov rax, rbx
add rsp, 0x30
pop rbx
ret