joyce8/EMBER2024-capa huggingface dataset:
Function at 0x6bac21b0
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x6bb465d0]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x6bac21d0
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x6bac21d8
ret
cmp word [r8 + 0x18], 0x20b
jne 0x6bac21d0
movzx eax, word [r8 + 0x14]
sub rcx, rdx
lea rax, [r8 + rax + 0x18]
movzx r8d, word [r8 + 6]
test r8w, r8w
je 0x6bac222d
lea edx, [r8 - 1]
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop word cs:[rax + rax]
mov r8d, dword [rax + 0xc]
mov rdx, r8
cmp rcx, r8
jb 0x6bac2224
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x6bac21d0
add rax, 0x28
cmp rax, r9
jne 0x6bac2210
xor eax, eax
ret

Function at 0x6bac2230
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x6bb465d0]
xor ecx, ecx
cmp word [rax], 0x5a4d
jne 0x6bac224f
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x6bac2258
mov eax, ecx
ret
cmp word [rax + 0x18], 0x20b
jne 0x6bac224f
movzx ecx, word [rax + 6]
mov eax, ecx
ret

Function at 0x6bac22f0
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x6bb465d0]
xor edx, edx
cmp word [rax], 0x5a4d
jne 0x6bac230f
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
je 0x6bac2318
mov rax, rdx
ret
cmp word [rcx + 0x18], 0x20b
cmove rdx, rax
mov rax, rdx
ret
Function at 0x140001010
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x38
call fcn.140009500
mov qword [rsp + 0x20], rax
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Usage:_n
mov rcx, rax
call fcn.140003170
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [rsp + 0x20]
lea rdx, str.__List:_____s__tf__archive_filename__n
mov rcx, rax
call fcn.140003170
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [rsp + 0x20]
lea rdx, str.__Extract:__s__xf__archive_filename__n
mov rcx, rax
call fcn.140003170
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [rsp + 0x20]
lea rdx, str.__Create:___s__cf__archive_filename___filenames...__n
mov rcx, rax
call fcn.140003170
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [rsp + 0x20]
lea rdx, str.__Help:_____s___help_n
mov rcx, rax
call fcn.140003170
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
add rsp, 0x38
ret

Function at 0x1400012d0
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
call fcn.14000a490
mov r8, rax
lea rdx, str.3.6.2
lea rcx, str.bsdtar__s____s__n
call fcn.1400031c0
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
add rsp, 0x28
ret
Function at 0x140005dd0
Capabilities:
Read file on windows
Terminate process

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
sub rsp, 0x78
mov rax, qword [0x14011a288]
xor rax, rsp
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x38], rax
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x80]
mov rcx, rax
call fcn.140006ee0
mov qword [rsp + 0x38], 0
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.__y_N__
mov rcx, rax
call fcn.140003170
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov r8d, 0x1f
lea rdx, [rsp + 0x48]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
cdqe
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jge 0x140005ea5
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Keyboard_read_failed_n
mov rcx, rax
call fcn.140003170
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
cmp qword [rsp + 0x30], 0
jne 0x140005eb4
xor eax, eax
jmp 0x140005f4f
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0x20
jae 0x140005ec8
jmp 0x140005ecd
call fcn.1400f0a9c
mov rax, qword [rsp + 0x40]
mov byte [rsp + rax + 0x48], 0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
jmp 0x140005ef0
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
test eax, eax
je 0x140005f4d
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
je 0x140005f12
jmp 0x140005ee3
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
mov byte [rsp + 0x20], al
cmp byte [rsp + 0x20], 0x4e
je 0x140005f43
cmp byte [rsp + 0x20], 0x59
je 0x140005f3c
cmp byte [rsp + 0x20], 0x6e
je 0x140005f43
cmp byte [rsp + 0x20], 0x79
je 0x140005f3c
jmp 0x140005f47
mov eax, 1
jmp 0x140005f4f
xor eax, eax
jmp 0x140005f4f
xor eax, eax
jmp 0x140005f4f
xor eax, eax
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400f0970
add rsp, 0x78
ret
Function at 0x140008b90
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.140014ce0
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
je 0x140008c90
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x20], 1
jle 0x140008c20
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, [0x140107de8]
mov rcx, rax
call fcn.140005670
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [rsp + 0x60]
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call fcn.140006040
mov rcx, qword [rsp + 0x58]
call fcn.14000a7b0
mov r8, rax
lea rdx, [0x140107dec]
xor ecx, ecx
call fcn.140009450
jmp 0x140008c90
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x20], 0
jle 0x140008c5f
mov rcx, qword [rsp + 0x58]
call fcn.14000a7b0
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x60]
call fcn.14001d9a0
mov rcx, qword [rsp + 0x28]
mov r9, rcx
mov r8, rax
lea rdx, str._s:__s
xor ecx, ecx
call fcn.140009450
jmp 0x140008c90
mov rcx, qword [rsp + 0x58]
call fcn.14000a7b0
mov qword [rsp + 0x30], rax
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, qword [rsp + 0x30]
mov r8, rcx
lea rdx, [0x140107dfc]
mov rcx, rax
call fcn.140003170
cmp dword [rsp + 0x20], 0xffffffe2
jne 0x140008ca2
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
cmp dword [rsp + 0x20], 0xffffffec
jl 0x140008ce7
mov rcx, qword [rsp + 0x60]
call fcn.14001dca0
test rax, rax
jle 0x140008ce7
mov r9, qword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
mov r8, qword [rax + 0xc0]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.140007e00
test eax, eax
je 0x140008ce7
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
add rsp, 0x48
ret
Function at 0x140009140
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x68
lea rcx, str.TAR_WRITER_OPTIONS
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
je 0x14000926c
mov qword [rsp + 0x40], 0x1d
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x30], 0xffffffffffffffff
inc qword [rsp + 0x30]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
cmp byte [rax + rcx], 0
jne 0x14000918a
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
jne 0x1400091eb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
lea r8, [0x140107968]
mov edx, dword [rax]
mov ecx, 1
call fcn.1400094a0
lea rax, [0x140107978]
mov rdi, qword [rsp + 0x28]
mov rsi, rax
mov rcx, qword [rsp + 0x40]
rep movsb byte [rdi], byte [rsi]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x88]
call fcn.14002f240
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp dword [rsp + 0x20], 0xffffffec
jge 0x14000925f
mov rcx, qword [rsp + 0x88]
call fcn.14000a7b0
mov r9, rax
lea r8, [0x140107998]
xor edx, edx
mov ecx, 1
call fcn.1400094a0
jmp 0x14000926c
mov rcx, qword [rsp + 0x88]
call fcn.14000a830
mov rax, qword [rsp + 0x80]
mov rdx, qword [rax + 0x60]
mov rcx, qword [rsp + 0x88]
call fcn.14002f240
test eax, eax
je 0x1400092ac
mov rcx, qword [rsp + 0x88]
call fcn.14000a7b0
mov r9, rax
lea r8, [0x14010799c]
xor edx, edx
mov ecx, 1
call fcn.1400094a0
add rsp, 0x68
pop rdi
pop rsi
ret
Function at 0x1400092c0
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x68
lea rcx, str.TAR_READER_OPTIONS
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
je 0x1400093f4
mov qword [rsp + 0x40], 0x1d
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x30], 0xffffffffffffffff
inc qword [rsp + 0x30]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
cmp byte [rax + rcx], 0
jne 0x14000930a
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
jne 0x140009373
cmp qword [rsp + 0x28], 0
jne 0x140009373
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
lea r8, [0x1401079b8]
mov edx, dword [rax]
mov ecx, 1
call fcn.1400094a0
lea rax, str.__ignore_wrong_module_name___
mov rdi, qword [rsp + 0x28]
mov rsi, rax
mov rcx, qword [rsp + 0x40]
rep movsb byte [rdi], byte [rsi]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x88]
call fcn.140015500
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp dword [rsp + 0x20], 0xffffffec
jge 0x1400093e7
mov rcx, qword [rsp + 0x88]
call fcn.14000a7b0
mov r9, rax
lea r8, [0x1401079b4]
xor edx, edx
mov ecx, 1
call fcn.1400094a0
jmp 0x1400093f4
mov rcx, qword [rsp + 0x88]
call fcn.14000a830
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x24]
and eax, 0x10
test eax, eax
je 0x140009441
lea rdx, [0x1401079e8]
mov rcx, qword [rsp + 0x88]
call fcn.140015500
test eax, eax
je 0x140009441
mov rcx, qword [rsp + 0x88]
call fcn.14000a7b0
mov r9, rax
lea r8, [0x140107a04]
xor edx, edx
mov ecx, 1
call fcn.1400094a0
add rsp, 0x68
pop rdi
pop rsi
ret

