joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400019b0
Capabilities:
Execute command
Persist via windows service

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x20], 0xffffffffffffffff
inc qword [rsp + 0x20]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x20]
cmp byte [rax + rcx], 0
jne 0x1400019d1
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x28], 0xffffffffffffffff
inc qword [rsp + 0x28]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x28]
cmp byte [rcx + rdx], 0
jne 0x1400019fe
mov rcx, qword [rsp + 0x28]
add rax, rcx
add rax, 0x35
mov rcx, 0xffffffffffffffff
cmovb rax, rcx
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x30], 0xffffffffffffffff
inc qword [rsp + 0x30]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
cmp byte [rax + rcx], 0
jne 0x140001a4b
mov rax, qword [rsp + 0x30]
add rax, 0xe
mov rcx, 0xffffffffffffffff
cmovb rax, rcx
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x40], rax
mov r9, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
lea rdx, str.sc_create__s_binpath__s__typekernel_NUL
mov rcx, qword [rsp + 0x38]
call fcn.140001f00
mov r8, qword [rsp + 0x70]
lea rdx, str.sc_start__s_NUL
mov rcx, qword [rsp + 0x40]
call fcn.140001f00
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add rsp, 0x68
ret

Function at 0x140001ad0
Capabilities:
Execute command

Disassembly:
sub rsp, 0x28
lea rcx, str.sc_stop_RTCore64__NUL
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, str.sc_delete_RTCore64__NUL
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add rsp, 0x28
ret
Function at 0x140001c90
Capabilities:
Delete file

Disassembly:
sub rsp, 0xf8
mov rax, qword [0x14000f240]
xor rax, rsp
mov qword [rsp + 0xe0], rax
call fcn.140001ad0
lea rcx, [0x1400085d8]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
lea rcx, [rsp + 0x40]
call fcn.140001890
test eax, eax
je 0x140001ce5
mov r9d, 0x10
lea r8, str.Error
lea rdx, str.Cant_retrieve_operating_system_version_
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x24], 0
lea r8, [rsp + 0x24]
lea rdx, [rsp + 0x30]
lea rcx, str.CI.DLL
call fcn.140001010
mov r8d, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x30]
lea rcx, str.Kernel_point:_llx_size:_d_r_n
call fcn.140001e80
mov qword [rsp + 0x28], 0
mov r8d, dword [rsp + 0x4c]
lea rdx, [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
call fcn.140001200
mov rdx, qword [rsp + 0x28]
lea rcx, str.PatchAddress:_llx__r_n
call fcn.140001e80
call fcn.140004080
lea rdx, [0x140008668]
lea rcx, [0x140008680]
call fcn.1400019b0
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [0x14000f550]
call fcn.140001940
cmp dword [0x14000f550], 0xffffffff
je 0x140001d9d
mov rdx, qword [0x14000f550]
lea rcx, [0x140008690]
call fcn.140001e80
jmp 0x140001df1
lea rdx, [0x1400086a8]
lea rcx, str.RTCore64
call fcn.1400019b0
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [0x14000f550]
call fcn.140001940
cmp dword [0x14000f550], 0xffffffff
je 0x140001de5
mov rdx, qword [0x14000f550]
lea rcx, str.___Successed:_d_r_n
call fcn.140001e80
jmp 0x140001df1
lea rcx, str.___fail_r_n
call fcn.140001e80
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x28]
call fcn.140001b00
mov edx, eax
lea rcx, str.DisableTest:_d_r_n
call fcn.140001e80
lea rdx, str.C:HPGhpgg.sys
lea rcx, str.hpgg
call fcn.1400019b0
mov rcx, qword [rsp + 0x28]
call fcn.140001b30
mov edx, eax
lea rcx, str.OpenTest:_d_r_n
call fcn.140001e80
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x14000f550]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.140001ad0
lea rcx, [0x140008738]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.140006220
add rsp, 0xf8
ret
Function at 0x140004470
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x98
mov rax, qword [0x14000f240]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x68], 0
je 0x1400044ad
mov rax, qword [rsp + 0xa0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x1400044b4
mov al, 1
jmp 0x1400045f8
call fcn.140004e40
mov rcx, qword [rsp + 0xa0]
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rcx
mov edx, eax
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x48]
call qword [rax + 0x18]
mov dword [rsp + 0x38], eax
call fcn.140004e40
mov ecx, dword [rsp + 0x38]
mov edx, ecx
mov ecx, eax
call fcn.140004e50
movzx eax, al
test eax, eax
je 0x1400044ff
xor al, al
jmp 0x1400045f8
mov qword [rsp + 0x50], 0x20
lea rax, [rsp + 0x80]
mov rcx, qword [rsp + 0xa0]
add rcx, 0x74
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x20], rdx
mov r9, rax
lea r8, [rsp + 0x60]
mov rdx, rcx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x68]
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]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140004565
cmp dword [rsp + 0x30], 1
je 0x140004571
cmp dword [rsp + 0x30], 3
je 0x1400045e6
jmp 0x1400045f6
mov rax, qword [rsp + 0xa0]
mov byte [rax + 0x71], 0
lea rax, [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
jbe 0x1400045bd
mov rax, qword [rsp + 0xa0]
mov r9, qword [rax + 0x80]
mov r8, qword [rsp + 0x40]
mov edx, 1
lea rcx, [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp qword [rsp + 0x40], rax
je 0x1400045bd
xor al, al
jmp 0x1400045f8
mov rax, qword [rsp + 0xa0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x1400045d7
mov dword [rsp + 0x34], 1
jmp 0x1400045df
mov dword [rsp + 0x34], 0
movzx eax, byte [rsp + 0x34]
jmp 0x1400045f8
mov rax, qword [rsp + 0xa0]
mov byte [rax + 0x71], 0
mov al, 1
jmp 0x1400045f8
xor al, al
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140006220
add rsp, 0x98
ret
Function at 0x140005e10
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov rax, qword [0x14000f240]
xor rax, rsp
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x80], 0
jg 0x140005e44
xor eax, eax
jmp 0x140005ff6
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x68], 0
je 0x140005e6d
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
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 0x140005ff6
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.MSVCP140.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Gnavail_void_const___ptr64]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
jbe 0x140005f0c
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x40]
call fcn.140003510
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gptr_void_const___ptr64]
mov r8, qword [rsp + 0x20]
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call fcn.140004dc0
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gbump_int____ptr64]
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x80], 0
je 0x140005fe6
mov rcx, qword [rsp + 0x70]
call fcn.140004a00
mov qword [rsp + 0x38], 0xfff
cmp qword [rsp + 0x40], 0xfff
jbe 0x140005fad
mov rax, qword [rsp + 0x70]
mov r9, qword [rax + 0x80]
mov r8d, 0xfff
mov edx, 1
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x28], 0xfff
je 0x140005fab
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
jmp 0x140005ff6
jmp 0x140005f32
cmp qword [rsp + 0x40], 0
jbe 0x140005fe6
mov rax, qword [rsp + 0x70]
mov r9, qword [rax + 0x80]
mov r8, qword [rsp + 0x40]
mov edx, 1
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, qword [rsp + 0x40]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140006220
add rsp, 0x68
ret
Function at 0x140006010
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x68], 0
je 0x140006049
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
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 0x140006137
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pnavail_void_const___ptr64]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x50], 0
jle 0x1400060df
cmp qword [rsp + 0x20], 0
jle 0x1400060df
mov rax, qword [rsp + 0x20]
cmp qword [rsp + 0x50], rax
jge 0x140006089
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov r8, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x48]
mov rcx, rax
call fcn.140004dc0
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbump_int____ptr64]
cmp qword [rsp + 0x50], 0
jle 0x140006127
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x80], 0
je 0x140006127
mov rax, qword [rsp + 0x40]
mov r9, qword [rax + 0x80]
mov r8, qword [rsp + 0x50]
mov edx, 1
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x28]
sub rcx, rax
mov rax, rcx
add rsp, 0x38
ret

Function at 0x140006c38
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140006c82
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140006c82
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140006c82
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140006c82
cmp dword [rcx + 0x84], 0xe
jbe 0x140006c82
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140006c84
xor al, al
add rsp, 0x28
ret
Function at 0x40a0d8
Capabilities:
Get http content length

Disassembly:
push rbx
sub rsp, 0x90
mov qword [rsp + 0x30], 0xfffffffffffffffe
lea rcx, [rsp + 0x38]
call fcn.00403f94
cmp qword [rax + 0x20], 0x10
jb 0x40a101
mov rcx, qword [rax + 8]
jmp 0x40a105
lea rcx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x0041d300], rax
cmp qword [rsp + 0x58], 0x10
jb 0x40a124
mov rcx, qword [rsp + 0x40]
call fcn.0040a810
lea rcx, [rsp + 0x60]
call fcn.004049ac
mov rbx, rax
lea rcx, [rsp + 0x38]
call fcn.0040339c
nop
cmp qword [rbx + 0x20], 0x10
jb 0x40a149
mov rbx, qword [rbx + 8]
jmp 0x40a14d
add rbx, 8
cmp qword [rax + 0x20], 0x10
jb 0x40a15a
mov rdx, qword [rax + 8]
jmp 0x40a15e
lea rdx, [rax + 8]
mov rcx, qword [0x0041d300]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
mov rcx, rbx
call rax
mov qword [0x0041d310], rax
cmp qword [rsp + 0x58], 0x10
jb 0x40a19b
mov rcx, qword [rsp + 0x40]
call fcn.0040a810
mov qword [rsp + 0x58], 0xf
mov qword [rsp + 0x50], 0
mov byte [rsp + 0x40], 0
cmp qword [rsp + 0x80], 0x10
jb 0x40a1c7
mov rcx, qword [rsp + 0x68]
call fcn.0040a810
lea rcx, [rsp + 0x60]
call fcn.004053c4
cmp qword [rax + 0x20], 0x10
jb 0x40a1de
mov rdx, qword [rax + 8]
jmp 0x40a1e2
lea rdx, [rax + 8]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [0x0041d310]
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov qword [0x0041d308], rax
cmp qword [rsp + 0x80], 0x10
jb 0x40a229
mov rcx, qword [rsp + 0x68]
call fcn.0040a810
mov rax, qword [0x0041d308]
mov dword [0x0041d3fc], 4
mov qword [rsp + 0x20], 0
lea r9, [0x0041d3fc]
lea r8, [0x0041d3f8]
mov edx, 0x20000005
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
mov ecx, dword [0x0041d3f8]
call fcn.0040b930
mov qword [0x0041d3f0], rax
lea rcx, [rsp + 0x60]
call fcn.00407a20
nop
cmp qword [rax + 0x20], 0x10
jb 0x40a282
mov rdx, qword [rax + 8]
jmp 0x40a286
lea rdx, [rax + 8]
mov rcx, qword [0x0041d300]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea r9, [0x0041d400]
mov r8d, dword [0x0041d3f8]
mov rdx, qword [0x0041d3f0]
mov rcx, qword [0x0041d308]
call rax
nop
cmp qword [rsp + 0x80], 0x10
jb 0x40a2c7
mov rcx, qword [rsp + 0x68]
call fcn.0040a810
lea rcx, [rsp + 0x60]
call fcn.00402894
nop
cmp qword [rax + 0x20], 0x10
jb 0x40a2df
mov rdx, qword [rax + 8]
jmp 0x40a2e3
lea rdx, [rax + 8]
mov ebx, dword [0x0041d3f8]
mov rcx, qword [0x0041d220]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r9d, 0x40
mov r8d, 0x1000
mov rdx, rbx
xor ecx, ecx
call rax
mov qword [0x0041d318], rax
cmp qword [rsp + 0x80], 0x10
jb 0x40a32c
mov rcx, qword [rsp + 0x68]
call fcn.0040a810
mov rax, qword [0x0041d318]
mov r8d, dword [0x0041d3f8]
mov rdx, qword [0x0041d3f0]
mov rcx, rax
add rsp, 0x90
pop rbx
jmp fcn.0040b5f0
Function at 0x40c587
Capabilities:
Terminate process

Disassembly:
cmp rcx, qword [0x0041c0a0]
jne 0x40acca
rol rcx, 0x10
test cx, 0xffff
jne 0x40acc6
repz ret
ror rcx, 0x10
jmp 0x40c4e0
mov qword [rsp + 8], rcx
sub rsp, 0x88
lea rcx, [0x0041d510]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov rax, qword [0x0041d608]
mov qword [rsp + 0x58], rax
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call sub.KERNEL32.dll_RtlLookupFunctionEntry
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x40c565
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [0x0041d510]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call sub.KERNEL32.dll_RtlVirtualUnwind
jmp 0x40c587
mov rax, qword [rsp + 0x88]
mov qword [0x0041d608], rax
lea rax, [rsp + 0x88]
add rax, 8
mov qword [0x0041d5a8], rax
mov rax, qword [0x0041d608]
mov qword [0x0041d480], rax
mov rax, qword [rsp + 0x90]
mov qword [0x0041d590], rax
mov dword [0x0041d470], 0xc0000409
mov dword [0x0041d474], 1
mov rax, qword [0x0041c0a0]
mov qword [rsp + 0x68], rax
mov rax, qword [0x0041c0a8]
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [0x0041d508], eax
mov ecx, 1
call fcn.004104c0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [0x00415658]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
cmp dword [0x0041d508], 0
jne 0x40c60e
mov ecx, 1
call fcn.004104c0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x88
ret
Function at 0x411ca0
Capabilities:
Link many functions at runtime

Disassembly:
mov rax, rsp
sub rsp, 0x68
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax - 8], r12
mov qword [rax - 0x10], r13
mov r13, rcx
mov edi, r8d
mov r12, rdx
call fcn.0040c920
xor ebx, ebx
cmp qword [0x0041e2d0], rbx
mov rsi, rax
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x34], ebx
jne 0x411dd1
lea rcx, str.USER32.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
mov rbp, rax
jne 0x411d03
xor eax, eax
jmp 0x411eb1
lea rdx, str.MessageBoxA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x411cfc
mov rcx, rax
call fcn.0040c8b0
lea rdx, str.GetActiveWindow
mov rcx, rbp
mov qword [0x0041e2d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call fcn.0040c8b0
lea rdx, str.GetLastActivePopup
mov rcx, rbp
mov qword [0x0041e2d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call fcn.0040c8b0
lea rcx, [rsp + 0x30]
mov qword [0x0041e2e0], rax
call fcn.0040ea90
test eax, eax
je 0x411d87
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call fcn.0040beb0
cmp dword [rsp + 0x30], 2
jne 0x411dd1
lea rdx, str.GetUserObjectInformationA
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call fcn.0040c8b0
test rax, rax
mov qword [0x0041e2f0], rax
je 0x411dd1
lea rdx, str.GetProcessWindowStation
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call fcn.0040c8b0
mov qword [0x0041e2e8], rax
mov rcx, qword [0x0041e2e8]
cmp rcx, rsi
je 0x411e63
cmp qword [0x0041e2f0], rsi
je 0x411e63
call fcn.0040c980
call rax
test rax, rax
mov rbp, rax
je 0x411e2e
mov rcx, qword [0x0041e2f0]
call fcn.0040c980
lea rcx, [rsp + 0x38]
mov r9d, 0xc
mov qword [rsp + 0x20], rcx
lea edx, [r9 - 0xb]
lea r8, [rsp + 0x40]
mov rcx, rbp
call rax
test eax, eax
je 0x411e2e
test byte [rsp + 0x48], 1
jne 0x411e63
lea rcx, [rsp + 0x34]
call fcn.0040eae0
test eax, eax
je 0x411e50
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call fcn.0040beb0
cmp dword [rsp + 0x34], 4
jb 0x411e5d
bts edi, 0x15
jmp 0x411e97
bts edi, 0x12
jmp 0x411e97
mov rcx, qword [0x0041e2d8]
cmp rcx, rsi
je 0x411e97
call fcn.0040c980
call rax
test rax, rax
mov rbx, rax
je 0x411e97
mov rcx, qword [0x0041e2e0]
cmp rcx, rsi
je 0x411e97
call fcn.0040c980
mov rcx, rbx
call rax
mov rbx, rax
mov rcx, qword [0x0041e2d0]
call fcn.0040c980
mov r9d, edi
mov r8, r12
mov rdx, r13
mov rcx, rbx
call rax
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
add rsp, 0x68
ret
Function at 0x140cc7058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x140cc71df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x140cc7089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140cc706f
add dl, dl
jne 0x140cc7096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140cc70f6
xor eax, eax
add dl, dl
jne 0x140cc70a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140cc71ad
add dl, dl
jne 0x140cc70b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140cc70c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140cc70d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140cc70dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x140cc70ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x140cc707e
mov eax, 1
add dl, dl
jne 0x140cc7106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140cc7113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140cc70fb
sub eax, ebx
mov ebx, 1
jne 0x140cc714c
mov ecx, 1
add dl, dl
jne 0x140cc712e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140cc713b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140cc7123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140cc707e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x140cc7168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140cc7175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140cc715d
cmp eax, 0x7d00
jae 0x140cc719b
cmp eax, 0x500
jb 0x140cc7196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140cc707e
cmp eax, 0x7f
ja 0x140cc719e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140cc707e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x140cc71d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x140cc707e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x140001730
Capabilities:
Enumerate processes

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x268
mov rdi, rcx
mov rax, qword [0x1400080c0]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov dword [rsp + 0x28], 0x238
xor esi, esi
mov ecx, 2
xor edx, edx
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
cmp rax, 0xffffffffffffffff
je 0x140001880
mov rbx, rax
lea rdx, [rsp + 0x28]
mov rcx, rax
call sub.KERNEL32.dll_Process32FirstW
lea r14, [rsp + 0x54]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
mov rdx, rcx
cmovb rdx, rax
test rdx, rdx
je 0x1400017d5
cmp qword [rdi + 0x18], 8
mov r8, rdi
jb 0x1400017af
mov r8, qword [rdi]
xor r9d, r9d
nop word cs:[rax + rax]
movzx r10d, word [r8 + r9*2]
cmp r10w, word [rsp + r9*2 + 0x54]
jne 0x140001804
inc r9
cmp rdx, r9
jne 0x1400017c0
cmp rax, rcx
jne 0x140001804
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [rsp + 0x30]
jmp 0x140001880
xor edx, edx
cmp rax, rcx
setb dl
mov eax, 0xffffffff
cmovbe eax, edx
test eax, eax
je 0x1400017da
lea rdx, [rsp + 0x28]
mov rcx, rbx
call sub.KERNEL32.dll_Process32NextW
test eax, eax
je 0x140001877
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
mov rdx, rcx
cmovb rdx, rax
test rdx, rdx
je 0x1400017f0
cmp qword [rdi + 0x18], 8
mov r8, rdi
jb 0x14000183e
mov r8, qword [rdi]
xor r9d, r9d
nop word cs:[rax + rax]
movzx r10d, word [r8 + r9*2]
cmp r10w, word [rsp + r9*2 + 0x54]
jne 0x140001870
inc r9
cmp rdx, r9
jne 0x140001850
jmp 0x1400017f0
mov eax, 1
jmp 0x140001800
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1400024a0
mov eax, esi
add rsp, 0x268
pop rbx
pop rdi
pop rsi
pop r14
ret
Function at 0x140002cac
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140002cf6
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140002cf6
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140002cf6
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140002cf6
cmp dword [rcx + 0x84], 0xe
jbe 0x140002cf6
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140002cf8
xor al, al
add rsp, 0x28
ret