Function at 0x100454a30
Capabilities:
Read .ini file

Disassembly:
push rbx
push rsi
push rdi
push r14
sub rsp, 0x58
mov rax, qword [0x100499010]
xor rax, rsp
mov qword [rsp + 0x48], rax
cmp dword [0x1004add50], 0
mov r14, r8
mov rsi, rdx
mov rdi, rcx
je 0x100454baa
test rdx, rdx
je 0x100454b11
cmp word [rdx], 0
je 0x100454b11
call fcn.100453ff0
mov rsi, rax
test rax, rax
jne 0x100454a93
mov ebx, 8
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, ebx
jmp 0x100454d3c
xor edx, edx
mov rcx, rsi
call fcn.100454200
mov rdi, rax
test rax, rax
je 0x100454ae9
mov eax, 0xffff
cmp word [rdi], ax
jne 0x100454abd
cmp word [rdi + 2], 0
jne 0x100454abd
mov ebx, 2
jmp 0x100454abf
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
jne 0x100454aee
mov ecx, ebx
mov qword [r14], rsi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, ebx
jmp 0x100454d3c
mov ebx, 8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, ebx
jmp 0x100454d3c
mov eax, 0x80000000
add rax, rdi
cmp rax, 6
jbe 0x100454b96
call fcn.100453f70
mov rbx, rax
mov rcx, 0xffffffffffffffff
nop
cmp word [rax + rcx*2 + 2], 0
lea rcx, [rcx + 1]
jne 0x100454b30
lea rsi, [rcx*2 + 2]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x100454b74
mov ebx, 8
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, ebx
jmp 0x100454d3c
mov r8d, esi
mov rdx, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
xor ecx, ecx
mov qword [r14], rdi
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
mov eax, ebx
jmp 0x100454d3c
xor ecx, ecx
mov qword [r8], rdi
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
mov eax, ebx
jmp 0x100454d3c
cmp dword [0x1004adcdc], 0
je 0x100454d28
mov eax, 0x80000000
add rax, rdi
cmp rax, 6
jbe 0x100454bff
movups xmm0, xmmword [rcx]
movsd xmm1, qword [rcx + 0x10]
movsd qword [rsp + 0x40], xmm1
cmp dword [rsp + 0x40], 0
movups xmmword [rsp + 0x30], xmm0
je 0x100454bf3
mov ebx, 2
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, ebx
jmp 0x100454d3c
mov rbx, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
jmp 0x100454c0a
mov r10, rdi
call fcn.100453f70
mov rbx, rax
mov qword [rsp + 0x98], rbp
mov r9d, 0xf003f
xor r8d, r8d
mov qword [rsp + 0x50], r15
mov rcx, r10
mov qword [rsp + 0x20], r14
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebp, eax
test eax, eax
je 0x100454cff
mov rdx, rsi
mov rcx, rbx
call fcn.100453ff0
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.1004546f0
mov r15, rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15, r15
je 0x100454c87
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ebx, ebx
mov qword [r14], rbx
jmp 0x100454cff
mov rdx, rsi
mov rcx, rdi
call fcn.100453ff0
mov rbx, rax
test rax, rax
je 0x100454d0f
xor edx, edx
mov rcx, rax
call fcn.1004545e0
movsxd r15, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp r15d, 0xffffffff
je 0x100454d0f
lea r10, str.EULA
mov ebx, 8
lea rax, [0x1004adf70]
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea rcx, [r15 + r15*4]
add rcx, rcx
mov dword [rsp + 0x20], ebx
lea r9, [rsp + 0x30]
xor edx, edx
mov rcx, qword [r10 + rcx*8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x100454d0f
mov qword [r14], rdi
mov r8, r14
mov rdx, rsi
mov rcx, rdi
call fcn.100455430
mov ebp, eax
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r15, qword [rsp + 0x50]
mov eax, ebp
mov rbp, qword [rsp + 0x98]
jmp 0x100454d3c
mov r9d, 0xf003f
mov qword [rsp + 0x20], r14
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.100469360
add rsp, 0x58
pop r14
pop rdi
pop rsi
pop rbx
ret