Function at 0x1401a6ca0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov rsi, qword [rcx + 0x28]
movzx r15d, word [rsi + 0x3d2]
lea r12, [r15 + rdx]
cmp r12, 0xc
jae 0x1401a759b
mov r13, rdx
mov rbx, qword [rcx + 0x18]
movzx edi, word [rbx + 0x3d2]
nop dword [rax + rax]
mov eax, dword [0x1415a3ac0]
add eax, dword [0x1415a3ac4]
shr eax, 3
imul rax, rax, 0x1412f2ff
shr rax, 0x39
xor eax, 0xf294db81
mov r8d, eax
neg r8d
dec eax
and eax, 0x32940250
mov edx, r8d
and edx, 0x86b20af
imul edx, eax
mov eax, r8d
and eax, 0x5000450
or r8d, 0x37940650
imul r8d, eax
add r8d, edx
cmp r8d, 0xf8adaa80
ja 0x1401a6ce0
mov qword [rsp + 0x40], rcx
mov rcx, rdi
sub rcx, r13
jb 0x1401a7495
mov eax, dword [0x1415a3ad8]
xor eax, dword [0x1415a3adc]
add eax, 0x66c544c6
imul rax, rax, 0x3f80e307
shr rax, 0x3d
add eax, 0x25fb4ea5
cmp eax, 0x97246905
mov qword [rsp + 0x30], rcx
jbe 0x1401a6dc6
mov eax, edi
sub eax, r13d
mov word [rbx + 0x3d2], ax
mov word [rsi + 0x3d2], r12w
lea rdx, [rsi + 0x168]
imul rax, r13, 0x38
lea rcx, [rsi + rax]
add rcx, 0x168
imul r8, r15, 0x38
call fcn.14021bb50
mov rcx, r13
shl rcx, 5
add rcx, rsi
mov r8, r15
shl r8, 5
mov rdx, rsi
call fcn.14021bb50
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x38], rdi
lea r9, [rsi + 0x168]
imul rax, r13, 0x38
add rax, rsi
add rax, 0x168
mov qword [rsp + 0x28], rax
mov r14, r15
or r14, 0x38
mov qword [rsp + 0x48], r13
shl r13, 5
add r13, rsi
mov rdi, rbx
mov rbp, r15
shl rbp, 5
mov rbx, r12
nop word cs:[rax + rax]
mov word [rdi + 0x3d2], cx
mov word [rsi + 0x3d2], bx
mov eax, r15d
and eax, 0xffffffc7
mov ecx, r15d
not ecx
and ecx, 0x38
imul rcx, rax
mov r8d, r15d
and r8d, 0x38
imul r8, r14
add r8, rcx
mov rcx, qword [rsp + 0x28]
mov rdx, r9
mov r12, r15
mov r15, r9
call fcn.14021bb50
mov rcx, r13
mov rdx, rsi
mov r8, rbp
call fcn.14021bb50
mov r9, r15
mov r15, r12
mov rcx, qword [rsp + 0x30]
xor eax, eax
test al, al
jne 0x1401a6e10
mov qword [rsp + 0x28], rbx
lea r13, [rcx + 1]
mov r14, qword [rsp + 0x38]
sub r14, r13
mov rbx, qword [rsp + 0x48]
lea rax, [rbx - 1]
nop word [rax + rax]
mov ecx, dword [0x1415a3ae0]
imul ecx, dword [str.U6Qg]
and ecx, 0xa3562d91
add ecx, 0xe12e174c
mov edx, ecx
not edx
or edx, 0xe64e4a48
or ecx, 0x11b0b5fd
and ecx, edx
cmp ecx, 0x5b2e5b96
jb 0x1401a6e90
cmp r14, rax
jne 0x1401a74c1
mov rbp, rdi
imul rax, r13, 0x38
lea rdx, [rdi + rax]
add rdx, 0x168
imul r12, r14, 0x38
mov rcx, r9
mov r8, r12
mov rdi, r9
call fcn.14021bb50
mov rdx, r13
shl rdx, 5
add rdx, rbp
shl r14, 5
mov rcx, rsi
mov r8, r14
call fcn.14021bb50
mov rcx, qword [rsp + 0x30]
imul rax, rcx, 0x38
shl rcx, 5
movups xmm0, xmmword [rbp + rcx]
movups xmm1, xmmword [rbp + rcx + 0x10]
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm1
mov r10, qword [rsp + 0x40]
mov rcx, qword [r10]
mov rdx, qword [r10 + 0x10]
imul r8, rdx, 0x38
shl rdx, 5
mov r9, qword [rcx + r8 + 0x198]
mov qword [rsp + 0x80], r9
movups xmm0, xmmword [rcx + r8 + 0x168]
movups xmm1, xmmword [rcx + r8 + 0x178]
movups xmm2, xmmword [rcx + r8 + 0x188]
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
mov r9, qword [rbp + rax + 0x198]
movups xmm0, xmmword [rbp + rax + 0x168]
movups xmm1, xmmword [rbp + rax + 0x178]
movups xmm2, xmmword [rbp + rax + 0x188]
movups xmmword [rcx + r8 + 0x168], xmm0
mov qword [rcx + r8 + 0x198], r9
movups xmmword [rcx + r8 + 0x188], xmm2
movups xmmword [rcx + r8 + 0x178], xmm1
movups xmm0, xmmword [rcx + rdx]
movups xmm1, xmmword [rcx + rdx + 0x10]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
movups xmmword [rcx + rdx + 0x10], xmm1
movups xmmword [rcx + rdx], xmm0
mov rax, qword [rsp + 0x80]
mov qword [rdi + r12 + 0x30], rax
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rdi + r12 + 0x20], xmm2
movups xmmword [rdi + r12 + 0x10], xmm1
movups xmmword [rdi + r12], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movups xmmword [rsi + r14 + 0x10], xmm1
movups xmmword [rsi + r14], xmm0
nop dword [rax + rax]
mov eax, dword [0x1415a3af8]
imul eax, dword [0x1415a3afc]
mov ecx, eax
not ecx
and ecx, 0xe837725b
mov edx, eax
and edx, 0x17c88da4
imul edx, ecx
mov ecx, eax
and ecx, 0xe837725b
or eax, 0xe837725b
imul eax, ecx
add eax, edx
mov ecx, eax
and ecx, 0xca914121
or eax, 0xca914121
add eax, ecx
add eax, 0xadd0aae6
cmp eax, 0x3e14985e
jb 0x1401a7040
mov rax, qword [r10 + 0x30]
cmp qword [r10 + 0x20], 0
je 0x1401a71b0
nop
mov ecx, dword [0x1415a3b08]
mov edx, dword [0x1415a3b0c]
xor edx, ecx
not edx
and edx, ecx
shr edx, 1
imul rcx, rdx, 0x107fc6db
shr rcx, 0x3b
mov edx, ecx
add edx, edx
neg edx
add ecx, edx
add ecx, 0xe6f0883b
mov edx, ecx
xor edx, 0xd0802e
and edx, ecx
cmp edx, 0xab9cfc18
jb 0x1401a70a0
test rax, rax
je 0x1401a7204
lea r14, [rsi + 0x3d8]
lea rcx, [rsi + rbx*8]
add rcx, 0x3d8
lea r8, [r15*8 + 8]
nop word cs:[rax + rax]
mov eax, dword [0x1415a3b48]
mov edx, dword [0x1415a3b4c]
mov r9d, eax
not r9d
and r9d, edx
mov r10d, edx
not r10d
and r10d, eax
imul r10d, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, r10d
add eax, 0x602395f1
mov edx, eax
xor edx, 0xd428c0c
xor eax, 0xd01533a0
or edx, 0xe2bd6073
and edx, eax
cmp edx, 0x5e1f19ad
jb 0x1401a7110
mov rdx, r14
call fcn.14021bb50
lea rdx, [r13*8 + 0x3d8]
add rdx, rbp
lea r8, [rbx*8]
mov rcx, r14
call fcn.14021bb50
lea rax, [r15 + rbx]
inc rax
mov ecx, eax
and ecx, 3
cmp qword [rsp + 0x28], 3
jae 0x1401a7277
xor r8d, r8d
jmp 0x1401a733a
mov ecx, dword [0x1415a3b00]
mov edx, dword [0x1415a3b04]
mov r8d, edx
and r8d, ecx
add ecx, edx
sub ecx, r8d
not ecx
and ecx, 0xc0514740
mov edx, ecx
not edx
xor ecx, 0x3ac2ee47
add ecx, edx
and edx, 0x3ac2ee47
sub ecx, edx
mov edx, ecx
and edx, 0xc6f9226c
or ecx, 0xc6f9226c
add ecx, edx
cmp ecx, 0xc770d426
ja 0x1401a71b0
test rax, rax
je 0x1401a7430
mov eax, dword [0x1415a3b38]
mov ecx, dword [0x1415a3b3c]
not eax
not ecx
or ecx, eax
not ecx
add ecx, 0xb1fa4caa
imul rax, rcx, 0x12689839
shr rax, 0x3b
or eax, 0x1a92780c
cmp eax, 0x91db9082
jne 0x1401a7240
ud2
mov eax, dword [0x1415a3b40]
add eax, dword [0x1415a3b44]
xor eax, 0x62ede4b6
mov ecx, eax
and ecx, 0x1455a2ef
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xf455a2ef
and eax, 0x363c4094
ud2
and rax, 0xfffffffffffffffc
nop dword [rax + rax]
mov edx, dword [0x1415a3b50]
imul edx, dword [0x1415a3b54]
imul r8, rdx, 0x6cc5189
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x1f
imul edx, edx, 0xaa074ce3
and edx, 0xa42646d3
cmp edx, 0x227b8d11
ja 0x1401a7280
xor r8d, r8d
nop word [rax + rax]
mov rdx, r8
or rdx, 1
mov r9, qword [rsi + r8*8 + 0x3d8]
mov qword [r9 + 0x160], rsi
mov word [r9 + 0x3d0], r8w
mov r9, r8
or r9, 2
mov r10, qword [rsi + rdx*8 + 0x3d8]
mov qword [r10 + 0x160], rsi
mov word [r10 + 0x3d0], dx
mov rdx, r8
or rdx, 3
mov r10, qword [rsi + r9*8 + 0x3d8]
mov qword [r10 + 0x160], rsi
mov word [r10 + 0x3d0], r9w
add r8, 4
mov r9, qword [rsi + rdx*8 + 0x3d8]
mov qword [r9 + 0x160], rsi
mov word [r9 + 0x3d0], dx
cmp rax, r8
jne 0x1401a72c0
mov eax, dword [0x1415a3b10]
xor edx, edx
div dword [0x1415a3b14]
nop dword [rax + rax]
mov eax, dword [0x1415a3b18]
or eax, dword [0x1415a3b1c]
imul rax, rax, 0x329ff53f
shr rax, 0x3d
or eax, 0x207310b0
cmp eax, 0x96edee69
ja 0x1401a7350
test rcx, rcx
je 0x1401a7430
xor eax, eax
nop
mov edx, dword [0x1415a3b20]
mov r9d, dword [0x1415a3b24]
xor r9d, edx
not r9d
and r9d, edx
or r9d, 0x38e939d4
imul edx, r9d, 0x99156248
cmp edx, 0xd12a1940
jne 0x1401a73d0
mov rdx, qword [rsi + r8*8 + 0x3d8]
mov qword [rdx + 0x160], rsi
mov word [rdx + 0x3d0], r8w
nop word cs:[rax + rax]
mov edx, dword [0x1415a3b28]
or edx, dword [0x1415a3b2c]
mov r9, qword [rsi + r8*8 + 0x3d8]
mov qword [r9 + 0x160], rsi
mov word [r9 + 0x3d0], r8w
imul rdx, rdx, 0x25e51be3
shr rdx, 0x3b
and edx, 0xfffffffe
imul edx, edx, 0x665781f7
cmp edx, 0x2147f7ea
je 0x1401a73d0
mov edx, r8d
and edx, 1
or r8, 1
add r8, rdx
inc rax
cmp rax, rcx
jne 0x1401a7380
nop dword [rax + rax]
mov eax, dword [0x1415a3b30]
mov ecx, dword [0x1415a3b34]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
add ecx, 0x67e31777
mov eax, ecx
not eax
mov edx, ecx
and edx, 0x16b28635
and eax, 0xe94d79ca
imul eax, edx
mov edx, ecx
and edx, 0xe94d79ca
or ecx, 0xe94d79ca
imul ecx, edx
add eax, ecx
add eax, 0x3b5db033
cmp eax, 0xf98929b
jb 0x1401a7430
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [str._x_vbCf]
xor edx, edx
div dword [0x1415a3acc]
add eax, 0xf3826580
mov ecx, eax
and ecx, 0x36953f61
xor eax, 0xb6953f61
lea eax, [rax + rcx*2]
cmp eax, 0xcbfc4434
jbe 0x1401a74f9
jmp 0x1401a7523
mov eax, dword [0x1415a3ae8]
mov ecx, dword [0x1415a3aec]
not eax
not ecx
or ecx, eax
not ecx
add ecx, 0x7048c651
mov eax, ecx
not eax
and eax, 0x69400429
and ecx, 0x96bffbd6
sub ecx, eax
cmp ecx, 0x496e227c
jbe 0x1401a7527
jmp 0x1401a7597
mov eax, dword [0x1415a3ad0]
imul eax, dword [0x1415a3ad4]
imul eax, eax, 0xa971a1e7
mov ecx, 0x91eabd33
imul rcx, rax
shr rcx, 0x3f
ud2
ud2
mov eax, dword [0x1415a3af0]
mov ecx, dword [0x1415a3af4]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
mov ecx, eax
not ecx
mov edx, eax
or edx, 0xe0ca18af
mov r8d, edx
and r8d, 0x4e19ddeb
and ecx, 0x11242210
imul ecx, r8d
and edx, 0xb1e62214
or eax, 0xf1ee3abf
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xba50bd84
and ecx, eax
ud2
ud2
ud2