joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400c3170
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x28
mov ecx, dword [0x140103438]
cmp ecx, 0xffffffff
je 0x1400c3195
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and eax, 3
dec eax
cmp eax, 2
setb al
add rsp, 0x28
ret
xor eax, eax
jmp 0x1400c3190

Function at 0x1400c7fe0
Capabilities:
Query or enumerate registry value

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
mov r14, r8
mov rdi, rdx
mov rbx, rcx
mov rax, qword [0x140100028]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov eax, 4
lea r15, [rsp + 0x3c]
mov dword [r15], eax
lea r12, [rsp + 0x38]
mov dword [r12], eax
lea rsi, [rsp + 0x34]
mov dword [rsi], 0
lea rdx, str.ReadValue
lea r8, str..._.._base_win_registry.cc
lea rcx, [rsp + 0x40]
mov r9d, 0x19e
call fcn.14003f330
mov rcx, qword [rbx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rsi
mov rdx, rdi
xor r8d, r8d
mov r9, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400c80a2
mov eax, dword [rsp + 0x3c]
add eax, 0xfffffffd
mov edi, 0x3f4
cmp eax, 1
ja 0x1400c8085
cmp dword [rsp + 0x38], 4
jne 0x1400c8085
mov eax, dword [rsp + 0x34]
mov dword [r14], eax
xor edi, edi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140069890
mov eax, edi
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov edi, eax
jmp 0x1400c8085

Function at 0x1400c8b30
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push rsi
mov r8, qword [rcx]
mov r9, qword [rcx + 8]
sub r9, r8
je 0x1400c8b6a
mov rdx, r9
shr rdx, 2
xor eax, eax
lea r10, [0x1400f4340]
movzx r11d, dl
movzx esi, byte [r8 + rax]
xor esi, r11d
shr edx, 8
xor edx, dword [r10 + rsi*4]
inc rax
cmp r9, rax
jne 0x1400c8b4d
jmp 0x1400c8b6c
xor edx, edx
cmp edx, dword [rcx + 0x18]
sete al
pop rsi
ret
Function at 0x1400cd7a0
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rcx
mov rax, qword [0x140100028]
xor rax, rsp
mov qword [rsp + 0x28], rax
movabs rbx, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x20]
mov qword [rsp + 0x20], rbx
mov rcx, rdi
mov edx, 8
call sub.ADVAPI32.dll_SystemFunction036
test al, al
je 0x1400cd81e
mov rax, 0xffffffffffffffff
xor edx, edx
div rsi
mov rcx, 0xfffffffffffffffe
sub rcx, rdx
mov rax, qword [rsp + 0x20]
cmp rax, rcx
ja 0x1400cd7c8
xor edx, edx
div rsi
mov rsi, rdx
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.140069890
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
int3
Function at 0x1400ce7e0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
add rcx, 0x90
call fcn.1400d20c0
mov rcx, qword [rsi + 0x68]
test rcx, rcx
je 0x1400ce806
mov qword [rsi + 0x70], rcx
call fcn.1400013b0
mov rcx, qword [rsi + 0x48]
test rcx, rcx
je 0x1400ce818
mov qword [rsi + 0x50], rcx
call fcn.1400013b0
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x1400ce82a
mov qword [rsi + 0x30], rcx
call fcn.1400013b0
mov rdx, qword [rsi + 0x18]
add rsi, 0x10
mov rcx, rsi
add rsp, 0x20
pop rsi
jmp 0x1400d20f0
push rsi
push rdi
sub rsp, 0x28
test rdx, rdx
jne 0x1400d2102
add rsp, 0x28
pop rdi
pop rsi
ret
mov rsi, rdx
mov rdi, rcx
mov rdx, qword [rdx]
call 0x1400d20f0
mov rdx, qword [rsi + 8]
mov rcx, rdi
call 0x1400d20f0
mov rcx, rsi
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.1400013b0

