Function at 0x14000d954
Capabilities:
Read .ini file

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x610
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x14010bfc0]
xor rax, rsp
mov qword [rsp + 0x600], rax
mov rbx, rdx
mov r13, rcx
mov qword [rsp + 0x30], rcx
mov r9, rdx
lea r8, str.IsKnownINF__s__looking_for_known_INFs_n
mov edx, 0x20
lea rcx, [0x14010f570]
call fcn.140001000
xor r15d, r15d
mov r14d, r15d
mov rax, qword [r13 + 0x88]
mov r12d, dword [rax + 0x760]
mov ebp, dword [rax + 0x764]
lea rsi, [0x1400c49dc]
cmp dword [r13 + 0x84], r15d
jne 0x14000dae3
mov qword [rsp + 0x28], rbx
mov edi, 0x400
mov dword [rsp + 0x20], edi
lea r9, [rsp + 0x200]
mov r8, rsi
lea rdx, str.Class
lea rcx, str.Version
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp eax, r15d
je 0x14000dae3
lea rax, [rsp + 0x200]
mov qword [rsp + 0x20], rax
mov r9, rbx
lea r8, str.IsKnownINF__s__has_Class_s_n
lea edx, [r15 + 0x20]
lea rcx, [0x14010f570]
call fcn.140001000
mov rdx, rdi
lea rcx, [rsp + 0x200]
call fcn.1400990e0
cmp ebp, r15d
jbe 0x14000dae3
mov rax, qword [r13 + 0x88]
cmp qword [rax + 0x7f8], 0x10
jb 0x14000da6c
mov rdi, qword [rax + 0x7e0]
jmp 0x14000da73
lea rdi, [rax + 0x7e0]
cmp r12d, ebp
ja 0x14000dae3
mov r13d, 1
mov dword [rsp + 0x20], r12d
mov r9, rdi
lea r8, str._s_02d
mov edx, 0xa
lea rcx, [rsp + 0x1f0]
call fcn.14009841c
mov edx, 0xa
lea rcx, [rsp + 0x1f0]
call fcn.1400990e0
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x200]
call fcn.140099250
cmp rax, r15
cmovne r14d, r13d
add r12d, r13d
cmp r12d, ebp
jbe 0x14000da7e
cmp r14d, r15d
mov r13, qword [rsp + 0x30]
jne 0x14000e04f
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], r15
mov qword [rsp + 0xd0], r15
lea rdx, [rsp + 0xc0]
mov rcx, rbx
call fcn.140071754
cmp eax, r15d
je 0x14000e04f
cmp qword [rsp + 0xd8], r15
jbe 0x14000e04f
lea rcx, [rsp + 0x40]
call fcn.140070dd8
nop
mov edx, dword [rsp + 0xd8]
add edx, 2
mov qword [rsp + 0x88], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x80], r15
mov byte [rsp + 0x70], r15b
xor r8d, r8d
lea rcx, [rsp + 0x68]
call fcn.14000cc20
nop
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140071560
cmp eax, r15d
je 0x14000e017
cmp qword [rsp + 0x80], r15
je 0x14000dbe9
lea rdx, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rdx, qword [rsp + 0x70]
lea r8, [rsp + 0x68]
lea rcx, [rsp + 0x1f0]
call fcn.14000c3fc
mov rsi, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x1f0]
cmp rbx, 0xfffffffffffffffc
je 0x14000dbe9
cmp rbx, r15
jne 0x14000dbca
call fcn.14009861c
cmp qword [rbx + 0x20], 0x10
jb 0x14000dbd7
mov rcx, qword [rbx + 8]
jmp 0x14000dbdb
lea rcx, [rbx + 8]
add rcx, qword [rbx + 0x18]
cmp rsi, rcx
jb 0x14000dbe9
call fcn.14009861c
mov r8d, dword [rsp + 0xd8]
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140070a0c
cmp eax, r15d
je 0x14000e00c
lea rdx, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rdx, qword [rsp + 0x70]
lea r8, [rsp + 0x68]
lea rcx, [rsp + 0x1f0]
call fcn.14000c3fc
mov rdi, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x1f0]
cmp rbx, 0xfffffffffffffffc
je 0x14000dc6c
cmp rbx, r15
jne 0x14000dc4d
call fcn.14009861c
cmp qword [rbx + 0x20], 0x10
jb 0x14000dc5a
mov rcx, qword [rbx + 8]
jmp 0x14000dc5e
lea rcx, [rbx + 8]
add rcx, qword [rbx + 0x18]
cmp rdi, rcx
jb 0x14000dc6c
call fcn.14009861c
lea rcx, [0x1400c6794]
call fcn.1400980d0
mov r9, rax
xor r8d, r8d
lea rdx, [0x1400c6794]
lea rcx, [rsp + 0x68]
call fcn.140005be4
cmp rax, r15
jne 0x14000dde0
lea rdx, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rdx, qword [rsp + 0x70]
lea r8, [rsp + 0x68]
lea rcx, [rsp + 0x1f0]
call fcn.14000c3fc
mov rsi, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x1f0]
cmp rbx, 0xfffffffffffffffc
je 0x14000dcfd
cmp rbx, r15
jne 0x14000dcde
call fcn.14009861c
cmp qword [rbx + 0x20], 0x10
jb 0x14000dceb
mov rcx, qword [rbx + 8]
jmp 0x14000dcef
lea rcx, [rbx + 8]
add rcx, qword [rbx + 0x18]
cmp rsi, rcx
jb 0x14000dcfd
call fcn.14009861c
mov qword [rsp + 0xb0], 7
mov qword [rsp + 0xa8], r15
mov word [rsp + 0x98], r15w
lea rcx, [rsi + 4]
call fcn.140099504
mov r8, rax
lea rdx, [rsi + 4]
lea rcx, [rsp + 0x90]
call fcn.14000ccf0
lea rdx, [rsp + 0x98]
cmp qword [rsp + 0xb0], 8
cmovae rdx, qword [rsp + 0x98]
lea r8, [rsp + 0x90]
lea rcx, [rsp + 0x1f0]
call fcn.14000c46c
mov rbx, qword [rsp + 0x1f0]
cmp rbx, 0xfffffffffffffffc
je 0x14000dda6
cmp rbx, r15
jne 0x14000dd7e
call fcn.14009861c
cmp qword [rbx + 0x20], 8
jb 0x14000dd8b
mov rcx, qword [rbx + 8]
jmp 0x14000dd8f
lea rcx, [rbx + 8]
mov rax, qword [rbx + 0x18]
lea rcx, [rcx + rax*2]
cmp qword [rsp + 0x1f8], rcx
jb 0x14000dda6
call fcn.14009861c
mov rdx, qword [rsp + 0xa8]
inc rdx
mov r9, qword [rsp + 0x1f8]
lea r8, [0x1400c6790]
mov rcx, rdi
call fcn.14009841c
cmp qword [rsp + 0xb0], 8
jb 0x14000dde0
mov rcx, qword [rsp + 0x98]
call fcn.14006127c
mov rcx, rdi
call fcn.1400980d0
mov r12d, 1
lea rdx, [r12 + rax]
mov rcx, rdi
call fcn.1400990e0
cmp qword [r13 + 0x4d8], r15
je 0x14000e00c
mov rax, qword [r13 + 0x4d0]
mov rcx, qword [rax]
mov qword [rsp + 0x1f8], rcx
mov rax, qword [r13 + 0x4a8]
mov qword [rsp + 0x1f0], rax
movaps xmm0, xmmword [rsp + 0x1f0]
movdqa xmmword [rsp + 0x1f0], xmm0
mov rdi, qword [rsp + 0x1f0]
mov rbx, qword [rsp + 0x1f8]
mov rsi, qword [r13 + 0x4d0]
cmp rdi, r15
je 0x14000de5e
cmp rdi, qword [r13 + 0x4a8]
je 0x14000de63
call fcn.14009861c
cmp rbx, rsi
je 0x14000e00c
cmp rdi, r15
jne 0x14000de7b
call fcn.14009861c
mov r11, r15
jmp 0x14000de7e
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x14000de89
call fcn.14009861c
cmp qword [rbx + 0x28], r15
je 0x14000df9f
cmp rdi, r15
jne 0x14000dea2
call fcn.14009861c
mov r11, r15
jmp 0x14000dea5
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x14000deb0
call fcn.14009861c
cmp qword [rbx + 0x30], 0x10
jb 0x14000debd
mov rdx, qword [rbx + 0x18]
jmp 0x14000dec1
lea rdx, [rbx + 0x18]
lea r8, [rbx + 0x10]
lea rcx, [rsp + 0x1f0]
call fcn.14000c3fc
mov rbp, qword [rsp + 0x1f0]
cmp rbp, 0xfffffffffffffffc
je 0x14000df0e
cmp rbp, r15
jne 0x14000deea
call fcn.14009861c
cmp qword [rbp + 0x20], 0x10
jb 0x14000def7
mov rcx, qword [rbp + 8]
jmp 0x14000defb
lea rcx, [rbp + 8]
add rcx, qword [rbp + 0x18]
cmp qword [rsp + 0x1f8], rcx
jb 0x14000df0e
call fcn.14009861c
cmp rdi, r15
jne 0x14000df1d
call fcn.14009861c
mov r11, r15
jmp 0x14000df20
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x14000df2b
call fcn.14009861c
cmp qword [rbx + 0x30], 0x10
jb 0x14000df38
mov rdx, qword [rbx + 0x18]
jmp 0x14000df3c
lea rdx, [rbx + 0x18]
lea r8, [rbx + 0x10]
lea rcx, [rsp + 0x30]
call fcn.14000c3fc
mov rsi, qword [rsp + 0x30]
cmp rsi, 0xfffffffffffffffc
je 0x14000df84
cmp rsi, r15
jne 0x14000df5f
call fcn.14009861c
cmp qword [rsi + 0x20], 0x10
jb 0x14000df6c
mov rcx, qword [rsi + 8]
jmp 0x14000df70
lea rcx, [rsi + 8]
mov rax, qword [rsi + 0x18]
lea rdx, [rcx + rax]
cmp qword [rsp + 0x38], rdx
jb 0x14000df84
call fcn.14009861c
mov rcx, qword [rsp + 0x1f8]
call fcn.1400980d0
lea rdx, [r12 + rax]
mov rcx, qword [rsp + 0x38]
call fcn.1400990e0
cmp rdi, r15
jne 0x14000dfae
call fcn.14009861c
mov r11, r15
jmp 0x14000dfb1
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x14000dfbc
call fcn.14009861c
cmp qword [rbx + 0x30], 0x10
jb 0x14000dfc9
mov rdx, qword [rbx + 0x18]
jmp 0x14000dfcd
lea rdx, [rbx + 0x18]
mov r9, qword [rbx + 0x28]
xor r8d, r8d
lea rcx, [rsp + 0x68]
call fcn.140005be4
cmp rax, 0xffffffffffffffff
jne 0x14000e009
cmp rdi, r15
jne 0x14000dff3
call fcn.14009861c
mov r11, r15
jmp 0x14000dff6
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x14000e001
call fcn.14009861c
mov rbx, qword [rbx]
jmp 0x14000de49
mov r14d, r12d
lea rcx, [rsp + 0x40]
call fcn.140070d50
nop
cmp qword [rsp + 0x88], 0x10
jb 0x14000e02c
mov rcx, qword [rsp + 0x70]
call fcn.14006127c
mov qword [rsp + 0x88], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x80], r15
mov byte [rsp + 0x70], r15b
lea rcx, [rsp + 0x40]
call fcn.140071020
mov eax, r14d
mov rcx, qword [rsp + 0x600]
xor rcx, rsp
call fcn.140061100
mov rbx, qword [rsp + 0x660]
add rsp, 0x610
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret