Function at 0x1800256e0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x420]
sub rsp, 0x520
mov rax, qword [0x18007b358]
xor rax, rsp
mov qword [rbp + 0x418], rax
mov qword [rbp - 0x40], rcx
mov r13, r9
mov rbx, qword [rbp - 0x40]
lea rcx, [0x180000000]
imul r12d, r8d, 0x1040
mov r10d, r8d
mov dword [rsp + 0x50], r8d
mov r11, rdx
mov qword [rsp + 0x58], rdx
mov edi, r8d
cmp r8d, r12d
ja 0x180026312
movzx eax, byte [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
mov r15d, dword [rbp - 0x68]
mov r14d, dword [rbp - 0x68]
mov esi, dword [rbp - 0x68]
mov byte [rsp + 0x40], al
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x68], rax
mov qword [rsp + 0x60], rbx
mov r9d, 0x79
lea r8d, [r9 - 0x2b]
lea edx, [r9 - 0x3a]
cmp edi, 0xaa43
ja 0x180025d91
je 0x180025d79
cmp edi, 0x37f2
ja 0x180025bed
je 0x180025bd4
cmp edi, 0xb42
ja 0x180025b70
je 0x180025b49
mov eax, edi
sub eax, 0x16
je 0x180025b31
sub eax, 0x3d
je 0x180025818
movzx edx, byte [rsp + 0x40]
sub eax, 0x54
je 0x1800257e1
cmp eax, 0x41
jne 0x180025a0b
mov dword [rbp + 0x2e0], 0x6f7250
jmp 0x180025a0b
mov eax, dword [r11]
lea r9, [0x180000000]
xor r8d, r8d
mov qword [rbp - 0x48], rcx
mov dword [r9 + rax*4 + 0x7bc64], r8d
mov eax, dword [r11]
cmp qword [r9 + rax*8 + 0x7bc68], r8
je 0x180025a0b
mov qword [r9 + rax*8 + 0x7bc68], r8
jmp 0x180025a0b
xor r9d, r9d
xor r8d, r8d
mov edx, 0x122
xor ecx, ecx
call fcn.180067b50
test eax, eax
je 0x180025a9a
mov r8d, 0x51
cmp r8d, 0x51
je 0x18002587a
cmp r8d, 0xd9
jne 0x1800259e3
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, rax
neg rcx
and rcx, rax
movabs rax, 0x218a392cdabbd3f
imul rcx, rax
shr rcx, 0x3a
mov eax, dword [rbp + rcx*4 + 0x1d0]
jmp 0x180027a73
movdqa xmm1, xmmword [0x180075210]
lea rax, [rbp + 0x1d0]
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmm1, xmmword [0x1800752d0]
lea rcx, [rbp + 0xd0]
movdqa xmmword [rbp + 0xd0], xmm0
mov edx, 2
movdqa xmm0, xmmword [0x180075220]
movdqa xmmword [rbp + 0xf0], xmm0
movdqa xmm0, xmmword [0x1800752a0]
movdqa xmmword [rbp + 0x100], xmm1
movdqa xmm1, xmmword [0x180075260]
movdqa xmmword [rbp + 0x110], xmm0
movdqa xmm0, xmmword [0x180075250]
movdqa xmmword [rbp + 0x120], xmm1
movdqa xmm1, xmmword [0x1800752e0]
movdqa xmmword [rbp + 0x130], xmm0
movdqa xmm0, xmmword [0x180075200]
movdqa xmmword [rbp + 0x140], xmm1
movdqa xmm1, xmmword [0x1800752b0]
movdqa xmmword [rbp + 0x150], xmm0
movdqa xmm0, xmmword [0x180075280]
movdqa xmmword [rbp + 0x160], xmm1
movdqa xmm1, xmmword [0x1800752c0]
movdqa xmmword [rbp + 0x170], xmm0
movdqa xmm0, xmmword [0x180075240]
movdqa xmmword [rbp + 0x180], xmm1
movdqa xmm1, xmmword [0x180075270]
movdqa xmmword [rbp + 0x190], xmm0
movdqa xmm0, xmmword [0x180075290]
movdqa xmmword [rbp + 0x1a0], xmm1
movdqa xmm1, xmmword [0x1800752f0]
movdqa xmmword [rbp + 0x1b0], xmm0
movdqa xmmword [rbp + 0x1c0], xmm1
nop dword [rax + rax]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x180025990
add r8d, 0x88
cmp r8d, 0x161
jb 0x180025838
mov r11, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
movzx edx, byte [rsp + 0x40]
imul eax, r10d, 0x82
add edi, eax
cmp edi, r12d
jbe 0x18002576b
mov r9, qword [rbp - 0x68]
lea rcx, [0x180000000]
mov r8d, dword [rbp - 0x80]
lea r12d, [r10 + 0x20]
mov dword [rbp - 0x70], r12d
mov r14d, r10d
mov dword [rsp + 0x48], r8d
cmp r10d, r12d
jae 0x180026e81
mov r13d, dword [rbp - 0x80]
mov edi, 0x66
mov esi, dword [rbp - 0x68]
movabs r10, 0x6f004300650067
mov r15d, dword [rbp - 0x68]
mov dword [rsp + 0x68], r13d
nop dword [rax]
nop dword [rax + rax]
lea eax, [r14 - 0x16]
cmp eax, 0xdf
ja case.default.0x180025a98
movzx eax, byte [rcx + rax + 0x27d34]
mov ecx, dword [rcx + rax*4 + 0x27cb0]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov r8d, SHSetFolderPathW
mov eax, r8d
sub eax, 0xe4
je 0x180027a6f
mov r11, qword [rsp + 0x58]
sub eax, 1
je 0x180025b18
sub eax, 1
je 0x180025b0c
cmp eax, 1
jne 0x180025b1c
mov rdx, qword [r11]
movabs rax, 0xffffffff00000000
test rax, rdx
jne 0x180025adb
mov eax, 4
jmp 0x180025ae1
xor eax, eax
shr rdx, 0x20
lea esi, [rax + 2]
cmp rdx, 0x10000
mov rcx, rdx
cmovae esi, eax
shr rcx, 0x18
mov rax, rdx
shr rax, 8
cmp rdx, 0x10000
cmovae rax, rcx
mov qword [r11], rax
jmp 0x180025b1c
xor eax, eax
cmp qword [r11], rax
sete al
add esi, eax
jmp 0x180025b1c
mov dword [rsp + 0x70], esi
dec r8d
cmp r8d, 0xe3
ja 0x180025aa0
jmp 0x1800259fc
mov eax, 0x46
mov word [rbp + 0x2f0], ax
mov word [rbp + 0x2f1], dx
jmp 0x180025a06
mov eax, 0x27
mov dword [rbp + 0x2f2], 0x6c6622
mov word [rbp + 0x2f5], ax
mov eax, 0x20
mov word [rbp + 0x2f6], ax
jmp 0x180025a06
cmp edi, 0x166e
je 0x180025bb9
cmp edi, 0x219a
je 0x180025baa
movzx edx, byte [rsp + 0x40]
cmp edi, 0x2cc6
jne 0x180025a0b
mov dword [rbp + 0x2ff], 0x2b3123
mov dword [rbp + 0x302], 0x2056654f
jmp 0x180025a0b
mov dword [rbp + 0x2fb], 0x77377648
jmp 0x180025a06
mov eax, 0x69
mov dword [rbp + 0x2f7], 0x38734f
mov word [rbp + 0x2fa], ax
jmp 0x180025a06
mov eax, 0x5d
mov word [rbp + 0x306], ax
mov word [rbp + 0x307], r8w
jmp 0x180025a06
cmp edi, 0x5976
ja 0x180025ceb
je 0x180025cc3
cmp edi, 0x431e
je 0x180025cb0
cmp edi, 0x4e4a
je 0x180025c8e
cmp edi, 0x5575
jne 0x180025a06
xor r9d, r9d
xor r8d, r8d
mov edx, 0x12c
xor ecx, ecx
call fcn.180067b50
mov qword [rsp + 0x60], rax
mov rbx, rax
test rax, rax
je 0x1800262c7
xor eax, eax
mov dword [rbp - 0x78], eax
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax]
mov dword [rbp - 0x70], ecx
lea rax, [rbp - 0x70]
mov ecx, 0x25
mov qword [rsp + 0x28], rbx
lea r9, [rbp - 0x78]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x78]
mov dword [rsp + 0x68], 0x200
lea rdx, [rsp + 0x68]
call fcn.180020d80
mov dword [0x18007bc70], eax
jmp 0x1800259f7
movzx eax, word [r13]
lea rdx, [rsp + 0x48]
mov r8d, 0x103
mov word [rsp + 0x48], ax
mov rcx, r11
call fcn.180014a30
jmp 0x1800259f7
mov dl, 1
mov word [rbp + 0x308], r9w
mov byte [rsp + 0x40], dl
jmp 0x180025a0b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x10], xmm0
mov dword [rbp + 0x50], eax
xor r15d, r15d
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
jmp 0x180025a06
cmp edi, 0x64a2
je 0x180025d6a
cmp edi, 0x6fce
je 0x180025d2f
movzx edx, byte [rsp + 0x40]
cmp edi, 0x76b8
jne 0x180025a0b
mov eax, 0x6563
mov dword [rbp + 0x2e5], 0x32337373
mov word [rbp + 0x2e3], ax
mov word [rbp + 0x2e9], r8w
jmp 0x180025a0b
mov r8d, r15d
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x2f0]
call qword [sym.imp.WINMM.dll_mmioOpenA]
mov rcx, qword [rsp + 0x60]
mov r11, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x50]
mov qword [rbp - 0x68], rax
test rax, rax
jne 0x180025a06
xor dl, dl
mov byte [rsp + 0x40], dl
jmp 0x180025a0b
lea rax, [0x180028920]
mov qword [r11], rax
jmp 0x180025a06
cmp dword [0x18007bc70], 0
jne 0x1800262d1
mov r14d, 0x1be
jmp 0x180025a06
cmp edi, 0x24df8
ja 0x180025fba
je 0x180025fa9
cmp edi, 0x16258
ja 0x180025eda
je 0x180025ebd
cmp edi, 0xec88
je 0x180025e94
cmp edi, 0xff11
je 0x180025e1a
cmp edi, 0x153df
jne 0x180025a06
lea eax, [r14 + 1]
movzx edx, byte [rax + rbx]
lea r8, [0x180000000]
mov eax, dword [r11]
imul rcx, rax, 0x104
lea eax, [r14 + 2]
mov dword [rcx + r8 + 0x7bb48], edx
movzx edx, byte [rax + rbx]
mov eax, dword [r11]
and edx, 0x3f
dec edx
imul rcx, rax, 0x104
mov dword [rcx + r8 + 0x7bb4c], edx
jmp 0x180025a01
movzx edx, byte [rbx + 0x1fe]
lea r9, [0x180000000]
movzx eax, byte [rbx + 0x1ff]
shl dx, 8
or dx, ax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov eax, r14d
mov word [rcx + r9 + 0x7bbe0], dx
movzx edx, byte [rax + rbx]
mov eax, dword [r11]
imul rcx, rax, 0x104
lea eax, [r14 + 2]
mov dword [rcx + r9 + 0x7bb40], edx
movzx edx, byte [rax + rbx]
lea eax, [r14 + 3]
movzx eax, byte [rax + rbx]
and edx, 0xc0
shl edx, 2
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bb44], edx
jmp 0x180025a01
mov eax, 0x65
mov word [rbp + 0x2ea], ax
mov eax, 0x78
mov word [rbp + 0x2eb], ax
mov eax, 0x74
mov word [rbp + 0x2ec], ax
jmp 0x180025a06
mov eax, 0x57
mov word [rbp + 0x2ed], ax
mov eax, 0x6b
mov word [rbp + 0x368], ax
jmp 0x180025a06
cmp edi, 0x1a8ad
je 0x180025f84
cmp edi, 0x1d828
je 0x180025f69
cmp edi, 0x1fd7b
jne 0x180025a06
lea eax, [r14 + 7]
movzx edx, byte [rax + rbx]
lea r9, [0x180000000]
lea r8d, [r14 + 6]
movzx eax, byte [r8 + rbx]
and eax, 0xc0
shl eax, 2
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
lea eax, [r14 + 5]
mov dword [rcx + r9 + 0x7bb54], edx
movzx edx, byte [rax + rbx]
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bb58], edx
movzx edx, byte [r8 + rbx]
mov eax, dword [r11]
and edx, 0x3f
dec edx
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bb5c], edx
jmp 0x180025a01
mov eax, 0x65
mov dword [rbp + 0x36c], 0x6e0072
mov word [rbp + 0x36a], ax
jmp 0x180025a06
lea eax, [r14 + 4]
movzx edx, byte [rax + rbx]
mov eax, dword [r11]
imul rcx, rax, 0x104
lea rax, [0x180000000]
mov dword [rcx + rax + 0x7bb50], edx
jmp 0x180025a01
mov eax, 0x65
mov word [rbp + 0x370], ax
jmp 0x180025a06
cmp edi, 0x2fbe5
ja 0x1800261c0
je 0x18002611e
cmp edi, 0x25249
je 0x1800260d2
cmp edi, 0x2a717
je 0x180026000
movzx edx, byte [rsp + 0x40]
cmp edi, 0x2c3c8
jne 0x180025a0b
mov dword [rbp + 0x372], 0x33006c
jmp 0x180025a0b
lea eax, [r14 + 0xf]
mov qword [rsp + 0x20], 0
movzx edx, byte [rax + rbx]
lea r9, [rbp - 0x70]
shl edx, 8
lea eax, [r14 + 0xe]
movzx eax, byte [rax + rbx]
xor r8d, r8d
or edx, eax
lea eax, [r14 + 0xd]
shl edx, 8
movzx eax, byte [rax + rbx]
or edx, eax
lea eax, [r14 + 0xc]
shl edx, 8
movzx eax, byte [rax + rbx]
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
lea rax, [0x180000000]
mov dword [rcx + rax + 0x7bb64], edx
lea rdx, [rbp - 0x48]
mov eax, dword [r11]
lea ecx, [r8 + 0x6f]
mov dword [rbp - 0x70], eax
call fcn.1800664a0
mov dword [0x18007bc70], eax
test eax, eax
je 0x1800259f7
mov ebx, 0x37
nop dword [rax]
mov eax, ebx
sub eax, 0x37
je 0x180026097
cmp eax, 1
jne 0x1800260c1
mov eax, dword [0x18007bc70]
jmp 0x180027a73
mov r9, qword [rsp + 0x60]
xor eax, eax
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002b580
inc ebx
cmp ebx, 0x39
jb 0x180026080
mov rbx, qword [rsp + 0x60]
jmp 0x1800259f7
lea eax, [r14 + 0xb]
movzx edx, byte [rax + rbx]
lea eax, [r14 + 0xa]
movzx eax, byte [rax + rbx]
shl edx, 8
or edx, eax
lea eax, [r14 + 9]
shl edx, 8
movzx eax, byte [rax + rbx]
or edx, eax
lea eax, [r14 + 8]
shl edx, 8
movzx eax, byte [rax + rbx]
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
lea rax, [0x180000000]
mov dword [rcx + rax + 0x7bb60], edx
jmp 0x180025a01
mov eax, dword [r11]
lea r9, [0x180000000]
imul rdx, rax, 0x104
mov eax, 0x55aa
cmp word [rdx + r9 + 0x7bbe0], ax
jne 0x180026154
mov rax, qword [rbp - 0x48]
mov ecx, dword [rax + 0xc]
cmp dword [rdx + r9 + 0x7bb60], ecx
jb 0x180025a01
mov ebx, 0xfb
nop dword [rax]
cmp ebx, 0xfb
je 0x180026176
cmp ebx, 0x8558
je 0x180027a6f
jmp 0x1800261a8
mov r9, qword [rsp + 0x60]
xor eax, eax
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002b580
mov dword [rsp + 0x70], 6
add ebx, 0x845d
cmp ebx, 0x108ba
jbe 0x180026160
mov rbx, qword [rsp + 0x60]
jmp 0x1800259f7
cmp edi, 0x350b3
je 0x18002629f
cmp edi, 0x3a581
je 0x180026201
cmp edi, 0x3fa4f
jne 0x180025a06
mov eax, dword [r11]
movzx edx, byte [rbx + 0x24]
imul rcx, rax, 0x104
lea rax, [0x180000000]
mov dword [rcx + rax + 0x7bc20], edx
jmp 0x180025a01
cmp dword [0x18007bc70], 0
je 0x18002626b
mov ebx, edx
nop dword [rax]
cmp ebx, 0x3f
je 0x180026220
cmp ebx, 0x5d
je 0x180027a6f
jmp 0x180026254
mov r9, qword [rsp + 0x60]
xor eax, eax
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002b580
mov eax, dword [0x18007bc70]
mov dword [rsp + 0x70], eax
add ebx, 0x1e
cmp ebx, 0x7b
jb 0x180026210
mov r11, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
mov eax, dword [r11]
lea rdx, [0x180000000]
imul rcx, rax, 0x104
mov rax, qword [rbx + 3]
mov qword [rcx + rdx + 0x7bbe4], rax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov byte [rcx + rdx + 0x7bbec], 0
jmp 0x180025a01
mov ecx, dword [r11]
lea rdx, [0x180000000]
imul rax, rcx, 0x104
mov dword [rbp - 0x78], 0
mov eax, dword [rax + rdx + 0x7bb60]
mov dword [rsp + 0x78], eax
jmp 0x180025c52
mov eax, 0x1c
jmp 0x180027a73
xor eax, eax
mov r9, rbx
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002b580
mov eax, dword [0x18007bc70]
cmp eax, 0xd
jne 0x180027a73
mov eax, 5
jmp 0x180027a73
movzx edx, byte [rsp + 0x40]
mov r9, qword [rbp - 0x40]
mov byte [rsp + 0x40], dl
mov qword [rbp - 0x68], r9
mov qword [rsp + 0x60], rbx
jmp 0x180025a28
mov r8d, 4
lea rdx, [0x1800721b2]
lea rcx, [rbp + 0x334]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r11, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x48]
jmp case.0x180025a98.54
xor edx, edx
xor ecx, ecx
call qword [sym.imp.SHLWAPI.dll_SHSkipJunction]
mov r11, qword [rsp + 0x58]
mov rax, qword [rbp - 0x40]
lea rcx, [r11 + 0xa]
cmp rcx, rax
je 0x18002634c
cmp qword [rax + 0x18], 0x10
mov rdx, rax
jb 0x18002637f
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
call fcn.180031290
mov r11, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x48]
jmp case.0x180025a98.54
mov eax, dword [r11]
imul rcx, rax, 0x104
lea rax, [0x180000000]
cmp dword [rcx + rax + 0x7bbfc], 2
jbe 0x180026413
mov ebx, 0x30
mov eax, ebx
sub eax, 0x30
je 0x1800263d8
sub eax, 1
je 0x1800263ce
cmp eax, 1
je 0x180027a6f
jmp 0x180026402
mov dword [rsp + 0x70], 7
jmp 0x180026402
mov r9, qword [rsp + 0x60]
xor eax, eax
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002b580
inc ebx
cmp ebx, 0x33
jb 0x1800263b7
mov r11, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x48]
mov eax, dword [r11]
lea rcx, [0x180000000]
mov rcx, qword [rcx + rax*8 + 0x7bc48]
test rcx, rcx
je case.0x180025a98.54
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r11, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x48]
jmp case.0x180025a98.54
movzx eax, byte [rbx + 0x16]
lea r9, [0x180000000]
movzx edx, byte [rbx + 0x17]
shl edx, 8
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bc0c], edx
movzx eax, byte [rbx + 0x18]
movzx edx, byte [rbx + 0x19]
shl edx, 8
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bc10], edx
jmp case.0x180025a98.54
xor eax, eax
mov word [rbp + 0x35c], ax
jmp case.0x180025a98.54
movzx eax, byte [rbx + 0xe]
lea r9, [0x180000000]
movzx edx, byte [rbx + 0xf]
shl edx, 8
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bbf8], edx
mov eax, dword [r11]
movzx edx, byte [rbx + 0x10]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bbfc], edx
movzx eax, byte [rbx + 0x11]
movzx edx, byte [rbx + 0x12]
shl edx, 8
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bc00], edx
jmp case.0x180025a98.54
mov eax, dword [r11]
movzx edx, byte [rbx + 0x15]
imul rcx, rax, 0x104
lea rax, [0x180000000]
mov dword [rcx + rax + 0x7bc08], edx
jmp case.0x180025a98.54
mov r8d, dword [r11]
lea r9, [0x180000000]
imul rcx, r8, 0x104
xor edx, edx
mov eax, dword [rcx + rax + 0x7bc04]
div dword [rcx + r9 + 0x7bbf4]
mov r13d, eax
mov dword [rsp + 0x68], eax
lea ecx, [rax + 2]
mov dword [r9 + r8*4 + 0x7bc60], ecx
mov r8d, dword [rsp + 0x48]
jmp case.0x180025a98.54
xor eax, eax
lea rdx, [0x18007221e]
lea rcx, [rbp + 0x330]
mov word [rbp + 0x350], ax
lea r8d, [rax + 3]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov eax, dword [0x180072244]
mov r11, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x48]
mov dword [rbp + 0x356], eax
movzx eax, word [0x180072248]
mov word [rbp + 0x35a], ax
jmp case.0x180025a98.54
mov eax, dword [r11]
lea rbx, [0x180000000]
mov ecx, dword [rbx + rax*4 + 0x7bc60]
add rcx, rcx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r11, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x48]
mov ecx, dword [r11]
mov qword [rbx + rcx*8 + 0x7bc48], rax
jmp case.0x180025a98.54
mov eax, dword [r11]
lea rdx, [0x180000000]
movsd xmm0, qword [rbx + 0x2b]
imul rcx, rax, 0x104
movsd qword [rcx + rdx + 0x7bc30], xmm0
movzx eax, word [rbx + 0x33]
mov word [rcx + rdx + 0x7bc38], ax
movzx eax, byte [rbx + 0x35]
mov byte [rcx + rdx + 0x7bc3a], al
jmp case.0x180025a98.54
movzx eax, byte [rbx + 0x1a]
lea r9, [0x180000000]
movzx edx, byte [rbx + 0x1b]
shl edx, 8
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bc14], edx
movzx eax, byte [rbx + 0x1e]
movzx edx, byte [rbx + 0x1f]
shl edx, 8
or edx, eax
movzx eax, byte [rbx + 0x1d]
shl edx, 8
or edx, eax
movzx eax, byte [rbx + 0x1c]
shl edx, 8
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bc18], edx
jmp case.0x180025a98.54
mov r8d, dword [r11]
cmp qword [rax + r8*8 + 0x7bc48], 0
je 0x180027c79
imul r9, r8, 0x104
xor edx, edx
cmp dword [r9 + rax + 0x7bc3c], 1
mov ecx, dword [r9 + rax + 0x7bbf0]
jne 0x1800266b1
lea eax, [r13 + 2]
lea r15d, [rax + rax*2]
shr r15d, 1
mov eax, r15d
div ecx
sub ecx, edx
jmp 0x1800266c1
lea r15d, [r13*2 + 4]
mov eax, r15d
div ecx
sub r15d, edx
add r15d, ecx
lea rcx, [0x180000000]
mov eax, dword [r9 + rcx + 0x7bb60]
inc eax
mov dword [rcx + r8*4 + 0x7bc44], eax
mov r8d, dword [rsp + 0x48]
jmp case.default.0x180025a98
movzx eax, byte [rbx + 0xb]
lea r9, [0x180000000]
movzx edx, byte [rbx + 0xc]
shl edx, 8
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bbf0], edx
mov eax, dword [r11]
movzx edx, byte [rbx + 0xd]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bbf4], edx
jmp case.0x180025a98.54
xor eax, eax
lea rdx, [0x180072270]
mov word [rbp + 0x33c], ax
lea r8d, [rax + 1]
lea rcx, [rbp + 0x330]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov r11, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x48]
jmp case.0x180025a98.54
mov word [rbp + 0x34c], di
jmp case.0x180025a98.54
xor eax, eax
mov word [rbp + 0x34c], ax
jmp case.0x180025a98.54
movzx eax, byte [rbx + 0x13]
movzx edx, byte [rbx + 0x14]
shl edx, 8
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
lea rax, [0x180000000]
mov dword [rcx + rax + 0x7bc04], edx
jmp case.0x180025a98.54
test dl, dl
je case.0x180025a98.54
xor r8d, r8d
mov ebx, r8d
lea edi, [r8 + 9]
lea r12d, [r8 + 0x64]
cmp ebx, 8
ja case.default.0x1800267ce
lea rdx, [0x180000000]
mov eax, ebx
mov ecx, dword [rdx + rax*4 + 0x27e14]
add rcx, rdx
jmp rcx
mov word [rbp + 0x3c8], r8w
lea rdx, [0x1800722ac]
mov r8d, 5
lea rcx, [rbp + 0x3a8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
jmp 0x1800268e3
mov edx, ILRemoveLastID
mov rcx, r9
call qword [sym.imp.WINMM.dll_mmioClose]
jmp 0x1800268e3
mov word [rbp + 0x3c2], r8w
jmp case.default.0x1800267ce
mov r8d, 2
mov dword [rbp + 0x3d2], 0x6e
lea rdx, [0x180072330]
lea rcx, [rbp + 0x3a8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
jmp 0x1800268e3
mov word [rbp + 0x3b6], r8w
lea rdx, [0x1800723b4]
mov r8d, 2
lea rcx, [rbp + 0x3a8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov r8d, 4
lea rdx, [0x180072410]
lea rcx, [rbp + 0x3ba]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
jmp 0x1800268e3
mov qword [rbp + 0x3ae], r10
jmp case.default.0x1800267ce
mov word [rbp + 0x3c2], r12w
mov dword [rbp + 0x3c4], 0x6f0043
jmp case.default.0x1800267ce
mov eax, dword [0x18007244e]
mov dword [rbp + 0x3a8], eax
movzx eax, word [0x180072452]
mov word [rbp + 0x3ac], ax
mov word [rbp + 0x3ae], r8w
jmp case.default.0x1800267ce
xor r8d, r8d
lea rdx, [rbp - 0x10]
mov rcx, r9
call qword [sym.imp.WINMM.dll_mmioGetInfo]
lea rdx, [rbp + 0x3a8]
lea rcx, [rbp + 0x400]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov r9, qword [rbp - 0x68]
movabs r10, 0x6f004300650067
xor r8d, r8d
inc ebx
sub rdi, 1
jne 0x1800267b2
mov r12d, dword [rbp - 0x70]
mov edi, 0x66
mov r11, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x48]
jmp case.0x180025a98.54
movzx eax, byte [rbx + 0x22]
lea r9, [0x180000000]
movzx edx, byte [rbx + 0x23]
shl edx, 8
or edx, eax
movzx eax, byte [rbx + 0x21]
shl edx, 8
or edx, eax
movzx eax, byte [rbx + 0x20]
shl edx, 8
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bc1c], edx
mov eax, dword [r11]
imul rcx, rax, 0x104
cmp dword [rcx + r9 + 0x7bc04], 0
jne 0x18002697d
mov eax, dword [rcx + r9 + 0x7bc1c]
mov dword [rcx + r9 + 0x7bc04], eax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov eax, 0x55aa
cmp dword [rcx + r9 + 0x7bc40], eax
jne 0x1800269cd
cmp dword [rcx + r9 + 0x7bbf0], 0x200
jne 0x1800269cd
mov eax, dword [rcx + r9 + 0x7bbfc]
dec eax
cmp eax, 0xf
ja 0x1800269cd
cmp dword [rcx + r9 + 0x7bc00], 0
je 0x1800269cd
cmp dword [rcx + r9 + 0x7bc08], 0xf8
je case.0x180025a98.54
mov ebx, 0x100
mov eax, ebx
sub eax, 0x100
je 0x1800269f5
sub eax, 1
je 0x1800269eb
cmp eax, 1
je 0x180027a6f
jmp 0x180026a1f
mov dword [rsp + 0x70], 7
jmp 0x180026a1f
mov r9, qword [rsp + 0x60]
xor eax, eax
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002b580
inc ebx
cmp ebx, 0x103
jb 0x1800269d2
mov r11, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x48]
jmp case.0x180025a98.54
mov dword [rbp + 0x35c], 0x20
jmp case.0x180025a98.54
mov r8d, 2
lea rdx, [0x1800724e6]
jmp 0x18002673c
mov r8d, 3
lea rdx, [0x180072502]
lea rcx, [rbp + 0x344]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r11, qword [rsp + 0x58]
mov eax, 0x20
mov r8d, dword [rsp + 0x48]
mov word [rbp + 0x34a], ax
jmp case.0x180025a98.54
mov eax, dword [0x180072526]
mov dword [rbp + 0x33e], eax
movzx eax, word [0x18007252a]
mov word [rbp + 0x342], ax
xor eax, eax
mov word [rbp + 0x344], ax
jmp case.0x180025a98.54
mov eax, dword [r11]
lea r9, [0x180000000]
imul rcx, rax, 0x104
movabs rax, 0x2020203231544146
mov byte [rcx + r9 + 0x7bc3b], 0
cmp qword [rbx + 0x36], rax
jne 0x180026afb
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bc3c], 1
jmp 0x180026bab
movabs rax, 0x2020203631544146
cmp qword [rbx + 0x36], rax
jne 0x180026b26
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bc3c], 2
jmp 0x180026bab
mov ebx, 0x26
nop dword [rax + rax]
cmp ebx, 0x26
je 0x180026b43
cmp ebx, 0xd2
je 0x180027a6f
jmp 0x180026b93
mov eax, dword [r11]
xor r8d, r8d
imul rcx, rax, 0x104
xor eax, eax
xor edx, edx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x55
mov qword [rsp + 0x28], rax
mov dword [rcx + r9 + 0x7bc3c], eax
xor ecx, ecx
mov r9, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.18002b580
mov r11, qword [rsp + 0x58]
lea r9, [0x180000000]
mov dword [rsp + 0x70], 7
add ebx, 0xac
cmp ebx, 0x17e
jb 0x180026b30
mov rbx, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x48]
movzx eax, byte [rbx + 0x1ff]
movzx edx, byte [rbx + 0x1fe]
shl edx, 8
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bc40], edx
jmp case.0x180025a98.54
mov eax, 0x64
mov dword [rbp + 0x376], 0x2e0032
mov word [rbp + 0x37a], ax
jmp case.0x180025a98.54
xor eax, eax
lea rdx, [0x18007255e]
lea rcx, [rbp + 0x34e]
mov word [rbp + 0x34e], ax
lea r8d, [rax + 1]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r11, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x48]
jmp case.0x180025a98.54
xor eax, eax
mov dword [rbp + 0x37c], 0x6c006c
mov word [rbp + 0x380], ax
mov word [rbp + 0x330], ax
jmp case.0x180025a98.54
mov r8d, dword [r11]
lea r9, [0x180000000]
imul rcx, r8, 0x104
xor edx, edx
mov eax, r15d
div dword [rcx + r9 + 0x7bbf0]
xor r9d, r9d
lea rcx, [0x180000000]
mov dword [rcx + r8*4 + 0x7bc50], eax
mov esi, r9d
mov edx, dword [r11]
mov r8d, r9d
imul rax, rdx, 0x104
mov dword [rsp + 0x48], r9d
cmp dword [rax + rcx + 0x7bbfc], r9d
jbe case.default.0x180025a98
nop dword [rax]
nop word [rax + rax]
mov eax, edx
lea r8, [rbp - 0x60]
mov dword [rsp + 0x78], r9d
lea r9, [rsp + 0x78]
mov dword [rbp - 0x78], edx
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x28], rbx
mov eax, dword [rcx + rax*4 + 0x7bc44]
mov ecx, 0x25
mov dword [rbp - 0x60], eax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x80], 0x200
call fcn.180020d80
test eax, eax
jne 0x180027c79
cmp byte [rbx], 0xf8
jne 0x180026cf9
cmp byte [rbx + 1], 0xff
jne 0x180026cf9
cmp byte [rbx + 2], 0xff
je 0x180026d46
mov r8d, dword [rsp + 0x48]
lea rax, [0x180000000]
mov r11, qword [rsp + 0x58]
inc esi
mov ecx, dword [r11]
mov edx, ecx
mov eax, dword [rax + rcx*4 + 0x7bc50]
shl eax, 9
add r8d, eax
imul rax, rcx, 0x104
lea rcx, [0x180000000]
mov dword [rsp + 0x48], r8d
cmp esi, dword [rax + rcx + 0x7bbfc]
jae case.default.0x180025a98
xor r9d, r9d
jmp 0x180026ca0
mov r11, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x48]
mov eax, dword [r11]
mov r14d, 0xb6
imul rcx, rax, 0x104
lea rax, [0x180000000]
cmp esi, dword [rcx + rax + 0x7bbfc]
jb case.0x180025a98.54
mov ebx, 0xb2
nop dword [rax]
mov eax, ebx
sub eax, 0xb1
je 0x180027a6f
cmp eax, 1
jne 0x180026dc4
mov r9, qword [rsp + 0x60]
xor eax, eax
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002b580
mov dword [rsp + 0x70], 8
dec ebx
cmp ebx, 0xb0
ja 0x180026d80
mov r11, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x48]
jmp case.0x180025a98.54
mov dword [rbp + 0x35e], 0x320025
jmp case.0x180025a98.54
mov eax, dword [r11]
lea r9, [0x180000000]
movzx edx, byte [rbx + 0x25]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bc24], edx
mov eax, dword [r11]
movzx edx, byte [rbx + 0x26]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bc28], edx
movzx eax, byte [rbx + 0x29]
movzx edx, byte [rbx + 0x2a]
shl edx, 8
or edx, eax
movzx eax, byte [rbx + 0x28]
shl edx, 8
or edx, eax
movzx eax, byte [rbx + 0x27]
shl edx, 8
or edx, eax
mov eax, dword [r11]
imul rcx, rax, 0x104
mov dword [rcx + r9 + 0x7bc2c], edx
lea rcx, [0x180000000]
mov r9, qword [rbp - 0x68]
inc r14d
movzx edx, byte [rsp + 0x40]
movabs r10, 0x6f004300650067
mov rbx, qword [rsp + 0x60]
cmp r14d, r12d
jb 0x180025a70
mov r12d, dword [rsp + 0x68]
mov r10d, dword [rsp + 0x50]
jmp 0x180026e8a
mov r12d, dword [rbp - 0x80]
mov dword [rsp + 0x68], r12d
lea r15d, [r10 + 0xb80]
mov dword [rbp - 0x70], r15d
cmp r10d, r15d
jae 0x180027a6f
mov esi, dword [rbp - 0x68]
mov edx, 0x32
mov r13d, dword [rsp + 0x78]
mov eax, 0x6f6f
lea r9d, [rdx + 0x41]
lea r14d, [rdx + 0x2f]
mov edi, 0x54
cmp r10d, 0x538
ja 0x180027806
je 0x1800277fa
cmp r10d, 0x258
ja 0x18002770f
je 0x1800276f9
cmp r10d, 0x15f
ja 0x1800276b5
je 0x1800276aa
mov eax, r10d
sub eax, 0xa7
je 0x180026fbb
sub eax, 0x41
je 0x180026fa1
sub eax, 0x1b
je 0x180026f2f
cmp eax, 0x41
mov eax, 0x6f6f
jne 0x180027b3e
mov dword [rbp + 0x2d2], 0x7365636f
jmp 0x180027b3e
mov edx, dword [r11]
lea r9, [0x180000000]
imul rax, rdx, 0x104
mov ecx, dword [rax + rcx + 0x7bc00]
shl ecx, 5
add ecx, 0x1ff
shr ecx, 9
mov dword [r9 + rdx*4 + 0x7bc58], ecx
mov edx, 0x32
mov eax, dword [r11]
lea rcx, [rax*4]
mov eax, dword [rcx + r9 + 0x7bc54]
add eax, dword [rcx + r9 + 0x7bc58]
mov dword [rcx + r9 + 0x7bc5c], eax
lea rcx, [0x180000000]
mov eax, dword [r11]
lea r9d, [rdx + 0x41]
mov dword [rcx + rax*4 + 0x7bc64], 0xa
jmp 0x180027b39
xor eax, eax
mov word [rbp + 0x362], ax
mov eax, 0x7250
mov word [rbp + 0x2d0], ax
jmp 0x180027b39
mov ecx, dword [r11]
lea rdx, [0x180000000]
imul rax, rcx, 0x104
cmp dword [rax + rdx + 0x7bc3c], 1
jne 0x1800273cd
mov r15d, 0x9d
mov eax, r15d
sub eax, 0x9d
je 0x18002739f
cmp eax, 0x3c
jne 0x1800273a6
mov eax, dword [r11]
xor r9d, r9d
mov ebx, r9d
mov r14d, r9d
cmp dword [rdx + rax*4 + 0x7bc50], r9d
jbe 0x1800273a6
mov edi, 0x130
nop word [rax + rax]
mov eax, edi
sub eax, 0x12c
je 0x180027330
sub eax, 1
je 0x180027183
sub eax, 1
je 0x18002710b
sub eax, 1
je 0x1800270b7
cmp eax, 1
jne 0x18002736b
test ebx, ebx
je 0x18002736b
mov ecx, dword [r11]
lea r9, [rbp - 0x60]
mov r12, qword [rsp + 0x60]
dec r8d
mov eax, 0x200
mov dword [rbp - 0x50], ebx
sub eax, ebx
mov dword [rbp - 0x80], ecx
mov dword [rbp - 0x60], eax
mov eax, dword [rdx + rcx*4 + 0x7bc44]
lea rdx, [rbp - 0x50]
add eax, r8d
lea r8, [rbp - 0x58]
add eax, r14d
mov dword [rbp - 0x58], eax
mov eax, dword [rbp - 0x78]
add rax, r12
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x80]
mov ecx, 0x25
mov qword [rsp + 0x20], rax
call fcn.180020d80
test eax, eax
jne 0x180027c7e
jmp 0x18002735f
mov edx, dword [rbp - 0x78]
mov eax, 0x200
mov ecx, dword [r11]
sub eax, ebx
mov r12, qword [rsp + 0x60]
sub eax, edx
mov dword [rbp - 0x60], eax
lea rax, [0x180000000]
mov dword [rbp - 0x50], ecx
mov eax, dword [rax + rcx*4 + 0x7bc44]
add eax, r8d
mov ecx, ebx
add eax, r14d
mov dword [rbp - 0x58], r9d
add rcx, r12
mov dword [rbp - 0x80], eax
add rcx, rdx
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rcx
lea r9, [rbp - 0x58]
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
jmp 0x18002709b
mov ecx, dword [rbp - 0x78]
lea eax, [r14 - 1]
add ecx, ebx
mov dword [rsp + 0x78], r9d
cmp ecx, 0x200
mov r13d, r9d
mov r10d, 1
cmovb eax, r14d
lea ebx, [rcx - 0x200]
mov r14d, eax
cmovb ebx, ecx
nop dword [rax + rax]
mov r9d, 0x6f
nop word [rax + rax]
mov eax, r9d
mov r8d, esi
sub eax, 0x6f
je 0x1800272aa
sub eax, 0x74
je 0x18002725f
sub eax, 0x74
je 0x18002718d
cmp eax, 0x74
jne 0x1800272f0
lea eax, [r12 + 2]
cmp esi, eax
jb 0x1800272f0
mov edi, 0x12d
jmp 0x18002736b
inc esi
cmp esi, 4
jb 0x1800272f0
mov eax, dword [r11]
lea ecx, [rsi - 2]
cmp ecx, dword [rdx + rax*4 + 0x7bc60]
jae 0x1800271ec
mov rax, qword [rdx + rax*8 + 0x7bc48]
lea rdx, [rax + rcx*2]
mov eax, 0xff0
movzx ecx, word [rdx]
cmp cx, ax
jb 0x1800271ec
movzx eax, cx
mov r12d, 0xff8
sub ax, r12w
cmp ax, 7
ja 0x1800271da
mov eax, 0xffff
jmp 0x1800271e9
mov eax, 0xff7
cmp cx, ax
jne 0x1800271ec
mov eax, 0xfff7
mov word [rdx], ax
mov edx, dword [r11]
lea r12, [0x180000000]
cmp r8d, dword [r12 + rdx*4 + 0x7bc60]
jae 0x1800272f0
mov rax, qword [r12 + rdx*8 + 0x7bc48]
lea ecx, [rsi - 1]
lea rdx, [rax + rcx*2]
mov eax, 0xff0
movzx ecx, word [rdx]
cmp cx, ax
jb 0x1800272f0
movzx eax, cx
mov r8d, 0xff8
sub ax, r8w
cmp ax, 7
ja 0x180027244
mov eax, 0xffff
mov word [rdx], ax
jmp 0x1800272f0
mov eax, 0xff7
cmp cx, ax
jne 0x1800272f0
mov eax, 0xfff7
mov word [rdx], ax
jmp 0x1800272f0
mov r8d, dword [r11]
cmp esi, dword [rdx + r8*4 + 0x7bc60]
jae 0x1800272f0
mov r12, qword [rsp + 0x60]
lea eax, [r10 + 1]
movzx edx, byte [rax + r12]
mov eax, r10d
shl dx, 4
movzx ecx, byte [rax + r12]
shr cl, 4
movzx eax, cl
or dx, ax
mov ecx, esi
lea rax, [0x180000000]
mov rax, qword [rax + r8*8 + 0x7bc48]
mov word [rax + rcx*2], dx
jmp 0x1800272f0
mov r8d, dword [r11]
cmp esi, dword [rdx + r8*4 + 0x7bc60]
jae 0x1800272ee
mov r12, qword [rsp + 0x60]
mov eax, r10d
movzx ecx, byte [rax + r12]
and cl, 0xf
mov eax, r13d
movzx edx, cl
shl dx, 8
movzx ecx, byte [rax + r12]
lea rax, [0x180000000]
mov rax, qword [rax + r8*8 + 0x7bc48]
or dx, cx
mov ecx, esi
mov word [rax + rcx*2], dx
inc esi
mov r12d, dword [rsp + 0x68]
lea rdx, [0x180000000]
add r9d, 0x74
cmp r9d, 0x23f
jb 0x180027150
add r13d, 3
lea rdx, [0x180000000]
add r10d, 3
mov dword [rsp + 0x78], r13d
cmp r10d, 0x1fe
jbe 0x180027140
jmp 0x18002736b
mov rdx, qword [rsp + 0x60]
mov eax, 0x200
mov rcx, qword [rsp + 0x60]
sub eax, r13d
mov r8d, eax
sub rdx, r8
mov dword [rsp + 0x50], 0xa7
add rdx, 0x200
mov dword [rbp - 0x78], eax
call sub.VCRUNTIME140.dll_memcpy
mov r11, qword [rsp + 0x58]
lea rdx, [0x180000000]
mov r12d, dword [rsp + 0x68]
dec edi
mov r8d, dword [rsp + 0x48]
mov r9d, 0
cmp edi, 0x12b
ja 0x180027020
mov eax, dword [r11]
inc r14d
cmp r14d, dword [rdx + rax*4 + 0x7bc50]
jb 0x180027011
jmp 0x1800273a6
xor eax, eax
mov esi, eax
mov dword [rbp - 0x78], eax
mov r12d, dword [rsp + 0x68]
add r15d, 0x3c
cmp r15d, 0x115
jb 0x180026fe0
mov rbx, qword [rsp + 0x60]
xor r9d, r9d
mov r15d, dword [rbp - 0x70]
jmp 0x180027626
xor r9d, r9d
mov esi, r9d
mov r14d, r9d
cmp dword [rdx + rcx*4 + 0x7bc50], r9d
jbe 0x180027626
mov edi, 0x84
nop dword [rax]
mov eax, edi
sub eax, 0x84
je 0x180027595
sub eax, 0x4c
je 0x18002741d
cmp eax, 0x4c
jne 0x1800275e0
mov edi, 0x11c
mov dword [rsp + 0x50], 0xa7
jmp 0x1800275e0
cmp dword [0x18007bc70], 0
je 0x18002748d
mov ebx, 0x129
nop dword [rax + rax]
mov eax, ebx
sub eax, 0x128
je 0x180027a6f
cmp eax, 1
jne 0x180027477
mov qword [rsp + 0x38], r9
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], r9
xor ecx, ecx
mov qword [rsp + 0x20], r9
mov r9, qword [rsp + 0x60]
call fcn.18002b580
mov eax, dword [0x18007bc70]
xor r9d, r9d
mov dword [rsp + 0x70], eax
dec ebx
cmp ebx, 0x127
ja 0x180027430
mov r11, qword [rsp + 0x58]
lea rdx, [0x180000000]
mov r13d, r9d
mov dword [rsp + 0x78], r9d
nop word [rax + rax]
mov r9d, 0x53
mov eax, r9d
sub eax, 0x53
je 0x180027522
sub eax, 1
je 0x1800274ce
cmp eax, 1
jne 0x180027563
lea eax, [r12 + 2]
cmp esi, eax
jae 0x18002740b
jmp 0x180027563
cmp esi, 3
jb 0x180027563
mov eax, dword [r11]
lea ecx, [rsi - 1]
cmp ecx, dword [rdx + rax*4 + 0x7bc60]
jae 0x180027563
mov rax, qword [rdx + rax*8 + 0x7bc48]
lea rdx, [rax + rcx*2]
mov ecx, 0xfff0
movzx eax, word [rdx]
cmp ax, cx
jb 0x180027563
mov ecx, 0xfff8
cmp ax, cx
jb 0x180027513
mov eax, 0xffff
mov word [rdx], ax
jmp 0x180027563
mov ecx, 0xfff7
cmp ax, cx
jne 0x180027563
mov word [rdx], cx
jmp 0x180027563
mov r8d, dword [r11]
cmp esi, dword [rdx + r8*4 + 0x7bc60]
jae 0x180027561
mov r10, qword [rsp + 0x60]
lea eax, [r13 + 1]
movzx edx, byte [rax + r10]
mov eax, r13d
shl dx, 8
movzx ecx, byte [rax + r10]
lea rax, [0x180000000]
mov rax, qword [rax + r8*8 + 0x7bc48]
or dx, cx
mov ecx, esi
mov word [rax + rcx*2], dx
inc esi
inc r9d
lea rdx, [0x180000000]
cmp r9d, 0x56
jb 0x1800274a6
add r13d, 2
mov dword [rsp + 0x78], r13d
cmp r13d, 0x1fe
ja 0x1800275e0
lea rdx, [0x180000000]
jmp 0x1800274a0
mov ecx, dword [r11]
mov dword [rbp - 0x58], r9d
lea r9, [rbp - 0x58]
mov dword [rbp - 0x50], ecx
mov qword [rsp + 0x28], rbx
mov eax, dword [rdx + rcx*4 + 0x7bc44]
lea rdx, [rbp - 0x60]
add eax, r8d
mov dword [rbp - 0x60], 0x200
add eax, r14d
lea r8, [rbp - 0x80]
mov dword [rbp - 0x80], eax
mov ecx, 0x25
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
call fcn.180020d80
mov dword [0x18007bc70], eax
mov r11, qword [rsp + 0x58]
lea rdx, [0x180000000]
mov rbx, qword [rsp + 0x60]
add edi, 0x4c
mov r8d, dword [rsp + 0x48]
mov r9d, 0
cmp edi, 0x168
jb 0x1800273f0
mov eax, dword [r11]
lea rdx, [0x180000000]
inc r14d
cmp r14d, dword [rdx + rax*4 + 0x7bc50]
jb 0x1800273e4
mov qword [rsp + 0x38], r9
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], r9
xor ecx, ecx
mov qword [rsp + 0x20], r9
mov r9, rbx
call fcn.18002b580
mov r11, qword [rsp + 0x58]
mov eax, dword [r11]
imul rcx, rax, 0x104
lea rdx, [rax*4]
lea rax, [0x180000000]
mov eax, dword [rcx + rax + 0x7bbfc]
lea rcx, [0x180000000]
imul eax, dword [rdx + rcx + 0x7bc50]
add eax, dword [rdx + rcx + 0x7bc44]
mov dword [rdx + rcx + 0x7bc54], eax
mov r10d, dword [rsp + 0x50]
mov edx, 0x32
mov r8d, dword [rsp + 0x48]
lea r9d, [rdx + 0x41]
lea r14d, [rdx + 0x2f]
jmp 0x180027b39
xor eax, eax
mov dword [rsp + 0x70], eax
jmp 0x180027b39
mov eax, r10d
sub eax, 0x1a0
je 0x1800276ec
sub eax, 0x1b
je 0x180027a6f
cmp eax, 0x41
jne 0x180027b39
mov eax, 0x33
mov word [rbp + 0x2d7], ax
mov dword [rbp + 0x2d8], 0x694632
jmp 0x180027b39
mov word [rbp + 0x2d6], r9w
jmp 0x180027b39
mov dword [rbp + 0x2db], 0x57747372
mov byte [rbp + 0x2df], 0
jmp 0x180027b3e
cmp r10d, 0x3c8
ja 0x1800277a7
je 0x180027785
mov eax, r10d
sub eax, 0x2b4
je 0x18002776c
sub eax, 0x5c
je 0x180027751
cmp eax, 0x5c
mov eax, 0x6f6f
jne 0x180027b3e
mov word [rbp + 0x396], dx
mov dword [rbp + 0x398], 0x64002e
jmp 0x180027b3e
mov eax, 0x33
mov dword [rbp + 0x390], 0x6c0065
mov word [rbp + 0x394], ax
jmp 0x180027b39
mov dword [rbp + 0x388], 0x65006b
mov dword [rbp + 0x38c], 0x6e0072
jmp 0x180027b39
xor eax, eax
mov dword [rbp + 0x39c], 0x6c006c
mov word [rbp + 0x3a0], ax
mov dword [rbp + 0x310], 0x657243
jmp 0x180027b39
mov eax, r10d
sub eax, 0x424
je 0x1800277ed
sub eax, 0x5c
je 0x1800277d0
cmp eax, 0x5c
mov eax, 0x6f6f
jne 0x180027b3e
mov word [rbp + 0x316], di
jmp 0x180027b3e
mov eax, 0x74
mov word [rbp + 0x314], ax
mov eax, 0x65
mov word [rbp + 0x315], ax
jmp 0x180027b39
mov word [rbp + 0x313], r14w
jmp 0x180027b39
mov word [rbp + 0x317], ax
jmp 0x180027b3e
cmp r10d, 0x818
ja 0x1800279d1
je 0x18002799d
cmp r10d, 0x6a8
ja 0x1800278bc
je 0x180027891
mov eax, r10d
sub eax, 0x594
je 0x180027876
sub eax, 0x5c
je 0x18002785e
cmp eax, 0x5c
mov eax, 0x6f6f
jne 0x180027b3e
mov dword [rbp + 0x320], 0x70616e53
mov dword [rbp + 0x324], 0x6f6873
jmp 0x180027b3e
mov eax, 0x33
mov word [rbp + 0x31e], ax
mov word [rbp + 0x31f], dx
jmp 0x180027b39
mov eax, 0x6c
mov word [rbp + 0x319], ax
mov dword [rbp + 0x31a], 0x706c6568
jmp 0x180027b39
mov eax, 0x74
mov word [rbp + 0x327], ax
movabs rax, 0x6e00720065006b
mov qword [rbp + 0x3e0], rax
xor eax, eax
mov word [rbp + 0x3e8], ax
jmp 0x180027b39
mov eax, r10d
sub eax, 0x704
je 0x180027966
sub eax, 0x5c
je 0x18002793b
cmp eax, 0x5c
jne 0x180027b39
xor edi, edi
lea r8, [rbp + 0x2e0]
mov qword [rsp + 0x30], rdi
lea rcx, [rbp + 0x368]
mov qword [rsp + 0x28], rdi
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x20], 0x42
call fcn.18001a9e0
mov qword [rsp + 0x30], rdi
lea r8, [rbp + 0x2d0]
mov qword [rsp + 0x28], rdi
lea rcx, [rbp + 0x388]
xor r9d, r9d
mov dword [rsp + 0x20], 0x42
xor edx, edx
mov qword [rbp - 0x28], rax
call fcn.18001a9e0
mov qword [rbp - 0x30], rax
jmp 0x180027ae6
xor eax, eax
lea rdx, str.loopSizeLimit
lea rcx, [rbp + 0x3e0]
mov word [rbp + 0x3f6], ax
lea r8d, [rax + 1]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov byte [rsp + 0x40], 1
jmp 0x180027ae6
movabs rax, 0x320033006c0065
lea rdx, [0x1800725aa]
mov qword [rbp + 0x3e8], rax
lea rcx, [rbp + 0x3f0]
xor eax, eax
mov word [rbp + 0x3f0], ax
lea r8d, [rax + 3]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
jmp 0x180027ae6
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x60], xmm0
mov dword [rbp + 0xc0], eax
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
jmp 0x180027b39
cmp r10d, 0x988
ja 0x180027b5a
je 0x180027b07
mov eax, r10d
sub eax, 0x874
je 0x180027aa6
sub eax, 0x5c
je 0x180027a1e
cmp eax, 0x5c
jne 0x180027b39
mov r8d, dword [rbp - 0x38]
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x330]
call qword [sym.imp.WINMM.dll_mmioOpenW]
mov qword [rbp - 0x48], rax
jmp 0x180027ae6
xor eax, eax
mov dword [rbp - 0x38], eax
mov rax, qword [r11 + 0x260]
cmp rax, 0xffffffffffffffff
jne 0x180027a4a
xor edx, edx
lea ecx, [rax + 3]
call qword [rbp - 0x20]
mov r11, qword [rsp + 0x58]
mov qword [r11 + 0x260], rax
cmp rax, 0xffffffffffffffff
je 0x180027a6a
cmp byte [r11 + reloc.SHELL32.dll_SHChangeNotification_Lock], 0
lea rdx, [r11 + 0x28]
mov rcx, rax
je 0x180027a9d
mov byte [r11 + reloc.SHELL32.dll_SHChangeNotification_Lock], 0
call qword [rbp - 0x30]
test eax, eax
jne 0x180027ae6
mov byte [rsp + 0x70], 0
mov eax, dword [rsp + 0x70]
mov rcx, qword [rbp + 0x418]
xor rcx, rsp
call fcn.180069d20
mov rbx, qword [rsp + 0x570]
add rsp, 0x520
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [rbp - 0x28]
test eax, eax
je 0x180027a6a
jmp 0x180027ae6
xor eax, eax
lea r8, [rbp + 0x310]
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x20], 0x42
call fcn.18001a9e0
mov r8, qword [rbp - 0x40]
mov edx, 0x64
xor ecx, ecx
mov qword [rbp - 0x20], rax
call fcn.18003ef30
mov r11, qword [rsp + 0x58]
lea rcx, [0x180000000]
mov r8d, dword [rsp + 0x48]
mov edx, 0x32
mov r10d, dword [rsp + 0x50]
lea r9d, [rdx + 0x41]
jmp 0x180027b39
mov rdx, qword [rbp - 0x40]
lea rax, [r11 + 0x54]
mov qword [rdx], rax
mov eax, dword [r11 + 0x30]
mov dword [rdx + 0x18], eax
xor eax, eax
mov ecx, eax
mov edx, 0x32
movzx eax, byte [rsp + 0x40]
cmp qword [rbp - 0x48], rcx
cmovne ecx, eax
mov byte [rsp + 0x40], cl
lea rcx, [0x180000000]
mov eax, 0x6f6f
add r10d, 0x5c
mov dword [rsp + 0x50], r10d
cmp r10d, r15d
jae 0x180027a6f
mov r12d, dword [rsp + 0x68]
jmp 0x180026eb8
mov eax, r10d
sub eax, 0x9e4
je 0x180027b7b
sub eax, 0x5c
je 0x180027b74
cmp eax, 0x5c
je 0x180027a6f
jmp 0x180027b39
mov byte [rsp + 0x70], 1
jmp 0x180027b39
mov rcx, qword [rbp - 0x40]
mov eax, dword [r11 + 0x48]
mov dword [rcx + 0x1c], eax
mov eax, dword [r11 + 0x44]
mov dword [rcx + 0x20], eax
movzx ecx, byte [rsp + 0x40]
test cl, cl
je 0x180027b32
mov r13d, dword [rbp - 0x68]
mov edi, 0x84
lea r15d, [rdi - 0x5d]
mov eax, edi
sub eax, 0x82
je 0x180027bf0
sub eax, 1
je 0x180027bd4
cmp eax, 1
jne 0x180027c48
mov rcx, qword [rbp - 0x48]
xor eax, eax
xor r8d, r8d
mov qword [rbp - 0x18], rax
xor edx, edx
call qword [sym.imp.WINMM.dll_mmioRead]
mov r13d, eax
jmp 0x180027c43
cmp r13d, 0xffffffff
jne 0x180027c48
mov rcx, qword [rbp - 0x48]
lea edx, [r13 + 0x11]
call qword [sym.imp.WINMM.dll_mmioClose]
xor cl, cl
mov byte [rsp + 0x40], cl
jmp 0x180027c48
test cl, cl
je 0x180027c48
mov ebx, r15d
cmp ebx, r15d
je 0x180027c15
cmp ebx, 0x1d40
jne 0x180027c35
mov rcx, qword [rbp - 0x48]
mov edx, ILRemoveLastID
call qword [sym.imp.WINMM.dll_mmioClose]
jmp 0x180027c35
mov rdx, qword [rbp - 0x18]
xor r8d, r8d
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.WINMM.dll_mmioWrite]
mov rcx, qword [rbp - 0x48]
mov edx, ILRemoveLastID
call qword [sym.imp.WINMM.dll_mmioFlush]
add ebx, 0x1d19
cmp ebx, 0x3a32
jbe 0x180027bf7
movzx ecx, byte [rsp + 0x40]
dec edi
cmp edi, 0x81
ja 0x180027ba3
mov r11, qword [rsp + 0x58]
lea rcx, [0x180000000]
mov rbx, qword [rsp + 0x60]
mov r15d, dword [rbp - 0x70]
mov dword [rbp - 0x68], r13d
mov r13d, dword [rsp + 0x78]
jmp 0x18002768e
mov r12, qword [rsp + 0x60]
xor eax, eax
mov r9, r12
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002b580
mov eax, 0x21
jmp 0x180027a73