joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140017660
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rsi
push rdi
sub rsp, 0x470
mov rax, qword [0x1400c2038]
xor rax, rsp
mov qword [rsp + 0x460], rax
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rdx
repne scasb al, byte [rdi]
mov rsi, rdx
not rcx
dec rcx
cmp rcx, 0x40
ja 0x1400177ef
mov r8, rdx
mov qword [r11 + 8], rbx
lea rcx, [r11 - 0x58]
lea edx, [rax + 0x3f]
mov qword [r11 + 0x18], rbp
mov byte [r11 - 0x58], al
mov qword [r11 - 0x57], rax
mov qword [r11 - 0x4f], rax
mov qword [r11 - 0x47], rax
mov qword [r11 - 0x3f], rax
mov qword [r11 - 0x37], rax
mov qword [r11 - 0x2f], rax
mov qword [r11 - 0x27], rax
mov dword [r11 - 0x1f], eax
mov word [r11 - 0x1b], ax
mov byte [r11 - 0x19], al
call qword [sym.imp.MSVCR90.dll_strcpy_s]
xor edx, edx
xor ebx, ebx
mov qword [rsp + reloc.mfc90u.dll_AfxCriticalNewHandler], rdx
lea r9, [rsp + 0x20]
mov ebp, ebx
mov r8d, ebx
mov r10d, 8
mov edx, r8d
mov ecx, ebx
mov rdi, r10
shl edx, 0x18
nop dword [rax + rax]
mov eax, ecx
xor eax, edx
bt eax, 0x1f
jae 0x140017724
add ecx, ecx
xor ecx, 0x4c10db7
jmp 0x140017726
add ecx, ecx
add edx, edx
sub rdi, 1
jne 0x140017710
inc r8d
mov dword [r9], ecx
add r9, 4
cmp r8d, 0x100
jb 0x140017700
lea r9, [rsp + 0x422]
nop dword [rax]
movzx ecx, byte [r9 - 2]
mov eax, ebp
shl ebp, 8
shr rax, 0x18
add r9, 4
xor rcx, rax
mov edx, dword [rsp + rcx*4 + 0x20]
movzx ecx, byte [r9 - 5]
xor edx, ebp
mov eax, edx
shl edx, 8
shr rax, 0x18
xor rcx, rax
movzx eax, byte [r9 - 4]
mov edi, dword [rsp + rcx*4 + 0x20]
xor edi, edx
mov ecx, edi
shl edi, 8
shr rcx, 0x18
xor rcx, rax
mov edx, dword [rsp + rcx*4 + 0x20]
movzx ecx, byte [r9 - 3]
xor edx, edi
mov eax, edx
shl edx, 8
shr rax, 0x18
xor rcx, rax
mov ebp, dword [rsp + rcx*4 + 0x20]
xor ebp, edx
sub r10, 1
jne 0x140017750
lea edx, [r10 + 0x3f]
lea rcx, [rsp + 0x420]
mov r8, rsi
call qword [sym.imp.MSVCR90.dll_strcpy_s]
lea rcx, [rsp + reloc.mfc90u.dll_AfxCriticalNewHandler]
call fcn.1400040c0
cmp eax, ebp
mov rbp, qword [rsp + 0x490]
sete bl
mov eax, ebx
mov rbx, qword [rsp + 0x480]
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.140077470
mov rsi, qword [rsp + 0x498]
add rsp, 0x470
pop rdi
ret
Function at 0x1400178d0
Capabilities:
Get system information on windows

Disassembly:
push rbx
sub rsp, 0x180
mov rax, qword [0x1400c2038]
xor rax, rsp
mov qword [rsp + 0x170], rax
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8d, ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >
mov ebx, 2
call sub.MSVCR90.dll_memset
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x50], ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x140017930
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x50], ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x14001798b
cmp dword [rsp + 0x60], ebx
jne 0x14001798b
mov eax, dword [rsp + 0x54]
sub eax, 5
je 0x14001794d
cmp eax, 1
jne 0x14001798b
cmp byte [rsp + reloc.mfc90u.dll_CDataBoundProperty::CDataBoundProperty], al
jmp 0x140017984
mov eax, dword [rsp + 0x58]
sub eax, ebx
jne 0x14001793f
lea r8d, [rax + 0x2c]
lea rcx, [rsp + 0x24]
xor edx, edx
mov dword [rsp + 0x20], eax
call sub.MSVCR90.dll_memset
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp byte [rsp + reloc.mfc90u.dll_CDataBoundProperty::CDataBoundProperty], 1
jne 0x140017986
cmp word [rsp + 0x20], 9
je 0x14001798b
mov ebx, 3
mov eax, ebx
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.140077470
add rsp, 0x180
pop rbx
ret
Function at 0x14001c8a0
Capabilities:
Read file via mapping

Disassembly:
sub rsp, 0x68
xor ecx, ecx
mov rax, rdx
mov qword [0x1400cfc38], rcx
mov qword [0x1400cfc40], rcx
mov qword [0x1400cfc48], rcx
test rdx, rdx
je 0x14001c9af
mov qword [rsp + 0x60], rbx
lea rbx, str.GlobalD076113D_C36D_4e65_AA41_ABA14FB3A77F
test rbx, rbx
je 0x14001c9aa
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], ecx
lea r8d, [rcx + 3]
mov rcx, rax
xor r9d, r9d
mov edx, 0xc0000000
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x1400cfc40], rax
test rax, rax
je 0x14001c9aa
cmp rax, 0xffffffffffffffff
je 0x14001c9aa
xor eax, eax
lea r8, [rsp + 0x48]
lea rcx, str.D:_D_OICI_GA___BG__D_OICI_GA___AN__A_OICI_GRGWGX___AU__A_OICI_GA___BA_
lea edx, [rax + 1]
xor r9d, r9d
mov dword [rsp + 0x40], 0x18
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
call sub.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorW
mov rcx, qword [0x1400cfc40]
xor r9d, r9d
lea rdx, [rsp + 0x40]
lea r8d, [r9 + 4]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x100000
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [0x1400cfc48], rax
test rax, rax
je 0x14001c9aa
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 6]
mov qword [rsp + 0x20], 0x100000
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rcx, qword [0x1400cfc38]
test rax, rax
cmovne rcx, rax
mov qword [0x1400cfc38], rcx
mov rbx, qword [rsp + 0x60]
lea rax, [0x1400cfc38]
add rsp, 0x68
ret

Function at 0x14001cf10
Capabilities:
Get file system object information

Disassembly:
push rdi
sub rsp, 0x310
mov rax, qword [0x1400c2038]
xor rax, rsp
mov qword [rsp + reloc.mfc90u.dll_CScrollView::CScrollView], rax
mov rdi, rcx
test rcx, rcx
jne 0x14001cf3a
xor eax, eax
jmp 0x14001cfe6
mov qword [rsp + 0x328], rbx
lea rcx, [rsp + 0x48]
xor ebx, ebx
xor edx, edx
mov r8d, 0x2b0
mov qword [rsp + 0x40], rbx
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x40]
mov r9d, 0x2b8
mov edx, 0x80
mov rcx, rdi
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x20], 0x4011
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
lea r8, [rsp + 0x38]
lea rdx, [0x14008aba8]
lea ecx, [rbx + 2]
call qword [sym.imp.SHELL32.dll_SHGetImageList]
test eax, eax
js 0x14001cfdb
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14001cfdb
mov edx, dword [rsp + 0x48]
mov qword [rsp + 0x30], rbx
mov rax, qword [rcx]
lea r9, [rsp + 0x30]
lea r8d, [rbx + 1]
call qword [rax + 0x50]
test eax, eax
js 0x14001cfdb
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14001cfdb
mov edx, 0x94
lea r8d, [rdx + 0x1e]
call fcn.14001cd50
mov rbx, rax
mov rax, rbx
mov rbx, qword [rsp + 0x328]
mov rcx, qword [rsp + reloc.mfc90u.dll_CScrollView::CScrollView]
xor rcx, rsp
call fcn.140077470
add rsp, 0x310
pop rdi
ret
Function at 0x14001d000
Capabilities:
Create process on windows
Create process suspended
Resume thread
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0xe0
mov rdi, rcx
lea rcx, str.Kernel32.dll
xor esi, esi
mov qword [rsp + 0x100], rsi
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
jne 0x14001d036
mov rbx, rsi
jmp 0x14001d058
lea rdx, str.Wow64DisableWow64FsRedirection
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x14001d058
lea rcx, [rsp + 0x100]
call rbx
xor edx, edx
lea rcx, [rsp + 0x70]
lea r8d, [rdx + 0x68]
call sub.MSVCR90.dll_memset
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x50]
xor r8d, r8d
mov rdx, rdi
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x70]
xor ecx, ecx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x8000004
mov dword [rsp + 0x70], 0x68
mov dword [rsp + 0xf8], esi
mov dword [rsp + 0x20], esi
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x14001d125
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, qword [rsp + 0x50]
mov edx, 0x1388
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14001d0fe
mov rcx, qword [rsp + 0x50]
xor edx, edx
mov dword [rsp + 0xf8], 0x2db
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [rsp + 0xf8]
test eax, eax
jne 0x14001d132
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0xf8]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov eax, dword [rsp + 0xf8]
jmp 0x14001d132
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0xf8], eax
test rbx, rbx
je 0x14001d142
xor ecx, ecx
call rbx
mov eax, dword [rsp + 0xf8]
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x140026930
Capabilities:
Read .ini file

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov rsi, rcx
mov ecx, 0x20000
call sub.mfc90u.dll_new__
mov rbp, rax
lea rcx, [rsp + 0x60]
call qword [0x14008a728]
nop
lea rcx, [rsi + 0x330]
xor edx, edx
call qword [sym.imp.mfc90u.dll_CStdioFile::Flush]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x10000
mov r9, rbp
xor r8d, r8d
xor edx, edx
lea rcx, [0x140092f90]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x140026a2b
mov rbx, rbp
test rbp, rbp
je 0x140026a21
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jle 0x140026a21
mov rdx, rbx
lea rcx, [rsp + 0x60]
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
lea rcx, [rsp + 0x60]
call qword [sym.imp.mfc90u.dll_COleServerDoc::XOleObject::InitFromData]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x68]
call qword [0x14008a730]
mov rdx, rax
mov rcx, rsi
call fcn.1400292e0
mov rdi, rax
test rax, rax
je 0x140026a0b
xor edx, edx
lea rcx, [rsp + 0x60]
call qword [sym.imp.mfc90u.dll_CStdioFile::Flush]
mov rdx, rax
lea rcx, [rsi + 0x2d0]
mov r8, rdi
call fcn.14002f530
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cdqe
lea rbx, [rbx + rax*2]
test rbx, rbx
jne 0x1400269a3
mov dword [rsi + 0x23c], 1
mov rcx, rbp
call sub.mfc90u.dll_delete__
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.mfc90u.dll_CView::CView]
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
Function at 0x140029470
Capabilities:
Read .ini file

Disassembly:
push rbx
sub rsp, 0x2c0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov rax, qword [0x1400c2038]
xor rax, rsp
mov qword [rsp + 0x2b0], rax
mov rbx, rdx
mov r8d, ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >
lea rdx, [rsp + 0x50]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
movsxd rcx, eax
xor eax, eax
mov word [rsp + rcx*2 + 0x50], ax
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
mov edx, 0x5c
mov rcx, rbx
call qword [sym.imp.mfc90u.dll_CMDIFrameWnd::PreTranslateMessage]
mov r8d, eax
lea rdx, [rsp + 0x38]
mov rcx, rbx
call qword [sym.imp.mfc90u.dll_CDockState::GetVersion]
nop
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_CView::CView]
lea rdx, [0x14008ac98]
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
nop
lea r8, [0x14008d318]
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14000cfd0
nop
lea r8, [0x140093060]
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.14000cfd0
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc90u.dll_CView::CView]
xor edx, edx
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90u.dll_CStdioFile::Flush]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >
lea r9, [rsp + 0x50]
lea r8, [0x14008ac98]
lea rdx, str.path
lea rcx, [0x140092eb8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x1400295f6
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jle 0x1400295f6
lea r8, [0x14008d318]
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.14000cfd0
nop
lea r8, [rsp + 0x50]
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000cfd0
nop
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_CView::CView]
lea r8, [0x14008d318]
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14000cfd0
nop
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90u.dll_CView::CView]
mov rcx, qword [rsp + 0x2b0]
xor rcx, rsp
call fcn.140077470
add rsp, 0x2c0
pop rbx
ret
Function at 0x1400326f0
Capabilities:
Create thread
Resume thread

Disassembly:
push rbx
sub rsp, 0x60
cmp dword [rcx + 0xe4], 0
mov rbx, rcx
je 0x14003275e
cmp dword [rcx + 0xd8], 0
je 0x140032766
mov rax, qword [rcx + 0x168]
sub rax, qword [rcx + 0x160]
sar rax, 5
cmp rax, 1
jbe 0x140032766
lea rax, [rsp + 0x70]
mov r9, rcx
lea r8, [0x140032cc0]
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 4
call qword [sym.imp.MSVCR90.dll__beginthreadex]
mov qword [rbx + 0x118], rax
test rax, rax
je 0x14003275e
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
xor eax, eax
add rsp, 0x60
pop rbx
ret
mov rcx, qword [rcx + 0x128]
test rcx, rcx
je 0x14003275e
mov rax, qword [rcx]
lea rdx, [rsp + 0x78]
call qword [rax + 0x30]
mov rcx, qword [rbx + 0x128]
lea rdx, [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov edx, dword [rsp + 0x70]
mov rcx, qword [rbx + 0x128]
mov r10, qword [rcx]
mov eax, edx
xor r8d, r8d
mov qword [rsp + 0x50], r8
neg eax
xor r9d, r9d
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x40], eax
mov eax, dword [rbx + 0xc0]
mov dword [rsp + 0x38], edx
mov rdx, qword [rbx + 0xe8]
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x28], eax
mov eax, dword [rbx + 0xbc]
mov dword [rsp + 0x20], eax
call qword [r10 + 0x40]
test eax, eax
jne 0x14003275e
mov rcx, qword [rbx + 0x40]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 1
add rsp, 0x60
pop rbx
ret

Function at 0x140032810
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbx
push rdi
push r13
sub rsp, 0x20
mov r13, rcx
call sub.mfc90u.dll_AfxFailMaxChars
lea r8, [0x14008e2c0]
mov rcx, qword [rax + 0x18]
mov edx, 0xb0
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rdi, rax
test rax, rax
je 0x14003290f
call sub.mfc90u.dll_AfxFailMaxChars
mov rdx, rdi
mov rcx, qword [rax + 0x18]
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rbx, rax
test rax, rax
je 0x14003290f
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x50], r12
call sub.mfc90u.dll_AfxFailMaxChars
mov rcx, qword [rax + 0x18]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, 0x22
mov edx, eax
mov ebp, eax
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rdi, rax
test rax, rax
je 0x1400328ef
mov rcx, rax
mov qword [rsp + 0x48], rsi
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rcx, rbx
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
test rax, rax
je 0x140032902
test rsi, rsi
je 0x140032902
mov r8, rbp
mov rdx, rax
mov rcx, rsi
call sub.MSVCR90.dll_memcpy
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov r8d, ebp
mov rdx, rdi
mov rcx, r13
call fcn.140032080
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, ebx
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov r12, qword [rsp + 0x50]
add rsp, 0x20
pop r13
pop rdi
pop rbx
ret
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
jmp 0x1400328ea
xor eax, eax
add rsp, 0x20
pop r13
pop rdi
pop rbx
ret
Function at 0x140034cc0
Capabilities:
Get file system object information

Disassembly:
push rbx
sub rsp, reloc.mfc90u.dll_CScrollView::CScrollView
mov rax, qword [0x1400c2038]
xor rax, rsp
mov qword [rsp + 0x2f0], rax
mov rbx, rcx
test rcx, rcx
jne 0x140034ce8
or eax, 0xffffffff
jmp 0x140034d28
lea rcx, [rsp + 0x38]
xor edx, edx
mov r8d, 0x2b0
mov qword [rsp + 0x30], 0
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x30]
mov r9d, 0x2b8
mov edx, 0x80
mov rcx, rbx
mov dword [rsp + 0x20], 0x4011
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x2f0]
xor rcx, rsp
call fcn.140077470
add rsp, reloc.mfc90u.dll_CScrollView::CScrollView
pop rbx
ret

Function at 0x140034e60
Capabilities:
Get disk size

Disassembly:
push rbx
sub rsp, 0x50
mov rax, qword [0x1400c2038]
xor rax, rsp
mov qword [rsp + 0x40], rax
xor ebx, ebx
movabs rax, 0x5c003a0020
lea r9, [rsp + 0x20]
mov qword [rsp + 0x38], rax
xor eax, eax
mov word [rsp + 0x38], cx
lea rcx, [rsp + 0x38]
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0x24], eax
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov rcx, qword [rsp + 0x20]
test eax, eax
cmove rcx, rbx
mov rax, rcx
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140077470
add rsp, 0x50
pop rbx
ret

Function at 0x140034ee0
Capabilities:
Get file system object information

Disassembly:
sub rsp, 0x58
xor eax, eax
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], 0x4001
xor edx, edx
mov r9d, 0x2b8
lea rcx, [0x14008f608]
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov qword [rsp + 0x38], rax
jmp 0x140034f16
add rsp, 0x58
ret
Function at 0x1400357d0
Capabilities:
Get geographical location
Identify system language via api

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0xa0
mov rax, qword [0x1400c2038]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rdi, rdx
mov rbx, rcx
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov r9d, 0x55
lea r8, [rsp + 0x30]
lea edx, [r9 + 5]
movzx ecx, ax
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
jne 0x140035831
lea rdx, [0x140094b34]
mov rcx, rbx
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const____ptr64____ptr64]
jmp 0x14003584b
lea rdx, [rsp + 0x30]
mov rcx, rdi
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const____ptr64____ptr64]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64]
mov rax, rbx
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140077470
mov rbx, qword [rsp + 0xc0]
add rsp, 0xa0
pop rdi
ret

Function at 0x140035870
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x360
mov rax, qword [0x1400c2038]
xor rax, rsp
mov qword [rsp + 0x350], rax
mov rbx, rcx
xor esi, esi
lea rcx, [rsp + 0x142]
xor edx, edx
mov r8d, 0x208
mov dword [rsp + 0x30], esi
mov word [rsp + 0x140], si
call sub.MSVCR90.dll_memset
lea rdx, [rsp + 0x140]
mov r8d, new[]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [rsi + 0x5c]
lea rcx, [rsp + 0x140]
call qword [sym.imp.MSVCR90.dll_wcsrchr]
test rax, rax
je 0x1400358ea
mov word [rax + 2], si
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x140]
repne scasw ax, word [rdi]
mov rax, qword [0x140093060]
lea rcx, [rsp + 0x42]
mov qword [rdi - 2], rax
mov rax, qword [0x140093068]
xor edx, edx
mov qword [rdi + 6], rax
mov rax, qword [0x140093070]
mov r8d, 0xfe
mov qword [rdi + 0xe], rax
mov word [rsp + 0x40], si
call sub.MSVCR90.dll_memset
lea rdx, [rsp + 0x140]
lea r9, [rsp + 0x40]
lea r8, [0x14008ac98]
mov qword [rsp + 0x28], rdx
lea rdx, str.buildTime
lea rcx, [0x140092eb8]
mov dword [rsp + 0x20], 0x7f
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
mov rax, rbx
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.140077470
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x140035a30
Capabilities:
Read .ini file

Disassembly:
push rbx
push rdi
sub rsp, reloc.mfc90u.dll_AfxCriticalNewHandler
mov rax, qword [0x1400c2038]
xor rax, rsp
mov qword [rsp + AfxAbort], rax
mov rbx, rcx
mov rdi, rdx
xor eax, eax
lea rcx, [rsp + 0x32]
xor edx, edx
mov r8d, 0x3e6
mov word [rsp + 0x30], ax
call sub.MSVCR90.dll_memset
lea rdx, [0x14008ac98]
mov rcx, rbx
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
mov rax, qword [0x1400ce800]
cmp dword [rax - 0x10], 0
jne 0x140035a94
lea rcx, [0x1400ce800]
call fcn.1400351c0
lea rcx, [0x1400ce800]
xor edx, edx
call qword [sym.imp.mfc90u.dll_CStdioFile::Flush]
lea r9, [rsp + 0x30]
lea r8, [0x14008ac98]
mov qword [rsp + 0x28], rax
lea rcx, [0x14008f490]
mov rdx, rdi
mov dword [rsp + 0x20], 0x1f4
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x140035b3c
mov edi, 0x20
mov qword [rsp + 0x460], rbp
mov qword [rsp + 0x430], rsi
lea esi, [rdi - 0x13]
lea ebp, [rdi - 0x16]
lea rax, [rsp + 0x30]
lea rdx, [0x140094b68]
mov rcx, rax
call qword [sym.imp.MSVCR90.dll_wcsstr]
test rax, rax
je 0x140035b1e
mov word [rax], di
mov word [rax + 2], di
mov word [rax + 4], si
add rax, 6
add rax, 2
mov word [rax - 2], bp
jne 0x140035af0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
mov rsi, qword [rsp + 0x430]
mov rbp, qword [rsp + 0x460]
lea r8, [0x140094b4c]
lea rdx, [0x140094b50]
mov rcx, rbx
call qword [sym.imp.mfc90u.dll_CMDIFrameWnd::PreCreateWindow]
lea r8, [0x140094b58]
lea rdx, [0x140094b5c]
mov rcx, rbx
call qword [sym.imp.mfc90u.dll_CMDIFrameWnd::PreCreateWindow]
mov rcx, qword [rsp + 0x420]
xor rcx, rsp
call fcn.140077470
add rsp, reloc.mfc90u.dll_AfxCriticalNewHandler
pop rdi
pop rbx
ret