Function at 0x14000a6e0
Capabilities:
Read .ini file

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x520
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x570], rbx
mov rax, qword [0x14006ee08]
xor rax, rsp
mov qword [rsp + 0x510], rax
mov rdi, rdx
movsxd rbx, ecx
lea rdx, [0x140054974]
mov rcx, rdi
call fcn.1400388c8
test rax, rax
je 0x14000a793
mov rbp, rbx
imul rbp, rbp, 0x2c0
lea r12, [0x140000000]
lea r13, [r12 + rbp + 0x70900]
mov rdx, rdi
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rcx, eax
cmp byte [rcx + rdi - 1], 0x5c
je 0x14000a77a
lea rcx, [rcx + rdi - 1]
nop dword [rax]
dec eax
dec rcx
cmp byte [rcx], 0x5c
jne 0x14000a770
movsxd rdx, eax
add rdx, rdi
lea rcx, [r12 + rbp + 0x70a05]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x14000a8d8
lea rdx, [0x1400536b8]
mov rcx, rdi
call fcn.1400388c8
test rax, rax
je 0x14000a847
mov r8d, 0x104
lea rdx, [rsp + 0x2f0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov rdx, rdi
lea rcx, [rsp + 0x2f3]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rbp, rbx
imul rbp, rbp, 0x2c0
lea r12, [0x140000000]
lea r13, [r12 + rbp + 0x70900]
lea rdx, [rsp + 0x2f0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rcx, [rsp + 0x2f0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rcx, eax
cmp byte [rsp + rcx + 0x2ef], 0x5c
je 0x14000a82a
lea rcx, [rsp + rcx + 0x2ef]
nop
dec eax
dec rcx
cmp byte [rcx], 0x5c
jne 0x14000a820
cdqe
lea rdx, [rsp + rax + 0x2f0]
lea rcx, [r12 + rbp + 0x70a05]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x14000a8d8
mov r8d, 0x104
lea rdx, [rsp + 0x400]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rcx, [rsp + 0x400]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rcx, eax
cmp byte [rsp + rcx + 0x3ff], 0x5c
je 0x14000a88a
lea rcx, [rsp + rcx + 0x3ff]
dec eax
dec rcx
cmp byte [rcx], 0x5c
jne 0x14000a880
cdqe
lea rcx, [rsp + rax + 0x400]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rbp, rbx
imul rbp, rbp, 0x2c0
lea r12, [0x140000000]
lea r13, [r12 + rbp + 0x70900]
lea rdx, [rsp + 0x400]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rcx, [r12 + rbp + 0x70a05]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
call fcn.1400197c4
mov rdx, rax
xor r15d, r15d
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x14000a8fb
mov ecx, 0x80004005
call fcn.140001010
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x1e0]
lea r8, str.None
lea rdx, str.Signature
lea rcx, str.Version
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea rcx, [rsp + 0x1e0]
call fcn.140039e30
mov rcx, rax
call fcn.140039dbc
mov rdx, rax
lea rcx, [rsp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
xor eax, eax
or rsi, 0xffffffffffffffff
mov rcx, rsi
lea rdi, [rsp + 0x1e0]
repne scasb al, byte [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14000a9e0
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14000aa6a
cmp dword [rdx + 0x10], eax
jge 0x14000a9b3
cmp dword [rbx - 0xc], eax
jge 0x14000a9a8
mov ecx, 0x80070057
call fcn.140001010
int3
mov dword [rbx - 0x10], r15d
mov byte [rbx], al
jmp 0x14000aa6a
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000a9c9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
jmp 0x14000aa6a
mov r13d, dword [rbx - 0x10]
lea r14, [rsp + 0x1e0]
sub r14, rbx
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14000aa11
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.1400013b0
mov rbx, qword [rsp + 0x30]
cmp r14, r13
ja 0x14000aa2e
movsxd r13, edi
lea r8, [r14 + rbx]
movsxd rdx, dword [rbx - 0xc]
mov r9, r13
mov rcx, rbx
call fcn.140037828
jmp 0x14000aa48
movsxd r13, edi
movsxd rdx, dword [rbx - 0xc]
mov r9, r13
lea r8, [rsp + 0x1e0]
mov rcx, rbx
call fcn.140037128
test edi, edi
js 0x14000ace2
cmp edi, dword [rbx - 0xc]
jg 0x14000ace2
mov dword [rbx - 0x10], edi
mov byte [r13 + rbx], 0
lea r13, [r12 + rbp + 0x70900]
cmp dword [rbx - 0x10], 0
jle 0x14000aafa
mov edx, 0x3b
mov rcx, rbx
call fcn.140038a1c
test rax, rax
je 0x14000aafa
sub eax, ebx
js 0x14000aafa
cmp dword [rbx - 0x10], 0
jg 0x14000aa94
mov eax, esi
jmp 0x14000aaac
mov edx, 0x3b
mov rcx, rbx
call fcn.140038a1c
test rax, rax
jne 0x14000aaaa
mov eax, esi
jmp 0x14000aaac
sub eax, ebx
mov r8d, eax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x30]
call fcn.140005b50
mov rdx, qword [rax]
lea rcx, [rsp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000aaf5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
mov rbx, qword [rsp + 0x30]
jmp 0x14000aafa
mov rbx, qword [rsp + 0x30]
mov eax, dword [0x1400708e4]
cmp eax, 0xa
je 0x14000ab56
cmp eax, 9
je 0x14000ab56
cmp eax, 8
je 0x14000ab56
cmp eax, 0xb
je 0x14000ab56
cmp eax, 0xc
je 0x14000ab56
cmp eax, 0xd
je 0x14000ab56
lea rdx, [0x140054de4]
lea rcx, [rsp + 0x1e0]
call fcn.1400388c8
test rax, rax
je 0x14000ab8e
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14000ab4f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor eax, eax
jmp 0x14000aced
lea rdx, [0x140054de0]
lea rcx, [rsp + 0x1e0]
call fcn.1400388c8
test rax, rax
je 0x14000ab8e
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14000ab87
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor eax, eax
jmp 0x14000aced
lea rdx, [rsp + 0x60]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp rax, 0xffffffffffffffff
jne 0x14000abc1
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14000abba
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor eax, eax
jmp 0x14000aced
lea r9, [rsp + 0x3c]
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, r13
call qword [sym.imp.SETUPAPI.dll_SetupOpenInfFileA]
mov qword [r12 + rbp + 0x70b10], rax
cmp rax, 0xffffffffffffffff
jne 0x14000ac02
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14000abfb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor eax, eax
jmp 0x14000aced
lea rdi, [r12 + rbp + 0x70b18]
mov qword [rsp + 0x20], r15
mov r9d, 0x40
lea r8, [rsp + 0x1a0]
mov rdx, rdi
mov rcx, r13
call qword [sym.imp.SETUPAPI.dll_SetupDiGetINFClassA]
test eax, eax
jne 0x14000ac4c
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14000ac45
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor eax, eax
jmp 0x14000aced
lea rcx, [r12 + rbp + 0x70ba0]
lea rdx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea r12, [r12 + 0x5d430]
mov rax, qword [rdi]
cmp rax, qword [r12]
jne 0x14000ac7e
mov rax, qword [rdi + 8]
cmp rax, qword [r12 + 8]
je 0x14000ac86
sbb eax, eax
sbb eax, 0xffffffff
mov r15d, eax
test r15d, r15d
jne 0x14000aca5
lea r9, [rsp + 0x38]
lea r8d, [r15 + 1]
mov rdx, rdi
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.SETUPAPI.dll_SetupDiClassGuidsFromNameA]
cmp qword [0x1400708f0], 0
jne 0x14000acc3
xor r8d, r8d
lea rdx, [0x1400708f0]
mov rcx, rdi
call qword [sym.imp.SETUPAPI.dll_SetupDiLoadClassIcon]
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14000acdb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
mov eax, 1
jmp 0x14000aced
mov ecx, 0x80070057
call fcn.140001010
nop
mov rcx, qword [rsp + 0x510]
xor rcx, rsp
call fcn.1400383f0
mov rbx, qword [rsp + 0x570]
add rsp, 0x520
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret