Function at 0x140015710
Capabilities:
Read .ini file

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x530
movaps xmmword [r11 - 0x48], xmm6
mov rax, qword [0x14016adb0]
xor rax, rsp
mov qword [rsp + 0x510], rax
xor r14d, r14d
mov r12, rdx
mov rbp, rcx
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
mov ebx, r14d
mov dword [rsp + 0x80], ebx
mov dword [r11 - 0x4e4], r14d
mov dword [r11 - 0x4e0], r14d
mov dword [r11 - 0x4dc], r14d
mov dword [r11 - 0x4d8], r14d
mov dword [r11 - 0x4d4], r14d
mov dword [r11 - 0x4d0], r14d
mov dword [r11 - 0x4cc], r14d
mov dword [r11 - 0x4c8], r14d
mov dword [r11 - 0x4c4], r14d
mov dword [rsp + 0xa8], 8
mov r15d, r14d
mov dword [r11 - 0x4bc], r14d
mov r13d, r14d
lea rdi, [rcx + 0x549b8]
lea esi, [r14 + 0xa]
nop
xor edx, edx
mov rcx, rdi
call fcn.1400dc9c4
add rdi, 0x268
sub rsi, 1
jne 0x1400157c0
cmp dword [rbp + 0x970], ebx
je 0x1400157ee
mov dword [rbp + 0x2749c], 8
jmp 0x1400158b2
cmp dword [rbp + 0x27490], ebx
jne 0x1400158e4
lea rcx, [rbp + 0xf8]
call fcn.140093450
cmp eax, 1
jne 0x1400158e4
mov eax, dword [r12 + 0x5c]
test eax, eax
je 0x1400158e4
cmp dword [r12 + 0x224], ebx
je 0x140015889
cmp dword [r12 + 0x1d8], ebx
je 0x140015889
cmp dword [r12 + 0x10], ebx
je 0x140015889
cmp dword [r12 + 0xa8], ebx
je 0x140015889
cmp dword [r12 + 0xf4], ebx
je 0x140015889
mov dword [rbp + 0x274ac], 1
mov dword [rbp + 0x27498], 4
mov dword [rbp + 0x2749c], 7
mov dword [rbp + 0x274a0], 2
mov dword [rbp + 0x274a4], 5
mov dword [rbp + 0x274b8], 8
jmp 0x1400158e4
test eax, eax
je 0x1400158e4
cmp dword [r12 + 0x224], ebx
je 0x1400158e4
cmp dword [r12 + 0x1d8], ebx
je 0x1400158e4
cmp dword [r12 + 0x10], ebx
je 0x1400158e4
cmp dword [r12 + 0xa8], ebx
je 0x1400158e4
mov dword [rbp + 0x274ac], 5
mov dword [rbp + 0x27498], 2
mov dword [rbp + 0x274b8], 7
mov dword [rbp + 0x274a4], 4
mov dword [rbp + 0x274a0], 1
cmp dword [rbp + 0x266e4], ebx
je 0x140015962
cmp dword [r12 + 0x14], ebx
je 0x140015962
cmp dword [r12 + 0x224], ebx
mov eax, 1
je 0x14001590c
cmp dword [r12 + 0x228], ebx
je 0x140015920
cmp dword [r12 + 0x18c], ebx
je 0x14001592b
cmp dword [r12 + 0x190], ebx
jne 0x14001592b
mov dword [rbp + 0x274b8], eax
mov eax, 4
cmp dword [r12 + 0x140], ebx
je 0x140015948
cmp dword [r12 + 0x144], ebx
jne 0x140015948
mov dword [rbp + 0x274a4], eax
add eax, 3
cmp dword [r12 + 0x1d8], ebx
je 0x140015962
cmp dword [r12 + 0x1dc], ebx
jne 0x140015962
mov dword [rbp + 0x274a0], eax
movsd xmm6, qword [0x140146218]
mov dword [rsp + 0x60], r14d
mov qword [rsp + 0xc0], r14
lea rcx, [0x1401c05e0]
nop
imul r14, r14, 0x4c
cmp dword [r12 + r14 + 0x10], 0
je 0x140016154
cmp dword [rbp + 0x970], 0
mov edi, 1
jne 0x1400159a7
cmp dword [rbp + 0x266e4], 0
je 0x1400159bf
cmp dword [r12 + 0x14], 0
je 0x1400159bf
cmp dword [r12 + r14 + 0x14], 0
mov esi, 0
cmovne edi, esi
jmp 0x1400159c1
xor esi, esi
cmp dword [r12 + r14 + 0x14], 0
je 0x140015a0a
mov eax, dword [r12 + r14 + 4]
test eax, eax
je 0x1400159e0
cmp eax, 7
je 0x1400159dc
cmp eax, 5
jne 0x140015a0a
test eax, eax
jne 0x1400159f5
lea rax, [rbp + 0x27770]
test rax, rax
je 0x140015a53
lea rdx, str.InternalSpeakerJack
jmp 0x140015a2a
lea rax, [rbp + 0x27770]
test rax, rax
je 0x140015a53
lea rdx, str.InternalMicJack
jmp 0x140015a2a
movsxd rdx, dword [r12 + r14 + 0xc]
lea rax, [rbp + 0x27770]
imul rdx, rdx, 0x208
add rdx, rcx
test rax, rax
je 0x140015a53
test rdx, rdx
je 0x140015a53
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x300]
lea r8, [0x14012c778]
lea rcx, str.MainDialog
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x140000000]
lea rcx, [rsp + 0xe0]
lea r8, [rsp + 0x68]
mov rax, qword [rdx + 0x13c890]
mov qword [rcx], rax
movzx eax, word [rdx + 0x13c898]
lea rdx, [rsp + 0xe0]
mov word [rcx + 8], ax
lea rcx, [rsp + 0x300]
call fcn.1400fa5e0
test rax, rax
je 0x140015c5c
mov rcx, rax
call fcn.1400fa6e0
test eax, eax
jne 0x140015aad
mov qword [rsp + 0x78], rsi
jmp 0x140015ac4
cmp eax, 1
jne 0x140015ac4
mov edx, 0x7f89
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov qword [rsp + 0x78], rax
mov rbx, rsi
nop
nop
nop
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0xe0]
xor ecx, ecx
call fcn.1400fa5e0
test rax, rax
je 0x140015c45
mov rcx, rax
call fcn.1400fa6e0
add rbx, 1
cmp rbx, 0xa
mov dword [rsp + rbx*4 + 0x7c], eax
jl 0x140015ad0
mov eax, dword [rsp + 0x98]
mov r13d, dword [rsp + 0x88]
mov esi, dword [rsp + 0x8c]
cmp r13d, 0xffffffff
mov ecx, 0
lea r8, [rsp + 0x68]
cmove r13d, dword [rsp + 0xa0]
cmp esi, 0xffffffff
lea rdx, [rsp + 0xe0]
cmove esi, dword [rsp + 0xa4]
cmp eax, 0xffffffff
mov dword [rsp + 0x88], r13d
cmove eax, ecx
mov dword [rsp + 0x8c], esi
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x9c]
cmp eax, 0xffffffff
cmove eax, ecx
mov dword [rsp + 0x9c], eax
call fcn.1400fa5e0
test rax, rax
je 0x140015c34
mov rcx, rax
call fcn.1400fa6e0
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0xe0]
xor ecx, ecx
mov dword [rsp + 0xa8], eax
call fcn.1400fa5e0
test rax, rax
je 0x140015c34
mov rcx, rax
call fcn.1400fa6e0
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0xe0]
xor ecx, ecx
mov dword [rsp + 0xac], eax
call fcn.1400fa5e0
test rax, rax
je 0x140015c34
mov rcx, rax
call fcn.1400fa6e0
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0xe0]
xor ecx, ecx
mov dword [rsp + 0xb0], eax
call fcn.1400fa5e0
test rax, rax
je 0x140015c34
mov rcx, rax
call fcn.1400fa6e0
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0xe0]
xor ecx, ecx
mov dword [rsp + 0xb4], eax
call fcn.1400fa5e0
test rax, rax
je 0x140015c34
mov rcx, rax
call fcn.1400fa6e0
mov dword [rsp + 0xb8], eax
mov r15d, dword [rsp + 0x84]
mov ebx, dword [rsp + 0x80]
jmp 0x140015c63
mov r15d, dword [rsp + 0x84]
mov ebx, dword [rsp + 0x80]
mov r13d, dword [rsp + 0x88]
mov esi, dword [rsp + 0x8c]
mov rax, qword [rbp + 0x19488]
cmp dword [rbp + 0x26678], 0
mov edx, 0
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x78]
cmove rax, rdx
cmp dword [rbp + 0x26708], edx
mov qword [rsp + 0x78], rax
jne 0x140015c98
cmp dword [r12 + r14], 1
je 0x140015ca6
cmp dword [rbp + 0x2670c], edx
jne 0x140015cab
cmp dword [r12 + r14], edx
jne 0x140015cab
mov qword [rsp + 0x78], rdx
cmp dword [rbp + 0x2675c], edx
je 0x140015cc9
mov rax, qword [rsp + 0x78]
cmp dword [r14 + rbp + 0x21320], edx
cmove rax, rdx
mov qword [rsp + 0x78], rax
cmp dword [rbp + 0x266e4], edx
je 0x140015d2a
cmp dword [r12 + 0x14], edx
je 0x140015d2a
movsxd rax, dword [r12 + r14 + 0xc]
cmp dword [rbp + rax*4 + 0x27494], edx
mov ecx, dword [rbp + rax*4 + 0x27494]
mov eax, 0x55555556
cmove edi, edx
add ecx, 0xffffffff
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub ecx, eax
lea eax, [r13 + 5]
imul eax, ecx
add ebx, eax
lea eax, [rsi + 5]
mov dword [rsp + 0x80], ebx
imul eax, edx
add r15d, eax
mov dword [rsp + 0x84], r15d
jmp 0x140015dfb
mov eax, dword [r12 + r14]
cmp eax, 1
je 0x140015cd8
test eax, eax
je 0x140015d94
mov eax, dword [r12 + r14 + 4]
test eax, eax
jne 0x140015d8f
movsxd rax, dword [r12 + r14 + 0xc]
cmp dword [rbp + rax*4 + 0x27494], edx
mov ecx, dword [rbp + rax*4 + 0x27494]
mov eax, 0x55555556
cmove edi, edx
add ecx, 0xffffffff
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub ecx, eax
lea eax, [r13 + 5]
imul eax, ecx
add ebx, eax
lea eax, [rsi + 5]
mov dword [rsp + 0x80], ebx
imul eax, edx
add r15d, eax
mov dword [rsp + 0x84], r15d
jmp 0x140015dfb
cmp eax, 5
jne 0x140015df9
movsxd rcx, dword [r12 + r14 + 0xc]
lea r8d, [rsi + 5]
cmp dword [rbp + rcx*4 + 0x274c4], edx
mov ecx, dword [rbp + rcx*4 + 0x274c4]
mov eax, r8d
cvtsi2sd xmm0, rax
cmove edi, edx
add ecx, 0xffffffff
mulsd xmm0, xmm6
cvttsd2si rax, xmm0
add r15d, eax
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
imul edx, r8d
sub ecx, eax
lea eax, [r13 + 5]
imul eax, ecx
add ebx, eax
add r15d, edx
mov dword [rsp + 0x84], r15d
mov dword [rsp + 0x80], ebx
jmp 0x140015dfb
mov edi, edx
movsxd rax, dword [rsp + 0x60]
lea rdx, [0x14012c778]
imul rax, rax, 0x268
lea rbx, [rax + rbp + 0x549b8]
mov rcx, rbx
mov qword [rsp + 0xd8], rbx
call fcn.1400dc8dc
test edi, edi
je 0x140016146
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140021450
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0xc8], 0x64
imul rax, rax, 0x268
lea r13, [rax + rbp + 0x549b8]
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
call fcn.1400cf94c
mov rcx, qword [r13 + 0x1d8]
test rcx, rcx
mov qword [rsp + 0xd0], rax
je 0x140015e89
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rdi, qword [rsp + 0xd0]
mov r8d, dword [r13 + 0x21c]
mov edx, dword [r13 + 0x218]
mov rcx, qword [rdi + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [r13 + 0x1d8], rax
mov rcx, qword [rdi + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rcx, qword [rdi + 8]
mov rsi, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdx, qword [r13 + 0x1d8]
mov rcx, rsi
mov rdi, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdx, qword [rbp + 0x19490]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov r11d, dword [r13 + 0x21c]
mov ecx, dword [r13 + 0x214]
mov r9d, dword [r13 + 0x218]
mov eax, dword [r13 + 0x210]
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], eax
mov rcx, rsi
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], r11d
call qword [sym.imp.GDI32.dll_StretchBlt]
mov rcx, qword [r13 + 0x40]
mov ebx, eax
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rax + 8]
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
test ebx, ebx
je 0x140015ffd
lea rdx, [rsp + 0xc8]
lea rax, [r13 + 0x224]
lea rcx, [r13 + 0x220]
mov qword [rsp + 0x58], rdx
lea rdx, [r13 + 0x21c]
lea r9, [r13 + 0x20c]
mov qword [rsp + 0x50], rdx
lea rdx, [r13 + 0x218]
lea r8, [r13 + 0x208]
mov qword [rsp + 0x48], rdx
lea rdx, [r13 + 0x214]
mov qword [rsp + 0x40], rdx
lea rdx, [r13 + 0x210]
mov qword [rsp + 0x38], rdx
lea rdx, [r13 + 0x1d8]
mov qword [rsp + 0x30], rdx
mov rdx, qword [r13 + 0x1c0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, r13
call fcn.1400228f0
mov rcx, qword [r13 + 0x40]
mov r9d, 1
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_RedrawWindow]
movsxd rax, dword [r12 + r14 + 8]
cmp eax, 9
ja case.default.0x140016018
lea rdi, [0x140000000]
mov ecx, dword [rdi + rax*4 + 0x1620c]
add rcx, rdi
jmp rcx
lea r8, [rbp + 0x27d88]
jmp 0x140016072
lea r8, [rbp + 0x27f90]
jmp 0x140016072
lea r8, [rbp + 0x28198]
jmp 0x140016072
lea r8, [rbp + 0x283a0]
jmp 0x140016072
lea r8, [rbp + 0x285a8]
jmp 0x140016072
lea r8, [rbp + 0x287b0]
jmp 0x140016072
lea r8, [rbp + 0x289b8]
jmp 0x140016072
lea r8, [rbp + 0x28bc0]
jmp 0x140016072
lea r8, [rbp + 0x28dc8]
jmp 0x140016072
lea r8, [rbp + 0x293e0]
lea rcx, [rsp + 0xf0]
mov edx, 0x104
call fcn.1400f9e00
cmp qword [r13 + 0x118], 0
jne 0x1400160bd
lea rcx, [r13 + 0xd8]
xor r8d, r8d
mov rdx, r13
mov rax, qword [rcx]
call qword [rax + 0x268]
mov rcx, qword [r13 + 0x118]
xor r9d, r9d
lea r8d, [r9 + 1]
mov edx, 0x401
call qword [sym.imp.USER32.dll_SendMessageW]
xor ecx, ecx
lea r8, [rsp + 0xf0]
xor r9d, r9d
mov qword [rsp + 0x20], rcx
lea rcx, [r13 + 0xd8]
mov rdx, r13
call fcn.1400d1498
lea rdx, [rsp + 0xf0]
lea rcx, [r13 + 0xd8]
xor r9d, r9d
mov r8, r13
call fcn.1400d1538
mov rcx, qword [r13 + 0x118]
xor r9d, r9d
lea r8d, [r9 + 1]
mov edx, 0x401
call qword [sym.imp.USER32.dll_SendMessageW]
mov rbx, qword [rsp + 0xd8]
mov edx, 5
mov rcx, rbx
call fcn.1400dc9c4
cmp dword [r12 + r14 + 0x18], 0
mov rcx, rbx
je 0x14001613d
mov edx, 1
call fcn.1400dca24
jmp 0x14001614d
xor edx, edx
call fcn.1400dca24
jmp 0x14001614d
xor ecx, ecx
mov dword [r12 + r14 + 0x10], ecx
lea rcx, [0x1401c05e0]
mov ebx, dword [rsp + 0x60]
mov r14, qword [rsp + 0xc0]
mov r13d, dword [rsp + 0x88]
add ebx, 1
add r14, 1
mov dword [rsp + 0x60], ebx
cmp ebx, 9
mov ebx, dword [rsp + 0x80]
mov qword [rsp + 0xc0], r14
jl 0x140015980
cmp dword [rbp + 0x204], 8
jae 0x1400161a2
lea rcx, [rbp + 0x550f0]
xor edx, edx
call fcn.1400dc9c4
cmp dword [rbp + 0x204], 6
jae 0x1400161b9
lea rcx, [rbp + 0x54e88]
xor edx, edx
call fcn.1400dc9c4
cmp dword [rbp + 0x204], 4
jae 0x1400161d0
lea rcx, [rbp + 0x54c20]
xor edx, edx
call fcn.1400dc9c4
mov rcx, rbp
call fcn.14001e080
mov rcx, qword [rsp + 0x510]
xor rcx, rsp
call fcn.1400f9790
mov rbx, qword [rsp + 0x580]
movaps xmm6, xmmword [rsp + 0x520]
add rsp, 0x530
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret