joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140008188
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], r12
push r13
sub rsp, 0xb0
xor ebx, ebx
mov dword [rsp + 0x20], ebx
lea rcx, [rax - 0x78]
call qword [sym.imp.KERNEL32.dll_GetStartupInfoW]
nop
mov rax, qword gs:[0x30]
mov rdi, qword [rax + 8]
mov r12d, ebx
xor eax, eax
lock cmpxchg qword [0x14000d868], rdi
je 0x1400081e8
cmp rax, rdi
jne 0x1400081db
mov r12d, 1
jmp 0x1400081e8
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400081c1
mov eax, dword [0x14000d860]
cmp eax, 1
jne 0x1400081fd
lea ecx, [rax + 0x1e]
call fcn.140189000
jmp 0x140008264
mov eax, dword [0x14000d860]
cmp eax, ebx
jne 0x14000825a
mov dword [0x14000d860], 1
lea r13, [0x140001548]
lea rdi, [0x140001530]
mov qword [rsp + 0x30], rdi
mov eax, ebx
mov dword [rsp + 0x24], ebx
cmp rdi, r13
jae 0x14000824c
cmp eax, ebx
jne 0x14000824c
mov rcx, qword [rdi]
cmp rcx, rbx
je 0x140008241
call rcx
mov dword [rsp + 0x24], eax
add rdi, 8
mov qword [rsp + 0x30], rdi
jmp 0x14000822a
cmp eax, ebx
je 0x140008264
mov eax, 0xff
jmp 0x1400083ac
mov dword [0x14000b554], 1
mov eax, dword [0x14000d860]
cmp eax, 1
jne 0x14000828c
lea rdx, [0x140001528]
lea rcx, [0x1400014b8]
call sub.msvcrt.dll__initterm
mov dword [0x14000d860], 2
cmp r12d, ebx
jne 0x14000829b
mov rax, rbx
xchg qword [0x14000d868], rax
cmp qword [0x14000d870], rbx
je 0x1400082c3
lea rcx, [0x14000d870]
call fcn.14000862c
cmp eax, ebx
je 0x1400082c3
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
call qword [0x14000d870]
mov rcx, qword [sym.imp.msvcrt.dll__wcmdln]
cmp qword [rcx], rbx
jne 0x1400082d9
mov eax, 0xff
jmp 0x1400083ac
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rcx
mov edx, dword [rsp + 0x20]
cmp word [rcx], 0x20
ja 0x14000835e
cmp word [rcx], bx
je 0x1400082f4
cmp edx, ebx
jne 0x14000835e
cmp word [rcx], bx
je 0x14000830a
cmp word [rcx], 0x20
ja 0x14000830a
add rcx, 2
mov qword [rsp + 0x28], rcx
jmp 0x1400082f4
test byte [rsp + 0x7c], 1
movzx eax, word [rsp + 0x80]
mov r9d, 0xa
cmovne r9d, eax
mov r8, rcx
xor edx, edx
lea rcx, [0x140000000]
call fcn.140003b3c
mov dword [0x14000b550], eax
cmp dword [0x14000b534], ebx
jne 0x140008348
mov ecx, eax
call qword [sym.imp.msvcrt.dll_exit]
cmp dword [0x14000b554], ebx
jne 0x14000835c
call qword [sym.imp.msvcrt.dll__cexit]
mov eax, dword [0x14000b550]
jmp 0x1400083ac
cmp word [rcx], 0x22
jne 0x140008371
mov eax, ebx
cmp edx, ebx
sete al
mov edx, eax
mov dword [rsp + 0x20], eax
add rcx, 2
mov qword [rsp + 0x28], rcx
jmp 0x1400082e5
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov r12, qword [r11 + 0x20]
mov rsp, r11
pop r13
ret
sub rsp, 0x28
call fcn.1400087ec
add rsp, 0x28
jmp 0x140008188
Function at 0x140011ed4
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
call fcn.140012760
add rsp, 0x28
jmp 0x140011ed4
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push r14
sub rsp, 0xb0
and dword [rsp + 0x20], 0
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetStartupInfoW]
nop
mov rax, qword gs:[0x30]
mov rbx, qword [rax + 8]
xor edi, edi
xor eax, eax
lock cmpxchg qword [0x14001f0e0], rbx
je 0x140011f1e
cmp rax, rbx
jne 0x140011f33
mov edi, 1
mov eax, dword [0x14001f0e8]
cmp eax, 1
jne 0x140011f40
lea ecx, [rax + 0x1e]
call fcn.14013b000
jmp 0x140011fad
mov ecx, 0x3e8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x140011f07
mov eax, dword [0x14001f0e8]
test eax, eax
jne 0x140011fa3
mov dword [0x14001f0e8], 1
lea r14, [0x140014e28]
lea rbx, [0x140014e10]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x24], eax
cmp rbx, r14
jae 0x140011f95
test eax, eax
jne 0x140011f99
cmp qword [rbx], 0
je 0x140011f8a
mov rax, qword [rbx]
mov rcx, qword [0x140014db0]
call rcx
mov dword [rsp + 0x24], eax
add rbx, 8
mov qword [rsp + 0x30], rbx
jmp 0x140011f6b
test eax, eax
je 0x140011fad
mov eax, 0xff
jmp 0x140012102
mov dword [0x14001e5f4], 1
mov eax, dword [0x14001f0e8]
cmp eax, 1
jne 0x140011fd5
lea rdx, [0x140014e08]
lea rcx, [0x140014db8]
call sub.msvcrt.dll__initterm
mov dword [0x14001f0e8], 2
test edi, edi
jne 0x140011fe2
xor eax, eax
xchg qword [0x14001f0e0], rax
cmp qword [0x14001f100], 0
je 0x140012016
lea rcx, [0x14001f100]
call fcn.1400126e0
test eax, eax
je 0x140012016
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
mov rax, qword [0x14001f100]
mov r9, qword [0x140014db0]
call r9
mov rax, qword [sym.imp.msvcrt.dll__acmdln]
mov rbx, qword [rax]
mov qword [rsp + 0x28], rbx
mov edi, dword [rsp + 0x20]
mov cl, byte [rbx]
cmp cl, 0x20
ja 0x1400120a1
test cl, cl
je 0x140012038
test edi, edi
jne 0x1400120a1
dec cl
cmp cl, 0x1f
ja 0x14001204b
inc rbx
mov qword [rsp + 0x28], rbx
mov cl, byte [rbx]
jmp 0x140012038
test byte [rsp + 0x7c], 1
movzx eax, word [rsp + 0x80]
mov r9d, 0xa
cmovne r9d, eax
mov r8, rbx
xor edx, edx
lea rcx, [0x140000000]
call fcn.1400015d4
mov dword [0x14001e5f0], eax
cmp dword [0x14001e610], 0
jne 0x14001208a
mov ecx, eax
call qword [sym.imp.msvcrt.dll_exit]
cmp dword [0x14001e5f4], 0
jne 0x14001209f
call qword [sym.imp.msvcrt.dll__cexit]
mov eax, dword [0x14001e5f0]
jmp 0x140012102
cmp cl, 0x22
jne 0x1400120b3
xor eax, eax
test edi, edi
sete al
mov edi, eax
mov dword [rsp + 0x20], eax
movzx ecx, cl
call qword [sym.imp.msvcrt.dll__ismbblead]
test eax, eax
je 0x1400120c8
inc rbx
mov qword [rsp + 0x28], rbx
inc rbx
mov qword [rsp + 0x28], rbx
jmp 0x140012029
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop r14
ret
Function at 0x140001130
Capabilities:
Query environment variable

Disassembly:
sub rsp, 0x28
mov r9, rdx
mov r8d, ecx
call fcn.140001ad0
test eax, eax
jne 0x140001346
mov rax, qword [0x1400097f0]
mov qword [rsp + 0x30], rbx
test rax, rax
jne 0x140001172
mov rcx, qword [0x1400098c8]
lea rdx, [0x140006d50]
call fcn.1400037e0
mov qword [0x1400097f0], rax
lea rcx, [0x140006660]
mov qword [rsp + 0x20], rdi
call rax
mov rbx, rax
test rax, rax
je 0x140001274
mov rax, qword [0x140009838]
mov qword [rsp + 0x38], rsi
test rax, rax
jne 0x1400011b7
mov rcx, qword [0x1400098c8]
lea rdx, [0x140006ed8]
call fcn.1400037e0
mov qword [0x140009838], rax
xor r8d, r8d
lea rcx, str._MessageBox
xor edx, edx
call rax
mov rsi, qword [str._MessageBox]
mov rdi, rax
mov rax, qword [0x140009920]
test rax, rax
jne 0x1400011f5
mov rcx, qword [0x1400098c8]
lea rdx, [0x140006ec0]
call fcn.1400037e0
mov qword [0x140009920], rax
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call rax
mov rax, qword [0x140009838]
test rax, rax
jne 0x140001226
mov rcx, qword [0x1400098c8]
lea rdx, [0x140006ed8]
call fcn.1400037e0
mov qword [0x140009838], rax
xor r8d, r8d
lea rcx, str._SHGetSpecialFolderPath
xor edx, edx
call rax
mov rsi, qword [str._SHGetSpecialFolderPath]
mov rdi, rax
mov rax, qword [0x140009920]
test rax, rax
jne 0x140001264
mov rcx, qword [0x1400098c8]
lea rdx, [0x140006ec0]
call fcn.1400037e0
mov qword [0x140009920], rax
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call rax
mov rsi, qword [rsp + 0x38]
call fcn.1400013b0
lea rcx, str.PYTHONINSPECT
mov ebx, eax
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x140001312
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rdi, rax
mov rax, qword [0x140009878]
test rax, rax
jne 0x1400012c2
mov rcx, qword [0x1400098c8]
lea rdx, [0x1400069f8]
call fcn.1400037e0
mov qword [0x140009878], rax
lea rdx, str._stdin_
mov rcx, rdi
call rax
test eax, eax
je 0x140001312
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rdi, rax
mov rax, qword [0x1400099b0]
test rax, rax
jne 0x140001303
mov rcx, qword [0x1400098c8]
lea rdx, [0x140006a10]
call fcn.1400037e0
mov qword [0x1400099b0], rax
xor r8d, r8d
lea rdx, str._stdin_
mov rcx, rdi
call rax
mov rax, qword [0x1400097b8]
mov rdi, qword [rsp + 0x20]
test rax, rax
jne 0x14000133d
mov rcx, qword [0x1400098c8]
lea rdx, [0x140006a98]
call fcn.1400037e0
mov qword [0x1400097b8], rax
call rax
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x28
ret
Function at 0x1402b7b70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov rax, qword [0x140444410]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x34], 0
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x58]
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 0
je 0x1402b7bcf
mov rax, qword [rsp + 0x80]
movsx eax, word [rax + 0x3c]
test eax, eax
jne 0x1402b7be4
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x46]
test eax, eax
jne 0x1402b7be4
mov rax, qword [rsp + 0x90]
mov dword [rax], 0
xor eax, eax
jmp 0x1402b7d2e
mov rax, qword [rsp + 0x80]
mov ecx, dword [rax + 0x78]
call fcn.1402b50d0
mov dword [rsp + 0x40], eax
mov ecx, dword [rsp + 0x28]
call fcn.1402b50d0
mov dword [rsp + 0x20], eax
jmp 0x1402b7c11
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x20], eax
jl 0x1402b7d1e
lea r8, [rsp + 0x48]
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x80]
call fcn.1402b5000
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0
je 0x1402b7c49
mov eax, dword [rsp + 0x38]
jmp 0x1402b7d2e
mov dword [rsp + 0x30], 0x2000
mov ecx, dword [rsp + 0x88]
call fcn.1402b4fd0
mov dword [rsp + 0x24], eax
jmp 0x1402b7c70
mov ecx, dword [rsp + 0x24]
call fcn.1402b4ff0
mov dword [rsp + 0x24], eax
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax*2]
movzx eax, ax
test eax, eax
je 0x1402b7d10
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax*2]
movzx eax, ax
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x3c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x2c], eax
ja 0x1402b7ce6
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x78]
cmp dword [rsp + 0x2c], eax
jb 0x1402b7ce6
mov eax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
cmp eax, dword [rsp + 0x88]
jne 0x1402b7ce6
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x30]
dec eax
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x44], 0
jne 0x1402b7d0b
mov ecx, 0xf282
call fcn.14035de30
jmp 0x1402b7d2e
jmp 0x1402b7c63
cmp dword [rsp + 0x34], 0
je 0x1402b7d19
jmp 0x1402b7d1e
jmp 0x1402b7c07
mov rax, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x34]
mov dword [rax], ecx
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14035f1a0
add rsp, 0x78
ret
Function at 0x1f4b058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x1f4b1df
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 0x1f4b089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1f4b06f
add dl, dl
jne 0x1f4b096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1f4b0f6
xor eax, eax
add dl, dl
jne 0x1f4b0a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1f4b1ad
add dl, dl
jne 0x1f4b0b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1f4b0c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1f4b0d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1f4b0dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x1f4b0ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x1f4b07e
mov eax, 1
add dl, dl
jne 0x1f4b106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1f4b113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1f4b0fb
sub eax, ebx
mov ebx, 1
jne 0x1f4b14c
mov ecx, 1
add dl, dl
jne 0x1f4b12e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1f4b13b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1f4b123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1f4b07e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x1f4b168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1f4b175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1f4b15d
cmp eax, 0x7d00
jae 0x1f4b19b
cmp eax, 0x500
jb 0x1f4b196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1f4b07e
cmp eax, 0x7f
ja 0x1f4b19e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1f4b07e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x1f4b1d2
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 0x1f4b07e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x6d881d00
Capabilities:
Allocate or change rwx memory

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
movsxd rsi, dword [0x6d8a35e4]
test esi, esi
mov rbx, rcx
mov rbp, rdx
mov rdi, r8
jle 0x6d881e88
mov rax, qword [0x6d8a35e8]
xor ecx, ecx
add rax, 0x18
nop
mov rdx, qword [rax]
cmp rbx, rdx
jb 0x6d881d4c
mov r8, qword [rax + 8]
mov r8d, dword [r8 + 8]
add rdx, r8
cmp rbx, rdx
jb 0x6d881dd5
add ecx, 1
add rax, 0x28
cmp ecx, esi
jne 0x6d881d30
mov rcx, rbx
call sym.__mingw_GetSectionForAddress
test rax, rax
mov r12, rax
je 0x6d881ebd
mov rax, qword [0x6d8a35e8]
lea rsi, [rsi + rsi*4]
shl rsi, 3
add rax, rsi
mov qword [rax + 0x20], r12
mov dword [rax], 0
call sym._GetPEImageBase
mov ecx, dword [r12 + 0xc]
lea rdx, [rsp + 0x20]
mov r8d, 0x30
add rcx, rax
mov rax, qword [0x6d8a35e8]
mov qword [rax + rsi + 0x18], rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x6d881ea0
mov eax, dword [rsp + 0x44]
lea edx, [rax - 4]
and edx, 0xfffffffb
je 0x6d881dce
sub eax, 0x40
and eax, 0xffffffbf
jne 0x6d881e30
add dword [0x6d8a35e4], 1
cmp edi, 8
jae 0x6d881e03
test dil, 4
jne 0x6d881e74
test edi, edi
je 0x6d881df8
movzx eax, byte [rbp]
test dil, 2
mov byte [rbx], al
jne 0x6d881e8f
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov eax, edi
sub edi, 1
mov rdx, qword [rbp + rax - 8]
cmp edi, 8
mov qword [rbx + rax - 8], rdx
jb 0x6d881df8
and edi, 0xfffffff8
xor eax, eax
mov edx, eax
add eax, 8
mov rcx, qword [rbp + rdx]
cmp eax, edi
mov qword [rbx + rdx], rcx
jb 0x6d881e1c
jmp 0x6d881df8
add rsi, qword [0x6d8a35e8]
mov r8d, 0x40
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
mov r9, rsi
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x6d881dce
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.__VirtualProtect_failed_with_code_0x_x
mov edx, eax
call sym.__report_error
mov eax, dword [rbp]
mov edi, edi
mov dword [rbx], eax
mov eax, dword [rbp + rdi - 4]
mov dword [rbx + rdi - 4], eax
jmp 0x6d881df8
xor esi, esi
jmp 0x6d881d57
mov edi, edi
movzx eax, word [rbp + rdi - 2]
mov word [rbx + rdi - 2], ax
jmp 0x6d881df8
mov rax, qword [0x6d8a35e8]
lea rcx, str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov edx, dword [r12 + 8]
mov r8, qword [rax + rsi + 0x18]
call sym.__report_error
lea rcx, str.Address__p_has_no_image_section
mov rdx, rbx
call sym.__report_error
nop
nop dword [rax]

Function at 0x6d882610
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
lea rcx, [0x6d8a38c0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x6d8a38a0]
test rbx, rbx
je 0x6d882664
mov rbp, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
nop
mov ecx, dword [rbx]
call rbp
mov rsi, rax
call rdi
test eax, eax
jne 0x6d88265b
test rsi, rsi
je 0x6d88265b
mov rax, qword [rbx + 8]
mov rcx, rsi
call rax
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x6d882640
lea rcx, [0x6d8a38c0]
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
Function at 0x6d8828a0
Capabilities:
Parse pe header

Disassembly:
cmp word [rcx], 0x5a4d
je 0x6d8828b0
xor eax, eax
ret
jmp sym._ValidateImageBase.part.0

Function at 0x6d8828c0
Capabilities:
Enumerate pe sections

Disassembly:
movsxd rax, dword [rcx + 0x3c]
add rcx, rax
movzx eax, word [rcx + 0x14]
lea rax, [rcx + rax + 0x18]
movzx ecx, word [rcx + 6]
test ecx, ecx
je 0x6d882901
sub ecx, 1
lea rcx, [rcx + rcx*4]
lea r9, [rax + rcx*8 + 0x28]
mov r8d, dword [rax + 0xc]
cmp r8, rdx
mov rcx, r8
ja 0x6d8828f8
add ecx, dword [rax + 8]
cmp rcx, rdx
ja 0x6d882903
add rax, 0x28
cmp rax, r9
jne 0x6d8828e4
xor eax, eax
ret

Function at 0x6d8829a0
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x28
mov r8, qword [0x6d8a01f0]
cmp word [r8], 0x5a4d
mov rdx, rcx
jne 0x6d882a0d
mov rcx, r8
call sym._ValidateImageBase.part.0
test eax, eax
je 0x6d882a0d
movsxd rax, dword [r8 + 0x3c]
mov rcx, rdx
sub rcx, r8
add r8, rax
movzx edx, word [r8 + 6]
movzx eax, word [r8 + 0x14]
test edx, edx
lea rax, [r8 + rax + 0x18]
je 0x6d882a0d
sub edx, 1
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop
mov r8d, dword [rax + 0xc]
cmp rcx, r8
mov rdx, r8
jb 0x6d882a04
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x6d882a0f
add rax, 0x28
cmp rax, r9
jne 0x6d8829f0
xor eax, eax
add rsp, 0x28
ret

Function at 0x6d882b10
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x28
mov r8, qword [0x6d8a01f0]
xor eax, eax
cmp word [r8], 0x5a4d
mov rdx, rcx
je 0x6d882b30
add rsp, 0x28
ret
mov rcx, r8
call sym._ValidateImageBase.part.0
test eax, eax
je 0x6d882b28
movsxd rax, dword [r8 + 0x3c]
mov rcx, rdx
sub rcx, r8
add r8, rax
movzx edx, word [r8 + 6]
movzx eax, word [r8 + 0x14]
test edx, edx
lea rax, [r8 + rax + 0x18]
je 0x6d882b8d
sub edx, 1
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop dword [rax + rax]
mov r8d, dword [rax + 0xc]
cmp rcx, r8
mov rdx, r8
jb 0x6d882b84
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x6d882b94
add rax, 0x28
cmp rax, r9
jne 0x6d882b70
xor eax, eax
add rsp, 0x28
ret
mov eax, dword [rax + 0x24]
not eax
shr eax, 0x1f
add rsp, 0x28
ret

