Function at 0x48f140
Capabilities:
Read .ini file

Disassembly:
test rdx, rdx
je 0x48f5eb
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0xb0], rbx
mov r12, rdx
mov rbp, rcx
call fcn.0049d8dc
mov rcx, rax
xor esi, esi
mov edx, esi
test rax, rax
setne dl
test edx, edx
jne 0x48f190
mov ecx, 0x80004005
call fcn.004034c0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
call fcn.0049d8dc
mov rdx, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x48f1be
mov ecx, 0x80004005
call fcn.004034c0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov word [rsp + 0x28], 0
mov word [rsp + 0x2a], 0
xor eax, eax
or rbx, 0xffffffffffffffff
mov rcx, rbx
lea rdi, [0x004f7838]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x004f7838]
lea rcx, [rsp + 0x30]
call fcn.00409ff0
xor eax, eax
mov rcx, rbx
lea rdi, [0x004f7838]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x004f7838]
lea rcx, [rsp + 0x38]
call fcn.00409ff0
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x50], rsi
lea rdx, [rsp + 0x28]
mov rcx, r12
call fcn.0048f6b0
test eax, eax
jne 0x48f290
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x48f269
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x48f5d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x48f5d4
movzx eax, word [rsp + 0x2a]
movzx ecx, word [rsp + 0x28]
test cx, cx
jne 0x48f2a4
test ax, ax
je 0x48f2c2
mov rdx, qword [rbp + 8]
cmp cx, word [rdx + 0x15e]
jne 0x48f596
cmp ax, word [rdx + 0x15c]
jne 0x48f596
cmp dword [rbp + 0x10], 0
jle 0x48f333
xor r9d, r9d
mov r8, qword [rsp + 0x30]
lea rdx, str.DefLevel
lea rcx, [0x0053fac0]
call fcn.004a0ffc
test eax, eax
jle 0x48f333
cmp eax, dword [rbp + 0x10]
jg 0x48f333
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x48f30c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x48f5d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x48f5d4
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x28]
mov rcx, rbp
call fcn.0048f9e0
test eax, eax
jne 0x48f390
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x48f369
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x48f5d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x48f5d4
mov r9, qword [0x0053fc08]
mov r8d, ebx
lea rdx, str.Volume
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov r13d, eax
mov r9, qword [0x0053fc08]
mov r8d, ebx
lea rdx, str.Mute
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov r15d, eax
mov r9, qword [0x0053fc08]
mov r8d, ebx
lea rdx, str.Boost
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x48], eax
mov r9, qword [0x0053fc08]
mov r8d, ebx
lea rdx, str.BoostVol
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov r14d, eax
mov rdi, qword [rsp + 0x50]
cmp r13d, 0xffffffff
je 0x48f4d8
cmp dword [rdi + 0x1c], 0
je 0x48f4d8
mov dword [rsp + 0x20], esi
mov rax, qword [rdi]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [rax + 0x28]
test eax, eax
je 0x48f4d8
mov ecx, dword [rsp + 0x20]
mov eax, 4
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.0049044c
mov r12, rax
test rax, rax
jne 0x48f49f
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x48f478
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x48f5d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x48f5d4
mov ecx, esi
mov r8d, dword [rsp + 0x20]
test r8d, r8d
je 0x48f4c4
nop
nop
mov dword [rax], r13d
add ecx, 1
add rax, 4
mov r8d, dword [rsp + 0x20]
cmp ecx, r8d
jb 0x48f4b0
mov rax, qword [rdi]
mov rdx, r12
mov rcx, rdi
call qword [rax + 0x38]
mov rcx, r12
call fcn.00490454
cmp r15d, 0xffffffff
je 0x48f4f6
cmp dword [rdi + 0x14], 0
je 0x48f4f6
mov rax, qword [rdi]
mov edx, esi
cmp r15d, 1
sete dl
mov rcx, rdi
call qword [rax + 0x20]
mov eax, dword [rsp + 0x48]
cmp eax, 0xffffffff
je 0x48f516
cmp dword [rdi + 0x24], 0
je 0x48f516
cmp eax, 1
sete sil
mov edx, esi
mov rcx, rdi
call fcn.00462e00
cmp r14d, 0xffffffff
je 0x48f52f
cmp dword [rdi + 0x2c], 0
je 0x48f52f
cvtsi2ss xmm1, r14d
mov rcx, rdi
call fcn.00463120
mov r9d, dword [rbp + 0x10]
add r9d, 1
mov r8, qword [rsp + 0x30]
lea rdx, str.DefLevel
lea rcx, [0x0053fac0]
call fcn.004a108c
mov dword [rbp + 0x18], 1
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x48f576
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x48f5d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x48f5d4
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x48f5b6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x48f5d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret 0