joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140006e58
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x140102040]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor esi, esi
cmp byte [0x140103735], sil
je 0x140006f53
lea ecx, [rsi + 0x20]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [0x140103788]
movzx edi, ax
test rcx, rcx
je 0x140006eba
mov edx, dword [0x140102188]
lea r8, [rbp - 0x40]
add rdx, rcx
call fcn.1400127f8
mov bl, byte [rbp - 0x40]
lea rdx, [rbp - 0x38]
mov r14d, 1
mov qword [rbp - 0x28], rsi
mov ecx, r14d
mov qword [rbp - 0x38], r14
and bl, r14b
mov qword [rbp - 0x18], rsi
mov dword [rbp - 0x30], 0x87
mov r15d, 0x87
lea r8d, [r14 + 0x27]
mov qword [rbp - 0x20], rsi
mov dword [rbp - 0x2c], 2
call qword [sym.imp.USER32.dll_SendInput]
test di, di
je 0x140006f17
test bl, bl
je 0x140006f25
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x40], r14
call fcn.14001260c
mov qword [rbp - 0x30], r15
jmp 0x140006f30
mov ecx, r15d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140006f53
mov dword [rbp - 0x2c], 2
mov dword [rbp - 0x30], r15d
mov r8d, 0x28
mov qword [rbp - 0x38], r14
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x28], rsi
mov ecx, r14d
mov qword [rbp - 0x18], rsi
mov qword [rbp - 0x20], rsi
call qword [sym.imp.USER32.dll_SendInput]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140063d40
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x140007fec
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x14000807f
call qword [sym.imp.USER32.dll_EmptyClipboard]
lea rsi, [rbx + 0x10]
mov ecx, 2
mov rdx, qword [rsi]
inc rdx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rdi, rax
test rax, rax
je 0x140008079
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
jne 0x140008046
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x140008079
cmp qword [rbx + 0x18], 0xf
jbe 0x140008050
mov rbx, qword [rbx]
mov rdx, qword [rsi]
mov r8, rbx
inc rdx
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rdx, rdi
mov ecx, 1
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1400103b8
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r15, rdx
mov rdi, rcx
je 0x1400103e8
call 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]
jmp 0x140010461
mov rax, qword [rcx + 0x40]
mov rsi, rbx
mov r9, qword [rax]
test r9, r9
je 0x1400103ff
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x140010401
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x14001045b
test ecx, ecx
jle 0x14001043b
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call qword [sym.imp.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 0x14001045b
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x14001045b
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
sub rsi, rbx
mov rax, rsi
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret

Function at 0x14001047c
Capabilities:
Read file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x14001049c
xor eax, eax
jmp 0x140010586
cmp qword [rcx + 0x68], 0
je 0x1400104ae
call 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]
jmp 0x140010586
mov rax, qword [rcx + 0x38]
mov rdi, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x1400104c5
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x1400104c7
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x1400104fa
cmp rax, rbp
mov rbx, rbp
mov rcx, r14
cmovb rbx, rax
mov r8, rbx
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov rax, qword [rsi + 0x50]
add r14, rbx
sub rdi, rbx
sub dword [rax], ebx
mov rcx, qword [rsi + 0x38]
movsxd rax, ebx
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x140010580
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x140010531
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
mov ebx, 0xfff
jmp 0x14001055b
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]
add r14, rax
sub rdi, rax
cmp rax, rbx
jne 0x140010580
cmp rdi, rbx
ja 0x140010538
test rdi, rdi
je 0x140010580
mov r9, qword [rsi + 0x80]
mov r8, rdi
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rdi, rax
sub rbp, rdi
mov rax, rbp
add rsp, 0x20
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14001095c
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x140102040]
xor rax, rsp
mov qword [rbp - 8], rax
or edi, 0xffffffff
mov esi, edx
mov rbx, rcx
cmp edx, edi
jne 0x140010995
xor eax, eax
jmp 0x140010ab5
mov rax, qword [rcx + 0x40]
cmp qword [rax], 0
je 0x1400109cf
mov rdx, qword [rcx + 0x58]
movsxd r8, dword [rdx]
mov rcx, r8
add rcx, qword [rax]
cmp qword [rax], rcx
jae 0x1400109cf
lea ecx, [r8 - 1]
mov eax, esi
mov dword [rdx], ecx
mov rdx, qword [rbx + 0x40]
mov r8, qword [rdx]
lea rcx, [r8 + 1]
mov qword [rdx], rcx
mov byte [r8], sil
jmp 0x140010ab5
cmp qword [rbx + 0x80], 0
je 0x140010ab3
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x140010a0a
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 0x140010a2b
movsx ecx, sil
mov rdx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
cmp eax, edi
jmp 0x140010ab0
lea rax, [rbp - 0x40]
mov byte [rbp - 0x30], sil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 0x74]
lea rax, [rbp - 8]
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x2f]
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
lea r8, [rbp - 0x30]
lea rax, [rbp - 0x38]
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 0x140010a79
sub eax, 1
je 0x140010a79
cmp eax, 2
jne 0x140010ab3
movsx ecx, byte [rbp - 0x30]
jmp 0x140010a17
mov r14, qword [rbp - 0x40]
lea rax, [rbp - 0x28]
sub r14, rax
je 0x140010aa4
mov r9, qword [rbx + 0x80]
lea rcx, [rbp - 0x28]
mov r8, r14
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp r14, rax
jne 0x140010ab3
lea rax, [rbp - 0x30]
mov byte [rbx + 0x71], 1
cmp qword [rbp - 0x38], rax
cmovne edi, esi
mov eax, edi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140063d40
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
Function at 0x140011b58
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x60
mov rax, qword [0x140102040]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140011bc7
cmp byte [rcx + 0x71], 0
je 0x140011bc7
mov rax, qword [rcx]
or edx, 0xffffffff
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x140011c1c
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 0x140011be1
sub eax, 1
je 0x140011be5
cmp eax, 2
jne 0x140011c1c
mov byte [rbx + 0x71], 0
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140063d40
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140011c13
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 0x140011c1c
cmp byte [rbx + 0x71], 0
sete al
jmp 0x140011bc9
xor al, al
jmp 0x140011bc9
Function at 0x140014e50
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x60
mov rax, qword [0x140102040]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rbx, rcx
mov qword [rsp + 0x28], rcx
lea rcx, [0x1400cabe0]
xor r8d, r8d
lea r9, [rsp + 0x28]
xor edx, edx
xor edi, edi
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
js 0x140014f08
mov rdx, qword [rsp + 0x28]
xorps xmm0, xmm0
xorps xmm1, xmm1
or r8, 0xffffffffffffffff
movups xmmword [rsp + 0x30], xmm0
movdqu xmmword [rsp + 0x40], xmm1
inc r8
cmp word [rdx + r8*2], di
jne 0x140014ea8
lea rcx, [rsp + 0x30]
call fcn.140012ef8
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xorps xmm0, xmm0
lea rdx, [rsp + 0x30]
movups xmmword [rbx], xmm0
mov r8d, 0x20
mov qword [rbx + 0x10], rdi
mov rcx, rbx
mov qword [rbx + 0x18], rdi
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
movdqa xmm0, xmmword [0x1400f05c0]
lea rcx, [rsp + 0x30]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], di
call fcn.140003fdc
jmp 0x140014f4b
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Failed_to_retrieve_AppData_folder_path.
call fcn.14000449c
lea rdx, [0x14000460c]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm0, xmm0
lea rdx, [0x1400ed5e0]
movups xmmword [rbx], xmm0
xor r8d, r8d
mov qword [rbx + 0x10], rdi
mov rcx, rbx
mov qword [rbx + 0x18], rdi
call fcn.140012ef8
mov rax, rbx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140063d40
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret
Function at 0x140015b80
Capabilities:
Enumerate processes

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0x178]
sub rsp, 0x270
mov rax, qword [0x140102040]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov rdi, rcx
xor edx, edx
lea rcx, [rsp + 0x24]
mov r8d, 0x234
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov dword [rsp + 0x20], 0x238
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x140015be4
xor ebx, ebx
jmp 0x140015c60
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
or rcx, 0xffffffffffffffff
lea rax, [rsp + 0x4c]
xor ebx, ebx
inc rcx
cmp word [rax + rcx*2], bx
jne 0x140015bfd
cmp qword [rdi + 0x18], 7
mov r9, rdi
mov r10, qword [rdi + 0x10]
jbe 0x140015c17
mov r9, qword [rdi]
cmp rcx, r10
lea r8, [rsp + 0x4c]
mov rdx, r10
cmovb rdx, rcx
test rdx, rdx
je 0x140015c4c
lea rax, [rsp + 0x4c]
sub r9, rax
movzx eax, word [r9 + r8]
cmp ax, word [r8]
jne 0x140015cc2
add r8, 2
sub rdx, 1
jne 0x140015c33
cmp r10, rcx
jb 0x140015cc2
ja 0x140015cc2
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [rsp + 0x28]
mov rcx, rdi
call fcn.140003fdc
mov eax, ebx
jmp 0x140015ce7
lea rax, [rsp + 0x4c]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], bx
jne 0x140015c75
cmp qword [rdi + 0x18], 7
mov r9, rdi
mov r10, qword [rdi + 0x10]
jbe 0x140015c8f
mov r9, qword [rdi]
cmp rcx, r10
lea r8, [rsp + 0x4c]
mov rdx, r10
cmovb rdx, rcx
test rdx, rdx
je 0x140015c4c
lea rax, [rsp + 0x4c]
sub r9, rax
movzx eax, word [r9 + r8]
cmp ax, word [r8]
jne 0x140015cc2
add r8, 2
sub rdx, 1
jne 0x140015cab
jmp 0x140015c4c
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x140015c6c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.140003fdc
xor eax, eax
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.140063d40
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
Function at 0x14001b450
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
not r8d
mov r10, rcx
mov r9d, r8d
test rdx, rdx
je 0x14001b4aa
mov r11b, 0x23
lea rbx, [0x1400e8d30]
movzx edi, byte [r10]
dec rdx
inc r10
cmp dil, r11b
jne 0x14001b494
cmp rdx, 2
jb 0x14001b494
cmp byte [r10], r11b
jne 0x14001b494
cmp byte [r10 + 1], r11b
cmove r9d, r8d
movzx ecx, r9b
xor rcx, rdi
shr r9d, 8
xor r9d, dword [rbx + rcx*4]
test rdx, rdx
jne 0x14001b472
jmp 0x14001b4eb
mov dl, byte [rcx]
inc r10
test dl, dl
je 0x14001b4eb
mov r11b, 0x23
lea rbx, [0x1400e8d30]
cmp dl, r11b
jne 0x14001b4cf
cmp byte [r10], r11b
jne 0x14001b4cf
cmp byte [r10 + 1], r11b
cmove r9d, r8d
movzx ecx, r9b
movzx eax, dl
mov dl, byte [r10]
xor rcx, rax
shr r9d, 8
inc r10
xor r9d, dword [rbx + rcx*4]
test dl, dl
jne 0x14001b4bd
mov rbx, qword [rsp + 8]
not r9d
mov rdi, qword [rsp + 0x10]
mov eax, r9d
ret

