Function at 0x18001eb60
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xeb0]
sub rsp, 0xfb0
mov rax, qword [0x1800791a8]
xor rax, rsp
mov qword [rbp + 0xea0], rax
mov qword [rbp + 0x70], r8
mov rsi, rdx
mov qword [rbp + 0x78], rdx
mov edi, ecx
mov dword [rsp + 0x70], ecx
movdqa xmm0, xmmword [0x180071f40]
movdqa xmmword [rbp + 0x290], xmm0
mov byte [rbp + 0x280], 0
movdqa xmm1, xmm0
movdqa xmmword [rbp + 0x2b0], xmm0
mov byte [rbp + 0x2a0], 0
movdqa xmmword [rbp + 0x2d0], xmm0
mov byte [rbp + 0x2c0], 0
movdqa xmmword [rbp + 0x2f0], xmm0
mov byte [rbp + 0x2e0], 0
movdqa xmmword [rbp + 0x320], xmm0
mov byte [rbp + 0x310], 0
movdqa xmmword [rbp + 0x340], xmm0
mov byte [rbp + 0x330], 0
xor r14d, r14d
mov qword [rbp + 0x100], r14
mov word [rbp + 0x108], r14w
movdqu xmmword [rbp + 0x11a], xmm0
mov byte [rbp + 0x10a], r14b
mov qword [rbp + 0xd0], r14
mov word [rbp + 0xd8], r14w
movdqu xmmword [rbp + 0xea], xmm0
mov byte [rbp + 0xda], r14b
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], r14
movdqa xmmword [rbp - 0x10], xmm0
mov qword [rbp], r14
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x138], r14
mov qword [rbp + 0x140], r14
lea ecx, [r14 + 0x30]
call fcn.18006881c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x148], r14
xorps xmm2, xmm2
movsd qword [rbp + 0x150], xmm2
mov qword [rbp + 0x158], r14
mov dword [rbp + 0x160], 1
mov qword [rbp + 0x168], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x170], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x180], xmm1
movdqa xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], r14
mov qword [rbp + 0x1a8], 0xffffffffffffffff
mov dword [rbp + 0x1b0], r14d
xor eax, eax
movups xmmword [rbp + 0x1b8], xmm0
movups xmmword [rbp + 0x1c8], xmm0
movups xmmword [rbp + 0x1d8], xmm0
movups xmmword [rbp + 0x1e8], xmm0
mov qword [rbp + 0x1f8], rax
movdqa xmm0, xmmword [0x180071f40]
movdqa xmmword [rbp + 0x210], xmm0
mov byte [rbp + 0x200], al
mov word [rbp + 0x220], r14w
mov dword [rbp + 0x224], r14d
mov qword [rbp + 0x228], r14
xorps xmm0, xmm0
movaps xmmword [rbp + 0x230], xmm0
movsd qword [rbp + 0x240], xmm2
mov byte [rbp + 0x248], al
mov qword [rbp + 0x24c], r14
lea ebx, [rdi + 0xc3]
mov dword [rsp + 0x64], ebx
cmp edi, ebx
mov ebx, dword [rbp - 0x70]
jae case.0x18001ef11.18
lea rdx, [0x180000000]
mov r8d, 0x1bb
mov r15, qword [rbp - 0x48]
movzx r12d, byte [rsp + 0x60]
mov r13d, dword [rbp - 0x78]
movzx r14d, byte [rsp + 0x6a]
mov eax, dword [rsp + 0x64]
nop dword [rax + rax]
cmp edi, 0x11f
ja 0x18001fa4b
je 0x18001fa3e
lea eax, [rdi - 0x19]
cmp eax, 0xa9
ja case.0x18001ede2.39
movzx eax, byte [rdx + rax + 0x1fd64]
mov ecx, dword [rdx + rax*4 + 0x1fd28]
add rcx, rdx
jmp rcx
mov word [rbp + 0x300], r8w
xor eax, eax
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2c0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov r8d, 0x11c
call fcn.1800259e0
lea rdx, [0x180000000]
mov r8d, 0x1bb
jmp case.0x18001ede2.39
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8d, [rax + 0x22]
lea rdx, [rbp - 0x30]
xor ecx, ecx
call fcn.18000ce90
lea rax, [rbp + 0x100]
mov qword [rbp + 0x68], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, qword [rbp - 0x20]
je 0x18001ee81
lea rax, [rbp + 0x100]
mov qword [rdx], rax
add qword [rbp - 0x28], 8
lea rdx, [0x180000000]
mov r8d, 0x1bb
jmp case.0x18001ede2.39
lea r8, [rbp + 0x68]
lea rcx, [rbp - 0x30]
call fcn.180002c10
lea rdx, [0x180000000]
mov r8d, 0x1bb
jmp case.0x18001ede2.39
mov r8d, 1
lea rdx, [0x18006e028]
lea rcx, [rbp + 0x2a0]
call fcn.180025720
mov byte [rsp + 0x69], 1
lea rdx, [0x180000000]
mov r8d, 0x1bb
jmp case.0x18001ede2.39
mov r9d, 0x12b
xor r8d, r8d
lea rdx, [0x1800770b8]
xor ecx, ecx
call fcn.180032f20
test al, al
jne 0x18001f242
xor r14d, r14d
mov esi, r14d
cmp esi, 0x12
ja case.default.0x18001ef11
mov eax, esi
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x1fe10]
add rcx, rdx
jmp rcx
mov byte [rbp + 0xbf8], r14b
movups xmm0, xmmword [str.bthis.crea]
movups xmmword [rbp + 0xc50], xmm0
movsd xmm1, qword [0x18006f8d8]
movsd qword [rbp + 0xc60], xmm1
movabs rax, 0x5200650074
mov qword [rbp + 0xc66], rax
mov r8d, 1
lea rdx, [0x18006ec64]
lea rcx, [rbp + 0xc50]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
jmp case.default.0x18001ef11
lea rcx, [rbp + 0xc50]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], r14w
jne 0x18001ef73
mov eax, dword [0x18006f8e0]
mov dword [rcx], eax
mov r8d, 3
lea rdx, [0x18006f8e8]
lea rcx, [rbp + 0xc50]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
jmp case.default.0x18001ef11
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x350], xmm0
movups xmmword [rbp + 0x360], xmm0
movups xmmword [rbp + 0x370], xmm0
movups xmmword [rbp + 0x380], xmm0
movups xmmword [rbp + 0x390], xmm0
movups xmmword [rbp + 0x3a0], xmm0
mov dword [rbp + 0x3b0], eax
xor r8d, r8d
lea rdx, [rbp + 0x350]
lea rcx, [rbp + 0xbe0]
call qword [sym.imp.WINMM.dll_mmioOpenA]
mov r15, rax
mov qword [rbp - 0x48], rax
lea rcx, [rbp + 0xc50]
call qword [sym.imp.SHLWAPI.dll_StrDupW]
mov qword [rbp + 0x20], rax
jmp case.default.0x18001ef11
movzx eax, word [0x18006f90e]
mov word [rbp + 0xbf5], ax
movzx eax, byte [0x18006f910]
mov byte [rbp + 0xbf7], al
jmp case.default.0x18001ef11
movzx eax, word [0x18006f956]
mov word [rbp + 0xbe6], ax
movzx eax, byte [0x18006f958]
mov byte [rbp + 0xbe8], al
jmp case.default.0x18001ef11
mov ebx, 1
jmp case.default.0x18001ef11
mov ecx, r14d
movzx eax, r12b
test r15, r15
cmovne ecx, eax
movzx r12d, cl
mov byte [rsp + 0x60], cl
jmp case.default.0x18001ef11
movsd xmm0, qword [str.spon]
movsd qword [rbp + 0xc6e], xmm0
mov dword [rbp + 0xc76], 0x73
jmp case.default.0x18001ef11
mov r8d, 2
lea rdx, [0x18006f97b]
lea rcx, [rbp + 0xbf2]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbp + 0xbf4], r14b
jmp case.default.0x18001ef11
mov ecx, r14d
movzx eax, byte [rsp + 0x68]
cmp qword [rbp + 0x20], rcx
cmovne ecx, eax
mov byte [rsp + 0x68], cl
jmp case.default.0x18001ef11
test r12b, r12b
je 0x18001f167
mov edi, 0xd9
nop dword [rax]
mov eax, edi
sub eax, 0xd8
je 0x18001f108
cmp eax, 1
jne 0x18001f154
mov qword [rbp + 0x90], r14
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.WINMM.dll_mmioRead]
mov r13d, eax
jmp 0x18001f154
cmp r13d, 0xffffffff
jne 0x18001f120
lea edx, [r13 + 0x11]
mov rcx, r15
call qword [sym.imp.WINMM.dll_mmioClose]
xor r12b, r12b
jmp 0x18001f154
test r12b, r12b
je 0x18001f154
xor r8d, r8d
mov rdx, qword [rbp + 0x90]
mov rcx, r15
call qword [sym.imp.WINMM.dll_mmioWrite]
mov edx, 0x10
mov rcx, r15
call qword [sym.imp.WINMM.dll_mmioFlush]
mov edx, 0x10
mov rcx, r15
call qword [sym.imp.WINMM.dll_mmioClose]
dec edi
cmp edi, 0xd7
ja 0x18001f0e0
mov dword [rbp - 0x78], r13d
mov byte [rsp + 0x60], r12b
cmp byte [rsp + 0x68], r14b
je case.default.0x18001ef11
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp case.default.0x18001ef11
mov dword [rbp + 0xc78], 0x65
jmp case.default.0x18001ef11
mov dword [rbp + 0xbe3], 0x656d6f
jmp case.default.0x18001ef11
mov word [rbp + 0xbf4], 0x72
jmp case.default.0x18001ef11
mov r12b, 1
mov byte [rsp + 0x60], r12b
mov byte [rsp + 0x68], r12b
jmp case.default.0x18001ef11
mov byte [rbp + 0xbe9], r14b
mov r8d, 4
lea rdx, [0x18006f9ee]
lea rcx, [rbp + 0xbe9]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp case.default.0x18001ef11
mov eax, dword [0x18006fa32]
mov dword [rbp + 0xbed], eax
movzx eax, byte [0x18006fa36]
mov byte [rbp + 0xbf1], al
mov byte [rbp + 0xbf2], r14b
jmp case.default.0x18001ef11
mov r8d, 1
lea rdx, [0x18006fa4b]
lea rcx, [rbp + 0xbe0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, 0x7268
mov word [rbp + 0xbe1], ax
mov byte [rbp + 0xbe3], r14b
inc esi
lea eax, [rsi + 0x7e]
cmp eax, 0x91
jb 0x18001eef5
mov edi, dword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
mov r8d, 0xe
lea rdx, str.readcereal.com
lea rcx, [rbp + 0x280]
call fcn.180025720
mov r14b, 1
lea rdx, [0x180000000]
mov r8d, 0x1bb
jmp case.0x18001ede2.39
mov word [rsp + 0x78], r8w
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [0x180077118]
xor r8d, r8d
lea edx, [r8 + 0x23]
lea rcx, [rbp + 0x100]
call fcn.180017a70
mov qword [rbp - 0x40], 0xffffffffffffffff
mov eax, 0x1bb
mov word [rbp - 0x80], ax
mov r9d, 0x9a
lea r8, [rbp + 0xd0]
lea rdx, [0x180077138]
lea rcx, [rbp - 0x80]
call fcn.180032270
xor eax, eax
mov dword [rbp - 0x64], eax
lea rdx, [0x180000000]
mov r8d, 0x1bb
jmp case.0x18001ede2.39
test r14b, r14b
je 0x18001f3fc
mov edi, 0x85
mov dword [rbp - 0x68], edi
mov r15, qword [rbp + 0x48]
mov r12d, dword [rbp - 0x58]
nop word [rax + rax]
cmp edi, 0x85
je 0x18001f3cc
cmp edi, 0x111
jne 0x18001f3d5
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rbp - 0x64]
lea rcx, [rbp - 0x60]
call qword [sym.imp.WINMM.dll_midiOutOpen]
mov dword [rsp + 0x6c], eax
cmp eax, 0
je 0x18001f351
xor r14b, r14b
jmp 0x18001f3d5
test r14b, r14b
je 0x18001f3d5
mov ebx, 0xef
nop
mov eax, ebx
sub eax, 0xee
je 0x18001f39a
cmp eax, 1
jne 0x18001f3b9
xor eax, eax
mov r15d, eax
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.WINMM.dll_midiConnect]
mov dword [rsp + 0x6c], eax
cmp eax, r15d
je 0x18001f3b9
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.WINMM.dll_midiOutClose]
xor r14b, r14b
jmp 0x18001f3b9
test r14b, r14b
je 0x18001f3b9
xor r8d, r8d
mov rdx, r15
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.WINMM.dll_midiDisconnect]
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.WINMM.dll_midiOutClose]
dec ebx
cmp ebx, 0xed
ja 0x18001f360
mov qword [rbp + 0x48], r15
mov edi, dword [rbp - 0x68]
jmp 0x18001f3d5
xor eax, eax
mov qword [rbp - 0x60], rax
mov r12d, eax
add edi, 0x8c
mov dword [rbp - 0x68], edi
cmp edi, 0x19d
jb 0x18001f310
mov dword [rbp - 0x58], r12d
mov r15, qword [rbp - 0x48]
movzx r12d, byte [rsp + 0x60]
mov r13d, dword [rbp - 0x78]
cmp byte [rsp + 0x69], 0
je 0x18001f502
mov edi, 0x8c
movzx r15d, byte [rsp + 0x6b]
mov r13d, dword [rbp - 0x54]
nop word [rax + rax]
mov eax, edi
sub eax, 0x89
je 0x18001f4d9
sub eax, 1
je 0x18001f48c
sub eax, 1
je 0x18001f460
cmp eax, 1
jne 0x18001f4e3
movzx r15d, al
xor eax, eax
mov qword [rbp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x260], xmm0
movups xmmword [rbp + 0x270], xmm0
jmp 0x18001f4e3
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
movups xmmword [rbp + 0xa8], xmm0
mov dword [rbp + 0x98], 0x20
mov dword [rbp + 0x260], 0x20
xor eax, eax
mov r13d, eax
jmp 0x18001f4e3
mov r8d, r13d
lea rdx, [rbp + 0x98]
mov rsi, qword [rbp + 0x50]
mov rcx, rsi
call qword [sym.imp.WINMM.dll_mixerGetControlDetailsA]
mov ebx, eax
lea rdx, [rbp + 0x260]
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.dbghelp.dll_SymGetSymNext64]
test ebx, ebx
je 0x18001f4bf
xor r15b, r15b
jmp 0x18001f4e3
test r15b, r15b
je 0x18001f4e3
mov r8d, r13d
lea rdx, [rbp + 0x98]
mov rcx, rsi
call qword [sym.imp.WINMM.dll_mixerSetControlDetails]
jmp 0x18001f4e3
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.dbghelp.dll_SymCleanup]
dec edi
cmp edi, 0x88
ja 0x18001f420
mov dword [rbp - 0x54], r13d
mov byte [rsp + 0x6b], r15b
mov r15, qword [rbp - 0x48]
mov r13d, dword [rbp - 0x78]
xor eax, eax
mov ebx, eax
mov edi, dword [rsp + 0x70]
lea rdx, [0x180000000]
mov r8d, 0x1bb
jmp case.0x18001ede2.39
lea rax, [rbp - 0x30]
mov qword [rbp + 0x80], rax
mov eax, dword [0x180077160]
mov dword [rbp + 0x88], eax
mov eax, dword [0x180077164]
mov dword [rbp + 0x8c], eax
movaps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0xc0], xmm0
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xc0]
lea r8, [0x18001b690]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbp + 0x38], rax
cmp rax, 0
jne 0x18001ee11
mov esi, 0x36
cmp esi, 0x408
ja 0x18001f776
je 0x18001f746
cmp esi, 0x21f
ja 0x18001f6da
je 0x18001f6c4
cmp esi, 0x36
je 0x18001f677
cmp esi, 0xd9
je 0x18001f631
cmp esi, 0x17c
jne 0x18001f879
lea rcx, [rbp + 0xc00]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18001f5d0
mov eax, dword [0x18006fb98]
mov dword [rcx], eax
mov eax, dword [0x18006fb9c]
mov dword [rbp + 0xc1c], eax
movzx eax, word [0x18006fba0]
mov word [rbp + 0xc20], ax
lea rcx, [rbp + 0xc00]
sub rcx, 2
nop word [rax + rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18001f610
mov eax, dword [0x18006fba4]
mov dword [rcx], eax
mov dword [rbp + 0xc22], 0x41
jmp 0x18001f879
mov dword [rbp + 0xc12], 0x5f
lea rcx, [rbp + 0xc00]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18001f646
mov eax, dword [0x18006fa78]
mov dword [rcx], eax
mov eax, dword [0x18006fa7c]
mov dword [rbp + 0xc16], eax
movzx eax, word [0x18006fa80]
mov word [rbp + 0xc1a], ax
jmp 0x18001f879
mov r8d, 2
lea rdx, [0x18006fba8]
lea rcx, [rbp + 0xc00]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
movabs rax, 0x4e00410052
mov qword [rbp + 0xc02], rax
mov eax, dword [0x18006fbac]
mov dword [rbp + 0xc08], eax
movabs rax, 0x540052004f
mov qword [rbp + 0xc0c], rax
jmp 0x18001f879
movabs rax, 0x55004c0049
mov qword [rbp + 0xc24], rax
jmp 0x18001f879
cmp esi, 0x2c2
je 0x18001f6fc
cmp esi, 0x365
jne 0x18001f879
xor edx, edx
mov word [rbp + 0xc3e], dx
jmp 0x18001f879
mov r8d, 2
lea rdx, [0x18006fb74]
lea rcx, [rbp + 0xc00]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov dword [rbp + 0xc30], 0x610076
xor eax, eax
mov word [rbp + 0xc34], ax
lea r8d, [rax + 5]
lea rdx, [0x18006fb82]
lea rcx, [rbp + 0xc34]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
jmp 0x18001f879
mov dword [rbp + 0xc3e], 0x670065
xor eax, eax
mov word [rbp + 0xc42], ax
lea r8d, [rax + 3]
lea rdx, [0x18006faba]
lea rcx, [rbp + 0xc42]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
jmp 0x18001f879
cmp esi, 0x694
ja 0x18001f85e
je 0x18001f816
cmp esi, 0x4ab
je 0x18001f80b
cmp esi, 0x54e
je 0x18001f7fe
cmp esi, 0x5f1
jne 0x18001f879
lea r9, [rbp + 0x28]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call sub.RPCRT4.dll_MesEncodeIncrementalHandleCreate
mov edi, eax
lea rax, [rbp + 0x3c0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xc90]
mov qword [rsp + 0x20], rax
mov r9d, 0x104
lea r8, str.Announcement
lea rdx, [rbp + 0xc00]
lea rcx, [rbp + 0xc30]
call qword [sym.imp.KERNEL32.dll_SearchPathW]
test edi, edi
je 0x18001f879
mov byte [rsp + 0x6a], 0
jmp 0x18001f879
mov byte [rsp + 0x6a], 1
xor edx, edx
mov qword [rbp + 0x28], rdx
jmp 0x18001f879
xor edx, edx
mov word [rbp + 0xc48], dx
jmp 0x18001f879
cmp byte [rsp + 0x6a], 0
je 0x18001f879
mov edi, 0x25
mov eax, edi
sub eax, 0x24
je 0x18001f847
cmp eax, 1
jne 0x18001f855
xor eax, eax
mov qword [rbp + 0x30], rax
lea r8, [rbp + 0x30]
xor edx, edx
xor ecx, ecx
call sub.RPCRT4.dll_MesDecodeIncrementalHandleCreate
mov rcx, qword [rbp + 0x28]
jmp 0x18001f84b
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x18001f855
call sub.RPCRT4.dll_MesHandleFree
dec edi
cmp edi, 0x23
ja 0x18001f822
jmp 0x18001f879
cmp esi, 0x737
je 0x18001f874
cmp esi, 0x7da
je case.0x18001ede2.38
jmp 0x18001f879
mov ebx, 1
add esi, 0xa3
cmp esi, 0x87d
jb 0x18001f584
jmp 0x18001f506
xor esi, esi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
lea rax, [rbp + 0x280]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x310]
xor r8d, r8d
mov edx, 0x9e
xor ecx, ecx
call fcn.18000d660
mov qword [rbp + 0x60], rsi
lea rdx, [0x180000000]
mov r8d, 0x1bb
jmp case.0x18001ede2.39
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.dbghelp.dll_SymInitialize]
mov dword [rbp - 0x50], eax
lea rdx, [0x180000000]
mov r8d, 0x1bb
jmp case.0x18001ede2.39
mov rcx, qword [rbp + 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rax, [0x180009200]
mov qword [rbp + 0x58], rax
xor edx, edx
mov r8d, 0x84
lea rcx, [rbp + 0x58]
call fcn.18002f8c0
xor edx, edx
mov ecx, edx
movzx eax, byte [rsp + 0x69]
cmp dword [rbp - 0x50], edx
cmovne ecx, eax
mov byte [rsp + 0x69], cl
mov ecx, edx
movzx eax, r14b
cmp dword [rsp + 0x6c], edx
cmove ecx, eax
movzx r14d, cl
lea rdx, [0x180000000]
mov r8d, 0x1bb
jmp case.0x18001ede2.39
lea r9, [rbp + 0x130]
lea r8, [0x1800770b0]
lea rdx, [rbp - 0x30]
mov ecx, 0x7c
call fcn.180017900
lea rax, [rbp + 0x130]
mov qword [rsp + 0x28], rax
xor eax, eax
mov qword [rsp + 0x20], rax
lea r9d, [rax + 0x5d]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180013ff0
lea rdx, [0x180000000]
mov r8d, 0x1bb
jmp case.0x18001ede2.39
lea rdx, [rbp - 0x64]
mov rcx, qword [rbp + 0x60]
call qword [sym.imp.WINMM.dll_midiInGetID]
mov dword [rsp + 0x6c], eax
lea rdx, [0x180000000]
mov r8d, 0x1bb
jmp case.0x18001ede2.39
lea rax, [rbp + 0xd0]
mov qword [rbp + 0x40], rax
mov rax, qword [rbp - 0x28]
cmp rax, qword [rbp - 0x20]
je 0x18001fa00
lea rcx, [rbp + 0xd0]
mov qword [rax], rcx
add qword [rbp - 0x28], 8
jmp 0x18001fa11
lea r8, [rbp + 0x40]
mov rdx, qword [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.180002c10
mov eax, dword [0x180077160]
mov dword [rbp - 0x70], eax
lea r9, [rbp - 0x70]
xor edx, edx
mov r8d, 0x8f
lea rcx, [rbp - 0x30]
call fcn.1800098a0
lea rdx, [0x180000000]
mov r8d, 0x1bb
jmp case.0x18001ede2.39
mov rax, qword [rbp + 0x70]
mov eax, dword [rax]
xchg dword [rsi + 0xc], eax
mov eax, dword [rsp + 0x64]
add edi, 0xd
mov dword [rsp + 0x70], edi
cmp edi, eax
mov rsi, qword [rbp + 0x78]
jb 0x18001edb0
xor r14d, r14d
lea rcx, [rbp + 0x1a8]
call fcn.180004bd0
mov rdi, qword [rbp + 0x190]
test rdi, rdi
je 0x18001fae6
mov rsi, qword [rbp + 0x198]
cmp rdi, rsi
je 0x18001fa9d
mov rcx, rdi
call fcn.1800251d0
add rdi, 0x20
cmp rdi, rsi
jne 0x18001fa85
mov rdi, qword [rbp + 0x190]
mov rdx, qword [rbp + 0x1a0]
sub rdx, rdi
and rdx, 0xffffffffffffffe0
mov rax, rdi
cmp rdx, 0x1000
jb 0x18001facc
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001fb21
mov rcx, rdi
call fcn.180068858
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], r14
mov rcx, qword [rbp + 0x178]
test rcx, rcx
je 0x18001fb3f
mov rdx, qword [rbp + 0x188]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001fb28
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001fb28
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180068858
mov qword [rbp + 0x178], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x180], xmm0
lea rcx, [rbp + 0x138]
call fcn.180004b00
nop
mov rdi, qword [rbp - 0x18]
test rdi, rdi
je 0x18001fbd6
mov rsi, qword [rbp - 0x10]
cmp rdi, rsi
je 0x18001fb77
mov rcx, rdi
call fcn.1800043c0
add rdi, 0x28
cmp rdi, rsi
jne 0x18001fb62
mov rdi, qword [rbp - 0x18]
mov rcx, qword [rbp - 8]
sub rcx, rdi
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*4]
shl rdx, 3
mov rax, rdi
cmp rdx, 0x1000
jb 0x18001fbc2
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001fc13
mov rcx, rdi
call fcn.180068858
mov qword [rbp - 0x18], r14
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x10], xmm0
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x18001fc2b
mov rax, qword [rbp - 0x20]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001fc1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001fc1a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180068858
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r14
mov rdx, qword [rbp + 0xf2]
cmp rdx, 0x10
jb 0x18001fc6f
inc rdx
mov rcx, qword [rbp + 0xda]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001fc6a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001fc6a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180068858
movdqa xmm0, xmmword [0x180071f40]
movdqu xmmword [rbp + 0xea], xmm0
mov byte [rbp + 0xda], 0
mov rdx, qword [rbp + 0x122]
cmp rdx, 0x10
jb 0x18001fcca
inc rdx
mov rcx, qword [rbp + 0x10a]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001fcc5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001fcc5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180068858
movdqa xmm0, xmmword [0x180071f40]
movdqu xmmword [rbp + 0x11a], xmm0
mov byte [rbp + 0x10a], 0
lea rcx, [rbp + 0x310]
call fcn.180004720
nop
lea rcx, [rbp + 0x280]
call fcn.1800047d0
mov eax, ebx
mov rcx, qword [rbp + 0xea0]
xor rcx, rsp
call fcn.180068d70
mov rbx, qword [rsp + 0xff0]
add rsp, 0xfb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret