joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000ac70
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x14007e020]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rsi, rcx
movzx ecx, word [rdx]
mov rdi, rdx
test cx, cx
je 0x14000ad50
mov ebp, 0xd
mov eax, dword [rsi + 8]
cmp eax, 1
je 0x14000ad08
cmp eax, 2
je 0x14000ad05
cmp eax, 3
je 0x14000acc0
cmp eax, 4
je 0x14000acbd
xor ebx, ebx
jmp 0x14000ad25
cmp eax, 3
sete dl
lea rax, [rsp + 0x30]
mov ebx, 2
cmp cx, 0xa
jne 0x14000acf3
cmp byte [rsi + 0xd], 0
je 0x14000acf3
mov eax, 0xd00
test dl, dl
mov ebx, 4
cmovne ax, bp
mov word [rsp + 0x30], ax
lea rax, [rsp + 0x32]
test dl, dl
je 0x14000acfc
mov word [rax], cx
jmp 0x14000ad25
rol cx, 8
mov word [rax], cx
jmp 0x14000ad25
cmp eax, 1
movzx eax, byte [rsi + 0xd]
movzx r9d, byte [rsi + 0xc]
lea rdx, [rsp + 0x30]
sete r8b
mov byte [rsp + 0x20], al
call fcn.14000aa20
mov ebx, eax
mov r9, qword [rsi]
lea rcx, [rsp + 0x30]
mov r8d, ebx
mov edx, 1
call qword [sym.imp.MSVCR100.dll_fwrite]
cmp eax, ebx
jne 0x14000ad6c
movzx ecx, word [rdi + 2]
add rdi, 2
test cx, cx
jne 0x14000aca2
xor eax, eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140049a80
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
or eax, 0xffffffff
jmp 0x14000ad52

Function at 0x14000b1f0
Capabilities:
Delete file

Disassembly:
push rdi
sub rsp, 0xa0
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0xc0], rbx
mov rax, qword [0x14007e020]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rdi, rdx
mov rbx, rcx
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0x30]
call qword [sym.imp.acdb19.dll_public:_void___cdecl_AdXREFString::constructor_void____ptr64]
nop
lea rcx, [rsp + 0x30]
call fcn.1400102c0
test al, al
jne 0x14000b256
mov byte [rsp + 0x22], al
lea rdx, [0x140075aa8]
lea rcx, [rsp + 0x22]
call sub.MSVCR100.dll__CxxThrowException
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14000b2f0
test al, al
jne 0x14000b27c
mov byte [rsp + 0x23], al
lea rdx, [0x140075aa8]
lea rcx, [rsp + 0x23]
call sub.MSVCR100.dll__CxxThrowException
mov byte [rsp + 0x20], 1
mov r8, rdi
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14000fad0
movzx ebx, al
jmp 0x14000b2a2
lea rcx, [rsp + 0x30]
call qword [sym.imp.acdb19.dll_public:_wchar_t_const____ptr64___cdecl_AdXREFString::operator_wchar_t_const____ptr64_void_const___ptr64]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.acdb19.dll_public_virtual:_void___cdecl_AdXREFString::destructor_void____ptr64]
movzx eax, bl
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140049a80
mov rbx, qword [rsp + 0xc0]
add rsp, 0xa0
pop rdi
ret
Function at 0x14000f9f0
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0xa0
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x14007e020]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rsi, rcx
xor r9d, r9d
lea r8, [rsp + 0x20]
lea edx, [r9 + 0xc]
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov ebx, eax
lea ecx, [rax + 1]
movsxd rcx, ecx
add rcx, rcx
call qword [sym.imp.MSVCR100.dll_malloc]
mov rdi, rax
mov r9d, ebx
mov r8, rax
mov edx, 0xc
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jne 0x14000fa73
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_free]
xor al, al
jmp 0x14000faaa
mov rdx, rdi
lea rcx, [rsp + 0x30]
call qword [sym.imp.acdb19.dll_public:_void___cdecl_AdXREFString::constructor_wchar_t_const____ptr64____ptr64]
nop
mov rax, qword [rsi]
lea rdx, [rsp + 0x30]
mov rcx, rsi
call qword [rax + 0xe0]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.acdb19.dll_public_virtual:_void___cdecl_AdXREFString::destructor_void____ptr64]
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_free]
mov al, 1
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140049a80
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret

Function at 0x1400102c0
Capabilities:
Get common file path

Disassembly:
push rbx
sub rsp, 0x460
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov rax, qword [0x14007e020]
xor rax, rsp
mov qword [rsp + 0x450], rax
mov rbx, rcx
mov byte [rsp + 0x20], 0
lea rdx, [rsp + 0x30]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x14001033a
lea r9, [rsp + 0x240]
xor r8d, r8d
lea rdx, [0x140055750]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
je 0x14001033a
lea rdx, [rsp + 0x240]
mov rcx, rbx
call qword [sym.imp.acdb19.dll_public:_class_AdXREFString_const____ptr64___cdecl_AdXREFString::operator_wchar_t_const____ptr64____ptr64]
mov al, 1
mov byte [rsp + 0x20], al
jmp 0x140010356
mov byte [rsp + 0x21], 0
lea rdx, [0x140075aa8]
lea rcx, [rsp + 0x21]
call sub.MSVCR100.dll__CxxThrowException
nop
movzx eax, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x450]
xor rcx, rsp
call fcn.140049a80
add rsp, 0x460
pop rbx
ret
Function at 0x140019810
Capabilities:
Query or enumerate registry value

Disassembly:
push rdi
sub rsp, 0x60
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x80], rsi
mov rbp, r8
mov rsi, rcx
xor ebx, ebx
mov dword [rsp + 0x88], ebx
mov rcx, rdx
call fcn.140019600
mov rdi, rax
test rax, rax
je 0x140019922
lea rax, [rsp + 0x88]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0xffff
mov r8, rbp
xor edx, edx
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_SHRegGetValueW]
mov ebx, eax
lea rcx, [rsp + 0x48]
call qword [0x140052ac8]
nop
test ebx, ebx
jne 0x14001990d
mov edx, dword [rsp + 0x88]
shr edx, 1
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc100u.dll_CTaskDialog::FreeStruct]
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0xffff
mov r8, rbp
xor edx, edx
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_SHRegGetValueW]
or edx, 0xffffffff
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc100u.dll_CMFCAcceleratorKeyAssignCtrl::PreTranslateMessage]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, [rsp + 0x48]
mov rcx, rsi
call qword [0x140052888]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
jmp 0x140019932
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
lea rdx, [0x140053c78]
mov rcx, rsi
call qword [0x140052ad0]
mov rax, rsi
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret
Function at 0x140019c00
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov dword [r11 + 0x18], r8d
push rdi
sub rsp, 0x60
lea rax, [r11 + 0x20]
xor edi, edi
mov rbx, rdx
mov qword [r11 - 0x28], rax
lea rax, [r11 - 0x18]
mov rdx, rcx
mov qword [r11 - 0x30], rax
mov qword [r11 - 0x38], rdi
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], edi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x140019c5c
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rdi
ret
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x80]
mov r9d, 4
xor r8d, r8d
mov rdx, rbx
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x50]
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
mov rbx, qword [rsp + 0x70]
sete dil
mov eax, edi
add rsp, 0x60
pop rdi
ret

Function at 0x140019cb0
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 5
cmp eax, 5
jg 0x140019cd2
mov eax, 1
add rsp, 0x20
pop rbx
ret
mov qword [rsp + 0x30], rsi
movsxd rsi, eax
mov ecx, 0x2002
lea rdx, [rsi + rsi]
mov qword [rsp + 0x38], rdi
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rdi, rax
test rax, rax
jne 0x140019d06
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
ret
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.MSVCR100.dll_wcscpy_s]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
mov ebx, eax
and ebx, 1
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, rdi
mov ecx, 0xd
and ebx, eax
call qword [sym.imp.USER32.dll_SetClipboardData]
xor ecx, ecx
test rax, rax
setne cl
and ebx, ecx
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
and eax, ebx
add rsp, 0x20
pop rbx
ret
Function at 0x14001a210
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x60
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x80], rbx
mov rdi, rdx
mov rsi, rcx
xor ebx, ebx
lea rbp, [0x140081930]
cmp word [0x140081930], bx
jne 0x14001a30d
lea rcx, [rsp + 0x40]
call qword [0x140052ac8]
nop
mov dword [rsp + 0x90], 0x208
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x180]
mov rdx, rax
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc100u.dll_CVSListBoxBase::CVSListBoxBase]
lea r11, [rsp + 0x48]
mov qword [rsp + 0x20], r11
mov r9d, 0x20019
xor r8d, r8d
mov rdx, qword [rsp + 0x40]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14001a2b1
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
mov eax, CDataExchange::CDataExchange
jmp 0x14001a312
lea rax, [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbp
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
mov r9d, 0xffff
lea r8, str.RoamableRootFolder
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.SHLWAPI.dll_SHRegGetValueW]
mov r11d, CDataSourceControl::CDataSourceControl
test eax, eax
cmovne ebx, r11d
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
mov qword [rdi], rbp
mov eax, ebx
mov rbx, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret

Function at 0x14001a330
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x60
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x80], rbx
mov rdi, rdx
mov rsi, rcx
xor ebx, ebx
lea rbp, [0x140081b40]
cmp word [0x140081b40], bx
jne 0x14001a42d
lea rcx, [rsp + 0x40]
call qword [0x140052ac8]
nop
mov dword [rsp + 0x90], 0x208
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x180]
mov rdx, rax
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc100u.dll_CVSListBoxBase::CVSListBoxBase]
lea r11, [rsp + 0x48]
mov qword [rsp + 0x20], r11
mov r9d, 0x20019
xor r8d, r8d
mov rdx, qword [rsp + 0x40]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14001a3d1
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
mov eax, CDataExchange::CDataExchange
jmp 0x14001a432
lea rax, [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbp
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
mov r9d, 0xffff
lea r8, str.LocalRootFolder
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.SHLWAPI.dll_SHRegGetValueW]
mov r11d, CDataSourceControl::CDataSourceControl
test eax, eax
cmovne ebx, r11d
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
mov qword [rdi], rbp
mov eax, ebx
mov rbx, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret
Function at 0x14001b260
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x250
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x14007e020]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov rsi, rcx
xor edx, edx
lea r8d, [rdx + 1]
add rcx, 0x5b0
call qword [sym.imp.mfc100u.dll_CMFCRibbonMiniToolBar::GetMessageMap]
mov rdx, rax
lea rcx, str.CAdRefManList
call qword [sym.imp.mfc100u.dll_AfxCheckError]
mov rcx, rax
call fcn.140003c40
mov edi, eax
xor r8d, r8d
xor edx, edx
lea rcx, [rsi + 0x5b0]
call qword [sym.imp.mfc100u.dll_CMFCRibbonMiniToolBar::GetMessageMap]
mov rdx, rax
lea rcx, str.CAdRefManTree
call qword [sym.imp.mfc100u.dll_AfxCheckError]
mov rcx, rax
call fcn.140006e80
and edi, eax
cmp dword [0x140080778], 0
setne dl
mov rcx, rsi
call fcn.14001c900
cmp dword [0x14008076c], 0
setne al
mov byte [rsi + CDocObjectServer::XOleDocumentView::ApplyViewState], al
lea rdx, [rsp + 0x20]
lea rcx, [0x140080760]
call fcn.14001a820
nop
lea rcx, [rsi + 0x888]
mov rdx, rax
call qword [sym.imp.mfc100u.dll_CView::CView]
nop
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
lea rdx, [rsp + 0x30]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea rcx, [rsi + 0x890]
lea rdx, [rsp + 0x30]
call qword [sym.imp.mfc100u.dll_CVSListBoxBase::CVSListBoxBase]
cmp dword [0x140080770], 0
setne al
mov byte [rsi + 0x426], al
cmp dword [0x14008077c], 0
setne al
mov byte [rsi + CDocObjectServer::XOleDocumentView::ApplyViewState], al
mov dword [rsi + COleDocument::ApplyPrintDevice], 1
mov rcx, rsi
call fcn.14001b3d0
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.14001b520
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.14001b5d0
mov eax, edi
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140049a80
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x14001b690
Capabilities:
Query or enumerate registry value

Disassembly:
push rdi
sub rsp, 0x60
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], rsi
lea rbx, [rcx + 0x5b0]
mov rax, qword [rbx]
mov dword [rsp + 0x28], 0xe900
mov dword [rsp + 0x20], 0x50000000
mov r9d, 2
lea r8d, [r9 - 1]
mov rdx, rcx
mov rcx, rbx
call qword [rax + COleControlLock::COleControlLock]
test eax, eax
je 0x14001b866
lea rcx, [rsp + 0x48]
call fcn.140003410
nop
mov rcx, qword [rsp + 0x48]
call fcn.140019600
mov rdi, rax
test rax, rax
je 0x14001b74f
mov dword [rsp + 0x70], 4
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0xffff
lea r8, str.RefTreeWidth
xor edx, edx
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_SHRegGetValueW]
test eax, eax
jne 0x14001b74f
mov esi, dword [rsp + 0x88]
jmp 0x14001b75d
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, 0xfa
mov rcx, qword [rsp + 0x48]
call fcn.140019600
mov rdi, rax
test rax, rax
je 0x14001b7bd
mov dword [rsp + 0x70], 4
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0xffff
lea r8, str.RefListWidth
xor edx, edx
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_SHRegGetValueW]
test eax, eax
jne 0x14001b7bd
mov edi, dword [rsp + 0x88]
jmp 0x14001b7cb
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, 0x64
mov dword [rsp + 0x70], esi
mov dword [rsp + 0x74], 0xfa
mov r10, qword [rbx]
xor esi, esi
mov qword [rsp + 0x28], rsi
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, str.CAdRefManTree
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [r10 + 0x2e0]
test eax, eax
je 0x14001b84e
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x74], 0x64
mov r10, qword [rbx]
mov qword [rsp + 0x28], rsi
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x20], rcx
lea r9, str.CAdRefManList
xor edx, edx
lea r8d, [rsi + 1]
mov rcx, rbx
call qword [r10 + 0x2e0]
test eax, eax
je 0x14001b84e
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
lea eax, [rsi + 1]
jmp 0x14001b868
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0xd0]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
xor eax, eax
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret
Function at 0x14001e520
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push rbp
push rsi
push rdi
mov eax, COleControlSite::XOleIPSite::GetDC
call fcn.14004a280
sub rsp, rax
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x12c0], rbx
mov rax, qword [0x14007e020]
xor rax, rsp
mov qword [rsp + CRecordset::GetDataBuffer], rax
mov rsi, r9
mov rbp, rdx
mov rdi, rcx
xor r9d, r9d
mov r8, rdx
mov rdx, rcx
lea rcx, [rsp + 0x280]
call fcn.140001ac0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x280]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14001e5fb
nop
cmp word [rsp + 0x5c], 0x2e
je 0x14001e5e0
xor r9d, r9d
lea r8, [rsp + 0x5c]
mov rdx, rdi
lea rcx, [rsp + reloc.mfc100u.dll_ATL::CSimpleStringT_char_1_::CopyChars]
call fcn.140001ac0
lea rdx, [rsp + reloc.mfc100u.dll_ATL::CSimpleStringT_char_1_::CopyChars]
lea rcx, [rsp + 0x20]
call qword [0x140052ad0]
nop
mov r8, rax
mov rdx, qword [rsi + 0x10]
mov rcx, rsi
call qword [sym.imp.mfc100u.dll_RFX_Single_Bulk]
nop
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14001e590
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
xor r9d, r9d
lea r8, [0x140058258]
mov rdx, rdi
lea rcx, [rsp + reloc.mfc100u.dll_ATL::CSimpleStringT_char_1_::CopyChars]
call fcn.140001ac0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + reloc.mfc100u.dll_ATL::CSimpleStringT_char_1_::CopyChars]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14001e689
test byte [rsp + 0x30], 0x10
je 0x14001e66e
cmp word [rsp + 0x5c], 0x2e
je 0x14001e66e
xor r9d, r9d
lea r8, [rsp + 0x5c]
mov rdx, rdi
lea rcx, [rsp + 0x280]
call fcn.140001ac0
mov r9, rsi
mov r8b, 1
mov rdx, rbp
lea rcx, [rsp + 0x280]
call fcn.14001e520
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14001e631
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rsp + 0x1280]
xor rcx, rsp
call fcn.140049a80
mov rbx, qword [rsp + 0x12c0]
add rsp, 0x1290
pop rdi
pop rsi
pop rbp
ret
Function at 0x14002bb50
Capabilities:
Get common file path

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xab0
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + CMFCMenuBar::Create], rbx
mov rax, qword [0x14007e020]
xor rax, rsp
mov qword [rsp + 0xaa0], rax
mov rdi, rdx
mov rsi, rcx
mov qword [rsp + 0x28], rcx
lea rax, vtable.AdRmFileBackup.0
mov qword [rcx], rax
add rcx, 8
call qword [sym.imp.acdb19.dll_public:_void___cdecl_AdXREFString::constructor_void____ptr64]
nop
lea rcx, [rsi + 0x68]
call qword [sym.imp.acdb19.dll_public:_void___cdecl_AdXREFString::constructor_void____ptr64]
nop
mov byte [rsi + 0xc8], 0
mov rdx, rdi
lea rcx, [rsi + 8]
call qword [sym.imp.acdb19.dll_public:_class_AdXREFString_const____ptr64___cdecl_AdXREFString::operator_class_AdXREFString_const____ptr64____ptr64]
lea rcx, [rsi + 8]
call qword [sym.imp.acdb19.dll_public:_wchar_t_const____ptr64___cdecl_AdXREFString::operator_wchar_t_const____ptr64_void_const___ptr64]
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.140001ac0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x90]
call fcn.1400036d0
nop
lea rdx, [0x140053c78]
lea rcx, [rsi + 0x68]
call qword [sym.imp.acdb19.dll_public:_class_AdXREFString_const____ptr64___cdecl_AdXREFString::operator_wchar_t_const____ptr64____ptr64]
lea rcx, [rsp + 0x30]
call qword [sym.imp.acdb19.dll_public:_wchar_t_const____ptr64___cdecl_AdXREFString::operator_wchar_t_const____ptr64_void_const___ptr64]
mov rcx, rax
lea r9, [rsp + 0x890]
xor r8d, r8d
lea rdx, [0x14005c1f8]
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
je 0x14002bc3e
lea rdx, [rsp + 0x890]
lea rcx, [rsi + 0x68]
call qword [sym.imp.acdb19.dll_public:_class_AdXREFString_const____ptr64___cdecl_AdXREFString::operator_wchar_t_const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.acdb19.dll_public_virtual:_void___cdecl_AdXREFString::destructor_void____ptr64]
nop
mov rax, rsi
mov rcx, qword [rsp + 0xaa0]
xor rcx, rsp
call fcn.140049a80
mov rbx, qword [rsp + 0xae0]
add rsp, 0xab0
pop rdi
pop rsi
pop rbp
ret
Function at 0x14002bcd0
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file

Disassembly:
push rbp
push rsi
push r12
lea rbp, [rsp - 0x3730]
mov eax, 0x3830
call fcn.14004a280
sub rsp, rax
mov rax, qword [0x14007e020]
xor rax, rsp
mov qword [rbp + 0x3720], rax
mov rsi, rcx
add rcx, 8
mov qword [rsp + 0x3858], rbx
call qword [sym.imp.acdb19.dll_public:_wchar_t_const____ptr64___cdecl_AdXREFString::operator_wchar_t_const____ptr64_void_const___ptr64]
lea rcx, [rsp + 0x20]
xor r9d, r9d
mov rdx, rax
xor r8d, r8d
call fcn.140001ac0
lea rdx, [rbp + 0x2f20]
lea rcx, [rsp + 0x20]
call fcn.140001e50
xor ebx, ebx
cmp word [rsp + 0x20], bx
jne 0x14002bd46
mov word [rbp + 0x1720], bx
jmp 0x14002bdb1
lea rdx, [rbp + reloc.mfc100u.dll_CUserToolsManager::MoveToolDown]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x3860], rdi
call fcn.140001e50
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + reloc.mfc100u.dll_CUserToolsManager::MoveToolDown]
repne scasw ax, word [rdi]
mov rdi, qword [rsp + 0x3860]
not rcx
lea rdx, [rsp + rcx*2 + 0x1e]
cmp word [rdx], 0x5c
jne 0x14002bd8f
add rdx, 2
cmp word [rdx], 0x5c
je 0x14002bd85
lea rcx, [rbp + 0x1720]
sub rcx, rdx
nop dword [rax]
movzx eax, word [rdx]
add rdx, 2
mov word [rcx + rdx - 2], ax
test ax, ax
jne 0x14002bda0
lea rcx, [rbp + 0x1720]
mov edx, 0x2e
call qword [sym.imp.MSVCR100.dll_wcsrchr]
test rax, rax
je 0x14002bdd0
mov word [rax], bx
nop dword [rax + rax]
movzx eax, word [rbp + rbx + 0x1720]
add rbx, 2
mov word [rbp + rbx + 0x271e], ax
test ax, ax
jne 0x14002bdd0
lea r9, [0x14005c200]
lea r8, [rbp + 0x2720]
lea rdx, [rbp + 0x2f20]
lea rcx, [rsp + 0x20]
call fcn.140001ac0
cmp word [rsp + 0x20], 0
mov rbx, qword [rsp + 0x3858]
je 0x14002be3e
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002be3e
lea rcx, [rsp + 0x20]
call qword [sym.imp.MSVCR100.dll__wremove]
test eax, eax
je 0x14002be3e
xor al, al
jmp 0x14002beef
lea rcx, [rsi + 8]
call qword [sym.imp.acdb19.dll_public:_wchar_t_const____ptr64___cdecl_AdXREFString::operator_wchar_t_const____ptr64_void_const___ptr64]
lea rcx, [rbp + 0x720]
xor r9d, r9d
mov rdx, rax
xor r8d, r8d
call fcn.140001ac0
cmp word [rbp + 0x720], 0
je 0x14002be8f
lea rcx, [rbp + 0x720]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002be8f
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x720]
call qword [sym.imp.MSVCR100.dll__wrename]
test eax, eax
jne 0x14002be37
lea rcx, [rsi + 0x68]
call qword [sym.imp.acdb19.dll_public:_wchar_t_const____ptr64___cdecl_AdXREFString::operator_wchar_t_const____ptr64_void_const___ptr64]
lea rcx, [rbp + 0xf20]
xor r9d, r9d
mov rdx, rax
xor r8d, r8d
call fcn.140001ac0
cmp word [rbp + 0xf20], 0
je 0x14002bee6
lea rcx, [rbp + 0xf20]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002bee6
lea rdx, [rbp + 0x720]
lea rcx, [rbp + 0xf20]
call qword [sym.imp.MSVCR100.dll__wrename]
test eax, eax
jne 0x14002be37
mov byte [rsi + 0xc8], 1
mov al, 1
mov rcx, qword [rbp + 0x3720]
xor rcx, rsp
call fcn.140049a80
add rsp, 0x3830
pop r12
pop rsi
pop rbp
ret