joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140009f10
Capabilities:
Enumerate process modules

Disassembly:
push rbp
push r14
push r15
sub rsp, 0x490
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x470], rbx
mov qword [rbp + 0x480], rsi
mov qword [rbp + 0x488], rdi
mov rax, qword [0x140093010]
xor rax, rbp
mov qword [rbp + 0x440], rax
mov rdi, rdx
mov dword [rbp], 0x438
mov edx, dword [0x140093100]
mov ecx, 8
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rcx, rax
lea rdx, [rbp]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_Module32FirstW]
xor r14d, r14d
movabs r15, 0xffffffffffffff0
lea rcx, [rbp + 0x30]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], r14w
jne 0x140009f90
lea edx, [rax + 1]
cmp edx, 0x3fffffff
jg 0x14000a00a
cdqe
lea rax, [rax*2 + 2]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140009fbb
mov rcx, r15
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.140073e30
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x14000a00a
lea eax, [rdx + rdx]
mov qword [rsp + 0x38], r14
xor edx, edx
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], eax
lea r8, [rbp + 0x30]
mov r9d, 0xffffffff
mov byte [rbx], r14b
mov qword [rsp + 0x20], rbx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
cmove rbx, r14
jmp 0x14000a00d
mov rbx, r14
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
jb 0x14000a01a
mov rdx, qword [rdi]
sub rdx, rbx
nop dword [rax]
movzx ecx, byte [rbx]
movzx eax, byte [rbx + rdx]
sub ecx, eax
jne 0x14000a032
inc rbx
test eax, eax
jne 0x14000a020
test ecx, ecx
mov rcx, rsi
je 0x14000a092
lea rdx, [rbp]
call qword [sym.imp.KERNEL32.dll_Module32NextW]
test eax, eax
jne 0x140009f80
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x14000a08e
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x14000a089
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000a115
mov rcx, r8
call fcn.140072dcc
xor eax, eax
jmp 0x14000a0d5
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rdi + 0x18]
mov rbx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14000a0d2
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x14000a0cd
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000a115
mov rcx, r8
call fcn.140072dcc
mov rax, rbx
mov byte [rdi], r14b
mov qword [rdi + 0x18], 0xf
mov qword [rdi + 0x10], r14
mov rcx, qword [rbp + 0x440]
xor rcx, rbp
call fcn.140072930
mov rbx, qword [rbp + 0x470]
mov rsi, qword [rbp + 0x480]
mov rdi, qword [rbp + 0x488]
lea rsp, [rbp + 0x450]
pop r15
pop r14
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x14000acc0
Capabilities:
Enumerate processes

Disassembly:
push rbp
push r14
push r15
sub rsp, 0x290
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x270], rbx
mov qword [rbp + 0x280], rsi
mov qword [rbp + 0x288], rdi
mov rax, qword [0x140093010]
xor rax, rbp
mov qword [rbp + 0x240], rax
mov rdi, rdx
mov dword [rbp], 0x238
xor edx, edx
lea ecx, [rdx + 0xf]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rcx, rax
lea rdx, [rbp]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
xor r14d, r14d
movabs r15, 0xffffffffffffff0
nop word [rax + rax]
lea rcx, [rbp + 0x2c]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], r14w
jne 0x14000ad40
lea edx, [rax + 1]
cmp edx, 0x3fffffff
jg 0x14000adba
cdqe
lea rax, [rax*2 + 2]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x14000ad6b
mov rcx, r15
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.140073e30
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x14000adba
lea eax, [rdx + rdx]
mov qword [rsp + 0x38], r14
xor edx, edx
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], eax
lea r8, [rbp + 0x2c]
mov r9d, 0xffffffff
mov byte [rbx], r14b
mov qword [rsp + 0x20], rbx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
cmove rbx, r14
jmp 0x14000adbd
mov rbx, r14
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
jb 0x14000adca
mov rdx, qword [rdi]
sub rdx, rbx
nop dword [rax]
movzx ecx, byte [rbx]
movzx eax, byte [rbx + rdx]
sub ecx, eax
jne 0x14000ade2
inc rbx
test eax, eax
jne 0x14000add0
test ecx, ecx
mov rcx, rsi
je 0x14000ae42
lea rdx, [rbp]
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x14000ad30
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x14000ae3e
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x14000ae39
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000aec3
mov rcx, r8
call fcn.140072dcc
xor eax, eax
jmp 0x14000ae83
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rdi + 0x18]
mov ebx, dword [rbp + 8]
cmp rdx, 0x10
jb 0x14000ae81
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x14000ae7c
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000aec3
mov rcx, r8
call fcn.140072dcc
mov eax, ebx
mov byte [rdi], r14b
mov qword [rdi + 0x18], 0xf
mov qword [rdi + 0x10], r14
mov rcx, qword [rbp + 0x240]
xor rcx, rbp
call fcn.140072930
mov rbx, qword [rbp + 0x270]
mov rsi, qword [rbp + 0x280]
mov rdi, qword [rbp + 0x288]
lea rsp, [rbp + 0x250]
pop r15
pop r14
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x14000d340
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x90
mov rax, qword [0x140093010]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rdi, rdx
mov rbx, rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x78], rdx
xor esi, esi
mov dword [rsp + 0x20], esi
mov r9, qword [rdx + 0x10]
mov r8, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x14000d38b
mov r8, qword [rdx]
movabs rdx, 0xcbf29ce484222325
mov rcx, rsi
test r9, r9
je 0x14000d3c4
movabs r10, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r10
inc rcx
cmp rcx, r9
jb 0x14000d3b0
mov rcx, rbx
call fcn.140011430
mov dword [rsp + 0x20], 3
mov rdx, qword [rbx + 0x10]
cmp rdx, 0xb
jae 0x14000d3f7
mov r8d, 0x1d
lea rdx, str.XKD00A000NS010R0647E998A60000
mov rcx, rbx
call fcn.140011130
mov rdx, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x14000d406
mov rcx, qword [rbx]
add rdx, rcx
jmp 0x14000d40c
mov rcx, rbx
add rdx, rbx
cmp rcx, rdx
je 0x14000d421
cmp byte [rcx], 0x2d
jne 0x14000d419
mov byte [rcx], 0x32
inc rcx
cmp rcx, rdx
jne 0x14000d411
cmp qword [rbx + 0x18], 0x10
jb 0x14000d434
mov r8, qword [rbx]
mov rdx, r8
add r8, qword [rbx + 0x10]
jmp 0x14000d43e
mov rdx, rbx
mov r8, qword [rbx + 0x10]
add r8, rbx
cmp rdx, r8
je 0x14000d453
cmp byte [rdx], 0x5f
jne 0x14000d44b
mov byte [rdx], 0x58
inc rdx
cmp rdx, r8
jne 0x14000d443
cmp qword [rbx + 0x18], 0x10
jb 0x14000d466
mov r8, qword [rbx]
mov rdx, r8
add r8, qword [rbx + 0x10]
jmp 0x14000d470
mov rdx, rbx
mov r8, qword [rbx + 0x10]
add r8, rbx
cmp rdx, r8
je 0x14000d485
cmp byte [rdx], 0x20
jne 0x14000d47d
mov byte [rdx], 0x30
inc rdx
cmp rdx, r8
jne 0x14000d475
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rsi
mov r8d, 0x14
cmp qword [rbx + 0x10], r8
cmovb r8, qword [rbx + 0x10]
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14000d4b5
mov rdx, qword [rbx]
lea rcx, [rsp + 0x28]
call fcn.140003150
mov dword [rsp + 0x20], 7
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x58]
call fcn.14000d5a0
mov rdx, rax
mov rcx, rbx
call fcn.1400093d0
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14000d522
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d51c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000d51c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140072dcc
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x14000d558
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x14000d553
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000d58f
mov rcx, r8
call fcn.140072dcc
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rax, rbx
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140072930
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x14000e070
Capabilities:
Execute command

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0xc0
mov rax, qword [0x140093010]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov rbx, rcx
vpxor xmm0, xmm0, xmm0
xor eax, eax
vmovups ymmword [r11 - 0x40], ymm0
mov qword [r11 - 0x20], rax
mov rcx, qword [rdx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 2
jb 0x14000e27c
cmp qword [rdx + 0x18], 0x10
jb 0x14000e0c5
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 2
lea r9, [0x14007c720]
lea rcx, [rsp + 0x68]
vzeroupper
call fcn.1400123a0
nop
mov r8d, 2
lea rdx, [0x14007c720]
lea rcx, [rsp + 0x68]
call fcn.140011130
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x48], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rsp + 0x58], xmm1
vmovups ymm0, ymmword [rax]
vmovups ymmword [rsp + 0x48], ymm0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x88]
vzeroupper
call fcn.1400116e0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14000e18b
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000e186
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000e186
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140072dcc
vmovdqu xmm0, xmmword [0x140084480]
vmovdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
mov rdx, qword [rsp + 0x80]
cmp rdx, 0x10
jb 0x14000e1e1
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000e1dc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000e1dc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140072dcc
vmovdqu xmm0, xmmword [0x140084480]
vmovdqu xmmword [rsp + 0x78], xmm0
mov byte [rsp + 0x68], 0
lea rcx, [0x14007c71c]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14000e20e
mov rcx, qword [rbx]
mov rdx, qword [rbx + 0x10]
add rdx, rcx
mov dword [rsp + 0x20], 0x10
lea r9, [rsp + 0x88]
call fcn.140012900
movzx ebx, al
lea rcx, [rsp + 0x88]
call fcn.140010da0
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x14000e260
mov rdx, qword [rcx]
call qword [rdx + 0x10]
test rax, rax
je 0x14000e260
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
movzx eax, bl
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.140072930
add rsp, 0xc0
pop rbx
ret
vzeroupper
call fcn.140002680
int3
Function at 0x14000f5b0
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 0x14000f5d8
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 0x14000f5fe
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x14000f600
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x14000f659
test ecx, ecx
jle 0x14000f639
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 0x14000f659
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x14000f659
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 0x14000f680
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 0x14000f6a2
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je 0x14000f6b8
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 0x14000f6d4
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x14000f6d6
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x14000f712
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 0x14000f7ae
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x14000f74d
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 0x14000f78e
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 0x14000f7ae
cmp rbx, rax
ja 0x14000f760
test rbx, rbx
je 0x14000f7ae
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 0x14000fbe0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x140093010]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x14000fc0d
xor eax, eax
jmp 0x14000fd79
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
test rdx, rdx
je 0x14000fc47
mov rax, qword [rcx + 0x58]
movsxd r8, dword [rax]
lea rcx, [rdx + r8]
cmp rdx, rcx
jae 0x14000fc47
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 0x14000fd79
cmp qword [rbx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x14000fd6c
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x14000fc8a
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 0x14000fcb5
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 0x14000fd71
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 0x14000fd24
sub eax, 1
je 0x14000fd24
cmp eax, 2
jne 0x14000fd6c
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 0x14000fd71
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x14000fd52
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 0x14000fd6c
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, edi
mov eax, ecx
jmp 0x14000fd71
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140072930
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret

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

Disassembly:
movabs rax, 0xcbf29ce484222325
mov r9d, 0
sub r8, rdx
je 0x140010624
movabs r10, 0x100000001b3
nop
movzx ecx, byte [r9 + rdx]
inc r9
xor rax, rcx
imul rax, r10
cmp r9, r8
jb 0x140010610
ret
Function at 0x140010e20
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x140093010]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140010ef3
cmp byte [rcx + 0x71], 0
je 0x140010ef3
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x140010eef
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 0x140010eb4
sub eax, 1
je 0x140010eb8
cmp eax, 2
jne 0x140010eef
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140072930
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140010ee6
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 0x140010eef
cmp byte [rbx + 0x71], 0
sete al
jmp 0x140010e9c
xor al, al
jmp 0x140010e9c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140072930
add rsp, 0x60
pop rbx
ret
Function at 0x140017330
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov esi, edx
mov dword [rcx + 0x74], 0
mov rbx, rcx
mov edi, 0x7fffffff
movsx ecx, byte [rbx + 0x78]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x1400173fc
lea r8d, [rcx - 0x30]
cmp r8d, 0xffffffff
je 0x1400173fc
mov r9d, dword [rbx + 0x74]
mov ecx, 0x7fffffff
sub ecx, r8d
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp r9d, edx
jg 0x140017415
lea eax, [r9 + r9*4]
dec edi
lea ecx, [r8 + rax*2]
mov rax, qword [rbx]
mov dword [rbx + 0x74], ecx
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x1400173ec
cmp byte [rax], 0x5c
jne 0x1400173e6
lea rdx, [rax + 1]
cmp rdx, rcx
je 0x1400173e6
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x1400173d2
movzx ecx, byte [rdx]
sub cl, 0x28
cmp cl, 1
jbe 0x1400173e3
test r8b, 0x10
jne 0x1400173e6
movzx ecx, byte [rdx]
sub cl, 0x7b
test cl, 0xfd
jne 0x1400173e6
mov rax, rdx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.140014170
test edi, edi
jne 0x140017350
mov rbx, qword [rsp + 0x30]
cmp edi, 0x7fffffff
mov rsi, qword [rsp + 0x38]
setne al
add rsp, 0x20
pop rdi
ret
mov edx, esi
call fcn.140014160
int3

Function at 0x14001b6d0
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 0x14001b72d
lea rbx, [0x14007d490]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x14001b714
cmp r10, 2
jb 0x14001b714
cmp byte [r9], r8b
jne 0x14001b714
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 0x14001b6f0
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x14001b76f
lea rbx, [0x14007d490]
cmp r8b, 0x23
jne 0x14001b753
cmp byte [r9], r8b
jne 0x14001b753
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 0x14001b740
mov rbx, qword [rsp + 8]
not eax
ret
Function at 0x14001b8b0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push r14
sub rsp, 0x20
mov r14, r8
test r8, r8
je 0x14001b8ca
mov qword [r8], 0
lea rdx, [0x140082900]
call fcn.14001b780
mov rbx, rax
test rax, rax
jne 0x14001b8ea
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 qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov esi, eax
cmp eax, 0xffffffff
je 0x14001b9c1
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x14001b9c1
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x14001b9c1
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x14001b9c1
cmp rdi, 0xffffffffffffffff
je 0x14001b9c1
mov rax, qword [0x140094780]
test rax, rax
je 0x14001b95e
inc dword [rax + 0xf4]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
je 0x14001b9c1
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, rbx
cmp rax, rdi
je 0x14001b9ae
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x140094780]
test rax, rax
je 0x14001b9a3
dec dword [rax + 0xf4]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14001b9ca
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test r14, r14
je 0x14001b9bc
mov qword [r14], rdi
mov rax, rsi
jmp 0x14001b9cc
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret