Function at 0x18005e6b0
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf0
mov rax, qword [0x180106b38]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov ebx, dword [rsp + 0x40]
lea eax, [r8 + 0x8e8]
mov dword [rsp + 0x3c], r8d
mov r12, r9
mov qword [rsp + 0x68], rdx
mov esi, r8d
mov qword [rsp + 0x60], rcx
mov r9, rcx
mov dword [rsp + 0x30], eax
cmp r8d, eax
jae 0x18005e87e
movzx eax, byte [rsp + 0x30]
movzx ecx, byte [rsp + 0x30]
movzx r15d, byte [rsp + 0x30]
movzx ebp, word [rsp + 0x30]
mov r14, qword [rsp + 0x70]
movzx r13d, byte [rsp + 0x30]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x34], ecx
xor r8d, r8d
lea r11, [0x180000000]
mov r10d, 0x100
cmp esi, 0x18c
ja 0x18005e9df
je 0x18005e9a2
lea eax, [rsi - 0x10]
cmp eax, 0xdd
ja case.default.0x18005e77d
movzx eax, byte [r11 + rax + 0x5eb8c]
mov ecx, dword [r11 + rax*4 + 0x5eb70]
add rcx, r11
jmp rcx
mov cl, 1
mov qword [rsp + 0x70], r8
mov dword [rsp + 0x34], ecx
mov r14, rdx
jmp case.default.0x18005e77d
mov dword [rsp + 0x54], r8d
mov ebp, r8d
mov rax, r14
nop dword [rax]
mov byte [rax], bpl
lea rax, [rax + 1]
inc bp
cmp bp, r10w
jb 0x18005e7a0
mov byte [rdx + 0x100], 0
jmp case.0x18005e77d.22
mov rax, qword [r9]
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 0x20], rax
mov rax, qword [r9]
mov qword [rax + 0x18], rcx
mov qword [r9], rcx
jmp case.0x18005e77d.22
cmp qword [r9 + 0x10], r12
mov ebx, r8d
sete bl
mov dword [rsp + 0x50], ebx
jmp case.0x18005e77d.22
test r12, r12
je 0x18005e7f3
mov dword [r12], r8d
mov rax, qword [r9]
test rax, rax
je 0x18005e832
cmp qword [rax + 0x18], 0
je 0x18005e832
mov edx, 0xce
mov eax, edx
sub eax, 0xcd
je 0x18005e87e
cmp eax, 1
jne 0x18005e823
mov rax, qword [r9]
mov rcx, qword [rax + 0x18]
mov qword [r9], rcx
mov qword [rcx + 8], r8
dec edx
cmp edx, 0xcc
ja 0x18005e807
jmp 0x18005e98f
mov esi, 0x10b
nop word [rax + rax]
mov eax, esi
sub eax, 0x10b
je 0x18005e922
sub eax, 0x2e
je 0x18005e8e9
cmp eax, 0x2e
jne 0x18005e976
mov rcx, qword [rsp + 0x48]
cmp qword [rcx], 0
jne 0x18005e8dc
mov edi, 0xd1
nop
mov eax, edi
sub eax, 0xd1
je 0x18005e8ab
cmp eax, 1
jne 0x18005e8cd
mov eax, ebx
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1800bfc40
mov rbx, qword [rsp + 0x140]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test r12, r12
je 0x18005e8b8
mov dword [r12], 0x57
xor r9d, r9d
xor edx, edx
mov r8d, 0x11c
call fcn.1800a1270
mov rcx, qword [rsp + 0x48]
inc edi
cmp edi, 0xd3
jb 0x18005e870
mov r9, qword [rsp + 0x60]
mov rax, qword [r9 + 0x28]
mov qword [rcx + 0x10], rax
jmp 0x18005e976
mov rax, qword [r9 + 0x28]
xor edx, edx
imul rax, qword [r9 + 0x20]
mov qword [rsp + 0x28], r8
xor r9d, r9d
mov qword [rsp + 0x78], rax
xor ecx, ecx
lea rax, [rsp + 0x78]
mov r8d, 0xb3
mov qword [rsp + 0x20], rax
call fcn.180008900
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
jmp 0x18005e971
mov qword [rsp + 0x28], r8
lea rdx, [rsp + 0x80]
mov qword [rsp + 0x20], r8
lea rcx, [rsp + 0x88]
xor r8d, r8d
mov qword [rsp + 0x88], 0x28
mov r9d, PathYetAnotherMakeUniqueName
mov qword [rsp + 0x80], 1
call fcn.18004c450
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x18005eb50
mov r9, qword [rsp + 0x60]
add esi, 0x2e
mov r8d, 0
cmp esi, 0x195
jb 0x18005e840
mov esi, dword [rsp + 0x3c]
cmp qword [r9], 0
jne 0x18005e9bb
mov rax, qword [rsp + 0x48]
mov qword [r9], rax
jmp 0x18005e87e
mov rcx, qword [rsp + 0x70]
lea rdx, [rsp + 0x54]
call qword [sym.imp.WINMM.dll_midiInGetID]
mov dword [rsp + 0x58], eax
mov r9, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x34]
mov eax, dword [rsp + 0x30]
add esi, 0xbe
mov dword [rsp + 0x3c], esi
cmp esi, eax
jae 0x18005e87e
jmp 0x18005e739
cmp esi, 0x1ab
je 0x18005e87e
cmp esi, 0x24a
je 0x18005eb2e
cmp esi, 0x308
je 0x18005eb22
cmp esi, 0x3c6
je 0x18005ea9d
cmp esi, 0x484
jne 0x18005e9c8
cmp bp, r10w
jae 0x18005e9c8
mov ebx, dword [rsp + 0x38]
mov r8d, 0x6e
mov eax, r8d
sub eax, 0x6b
je 0x18005ea72
sub eax, 1
je 0x18005ea68
sub eax, 1
je 0x18005ea56
cmp eax, 1
jne 0x18005ea81
movzx eax, bp
movzx r13d, byte [rax + r14]
movzx eax, bl
movzx ecx, byte [rax + r9]
add cl, r13b
add r15b, cl
jmp 0x18005ea81
movzx eax, r15b
movzx ecx, bp
movzx eax, byte [rax + r14]
mov byte [rcx + r14], al
jmp 0x18005ea81
movzx eax, r15b
mov byte [rax + r14], r13b
jmp 0x18005ea81
movzx eax, bl
inc eax
cdq
idiv dword [r12]
inc bp
mov ebx, edx
dec r8d
cmp r8d, 0x6a
ja 0x18005ea27
mov dword [rsp + 0x38], ebx
cmp bp, r10w
jb 0x18005ea21
mov ebx, dword [rsp + 0x50]
jmp 0x18005e9bb
test cl, cl
je 0x18005e9c8
mov esi, dword [rsp + 0x40]
mov edi, 0x4d
nop
mov eax, edi
sub eax, 0x4c
je 0x18005eaf5
cmp eax, 1
jne 0x18005eb0e
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xd0], rax
movups xmmword [rsp + 0xa0], xmm0
lea esi, [rax + 0x4c]
mov dword [rsp + 0xd8], eax
movups xmmword [rsp + 0xb0], xmm0
movups xmmword [rsp + 0xc0], xmm0
jmp 0x18005eb0e
mov ecx, dword [rsp + 0x54]
lea rdx, [rsp + 0x90]
mov r8d, esi
call qword [sym.imp.WINMM.dll_midiInGetDevCapsW]
mov dword [rsp + 0x58], eax
dec edi
cmp edi, 0x4b
ja 0x18005eab0
mov dword [rsp + 0x40], esi
mov esi, dword [rsp + 0x3c]
jmp 0x18005e9b6
xor r15b, r15b
movzx ebp, r8w
jmp 0x18005e9c8
xor al, al
movzx ecx, cl
cmp dword [rsp + 0x58], 0
mov byte [rdx + 0x101], 0
cmovne ecx, r8d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x34], ecx
jmp case.default.0x18005e77d
test r12, r12
je 0x18005e87e
mov dword [r12], 0x56
jmp 0x18005e87e
mov eax, r8d
jmp 0x18005e880