Function at 0x140003f90
Capabilities:
Create directory
Read .ini file

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x840
mov rax, qword [0x140173240]
xor rax, rsp
mov qword [rsp + 0x830], rax
lea rax, [rsp + 0x210]
mov rdi, rax
xor eax, eax
mov ecx, 0x618
rep stosb byte [rdi], al
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x617
lea r9, [rsp + 0x210]
xor r8d, r8d
lea rdx, [0x140121db0]
lea rcx, [0x140121dc8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rsp + 0x210]
lea rcx, [0x1405fd9e0]
call qword [sym.imp.mfc140u.dll_CMFCControlRendererInfo::CMFCControlRendererInfo]
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x617
lea r9, [rsp + 0x210]
xor r8d, r8d
lea rdx, [0x140121dd8]
lea rcx, [0x140121df8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rsp + 0x210]
lea rcx, [0x1405fd9f0]
call qword [sym.imp.mfc140u.dll_CMFCControlRendererInfo::CMFCControlRendererInfo]
lea rax, [rsp + 0x210]
mov rdi, rax
xor eax, eax
mov ecx, 0x618
rep stosb byte [rdi], al
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x617
lea r9, [rsp + 0x210]
xor r8d, r8d
lea rdx, [0x140121e08]
lea rcx, [0x140121e18]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rsp + 0x210]
lea rcx, [0x1405fda50]
call qword [sym.imp.mfc140u.dll_CMFCControlRendererInfo::CMFCControlRendererInfo]
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, [0x140121e28]
lea rcx, [0x140121e38]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda00], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
mov r8d, 1
lea rdx, [0x140121e48]
lea rcx, [0x140121e60]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda04], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, [0x140121e70]
lea rcx, [0x140121e88]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fd9e8], eax
cmp dword [0x1405fd9e8], 0xa
jle 0x1400041ac
cmp dword [0x1405fd9e8], reloc.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup
jne 0x140004176
mov dword [0x1405fda00], 1
mov dword [0x1405fda04], 0
jmp 0x1400041ac
cmp dword [0x1405fd9e8], 0x404
jne 0x140004198
mov dword [0x1405fda00], 1
mov dword [0x1405fda04], 1
jmp 0x1400041ac
mov dword [0x1405fda00], 0
mov dword [0x1405fda04], 1
mov edx, dword [0x1405fd9e8]
mov rcx, qword [rsp + 0x850]
call fcn.140005100
mov dword [0x1405fd9e8], eax
mov eax, dword [0x1405fd9e8]
mov dword [0x1401753f8], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, [0x140121e98]
lea rcx, [0x140121eb8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda08], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
mov r8d, 0xffff
lea rdx, [0x140121ec8]
lea rcx, [0x140121ee0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda10], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, [0x140121ef0]
lea rcx, [0x140121f00]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda18], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
mov r8d, 1
lea rdx, [0x140121f10]
lea rcx, [0x140121f28]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda1c], eax
mov dword [rsp + 0x34], 1
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
mov r8d, dword [rsp + 0x34]
lea rdx, [0x140121f38]
lea rcx, [0x140121f50]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda24], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, [0x140121f60]
lea rcx, [0x140121f70]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda28], eax
lea rax, [rsp + 0x210]
mov rdi, rax
xor eax, eax
mov ecx, 0x618
rep stosb byte [rdi], al
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x617
lea r9, [rsp + 0x210]
lea r8, [0x140121f80]
lea rdx, [0x140121f88]
lea rcx, [0x140121fa8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x210]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtof]
cvtsd2ss xmm0, xmm0
movss dword [0x1405fda2c], xmm0
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, [0x140121fb8]
lea rcx, [0x140121fd0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda30], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
mov r8d, 1
lea rdx, [0x140121fe0]
lea rcx, [0x140121ff0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda34], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, [0x140122000]
lea rcx, [0x140122010]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda38], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, str.DELAYTIME
lea rcx, [0x140122038]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda3c], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, [0x140122048]
lea rcx, [0x140122060]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda40], eax
lea rax, [rsp + 0x210]
mov rdi, rax
xor eax, eax
mov ecx, 0x618
rep stosb byte [rdi], al
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x617
lea r9, [rsp + 0x210]
xor r8d, r8d
lea rdx, [0x140122070]
lea rcx, [0x140122088]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rsp + 0x210]
lea rcx, [0x1405fda48]
call qword [sym.imp.mfc140u.dll_CMFCControlRendererInfo::CMFCControlRendererInfo]
nop
lea rcx, [0x1405fda48]
call qword [sym.imp.mfc140u.dll_CMFCPropertyGridProperty::GetHierarchyLevel]
test eax, eax
je 0x1400045ca
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x210]
mov rcx, qword [rsp + 0x38]
call fcn.1400053e0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0xc0]
call fcn.140007d00
nop
movzx eax, word [0x140122098]
mov word [rsp + 0x100], ax
lea rax, [rsp + 0x102]
mov rdi, rax
xor eax, eax
mov ecx, 0x102
rep stosb byte [rdi], al
lea rcx, [rsp + 0xc0]
call fcn.140001ea0
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0xc0]
call fcn.140001eb0
mov rcx, qword [rsp + 0x50]
mov r8d, ecx
mov rdx, rax
lea rcx, [rsp + 0x100]
call fcn.140009920
nop
lea rax, [rsp + 0x90]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x100]
mov rcx, qword [rsp + 0x58]
call fcn.140001fa0
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x68], rax
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0xe0]
call fcn.140007b60
nop
lea rcx, [rsp + 0xe0]
call fcn.140005330
mov rdx, rax
lea rcx, [0x1405fda48]
call qword [sym.imp.mfc140u.dll_CMFCControlRendererInfo::CMFCControlRendererInfo]
nop
lea rcx, [rsp + 0xe0]
call fcn.1400053b0
nop
lea rcx, [rsp + 0xc0]
call fcn.140001f00
nop
cmp dword [0x1405fda10], 0
jne 0x1400045dd
mov dword [0x1405fda10], 0xffff
mov byte [rsp + 0x30], 0
lea rcx, [0x1405fd9e0]
call qword [sym.imp.mfc140u.dll_CMFCPropertyGridProperty::HitTest]
movzx eax, al
test eax, eax
je 0x140004684
mov byte [rsp + 0x30], 1
lea rdx, [0x1405fd9d8]
lea rcx, [rsp + 0xb0]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__2]
nop
lea rdx, str.SnapFile
lea rcx, [rsp + 0xb0]
call qword [sym.imp.mfc140u.dll_COleCurrency::operator_]
nop
lea rcx, [rsp + 0xb0]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x14000465f
lea rcx, [rsp + 0xb0]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rdx, [rsp + 0xb0]
lea rcx, [0x1405fd9e0]
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
nop
lea rcx, [rsp + 0xb0]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
nop
lea rcx, [0x1405fd9f0]
call qword [sym.imp.mfc140u.dll_CMFCPropertyGridProperty::HitTest]
movzx eax, al
test eax, eax
je 0x140004726
mov byte [rsp + 0x30], 1
lea rdx, [0x1405fd9d8]
lea rcx, [rsp + 0xb8]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__2]
nop
lea rdx, str.BackUpFile
lea rcx, [rsp + 0xb8]
call qword [sym.imp.mfc140u.dll_COleCurrency::operator_]
nop
lea rcx, [rsp + 0xb8]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x140004701
lea rcx, [rsp + 0xb8]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rdx, [rsp + 0xb8]
lea rcx, [0x1405fd9f0]
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
nop
lea rcx, [rsp + 0xb8]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
nop
lea rax, [rsp + 0x210]
mov rdi, rax
xor eax, eax
mov ecx, 0x618
rep stosb byte [rdi], al
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x617
lea r9, [rsp + 0x210]
xor r8d, r8d
lea rdx, [0x1401220d0]
lea rcx, [0x1401220e8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rsp + 0x210]
lea rcx, [0x1405fda58]
call qword [sym.imp.mfc140u.dll_CMFCControlRendererInfo::CMFCControlRendererInfo]
lea rax, [rsp + 0x210]
mov rdi, rax
xor eax, eax
mov ecx, 0x618
rep stosb byte [rdi], al
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, [0x1401220f8]
lea rcx, [0x140122118]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda60], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, [0x140122128]
lea rcx, [0x140122148]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda64], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, [0x140122158]
lea rcx, [0x140122178]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda68], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
mov r8d, 0xa
lea rdx, [0x140122188]
lea rcx, [0x1401221a0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda6c], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
mov r8d, 0xa
lea rdx, [0x1401221b0]
lea rcx, [0x1401221c8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda70], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
mov r8d, 0xa
lea rdx, [0x1401221d8]
lea rcx, [0x1401221f8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda74], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
mov r8d, 0xa
lea rdx, [0x140122208]
lea rcx, [0x140122228]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fda78], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, [0x140122238]
lea rcx, [0x140122258]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fdae0], eax
lea rcx, [0x1405fdb28]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r9, rax
xor r8d, r8d
lea rdx, [0x140122268]
lea rcx, [0x140122288]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x1405fdae4], eax
mov rcx, qword [rsp + 0x850]
call fcn.140004980
mov rcx, qword [rsp + 0x850]
call fcn.140001e20
nop
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x140004967
call fcn.14000e480
nop
mov rcx, qword [rsp + 0x830]
xor rcx, rsp
call fcn.140100c60
add rsp, 0x840
pop rdi
ret