Function at 0x14000dc80
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x730
mov rax, qword [0x14003f2f0]
xor rax, rsp
mov qword [rsp + 0x720], rax
mov ecx, 0x200
call fcn.140015468
xor edx, edx
lea rcx, [rsp + 0x284]
lea r8d, [rdx + 0x7c]
mov rbx, rax
mov dword [rsp + 0x280], 0
call fcn.1400166f0
xor edx, edx
mov r8d, 0x200
mov rcx, rbx
call fcn.1400166f0
lea r8, [0x140041f00]
lea rdx, str._s.cva
lea rcx, [rsp + 0x510]
call fcn.140018028
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x510]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14000e03c
lea r9, [rsp + 0x5c]
lea r8, [0x140041f00]
lea rdx, [0x14002d6c8]
lea rcx, [rsp + 0x300]
call fcn.140018028
lea r9, [rsp + 0x300]
lea rdx, [rsp + 0x280]
lea rcx, [0x140032a08]
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 0x14000dd70
lea rcx, [rbx - 2]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x14000dd85
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 0x14000dda0
lea rax, [rsp + 0x300]
lea r9, [rsp + 0x280]
lea r8, [0x14002ce18]
mov qword [rsp + 0x28], rax
lea rdx, [0x140032a48]
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 0x14000ddf0
mov rax, qword [str._HP_Part_Number]
mov qword [rcx], rax
mov rax, qword [0x140032a68]
mov qword [rcx + 8], rax
mov rax, qword [0x140032a70]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140032a78]
mov qword [rcx + 0x18], rax
movzx eax, word [0x140032a80]
mov word [rcx + 0x20], ax
lea rcx, [rbx - 2]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x14000de35
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 0x14000de50
lea rax, [rsp + 0x300]
lea r9, [rsp + 0x280]
lea r8, [0x14002ce18]
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 0x14000dea0
mov rax, qword [str.__HP_Version]
mov qword [rcx], rax
mov rax, qword [0x140032aa0]
mov qword [rcx + 8], rax
mov rax, qword [0x140032aa8]
mov qword [rcx + 0x10], rax
mov eax, dword [0x140032ab0]
mov dword [rcx + 0x18], eax
lea rcx, [rbx - 2]
nop dword [rax + rax]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x14000dee0
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 0x14000df00
lea rax, [rsp + 0x300]
lea r9, [rsp + 0x280]
lea r8, [0x14002ce18]
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 0x14000df50
mov eax, dword [0x14002d35c]
lea rdx, [rbx - 2]
mov dword [rcx], eax
nop word [rax + rax]
cmp word [rdx + 2], 0
lea rdx, [rdx + 2]
jne 0x14000df70
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 0x14000df90
lea rax, [rsp + 0x300]
lea r9, [rsp + 0x280]
lea r8, [0x14002ce18]
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 0x14000dfe0
mov eax, dword [0x14002d35c]
mov dword [rcx], eax
lea rcx, [rbx - 2]
nop word [rax + rax]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x14000e000
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 0x14000e020
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rax, rbx
mov rcx, qword [rsp + 0x720]
xor rcx, rsp
call fcn.1400161c0
mov rbx, qword [rsp + 0x740]
add rsp, 0x730
pop rdi
ret