joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400ab9b4
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push rbp
mov rbp, rsp
sub rsp, 0x20
test rcx, rcx
jne 0x1400ab854
call fcn.140097430
mov dword [rax], reloc.WLDAP32.dll_Ordinal_22
call fcn.140092c64
or eax, 0xffffffff
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop rbp
ret
mov eax, dword [rcx + 0x14]
shr eax, 0xd
test al, 1
je 0x1400ab83c
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
shr ecx, 0xc
test cl, 1
jne 0x1400ab83c
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
mov rax, qword [rbp + 0x10]
shr ecx, 1
test cl, 1
je 0x1400ab886
lock or dword [rax + 0x14], 0x10
jmp 0x1400ab83c
lock or dword [rax + 0x14], 1
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
test ecx, 0x4c0
jne 0x1400ab8a3
mov rcx, qword [rbp + 0x10]
call fcn.1400ac004
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 8]
mov qword [rax], rcx
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.1400ab7e4
mov rdx, qword [rbp + 0x10]
mov ecx, eax
mov r8d, dword [rdx + 0x20]
mov rdx, qword [rdx + 8]
call fcn.1400aa1b0
mov dword [rbx + 0x10], eax
mov rax, qword [rbp + 0x10]
mov edx, dword [rax + 0x10]
lea ecx, [rdx + 1]
cmp ecx, 1
ja 0x1400ab8fa
neg edx
sbb ecx, ecx
and ecx, 8
add ecx, 8
lock or dword [rax + 0x14], ecx
mov rax, qword [rbp + 0x10]
and dword [rax + 0x10], 0
jmp 0x1400ab83c
mov ecx, dword [rax + 0x14]
test cl, 6
jne 0x1400ab966
mov rcx, qword [rbp + 0x10]
call fcn.1400ab7e4
cmp eax, 0xffffffff
je 0x1400ab94d
mov rcx, qword [rbp + 0x10]
call fcn.1400ab7e4
cmp eax, 0xfffffffe
je 0x1400ab94d
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.1400ab7e4
movsxd rdi, eax
lea rsi, [0x1400f4870]
mov rcx, rbx
sar rdi, 6
call fcn.1400ab7e4
and eax, 0x3f
shl rax, 6
add rax, qword [rsi + rdi*8]
jmp 0x1400ab954
lea rax, [0x1400f23d0]
mov al, byte [rax + 0x38]
and al, 0x82
cmp al, 0x82
jne 0x1400ab966
mov rax, qword [rbp + 0x10]
lock or dword [rax + 0x14], 0x20
mov rax, qword [rbp + 0x10]
cmp dword [rax + 0x20], 0x200
jne 0x1400ab99c
mov ecx, dword [rax + 0x14]
shr ecx, 6
test cl, 1
je 0x1400ab998
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
shr ecx, 8
test cl, 1
jne 0x1400ab998
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x20], 0x1000
mov rax, qword [rbp + 0x10]
dec dword [rax + 0x10]
mov rcx, qword [rax]
movzx edx, byte [rcx]
inc rcx
mov qword [rax], rcx
mov eax, edx
jmp 0x1400ab83f
jmp 0x1400ab80c
Function at 0x1400bc2e4
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x48
mov qword [rax - 0x38], 0xfffffffffffffffe
mov rbx, r9
mov rdi, r8
mov rsi, rdx
mov ecx, 1
mov dword [rax + 0x20], ecx
mov edx, 0x800
mov dword [rax + 8], edx
mov rax, qword [r9]
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edx
or eax, ecx
jge 0x1400bc333
mov rcx, rbx
call fcn.14000c7d4
mov rax, qword [rbx]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x88]
mov r8, qword [rdi]
mov rdx, qword [rsi]
mov rcx, 0xffffffff80000002
call qword [sym.imp.SHLWAPI.dll_SHGetValueA]
mov ebp, eax
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1400bc36e
xor eax, eax
jmp 0x1400bc37b
movsxd rdx, dword [rcx - 0xc]
call fcn.14009c6a8
test eax, eax
js 0x1400bc3d8
mov rcx, qword [rbx]
cmp eax, dword [rcx - 0xc]
jg 0x1400bc3d8
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rbx]
mov byte [rcx + rax], 0
test ebp, ebp
sete bl
mov rdx, qword [rsi]
sub rdx, 0x18
or esi, 0xffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x1400bc3b6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rdi]
sub rdx, 0x18
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
add ecx, esi
test ecx, ecx
jg 0x1400bc3d4
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.WS2_32.dll_htonl + 8]
mov al, bl
jmp 0x1400bc3e3
mov ecx, 0x80070057
call fcn.14000c8e8
nop
add rsp, 0x48
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1400bc3ec
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov qword [r11 + 8], rcx
push r14
sub rsp, 0x30
and qword [r11 + 8], 0
lea rax, [r11 + 8]
mov rsi, r9
mov qword [r11 - 0x18], rax
mov rdi, r8
mov r14, rdx
mov rdx, qword [rdx]
mov r9d, 0x20206
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov ebx, 1
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x1400bc471
mov rcx, qword [rsi]
lea rdx, [0x1400d1757]
mov r8, qword [rdi]
mov r9d, ebx
mov eax, dword [rcx - 0x10]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_SHSetValueA]
mov rcx, qword [rsp + 0x40]
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [r14]
test ebx, ebx
sete bl
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400bc493
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdx, qword [rdi]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400bc4b0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdx, qword [rsi]
sub rdx, 0x18
or ecx, 0xffffffff
lock xadd dword [rdx + 0x10], ecx
sub ecx, 1
jg 0x1400bc4ce
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.WS2_32.dll_htonl + 8]
mov rsi, qword [rsp + 0x50]
mov al, bl
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
Function at 0x1400bc4e8
Capabilities:
Query or enumerate registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rsi
push rdi
push r14
sub rsp, 0x50
mov qword [r11 - 0x28], 0xfffffffffffffffe
mov qword [r11 + 0x20], rbx
mov rbx, r9
mov rsi, r8
mov r14, rdx
mov edi, 1
and qword [r11 - 0x30], 0
lea rax, [r11 - 0x30]
mov qword [r11 - 0x48], rax
mov r9d, 0x20219
xor r8d, r8d
mov rdx, qword [rdx]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x1400bc5df
mov dword [rsp + 0x30], edi
mov edx, 0x800
mov dword [rsp + 0x70], edx
mov rax, qword [rbx]
sub edi, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edx
or eax, edi
jge 0x1400bc56b
mov rcx, rbx
call fcn.14000c7d4
mov rax, qword [rbx]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov r8, qword [rsi]
lea rdx, [0x1400d175e]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.SHLWAPI.dll_SHGetValueA]
mov edi, eax
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1400bc5a5
xor eax, eax
jmp 0x1400bc5b2
movsxd rdx, dword [rcx - 0xc]
call fcn.14009c6a8
test eax, eax
js 0x1400bc5d4
mov rcx, qword [rbx]
cmp eax, dword [rcx - 0xc]
jg 0x1400bc5d4
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rbx]
mov byte [rcx + rax], 0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400bc5df
mov ecx, 0x80070057
call fcn.14000c8e8
int3
test edi, edi
sete bl
mov rdx, qword [r14]
sub rdx, 0x18
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x1400bc605
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsi]
sub rdx, 0x18
mov ecx, edi
lock xadd dword [rdx + 0x10], ecx
add ecx, edi
test ecx, ecx
jg 0x1400bc623
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.WS2_32.dll_htonl + 8]
mov al, bl
mov rbx, qword [rsp + 0x88]
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret

Function at 0x1400bc638
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
sub rsp, 0x30
mov qword [rax - 0x10], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov rdi, rdx
mov rbx, rcx
and dword [rax - 0x18], 0
call fcn.14000cb58
mov rcx, rax
test rax, rax
jne 0x1400bc672
mov ecx, 0x80004005
call fcn.14000c8e8
int3
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rbx], rax
mov dword [rsp + 0x20], 1
and qword [rsp + 0x50], 0
lea r9, [rsp + 0x50]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
jne 0x1400bc6c1
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x1400bc6c1
mov rcx, rbx
call fcn.14000bb80
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rax, rbx
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x1400bc6d0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x160
mov rax, qword [0x1400f2078]
xor rax, rsp
mov qword [rsp + 0x150], rax
xor edi, edi
mov rsi, rcx
mov qword [rsp + 0x30], rdi
call qword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x104
mov ebx, eax
call fcn.1400916b0
lea rdx, [rsp + 0x30]
mov ecx, ebx
call qword [sym.imp.WTSAPI32.dll_WTSQueryUserToken]
test eax, eax
je 0x1400bc76d
mov r8, qword [rsp + 0x30]
test r8, r8
je 0x1400bc76d
lea rax, [rsp + 0x40]
xor r9d, r9d
lea edx, [rdi + 0x1c]
mov qword [rsp + 0x20], rax
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea r8, [rsp + 0x40]
mov rcx, rsi
lea rdx, [0x1400d30cc]
call fcn.14000be60
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dil, 1
mov al, dil
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.14008e520
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x1400be000
Capabilities:
Move file

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x178]
sub rsp, 0x270
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [0x1400f2078]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov byte [0x1400f4fe5], 1
mov ebx, 0x104
mov r8d, ebx
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.1400916b0
mov r8d, ebx
lea rdx, [rsp + 0x40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor edx, edx
lea r8d, [rdx + 4]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_MoveFileExA]
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x50]
call fcn.1400916b0
lea rcx, [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
mov r8, rax
mov edx, ebx
lea rcx, [rbp + 0x50]
call fcn.140097e48
lea rcx, [rbp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathRemoveExtensionA]
lea rdx, str.sc_delete
lea rcx, [rsp + 0x28]
call fcn.14000c518
nop
lea r8, [rbp + 0x50]
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.14000b204
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x1400be0e3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rcx, qword [rsp + 0x20]
call fcn.140098bb4
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x1400be10c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.14008e520
mov rbx, qword [rsp + 0x280]
add rsp, 0x270
pop rbp
ret
Function at 0x1400be72c
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x180
mov rax, qword [0x1400f2078]
xor rax, rsp
mov qword [rsp + 0x170], rax
xor ebx, ebx
mov dword [rsp + 0x30], 4
mov r14, rdx
mov dword [rsp + 0x34], ebx
mov ebp, ecx
mov dword [rsp + 0x40], pe_nt_image_headers64
xor edx, edx
lea ecx, [rbx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x1400be84e
lea rdx, [rsp + 0x40]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32First]
cmp eax, 1
jne 0x1400be845
lea rdx, [rsp + 0x6c]
lea rcx, str.explorer.exe
call fcn.1400ba5f0
test eax, eax
jne 0x1400be827
mov r8d, dword [rsp + 0x48]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rdi, rax
test rax, rax
je 0x1400be827
mov r8, r14
mov edx, 0xa
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x1400be80d
mov r9d, dword [rsp + 0x30]
lea rax, [rsp + 0x30]
mov rcx, qword [r14]
lea r8, [rsp + 0x34]
mov edx, listen
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x1400be80d
cmp ebp, dword [rsp + 0x34]
je 0x1400be83a
cmp qword [r14], rbx
je 0x1400be81e
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r14], rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32Next]
jmp 0x1400be794
mov rcx, rdi
mov bl, 1
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.14008e520
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
Function at 0x140001154
Capabilities:
Terminate process

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x10], 0
mov dword [rbp - 0x1c], 0x30
mov eax, dword [rbp - 0x1c]
mov rax, qword gs:[rax]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x28]
mov rax, qword [rax + 8]
mov qword [rbp - 0x18], rax
mov dword [rbp - 4], 0
jmp 0x1400011ac
mov rax, qword [rbp - 0x10]
cmp rax, qword [rbp - 0x18]
jne 0x14000119e
mov dword [rbp - 4], 1
jmp 0x1400011e3
mov ecx, 0x3e8
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov rax, qword [0x14010d490]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x40], 0
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x30]
lock cmpxchg qword [rdx], rcx
mov qword [rbp - 0x10], rax
cmp qword [rbp - 0x10], 0
jne 0x14000118b
mov rax, qword [0x14010d4a0]
mov eax, dword [rax]
cmp eax, 1
jne 0x1400011fd
mov ecx, 0x1f
call fcn.1400ef430
jmp 0x14000123c
mov rax, qword [0x14010d4a0]
mov eax, dword [rax]
test eax, eax
jne 0x140001232
mov rax, qword [0x14010d4a0]
mov dword [rax], 1
mov rax, qword [0x14010d4e0]
mov rdx, rax
mov rax, qword [0x14010d4d0]
mov rcx, rax
call sub.api_ms_win_crt_runtime_l1_1_0.dll__initterm
jmp 0x14000123c
mov dword [0x140111024], 1
mov rax, qword [0x14010d4a0]
mov eax, dword [rax]
cmp eax, 1
jne 0x140001270
mov rax, qword [0x14010d4c0]
mov rdx, rax
mov rax, qword [0x14010d4b0]
mov rcx, rax
call sub.api_ms_win_crt_runtime_l1_1_0.dll__initterm
mov rax, qword [0x14010d4a0]
mov dword [rax], 2
cmp dword [rbp - 4], 0
jne 0x140001294
mov rax, qword [0x14010d490]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], 0
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
xchg qword [rax], rdx
mov rax, qword [0x14010d3e0]
mov rax, qword [rax]
test rax, rax
je 0x1400012bf
mov rax, qword [0x14010d3e0]
mov rax, qword [rax]
mov r8d, 0
mov edx, 2
mov ecx, 0
call rax
call fcn.1400ee6b8
mov rax, qword [0x14010d520]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
call rax
mov rdx, qword [0x14010d480]
mov qword [rdx], rax
lea rax, section..text
mov rcx, rax
call sub.api_ms_win_crt_runtime_l1_1_0.dll__set_invalid_parameter_handler
call fcn.1400edeb0
mov eax, dword [0x140111004]
lea rdx, [0x140111008]
mov ecx, eax
call fcn.14000147c
call fcn.1400edc47
mov rax, qword [0x14010d410]
mov rax, qword [rax]
mov rdx, qword [0x140111010]
mov qword [rax], rdx
mov rcx, qword [0x140111010]
mov rdx, qword [0x140111008]
mov eax, dword [0x140111004]
mov r8, rcx
mov ecx, eax
call fcn.1400016d0
mov dword [0x14011101c], eax
mov eax, dword [0x140111020]
test eax, eax
jne 0x14000135d
mov eax, dword [0x14011101c]
mov ecx, eax
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
mov eax, dword [0x140111024]
test eax, eax
jne 0x14000136c
call sub.api_ms_win_crt_runtime_l1_1_0.dll__cexit
mov eax, dword [0x14011101c]
add rsp, 0x70
pop rbp
ret
Function at 0x140001378
Capabilities:
Parse pe header

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov rax, qword [0x14010d440]
mov dword [rax], 1
mov rax, qword [0x14010d450]
mov dword [rax], 1
mov rax, qword [0x14010d460]
mov dword [rax], 1
mov rax, qword [0x14010d400]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
movzx eax, word [rax]
cmp ax, 0x5a4d
je 0x1400013c9
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp - 8]
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
cmp eax, 0x4550
je 0x1400013f5
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 0x10]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
movzx eax, word [rax]
movzx eax, ax
cmp eax, 0x10b
je 0x14000141b
cmp eax, 0x20b
je 0x140001442
jmp 0x140001471
mov rax, qword [rbp - 0x18]
mov eax, dword [rax + 0x5c]
cmp eax, 0xe
ja 0x14000142e
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 0x18]
mov eax, dword [rax + 0xd0]
test eax, eax
setne al
movzx eax, al
jmp 0x140001476
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0x6c]
cmp eax, 0xe
ja 0x14000145d
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0xe0]
test eax, eax
setne al
movzx eax, al
jmp 0x140001476
mov eax, 0
add rsp, 0x20
pop rbp
ret
Function at 0x1400edec0
Capabilities:
Write file on windows

Disassembly:
push rbp
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], r9
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov ecx, 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov r9, rax
mov r8d, 0x1b
mov edx, 1
lea rax, str.Mingw_w64_runtime_failure:_n
mov rcx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
mov rbx, qword [rbp - 8]
mov ecx, 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov r8, rbx
mov rdx, rax
call fcn.1400ef220
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
nop

Function at 0x1400eeb92
Capabilities:
Get thread local storage value

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov eax, dword [0x140111168]
test eax, eax
je 0x1400eec2a
lea rax, [0x140111140]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call rax
mov rax, qword [0x140111170]
mov qword [rbp - 8], rax
jmp 0x1400eec0e
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov qword [rbp - 0x10], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
test eax, eax
jne 0x1400eec02
cmp qword [rbp - 0x10], 0
je 0x1400eec02
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 8]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call rdx
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x10]
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x1400eebc8
lea rax, [0x140111140]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call rax
jmp 0x1400eec2b
nop
add rsp, 0x30
pop rbp
ret

Function at 0x1400eed30
Capabilities:
Parse pe header

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
movzx eax, word [rax]
cmp ax, 0x5a4d
je 0x1400eed58
mov eax, 0
jmp 0x1400eeda6
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp - 8]
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
cmp eax, 0x4550
je 0x1400eed81
mov eax, 0
jmp 0x1400eeda6
mov rax, qword [rbp - 0x10]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
movzx eax, word [rax]
cmp ax, 0x20b
je 0x1400eeda1
mov eax, 0
jmp 0x1400eeda6
mov eax, 1
add rsp, 0x20
pop rbp
ret
Function at 0x1400eedac
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
mov qword [rbp - 0x18], rax
mov dword [rbp - 0xc], 0
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 0x14]
movzx edx, ax
mov rax, qword [rbp - 0x18]
add rax, rdx
add rax, 0x18
mov qword [rbp - 8], rax
jmp 0x1400eee2a
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0xc]
mov eax, eax
cmp qword [rbp + 0x18], rax
jb 0x1400eee21
mov rax, qword [rbp - 8]
mov edx, dword [rax + 0xc]
mov rax, qword [rbp - 8]
mov eax, dword [rax + 8]
add eax, edx
mov eax, eax
cmp qword [rbp + 0x18], rax
jae 0x1400eee21
mov rax, qword [rbp - 8]
jmp 0x1400eee3f
add dword [rbp - 0xc], 1
add qword [rbp - 8], 0x28
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 6]
movzx eax, ax
cmp dword [rbp - 0xc], eax
jb 0x1400eedf4
mov eax, 0
add rsp, 0x20
pop rbp
ret
Function at 0x140001010
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [0x1401ac870]
xor ecx, ecx
mov dword [rax], 1
mov rax, qword [0x1401ac880]
mov dword [rax], 1
mov rax, qword [0x1401ac890]
mov dword [rax], 1
mov rax, qword [0x1401ac860]
mov dword [rax], 1
mov rax, qword [0x1401ac720]
cmp word [rax], 0x5a4d
jne 0x140001067
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x1400010d0
mov rax, qword [0x1401ac850]
mov dword [0x1401af00c], ecx
mov eax, dword [rax]
test eax, eax
jne 0x1400010c0
mov ecx, 1
call sym.__set_app_type
call dbg.__p__fmode
mov rdx, qword [0x1401ac810]
mov edx, dword [rdx]
mov dword [rax], edx
call dbg.__p__commode
mov rdx, qword [0x1401ac7f0]
mov edx, dword [rdx]
mov dword [rax], edx
call dbg._setargv
mov rax, qword [0x1401ac6d0]
cmp dword [rax], 1
je 0x140001108
xor eax, eax
add rsp, 0x28
ret
mov ecx, 2
call sym.__set_app_type
jmp 0x140001084
movzx edx, word [rax + 0x18]
cmp dx, 0x10b
je 0x140001120
cmp dx, 0x20b
jne 0x140001067
cmp dword [rax + 0x84], 0xe
jbe 0x140001067
mov edx, dword [rax + 0xf8]
xor ecx, ecx
test edx, edx
setne cl
jmp 0x140001067
lea rcx, [dbg._matherr]
call dbg.__mingw_setusermatherr
xor eax, eax
add rsp, 0x28
ret
cmp dword [rax + 0x74], 0xe
jbe 0x140001067
mov r8d, dword [rax + 0xe8]
xor ecx, ecx
test r8d, r8d
setne cl
jmp 0x140001067