Function at 0x180001b50
Capabilities:
Get file version info
Read .ini file

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
lea rbp, [rax - 0x5d8]
sub rsp, 0x6c0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1800180a0]
xor rax, rsp
mov qword [rbp + 0x5b0], rax
mov rsi, rcx
xor r12d, r12d
mov word [rbp - 0x80], r12w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0x7e]
call fcn.1800083f0
mov r8d, 0x104
lea rdx, [rbp - 0x80]
mov rcx, qword [0x18001a620]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rbp - 0x80]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov word [rbp + 0x190], r12w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x192]
call fcn.1800083f0
mov edx, 0x104
lea rcx, [rbp + 0x190]
lea rax, [rbp + 0x190]
cmp dword [rsi + 0x730], r12d
je 0x180001c34
lea r8, [0x180013e48]
sub r8, rax
nop word [rax + rax]
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x180001c64
movzx eax, word [r8 + rcx]
test ax, ax
je 0x180001c64
mov word [rcx], ax
add rcx, 2
dec rdx
jne 0x180001c10
jmp 0x180001c69
lea r8, [0x180013e60]
sub r8, rax
nop
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x180001c64
movzx eax, word [r8 + rcx]
test ax, ax
je 0x180001c64
mov word [rcx], ax
add rcx, 2
dec rdx
jne 0x180001c40
jmp 0x180001c69
test rdx, rdx
jne 0x180001c6d
sub rcx, 2
mov word [rcx], r12w
mov word [rbp + 0x3a0], r12w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x3a2]
call fcn.1800083f0
lea r11, [rsi + 0x528]
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x3a0]
lea r8, [rbp + 0x190]
lea rdx, str.shell_ver
lea rcx, str.titan
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rbp + 0x3a0]
lea rcx, [rbp - 0x80]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x30], r12d
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov edi, eax
test eax, eax
je 0x180001df2
mov ecx, edi
call fcn.1800059dc
mov rbx, rax
mov qword [rsp + 0x38], rax
mov r9, rax
mov r8d, edi
mov edx, dword [rsp + 0x30]
lea rcx, [rbp - 0x80]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
jne 0x180001d34
test rbx, rbx
je 0x180001df2
mov rcx, rbx
jmp 0x180001ded
mov dword [rsp + 0x34], r12d
mov qword [rsp + 0x48], r12
lea r9, [rsp + 0x34]
lea r8, [rsp + 0x48]
lea rdx, str.VarFileInfoTranslation
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x180001d23
mov rax, qword [rsp + 0x48]
movzx ecx, word [rax]
shl ecx, 0x10
movzx eax, word [rax + 2]
or ecx, eax
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.180001930
mov r11, rax
cmp qword [rax + 0x18], 8
jb 0x180001d8d
mov r11, qword [rax]
mov edx, 0x40
lea rcx, [rsi + 0x18]
sub r11, rcx
nop dword [rax]
lea rax, [rdx + 0x7fffffbe]
test rax, rax
je 0x180001dc4
movzx eax, word [r11 + rcx]
test ax, ax
je 0x180001dc4
mov word [rcx], ax
add rcx, 2
dec rdx
jne 0x180001da0
jmp 0x180001dc9
test rdx, rdx
jne 0x180001dcd
sub rcx, 2
mov word [rcx], r12w
cmp qword [rsp + 0x70], 8
jb 0x180001de3
mov rcx, qword [rsp + 0x58]
call fcn.180005a20
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180001df2
call fcn.180006374
lea rax, [rsi + 0x18]
mov rcx, qword [rbp + 0x5b0]
xor rcx, rsp
call fcn.180005a00
lea r11, [rsp + 0x6c0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rbp
ret