Function at 0x1400ab420
Capabilities:
Read .ini file

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x360
mov qword [rsp + 0xd0], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov rax, qword [0x14016adb0]
xor rax, rsp
mov qword [rsp + 0x350], rax
mov rbx, rcx
mov qword [rsp + 0x40], rcx
lea rax, str.VolumeCtrl
mov qword [rsp + 0x50], rax
lea rax, str.SpkTest
mov qword [rsp + 0x58], rax
lea rax, str.DeFormat
mov qword [rsp + 0x60], rax
lea rax, str.BassManage
mov qword [rsp + 0x68], rax
lea rax, str.Equalizer
mov qword [rsp + 0x70], rax
lea rax, str.EnvModelling
mov qword [rsp + 0x78], rax
lea rax, str.RoomCorrection
mov qword [r11 - 0x308], rax
lea rax, str.QSound
mov qword [r11 - 0x300], rax
lea rax, [0x140141d50]
mov qword [r11 - 0x2f8], rax
lea rax, str.SPDIFInState
mov qword [r11 - 0x2f0], rax
lea rcx, str.MicArray
mov qword [r11 - 0x2e8], rcx
lea rax, str.KalaOK
mov qword [r11 - 0x2e0], rax
lea rax, str.DTSHeadSpk
mov qword [r11 - 0x2d8], rax
lea rax, str.Dolby
mov qword [r11 - 0x2d0], rax
mov qword [r11 - 0x2c8], rax
mov qword [r11 - 0x2c0], rcx
xor ebp, ebp
mov dword [rsp + 0x100], ebp
mov dword [rsp + 0x104], ebp
mov dword [rsp + 0x110], ebp
mov dword [rsp + 0x114], ebp
mov rax, qword [rbx + 0x110]
lea r12, [0x14012c778]
add rax, 0x27770
je 0x1400ab58a
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [r11 - 0x248]
mov r8, r12
lea rdx, str.Plus
lea rcx, str.ExpertMode
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x130]
mov rax, qword [str.___t_n]
mov qword [rcx], rax
movzx eax, word [0x14013c898]
mov word [rcx + 8], ax
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x140]
call fcn.1400fa5e0
test rax, rax
je 0x1400ab6cf
mov rcx, rax
call fcn.1400fa6e0
test eax, eax
je 0x1400ab5e8
cmp eax, 1
jne 0x1400ab5e8
mov edx, 0x7f89
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rdi, rbp
nop
nop
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x130]
xor ecx, ecx
call fcn.1400fa5e0
test rax, rax
je 0x1400ab6cf
mov rcx, rax
call fcn.1400fa6e0
mov dword [rsp + rdi*4 + 0xf0], eax
add rdi, 1
cmp rdi, 0xa
jl 0x1400ab5f0
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x130]
xor ecx, ecx
call fcn.1400fa5e0
test rax, rax
je 0x1400ab6cf
mov rcx, rax
call fcn.1400fa6e0
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x130]
xor ecx, ecx
call fcn.1400fa5e0
test rax, rax
je 0x1400ab6cf
mov rcx, rax
call fcn.1400fa6e0
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x130]
xor ecx, ecx
call fcn.1400fa5e0
test rax, rax
je 0x1400ab6cf
mov rcx, rax
call fcn.1400fa6e0
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x130]
xor ecx, ecx
call fcn.1400fa5e0
test rax, rax
je 0x1400ab6cf
mov rcx, rax
call fcn.1400fa6e0
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x130]
xor ecx, ecx
call fcn.1400fa5e0
test rax, rax
je 0x1400ab6cf
mov rcx, rax
call fcn.1400fa6e0
mov r13d, ebp
lea r14, [rsp + 0x50]
lea rsi, [rbx + 0x530]
nop
mov eax, r13d
imul rax, rax, 0x268
lea r15, [rax + rbx + 0x2f0]
mov r9, r15
mov r8, qword [r14]
lea rdx, str.ExpertMode
mov rcx, qword [rbx + 0x110]
call fcn.140026f50
call fcn.1400cc6e8
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
je 0x1400ab901
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
test r12, 0xffffffffffff0000
jne 0x1400ab769
movzx edi, r12w
mov ecx, edi
call fcn.1400de4e4
test rax, rax
je 0x1400ab868
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000b050
mov rbx, qword [rsp + 0x30]
jmp 0x1400ab868
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x1400ab7db
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x1400ab868
cmp dword [rdx + 0x10], eax
jge 0x1400ab7ac
cmp dword [rbx - 0xc], eax
jl 0x1400ab8eb
mov dword [rbx - 0x10], ebp
mov word [rbx], ax
jmp 0x1400ab868
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400ab7c4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
jmp 0x1400ab868
mov ebp, dword [rbx - 0x10]
sub r12, rbx
sar r12, 1
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x1400ab806
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.1400025c0
mov rbx, qword [rsp + 0x30]
cmp r12, rbp
ja 0x1400ab82d
movsxd rax, edi
lea rbp, [rax + rax]
lea r8, [rbx + r12*2]
mov r9, rbp
mov rdx, rbp
mov rcx, rbx
call fcn.1400fa430
lea r12, [0x14012c778]
jmp 0x1400ab84c
movsxd rax, edi
lea rbp, [rax + rax]
mov r9, rbp
lea r12, [0x14012c778]
mov r8, r12
mov rdx, rbp
mov rcx, rbx
call fcn.1400f9cc0
test edi, edi
js 0x1400ab8f6
cmp edi, dword [rbx - 0xc]
jg 0x1400ab8f6
mov dword [rbx - 0x10], edi
mov word [rbx + rbp], 0
xor ebp, ebp
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov rcx, r15
call fcn.1400211e0
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400ab895
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
mov eax, dword [rsp + 0x100]
mov dword [rsi - 4], eax
mov eax, dword [rsp + 0x104]
mov dword [rsi], eax
mov dword [rsi + 4], ebp
mov dword [rsi + 8], ebp
mov eax, dword [rsp + 0x110]
mov dword [rsi + 0xc], eax
mov eax, dword [rsp + 0x114]
mov dword [rsi + 0x10], eax
mov dword [rsi + 0x14], 1
mov dword [rsi + 0x14], ebp
add r13d, 1
add r14, 8
add rsi, 0x268
cmp r13d, 0x10
jae 0x1400ab90c
mov rbx, qword [rsp + 0x40]
jmp 0x1400ab6e0
mov ecx, 0x80070057
call fcn.1400025a0
int3
mov ecx, 0x80070057
call fcn.1400025a0
nop
mov ecx, 0x80004005
call fcn.1400025a0
int3
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.1400f9790
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret