Function at 0x18001d040
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov dword [rsp + 0x20], r9d
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x460]
sub rsp, 0x560
mov ebx, r9d
mov rsi, r8
mov r14, rdx
mov r15, rcx
xor ecx, ecx
mov qword [rbp + 0x100], rcx
mov word [rbp + 0x108], cx
movdqa xmm0, xmmword [0x180070360]
movdqu xmmword [rbp + 0x11a], xmm0
mov byte [rbp + 0x10a], cl
mov qword [rbp + 0xa8], rcx
mov word [rbp + 0xb0], cx
movdqu xmmword [rbp + 0xc2], xmm0
mov byte [rbp + 0xb2], cl
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rcx
movdqa xmmword [rbp - 0x10], xmm0
mov qword [rbp], rcx
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x130], rcx
mov qword [rbp + 0x138], rcx
mov qword [rbp + 0x140], rcx
mov ecx, 0x30
call fcn.1800457f8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x138], rax
xor r10d, r10d
mov qword [rbp + 0x148], r10
xorps xmm2, xmm2
movsd qword [rbp + 0x150], xmm2
mov qword [rbp + 0x158], r10
mov dword [rbp + 0x160], 1
mov qword [rbp + 0x168], r10
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], r10
mov qword [rbp + 0x1a8], 0xffffffffffffffff
mov dword [rbp + 0x1b0], r10d
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 [0x180070360]
movdqa xmmword [rbp + 0x210], xmm0
mov byte [rbp + 0x200], al
mov word [rbp + 0x220], r10w
mov dword [rbp + 0x224], r10d
mov qword [rbp + 0x228], r10
xorps xmm0, xmm0
movaps xmmword [rbp + 0x230], xmm0
movsd qword [rbp + 0x240], xmm2
mov byte [rbp + 0x248], al
mov qword [rbp + 0x24c], r10
mov edi, ebx
lea r13d, [rbx + 0x914]
cmp ebx, r13d
jae 0x18001d2a6
lea eax, [r10 + 0x69]
lea ecx, [rax - 0x13]
lea edx, [rax + 0xc]
lea r9d, [r10 + 0x64]
lea r8d, [r10 + 0x72]
mov r12, qword [rbp + 0x4b0]
cmp edi, 0x2d7
ja 0x18001d471
je 0x18001d458
cmp edi, 0x122
ja 0x18001d40e
je 0x18001d3ab
mov eax, edi
sub eax, 0x9e
je 0x18001d35e
sub eax, 0x16
je 0x18001d53b
cmp eax, 0x31
jne 0x18001d289
lea r8d, [rax - 0x2f]
lea rdx, [0x18006e280]
lea rcx, [rbp - 0x70]
call fcn.18004c270
movzx eax, word [0x18006ec18]
mov word [rbp - 0x6f], ax
movzx eax, byte [0x18006ec1a]
mov byte [rbp - 0x6d], al
mov ecx, 0x56
lea edx, [rcx + 0x1f]
lea r8d, [rcx + 0x1c]
lea r9d, [rcx + 0xe]
mov eax, 0x69
add edi, 0xa6
cmp edi, r13d
jb 0x18001d211
mov ebx, dword [rbp + 0x4a8]
xor r10d, r10d
lea eax, [rbx + 0x69f]
mov dword [rsp + 0x68], eax
cmp ebx, eax
jae case.0x18001d832.5
mov edx, 0x66
lea r8d, [rdx - 0x27]
lea r11d, [rdx - 0x2f]
mov r9d, 0x1bb
movzx r13d, byte [rsp + 0x50]
movzx ecx, word [rsp + 0x58]
mov dword [rsp + 0x54], ecx
mov rsi, qword [rbp + 0x20]
mov r14d, dword [rbp - 0x58]
mov r15d, dword [rsp + 0x68]
mov r12d, dword [rsp + 0x68]
lea rax, [0x18000e9d0]
lea rdi, [0x180000000]
cmp ebx, 0x3fc
ja 0x18001d747
je 0x18001d706
cmp ebx, 0x238
ja 0x18001d687
je 0x18001d58a
mov eax, ebx
sub eax, 0xe5
je 0x18001d567
sub eax, 0x71
je 0x18001d546
cmp eax, 0x71
jne 0x18001ddd8
mov dword [rbp + 0x9a], 0x370056
mov dword [rbp + 0x9e], 0x3f0066
mov word [rbp + 0xa2], r10w
jmp 0x18001ddd8
mov qword [rsp + 0x20], rsi
mov r9d, 0xce
mov r8, r12
mov rdx, r15
mov rcx, r14
call fcn.18002fb80
test al, al
je 0x18001d3a1
mov qword [rsp + 0x20], r14
mov r9, r15
mov r8, rsi
mov edx, 0xce
mov rcx, r12
call fcn.1800363e0
test al, al
je 0x18001d3a1
mov byte [rsp + 0x60], 1
jmp 0x18001d279
mov byte [rsp + 0x60], 0
jmp 0x18001d279
mov ebx, 0x60
cmp ebx, 0x60
je 0x18001d3c3
cmp ebx, 0x2040
je case.0x18001d832.5
jmp 0x18001d3de
mov ecx, 0x18
call fcn.18004c3e4
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rcx
mov qword [rsp + 0x60], rax
add ebx, 0x1fe0
cmp ebx, 0x3fc0
jbe 0x18001d3b0
mov eax, 0x69
mov word [rbp - 0x6d], ax
lea r8d, [rax - 0x66]
lea rdx, [0x18006ec10]
lea rcx, [rbp - 0x70]
call fcn.18004c030
jmp 0x18001d279
mov eax, edi
sub eax, 0x144
je case.0x18001d832.5
sub eax, 0x47
je 0x18001d3ec
cmp eax, 0xa6
jne 0x18001d289
mov r8d, 0xa
lea rdx, [rbp - 0x69]
lea ecx, [r8 - 8]
call fcn.18004c630
movzx eax, word [0x18006ec14]
mov word [rbp - 0x68], ax
movzx eax, byte [0x18006ec16]
mov byte [rbp - 0x66], al
jmp 0x18001d279
movzx eax, word [0x1800649cc]
mov word [rbp - 0x66], ax
mov word [rbp - 0x64], r9w
mov byte [rbp - 0x63], 0x63
jmp 0x18001d289
cmp edi, 0x56f
ja 0x18001d4f3
je 0x18001d4e7
cmp edi, 0x37d
je 0x18001d4ba
cmp edi, 0x423
je 0x18001d4a0
cmp edi, 0x4c9
jne 0x18001d28e
mov word [rbp + 0x68], cx
jmp 0x18001d28e
movzx eax, word [0x18006ec20]
mov word [rbp - 0x5c], ax
movzx eax, byte [0x18006ec22]
mov byte [rbp - 0x5a], al
jmp 0x18001d289
mov byte [rbp - 0x62], 0
lea rcx, [rbp - 0x70]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x18001d4c5
mov eax, dword [0x18006ec1c]
mov dword [rcx], eax
mov dword [rbp - 0x5f], 0x485858
mov ecx, 0x56
jmp 0x18001d289
mov dword [rbp + 0x6a], 0x370036
jmp 0x18001d28e
cmp edi, 0x615
je 0x18001d524
cmp edi, 0x6bb
jne 0x18001d28e
mov dword [rbp + 0x78], 0x680067
mov dword [rbp + 0x7c], 0x6f0062
mov dword [rbp + 0x80], 0x720075
jmp 0x18001d28e
mov dword [rbp + 0x6e], 0x5f0032
mov dword [rbp + 0x72], 0x65004e
mov word [rbp + 0x76], ax
jmp 0x18001d28e
xor r13d, r13d
mov ebx, r13d
jmp 0x18001ddf9
mov word [rbp + 0x90], r11w
mov dword [rbp + 0x92], 0x310035
mov dword [rbp + 0x96], 0x5f0039
jmp 0x18001ddd8
mov dword [rbp + 0x84], 0x65004c
mov dword [rbp + 0x88], 0x740066
mov dword [rbp + 0x8c], 0x33005f
jmp 0x18001ddd8
lea r9, [0x18008a118]
xor r8d, r8d
mov edx, 0xc5
xor ecx, ecx
call fcn.18002bac0
test al, al
jne 0x18001d672
mov ebx, 5
xor r13d, r13d
cmp ebx, 5
ja case.default.0x18001d5c5
mov eax, ebx
mov ecx, dword [rdi + rax*4 + 0x1e0a4]
add rcx, rdi
jmp rcx
mov ecx, r13d
movzx eax, byte [rsp + 0x51]
mov rdi, qword [rbp + 0xd8]
test rdi, rdi
cmovne ecx, eax
mov byte [rsp + 0x51], cl
cmp cl, 0
je 0x18001d5fe
lea rdx, [rbp + 0xe0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetHandleInformation]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdi, [0x180000000]
jmp case.default.0x18001d5c5
mov byte [rsp + 0x51], 1
lea rdx, [rbp - 0x50]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateJobObjectA]
mov qword [rbp + 0xd8], rax
jmp case.default.0x18001d5c5
mov dword [rbp - 0x50], 0x6d7973
mov eax, 0x62
mov word [rbp - 0x4d], ax
jmp case.default.0x18001d5c5
mov eax, 0x73
mov word [rbp - 0x46], ax
jmp case.default.0x18001d5c5
mov eax, dword [str.olPa]
mov dword [rbp - 0x4c], eax
mov eax, 0x74
mov word [rbp - 0x48], ax
mov eax, 0x68
mov word [rbp - 0x47], ax
dec ebx
lea eax, [rbx + 0x101]
cmp eax, 0x100
ja 0x18001d5b0
mov ebx, dword [rbp + 0x4a8]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.18004c6a4
mov r13b, 1
jmp 0x18001ddb7
mov eax, ebx
sub eax, 0x2a9
je 0x18001d6de
sub eax, 0x71
je 0x18001d6b6
cmp eax, 0x71
jne 0x18001ddd8
xor r9d, r9d
lea r8, [rbp - 0x30]
mov edx, 0x107
xor ecx, ecx
call fcn.180020300
jmp 0x18001ddbc
mov word [rsp + 0x58], r9w
lea r9, [rsp + 0x58]
lea r8, [0x18008a198]
lea rdx, [rbp + 0xa8]
mov ecx, 0x10c
call fcn.180012480
jmp 0x18001ddbc
mov word [rsp + 0x58], r9w
lea r9, [rbp + 0x100]
lea r8, [rsp + 0x58]
mov edx, 0x9d
lea rcx, [0x18008a178]
call fcn.180032130
jmp 0x18001ddbc
lea rax, [rbp + 0x100]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp - 0x28]
cmp rax, qword [rbp - 0x20]
je 0x18001d730
lea rdx, [rbp + 0x100]
mov qword [rax], rdx
add qword [rbp - 0x28], 8
jmp 0x18001ddd3
lea r8, [rsp + 0x58]
mov rdx, qword [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.180006470
jmp 0x18001ddbc
cmp ebx, 0x5c0
ja 0x18001dca2
je 0x18001dc67
mov eax, ebx
sub eax, 0x46d
je 0x18001dbd4
sub eax, 0x71
je 0x18001d7a5
cmp eax, 0x71
jne 0x18001ddd8
mov r8d, dword [rbp - 0x40]
lea rdx, [rbp + 0x270]
lea rcx, [rbp - 0x70]
call qword [sym.imp.WINMM.dll_mmioOpenA]
mov qword [rbp + 0x40], rax
mov rcx, qword [rbp + 0x30]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0x32
mov dword [rsp + 0x54], ecx
jmp 0x18001ddc0
lea rax, [rbp - 0x30]
mov qword [rbp + 0xf0], rax
mov eax, dword [0x18008a1c0]
mov dword [rbp + 0xf8], eax
mov eax, dword [0x18008a1c4]
mov dword [rbp + 0xfc], eax
movaps xmm0, xmmword [rbp + 0xf0]
movdqa xmmword [rbp + 0x260], xmm0
mov dword [rbp - 0x40], r10d
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x20], r10d
lea r9, [rbp + 0x260]
lea r8, [0x180011f30]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbp + 0x30], rax
cmp rax, 0
jne 0x18001ddbc
xor r10d, r10d
mov edi, r10d
mov dword [rsp + 0x58], r10d
cmp edi, 5
ja case.default.0x18001d832
mov ecx, edi
lea rax, [0x180000000]
mov edx, dword [rax + rcx*4 + 0x1e0bc]
add rdx, rax
jmp rdx
mov ecx, r10d
movzx eax, byte [rsp + 0x53]
cmp dword [rbp - 0x3c], 0
cmovne ecx, eax
mov byte [rsp + 0x53], cl
jmp case.default.0x18001d832
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x38]
call qword [sym.imp.dbghelp.dll_SymInitialize]
mov dword [rbp - 0x3c], eax
xor r10d, r10d
mov edx, r10d
movzx ecx, byte [rsp + 0x52]
cmp dword [rbp - 0x38], r10d
cmovne edx, ecx
mov byte [rsp + 0x52], dl
jmp case.default.0x18001d832
mov rsi, 0xffffffffffffffff
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x38], rsi
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.dbghelp.dll_SymInitialize]
mov dword [rbp - 0x38], eax
xor r10d, r10d
jmp case.default.0x18001d832
cmp byte [rsp + 0x52], 0
je 0x18001db7f
mov ebx, 5
lea edi, [rbx + 0x6a]
lea r13d, [rbx + 0x61]
nop dword [rax + rax]
cmp ebx, 0x315
ja 0x18001da44
je 0x18001da38
cmp ebx, 0x18d
ja 0x18001d9d3
je 0x18001d9b4
mov eax, ebx
sub eax, 5
je 0x18001d9a3
sub eax, 0x62
je 0x18001d974
sub eax, 0x62
je 0x18001d947
cmp eax, 0x62
jne 0x18001db62
movsd xmm0, qword [str.er_status]
movsd qword [rbp + 0x56], xmm0
movzx eax, word [0x18006ec58]
mov word [rbp + 0x5e], ax
movzx eax, byte [0x18006ec5a]
mov byte [rbp + 0x60], al
mov word [rsp + 0x70], di
mov eax, dword [str.ffse]
mov dword [rsp + 0x71], eax
movzx eax, byte [0x18006ec60]
mov byte [rsp + 0x75], al
jmp 0x18001db62
lea rcx, [rbp + 0x48]
dec rcx
nop
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x18001d950
movsd xmm0, qword [str.gregnumb]
movsd qword [rcx], xmm0
movzx eax, byte [0x18006ec38]
mov byte [rcx + 8], al
jmp 0x18001db62
lea rcx, [rbp + 0x48]
dec rcx
nop dword [rax + rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x18001d980
movzx eax, word [0x18006e5f8]
mov word [rcx], ax
movzx eax, word [0x180064ae4]
mov word [rbp + 0x4d], ax
jmp 0x18001db62
mov dword [rbp + 0x48], 0x746573
mov word [rbp + 0x4b], r13w
jmp 0x18001db62
mov r8d, 2
lea rdx, [0x18006ec40]
lea rcx, [rsp + 0x70]
call fcn.18004c030
xor r10d, r10d
jmp 0x18001db62
mov eax, ebx
sub eax, 0x1ef
je 0x18001da13
sub eax, 0x62
je 0x18001d9f4
cmp eax, 0x62
jne 0x18001db62
mov word [rsp + 0x79], di
jmp 0x18001db62
mov r8d, 2
lea rdx, [0x18006dec4]
lea rcx, [rsp + 0x78]
call fcn.18004c270
xor r10d, r10d
jmp 0x18001db62
lea rcx, [rsp + 0x70]
dec rcx
nop dword [rax + rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x18001da20
movzx eax, word [0x18006ec3c]
mov word [rcx], ax
jmp 0x18001db62
mov word [rsp + 0x7a], 0x6d
jmp 0x18001db62
cmp ebx, 0x4ff
ja 0x18001daf6
je 0x18001daed
mov eax, ebx
sub eax, 0x377
je 0x18001dabd
sub eax, 0x62
je 0x18001da97
sub eax, 0x62
je 0x18001da80
cmp eax, 0x62
jne 0x18001db62
mov eax, 0x6d
mov word [rbp - 0x79], ax
jmp 0x18001db62
mov eax, 0x65
mov word [rbp - 0x7b], ax
mov eax, 0x3f
mov word [rbp - 0x7a], ax
jmp 0x18001db62
mov r8d, 1
lea rdx, [0x180064ae4]
lea rcx, [rsp + 0x70]
call fcn.18004c030
mov dword [rbp - 0x7e], 0x73206d
xor r10d, r10d
jmp 0x18001db62
movzx eax, word [0x18006ec44]
mov word [rsp + 0x7b], ax
movzx eax, word [0x18006ec48]
mov word [rsp + 0x7d], ax
movzx eax, word [0x18006e588]
mov word [rsp + 0x7f], ax
movzx eax, byte [0x18006e58a]
mov byte [rbp - 0x7f], al
jmp 0x18001db62
mov dword [rbp - 0x78], 0x746e65
jmp 0x18001db62
mov eax, ebx
sub eax, 0x5c3
je 0x18001db56
sub eax, 0x62
je 0x18001db17
cmp eax, 0x62
jne 0x18001db62
mov rcx, rsi
call qword [sym.imp.dbghelp.dll_SymCleanup]
xor r10d, r10d
jmp 0x18001db62
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x40], r10
lea rax, [rbp + 0x350]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [rsp + 0x70]
lea rdx, [rbp + 0x48]
mov rcx, rsi
call qword [sym.imp.dbghelp.dll_SymFindFileInPath]
xor r10d, r10d
jmp 0x18001db62
mov r12d, r10d
mov r15d, r10d
mov r14d, 2
add ebx, 0x62
cmp ebx, 0x6e9
jb 0x18001d8c0
mov dword [rbp - 0x58], r14d
mov edi, dword [rsp + 0x58]
movzx r13d, byte [rsp + 0x50]
cmp byte [rsp + 0x53], 0
je 0x18001db9c
xor edx, edx
mov rcx, qword [rbp + 0x38]
call qword [sym.imp.dbghelp.dll_SymFunctionTableAccess64]
mov rcx, qword [rbp + 0x38]
call qword [sym.imp.dbghelp.dll_SymCleanup]
mov dword [rsp + 0x60], 1
xor r10d, r10d
jmp case.default.0x18001d832
mov byte [rsp + 0x52], 1
mov byte [rsp + 0x53], 1
inc edi
mov dword [rsp + 0x58], edi
lea eax, [rdi + 0x14]
cmp eax, 0x1a
jb 0x18001d816
mov ecx, dword [rsp + 0x54]
mov ebx, dword [rbp + 0x4a8]
jmp 0x18001ddc3
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x270], xmm0
movups xmmword [rbp + 0x280], xmm0
movups xmmword [rbp + 0x290], xmm0
movups xmmword [rbp + 0x2a0], xmm0
movups xmmword [rbp + 0x2b0], xmm0
movups xmmword [rbp + 0x2c0], xmm0
mov dword [rbp + 0x2d0], eax
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp - 0x28]
cmp rax, qword [rbp - 0x20]
je 0x18001dc30
lea rcx, [rbp + 0xa8]
mov qword [rax], rcx
add qword [rbp - 0x28], 8
jmp 0x18001dc42
lea r8, [rsp + 0x58]
mov rdx, qword [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.180006470
mov eax, dword [0x18008a1c0]
mov dword [rsp + 0x58], eax
mov r9d, 0x4d
lea r8, [rsp + 0x58]
xor edx, edx
lea rcx, [rbp - 0x30]
call fcn.180032d30
jmp 0x18001ddbc
mov qword [rsp + 0x58], rax
xor r9d, r9d
lea r8, [rsp + 0x58]
xor edx, edx
mov ecx, 0xc9
call fcn.18000b840
xor r10d, r10d
mov ecx, r10d
movzx eax, r13b
cmp qword [rbp + 0x40], rcx
cmovne ecx, eax
movzx r13d, cl
mov byte [rsp + 0x50], cl
mov ecx, dword [rsp + 0x54]
jmp 0x18001ddc3
mov eax, ebx
sub eax, 0x631
je 0x18001dce4
sub eax, 0x71
je 0x18001dcbe
cmp eax, 0x71
je case.0x18001d832.5
jmp 0x18001ddd8
movzx r8d, cx
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp + 0x68]
call qword [sym.imp.COMDLG32.dll_GetFileTitleW]
xor r10d, r10d
mov dword [rsp + 0x60], r10d
mov ecx, dword [rsp + 0x54]
jmp 0x18001ddc3
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, IUnknown_GetWindow
lea rdx, [0x18008a110]
lea rcx, [rbp - 0x30]
call fcn.1800292e0
mov edx, 0x11f
lea rcx, [rbp + 0x130]
call fcn.18000cf80
test r13b, r13b
je 0x18001ddbc
mov ebx, 0x2e
mov rsi, qword [rbp + 0x40]
mov r14d, dword [rbp - 0x34]
cmp ebx, 0x2e
je 0x18001dd86
cmp ebx, 0x41
je 0x18001dd6e
cmp ebx, 0x54
jne 0x18001dd9d
test r13b, r13b
je 0x18001dd9d
xor r8d, r8d
mov rdx, qword [rbp + 0x28]
mov rcx, rsi
call qword [sym.imp.WINMM.dll_mmioWrite]
lea edx, [rbx - 0x44]
mov rcx, rsi
call qword [sym.imp.WINMM.dll_mmioFlush]
lea edx, [rbx - 0x44]
mov rcx, rsi
call qword [sym.imp.WINMM.dll_mmioClose]
jmp 0x18001dd9d
cmp r14d, 0xffffffff
jne 0x18001dd9d
lea edx, [r14 + 0x11]
mov rcx, rsi
call qword [sym.imp.WINMM.dll_mmioClose]
xor r13b, r13b
jmp 0x18001dd9d
xor eax, eax
mov qword [rbp + 0x28], rax
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WINMM.dll_mmioRead]
mov r14d, eax
add ebx, 0x13
cmp ebx, 0x67
jb 0x18001dd30
mov dword [rbp - 0x34], r14d
mov rsi, qword [rbp + 0x20]
mov r14d, dword [rbp - 0x58]
mov ebx, dword [rbp + 0x4a8]
mov byte [rsp + 0x50], r13b
mov ecx, dword [rsp + 0x54]
xor r10d, r10d
mov r8d, 0x3f
mov r9d, 0x1bb
lea r11d, [r8 - 8]
mov edx, 0x66
add ebx, 0x71
mov dword [rbp + 0x4a8], ebx
cmp ebx, dword [rsp + 0x68]
jae case.0x18001d832.5
jmp 0x18001d2ec
mov dword [rsp + 0x60], 1
mov rbx, qword [rsp + 0x60]
lea rcx, [rbp + 0x1a8]
call fcn.18000a590
mov rdi, qword [rbp + 0x190]
test rdi, rdi
je 0x18001de8a
mov rsi, qword [rbp + 0x198]
cmp rdi, rsi
je 0x18001de38
nop dword [rax]
mov rcx, rdi
call fcn.18001ad30
add rdi, 0x20
cmp rdi, rsi
jne 0x18001de20
mov rdi, qword [rbp + 0x190]
mov rdx, qword [rbp + 0x1a0]
sub rdx, rdi
and rdx, 0xffffffffffffffe0
mov rax, rdi
cmp rdx, 0x1000
jb 0x18001de6b
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001e08f
mov rcx, rdi
call fcn.180045834
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x190], xmm0
xor r14d, r14d
mov qword [rbp + 0x1a0], r14
jmp 0x18001de8d
xor r14d, r14d
mov rcx, qword [rbp + 0x178]
test rcx, rcx
je 0x18001dee3
mov rdx, qword [rbp + 0x188]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001decc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001e08f
call fcn.180045834
mov qword [rbp + 0x178], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x180], xmm0
lea rcx, [rbp + 0x138]
call fcn.18000a4d0
nop
mov rdi, qword [rbp - 0x18]
test rdi, rdi
je 0x18001df7e
mov rsi, qword [rbp - 0x10]
cmp rdi, rsi
je 0x18001df1b
mov rcx, rdi
call fcn.180009c40
add rdi, 0x28
cmp rdi, rsi
jne 0x18001df06
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 0x18001df6a
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001e095
mov rcx, rdi
call fcn.180045834
mov qword [rbp - 0x18], r14
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x10], xmm0
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x18001dfd0
mov rax, qword [rbp - 0x20]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001dfbf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001e095
call fcn.180045834
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r14
mov rdx, qword [rbp + 0xca]
cmp rdx, 0x10
jb 0x18001e011
inc rdx
mov rcx, qword [rbp + 0xb2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e00c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001e09b
call fcn.180045834
movdqa xmm0, xmmword [0x180070360]
movdqu xmmword [rbp + 0xc2], xmm0
mov byte [rbp + 0xb2], 0
mov rdx, qword [rbp + 0x122]
cmp rdx, 0x10
jb 0x18001e065
inc rdx
mov rcx, qword [rbp + 0x10a]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e060
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001e089
call fcn.180045834
mov rax, rbx
lea r11, [rsp + 0x560]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18004bb04
nop
call fcn.18004bb04
nop
call fcn.18004bb04
nop
call fcn.18004bb04
int3