Function at 0x48f6b0
Capabilities:
Read .ini file

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x50
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x90], rbx
mov rax, qword [0x00535d58]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rbp, rdx
mov rbx, rcx
test rcx, rcx
jne 0x48f6ee
xor eax, eax
jmp 0x48f99d
mov word [rsp + 0x30], 0
xor eax, eax
mov qword [rsp + 0x32], rax
mov qword [rsp + 0x3a], rax
mov word [rsp + 0x42], ax
mov word [rdx], ax
mov word [rdx + 2], ax
or rcx, 0xffffffffffffffff
lea rdi, [0x004f7838]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x004f7838]
lea rcx, [rbp + 8]
call fcn.00409ff0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x004f7838]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x004f7838]
lea rcx, [rbp + 0x10]
call fcn.00409ff0
xor r12d, r12d
mov dword [rbp + 0x18], r12d
mov dx, 0x26
mov rcx, rbx
call fcn.004c88f0
test rax, rax
je 0x48f81b
mov dx, 0x26
mov rcx, rbx
call fcn.004c88f0
mov rdx, rax
sub rdx, rbx
sar rdx, 1
add rdx, 1
cmp rdx, 0x7ffffffe
jbe 0x48f79f
mov word [rsp + 0x30], r12w
jmp 0x48f7e3
mov ecx, 0xa
lea rax, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov r8, rbx
sub r8, rdi
test rdx, rdx
je 0x48f7d6
movzx edi, word [r8 + rax]
test di, di
je 0x48f7d6
mov word [rax], di
add rax, 2
sub rdx, 1
sub rcx, 1
jne 0x48f7b4
jmp 0x48f7db
test rcx, rcx
jne 0x48f7df
sub rax, 2
mov word [rax], r12w
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
cmp rcx, 8
jb 0x48f81b
xor edx, edx
lea r8d, [rax + 0x10]
lea rcx, [rsp + 0x30]
call fcn.004c95c0
mov ecx, eax
shr ecx, 0x10
mov word [rbp], cx
mov word [rbp + 2], ax
mov dx, 0x26
mov rcx, rbx
call fcn.004c88f0
test rax, rax
je 0x48f936
mov dx, 0x5f
mov rcx, rbx
call fcn.004c88f0
test rax, rax
je 0x48f936
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rbx
lea rcx, [rbp + 8]
call fcn.00409ff0
mov dx, 0x5f
mov rcx, rbx
call fcn.004c88f0
mov rdi, rax
mov dx, 0x26
mov rcx, rbx
call fcn.004c88f0
sub rdi, rax
sar rdi, 1
mov dx, 0x26
mov rcx, rbx
call fcn.004c88f0
sub rax, rbx
sar rax, 1
lea r9d, [rdi - 1]
lea r8d, [rax + 1]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 8]
call fcn.00409c20
nop
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.0040a1e0
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x48f8dc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbp + 8]
movsxd rdi, dword [rax - 0x10]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or ecx, eax
jge 0x48f900
mov edx, edi
lea rcx, [rbp + 8]
call fcn.004034e0
lea eax, [rdi + 1]
movsxd rdx, eax
mov rcx, qword [rbp + 8]
call fcn.004c8690
test edi, edi
js 0x48f92b
mov rax, qword [rbp + 8]
cmp edi, dword [rax - 0xc]
jg 0x48f92b
mov dword [rax - 0x10], edi
mov rax, qword [rbp + 8]
mov word [rax + rdi*2], 0
jmp 0x48f936
mov ecx, 0x80070057
call fcn.004034c0
int3
mov dx, 0x5f
mov rcx, rbx
call fcn.004c88f0
test rax, rax
je 0x48f97b
mov dx, 0x5f
mov rcx, rbx
call fcn.004c88f0
mov rdx, rax
add rdx, 2
je 0x48f96f
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r12, [rcx - 1]
mov r8d, r12d
lea rcx, [rbp + 0x10]
call fcn.00409ff0
mov r9, qword [0x0053fc08]
xor r8d, r8d
lea rdx, str.MasterVol
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbp + 0x18], eax
mov eax, 1
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.004c7bc0
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret