Function at 0x180042320
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x200
mov rax, qword [0x1800a2078]
xor rax, rsp
mov qword [rsp + 0x1f0], rax
mov ebx, dword [rsp + 0x38]
mov rsi, rcx
mov qword [rsp + 0x90], rcx
mov eax, r8d
lea ecx, [r8 + 0x20a]
mov dword [rsp + 0x5c], eax
mov qword [rsp + 0x40], rdx
mov r9, rdx
mov dword [rsp + 0x34], ecx
cmp r8d, ecx
jae 0x18004244d
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0x88]
mov ebp, dword [rsp + 0x38]
movzx edi, byte [rsp + 0x30]
mov dword [rsp + 0x4c], ebx
lea rdx, [0x180000000]
movabs r11, 0x3a636f72503233
movabs r8, 0xaaaaaaaaaaaaaaab
cmp eax, 0x157
ja 0x180042502
je 0x1800424b7
sub eax, 0x52
je 0x18004249c
sub eax, 0xa5
je 0x18004247a
sub eax, 0x26
je 0x1800423f8
cmp eax, 0x14
jne 0x18004243a
cmp qword [rsi + 0x18], 0x10
mov r13, rsi
mov qword [rsp + 0x60], rsi
jb 0x18004243a
mov r13, qword [rsi]
mov qword [rsp + 0x60], r13
jmp 0x18004243a
xor r8d, r8d
mov rdx, rsi
lea ecx, [r8 + 0x2d]
call fcn.18004b7a0
test al, al
jne 0x180042970
xor r9d, r9d
lea rcx, [rsp + 0xb8]
mov r8, rsi
mov edx, 0xc3
call fcn.180013510
mov eax, dword [rax]
test al, al
jne 0x180042961
mov ecx, dword [rsp + 0x34]
mov r9, qword [rsp + 0x40]
mov eax, dword [rsp + 0x5c]
add eax, 0x3a
mov dword [rsp + 0x5c], eax
cmp eax, ecx
jb 0x180042395
mov eax, ebx
mov rcx, qword [rsp + 0x1f0]
xor rcx, rsp
call fcn.180084890
mov rbx, qword [rsp + 0x250]
add rsp, 0x200
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rsi + 0x10]
mov rax, r8
add rcx, 2
xor r8d, r8d
mul rcx
mov rcx, r9
shr rdx, 1
shl rdx, 2
call fcn.18005cb60
jmp 0x180042431
cmp qword [rsi], 0
je 0x18004243a
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsi], 0
jmp 0x180042431
xor r9d, r9d
mov r8, rsi
xor edx, edx
mov ecx, SHSetInstanceExplorer
call fcn.18007bca0
test al, al
je 0x180042431
mov eax, 0x76
cmp eax, 0x76
je 0x1800424e8
cmp eax, 0x938
je 0x18004244d
jmp 0x1800424f1
mov ebx, 1
mov dword [rsp + 0x4c], ebx
add eax, 0x8c2
cmp eax, 0x1184
jbe 0x1800424d6
jmp 0x180042431
sub eax, 0x16b
je 0x180042939
sub eax, 0x26
je 0x18004290f
sub eax, 0x14
je 0x180042529
cmp eax, 0x26
je 0x18004244d
jmp 0x18004243a
mov r10, qword [rsp + 0x88]
xor r9d, r9d
mov qword [rsp + 0x78], r9
test r10, r10
je 0x18004261d
lea rcx, [r10 - 1]
mov rax, r8
mul rcx
shr rdx, 1
inc rdx
lea r9, [rdx + rdx*2]
mov qword [rsp + 0x78], r9
nop dword [rax + rax]
mov r8d, 0x48
mov eax, r8d
sub eax, 0x48
je 0x1800425b3
sub eax, 0x44
je 0x18004258d
sub eax, 0x44
je 0x180042583
cmp eax, 0x44
jne 0x1800425f2
add r13, 3
jmp 0x1800425f2
movzx ecx, byte [r13 + 2]
and ecx, 0x3f
jmp 0x1800425a0
movzx ecx, byte [r13 + 1]
movzx eax, byte [r13 + 2]
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x1800a3468]
movzx ecx, byte [rcx + rax]
mov byte [r14], cl
inc r14
jmp 0x1800425f2
mov rax, qword [0x1800a3468]
movzx ecx, byte [r13]
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov byte [r14], cl
movzx ecx, byte [r13]
movzx eax, byte [r13 + 1]
and ecx, 3
shl ecx, 4
shr eax, 4
add ecx, eax
mov rax, qword [0x1800a3468]
movzx ecx, byte [rcx + rax]
mov byte [r14 + 1], cl
add r14, 2
add r8d, 0x44
cmp r8d, 0x158
jb 0x180042566
mov qword [rsp + 0x60], r13
sub rdx, 1
jne 0x180042560
mov ecx, dword [rsp + 0x34]
lea rdx, [0x180000000]
cmp r9, qword [rsi + 0x10]
jae 0x180042435
mov ebx, dword [rsp + 0x68]
mov r15d, 0xa
mov r12d, ILFindLastID
mov dword [rsp + 0x58], r15d
mov qword [rsp + 0x80], r12
cmp r15d, 0xa
ja case.0x18004265b.6
mov eax, r15d
mov ecx, dword [rdx + rax*4 + 0x4298c]
add rcx, rdx
jmp rcx
lea rcx, [rsp + 0xc8]
call qword [sym.imp.WINMM.dll_mciGetDeviceIDA]
mov ecx, dword [rsp + 0x54]
movabs r11, 0x3a636f72503233
mov r9, qword [rsp + 0x78]
and ecx, 3
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x48]
shl ecx, 4
shr eax, 4
add ecx, eax
mov rax, qword [0x1800a3468]
movzx ecx, byte [rcx + rax]
mov byte [r14], cl
inc r14
jmp case.0x18004265b.6
lea rax, [r9 + 1]
cmp rax, qword [rsi + 0x10]
jae 0x1800426cf
mov ecx, dword [rsp + 0x48]
mov eax, dword [rsp + 0x38]
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x1800a3468]
movzx edx, byte [rcx + rax]
jmp 0x1800426d1
mov dl, 0x3d
movzx eax, byte [rsp + 0x30]
mov byte [r14], dl
inc r14
test al, al
je 0x180042811
mov r12d, dword [rsp + 0x70]
mov esi, 4
mov r15d, dword [rsp + 0x6c]
mov r13d, dword [rsp + 0x50]
nop dword [rax + rax]
cmp esi, 4
je 0x180042806
cmp esi, 0xb3
je 0x1800427e0
cmp esi, 0x162
je 0x1800427b9
cmp esi, 0x211
jne 0x18004276a
test al, al
je 0x18004276a
mov edi, 0xd9
mov eax, edi
sub eax, 0xd8
je 0x180042747
cmp eax, 1
jne 0x18004275b
mov ebp, 0x104
jmp 0x18004275b
mov r8d, ebp
lea rdx, [rsp + 0xe0]
mov ecx, r12d
call qword [sym.imp.WINMM.dll_mciGetErrorStringA]
dec edi
cmp edi, 0xd7
ja 0x180042732
movzx eax, byte [rsp + 0x30]
add esi, 0xaf
cmp esi, 0x2c0
jb 0x180042700
mov r13, qword [rsp + 0x60]
movabs r11, 0x3a636f72503233
movzx edi, byte [rsp + 0x30]
mov r9, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x90]
mov dword [rsp + 0x6c], r15d
mov r15d, dword [rsp + 0x58]
mov dword [rsp + 0x70], r12d
mov r12, qword [rsp + 0x80]
mov dword [rsp + 0x68], ebx
jmp case.0x18004265b.6
lea r9, [rsp + 0x98]
mov r8d, ebx
mov r9d, r9d
mov edx, r15d
mov ecx, r13d
call qword [sym.imp.WINMM.dll_mciSendCommandA]
mov r12d, eax
test eax, eax
jne 0x180042765
mov byte [rsp + 0x30], al
jmp 0x18004276a
xor ecx, ecx
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], rcx
mov ebx, 0x400
mov dword [rsp + 0xb0], ecx
jmp 0x18004276a
mov r15d, 0x810
jmp 0x18004276a
movzx edi, al
jmp case.0x18004265b.6
lea rax, [r9 + 1]
mov dil, 1
mov byte [rsp + 0x30], dil
cmp rax, qword [rsi + 0x10]
jae 0x180042839
movzx eax, byte [r13 + 1]
mov dword [rsp + 0x48], eax
jmp case.0x18004265b.6
mov dword [rsp + 0x48], 0
jmp case.0x18004265b.6
mov rax, qword [0x1800a3468]
mov ecx, dword [rsp + 0x54]
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov byte [r14], cl
inc r14
jmp case.0x18004265b.6
mov byte [r14], 0x3d
inc r14
jmp case.0x18004265b.6
mov dword [rsp + 0xc8], 0x572221
mov qword [rsp + 0xcb], r11
jmp case.0x18004265b.6
xor ecx, ecx
movzx eax, dil
cmp dword [rsp + 0x50], ecx
cmovne ecx, eax
movzx edi, cl
mov byte [rsp + 0x30], cl
jmp case.0x18004265b.6
mov dword [rsp + 0x38], 0
jmp case.0x18004265b.6
movzx eax, byte [r13]
mov dword [rsp + 0x54], eax
jmp case.0x18004265b.6
mov eax, dword [str.:disa]
mov dword [rsp + 0xd2], eax
movzx eax, word [0x180089ff8]
mov word [rsp + 0xd6], ax
mov eax, dword [str.s_At_]
mov dword [rsp + 0xd7], eax
movzx eax, word [0x18008a000]
mov word [rsp + 0xdb], ax
dec r15d
lea rdx, [0x180000000]
sub r12, 1
mov dword [rsp + 0x58], r15d
mov qword [rsp + 0x80], r12
jne 0x180042644
mov ebx, dword [rsp + 0x4c]
jmp 0x180042431
mov r9, rsi
mov qword [rsp + 0x20], 0
xor r8d, r8d
xor edx, edx
mov ecx, 0xa4
call fcn.180017e40
test al, al
jne 0x180042980
xor ebx, ebx
mov dword [rsp + 0x4c], ebx
jmp 0x180042431
cmp qword [r9 + 0x18], 0x10
mov r14, r9
jb 0x180042946
mov r14, qword [r9]
mov rax, r8
mul qword [rsi + 0x10]
shr rdx, 1
lea rax, [rdx + rdx*2]
mov qword [rsp + 0x88], rax
jmp 0x18004243a
mov eax, 3
jmp 0x18004244f
mov eax, 2
jmp 0x18004244f
mov eax, 4
jmp 0x18004244f