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

Disassembly:
push rbx
push rbp
push rsi
push rdi
mov eax, 0x1508
call fcn.1400a28a0
sub rsp, rax
mov rax, qword [0x1400e71f0]
xor rax, rsp
mov qword [rsp + 0x14f0], rax
mov rbp, rcx
lea rcx, [rsp + 0xed2]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0xed0], 0
call fcn.140080d50
mov rax, qword [str.___t]
lea r11, [rsp + 0x48]
mov qword [r11], rax
movzx eax, word [0x1400a40b0]
lea rcx, [rsp + 0xcc2]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0xcc0], 0
mov word [r11 + 8], ax
call fcn.140080d50
lea rcx, [rsp + 0x62]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x60], 0
call fcn.140080d50
lea rcx, [rsp + 0x8a2]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x8a0], 0
call fcn.140080d50
lea rcx, [rsp + 0x10e2]
xor edx, edx
mov r8d, 0x40e
mov word [rsp + 0x10e0], 0
call fcn.140080d50
lea rcx, [rsp + 0xab2]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0xab0], 0
call fcn.140080d50
lea rcx, [rsp + 0x482]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x480], 0
call fcn.140080d50
lea rcx, [rsp + 0x692]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x690], 0
call fcn.140080d50
lea rcx, [rsp + 0x272]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x270], 0
call fcn.140080d50
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0xed0]
xor ebx, ebx
mov qword [rsp + 0x40], rbx
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov qword [rsp + 0x30], rbx
lea r8d, [rbx + 3]
lea rcx, [rbp + 0x20]
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
mov rdi, rax
je 0x1400026d0
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, 0xffffffff
mov ebx, eax
jne 0x140001f00
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400026d0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [rbx + 1]
mov ecx, 0x40
add rdx, rdx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
lea r9, [rbp + 0x20]
lea rcx, [0x1400a4088]
mov rdx, rax
mov r8d, ebx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
test eax, eax
mov esi, eax
je 0x1400026c7
lea ecx, [rbx - 2]
cmp eax, ecx
je 0x1400026c7
lea rcx, [rsp + 0xcc0]
mov edx, 0x104
mov qword [rsp + 0x1500], r15
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea rcx, [rsp + 0x60]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test esi, esi
mov r15, rdi
je 0x1400026a8
mov qword [rsp + 0x1538], r12
mov qword [rsp + 0x1540], r13
mov qword [rsp + 0x1548], r14
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [rsp + 0x10e0]
mov rdx, rdi
lea ebx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
sub esi, ebx
cmp word [rsp + 0x10e0], 0x3b
lea rdi, [rdi + rbx*2]
je 0x140002688
mov r12d, 1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x10e0]
mov word [rsp + 0xab0], 0
mov word [rsp + 0x480], 0
mov word [rsp + 0x690], 0
mov word [rsp + 0x270], 0
mov r13d, r12d
mov r14d, r12d
call fcn.140081d80
lea rcx, [rsp + 0xab0]
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.140081d80
lea rdx, [0x1400a4084]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.140081d80
lea rdx, [0x1400a4084]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.140081d80
lea rdx, [0x1400a4084]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.140081d80
lea rdx, str.x64_2
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1400020dd
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x480]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, str.SpoolDriversx642
lea rcx, [rsp + 0x480]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x14000220d
lea rdx, str.x64_3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x14000211e
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x480]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, str.SpoolDriversx643
lea rcx, [rsp + 0x480]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x14000220d
lea rdx, [0x1400a4060]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x14000215f
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x480]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, str.SpoolDriversx64
lea rcx, [rsp + 0x480]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x14000220d
lea rdx, str.SYS32
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x1400021fa
lea rdx, [0x1400a4020]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x1400021fa
lea rdx, [0x1400a4018]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1400021c9
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x480]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [0x1400a4000]
lea rcx, [rsp + 0x480]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x14000220d
lea rdx, [0x1400a3ff8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1400021f5
lea rdx, [rsp + 0xcc0]
lea rcx, [rsp + 0x480]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x14000220d
xor r12d, r12d
jmp 0x14000220d
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x480]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.140081d80
lea rdx, str.x64_2
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x140002262
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x690]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, str.SpoolDriversx642
lea rcx, [rsp + 0x690]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x140002392
lea rdx, str.x64_3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1400022a3
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x690]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, str.SpoolDriversx643
lea rcx, [rsp + 0x690]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x140002392
lea rdx, [0x1400a4060]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1400022e4
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x690]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, str.SpoolDriversx64
lea rcx, [rsp + 0x690]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x140002392
lea rdx, str.SYS32
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x14000237f
lea rdx, [0x1400a4020]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x14000237f
lea rdx, [0x1400a4018]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x14000234e
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x690]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [0x1400a4000]
lea rcx, [rsp + 0x690]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x140002392
lea rdx, [0x1400a3ff8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x14000237a
lea rdx, [rsp + 0xcc0]
lea rcx, [rsp + 0x690]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x140002392
xor r13d, r13d
jmp 0x140002392
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x690]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.140081d80
lea rdx, str.x64_2
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1400023e7
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, str.SpoolDriversx642
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x140002517
lea rdx, str.x64_3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x140002428
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, str.SpoolDriversx643
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x140002517
lea rdx, [0x1400a4060]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x140002469
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, str.SpoolDriversx64
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x140002517
lea rdx, str.SYS32
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140002504
lea rdx, [0x1400a4020]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140002504
lea rdx, [0x1400a4018]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1400024d3
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [0x1400a4000]
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x140002517
lea rdx, [0x1400a3ff8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1400024ff
lea rdx, [rsp + 0xcc0]
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x140002517
xor r14d, r14d
jmp 0x140002517
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rdx, qword [0x1400e9428]
lea rcx, [rsp + 0xab0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14000253c
cmp dword [rbp + 0x250], eax
je 0x140002688
cmp dword [0x1400e9420], 0xd2
je 0x14000256e
cmp dword [rbp + 0x254], 0
je 0x14000256e
mov rdx, qword [0x1400e9390]
lea rcx, [rsp + 0xab0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x140002688
test r12d, r12d
je 0x1400025cc
lea rdx, [rsp + 0x480]
lea rcx, [rsp + 0x8a0]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [0x1400a3ff4]
lea rcx, [rsp + 0x8a0]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rsp + 0xab0]
lea rcx, [rsp + 0x8a0]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rcx, [rbp + 0x228]
lea r8, [rsp + 0x8a0]
mov rdx, qword [rcx + 0x10]
call fcn.140068584
test r13d, r13d
je 0x14000262a
lea rdx, [rsp + 0x690]
lea rcx, [rsp + 0x8a0]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [0x1400a3ff4]
lea rcx, [rsp + 0x8a0]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rsp + 0xab0]
lea rcx, [rsp + 0x8a0]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rcx, [rbp + 0x228]
lea r8, [rsp + 0x8a0]
mov rdx, qword [rcx + 0x10]
call fcn.140068584
test r14d, r14d
je 0x140002688
lea rdx, [rsp + 0x270]
lea rcx, [rsp + 0x8a0]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [0x1400a3ff4]
lea rcx, [rsp + 0x8a0]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rsp + 0xab0]
lea rcx, [rsp + 0x8a0]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rcx, [rbp + 0x228]
lea r8, [rsp + 0x8a0]
mov rdx, qword [rcx + 0x10]
call fcn.140068584
test esi, esi
jne 0x140001f97
mov r14, qword [rsp + 0x1548]
mov r13, qword [rsp + 0x1540]
mov r12, qword [rsp + 0x1538]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov r15, qword [rsp + 0x1500]
mov dword [rbp + 4], 1
mov eax, 1
jmp 0x1400026d2
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
mov rcx, qword [rsp + 0x14f0]
xor rcx, rsp
call fcn.140081050
add rsp, 0x1508
pop rdi
pop rsi
pop rbp
pop rbx
ret