Function at 0x14007a160
Capabilities:
Read .ini file

Disassembly:
test rdx, rdx
je 0x14007a673
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rsp + 0xd0], rbx
mov r12, rdx
mov rbp, rcx
call fcn.140129a50
mov rcx, rax
xor esi, esi
mov edx, esi
test rax, rax
setne dl
test edx, edx
jne 0x14007a1b3
mov ecx, 0x80004005
call fcn.140002d80
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
call fcn.140129a50
mov rdx, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x14007a1e1
mov ecx, 0x80004005
call fcn.140002d80
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, [0x14017f438]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x14017f438]
lea rcx, [rsp + 0x30]
call fcn.1400032e0
xor eax, eax
mov rcx, rbx
lea rdi, [0x14017f438]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x14017f438]
lea rcx, [rsp + 0x38]
call fcn.1400032e0
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x50], rsi
lea rdx, [rsp + 0x28]
mov rcx, r12
call fcn.14007a740
test eax, eax
jne 0x14007a2b3
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14007a28c
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 0x14007a659
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14007a659
movzx eax, word [rsp + 0x2a]
movzx ecx, word [rsp + 0x28]
test cx, cx
jne 0x14007a2c7
test ax, ax
je 0x14007a2e5
mov rdx, qword [rbp + 8]
cmp cx, word [rdx + 0x432]
jne 0x14007a61b
cmp ax, word [rdx + 0x430]
jne 0x14007a61b
cmp dword [rbp + 0x10], 0
jle 0x14007a356
xor r9d, r9d
mov r8, qword [rsp + 0x30]
lea rdx, str.DefLevel
lea rcx, [0x140206e90]
call fcn.1401380a8
test eax, eax
jle 0x14007a356
cmp eax, dword [rbp + 0x10]
jg 0x14007a356
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007a32f
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 0x14007a659
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14007a659
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x28]
mov rcx, rbp
call fcn.14007aad0
test eax, eax
jne 0x14007a3b3
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007a38c
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 0x14007a659
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14007a659
mov r9, qword [0x140207df8]
mov r8d, ebx
lea rdx, str.Volume
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov r13d, eax
mov r9, qword [0x140207df8]
mov r8d, 0xffffd8f0
lea rdx, str.VolumeDB
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x48], eax
mov r9, qword [0x140207df8]
mov r8d, ebx
lea rdx, str.Mute
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov r15d, eax
mov r9, qword [0x140207df8]
mov r8d, ebx
lea rdx, str.Boost
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x4c], eax
mov r9, qword [0x140207df8]
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 0x14007a518
cmp dword [rdi + 0x1c], 0
je 0x14007a518
mov dword [rsp + 0x20], esi
mov rax, qword [rdi]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [rax + 0x28]
test eax, eax
je 0x14007a518
mov ecx, dword [rsp + 0x20]
mov eax, 4
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1401281ec
mov r12, rax
test rax, rax
jne 0x14007a4e3
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007a4bc
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 0x14007a659
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14007a659
mov ecx, esi
mov r8d, dword [rsp + 0x20]
test r8d, r8d
je 0x14007a504
nop
mov dword [rax], r13d
add ecx, 1
add rax, 4
mov r8d, dword [rsp + 0x20]
cmp ecx, r8d
jb 0x14007a4f0
mov rax, qword [rdi]
mov rdx, r12
mov rcx, rdi
call qword [rax + 0x38]
mov rcx, r12
call fcn.1401281e4
mov eax, dword [rsp + 0x48]
cmp eax, 0xffffd8f0
je 0x14007a55d
cmp dword [rdi + 0x1c], 0
je 0x14007a55d
cvtsi2ss xmm1, eax
divss xmm1, dword [0x14019b13c]
lea rcx, [rsp + 0x60]
mov rax, qword [0x14018ead0]
mov qword [rcx], rax
mov rax, qword [0x14018ead8]
mov qword [rcx + 8], rax
mov rax, qword [rdi]
lea r8, [rsp + 0x60]
mov rcx, rdi
call qword [rax + 0x40]
cmp r15d, 0xffffffff
je 0x14007a57b
cmp dword [rdi + 0x14], 0
je 0x14007a57b
mov rax, qword [rdi]
mov edx, esi
cmp r15d, 1
sete dl
mov rcx, rdi
call qword [rax + 0x20]
mov eax, dword [rsp + 0x4c]
cmp eax, 0xffffffff
je 0x14007a59b
cmp dword [rdi + 0x24], 0
je 0x14007a59b
cmp eax, 1
sete sil
mov edx, esi
mov rcx, rdi
call fcn.1400cc700
cmp r14d, 0xffffffff
je 0x14007a5b4
cmp dword [rdi + 0x2c], 0
je 0x14007a5b4
cvtsi2ss xmm1, r14d
mov rcx, rdi
call fcn.1400cce10
mov r9d, dword [rbp + 0x10]
add r9d, 1
mov r8, qword [rsp + 0x30]
lea rdx, str.DefLevel
lea rcx, [0x140206e90]
call fcn.140138148
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 0x14007a5fb
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 0x14007a659
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14007a659
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14007a63b
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 0x14007a659
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret 0