joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140039400
Capabilities:
Delete file

Disassembly:
push rbp
push rbx
push rdi
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp - 0x40], 0xfffffffffffffffe
mov rbx, rcx
lea rcx, [rbp + 0x30]
call qword [sym.imp.MFC42u.dll_CDaoIndexFieldInfo::CDaoIndexFieldInfo]
nop dword [rax + rax]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.MFC42u.dll_CDaoIndexFieldInfo::CDaoIndexFieldInfo]
nop dword [rax + rax]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.MFC42u.dll_CGopherFile::CGopherFile]
nop dword [rax + rax]
nop
mov edi, 1
mov rdx, rbx
lea rcx, [rbp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDeleteObject]
nop dword [rax + rax]
mov rdx, rbx
lea rcx, [rbp + 0x28]
call qword [sym.imp.MFC42u.dll_AfxDeleteObject]
nop dword [rax + rax]
lea rdx, str..
lea rcx, [rbp + 0x30]
call qword [sym.imp.MFC42u.dll_Ordinal_1287]
nop dword [rax + rax]
xor r8d, r8d
mov rdx, qword [rbp + 0x30]
lea rcx, [rbp - 0x38]
call qword [sym.imp.MFC42u.dll_COleControl::FireEventV]
nop dword [rax + rax]
test eax, eax
je 0x1400395c4
mov rdx, qword [rbp + 0x28]
lea rcx, [rbp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDeleteObject]
nop dword [rax + rax]
jmp 0x140039532
call qword [sym.imp.MFC42u.dll_AfxDeleteObject]
nop dword [rax + rax]
lea rdx, [0x14008100c]
lea rcx, [rbp + 0x28]
call qword [sym.imp.MFC42u.dll_Ordinal_1287]
nop dword [rax + rax]
lea rdx, [rbp + 0x38]
lea rcx, [rbp - 0x38]
call qword [sym.imp.MFC42u.dll_CEnumFormatEtc::GetInterfaceMap]
nop dword [rax + rax]
nop
mov rdx, rax
lea rcx, [rbp + 0x28]
call qword [sym.imp.MFC42u.dll_Ordinal_1284]
nop dword [rax + rax]
nop
lea rcx, [rbp + 0x38]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
neg eax
sbb ecx, ecx
and edi, ecx
lea rcx, [rbp - 0x38]
call qword [sym.imp.MFC42u.dll_COleStreamFile::Flush]
nop dword [rax + rax]
mov rdx, qword [rbp + 0x30]
lea rcx, [rbp + 0x28]
test eax, eax
jne 0x1400394c0
call qword [sym.imp.MFC42u.dll_AfxDeleteObject]
nop dword [rax + rax]
lea rdx, [0x14008100c]
lea rcx, [rbp + 0x28]
call qword [sym.imp.MFC42u.dll_Ordinal_1287]
nop dword [rax + rax]
lea rdx, [rbp + 0x38]
lea rcx, [rbp - 0x38]
call qword [sym.imp.MFC42u.dll_CEnumFormatEtc::GetInterfaceMap]
nop dword [rax + rax]
nop
mov rdx, rax
lea rcx, [rbp + 0x28]
call qword [sym.imp.MFC42u.dll_Ordinal_1284]
nop dword [rax + rax]
nop
lea rcx, [rbp + 0x38]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
neg eax
sbb ecx, ecx
and edi, ecx
lea rcx, [rbp - 0x38]
call qword [sym.imp.MFC42u.dll_CInternetConnection::Close]
nop dword [rax + rax]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.MFC42u.dll_operator___1]
nop dword [rax + rax]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
lea rcx, [rbp + 0x30]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
mov eax, edi
add rsp, 0x60
pop rdi
pop rbx
pop rbp
ret
Function at 0x1400396a0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp dword [rdx + 8], 0x100
mov rbx, rdx
mov rdi, rcx
jne 0x14003970e
mov rax, qword [rdx + 0x10]
cmp rax, 0x2e
ja 0x1400396d3
movabs rcx, 0x400008002000
bt rcx, rax
jb 0x1400396e9
mov ecx, reloc.COMCTL32.dll_InitCommonControls
call qword [sym.imp.USER32.dll_GetKeyState]
nop dword [rax + rax]
test ax, ax
je 0x14003970e
mov rcx, rbx
call qword [sym.imp.USER32.dll_TranslateMessage]
nop dword [rax + rax]
mov rcx, rbx
call qword [sym.imp.USER32.dll_DispatchMessageW]
nop dword [rax + rax]
mov eax, 1
jmp 0x140039720
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.MFC42u.dll_CWinApp::RunAutomated]
nop dword [rax + rax]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x14003baec
Capabilities:
Read .ini file

Disassembly:
push rbx
push rsi
push rdi
push r14
sub rsp, 0x268
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov rax, qword [0x14013bf40]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov r14, r9
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x40], r9
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xff
lea r9, [rsp + 0x50]
lea r8, [0x1400810e0]
mov rdx, qword [rdi]
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
nop dword [rax + rax]
mov dword [rbx + 0x20], eax
lea rdx, [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.MFC42u.dll_CDaoException::CDaoException]
nop dword [rax + rax]
nop
mov rcx, rdi
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
mov rcx, r14
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
mov rax, rsi
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.14006e720
add rsp, 0x268
pop r14
pop rdi
pop rsi
pop rbx
ret

Function at 0x14003bbbc
Capabilities:
Read .ini file

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x240
mov rax, qword [0x14013bf40]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov rax, qword [rcx + 0x28]
lea r9, [rsp + 0x30]
mov rsi, r8
mov qword [rsp + 0x28], rax
mov rdi, rdx
mov dword [rsp + 0x20], 0xff
mov rdx, qword [rdx]
lea r8, [0x1400810e0]
mov rbx, rcx
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
nop dword [rax + rax]
lea rcx, [rsp + 0x30]
mov dword [rbx + 0x20], eax
call qword [sym.imp.msvcrt.dll__wtol]
nop dword [rax + rax]
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
mov rcx, rsi
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
mov eax, ebx
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.14006e720
add rsp, 0x240
pop rdi
pop rsi
pop rbx
ret
Function at 0x14003bc6c
Capabilities:
Read .ini file

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x260
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov rax, qword [0x14013bf40]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], r8
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xff
lea r9, [rsp + 0x50]
lea r8, [0x1400810e0]
mov rdx, qword [rdx]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
nop dword [rax + rax]
mov dword [rbx + 0x20], eax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CDaoException::CDaoException]
nop dword [rax + rax]
lea rdx, [0x140081ec8]
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_wcscmp
xor ebx, ebx
test eax, eax
jne 0x14003bd07
lea ebx, [rax + 1]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
mov rcx, rdi
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
mov rcx, rsi
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
mov eax, ebx
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.14006e720
add rsp, 0x260
pop rdi
pop rsi
pop rbx
ret

Function at 0x14003bdf0
Capabilities:
Read .ini file

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x130
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x14013bf40]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov rdi, rdx
mov rbx, rcx
mov qword [rsp + 0x40], rdx
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CDaoIndexFieldInfo::CDaoIndexFieldInfo]
nop dword [rax + rax]
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x5a
lea r9, [rsp + 0x50]
lea r8, [0x1400810e0]
xor edx, edx
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
nop dword [rax + rax]
mov dword [rbx + 0x20], eax
xor ebx, ebx
test eax, eax
setg bl
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
mov rcx, rdi
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
mov eax, ebx
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.14006e720
mov rbx, qword [rsp + reloc.MFC42u.dll_CDocObjectServerItem::CDocObjectServerItem]
add rsp, 0x130
pop rdi
ret
Function at 0x14003bebc
Capabilities:
Read .ini file

Disassembly:
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xf00]
mov eax, 0x1000
call fcn.14006f480
sub rsp, rax
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x1038], rbx
mov qword [rsp + 0x1040], rsi
mov rax, qword [0x14013bf40]
xor rax, rsp
mov qword [rbp + 0xef0], rax
mov rbx, rcx
xor r12d, r12d
mov edi, r12d
mov dword [rsp + 0x28], r12d
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.MFC42u.dll_COleServerItem::XDataObject::SetData]
nop dword [rax + rax]
mov r8, qword [rbx + 0x28]
mov edx, 0x7d0
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesW]
nop dword [rax + rax]
mov dword [rbx + 0x20], eax
lea rcx, [rsp + 0x20]
call qword [sym.imp.MFC42u.dll_CDaoIndexFieldInfo::CDaoIndexFieldInfo]
nop dword [rax + rax]
nop
mov r15d, r12d
cmp dword [rbx + 0x20], r12d
jle 0x14003c070
lea r14, [rsp + 0x50]
movzx r8d, word [r14]
test r8w, r8w
je 0x14003bfaf
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_AfxThrowOleDispatchException]
nop dword [rax + rax]
nop
mov rdx, rax
lea rcx, [rsp + 0x20]
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
nop dword [rax + rax]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
jmp 0x14003c05f
lea rdx, [0x14008253e]
lea rcx, [rsp + 0x30]
call qword [0x14007e108]
nop dword [rax + rax]
nop
or edi, 1
mov dword [rsp + 0x28], edi
mov rax, qword [rsp + 0x20]
mov r8, qword [rsp + 0x30]
sub r8, rax
movzx ecx, word [rax]
movzx edx, word [rax + r8]
sub ecx, edx
jne 0x14003bff0
add rax, 2
test edx, edx
jne 0x14003bfdc
test ecx, ecx
je 0x14003c012
mov edx, 0x24
lea rcx, [rsp + 0x20]
call qword [sym.imp.MFC42u.dll_CRichEditView::FindTextSimple]
nop dword [rax + rax]
cmp eax, 0xffffffff
mov sil, 1
je 0x14003c015
mov sil, r12b
and edi, 0xfffffffe
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
test sil, sil
je 0x14003c047
mov rcx, qword [rbx + 0x10]
lea r8, [rsp + 0x20]
mov rdx, qword [rcx + 0x10]
call qword [sym.imp.MFC42u.dll_AFX_MSGMAPconstCFormView::messageMap]
nop dword [rax + rax]
lea rdx, [0x14008253e]
lea rcx, [rsp + 0x20]
call qword [sym.imp.MFC42u.dll_AfxDaoTerm]
nop dword [rax + rax]
inc r15d
add r14, 2
cmp r15d, dword [rbx + 0x20]
jl 0x14003bf63
mov rbx, qword [rbx + 0x10]
lea rcx, [rsp + 0x20]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
mov rax, rbx
mov rcx, qword [rbp + 0xef0]
xor rcx, rsp
call fcn.14006e720
lea r11, [rsp + 0x1000]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
Function at 0x1400428c0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp dword [rdx + 8], 0x100
mov rbx, rdx
mov rdi, rcx
jne 0x14004292e
mov rax, qword [rdx + 0x10]
cmp rax, 0x2e
ja 0x1400428f3
movabs rcx, 0x414008002200
bt rcx, rax
jb 0x140042909
mov ecx, reloc.COMCTL32.dll_InitCommonControls
call qword [sym.imp.USER32.dll_GetKeyState]
nop dword [rax + rax]
test ax, ax
je 0x14004292e
mov rcx, rbx
call qword [sym.imp.USER32.dll_TranslateMessage]
nop dword [rax + rax]
mov rcx, rbx
call qword [sym.imp.USER32.dll_DispatchMessageW]
nop dword [rax + rax]
mov eax, 1
jmp 0x140042940
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.MFC42u.dll_CWinApp::RunAutomated]
nop dword [rax + rax]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x14004da08
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x48]
test rcx, rcx
je 0x14004da2a
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
nop dword [rax + rax]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov rcx, qword [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
or rax, 0xffffffffffffffff
lea rcx, [rdi + 0x18]
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
Function at 0x14004dd14
Capabilities:
Delete file
Get file size

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
lea rbp, reloc.MFC42u.dll_CRuntimeClassconstCListCtrl::classCListCtrl
sub rsp, 0x830
mov rbx, rcx
lea rcx, [rsp + 0x30]
call fcn.14004d77c
mov rcx, qword [rbx + 0x10]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop dword [rax + rax]
cmp byte [rbx + 0x50], 0
je 0x14004dd90
mov ecx, dword [rbx + 0x54]
lea rdx, [rsp + 0x30]
shl rcx, 0xb
mov r8d, COlePropertiesDialog::XOleUIObjInfo::ConvertObject
add rcx, qword [rbx + 0x48]
call sub.msvcrt.dll_memcpy
and dword [0x14013d130], 0
mov eax, dword [rbx + 0x24]
cmp eax, dword [rbx + 0x2c]
jae 0x14004dd7e
inc eax
mov dword [rbx + 0x24], eax
mov eax, dword [rbx + 0x54]
xor edx, edx
inc eax
div dword [rbx + 0x2c]
mov dword [rbx + 0x54], edx
jmp 0x14004dec4
cmp dword [rbx + 0x28], 0
je 0x14004de10
mov r8d, dword [rbx + 0x24]
mov edx, dword [rbx + 0x30]
lea r9d, [r8 + 1]
cmp r9d, edx
jb 0x14004ddd7
mov ecx, dword [rbx + 0x2c]
add ecx, edx
cmp r9d, ecx
jae 0x14004ddd7
sub r8d, edx
lea rdx, [rsp + 0x30]
mov ecx, r8d
mov r8d, COlePropertiesDialog::XOleUIObjInfo::ConvertObject
shl rcx, 0xb
add rcx, qword [rbx + 0x48]
call sub.msvcrt.dll_memcpy
and dword [0x14013d130], 0
jmp 0x14004de08
mov edx, dword [rsp + 0x30]
lea rax, [rbp + 0x740]
mov rcx, qword [rbx]
lea r8, [rsp + 0x30]
inc dword [0x14013d130]
dec edx
shl rdx, 0xb
mov qword [rsp + 0x20], rax
call fcn.14004e4ec
test eax, eax
jne 0x14004dec4
dec dword [rbx + 0x28]
jmp 0x14004dec1
mov rcx, qword [rbx]
lea rdx, [rbp + 0x750]
inc dword [0x14013d130]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
nop dword [rax + rax]
mov rdx, qword [rbp + 0x750]
mov eax, dword [rbx + 0x2c]
mov rcx, qword [rbx]
shl rax, 0xb
add rdx, rax
mov qword [rbp + 0x750], rdx
call fcn.14004e49c
mov rcx, qword [rbx]
test eax, eax
je 0x14004de75
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
or qword [rbx], 0xffffffffffffffff
jmp 0x14004dec4
mov edx, dword [rbx + 0x24]
lea rax, [rbp + 0x740]
shl rdx, 0xb
lea r8, [rsp + 0x30]
mov qword [rbp + 0x750], rdx
mov qword [rsp + 0x20], rax
call fcn.14004e4ec
test eax, eax
je 0x14004deb9
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
xor ecx, ecx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
jmp 0x14004dec4
mov eax, dword [rbx + 0x2c]
dec eax
mov dword [rbx + 0x28], eax
inc dword [rbx + 0x24]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
nop dword [rax + rax]
mov rbx, qword [rsp + 0x848]
xor eax, eax
add rsp, 0x830
pop rbp
ret
Function at 0x14004dfb0
Capabilities:
Read file on windows

Disassembly:
sub rsp, 0x68
cmp byte [rcx + 0x50], 0
mov r10, rcx
mov r9d, dword [rcx + 0x30]
je 0x14004dfdc
sub edx, r9d
mov rcx, r8
shl rdx, 0xb
mov r8d, COlePropertiesDialog::XOleUIObjInfo::ConvertObject
add rdx, qword [r10 + 0x48]
call sub.msvcrt.dll_memcpy
jmp 0x14004e050
cmp edx, r9d
jb 0x14004dfeb
mov ecx, dword [rcx + 0x2c]
add ecx, r9d
cmp edx, ecx
jb 0x14004dfc1
cmp edx, dword [r10 + 0x24]
jae 0x14004e057
and qword [rsp + 0x40], 0
xor r9d, r9d
mov rcx, qword [r10]
mov eax, edx
xor edx, edx
shl rax, 0xb
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov dword [rsp + 0x30], COlePropertiesDialog::XOleUIObjInfo::ConvertObject
mov qword [rsp + 0x28], r8
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_NtReadFile]
nop dword [rax + rax]
test eax, eax
jns 0x14004e050
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
nop dword [rax + rax]
test eax, eax
jne 0x14004e057
mov eax, 1
jmp 0x14004e059
xor eax, eax
add rsp, 0x68
ret
Function at 0x14004e068
Capabilities:
Get file size