Function at 0x1400d12f0
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
mov r14, rdx
mov r15, rcx
mov rcx, qword [rcx]
mov rbx, qword [r15 + 8]
sub rbx, rcx
sar rbx, 4
lea rax, [rbx + 1]
mov rdx, rax
shr rdx, 0x3c
jne 0x1400d1404
movabs rdx, 0xfffffffffffffff
mov rdi, qword [r15 + 0x10]
sub rdi, rcx
mov rcx, rdi
sar rcx, 4
sar rdi, 3
cmp rdi, rax
cmovb rdi, rax
movabs rax, 0x7ffffffffffffff
cmp rcx, rax
cmovae rdi, rdx
test rdi, rdi
jne 0x1400d13f7
xor eax, eax
shl rbx, 4
lea rdx, [rax + rbx]
shl rdi, 4
add rdi, rax
mov rcx, qword [r14]
lea r8, [rax + rbx]
add r8, 0x10
mov qword [r8 - 0x10], rcx
mov cl, byte [r14 + 8]
and cl, 1
mov byte [r8 - 8], cl
mov cl, byte [r14 + 9]
and cl, 1
mov byte [r8 - 7], cl
mov rbx, qword [r15]
mov rcx, qword [r15 + 8]
cmp rcx, rbx
je 0x1400d13ca
mov rax, qword [rcx - 0x10]
mov qword [rdx - 0x10], rax
mov al, byte [rcx - 8]
and al, 1
mov byte [rdx - 8], al
mov al, byte [rcx - 7]
lea rsi, [rcx - 0x10]
and al, 1
mov byte [rdx - 7], al
add rdx, 0xfffffffffffffff0
mov rcx, rsi
cmp rbx, rsi
jne 0x1400d139f
mov rcx, qword [r15]
mov qword [r15], rdx
mov qword [r15 + 8], r8
mov qword [r15 + 0x10], rdi
test rcx, rcx
je 0x1400d13ea
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp fcn.1400013b0
nop
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rcx, rdi
call fcn.1400d15d0
jmp 0x1400d135f
mov rcx, r15
call fcn.1400a86c4
int3

Function at 0x1400d20c0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
add rcx, 0x38
call 0x1400d7330
add rsi, 8
mov rcx, rsi
add rsp, 0x20
pop rsi
jmp 0x1400d7330
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1400d7352
mov rdi, qword [rcx]
call fcn.14000d670
mov rcx, rdi
test rdi, rdi
jne 0x1400d7342
mov rdx, qword [rsi]
mov qword [rsi], 0
test rdx, rdx
je 0x1400d7377
mov r8, qword [rsi + 8]
add rsi, 0x10
mov rcx, rsi
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.14000cb90
nop
add rsp, 0x28
pop rdi
pop rsi
ret
Function at 0x1400d7330
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
add rcx, 0x38
call 0x1400d7330
add rsi, 8
mov rcx, rsi
add rsp, 0x20
pop rsi
jmp 0x1400d7330
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1400d7352
mov rdi, qword [rcx]
call fcn.14000d670
mov rcx, rdi
test rdi, rdi
jne 0x1400d7342
mov rdx, qword [rsi]
mov qword [rsi], 0
test rdx, rdx
je 0x1400d7377
mov r8, qword [rsi + 8]
add rsi, 0x10
mov rcx, rsi
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.14000cb90
nop
add rsp, 0x28
pop rdi
pop rsi
ret

Function at 0x1400d90f0
Capabilities:
Encode data using xor

Disassembly:
xor eax, eax
cmp rdx, r8
je 0x1400d9127
movabs r9, 0xf000000000000000
shl rax, 4
movsx r10, byte [rdx]
add r10, rax
mov rcx, r10
and rcx, r9
mov rax, rcx
shr rax, 0x38
or rax, rcx
xor rax, r10
inc rdx
cmp r8, rdx
jne 0x1400d9101
ret

Function at 0x1400d9180
Capabilities:
Encode data using xor

Disassembly:
xor eax, eax
cmp rdx, r8
je 0x1400d91b8
movabs r9, 0xf000000000000000
shl rax, 4
movzx r10d, word [rdx]
add r10, rax
mov rcx, r10
and rcx, r9
mov rax, rcx
shr rax, 0x38
or rax, rcx
xor rax, r10
add rdx, 2
cmp r8, rdx
jne 0x1400d9191
ret
Function at 0x1800037c0
Capabilities:
Create thread

Disassembly:
sub rsp, 0x38
cmp edx, 1
jne 0x180003816
mov qword [0x18001b970], rcx
lea r8, [0x1800036f0]
mov qword [rsp + 0x30], rbx
xor r9d, r9d
xor ebx, ebx
xor edx, edx
mov qword [rsp + 0x28], rbx
xor ecx, ecx
mov dword [rsp + 0x20], ebx
call qword [sym.imp.KERNEL32.dll_CreateThread]
xor r9d, r9d
mov qword [rsp + 0x28], rbx
lea r8, [0x180003610]
mov dword [rsp + 0x20], ebx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, qword [rsp + 0x30]
mov eax, 1
add rsp, 0x38
ret
Function at 0x140008af0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x47], 0
mov r8, rcx
je 0x140008b7b
mov r9, 0xfffffffffffffffe
lea rax, [rcx + 2]
sub r9, rcx
nop dword [rax + rax]
lea edx, [rax + r9]
lea ecx, [rdx + 0x55]
xor byte [rax - 2], cl
lea rax, [rax + 0xe]
lea ecx, [rdx + 0x56]
xor byte [rax - 0xf], cl
lea ecx, [rdx + 0x57]
xor byte [rax - 0xe], cl
lea ecx, [rdx + 0x58]
xor byte [rax - 0xd], cl
lea ecx, [rdx + 0x59]
xor byte [rax - 0xc], cl
lea ecx, [rdx + 0x5a]
xor byte [rax - 0xb], cl
lea ecx, [rdx + 0x5b]
xor byte [rax - 0xa], cl
lea ecx, [rdx + 0x5c]
xor byte [rax - 9], cl
lea ecx, [rdx + 0x5d]
xor byte [rax - 8], cl
lea ecx, [rdx + 0x5e]
xor byte [rax - 7], cl
lea ecx, [rdx + 0x5f]
xor byte [rax - 6], cl
lea ecx, [rdx + 0x60]
xor byte [rax - 5], cl
lea ecx, [rdx + 0x61]
xor byte [rax - 4], cl
add dl, 0x62
xor byte [rax - 3], dl
lea rcx, [r9 + rax]
cmp rcx, 0x46
jb 0x140008b10
mov byte [r8 + 0x47], 0
mov rax, r8
ret

Function at 0x140009090
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x44], 0
je 0x1400090b3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax + 0x55]
xor byte [rcx + rax], dl
inc rax
cmp rax, 0x43
jb 0x1400090a0
mov byte [rcx + 0x44], 0
mov rax, rcx
ret

Function at 0x1400090c0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x82], 0
je 0x1400090e8
xor eax, eax
nop dword [rax + rax]
lea edx, [rax + 0x55]
xor byte [rcx + rax], dl
inc rax
cmp rax, 0x81
jb 0x1400090d0
mov byte [rcx + 0x82], 0
mov rax, rcx
ret
Function at 0x14000b680
Capabilities:
Execute command

Disassembly:
push rbx
sub rsp, 0xa0
mov rax, qword [0x14009c080]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rbx, rcx
mov qword [rsp + 0x88], rcx
mov rcx, qword [rcx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 0x2d
jb 0x14000b859
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14000b6ce
mov rax, qword [rbx]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], reloc.WLDAP32.dll_Ordinal_45
lea r9, str.start_cmd__C__color_b__title_Error__echo
lea rcx, [rsp + 0x68]
call fcn.140016f00
nop
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, str.__timeout__t_5_
lea rcx, [rsp + 0x68]
call fcn.140010e30
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x14000b796
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000b791
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000b791
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140079160
movdqa xmm0, xmmword [0x14008e9f0]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], 0
mov rdx, qword [rsp + 0x80]
cmp rdx, 0xf
jbe 0x14000b7ec
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000b7e7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000b7e7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140079160
xor ecx, ecx
int 0x29
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x14000b826
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x14000b821
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000b852
mov rcx, r8
call fcn.140079160
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140078de0
add rsp, 0xa0
pop rbx
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140002480
nop
int3
Function at 0x14000f980
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 0x14000f9a8
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 0x14000f9ce
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x14000f9d0
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x14000fa29
test ecx, ecx
jle 0x14000fa09
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 0x14000fa29
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x14000fa29
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 0x14000fa50
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 0x14000fa72
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je 0x14000fa88
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 0x14000faa4
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x14000faa6
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x14000fae2
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 0x14000fb7e
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x14000fb1d
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 0x14000fb5e
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 0x14000fb7e
cmp rbx, rax
ja 0x14000fb30
test rbx, rbx
je 0x14000fb7e
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 0x14000ffe0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x14009c080]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
fld dword [rbx + 0x775fffa]
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
test rdx, rdx
je 0x140010047
mov rax, qword [rcx + 0x58]
movsxd r8, dword [rax]
lea rcx, [rdx + r8]
cmp rdx, rcx
jae 0x140010047
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 0x140010179
cmp qword [rbx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x14001016c
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x14001008a
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 0x1400100b5
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 0x140010171
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 0x140010124
sub eax, 1
je 0x140010124
cmp eax, 2
jne 0x14001016c
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x140010152
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 0x14001016c
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, edi
mov eax, ecx
jmp 0x140010171
mov eax, 0xffffffff
Function at 0x1400124b0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x14009c080]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140012583
cmp byte [rcx + 0x71], 0
je 0x140012583
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + Ordinal_26]
cmp eax, 0xffffffff
je 0x14001257f
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 0x140012544
sub eax, 1
je 0x140012548
cmp eax, 2
jne 0x14001257f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140078de0
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140012576
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 0x14001257f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x14001252c
xor al, al
jmp 0x14001252c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140078de0
add rsp, 0x60
pop rbx
ret
Function at 0x1400226b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rax, qword [0x14009c080]
xor rax, rsp
mov qword [rbp + 0x20], rax
movdqa xmm1, xmmword [0x14008eb00]
xorps xmm0, xmm0
mov r15, qword [rbp + 0x90]
mov rsi, r9
mov r14, r8
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movdqa xmm0, xmmword [0x14008eb90]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rsp + 0x20], xmm1
movups xmmword [rsp + 0x30], xmm1
movups xmmword [rsp + 0x40], xmm1
movups xmmword [rsp + 0x50], xmm1
cmp rdx, 0x40
jbe 0x140022740
mov r9d, 0x40
lea r8, [rbp - 0x60]
call fcn.140022890
jmp 0x14002274f
mov r8, rdx
mov rdx, rcx
lea rcx, [rbp - 0x60]
call sub.VCRUNTIME140.dll_memcpy
xor eax, eax
nop dword [rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rsp + rax + 0x20]
movdqu xmm2, xmmword [rbp + rax - 0x60]
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmm0, xmmword [rsp + rax + 0x60]
movdqu xmmword [rsp + rax + 0x20], xmm1
xorps xmm0, xmm2
movdqu xmmword [rsp + rax + 0x60], xmm0
add rax, 0x10
cmp rax, 0x40
jl 0x140022760
lea rbx, [rsi + 0x40]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
movups xmm0, xmmword [rsp + 0x20]
mov r8, rsi
movups xmm1, xmmword [rsp + 0x30]
mov rdx, r14
mov rdi, rax
movups xmmword [rax], xmm0
lea rcx, [rax + 0x40]
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + 0x10], xmm1
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm1
call sub.VCRUNTIME140.dll_memcpy
mov esi, reloc.WLDAP32.dll_Ordinal_32
lea r8, [rbp - 0x20]
mov r9d, esi
mov rdx, rbx
mov rcx, rdi
call fcn.140022890
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, 0x60
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
movups xmm0, xmmword [rsp + 0x60]
lea r8, [rbp]
movups xmm1, xmmword [rsp + 0x70]
mov r9d, esi
mov edx, 0x60
mov rcx, rax
movups xmmword [rax], xmm0
mov rbx, rax
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rax + 0x10], xmm1
movups xmm1, xmmword [rbp - 0x70]
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rax + 0x50], xmm1
call fcn.140022890
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, qword [rbp + 0x98]
lea rdx, [rbp]
cmp rbx, rsi
mov rcx, r15
cmova rbx, rsi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rax, rbx
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.140078de0
add rsp, 0x138
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
Function at 0x140022890
Capabilities:
Hash data using sha256

Disassembly:
push rbp
push rbx
push rsi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov rax, qword [0x14009c080]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rbx, rdx
mov qword [rbp - 0x55], 0x5be0cd19
xor edx, edx
mov dword [rbp - 0x71], 0x6a09e667
mov qword [rbp - 0x79], rdx
mov r14, r9
mov dword [rbp - 0x6d], 0xbb67ae85
mov r15, r8
mov dword [rbp - 0x69], 0x3c6ef372
mov rsi, rcx
mov dword [rbp - 0x65], 0xa54ff53a
mov dword [rbp - 0x61], 0x510e527f
mov dword [rbp - 0x5d], 0x9b05688c
mov dword [rbp - 0x59], 0x1f83d9ab
test ebx, ebx
je 0x140022993
mov qword [rsp + 0xc8], rdi
nop dword [rax]
test edx, edx
jne 0x140022939
cmp ebx, 0x40
jb 0x140022939
mov rdx, rsi
lea rcx, [rbp - 0x79]
call fcn.1400229e0
add qword [rbp - 0x79], 0x200
add rsi, 0x40
mov edx, dword [rbp - 0x51]
add ebx, 0xffffffc0
jmp 0x140022987
mov eax, edx
mov ecx, 0x40
sub ecx, edx
mov edi, ebx
cmp ebx, ecx
mov rdx, rsi
cmovae edi, ecx
lea rcx, [rbp - 0x4d]
add rcx, rax
mov r8d, edi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [rbp - 0x51]
add rsi, rdi
add edx, edi
sub ebx, edi
mov dword [rbp - 0x51], edx
cmp edx, 0x40
jne 0x140022987
lea rdx, [rbp - 0x4d]
lea rcx, [rbp - 0x79]
call fcn.1400229e0
add qword [rbp - 0x79], 0x200
xor edx, edx
mov dword [rbp - 0x51], edx
test ebx, ebx
jne 0x140022910
mov rdi, qword [rsp + 0xc8]
lea rdx, [rbp - 9]
lea rcx, [rbp - 0x79]
call fcn.1400230d0
mov eax, reloc.WLDAP32.dll_Ordinal_32
lea rdx, [rbp - 9]
cmp r14, rax
mov rcx, r15
cmova r14, rax
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140078de0
add rsp, 0xd0
pop r15
pop r14
pop rsi
pop rbx
pop rbp
ret