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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push r12
push r14
push r15
sub rsp, 0x40
mov qword [rax - 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov r15, rdx
mov r14, rcx
movabs rcx, 0xcbf29ce484222325
xor edx, edx
movzx eax, byte [rdx + r8]
xor rcx, rax
movabs r9, 0x100000001b3
imul rcx, r9
inc rdx
cmp rdx, 8
jb 0x1401f21df
mov rsi, qword [r14 + 0x30]
and rsi, rcx
mov rcx, qword [r14 + 8]
add rsi, rsi
mov rax, qword [r14 + 0x18]
cmp qword [rax + rsi*8], rcx
jne 0x1401f221b
mov rbx, rcx
jmp 0x1401f2223
mov rbx, qword [rax + rsi*8 + 8]
mov rbx, qword [rbx]
cmp rbx, qword [rax + rsi*8]
je 0x1401f224e
mov rdx, qword [r8]
mov rbx, qword [rbx + 8]
cmp rdx, qword [rbx + 0x10]
je 0x1401f223e
cmp rbx, qword [rax + rsi*8]
jne 0x1401f222c
jmp 0x1401f224e
mov qword [r15], rbx
mov byte [r15 + 8], 0
mov rax, r15
jmp 0x1401f233c
mov rdi, qword [rcx]
mov r12, qword [rdi + 8]
mov r9, r8
mov r8, r12
mov rdx, rdi
call fcn.1401f31a8
mov rdx, rax
mov rax, qword [r14 + 0x10]
movabs rcx, 0x555555555555554
sub rcx, rax
cmp rcx, 1
jae 0x1401f228b
lea rcx, str.list_T__too_long
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rax
mov qword [r14 + 0x10], rax
mov qword [rdi + 8], rdx
mov qword [r12], rdx
mov rcx, qword [r14 + 8]
mov rdi, qword [rcx]
mov qword [rsp + 0x20], rdi
mov rax, qword [rdi]
cmp rbx, rax
je 0x1401f22df
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 rdx, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x18]
cmp qword [rdx + rsi*8], rcx
jne 0x1401f22f8
mov qword [rdx + rsi*8], rdi
mov rax, qword [r14 + 0x18]
mov qword [rax + rsi*8 + 8], rdi
jmp 0x1401f2328
cmp qword [rdx + rsi*8], rbx
jne 0x1401f2304
mov qword [rdx + rsi*8], rdi
jmp 0x1401f2328
mov rax, qword [rdx + rsi*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + rsi*8 + 8], rcx
cmp rcx, rdi
je 0x1401f2328
mov rdx, qword [r14 + 0x18]
mov rax, qword [rdx + rsi*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + rsi*8 + 8], rcx
mov rcx, r14
call fcn.1401f257c
nop
mov qword [r15], rdi
mov byte [r15 + 8], 1
mov rax, r15
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
ret
Function at 0x1401f2664
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 rdi, r8
mov rsi, rdx
mov r8, rcx
xor r9d, r9d
movabs rcx, 0xcbf29ce484222325
movzx eax, byte [r9 + rdi + 0x10]
movabs rdx, 0x100000001b3
xor rcx, rax
inc r9
imul rcx, rdx
cmp r9, 8
jb 0x1401f2689
mov rdx, qword [r8 + 0x30]
and rdx, rcx
mov rcx, qword [r8 + 0x18]
add rdx, rdx
cmp qword [rcx + rdx*8 + 8], rdi
jne 0x1401f26e1
cmp qword [rcx + rdx*8], rdi
jne 0x1401f26d6
mov rax, qword [r8 + 8]
mov qword [rcx + rdx*8], rax
mov rcx, qword [r8 + 0x18]
mov rax, qword [r8 + 8]
jmp 0x1401f26da
mov rax, qword [rdi + 8]
mov qword [rcx + rdx*8 + 8], rax
jmp 0x1401f26ee
cmp qword [rcx + rdx*8], rdi
jne 0x1401f26ee
mov rax, qword [rdi]
mov qword [rcx + rdx*8], rax
mov rax, qword [rdi + 8]
mov rbx, qword [rdi]
mov qword [rax], rbx
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
lea rcx, [rdi + 0x18]
dec qword [r8 + 0x10]
call fcn.1401f0e58
mov rcx, rdi
call fcn.1402e0278
mov qword [rsi], rbx
mov rax, rsi
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1401f2730
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 8], rcx
push rdi
sub rsp, 0x40
mov qword [rax - 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rbx, r9
mov r10, r8
mov rsi, rdx
mov r9, rcx
movabs rcx, 0xcbf29ce484222325
xor edx, edx
movzx eax, byte [rdx + r10]
xor rcx, rax
movabs r8, 0x100000001b3
imul rcx, r8
inc rdx
cmp rdx, 8
jb 0x1401f2768
mov r8, qword [r9 + 0x30]
and r8, rcx
mov rdi, qword [r9 + 8]
add r8, r8
mov rax, qword [r9 + 0x18]
cmp rdi, qword [rax + r8*8]
je 0x1401f27fb
mov rdi, qword [rax + r8*8 + 8]
mov rdi, qword [rdi]
cmp rdi, qword [rax + r8*8]
je 0x1401f27fb
mov rcx, qword [r10]
mov rdi, qword [rdi + 8]
cmp rcx, qword [rdi + 0x10]
je 0x1401f27c2
cmp rdi, qword [rax + r8*8]
jne 0x1401f27b0
jmp 0x1401f27fb
mov rcx, qword [rbx + 8]
mov rax, qword [rbx]
mov qword [rcx], rax
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
dec qword [r9 + 0x10]
lea rcx, [rbx + 0x18]
call fcn.1401f0e58
mov rcx, rbx
call fcn.1402e0278
mov qword [rsi], rdi
mov byte [rsi + 8], 0
mov rax, rsi
jmp 0x1401f288f
mov rax, qword [rbx]
cmp rdi, rax
je 0x1401f2830
mov rcx, qword [rbx + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rdi
mov rcx, qword [rdi + 8]
mov qword [rcx], rbx
mov rdx, qword [rdi + 8]
mov rcx, qword [rax + 8]
mov qword [rdi + 8], rcx
mov rcx, qword [rbx + 8]
mov qword [rax + 8], rcx
mov qword [rbx + 8], rdx
mov rdx, qword [r9 + 0x18]
mov rax, qword [rdx + r8*8]
cmp rax, qword [r9 + 8]
jne 0x1401f284d
mov qword [rdx + r8*8], rbx
mov rax, qword [r9 + 0x18]
mov qword [rax + r8*8 + 8], rbx
jmp 0x1401f287c
cmp rax, rdi
jne 0x1401f2858
mov qword [rdx + r8*8], rbx
jmp 0x1401f287c
mov rax, qword [rdx + r8*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + r8*8 + 8], rcx
cmp rcx, rbx
je 0x1401f287c
mov rdx, qword [r9 + 0x18]
mov rax, qword [rdx + r8*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r8*8 + 8], rcx
mov rcx, r9
call fcn.1401f257c
nop
mov qword [rsi], rbx
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
Function at 0x1401f5380
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rbx, rcx
lea rax, vtable.sense::Common::MSAClient.0
mov qword [rcx], rax
xor esi, esi
mov dword [rcx + 8], esi
mov qword [rcx + 0x30], rsi
lea eax, [rsi + 7]
mov qword [rcx + 0x38], rax
mov word [rcx + 0x20], si
mov qword [rcx + 0x50], rsi
mov qword [rcx + 0x58], rax
mov word [rcx + 0x40], si
mov qword [rcx + 0xa0], rsi
mov qword [rcx + 0xa8], rax
mov word [rcx + 0x90], si
or rax, 0xffffffffffffffff
mov dword [rcx + 0xb0], eax
mov qword [rcx + 0xb8], rax
mov dword [rsp + 0x70], esi
mov byte [rcx + 0x60], sil
add rcx, 0x68
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [rbx + 0x60], 1
lea rdi, [rbx + 0x18]
mov dword [rdi], esi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
mov r9, rbx
lea r8, [0x1401f5510]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0x10], rax
test rax, rax
je 0x1401f5455
jmp 0x1401f5444
or r9d, 0xffffffff
mov r8d, 4
lea rdx, [rsp + 0x70]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress]
mov eax, dword [rdi]
test eax, eax
je 0x1401f542c
mov rax, rbx
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rsp + 0x68], ecx
lea rdx, [0x14047cc88]
lea rcx, [rsp + 0x68]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
Function at 0x1401f7d58
Capabilities:
Check if file exists
Delete directory
Delete file
Get file attributes
Move file

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
xor edi, edi
mov rbx, rcx
cmp qword [rcx + 0x18], 8
jb 0x1401f7d71
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1401f7d95
test al, 0x10
je 0x1401f7d95
cmp qword [rbx + 0x18], 8
mov rcx, rbx
jb 0x1401f7d8d
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x1401f7da8
cmp qword [rbx + 0x18], 8
mov rcx, rbx
jb 0x1401f7da2
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1401f7de1
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
lea edx, [rax - 2]
cmp edx, 1
jbe 0x1401f7de1
cmp qword [rbx + 0x18], 8
jb 0x1401f7dc6
mov rbx, qword [rbx]
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 4]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x1401f7de1
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
mov eax, edi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1401f998c
Capabilities:
Check if file exists
Create directory

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x14049e510]
xor rax, rsp
mov qword [rbp - 0x10], rax
movdqa xmm0, xmmword [0x14038ac40]
lea r8, [rbp - 0x30]
xor edi, edi
lea rdx, [rbp - 0x50]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], di
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x30], di
call fcn.140204668
cmp qword [rbp - 0x38], 8
lea rcx, [rbp - 0x50]
cmovae rcx, qword [rbp - 0x50]
call qword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathFileExistsW]
test eax, eax
jne 0x1401f9a1d
cmp qword [rbp - 0x38], 8
lea rcx, [rbp - 0x50]
cmovae rcx, qword [rbp - 0x50]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1401f9a1d
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x1401f9a1f
mov ebx, edi
lea rcx, [rbp - 0x30]
call fcn.14004e0f0
lea rcx, [rbp - 0x50]
call fcn.14004e0f0
mov eax, ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1402dfdb0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
Function at 0x1401fd5c8
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov r11, rdx
mov rbx, rcx
movabs r9, 0xcbf29ce484222325
xor r10d, r10d
movzx eax, byte [r10 + r8]
movabs rcx, 0x100000001b3
xor r9, rax
inc r10
imul r9, rcx
cmp r10, 4
jb 0x1401fd5e0
mov rcx, qword [rbx + 0x30]
and rcx, r9
mov r9, qword [rbx + 0x18]
mov rax, rcx
add rax, rax
add rcx, rcx
mov rdx, qword [r9 + rax*8]
mov r10, qword [r9 + rcx*8]
cmp r10, qword [rbx + 8]
jne 0x1401fd627
mov rax, qword [rbx + 8]
jmp 0x1401fd62f
mov rax, qword [r9 + rcx*8 + 8]
mov rax, qword [rax]
cmp rdx, rax
je 0x1401fd641
mov eax, dword [r8]
cmp dword [rdx + 0x10], eax
je 0x1401fd645
mov rdx, qword [rdx]
jmp 0x1401fd61b
mov rdx, qword [rbx + 8]
mov qword [r11], rdx
mov rax, r11
mov rbx, qword [rsp + 8]
ret

Function at 0x1401fdfc8
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov r9, rcx
mov rbx, rdx
movabs rcx, 0xcbf29ce484222325
xor r10d, r10d
movzx eax, byte [r10 + r8 + 0x10]
movabs rdx, 0x100000001b3
xor rcx, rax
inc r10
imul rcx, rdx
cmp r10, 4
jb 0x1401fdfe1
mov rdx, qword [r9 + 0x30]
and rdx, rcx
mov rcx, qword [r9 + 0x18]
add rdx, rdx
cmp qword [rcx + rdx*8 + 8], r8
jne 0x1401fe039
cmp qword [rcx + rdx*8], r8
jne 0x1401fe02e
mov rax, qword [r9 + 8]
mov qword [rcx + rdx*8], rax
mov rcx, qword [r9 + 0x18]
mov rax, qword [r9 + 8]
jmp 0x1401fe032
mov rax, qword [r8 + 8]
mov qword [rcx + rdx*8 + 8], rax
jmp 0x1401fe046
cmp qword [rcx + rdx*8], r8
jne 0x1401fe046
mov rax, qword [r8]
mov qword [rcx + rdx*8], rax
lea rcx, [r9 + 8]
mov rdx, rbx
call fcn.1400781b8
mov rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x1401fe05c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push r12
push r14
push r15
sub rsp, 0x40
mov qword [rax - 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov r15, rdx
mov r14, rcx
movabs rcx, 0xcbf29ce484222325
xor edx, edx
movzx eax, byte [rdx + r8]
xor rcx, rax
movabs r9, 0x100000001b3
imul rcx, r9
inc rdx
cmp rdx, 4
jb 0x1401fe093
mov rsi, qword [r14 + 0x30]
and rsi, rcx
mov rcx, qword [r14 + 8]
add rsi, rsi
mov rax, qword [r14 + 0x18]
cmp qword [rax + rsi*8], rcx
jne 0x1401fe0cf
mov rbx, rcx
jmp 0x1401fe0d7
mov rbx, qword [rax + rsi*8 + 8]
mov rbx, qword [rbx]
cmp rbx, qword [rax + rsi*8]
je 0x1401fe101
mov edx, dword [r8]
mov rbx, qword [rbx + 8]
cmp edx, dword [rbx + 0x10]
je 0x1401fe0f1
cmp rbx, qword [rax + rsi*8]
jne 0x1401fe0e0
jmp 0x1401fe101
mov qword [r15], rbx
mov byte [r15 + 8], 0
mov rax, r15
jmp 0x1401fe1ef
mov rdi, qword [rcx]
mov r12, qword [rdi + 8]
mov r9, r8
mov r8, r12
mov rdx, rdi
call fcn.1401fe528
mov rdx, rax
mov rax, qword [r14 + 0x10]
movabs rcx, 0x555555555555554
sub rcx, rax
cmp rcx, 1
jae 0x1401fe13e
lea rcx, str.list_T__too_long
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rax
mov qword [r14 + 0x10], rax
mov qword [rdi + 8], rdx
mov qword [r12], rdx
mov rcx, qword [r14 + 8]
mov rdi, qword [rcx]
mov qword [rsp + 0x20], rdi
mov rax, qword [rdi]
cmp rbx, rax
je 0x1401fe192
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 rdx, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x18]
cmp qword [rdx + rsi*8], rcx
jne 0x1401fe1ab
mov qword [rdx + rsi*8], rdi
mov rax, qword [r14 + 0x18]
mov qword [rax + rsi*8 + 8], rdi
jmp 0x1401fe1db
cmp qword [rdx + rsi*8], rbx
jne 0x1401fe1b7
mov qword [rdx + rsi*8], rdi
jmp 0x1401fe1db
mov rax, qword [rdx + rsi*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + rsi*8 + 8], rcx
cmp rcx, rdi
je 0x1401fe1db
mov rdx, qword [r14 + 0x18]
mov rax, qword [rdx + rsi*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + rsi*8 + 8], rcx
mov rcx, r14
call fcn.1401fe288
nop
mov qword [r15], rdi
mov byte [r15 + 8], 1
mov rax, r15
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
ret
Function at 0x1401fe370
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 8], rcx
push rdi
sub rsp, 0x40
mov qword [rax - 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rbx, r9
mov r10, r8
mov rsi, rdx
mov r9, rcx
movabs rcx, 0xcbf29ce484222325
xor edx, edx
movzx eax, byte [rdx + r10]
xor rcx, rax
movabs r8, 0x100000001b3
imul rcx, r8
inc rdx
cmp rdx, 4
jb 0x1401fe3a8
mov r8, qword [r9 + 0x30]
and r8, rcx
lea r11, [r9 + 8]
mov rdi, qword [r11]
add r8, r8
mov rax, qword [r9 + 0x18]
cmp rdi, qword [rax + r8*8]
je 0x1401fe423
mov rdi, qword [rax + r8*8 + 8]
mov rdi, qword [rdi]
cmp rdi, qword [rax + r8*8]
je 0x1401fe423
mov ecx, dword [r10]
mov rdi, qword [rdi + 8]
cmp ecx, dword [rdi + 0x10]
je 0x1401fe404
cmp rdi, qword [rax + r8*8]
jne 0x1401fe3f3
jmp 0x1401fe423
mov r8, rbx
lea rdx, [rsp + 0x28]
mov rcx, r11
call fcn.1400781b8
mov qword [rsi], rdi
mov byte [rsi + 8], 0
mov rax, rsi
jmp 0x1401fe4b6
mov rax, qword [rbx]
cmp rdi, rax
je 0x1401fe458
mov rcx, qword [rbx + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rdi
mov rcx, qword [rdi + 8]
mov qword [rcx], rbx
mov rdx, qword [rdi + 8]
mov rcx, qword [rax + 8]
mov qword [rdi + 8], rcx
mov rcx, qword [rbx + 8]
mov qword [rax + 8], rcx
mov qword [rbx + 8], rdx
mov rdx, qword [r9 + 0x18]
mov rax, qword [rdx + r8*8]
cmp rax, qword [r11]
jne 0x1401fe474
mov qword [rdx + r8*8], rbx
mov rax, qword [r9 + 0x18]
mov qword [rax + r8*8 + 8], rbx
jmp 0x1401fe4a3
cmp rax, rdi
jne 0x1401fe47f
mov qword [rdx + r8*8], rbx
jmp 0x1401fe4a3
mov rax, qword [rdx + r8*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + r8*8 + 8], rcx
cmp rcx, rbx
je 0x1401fe4a3
mov rdx, qword [r9 + 0x18]
mov rax, qword [rdx + r8*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r8*8 + 8], rcx
mov rcx, r9
call fcn.1401fe288
nop
mov qword [rsi], rbx
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
Function at 0x1402019cc
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push r12
push r14
push r15
sub rsp, 0x40
mov qword [rax - 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov r15, rdx
mov r14, rcx
movabs rcx, 0xcbf29ce484222325
xor edx, edx
movzx eax, byte [rdx + r8]
xor rcx, rax
movabs r9, 0x100000001b3
imul rcx, r9
inc rdx
cmp rdx, 8
jb 0x140201a03
mov rsi, qword [r14 + 0x30]
and rsi, rcx
mov rcx, qword [r14 + 8]
add rsi, rsi
mov rax, qword [r14 + 0x18]
cmp qword [rax + rsi*8], rcx
jne 0x140201a3f
mov rbx, rcx
jmp 0x140201a47
mov rbx, qword [rax + rsi*8 + 8]
mov rbx, qword [rbx]
cmp rbx, qword [rax + rsi*8]
je 0x140201a72
mov rdx, qword [r8]
mov rbx, qword [rbx + 8]
cmp rdx, qword [rbx + 0x10]
je 0x140201a62
cmp rbx, qword [rax + rsi*8]
jne 0x140201a50
jmp 0x140201a72
mov qword [r15], rbx
mov byte [r15 + 8], 0
mov rax, r15
jmp 0x140201b60
mov rdi, qword [rcx]
mov r12, qword [rdi + 8]
mov r9, r8
mov r8, r12
mov rdx, rdi
call fcn.140201c48
mov rdx, rax
mov rax, qword [r14 + 0x10]
movabs rcx, 0x492492492492491
sub rcx, rax
cmp rcx, 1
jae 0x140201aaf
lea rcx, str.list_T__too_long
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rax
mov qword [r14 + 0x10], rax
mov qword [rdi + 8], rdx
mov qword [r12], rdx
mov rcx, qword [r14 + 8]
mov rdi, qword [rcx]
mov qword [rsp + 0x20], rdi
mov rax, qword [rdi]
cmp rbx, rax
je 0x140201b03
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 rdx, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x18]
cmp qword [rdx + rsi*8], rcx
jne 0x140201b1c
mov qword [rdx + rsi*8], rdi
mov rax, qword [r14 + 0x18]
mov qword [rax + rsi*8 + 8], rdi
jmp 0x140201b4c
cmp qword [rdx + rsi*8], rbx
jne 0x140201b28
mov qword [rdx + rsi*8], rdi
jmp 0x140201b4c
mov rax, qword [rdx + rsi*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + rsi*8 + 8], rcx
cmp rcx, rdi
je 0x140201b4c
mov rdx, qword [r14 + 0x18]
mov rax, qword [rdx + rsi*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + rsi*8 + 8], rcx
mov rcx, r14
call fcn.14005dc00
nop
mov qword [r15], rdi
mov byte [r15 + 8], 1
mov rax, r15
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
ret
Function at 0x140202374
Capabilities:
Get disk information

Disassembly:
push rbx
sub rsp, 0x240
mov rax, qword [0x14049e510]
xor rax, rsp
mov qword [rsp + 0x230], rax
cmp qword [rdx + 0x18], 8
mov rax, rdx
mov rbx, rcx
jb 0x14020239f
mov rax, qword [rdx]
mov r8d, 0x103
lea rdx, [rsp + 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
xor ecx, ecx
lea rdx, [0x140344690]
mov qword [rbx + 0x10], rcx
mov qword [rbx + 0x18], 7
mov word [rbx], cx
mov rcx, rbx
test eax, eax
je 0x1402023d7
lea rdx, [rsp + 0x20]
call fcn.14004d5c4
mov rax, rbx
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.1402dfdb0
add rsp, 0x240
pop rbx
ret

Function at 0x1402023f8
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0x1b8]
sub rsp, 0x2a0
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x14049e510]
xor rax, rsp
mov qword [rbp + 0x190], rax
mov rbx, rcx
mov qword [rsp + 0x30], rcx
xor esi, esi
mov dword [rsp + 0x20], esi
mov qword [rcx + 0x10], rsi
lea r14d, [rsi + 7]
mov qword [rcx + 0x18], r14
mov word [rcx], si
mov dword [rsp + 0x20], 1
mov edx, 0x103
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
je 0x140202563
movdqa xmm0, xmmword [0x14038ac40]
movdqu xmmword [rsp + 0x48], xmm0
mov word [rsp + 0x38], si
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x38]
call fcn.14004d5c4
nop
lea r9d, [rsi + 2]
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.14005d1b4
mov rdi, rax
cmp rbx, rax
je 0x1402024cc
mov rcx, rbx
call fcn.14004e0f0
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], r14
mov word [rdi], si
lea rcx, [rsp + 0x58]
call fcn.14004e0f0
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.140202374
mov rdi, rax
cmp rbx, rax
je 0x14020250c
mov rcx, rbx
call fcn.14004e0f0
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], r14
mov word [rdi], si
lea rcx, [rsp + 0x58]
call fcn.14004e0f0
cmp qword [rbx + 0x10], rsi
jbe 0x140202559
or r9, 0xffffffffffffffff
lea r8d, [r9 + 3]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.14005d1b4
nop
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x140202541
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
mov rcx, rbx
call fcn.14005e1e8
nop
lea rcx, [rsp + 0x58]
call fcn.14004e0f0
nop
lea rcx, [rsp + 0x38]
call fcn.14004e0f0
mov rax, rbx
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.1402dfdb0
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret