joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14001ac80
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov r14, r8
mov r12, rdx
movzx edx, cx
cmp byte [0x140036430], 1
jne 0x14001ad3b
mov r8d, 5
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
xor ecx, ecx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r15, rax
xor ecx, ecx
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
mov ecx, 0x40
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rsi, rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rdi, rax
mov rcx, rax
mov rdx, r15
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
or byte [rdi + 0xa], 0x40
mov qword [rsp + 0x20], 0
xor ecx, ecx
mov rdx, rdi
mov r8, r12
mov r9, r14
call qword [sym.imp.USER32.dll_DialogBoxIndirectParamW]
mov rdi, rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rax, rdi
jmp 0x14001ad52
mov qword [rsp + 0x20], 0
xor ecx, ecx
mov r8, r12
mov r9, r14
call qword [sym.imp.USER32.dll_DialogBoxParamW]
nop
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret

Function at 0x14001cc20
Capabilities:
Move file

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x140036010]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov r8, qword [rdx + 0x10]
cmp qword [rcx + 0x10], r8
jne 0x14001cc6d
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
jb 0x14001cc53
mov rcx, qword [rsi]
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
jb 0x14001cc60
mov rdx, qword [rdi]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14001cd05
lea rbx, [rsp + 0x48]
mov rcx, rbx
mov rdx, rdi
call fcn.14001a3b0
cmp qword [rbx + 0x18], 8
jb 0x14001cc89
mov rbx, qword [rsp + 0x48]
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov rdx, rsi
call fcn.14001a3b0
cmp qword [rdi + 0x18], 8
jb 0x14001cca5
mov rdi, qword [rsp + 0x28]
mov rcx, rdi
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_MoveFileW]
cmp eax, 1
sete bl
mov rax, qword [rsp + 0x40]
cmp rax, 8
jb 0x14001ccdd
mov rcx, qword [rsp + 0x28]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jae 0x14001cd1e
call fcn.140020c40
mov rax, qword [rsp + 0x60]
cmp rax, 8
jb 0x14001cd07
mov rcx, qword [rsp + 0x48]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jae 0x14001cd3e
call fcn.140020c40
jmp 0x14001cd07
mov bl, 1
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140021cd0
mov eax, ebx
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
mov rdi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdi
cmp rcx, 0x20
jae 0x14001cd5e
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, rdi
jmp 0x14001ccd8
mov rdi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdi
cmp rcx, 0x20
jae 0x14001cd5e
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, rdi
jmp 0x14001ccfe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x14001d370
Capabilities:
Get graphical window text

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x850
mov r15d, r9d
mov rsi, r8
mov r14, rdx
mov rdi, rcx
mov rax, qword [0x140036010]
xor rax, rsp
mov qword [rsp + 0x848], rax
call qword [sym.imp.USER32.dll_GetDC]
mov rbp, rax
mov rcx, rdi
mov edx, 0x31
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.USER32.dll_SendMessageW]
test rax, rax
je 0x14001d3cd
mov rcx, rbp
mov rdx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
lea rdx, [rsp + 0x40]
mov rcx, rdi
mov r8d, 0x400
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov r8d, dword [rsi + 0x10]
cmp qword [rsi + 0x18], 8
mov rdx, rsi
jb 0x14001d3f2
mov rdx, qword [rsi]
lea r9, [rsp + 0x38]
mov rcx, rbp
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
xor r12d, r12d
test eax, eax
je 0x14001d492
lea rbx, [rsp + 0x40]
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
lea r9, [rsp + 0x30]
mov rcx, rbp
mov rdx, rbx
mov r8d, eax
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
test eax, eax
je 0x14001d492
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
sub eax, ecx
js 0x14001d492
mov ebp, dword [rsp + 0x8b0]
mov edx, dword [r14]
mov r9d, dword [r14 + 8]
add ecx, edx
mov r12d, r9d
sub r12d, ecx
test ebp, ebp
cmovne r12d, ebp
add r12d, eax
test r15b, r15b
je 0x14001d468
sub edx, r12d
mov dword [r14], edx
jmp 0x14001d46f
add r9d, r12d
mov dword [r14 + 8], r9d
mov r8d, dword [r14 + 4]
mov eax, dword [r14 + 0xc]
sub eax, r8d
sub r9d, edx
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], 1
mov rcx, rdi
call qword [sym.imp.USER32.dll_MoveWindow]
mov rax, qword [rsi + 0x18]
cmp rax, 8
jb 0x14001d4b5
mov rcx, qword [rsi]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jae 0x14001d4ef
call fcn.140020c40
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 7
mov word [rsi], 0
mov rcx, qword [rsp + 0x848]
xor rcx, rsp
call fcn.140021cd0
mov eax, r12d
add rsp, 0x850
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov rbp, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbp
cmp rcx, 0x20
jae 0x14001d50f
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, rbp
jmp 0x14001d4b0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x14001d520
Capabilities:
Query or enumerate registry value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
mov rax, qword [0x140036010]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov byte [r8], 0
lea r8, [rsp + 0x38]
mov rcx, 0xffffffff80000002
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
je 0x14001d579
lea r8, [rsp + 0x38]
mov rcx, 0xffffffff80000001
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
je 0x14001d579
xor edi, edi
jmp 0x14001d5cc
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
mov dword [rax], 4
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
xor edi, edi
lea r9, [rsp + 0x44]
mov rdx, rbx
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001d5c1
cmp dword [rsp + 0x44], 4
jne 0x14001d5c1
cmp dword [rsp + 0x34], 1
sete byte [rsi]
mov dil, 1
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140021cd0
mov eax, edi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret
Function at 0x14001d9a0
Capabilities:
Get graphical window text

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x870
mov r14, rcx
mov rax, qword [0x140036010]
xor rax, rsp
mov qword [rsp + 0x868], rax
mov edx, 0x3f6
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rdi, rax
mov rcx, rax
call qword [sym.imp.USER32.dll_GetDC]
mov rbx, rax
mov rcx, rdi
mov edx, 0x31
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.USER32.dll_SendMessageW]
test rax, rax
je 0x14001da05
mov rcx, rbx
mov rdx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
lea rbp, [rsp + 0x38]
mov rcx, rdi
mov rdx, rbp
call qword [sym.imp.USER32.dll_GetWindowRect]
xor ecx, ecx
mov rdx, r14
mov r8, rbp
mov r9d, 2
call qword [sym.imp.USER32.dll_MapWindowPoints]
lea rbp, [rsp + 0x60]
mov rcx, rdi
mov rdx, rbp
mov r8d, 0x400
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rcx, rbp
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
lea r9, [rsp + 0x48]
mov rcx, rbx
mov rdx, rbp
mov r8d, eax
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
test eax, eax
je 0x14001da9f
mov eax, dword [rsp + 0x48]
mov ebp, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x40]
sub ebx, ebp
cmp eax, ebx
jl 0x14001da9f
cvtsi2ss xmm0, eax
cvtsi2ss xmm1, ebx
divss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
cvttss2si eax, xmm0
imul eax, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x3c]
mov esi, r8d
sub esi, dword [rsp + 0x44]
add esi, eax
test esi, esi
jg 0x14001dac2
mov rcx, qword [rsp + 0x868]
xor rcx, rsp
call fcn.140021cd0
nop
add rsp, 0x870
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov r12d, 1
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
mov r15, qword [sym.imp.USER32.dll_MoveWindow]
mov rcx, rdi
mov edx, ebp
mov r9d, ebx
call r15
mov rdi, qword [0x140036420]
mov rcx, qword [rdi + 8]
call fcn.140025a60
mov rax, qword [0x140036420]
mov qword [rax + 8], rdi
mov qword [rax], rdi
mov rax, qword [0x140036420]
mov qword [rax + 0x10], rdi
mov qword [0x140036428], 0
lea rdi, [rsp + 0x34]
mov dword [rdi], 0x3ed
lea rcx, [rsp + 0x50]
mov rdx, rdi
call fcn.14001eaa0
mov dword [rdi], 0x3f4
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x34]
call fcn.14001eaa0
lea rdi, [rsp + 0x50]
mov rcx, r14
mov rdx, rdi
call qword [sym.imp.USER32.dll_GetWindowRect]
add esi, dword [rdi + 0xc]
mov dword [rdi + 0xc], esi
mov edx, dword [rdi]
mov r8d, dword [rdi + 4]
sub esi, r8d
mov r9d, dword [rdi + 8]
sub r9d, edx
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], esi
mov rcx, r14
call r15
lea rdx, [0x14002f850]
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.140026f00
lea rdx, [0x14002f854]
mov rcx, rsi
call fcn.140026f00
lea rdx, [0x14002f858]
mov rcx, rsi
call fcn.140026f00
lea rdx, [0x14002f85c]
mov rcx, rsi
call fcn.140026f00
lea rdx, [0x14002f860]
mov rcx, rsi
call fcn.140026f00
lea rdx, [0x14002f864]
mov rcx, rsi
call fcn.140026f00
lea rdx, [0x14002f868]
mov rcx, rsi
call fcn.140026f00
lea rdx, [0x14002f86c]
mov rcx, rsi
call fcn.140026f00
jmp 0x14001da9f
Function at 0x14001e940
Capabilities:
Get graphical window text

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
mov eax, 0x9cc0
call fcn.140021d10
sub rsp, rax
movaps xmmword [rsp + 0x9cb0], xmm6
mov r14, rdx
mov rdi, rcx
mov rax, qword [0x140036010]
xor rax, rsp
mov qword [rsp + 0x9ca8], rax
lea rdx, [rsp + 0x4e80]
mov r8d, 0x2711
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea rbx, [rsp + 0x4c]
lea rsi, [rsp + 0x48]
mov rcx, rdi
mov edx, 0xb0
mov r8, rbx
mov r9, rsi
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9d, dword [rsi]
mov eax, dword [rbx]
mov edi, 0xfffffffe
cmp r9d, eax
je 0x14001ea18
sub r9d, eax
lea r8, [rsp + rax*2]
add r8, 0x4e80
lea rsi, [rsp + 0x50]
mov edx, 0x2711
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
mov eax, dword [rsp + 0x48]
sub eax, dword [rsp + 0x4c]
mov word [rsp + rax*2 + 0x50], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov ecx, 0xfde9
xor edx, edx
mov r8, rsi
mov r9d, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
not edi
xorps xmm6, xmm6
movups xmmword [rsp + 0x30], xmm6
xor ebx, ebx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
mov r15, qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea r8, [rsp + 0x4e80]
mov ecx, 0xfde9
xor edx, edx
mov r9d, 0xffffffff
call r15
mov esi, eax
movups xmmword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
mov ecx, 0xfde9
xor edx, edx
mov r8, r14
mov r9d, 0xffffffff
call r15
mov ebx, eax
add esi, edi
add ebx, esi
mov rcx, qword [rsp + 0x9ca8]
xor rcx, rsp
call fcn.140021cd0
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x9cb0]
add rsp, 0x9cc0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret

Function at 0x140024140
Capabilities:
Write file on windows

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rax, qword [0x140036010]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov dil, 1
cmp qword [rcx + 0x68], 0
je 0x1400241fc
mov rsi, rcx
cmp byte [rcx + 0x71], 0
je 0x1400241fc
mov rax, qword [rsi]
mov rax, qword [rax + 0x18]
mov rcx, rsi
mov edx, 0xffffffff
call qword [case.0x140020f0e.0]
cmp eax, 0xffffffff
je 0x1400241fa
mov rcx, qword [rsi + 0x68]
lea r9, [rsp + 0x50]
lea rdx, [rsi + 0x74]
mov rax, qword [rcx]
mov rax, qword [rax + 0x40]
lea rbx, [rsp + 0x28]
mov qword [rsp + 0x20], rbx
lea rdi, [rsp + 0x30]
mov r8, rdi
call qword [case.0x140020f0e.0]
cmp eax, 3
je 0x140024213
cmp eax, 1
je 0x1400241c9
test eax, eax
jne 0x1400241fa
mov byte [rsi + 0x71], 0
mov rbx, qword [rsp + 0x28]
sub rbx, rdi
je 0x1400241f0
mov r9, qword [rsi + 0x80]
mov edx, 1
mov rcx, rdi
mov r8, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rbx, rax
jne 0x1400241fa
cmp byte [rsi + 0x71], 0
sete dil
jmp 0x1400241fc
xor edi, edi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140021cd0
mov eax, edi
add rsp, 0x60
pop rbx
pop rdi
pop rsi
ret
mov dil, 1
jmp 0x1400241fc
Function at 0x1767c08
Capabilities:
Encode data using xor

Disassembly:
jmp 0x1767c12
push rax
push rcx
push rdx
push rbx
push rbp
push rsi
push rdi
push r8
push r9
push r10
push r11
push r12
push r13
push r14
push r15
pushfq
sub rsp, 8
stmxcsr dword [rsp]
call 0x1767c3b
pop rbp
sub rbp, 0x33
sub rbp, 0x1367c08
sub rsp, 0x20
jmp 0x1767c5a
mov rax, 0x1367c08
add rax, rbp
add rax, 0x84
mov rcx, 0x60b
mov rdx, 0xffffffff92ceb382
xor byte [rax], dl
inc rax
dec rcx
jne 0x1767c79
jmp 0x1767c90
retf 0x6b0b
Function at 0x1400110cd
Capabilities:
Write file on windows

Disassembly:
jmp 0x14001a2c0
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x128
lea rbp, [rsp + 0x20]
lea rcx, [0x140032035]
call fcn.1400117f3
mov rax, qword [rbp + 0x120]
cmp qword [rax + 0x68], 0
je 0x14001a317
mov r8, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.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 0x14001a423
mov rax, qword [rbp + 0x130]
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pnavail_void_const___ptr64]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x130], 0
jle 0x14001a3bc
cmp qword [rbp + 0x28], 0
jle 0x14001a3bc
mov rax, qword [rbp + 0x28]
cmp qword [rbp + 0x130], rax
jge 0x14001a35c
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0x28], rax
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x128]
mov rcx, rax
call fcn.140011776
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x128]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x128], rax
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x130]
sub rcx, rax
mov rax, rcx
mov qword [rbp + 0x130], rax
mov edx, dword [rbp + 0x28]
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbump_int____ptr64]
cmp qword [rbp + 0x130], 0
jle 0x14001a412
mov rax, qword [rbp + 0x120]
cmp qword [rax + 0x80], 0
je 0x14001a412
mov rax, qword [rbp + 0x120]
mov r9, qword [rax + 0x80]
mov r8, qword [rbp + 0x130]
mov edx, 1
mov rcx, qword [rbp + 0x128]
call qword [sym.imp.ucrtbased.dll_fwrite]
mov rcx, qword [rbp + 0x130]
sub rcx, rax
mov rax, rcx
mov qword [rbp + 0x130], rax
mov rax, qword [rbp + 0x130]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
lea rsp, [rbp + 0x108]
pop rdi
pop rbp
ret

Function at 0x140011474
Capabilities:
Terminate process

Disassembly:
jmp 0x14001d6a0
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret
Function at 0x14001159b
Capabilities:
Parse pe header

Disassembly:
jmp 0x14001c8c0
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x14001c8e0
xor al, al
jmp 0x14001c961
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x14001c8f3
xor al, al
jmp 0x14001c961
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x14001c91d
xor al, al
jmp 0x14001c961
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x14001c931
xor al, al
jmp 0x14001c961
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x14001c943
xor al, al
jmp 0x14001c961
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x14001c95f
xor al, al
jmp 0x14001c961
mov al, 1
add rsp, 0x38
ret
Function at 0x1400117d5
Capabilities:
Write file on windows

Disassembly:
jmp 0x140016870
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x1e8
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x3e
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x208]
mov rax, qword [0x14002a448]
xor rax, rbp
mov qword [rbp + 0x1a0], rax
lea rcx, [0x140032035]
call fcn.1400117f3
mov rax, qword [rbp + 0x1d0]
cmp qword [rax + 0x68], 0
je 0x1400168d6
mov rax, qword [rbp + 0x1d0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x1400168dd
mov al, 1
jmp 0x140016a37
call fcn.14001122b
mov rcx, qword [rbp + 0x1d0]
mov rcx, qword [rcx]
mov qword [rbp + 0x198], rcx
mov edx, eax
mov rcx, qword [rbp + 0x1d0]
mov rax, qword [rbp + 0x198]
call qword [rax + 0x18]
mov dword [rbp + 0x164], eax
call fcn.14001122b
mov dword [rbp + 0x184], eax
lea rdx, [rbp + 0x164]
lea rcx, [rbp + 0x184]
call fcn.1400116b8
movzx eax, al
test eax, eax
je 0x140016938
xor al, al
jmp 0x140016a37
mov qword [rbp + 8], 0x20
lea rax, [rbp + 0x48]
mov rcx, qword [rbp + 0x1d0]
add rcx, 0x74
lea rdx, [rbp + 0x68]
mov qword [rsp + 0x20], rdx
mov r9, rax
lea r8, [rbp + 0x28]
mov rdx, rcx
mov rax, qword [rbp + 0x1d0]
mov rcx, qword [rax + 0x68]
call qword [sym.imp.MSVCP140D.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 [rbp + 0x194], eax
cmp dword [rbp + 0x194], 0
je 0x14001699d
cmp dword [rbp + 0x194], 1
je 0x1400169a8
cmp dword [rbp + 0x194], 3
je 0x140016a26
jmp 0x140016a35
mov rax, qword [rbp + 0x1d0]
mov byte [rax + 0x71], 0
lea rax, [rbp + 0x28]
mov rcx, qword [rbp + 0x68]
sub rcx, rax
mov rax, rcx
mov qword [rbp + 0x88], rax
cmp qword [rbp + 0x88], 0
jbe 0x1400169f8
mov rax, qword [rbp + 0x1d0]
mov r9, qword [rax + 0x80]
mov r8, qword [rbp + 0x88]
mov edx, 1
lea rcx, [rbp + 0x28]
call qword [sym.imp.ucrtbased.dll_fwrite]
cmp qword [rbp + 0x88], rax
je 0x1400169f8
xor al, al
jmp 0x140016a37
mov rax, qword [rbp + 0x1d0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x140016a13
mov dword [rbp + 0x194], 1
jmp 0x140016a1d
mov dword [rbp + 0x194], 0
movzx eax, byte [rbp + 0x194]
jmp 0x140016a37
mov rax, qword [rbp + 0x1d0]
mov byte [rax + 0x71], 0
mov al, 1
jmp 0x140016a37
xor al, al
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x140025830]
call fcn.14001169f
mov rax, rdi
mov rcx, qword [rbp + 0x1a0]
xor rcx, rbp
call fcn.1400113d4
lea rsp, [rbp + 0x1b8]
pop rdi
pop rbp
ret
Function at 0x140011898
Capabilities:
Contain obfuscated stackstrings

Disassembly:
jmp 0x140019170
push rbp
push rdi
sub rsp, 0x178
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x26
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x14002a448]
xor rax, rbp
mov qword [rbp + 0x148], rax
lea rcx, [0x140032036]
call fcn.1400117f3
mov byte [rbp + 8], 0x76
mov byte [rbp + 9], 0x69
mov byte [rbp + 0xa], 0x72
mov byte [rbp + 0xb], 0x74
mov byte [rbp + 0xc], 0x75
mov byte [rbp + 0xd], 0x61
mov byte [rbp + 0xe], 0x6c
mov byte [rbp + 0xf], 0x41
mov byte [rbp + 0x10], 0x6c
mov byte [rbp + 0x11], 0x6c
mov byte [rbp + 0x12], 0x6f
mov byte [rbp + 0x13], 0x63
mov byte [rbp + 0x14], 0x30
lea rcx, str.Kernel32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbp + 0x38], rax
lea rdx, [rbp + 8]
mov rcx, qword [rbp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x58], rax
mov r9d, 0x40
mov r8d, 0x1000
mov edx, 0x37e
xor ecx, ecx
call qword [rbp + 0x58]
mov qword [rbp + 0x78], rax
mov r8d, 0x37e
lea rdx, section..data
mov rcx, qword [rbp + 0x78]
call fcn.1400113d9
call qword [rbp + 0x78]
lea rcx, [rbp - 0x20]
lea rdx, [0x140025050]
call fcn.14001169f
mov rcx, qword [rbp + 0x148]
xor rcx, rbp
call fcn.1400113d4
lea rsp, [rbp + 0x158]
pop rdi
pop rbp
ret
Function at 0x416840
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4169e6
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x48]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov rcx, qword [sym.imp.kernel32.dll_VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call fcn.00432d40
xorps xmm15, xmm15
mov r14, qword [0x006e6d68]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
jne 0x4168ab
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jmp 0x4168c0
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
sub rcx, rbx
add rax, rbx
mov rbx, rcx
nop
test rbx, rbx
jbe 0x4168e5
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], rax
mov rcx, rbx
jmp 0x4168f9
cmp rbx, 0x1000
jae 0x4168b5
nop dword [rax]
jmp 0x416969
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
nop
cmp rbx, 0x1000
jae 0x41690d
xor edx, edx
jmp 0x416960
mov rcx, qword [sym.imp.kernel32.dll_VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call fcn.00432d40
xorps xmm15, xmm15
mov r14, qword [0x006e6d68]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
sete al
mov rcx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x38]
mov edx, eax
mov rax, qword [rsp + 0x40]
nop dword [rax]
test dl, dl
jne 0x4168ef
jmp 0x4168d4
call fcn.00464b60
xorps xmm15, xmm15
mov r14, qword [0x006e6d68]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x30], rax
call fcn.00437480
lea rax, [0x0055bf9d]
mov ebx, 0x18
call fcn.00437d80
mov rax, qword [rsp + 0x38]
call fcn.00437a80
lea rax, [0x0055c0a5]
mov ebx, 0x19
call fcn.00437d80
mov rax, qword [rsp + 0x30]
nop
call fcn.00437a80
call fcn.004376e0
call fcn.00437500
lea rax, [0x0055f117]
mov ebx, 0x21
nop dword [rax + rax]
call fcn.00435b40
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00460fa0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
nop
jmp fcn.00416840