Function at 0x1400094a0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
mov qword [rsp + 0x20], r9
sub rsp, 0x38
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r8, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x48]
call fcn.1400095b0
mov qword [rsp + 0x20], 0
mov ecx, dword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
add rsp, 0x38
ret
Function at 0x140009c70
Capabilities:
Read file on windows
Write file on windows

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0xffffffffffffffff
jne 0x140009ca7
xor eax, eax
jmp 0x140009e32
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0xffffffffffffffff
jne 0x140009cc6
xor eax, eax
jmp 0x140009e32
lea rdx, [rsp + 0x34]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x140009ce8
xor eax, eax
jmp 0x140009e32
mov eax, dword [rsp + 0x34]
and eax, 0xfffffffb
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x34]
or eax, 3
mov dword [rsp + 0x34], eax
mov edx, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x140009d1f
xor eax, eax
jmp 0x140009e32
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x40], 0xffffffffffffffff
inc qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
cmp byte [rax + rcx], 0
jne 0x140009d32
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, eax
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x140009d7d
xor eax, eax
jmp 0x140009e32
mov eax, dword [rsp + 0x80]
dec eax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x38]
mov r8d, eax
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x140009db6
xor eax, eax
jmp 0x140009e32
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 2
lea rdx, [0x140107f60]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x78]
mov byte [rcx + rax], 0
cmp dword [rsp + 0x38], 2
jbe 0x140009e2d
mov eax, dword [rsp + 0x38]
sub eax, 2
mov eax, eax
mov rcx, qword [rsp + 0x78]
movsx eax, byte [rcx + rax]
cmp eax, 0xd
jne 0x140009e2d
mov eax, dword [rsp + 0x38]
dec eax
mov eax, eax
mov rcx, qword [rsp + 0x78]
movsx eax, byte [rcx + rax]
cmp eax, 0xa
jne 0x140009e2d
mov eax, dword [rsp + 0x38]
sub eax, 2
mov eax, eax
mov rcx, qword [rsp + 0x78]
mov byte [rcx + rax], 0
mov rax, qword [rsp + 0x78]
add rsp, 0x68
ret
Function at 0x140009e40
Capabilities:
Check if file exists
Set current directory

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jne 0x140009e80
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x140009e7e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140009ef0
mov eax, 0xffffffff
jmp 0x140009ee5
jmp 0x140009e84
xor eax, eax
jmp 0x140009ee5
mov rcx, qword [rsp + 0x40]
call fcn.140009f90
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
jne 0x140009eae
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0x16
mov eax, 0xffffffff
jmp 0x140009ee5
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp dword [rsp + 0x20], 0
jne 0x140009ee3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140009ef0
mov eax, 0xffffffff
jmp 0x140009ee5
xor eax, eax
add rsp, 0x38
ret

Function at 0x14000a9f0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
sub rsp, 0x58
lea rax, str.Fatal_Internal_Error_in_libarchive:
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], 0xffffffffffffffff
inc qword [rsp + 0x20]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x20]
cmp byte [rax + rcx], 0
jne 0x14000aa12
mov rax, qword [rsp + 0x20]
mov r8, rax
lea rdx, str.Fatal_Internal_Error_in_libarchive:
mov ecx, 2
call fcn.140041920
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x28], 0xffffffffffffffff
inc qword [rsp + 0x28]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
cmp byte [rax + rcx], 0
jne 0x14000aa58
mov rax, qword [rsp + 0x28]
mov r8, rax
mov rdx, qword [rsp + 0x68]
mov ecx, 2
call fcn.140041920
mov qword [rsp + 0x30], rax
mov r8d, 1
lea rdx, [0x14010803c]
mov ecx, 2
call fcn.140041920
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
add rsp, 0x58
ret
Function at 0x140016590
Capabilities:
Delete directory

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wrmdir]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
je 0x1400165e3
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7b
jne 0x1400165e3
mov rcx, qword [rsp + 0x40]
call fcn.140041ab0
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wrmdir]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [rsp + 0x20]
add rsp, 0x38
ret
Function at 0x1400183c0
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
mov word [rsp + 0x10], dx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp + 0x24], 0
mov qword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0xffffffff
jne 0x14001841e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7b
jne 0x14001841e
mov rcx, qword [rsp + 0x50]
call fcn.140041ab0
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0xffffffff
jne 0x14001843c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140041ed0
mov dword [rsp + 0x24], 0xffffffff
jmp 0x1400184ae
movzx eax, word [rsp + 0x58]
and eax, 0x80
test eax, eax
je 0x140018457
mov eax, dword [rsp + 0x20]
and eax, 0xfffffffe
mov dword [rsp + 0x20], eax
jmp 0x140018462
mov eax, dword [rsp + 0x20]
or eax, 1
mov dword [rsp + 0x20], eax
cmp qword [rsp + 0x30], 0
je 0x14001847f
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov dword [rsp + 0x28], eax
jmp 0x140018492
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 0
jne 0x1400184ae
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140041ed0
mov dword [rsp + 0x24], 0xffffffff
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [rsp + 0x24]
add rsp, 0x48
ret
Function at 0x140019a90
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp + 0x24], 0x31a7
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0xffffffff
jne 0x140019ae9
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7b
jne 0x140019ae9
mov rcx, qword [rsp + 0x50]
call fcn.140041ab0
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0xffffffff
jne 0x140019b04
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140041ed0
mov eax, 0xffffffec
jmp 0x140019b3a
mov eax, dword [rsp + 0x60]
not eax
mov ecx, dword [rsp + 0x20]
and ecx, eax
mov eax, ecx
or eax, dword [rsp + 0x58]
and eax, dword [rsp + 0x24]
mov dword [rsp + 0x28], eax
mov edx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x140019b38
mov eax, 0xffffffec
jmp 0x140019b3a
xor eax, eax
add rsp, 0x48
ret
Function at 0x14001c0c0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x28
cmp dword [0x14011a328], 0
jne 0x14001c0f0
mov dword [0x14011a328], 1
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x14011a320], rax
cmp qword [0x14011a320], 0
jne 0x14001c11f
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Cant_load_kernel32.dll___n
mov rcx, rax
call fcn.140003170
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov rdx, qword [rsp + 0x30]
mov rcx, qword [0x14011a320]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
add rsp, 0x28
ret
Function at 0x14001c610
Capabilities:
Clear file content

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 1
je 0x14001c641
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 9
mov eax, 0xffffffff
jmp 0x14001c69d
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
call fcn.140016490
test eax, eax
jne 0x14001c678
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140041ed0
mov eax, 0xffffffff
jmp 0x14001c69d
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x14001c69b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140041ed0
mov eax, 0xffffffff
jmp 0x14001c69d
xor eax, eax
add rsp, 0x38
ret

Function at 0x140026b10
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rax, qword [rsp + 0x40]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 8]
movzx eax, byte [rax]
mov byte [rsp], al
movzx eax, byte [rsp]
and eax, 0x40
test eax, eax
je 0x140026b59
mov byte [rsp + 1], 0xff
movzx eax, byte [rsp]
bts eax, 7
mov byte [rsp], al
mov qword [rsp + 0x10], 0xffffffffffffffff
jmp 0x140026b71
mov byte [rsp + 1], 0
movzx eax, byte [rsp]
and eax, 0x7f
mov byte [rsp], al
mov qword [rsp + 0x10], 0
cmp qword [rsp + 0x48], 8
jbe 0x140026be0
mov rax, qword [rsp + 0x48]
dec rax
mov qword [rsp + 0x48], rax
movzx eax, byte [rsp]
movzx ecx, byte [rsp + 1]
cmp eax, ecx
je 0x140026bc6
movzx eax, byte [rsp + 1]
test eax, eax
je 0x140026bad
movabs rax, 0x8000000000000000
mov qword [rsp + 0x18], rax
jmp 0x140026bbc
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0x18]
jmp 0x140026c82
mov rax, qword [rsp + 8]
inc rax
mov qword [rsp + 8], rax
mov rax, qword [rsp + 8]
movzx eax, byte [rax]
mov byte [rsp], al
jmp 0x140026b71
movzx eax, byte [rsp]
movzx ecx, byte [rsp + 1]
xor eax, ecx
and eax, 0x80
test eax, eax
je 0x140026c24
movzx eax, byte [rsp + 1]
test eax, eax
je 0x140026c0e
movabs rax, 0x8000000000000000
mov qword [rsp + 0x20], rax
jmp 0x140026c1d
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
jmp 0x140026c82
mov rax, qword [rsp + 0x48]
dec rax
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
jbe 0x140026c68
mov rax, qword [rsp + 0x10]
shl rax, 8
movzx ecx, byte [rsp]
or rax, rcx
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 8]
inc rax
mov qword [rsp + 8], rax
mov rax, qword [rsp + 8]
movzx eax, byte [rax]
mov byte [rsp], al
jmp 0x140026c24
mov rax, qword [rsp + 0x10]
shl rax, 8
movzx ecx, byte [rsp]
or rax, rcx
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x10]
add rsp, 0x38
ret