Function at 0x140003620
Capabilities:
Get common file path
Read .ini file

Disassembly:
push rbp
sub rsp, 0x230
mov rax, qword [0x14000a110]
xor rax, rsp
mov qword [rsp + 0x220], rax
mov rbp, rcx
lea rdx, [rsp + 0x110]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
jne 0x140002ff9
lea rcx, str.GetCurrentDirectory_failed__n
call qword [sym.imp.MSVCR80.dll_printf]
xor al, al
jmp 0x1400031cb
mov eax, eax
or rcx, 0xffffffffffffffff
mov qword [rsp + 0x248], rbx
mov byte [rsp + rax + 0x110], 0
xor eax, eax
mov qword [rsp + 0x250], rsi
mov qword [rsp + 0x258], rdi
lea rdi, [rsp + 0x110]
lea r9, [rsp + 0x110]
repne scasb al, byte [rdi]
mov rax, qword [str.WinChkdsk.ini]
lea rdx, str.Debug
mov qword [rdi - 1], rax
mov eax, dword [0x140007778]
lea rcx, str.GlobalSettings
mov dword [rdi + 7], eax
movzx eax, word [0x14000777c]
or r8d, 0xffffffff
mov word [rdi + 0xb], ax
movzx eax, byte [0x14000777e]
mov byte [rdi + 0xd], al
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp eax, 1
jne 0x14000307f
mov byte [rbp + 0xd4], al
xor eax, eax
lea rcx, [rsp + 0x91]
xor edx, edx
lea r8d, [rax + 0x7f]
mov byte [rsp + 0x50], 0
mov qword [rsp + 0x51], rax
mov qword [rsp + 0x59], rax
mov qword [rsp + 0x61], rax
mov qword [rsp + 0x69], rax
mov qword [rsp + 0x71], rax
mov qword [rsp + 0x79], rax
mov qword [rsp + 0x81], rax
mov dword [rsp + 0x89], eax
mov word [rsp + 0x8d], ax
mov byte [rsp + 0x8f], al
mov byte [rsp + 0x90], al
call sub.MSVCR80.dll_memset
xor ebx, ebx
nop
lea rdx, str.ErrorID_d
lea rcx, [rsp + 0x50]
mov r8d, ebx
call qword [sym.imp.MSVCR80.dll_sprintf]
lea rdx, [rsp + 0x110]
lea r9, [rsp + 0x90]
mov qword [rsp + 0x28], rdx
lea r8, str.0xFFFFFFFF
lea rcx, str.AddErrorMsgIDs
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x20], 0x80
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea rsi, str.0xFFFFFFFF
lea rdi, [rsp + 0x90]
mov edx, eax
mov ecx, 0xb
mov byte [rsp + rdx + 0x90], 0
repe cmpsb byte [rsi], byte [rdi]
je 0x1400031b1
lea r8, [rsp + 0x30]
lea rdx, str.0x_08x
lea rcx, [rsp + 0x90]
call qword [sym.imp.MSVCR80.dll_sscanf]
cmp eax, 0xffffffff
je 0x1400031e4
mov eax, dword [rsp + 0x30]
lea rcx, [rbp + 0x60]
lea r8, [rsp + 0x34]
lea rdx, [rsp + 0x38]
mov dword [rsp + 0x34], eax
call fcn.140002b10
cmp byte [rax + 0x10], 0
jne 0x1400031a2
lea rdx, [rsp + 0x90]
lea rcx, str.Conflict_MsgID_:__s_n
call qword [sym.imp.MSVCR80.dll_printf]
add ebx, 1
cmp ebx, 0x3e8
jl 0x1400030e0
mov al, 1
mov rsi, qword [rsp + 0x250]
mov rbx, qword [rsp + 0x248]
mov rdi, qword [rsp + 0x258]
mov rcx, qword [rsp + 0x220]
xor rcx, rsp
call fcn.140005a90
add rsp, 0x230
pop rbp
ret
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x50]
lea rcx, str.Invalid_MsgID_string_:__s_s_n
call qword [sym.imp.MSVCR80.dll_printf]
xor al, al
jmp 0x1400031b3
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rsi, rcx
add rcx, 0x78
mov rdi, r9
mov rbx, r8
call qword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_wchar_t_const____ptr64____ptr64]
lea rcx, [rsi + 0xa0]
mov rdx, rbx
call qword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_wchar_t_const____ptr64____ptr64]
lea rdx, str.ulib.dll
mov rcx, rsi
mov qword [rsi + 0xc8], rdi
call fcn.140003930
test al, al
je 0x1400036dc
lea rcx, [rsi + 0x18]
lea rdx, str.ufat.dll
call fcn.140003930
test al, al
je 0x1400036dc
lea rcx, [rsi + 0x30]
lea rdx, str.untfs.dll
call fcn.140003930
test al, al
je 0x1400036dc
lea rcx, [rsi + 0x48]
lea rdx, str.ifsutil.dll
call fcn.140003930
test al, al
je 0x1400036dc
lea r9, [0x140001100]
lea r8, [0x140002050]
lea rdx, [0x1400033c0]
mov rcx, rsi
call fcn.140003af0
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x140002fb0
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
xor al, al
add rsp, 0x20
pop rdi
ret