Disassembly:
push rdi
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x58], rbx
mov r9d, edx
mov rbx, rcx
mov r10d, dword [rcx + 0x30]
cmp edx, r10d
jb 0x14004e0a1
mov ecx, dword [rcx + 0x2c]
add ecx, r10d
cmp edx, ecx
ja 0x14004e0a1
lea eax, [rdx + r8]
cmp eax, ecx
jbe 0x14004e22b
xor edx, edx
mov eax, r9d
div dword [rbx + 0x40]
sub r9d, edx
mov r8d, dword [rbx + 0x28]
add r8d, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x2c]
lea eax, [rcx + r9]
cmp eax, r8d
jbe 0x14004e0d0
xor edx, edx
mov eax, r8d
div ecx
mov r9d, r8d
sub r9d, edx
sub r9d, ecx
cmp r9d, r10d
je 0x14004e22b
cmp byte [rbx + 0x50], 0
jne 0x14004e227
mov dword [rbx + 0x30], r9d
mov rcx, qword [rbx + 0x48]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
nop dword [rax + rax]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
or qword [rbx + 8], 0xffffffffffffffff
and qword [rbx + 0x48], 0
lea rdx, [rbx + 0x38]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
nop dword [rax + rax]
test eax, eax
je 0x14004e227
and qword [rsp + 0x28], 0
mov eax, dword [rbx + 0x38]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbx + 0x3c]
xor edx, edx
mov r8d, 0x8000004
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
nop dword [rax + rax]
mov r10, rax
mov qword [rbx + 8], rax
test rax, rax
jne 0x14004e19f
lea rcx, [rsp + 0x50]
call qword [sym.imp.MFC42u.dll_CDaoIndexFieldInfo::CDaoIndexFieldInfo]
nop dword [rax + rax]
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r9d, eax
mov r8d, eax
lea rdx, str.CreateFileMapping_Error__d__x
lea rcx, [rsp + 0x50]
call qword [sym.imp.MFC42u.dll_CPtrList::FreeNode]
nop dword [rax + rax]
nop
jmp 0x14004e216
mov eax, dword [rbx + 0x30]
shl rax, 0xb
mov ecx, dword [rbx + 0x2c]
shl rcx, 0xb
mov r8, rax
shr r8, 0x20
mov qword [rsp + 0x20], rcx
mov r9d, eax
mov edx, 0xf001f
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
nop dword [rax + rax]
mov qword [rbx + 0x48], rax
test rax, rax
jne 0x14004e22b
lea rcx, [rsp + 0x50]
call qword [sym.imp.MFC42u.dll_CDaoIndexFieldInfo::CDaoIndexFieldInfo]
nop dword [rax + rax]
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r9d, eax
mov r8d, eax
lea rdx, str.MapViewOfFile_Error__d__x
lea rcx, [rsp + 0x50]
call qword [sym.imp.MFC42u.dll_CPtrList::FreeNode]
nop dword [rax + rax]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
xor eax, eax
jmp 0x14004e230
mov eax, 1
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
Function at 0x14004e49c
Capabilities:
Set file attributes

Disassembly:
mov rax, rsp
sub rsp, 0x48
mov qword [rax + 0x10], rdx
lea r8, [rax + 0x10]
lea rdx, [rax - 0x18]
mov dword [rax - 0x28], 0x14
mov r9d, 8
call qword [sym.imp.ntdll.dll_NtSetInformationFile]
nop dword [rax + rax]
test eax, eax
js 0x14004e4d0
xor eax, eax
jmp 0x14004e4de
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
nop dword [rax + rax]
add rsp, 0x48
ret

Function at 0x14004e4ec
Capabilities:
Write file on windows

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rdx
sub rsp, 0x68
and qword [r11 - 0x28], 0
lea rax, [r11 + 0x10]
mov qword [r11 - 0x30], rax
xor r9d, r9d
mov dword [rsp + 0x30], COlePropertiesDialog::XOleUIObjInfo::ConvertObject
lea rax, [r11 - 0x18]
mov qword [r11 - 0x40], r8
xor edx, edx
xor r8d, r8d
mov qword [r11 - 0x48], rax
call qword [sym.imp.ntdll.dll_NtWriteFile]
nop dword [rax + rax]
test eax, eax
js 0x14004e542
mov eax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x90]
mov dword [rcx], eax
xor eax, eax
jmp 0x14004e550
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
nop dword [rax + rax]
add rsp, 0x68
ret

Function at 0x14004eb04
Capabilities:
Query or enumerate registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rsi
mov qword [r11 + 0x10], rdx
push rdi
sub rsp, 0x30
mov eax, dword [r9]
lea rdx, str.WindowsDebuggersRoot10
add eax, eax
mov rbx, r8
mov dword [rsp + 0x48], eax
mov rdi, r9
lea rax, [r11 + 0x10]
xor esi, esi
mov dword [r9], esi
xor r8d, r8d
mov rcx, qword [rcx]
lea r9, [r11 + 8]
mov qword [r11 - 0x10], rax
mov qword [r11 - 0x18], rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
nop dword [rax + rax]
test eax, eax
jne 0x14004eb87
mov eax, dword [rsp + 0x40]
dec eax
cmp eax, 1
ja 0x14004eb82
mov ecx, dword [rsp + 0x48]
test rbx, rbx
je 0x14004eb9b
test ecx, ecx
je 0x14004eb98
test cl, 1
jne 0x14004eb82
mov eax, ecx
shr rax, 1
cmp word [rbx + rax*2 - 2], si
je 0x14004eb9b
mov eax, InitCommonControls
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov word [rbx], si
shr ecx, 1
mov dword [rdi], ecx
xor eax, eax
jmp 0x14004eb87
Function at 0x14004edc0
Capabilities:
Get system information on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rdi
sub rsp, 0x50
xorps xmm0, xmm0
mov rdi, rcx
lea rcx, [rax - 0x38]
movups xmmword [rax - 0x38], xmm0
movups xmmword [rax - 0x28], xmm0
movups xmmword [rax - 0x18], xmm0
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
nop dword [rax + rax]
movzx eax, word [rsp + 0x20]
test eax, eax
je 0x14004ee21
cmp eax, 5
je 0x14004ee18
cmp eax, 9
je 0x14004ee0f
cmp eax, 0xc
jne 0x14004ee60
lea rbx, str.arm64
jmp 0x14004ee28
lea rbx, [0x14008aa40]
jmp 0x14004ee28
lea rbx, [0x14008aa68]
jmp 0x14004ee28
lea rbx, [0x14008a9c0]
mov rcx, qword [rdi]
movsxd rax, dword [rcx - 0x10]
test eax, eax
je 0x14004ee55
lea edx, [rax - 1]
test edx, edx
js 0x14004ee6c
cmp edx, eax
jg 0x14004ee6c
cmp word [rcx + rax*2 - 2], 0x5c
je 0x14004ee55
lea rdx, [0x14008100c]
mov rcx, rdi
call fcn.14004f570
mov rdx, rbx
mov rcx, rdi
call fcn.14004f570
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
ret
mov ecx, 0x80070057
call fcn.14004ea94
int3

Function at 0x14004f9cc
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x80
mov rdi, rdx
mov r8d, 0x30
lea rdx, [rsp + 0x20]
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
nop dword [rax + rax]
test rax, rax
jne 0x14004fa00
lea ecx, [rax + 0x19]
int 0x29
test byte [rsp + 0x44], 0x44
je 0x14004fa5f
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
nop dword [rax + rax]
mov r9d, dword [rsp + 0x54]
xor edx, edx
mov r8d, r9d
neg r8
and r8, rbx
lea ecx, [r9 - 1]
mov eax, ecx
and ecx, ebx
and eax, edi
add eax, ecx
dec rax
add rax, r9
div r9
xor edx, edx
mov rcx, rax
mov rax, rdi
div r9
add rcx, rax
mov eax, ecx
test ecx, ecx
je 0x14004fa5f
lock or dword [r8], 0
add r8, r9
sub rax, 1
jne 0x14004fa51
mov rbx, qword [rsp + 0x90]
add rsp, 0x80
pop rdi
ret