Function at 0x14001b620
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rsi, r8
test r8, r8
je 0x14001b640
and qword [r8], 0
lea rdx, [0x1400eea30]
call fcn.14001b4fc
mov rbx, rax
test rax, rax
je 0x14001b731
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebp, eax
cmp eax, 0xffffffff
je 0x14001b728
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 0x14001b728
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x14001b728
xor r8d, r8d
mov edx, ebp
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x14001b728
mov rbp, rdi
cmp rdi, 0xffffffffffffffff
je 0x14001b728
mov rax, qword [0x1401037e8]
test rax, rax
je 0x14001b6c5
inc dword [rax + 0xf4]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
test rax, rax
je 0x14001b728
mov r9, rbx
mov r8, rbp
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, rbp
je 0x14001b715
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x1401037e8]
test rax, rax
je 0x14001b70a
dec dword [rax + 0xf4]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14001b731
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test rsi, rsi
je 0x14001b723
mov qword [rsi], rbp
mov rax, rdi
jmp 0x14001b733
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x14001e328
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [0x140102040]
xor rax, rsp
mov qword [rsp + 0x28], rax
movsxd r8, dword [rcx + 0xf8]
mov r11d, 4
mov rax, qword [rcx + 0x100]
mov r9, rcx
mov dword [rsp + 0x20], edx
mov r10d, r11d
mov ebx, dword [rax + r8*4 - 4]
lea r8, [rsp + 0x20]
not ebx
movzx eax, byte [r8]
inc r8
movzx ecx, bl
xor rcx, rax
shr ebx, 8
lea rax, [0x1400e8d30]
xor ebx, dword [rax + rcx*4]
sub r10, 1
jne 0x14001e367
mov rcx, qword [r9]
not ebx
cmp dword [rcx + 0x3f40], ebx
jne 0x14001e3a1
movsxd r8, edx
mov ecx, ebx
mov edx, r11d
call fcn.140030208
mov eax, ebx
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.140063d40
add rsp, 0x30
pop rbx
ret

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

Disassembly:
sub rsp, 0x28
mov rax, qword [0x140102040]
xor rax, rsp
mov qword [rsp + 0x10], rax
movss xmm2, dword [rcx + 0x118]
lea r9, [rsp]
movss xmm3, dword [rcx + 0x11c]
mov r10d, 0x10
movss xmm0, dword [rdx]
movss xmm1, dword [rdx + 4]
subss xmm0, xmm2
mov rax, qword [rcx + 0x100]
subss xmm1, xmm3
movsxd rcx, dword [rcx + 0xf8]
movss dword [rsp], xmm0
movss xmm0, dword [rdx + 8]
mov r8d, dword [rax + rcx*4 - 4]
subss xmm0, xmm2
movss dword [rsp + 4], xmm1
not r8d
movss xmm1, dword [rdx + 0xc]
subss xmm1, xmm3
movss dword [rsp + 8], xmm0
movss dword [rsp + 0xc], xmm1
movzx ecx, byte [r9]
lea rax, [0x1400e8d30]
movzx edx, r8b
inc r9
xor rdx, rcx
shr r8d, 8
xor r8d, dword [rax + rdx*4]
sub r10, 1
jne 0x14001e435
not r8d
mov eax, r8d
mov rcx, qword [rsp + 0x10]
xor rcx, rsp
call fcn.140063d40
add rsp, 0x28
ret

Function at 0x14002eed8
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x5ca8], 0
lea rbx, [rcx + 0x5cb0]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
je 0x14002ef71
mov r9d, dword [rbx + 4]
test r9d, r9d
jns 0x14002ef29
mov eax, r9d
mov rcx, rbx
cdq
sub eax, edx
xor edx, edx
sar eax, 1
add eax, r9d
test eax, eax
cmovg edx, eax
call fcn.140031130
and dword [rbx], 0
mov r8, rsi
mov rdx, rbp
mov rcx, rbx
call fcn.14001c00c
mov eax, dword [rbx]
mov edx, 1
mov r9, qword [rdi + 0x5ca8]
lea ecx, [rax - 1]
neg eax
sbb eax, eax
and eax, ecx
lea rcx, [0x1401037d5]
movsxd r8, eax
mov rax, qword [rdi + 0x5cb8]
test rax, rax
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
jmp 0x14002ef79
mov rcx, rbx
call fcn.14001c00c
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x14002f614
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov rax, qword [0x1401037e8]
mov rbx, rcx
and dword [rax + 0x5c0c], 0
test rcx, rcx
je 0x14002f67d
and qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call fcn.14002f688
lea rdx, [0x1400eea34]
mov rcx, rbx
mov rdi, rax
call fcn.14001b4fc
mov rbx, rax
test rax, rax
je 0x14002f67d
mov r8, qword [rsp + 0x30]
mov r9, rax
mov edx, 1
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14005a3f4
Capabilities:
Hide graphical window

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xd0
mov rax, qword [0x140102040]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov rbx, rcx
lea rcx, str.user32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
jne 0x14005a435
xor al, al
jmp 0x14005a569
lea rdx, str.CreateWindowInBand
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
and dword [rbp + 7], 0
xor ecx, ecx
and dword [rbp + 0xb], 0
mov rdi, rax
lea rax, [0x14005a770]
mov dword [rbp - 9], 0x50
mov qword [rbp - 1], rax
mov dword [rbp - 5], 0x40
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rcx, [rbx + 0xc0]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov qword [rbp + 0xf], rax
cmp qword [rcx + 0x18], 7
movdqa xmmword [rbp + 0x17], xmm0
movdqa xmmword [rbp + 0x27], xmm1
jbe 0x14005a496
mov rcx, qword [rcx]
and qword [rbp + 0x3f], 0
mov qword [rbp + 0x37], rcx
lea rcx, [rbp - 9]
call qword [sym.imp.USER32.dll_RegisterClassExW]
lea r8, [rbx + 0x80]
cmp qword [r8 + 0x18], 7
jbe 0x14005a4ba
mov r8, qword [r8]
mov rcx, qword [rbp + 0xf]
mov r9d, 0x80000000
mov dword [rsp + 0x60], 2
movzx edx, ax
and qword [rsp + 0x58], 0
mov qword [rsp + 0x50], rcx
mov ecx, 0x64
and qword [rsp + 0x48], 0
and qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0x438
mov dword [rsp + 0x30], 0x780
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], ecx
mov ecx, 0x8000028
call rdi
mov rcx, qword [rbp + 0xf]
mov rdx, rax
mov qword [rbx + 0x58], rcx
mov qword [rbx + 0x50], rax
mov qword [0x1401037b0], rax
call fcn.140059834
test al, al
jne 0x14005a548
lea rcx, [0x140103898]
call fcn.1400599b8
mov rdx, qword [rbp + 0xf]
mov rcx, qword [rbp + 0x37]
call qword [sym.imp.USER32.dll_UnregisterClassW]
jmp 0x14005a42e
mov rcx, qword [rbx + 0x50]
mov edx, 0xa
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [rbx + 0x50]
call qword [sym.imp.USER32.dll_UpdateWindow]
cmp qword [rbx + 0x50], 0
setne al
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.140063d40
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
Function at 0x14005afc8
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov rax, qword [0x140102040]
xor rax, rsp
mov qword [rbp + 0x1a8], rax
mov eax, 1
lea rdx, str.SeTcbPrivilege
mov r12, r8
mov dword [rbp + 0x190], eax
mov r15d, ecx
mov dword [rbp + 0x194], eax
lea r8, [rbp + 0x198]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
je 0x14005b18b
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14005b18b
xor r14d, r14d
mov dword [rsp + 0x40], 0x238
lea rdx, [rsp + 0x40]
mov rcx, rax
mov ebx, 0x490
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
jmp 0x14005b178
lea rdx, str.winlogon.exe
lea rcx, [rsp + 0x6c]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14005b16a
mov r8d, dword [rsp + 0x48]
xor edx, edx
mov ecx, 0x1000
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rsi, rax
test rax, rax
je 0x14005b165
lea r8, [rsp + 0x30]
mov edx, 0xa
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x14005b15c
mov rcx, qword [rsp + 0x30]
lea r8, [rbp + 0x180]
lea rdx, [rbp + 0x190]
call qword [sym.imp.ADVAPI32.dll_PrivilegeCheck]
test eax, eax
je 0x14005b151
cmp dword [rbp + 0x180], 0
je 0x14005b151
mov rcx, qword [rsp + 0x30]
lea rax, [rbp + 0x188]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x184]
lea edx, [r9 + 8]
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x14005b151
cmp dword [rbp + 0x184], r15d
jne 0x14005b151
mov rcx, qword [rsp + 0x30]
mov r14d, 1
mov qword [rsp + 0x28], r12
xor r8d, r8d
mov dword [rsp + 0x20], 2
lea r9d, [r14 + 1]
lea edx, [r14 + 3]
call qword [sym.imp.ADVAPI32.dll_DuplicateTokenEx]
test eax, eax
je 0x14005b149
xor ebx, ebx
jmp 0x14005b151
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test r14d, r14d
jne 0x14005b180
lea rdx, [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x14005b06a
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14005b193
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, ebx
mov rcx, qword [rbp + 0x1a8]
xor rcx, rsp
call fcn.140063d40
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret