Function at 0x180096610
Capabilities:
Create thread
Get common file path

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x748]
sub rsp, 0x848
mov rax, qword [0x1800e5c38]
xor rax, rsp
mov qword [rbp + 0x730], rax
mov r12, r9
mov qword [rsp + 0x58], r8
mov r13, rdx
mov r14, rcx
mov rax, qword [rbp + 0x7b0]
mov qword [rsp + 0x60], rax
movdqa xmm0, xmmword [0x1800df5d0]
movdqa xmmword [rbp + 0x1d0], xmm0
mov byte [rbp + 0x1c0], 0
movdqa xmm1, xmm0
movdqa xmmword [rbp + 0x1f0], xmm0
mov byte [rbp + 0x1e0], 0
movdqa xmmword [rbp + 0x210], xmm0
mov byte [rbp + 0x200], 0
movdqa xmmword [rbp + 0x240], xmm0
mov byte [rbp + 0x230], 0
movdqa xmmword [rbp + 0x260], xmm0
mov byte [rbp + 0x250], 0
xor ecx, ecx
mov qword [rbp + 0x60], rcx
mov word [rbp + 0x68], cx
movdqu xmmword [rbp + 0x7a], xmm0
mov byte [rbp + 0x6a], cl
mov qword [rbp + 0x30], rcx
mov word [rbp + 0x38], cx
movdqu xmmword [rbp + 0x4a], xmm0
mov byte [rbp + 0x3a], cl
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rcx
movdqa xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x98], rcx
mov qword [rbp + 0xa0], rcx
mov ecx, 0x30
call fcn.1800cfd1c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x98], rax
xor r9d, r9d
mov qword [rbp + 0xa8], r9
xorps xmm2, xmm2
movsd qword [rbp + 0xb0], xmm2
mov qword [rbp + 0xb8], r9
mov edi, 1
mov dword [rbp + 0xc0], edi
mov qword [rbp + 0xc8], r9
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xd0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], r9
mov qword [rbp + 0x108], 0xffffffffffffffff
mov dword [rbp + 0x110], r9d
xor eax, eax
movups xmmword [rbp + 0x118], xmm0
movups xmmword [rbp + 0x128], xmm0
movups xmmword [rbp + 0x138], xmm0
movups xmmword [rbp + 0x148], xmm0
mov qword [rbp + 0x158], rax
movdqa xmm0, xmmword [0x1800df5d0]
movdqa xmmword [rbp + 0x170], xmm0
mov byte [rbp + 0x160], al
mov word [rbp + 0x180], r9w
mov dword [rbp + 0x184], r9d
mov qword [rbp + 0x188], r9
xorps xmm0, xmm0
movaps xmmword [rbp + 0x190], xmm0
movsd qword [rbp + 0x1a0], xmm2
mov byte [rbp + 0x1a8], al
mov qword [rbp + 0x1ac], r9
mov eax, dword [rbp + 0x7b8]
mov esi, eax
lea edx, [rax + 0x1d]
mov dword [rsp + 0x30], edx
lea rcx, [0x180000000]
mov ebx, dword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov qword [rsp + 0x40], r8
cmp eax, edx
mov edx, dword [rsp + 0x50]
mov dword [rsp + 0x34], edx
jae 0x18009697c
lea edi, [rax - 0xef]
mov r9d, 0x6e
mov r11d, 0x6e2e
mov r10d, 0x7865
mov r15, qword [rsp + 0x70]
mov eax, dword [rsp + 0x30]
cmp edi, 0x78
ja case.default.0x180096874
movzx eax, byte [rcx + rdi + 0x976a0]
mov ecx, dword [rcx + rax*4 + 0x97634]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov word [rbp + 0x4ae], r9w
jmp case.0x180096874.26
mov byte [rbp + 0x4b3], 0
jmp case.0x180096874.26
mov r15, r12
movzx eax, word [r14 + 6]
movzx ecx, al
cmp dword [r12 + 8], ecx
je case.0x180096874.26
mov ecx, 0x98
nop word [rax + rax]
mov eax, ecx
sub eax, 0x98
je 0x1800968c4
cmp eax, 0x6b
je case.0x180096874.25
jmp 0x1800968c8
xor eax, eax
mov ebx, eax
add ecx, 0x6b
cmp ecx, 0x16e
jb 0x1800968b0
jmp case.0x180096874.26
mov rdx, qword [r14]
mov rax, qword [rsp + 0x60]
mov r9d, dword [rax]
cmp r9, qword [rdx + 0x20]
jb 0x1800968f8
mov eax, dword [r13]
dec eax
add eax, r9d
cmp rax, qword [rdx + 0x30]
jbe 0x18009691d
mov eax, 6
nop dword [rax]
cmp eax, 6
je 0x180096910
cmp eax, 9
je case.0x180096874.25
jmp 0x180096915
mov ebx, 0x7f2bb747
add eax, 3
cmp eax, 0xc
jb 0x180096900
mov r8d, dword [r13]
add r8d, 7
shr r8, 3
shr r9, 3
add r9, qword [rdx + 0x40]
mov rdx, r12
mov rcx, r9
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [rsp + 0x34]
mov r8, qword [rsp + 0x40]
mov r10d, 0x7865
mov r11d, 0x6e2e
mov r9d, 0x6e
mov eax, dword [rsp + 0x30]
lea rcx, [0x180000000]
inc esi
inc edi
cmp esi, eax
jb 0x180096852
mov edi, 1
mov eax, dword [rbp + 0x7b8]
xor r9d, r9d
cmp eax, dword [rsp + 0x30]
jae case.0x180096874.25
lea esi, [rax - 0x129]
mov dword [rsp + 0x48], esi
mov r10d, 0x1bb
movabs r11, 0x740044006c0065
movzx r15d, byte [rsp + 0x38]
movzx r12d, byte [rsp + 0x38]
mov r14, qword [rsp + 0x70]
movzx r13d, byte [rsp + 0x38]
mov eax, dword [rsp + 0x30]
nop dword [rax + rax]
cmp esi, 0x1e
ja case.default.0x1800969da
mov ecx, dword [rcx + rsi*4 + 0x9771c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov r8, r14
mov qword [rsp + 0x40], r14
jmp case.0x180096874.26
mov eax, dword [0x1800dc1ee]
mov dword [rbp + 0x4c2], eax
movzx eax, word [0x1800dc1f2]
mov word [rbp + 0x4c6], ax
jmp case.0x180096874.26
movzx edx, byte [r8]
shl edx, 8
movzx eax, byte [r8 + 1]
or edx, eax
mov dword [rsp + 0x34], edx
add r8, 2
mov qword [rsp + 0x40], r8
jmp case.0x180096874.26
mov rcx, qword [r14]
mov r9, qword [rsp + 0x58]
test rcx, rcx
je 0x180096a40
mov eax, dword [r9]
cmp dword [rcx], eax
je 0x180096951
mov eax, 0x10b
cmp eax, 0x10b
je 0x180096c1e
add eax, 0x96
cmp eax, 0x1a1
jb 0x180096a45
jmp 0x180096951
mov rax, qword [rsp + 0x58]
mov word [rax + 4], dx
jmp case.0x180096874.26
mov dword [rbp + 0x4af], 0x74656e2e
jmp case.0x180096874.26
movzx eax, word [r14 + 6]
movzx r8d, al
lea rdx, [r14 + 8]
mov rcx, qword [r15]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
mov r9d, 0x6e
test eax, eax
je 0x180096abe
mov ecx, r9d
mov eax, ecx
sub eax, r9d
je 0x180096ab3
cmp eax, 1
je case.0x180096874.25
jmp 0x180096ab7
xor eax, eax
mov ebx, eax
inc ecx
cmp ecx, 0x70
jb 0x180096aa1
mov rcx, qword [r15 + 0x10]
mov eax, dword [r14]
mov dword [rcx], eax
mov edx, dword [rsp + 0x34]
mov r8, qword [rsp + 0x40]
mov r10d, 0x7865
mov r11d, 0x6e2e
jmp case.0x180096874.26
shl edx, 8
movzx eax, byte [r8]
or edx, eax
mov dword [rsp + 0x34], edx
inc r8
mov qword [rsp + 0x40], r8
mov rax, qword [rsp + 0x58]
mov dword [rax], edx
jmp case.0x180096874.26
mov word [rbp + 0x4a4], r10w
mov dword [rbp + 0x4a6], 0x73657270
jmp case.0x180096874.26
mov dword [rbp + 0x4aa], 0x70762d73
jmp case.0x180096874.26
inc dword [r15 + 0x18]
jmp case.0x180096874.26
mov eax, 0x7f
cmp eax, 0x7f
je 0x180096c26
add eax, 0x1555
cmp eax, 0x1555
jbe 0x180096b36
shl edx, 8
movzx eax, byte [r8]
or edx, eax
mov dword [rsp + 0x34], edx
inc r8
mov qword [rsp + 0x40], r8
mov rax, qword [rsp + 0x58]
mov word [rax + 6], dx
jmp case.0x180096874.26
movzx edx, byte [r8]
mov dword [rsp + 0x34], edx
inc r8
mov qword [rsp + 0x40], r8
jmp case.0x180096874.26
shl edx, 8
movzx eax, byte [r8]
or edx, eax
mov dword [rsp + 0x34], edx
inc r8
mov qword [rsp + 0x40], r8
jmp case.0x180096874.26
mov eax, dword [0x1800dc218]
mov dword [rbp + 0x4c8], eax
movzx eax, word [0x1800dc21c]
mov word [rbp + 0x4cc], ax
jmp case.0x180096874.26
mov dword [rbp + 0x4a0], 0x2d746567
jmp case.0x180096874.26
mov ebx, 2
jmp case.0x180096874.26
movsd xmm0, qword [str.std.istreambuf_iterator_unsigned_short_std::char_traits_unsigned_short___._Peek]
movsd qword [rbp + 0x4b8], xmm0
movzx eax, word [0x1800dc268]
mov word [rbp + 0x4c0], ax
jmp case.0x180096874.26
cmp byte [0x1800eaa89], 0
je case.0x180096874.26
call qword [0x1800eaa70]
jmp 0x18009693c
xor eax, eax
mov word [rbp + 0x4c2], ax
jmp case.0x180096874.26
mov ebx, dword [r9]
jmp case.0x180096874.25
xor eax, eax
mov ebx, eax
jmp case.0x180096874.25
lea r8, [rbp - 0x70]
xor edx, edx
lea ecx, [rdx + 0x55]
call fcn.1800564c0
xor r9d, r9d
jmp 0x180097381
mov r9d, 0x25
lea r8, [rbp + 0x1c0]
lea rdx, [rbp + 0x230]
xor ecx, ecx
call fcn.1800b9200
mov eax, 0x1bb
mov word [rsp + 0x48], ax
lea rax, [0x1800e59a8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x60]
xor r8d, r8d
mov edx, 0xd2
lea rcx, [rsp + 0x48]
call fcn.1800654d0
xor r9d, r9d
jmp 0x180097381
mov word [rsp + 0x48], r10w
lea r9, [rsp + 0x48]
mov r8d, 0x67
lea rdx, [0x1800e59c8]
lea rcx, [rbp + 0x30]
call fcn.1800602d0
xor r9d, r9d
jmp 0x180097381
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rax, [0x180052800]
mov qword [rsp + 0x48], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x48]
lea ecx, [r9 + 0x18]
call fcn.1800b2170
xor r9d, r9d
jmp 0x180097381
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
jmp case.0x1800969da.27
mov dword [rsp + 0x78], r9d
mov eax, dword [0x1800e59f0]
mov dword [rsp + 0x48], eax
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x48]
mov ecx, 0x13
call fcn.180057e40
xor r9d, r9d
jmp 0x180097381
mov r8d, dword [rsp + 0x78]
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x4b8]
call qword [sym.imp.WINMM.dll_mmioOpenW]
mov qword [rsp + 0x60], rax
cmp qword [rbp - 0x18], 0
jne 0x180096c3d
mov edi, 0xfa
cmp edi, 0x36a
ja 0x180096e2e
je 0x180096dfc
cmp edi, 0xfa
je 0x180096df4
cmp edi, 0x196
je 0x180096de5
cmp edi, 0x232
je 0x180096dd2
cmp edi, 0x2ce
jne 0x180096eab
xor edx, edx
mov r8d, 0x148
lea rcx, [rbp + 0x350]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rsp + 0x68], eax
jmp 0x180096eab
mov dword [rsp + 0x6c], 0x36
xor eax, eax
mov qword [rbp - 0x20], rax
jmp 0x180096eab
xor eax, eax
mov qword [rbp + 0x10], rax
mov qword [rbp - 8], rax
jmp 0x180096eab
mov r15b, 1
jmp 0x180096eab
mov dword [rbp + 0x358], 0x148
lea rax, [rbp + 0x520]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x68]
mov r8, qword [rbp - 0x20]
mov edx, dword [rsp + 0x6c]
mov rcx, qword [rbp - 8]
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov dword [rbp - 0x80], eax
jmp 0x180096eab
cmp edi, 0x406
je 0x180096e91
cmp edi, 0x4a2
je 0x180096e70
cmp edi, 0x53e
je 0x180096e58
cmp edi, 0x5da
jne 0x180096eab
mov ebx, 1
jmp case.0x180096874.25
mov r8d, dword [rsp + 0x7c]
lea rdx, [rbp + 0x350]
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.GDI32.dll_GetLogColorSpaceA]
jmp 0x180096eab
test r15b, r15b
je 0x180096eab
lea r9, [rbp + 0x520]
mov r8d, dword [rsp + 0x68]
mov rdx, qword [rbp - 0x20]
mov ecx, dword [rsp + 0x6c]
call qword [sym.imp.SHELL32.dll_SHSetFolderPathW]
jmp 0x180096eab
mov dword [rsp + 0x7c], 1
xor eax, eax
mov ecx, eax
movzx eax, r15b
cmp dword [rbp - 0x80], ecx
cmove ecx, eax
movzx r15d, cl
add edi, 0x9c
cmp edi, 0x676
jb 0x180096d81
xor r9d, r9d
jmp 0x180097381
lea rax, [rbp - 0x70]
mov qword [rbp], rax
mov eax, dword [0x1800e59f0]
mov dword [rbp + 8], eax
mov eax, dword [0x1800e59f4]
mov dword [rbp + 0xc], eax
movaps xmm0, xmmword [rbp]
movdqa xmmword [rbp + 0x20], xmm0
mov qword [rsp + 0x28], r9
mov dword [rsp + 0x20], r9d
lea r9, [rbp + 0x20]
lea r8, [0x18005d240]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbp - 0x18], rax
xor r9d, r9d
jmp 0x180097381
mov word [rbp + 0x4d2], r9w
jmp case.0x1800969da.27
lea rax, [rbp + 0x60]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp - 0x68]
cmp rax, qword [rbp - 0x60]
je 0x180096f44
lea rcx, [rbp + 0x60]
mov qword [rax], rcx
add qword [rbp - 0x68], 8
jmp case.0x1800969da.27
lea r8, [rsp + 0x48]
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp - 0x70]
call fcn.180048b70
xor r9d, r9d
jmp 0x180097381
lea rax, [rbp + 0x30]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp - 0x68]
cmp rax, qword [rbp - 0x60]
je 0x180096f44
lea rcx, [rbp + 0x30]
mov qword [rax], rcx
add qword [rbp - 0x68], 8
jmp case.0x1800969da.27
mov qword [rbp + 0x4de], r11
jmp case.0x1800969da.27
mov qword [rsp + 0x20], r9
lea r9, [rbp + 0x200]
xor edx, edx
xor ecx, ecx
mov r8d, 0xf8
call fcn.180060a90
xor r9d, r9d
jmp 0x180097381
cmp byte [rsp + 0x38], 0
je case.0x1800969da.27
mov edx, 0x10
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.WINMM.dll_mmioClose]
xor r9d, r9d
jmp 0x180097381
xor r8d, r8d
lea rdx, [rbp + 0x90]
mov ecx, 0xdb
call fcn.18008dba0
xor r9d, r9d
jmp 0x180097381
mov word [rbp + 0x4e6], r9w
mov r8, rdi
lea rdx, [0x1800dc304]
lea rcx, [rbp + 0x4e6]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
xor r9d, r9d
jmp 0x180097381
mov r8, rdi
lea rdx, [0x1800dc360]
lea rcx, [rbp + 0x4d2]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
xor r9d, r9d
jmp 0x180097381
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
xor r9d, r9d
jmp 0x180097381
mov word [rbp + 0x4ce], r9w
jmp case.0x1800969da.27
mov dword [rbp + 0x4ce], 0x3f0065
jmp case.0x1800969da.27
mov word [rbp + 0x4e8], r9w
jmp case.0x1800969da.27
mov r8, rdi
lea rdx, [0x1800dc3c8]
lea rcx, [rbp + 0x1e0]
call fcn.1800686d0
mov r10d, 0x1bb
mov word [rbp + 0x220], r10w
xor r9d, r9d
jmp 0x180097387
mov r9d, 0x89
lea r8, [0x1800e5940]
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x90]
call fcn.18004df50
xor r9d, r9d
mov ecx, r9d
movzx eax, byte [rsp + 0x38]
cmp qword [rsp + 0x60], rcx
cmovne ecx, eax
mov byte [rsp + 0x38], cl
jmp 0x180097381
mov byte [rsp + 0x38], 1
lea rax, [rbp + 0x4a0]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800970f0
lea rdx, [rbp + 0x4a0]
lea rcx, [rbp + 0x1c0]
call fcn.1800686d0
xor r9d, r9d
jmp 0x180097381
mov eax, dword [r8]
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0xa], eax
movzx eax, word [r8 + 4]
mov word [rcx + 0xe], ax
jmp case.0x1800969da.27
mov rax, qword [rsp + 0x58]
mov word [rax + 8], dx
jmp case.0x1800969da.27
mov word [rbp + 0x4d4], r9w
mov r8d, 5
lea rdx, [0x1800dc432]
lea rcx, [rbp + 0x4b8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
xor r9d, r9d
jmp 0x180097381
mov r8, rdi
lea rdx, [0x1800dc486]
lea rcx, [rbp + 0x4b8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
xor r9d, r9d
mov r8d, SHStripMneumonicA
lea rdx, [0x1800e5948]
xor ecx, ecx
call fcn.18006bc90
test al, al
jne 0x180096c3d
mov esi, 0xd
cmp esi, 0xd
ja case.default.0x1800971bd
mov eax, esi
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x97798]
add rcx, rdx
jmp rcx
test r12b, r12b
je 0x1800971ce
mov ecx, dword [rsp + 0x50]
call qword [sym.imp.GDI32.dll_GdiSetBatchLimit]
mov r8, qword [rsp + 0x70]
mov edx, dword [rbp - 0x7c]
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
jmp case.default.0x1800971bd
xor r8d, r8d
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp + 0x4f0]
call qword [sym.imp.WINMM.dll_mmioOpenW]
mov r14, rax
jmp case.default.0x1800971bd
movups xmm0, xmmword [str.FindC_ngr]
movups xmmword [rbp + 0x4f0], xmm0
mov eax, dword [0x1800dc4b8]
mov dword [rbp + 0x500], eax
jmp case.default.0x1800971bd
xor r9d, r9d
mov qword [rbp - 0x10], r9
jmp 0x18009736f
mov r13b, 1
jmp case.default.0x1800971bd
xor r9d, r9d
mov qword [rsp + 0x70], r9
mov ecx, r9d
movzx eax, r12b
cmp dword [rsp + 0x50], r9d
cmovne ecx, eax
movzx r12d, cl
jmp 0x18009736f
xor r9d, r9d
mov ecx, r9d
movzx eax, r13b
test r14, r14
cmovne ecx, eax
movzx r13d, cl
jmp 0x18009736f
call qword [sym.imp.GDI32.dll_GdiGetBatchLimit]
mov dword [rsp + 0x50], eax
xor r9d, r9d
mov dword [rbp - 0x7c], r9d
jmp 0x18009736f
mov r12b, 1
jmp case.default.0x1800971bd
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x2e0], xmm0
movups xmmword [rbp + 0x2f0], xmm0
movups xmmword [rbp + 0x300], xmm0
movups xmmword [rbp + 0x310], xmm0
movups xmmword [rbp + 0x320], xmm0
movups xmmword [rbp + 0x330], xmm0
mov dword [rbp + 0x340], eax
jmp case.default.0x1800971bd
movsd xmm0, qword [str.Expr]
movsd qword [rbp + 0x50a], xmm0
movsd xmm0, qword [str.ession]
movsd qword [rbp + 0x512], xmm0
mov eax, dword [0x1800dc4d8]
mov dword [rbp + 0x51a], eax
movzx eax, word [0x1800dc4dc]
mov word [rbp + 0x51e], ax
jmp case.default.0x1800971bd
movabs rax, 0x6e00650075
mov qword [rbp + 0x502], rax
mov dword [rbp + 0x508], 0x74
jmp case.default.0x1800971bd
test r13b, r13b
je case.default.0x1800971bd
mov edi, 0x109
nop dword [rax + rax]
cmp edi, 0x109
je 0x180097350
cmp edi, 0xa5a
jne 0x18009735e
mov edx, 0x10
mov rcx, r14
call qword [sym.imp.WINMM.dll_mmioClose]
jmp 0x18009735e
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.WINMM.dll_mmioRead]
add edi, 0x951
cmp edi, 0x12a2
jbe 0x180097330
xor r9d, r9d
dec esi
lea eax, [rsi + 3]
cmp eax, 2
ja 0x1800971a1
mov esi, dword [rsp + 0x48]
mov r10d, 0x1bb
mov edx, dword [rsp + 0x34]
mov r8, qword [rsp + 0x40]
movabs r11, 0x740044006c0065
mov eax, dword [rsp + 0x30]
mov edi, dword [rbp + 0x7b8]
inc edi
mov dword [rbp + 0x7b8], edi
inc esi
mov dword [rsp + 0x48], esi
cmp edi, eax
jae case.0x180096874.25
mov edi, 1
lea rcx, [0x180000000]
jmp 0x1800969c0
mov esi, 1
jmp 0x1800973d5
mov ebx, r9d
mov esi, ebx
lea rcx, [rbp + 0x108]
call fcn.18004abf0
mov rbx, qword [rbp + 0xf0]
test rbx, rbx
je 0x18009744c
mov rdi, qword [rbp + 0xf8]
cmp rbx, rdi
je 0x180097418
nop dword [rax]
mov rcx, rbx
call fcn.180066130
add rbx, 0x20
cmp rbx, rdi
jne 0x180097400
mov rbx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0x100]
sub r8, rbx
sar r8, 5
mov rdx, rbx
lea rcx, [rbp + 0xf0]
call fcn.1800702e0
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xf0], xmm0
xor r14d, r14d
mov qword [rbp + 0x100], r14
jmp 0x18009744f
xor r14d, r14d
mov rdx, qword [rbp + 0xd8]
test rdx, rdx
je 0x180097487
mov r8, qword [rbp + 0xe8]
sub r8, rdx
sar r8, 4
lea rcx, [rbp + 0xd8]
call fcn.180070240
mov qword [rbp + 0xd8], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xe0], xmm0
lea rcx, [rbp + 0x98]
call fcn.18004ab20
nop
mov rbx, qword [rbp - 0x58]
test rbx, rbx
je 0x18009752b
mov rdi, qword [rbp - 0x50]
cmp rbx, rdi
je 0x1800974c5
nop word [rax + rax]
mov rcx, rbx
call fcn.18004a430
add rbx, 0x28
cmp rbx, rdi
jne 0x1800974b0
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x48]
sub rcx, rbx
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, rbx
cmp rdx, 0x1000
jb 0x180097517
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180097517
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.1800cfd58
mov qword [rbp - 0x58], r14
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
mov rdx, qword [rbp - 0x70]
test rdx, rdx
je 0x180097554
mov r8, qword [rbp - 0x60]
sub r8, rdx
sar r8, 3
lea rcx, [rbp - 0x70]
call fcn.1800701f0
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp + 0x52]
cmp rdx, 0x10
jb 0x180097592
inc rdx
mov rcx, qword [rbp + 0x3a]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009758d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18009758d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800cfd58
movdqa xmm0, xmmword [0x1800df5d0]
movdqu xmmword [rbp + 0x4a], xmm0
mov byte [rbp + 0x3a], 0
mov rdx, qword [rbp + 0x82]
cmp rdx, 0x10
jb 0x1800975e4
inc rdx
mov rcx, qword [rbp + 0x6a]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800975df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800975df
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800cfd58
movdqa xmm0, xmmword [0x1800df5d0]
movdqu xmmword [rbp + 0x7a], xmm0
mov byte [rbp + 0x6a], 0
lea rcx, [rbp + 0x230]
call fcn.18004a790
nop
lea rcx, [rbp + 0x1c0]
call fcn.18004a840
mov eax, esi
mov rcx, qword [rbp + 0x730]
xor rcx, rsp
call fcn.1800d0500
add rsp, 0x848
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret