Function at 0x14000e950
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x730
mov rax, qword [0x1400623d0]
xor rax, rsp
mov qword [rsp + 0x720], rax
mov ecx, 0x200
call fcn.140017d00
xor edx, edx
lea rcx, [rsp + 0x284]
lea r8d, [rdx + 0x7c]
mov rbx, rax
mov dword [rsp + 0x280], 0
call fcn.14001a650
xor edx, edx
mov r8d, 0x200
mov rcx, rbx
call fcn.14001a650
lea r8, [0x140065180]
lea rdx, str._s.cva
lea rcx, [rsp + 0x510]
call fcn.14001c9d4
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x510]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14000ed0c
lea r9, [rsp + 0x5c]
lea r8, [0x140065180]
lea rdx, [0x140047fb8]
lea rcx, [rsp + 0x300]
call fcn.14001c9d4
lea r9, [rsp + 0x300]
lea rdx, [rsp + 0x280]
lea rcx, [0x14004dba8]
mov r8d, 0x80
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
lea rcx, str.Software_Title
mov rdx, rbx
sub rdx, rcx
nop word [rax + rax]
movzx eax, word [rcx]
lea rcx, [rcx + 2]
mov word [rdx + rcx - 2], ax
test ax, ax
jne 0x14000ea40
lea rcx, [rbx - 2]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x14000ea55
lea r8, [rsp + 0x286]
xor edx, edx
nop word [rax + rax]
movzx eax, word [r8 + rdx*2]
lea rdx, [rdx + 1]
mov word [rcx + rdx*2 - 2], ax
test ax, ax
jne 0x14000ea70
lea rax, [rsp + 0x300]
lea r9, [rsp + 0x280]
lea r8, [0x1400476d0]
mov qword [rsp + 0x28], rax
lea rdx, [0x14004dbe8]
lea rcx, str.General
mov dword [rsp + 0x20], 0x80
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rbx - 2]
nop
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x14000eac0
mov rax, qword [str._HP_Part_Number]
mov qword [rcx], rax
mov rax, qword [0x14004dc08]
mov qword [rcx + 8], rax
mov rax, qword [0x14004dc10]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14004dc18]
mov qword [rcx + 0x18], rax
movzx eax, word [0x14004dc20]
mov word [rcx + 0x20], ax
lea rcx, [rbx - 2]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x14000eb05
lea r8, [rsp + 0x280]
xor edx, edx
nop word [rax + rax]
movzx eax, word [r8 + rdx*2]
lea rdx, [rdx + 1]
mov word [rcx + rdx*2 - 2], ax
test ax, ax
jne 0x14000eb20
lea rax, [rsp + 0x300]
lea r9, [rsp + 0x280]
lea r8, [0x1400476d0]
mov qword [rsp + 0x28], rax
lea rdx, str.Version
lea rcx, str.General
mov dword [rsp + 0x20], 0x80
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rbx - 2]
nop
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x14000eb70
mov rax, qword [str.__HP_Version]
mov qword [rcx], rax
mov rax, qword [0x14004dc40]
mov qword [rcx + 8], rax
mov rax, qword [0x14004dc48]
mov qword [rcx + 0x10], rax
mov eax, dword [0x14004dc50]
mov dword [rcx + 0x18], eax
lea rcx, [rbx - 2]
nop dword [rax + rax]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x14000ebb0
lea r8, [rsp + 0x280]
xor edx, edx
nop word [rax + rax]
movzx eax, word [r8 + rdx*2]
lea rdx, [rdx + 1]
mov word [rcx + rdx*2 - 2], ax
test ax, ax
jne 0x14000ebd0
lea rax, [rsp + 0x300]
lea r9, [rsp + 0x280]
lea r8, [0x1400476d0]
mov qword [rsp + 0x28], rax
lea rdx, str.Revision
lea rcx, str.General
mov dword [rsp + 0x20], 0x80
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rbx - 2]
nop
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x14000ec20
mov eax, dword [0x140047c4c]
lea rdx, [rbx - 2]
mov dword [rcx], eax
nop word [rax + rax]
cmp word [rdx + 2], 0
lea rdx, [rdx + 2]
jne 0x14000ec40
lea r10, [rsp + 0x280]
xor r9d, r9d
nop word [rax + rax]
movzx eax, word [r10 + r9*2]
lea r9, [r9 + 1]
mov word [rdx + r9*2 - 2], ax
test ax, ax
jne 0x14000ec60
lea rax, [rsp + 0x300]
lea r9, [rsp + 0x280]
lea r8, [0x1400476d0]
mov qword [rsp + 0x28], rax
lea rdx, str.Pass
lea rcx, str.General
mov dword [rsp + 0x20], 0x80
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rbx - 2]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x14000ecb0
mov eax, dword [0x140047c4c]
mov dword [rcx], eax
lea rcx, [rbx - 2]
nop word [rax + rax]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x14000ecd0
lea r8, [rsp + 0x280]
xor edx, edx
nop word [rax + rax]
movzx eax, word [r8 + rdx*2]
lea rdx, [rdx + 1]
mov word [rcx + rdx*2 - 2], ax
test ax, ax
jne 0x14000ecf0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rax, rbx
mov rcx, qword [rsp + 0x720]
xor rcx, rsp
call fcn.14001a120
mov rbx, qword [rsp + 0x740]
add rsp, 0x730
pop rdi
ret