Function at 0x6d882bb0
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x28
mov r11, qword [0x6d8a01f0]
cmp word [r11], 0x5a4d
mov r9d, ecx
jne 0x6d882c1e
mov rcx, r11
call sym._ValidateImageBase.part.0
test eax, eax
je 0x6d882c1e
movsxd rax, dword [r11 + 0x3c]
add rax, r11
mov edx, dword [rax + 0x90]
test edx, edx
je 0x6d882c1e
movzx ecx, word [rax + 0x14]
lea rcx, [rax + rcx + 0x18]
movzx eax, word [rax + 6]
test eax, eax
je 0x6d882c1e
sub eax, 1
lea rax, [rax + rax*4]
lea rax, [rcx + rax*8 + 0x28]
mov r10d, dword [rcx + 0xc]
cmp rdx, r10
mov r8, r10
jb 0x6d882c15
add r8d, dword [rcx + 8]
cmp rdx, r8
jb 0x6d882c25
add rcx, 0x28
cmp rcx, rax
jne 0x6d882c00
xor eax, eax
add rsp, 0x28
ret
add rdx, r11
jne 0x6d882c38
jmp 0x6d882c1e
sub r9d, 1
add rdx, 0x14
mov ecx, dword [rdx + 4]
test ecx, ecx
jne 0x6d882c46
mov eax, dword [rdx + 0xc]
test eax, eax
je 0x6d882c1e
test r9d, r9d
jg 0x6d882c30
mov eax, dword [rdx + 0xc]
add rax, r11
add rsp, 0x28
ret
Function at 0x6d882fb0
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x38
lea rax, [rsp + 0x58]
mov rbx, rcx
mov ecx, 2
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x28], rax
call sym.__acrt_iob_func
mov r8d, 0x1b
mov edx, 1
lea rcx, str.Mingw_w64_runtime_failure:_n
mov r9, rax
call sym.fwrite
mov rsi, qword [rsp + 0x28]
mov ecx, 2
call sym.__acrt_iob_func
mov rdx, rbx
mov rcx, rax
mov r8, rsi
call sym.vfprintf
call sym.abort
nop
nop
nop
nop
nop
nop
nop
nop
Function at 0x140001484
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x70
mov r8d, 0x5c
mov rbx, rcx
mov ecx, r8d
xor edx, edx
call fcn.1400012c0
lea edx, [r8 - 0x5b]
mov word [rbp - 0x30], ax
call fcn.1400012c0
lea ecx, [rdx + 0x2d]
mov word [rbp - 0x2e], ax
lea edx, [rcx - 0x2c]
call fcn.1400012c0
mov ecx, r8d
mov word [rbp - 0x2c], ax
lea r8d, [rcx - 0x59]
mov edx, r8d
call fcn.1400012c0
lea ecx, [r8 + 0x42]
mov word [rbp - 0x2a], ax
lea edx, [rcx - 0x41]
call fcn.1400012c0
lea ecx, [rdx + 0x45]
mov word [rbp - 0x28], ax
lea edx, [rcx - 0x44]
call fcn.1400012c0
lea ecx, [rdx + 0x4c]
mov word [rbp - 0x26], ax
lea edx, [rcx - 0x4b]
call fcn.1400012c0
lea ecx, [rdx + 0x3e]
mov word [rbp - 0x24], ax
lea edx, [rcx - 0x3d]
call fcn.1400012c0
lea ecx, [rdx + 0x4f]
mov word [rbp - 0x22], ax
lea edx, [rcx - 0x4e]
call fcn.1400012c0
xor ecx, ecx
mov word [rbp - 0x20], ax
lea edx, [rcx + 9]
call fcn.1400012c0
lea edx, [rcx + 0xa]
mov word [rbp - 0x1e], ax
movzx ecx, word [0x140065194]
call fcn.1400012c0
movzx ecx, word [0x140065196]
lea edx, [r8 + 8]
mov word [rbp - 0x1c], ax
call fcn.1400012c0
movzx ecx, word [0x140065198]
lea edx, [r8 + 9]
mov word [rbp - 0x1a], ax
call fcn.1400012c0
movzx ecx, word [0x14006519a]
lea edx, [r8 + 0xa]
mov word [rbp - 0x18], ax
call fcn.1400012c0
movzx ecx, word [0x14006519c]
lea edx, [r8 + 0xb]
mov word [rbp - 0x16], ax
call fcn.1400012c0
movzx ecx, word [0x14006519e]
lea edx, [r8 + 0xc]
mov word [rbp - 0x14], ax
call fcn.1400012c0
movzx ecx, word [0x1400651a0]
lea edx, [r8 + 0xd]
mov word [rbp - 0x12], ax
call fcn.1400012c0
movzx ecx, word [0x1400651a2]
lea edx, [r8 + 0xe]
mov word [rbp - 0x10], ax
call fcn.1400012c0
movzx ecx, word [0x1400651a4]
lea edx, [r8 + 0xf]
mov word [rbp - 0xe], ax
call fcn.1400012c0
mov word [rbp - 0xc], ax
xor eax, eax
mov word [rbp - 0xa], ax
xor r10d, r10d
mov edx, r10d
movsxd rcx, edx
mov eax, 0x133
add eax, edx
inc edx
xor word [rbp + rcx*2 - 0x30], ax
cmp edx, 0x13
jb 0x1400015f0
mov qword [rsp + 0x30], r10
lea rcx, [rbp - 0x30]
mov dword [rsp + 0x28], r10d
xor r9d, r9d
mov edx, 0xc0000000
mov dword [rsp + 0x20], r8d
mov word [rbp - 0xa], r10w
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 8], rax
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rbp
ret
Function at 0x140003984
Capabilities:
Enumerate pe sections

Disassembly:
movzx r9d, word [rdx + 0x14]
movzx eax, word [rdx + 6]
add r9, 0x18
add r9, rdx
lea rdx, [rax + rax*4]
lea r10, [r9 + rdx*8]
jmp 0x1400039b6
mov edx, dword [r9 + 0xc]
cmp rcx, rdx
jb 0x1400039b2
mov eax, dword [r9 + 8]
add eax, edx
cmp rcx, rax
jb 0x1400039be
add r9, 0x28
cmp r9, r10
jb 0x14000399e
xor eax, eax
ret
mov eax, dword [r9 + 0x14]
sub rax, rdx
add rax, rcx
add rax, r8
ret