Function at 0x140063530
Capabilities:
Read .ini file

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov r14, r8
mov rsi, rdx
mov rbp, rcx
mov ebx, 0x10
or r13, 0xffffffffffffffff
mov ecx, ebx
call fcn.140096bcc
mov r12, rax
mov r8d, ebx
xor edx, edx
mov rcx, rax
call fcn.1400c6930
test rsi, rsi
je 0x1400635b8
xor eax, eax
mov rcx, r13
mov rdi, rsi
repne scasb al, byte [rdi]
not rcx
cmp rcx, 1
je 0x1400635b8
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], ebx
mov r9, r12
lea r8, [0x14013fbf1]
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, eax
jmp 0x1400635d7
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], ebx
mov r9, r12
lea r8, [0x14013fbf1]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, eax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x1400635eb
lea eax, [rdi + 2]
cmp ebx, eax
jne 0x140063602
lea eax, [rdi + 2]
cmp ebx, eax
ja 0x140063643
mov rcx, r12
call fcn.140096bc4
add ebx, 0x10
jmp 0x140063567
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CCommonFunction::kStdAfxEnumPrivateProfileKeys___return_FALSE__1__LastError_u_n
call fcn.140062f80
mov rdx, rbp
lea rcx, str.__pszIniFileName__s__n
call fcn.140062f80
mov rdx, rsi
lea rcx, str.__pszSection__s__n
call fcn.140062f80
mov rcx, r12
call fcn.140096bc4
xor eax, eax
jmp 0x14006379a
mov rbx, r12
call fcn.140097090
mov rdx, rax
xor r15d, r15d
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x140063669
mov ecx, 0x80004005
call fcn.140001a00
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
nop dword [rax + rax]
movzx esi, byte [rbx]
test sil, sil
je 0x1400636e1
mov ebp, dword [rax - 0x10]
lea edi, [rbp + 1]
mov edx, 1
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, edi
or edx, ecx
jge 0x1400636b0
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.1400015a0
mov rax, qword [rsp + 0x78]
mov byte [rbp + rax], sil
test edi, edi
js 0x140063756
mov rax, qword [rsp + 0x78]
cmp edi, dword [rax - 0xc]
jg 0x140063756
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsp + 0x78]
mov byte [rcx + rax], 0
mov rax, qword [rsp + 0x78]
jmp 0x14006374e
lea rdx, [rsp + 0x78]
mov rcx, r14
call fcn.1400a6b44
cmp byte [rbx + 1], 0
je 0x14006376c
mov rax, qword [rsp + 0x78]
lea rdx, [rax - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14006374e
cmp dword [rdx + 0x10], 0
jge 0x140063725
cmp dword [rax - 0xc], 0
jl 0x140063761
mov dword [rax - 0x10], r15d
mov rax, qword [rsp + 0x78]
mov byte [rax], 0
mov rax, qword [rsp + 0x78]
jmp 0x14006374e
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14006373c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
inc rbx
jmp 0x140063680
mov ecx, 0x80070057
call fcn.140001a00
int3
mov ecx, 0x80070057
call fcn.140001a00
int3
mov rcx, r12
call fcn.140096bc4
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x140063795
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret