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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov eax, dword [0x1415a3d18]
mov edx, dword [0x1415a3d1c]
mov r8d, eax
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, eax
imul r9d, r8d
mov r8d, eax
and r8d, edx
or eax, edx
imul eax, r8d
add eax, r9d
mov edx, eax
not edx
and edx, 0x6a430440
and eax, 0x95bcfbbf
sub eax, edx
imul eax, eax, 0x6a9b7b82
add eax, 0x2c94b45a
cmp eax, 0x229620ac
jb 0x1401a90e9
mov eax, dword [0x1415a3d20]
xor edx, edx
div dword [0x1415a3d24]
mov edx, 0x8a728de7
imul rdx, rax
shr rdx, 0x3c
mov eax, edx
not eax
and eax, 0x1f3680b5
mov r8d, edx
and r8d, 0xfffffffa
imul r8d, eax
mov eax, edx
and eax, 5
or edx, 0x1f3680b5
imul edx, eax
add edx, r8d
not edx
or edx, 0xcb631372
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov r11, rsp
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov rbx, rsp
cmp edx, 0x4f38bee7
jae 0x1401a9108
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
jmp 0x1401a9079
mov rsi, qword [rcx]
mov r10, qword [rcx + 8]
mov r13, qword [rcx + 0x18]
movzx r15d, word [r13 + 0x3d2]
mov r14, qword [rcx + 0x28]
movzx eax, word [r14 + 0x3d2]
lea rdi, [r15 + 1]
mov qword [rbp], rax
lea r8, [rax + r15]
inc r8
nop word cs:[rax + rax]
mov eax, dword [0x1415a3d28]
mov edx, dword [0x1415a3d2c]
mov r9d, edx
and r9d, eax
add eax, edx
sub eax, r9d
add eax, 0xa0335697
imul rax, rax, 0x64fd9111
shr rax, 0x3e
or eax, 0x1e1f081c
cmp eax, 0xbfa8cb3b
ja 0x1401a9140
cmp r8d, 0xc
jae 0x1401a9c2d
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r11
mov r9d, 0x8339fe17
nop dword [rax + rax]
mov eax, dword [0x1415a3d38]
xor edx, edx
div dword [0x1415a3d3c]
imul rax, r9
shr rax, 0x3f
imul eax, eax, 0xd88f604c
add eax, 0x1d4b9cdb
cmp eax, 0x9e1ae922
ja 0x1401a9190
mov qword [rbp - 0x18], r10
movzx r9d, word [rsi + 0x3d2]
mov r12, qword [rcx + 0x10]
mov word [r13 + 0x3d2], r8w
imul rax, r12, 0x38
lea rcx, [rsi + rax]
add rcx, 0x168
mov rdx, qword [rsi + rax + 0x198]
mov qword [rbx + 0x30], rdx
movups xmm0, xmmword [rsi + rax + 0x168]
movups xmm1, xmmword [rsi + rax + 0x178]
movups xmm2, xmmword [rsi + rax + 0x188]
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
lea rdx, [r12 + 1]
mov qword [rbp - 0x40], rdx
lea rdx, [rsi + rax]
add rdx, 0x1a0
movabs rax, 0xaca4a3685da924a8
mov r14, r12
xor r14, rax
not r14
xor r14, rax
mov qword [rbp - 0x58], r9
add r14, r9
imul r8, r14, 0x38
sub rsp, 0x20
call fcn.14021bb50
add rsp, 0x20
imul rax, r15, 0x38
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movups xmmword [r13 + rax + 0x168], xmm0
movups xmmword [r13 + rax + 0x178], xmm1
movups xmmword [r13 + rax + 0x188], xmm2
mov rcx, qword [rbx + 0x30]
mov qword [r13 + rax + 0x198], rcx
mov rbx, qword [rbp - 0x10]
lea rdx, [rbx + 0x168]
imul rax, rdi, 0x38
lea rcx, [rax + r13]
add rcx, 0x168
imul r8, qword [rbp], 0x38
sub rsp, 0x20
call fcn.14021bb50
mov r9, qword [rbp - 0x40]
add rsp, 0x20
mov rax, r12
shl rax, 5
lea rcx, [rsi + rax]
movups xmm0, xmmword [rsi + rax]
movups xmm1, xmmword [rsi + rax + 0x10]
mov rax, qword [rbp - 8]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rdx, r9
shl rdx, 5
add rdx, rsi
mov rax, r14
mov qword [rbp - 0x38], r14
mov r8, r14
shl r8, 5
mov eax, dword [0x1415a3d40]
mov r10d, dword [0x1415a3d44]
not r10d
mov r11d, eax
or r11d, r10d
and r10d, eax
not r11d
or r11d, r10d
add r11d, 0xf5ab7b01
imul rax, r11, 0x6defeb45
shr rax, 0x3e
imul eax, eax, 0x2ac7ffcd
cmp eax, 0xf3b2c89e
jbe 0x1401a93c9
sub rsp, 0x20
mov qword [rbp - 0x20], r8
mov r14, r9
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rdx
call fcn.14021bb50
add rsp, 0x20
mov rax, r15
shl rax, 5
mov rcx, qword [rbp - 8]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [r13 + rax], xmm0
movups xmmword [r13 + rax + 0x10], xmm1
mov rcx, rdi
shl rcx, 5
add rcx, r13
mov r8, qword [rbp]
shl r8, 5
sub rsp, 0x20
mov rdx, rbx
call fcn.14021bb50
add rsp, 0x20
lea rcx, [rsi + r14*8]
add rcx, 0x3d8
lea rdx, [rsi + r12*8]
add rdx, 0x3e8
mov rax, qword [rbp - 0x38]
lea r8, [rax*8]
sub rsp, 0x20
call fcn.14021bb50
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
mov r9, r14
mov r8, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp - 0x48], r15
shl r15, 5
mov qword [rbp - 0x30], r15
mov rax, rdi
shl rax, 5
add rax, r13
mov qword [rbp - 0x28], rax
mov rax, qword [rbp]
shl rax, 5
mov qword [rbp - 0x20], rax
lea rax, [rsi + r9*8]
add rax, 0x3d8
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x50], r12
lea rax, [rsi + r12*8]
add rax, 0x3e8
mov qword [rbp - 0x60], rax
shl qword [rbp - 0x38], 3
nop word cs:[rax + rax]
mov r14d, dword [0x1415a3d48]
imul r14d, dword [0x1415a3d4c]
mov eax, r14d
not eax
or eax, 0x3442080
or r14d, 0x40810122
and r14d, eax
or r14d, 0xb828dc1c
and r14d, 0xfbedfdbe
sub rsp, 0x20
mov rbx, r8
mov r12, rcx
mov r15, rdx
call fcn.14021bb50
add rsp, 0x20
mov rax, qword [rbp - 8]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov rax, qword [rbp - 0x30]
movups xmmword [r13 + rax], xmm0
movups xmmword [r13 + rax + 0x10], xmm1
sub rsp, 0x20
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x10]
mov r8, qword [rbp - 0x20]
call fcn.14021bb50
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x60]
mov r8, qword [rbp - 0x38]
call fcn.14021bb50
mov rdx, r15
mov rcx, r12
mov r8, rbx
add rsp, 0x20
cmp r14d, 0x41412299
jb 0x1401a9420
mov r14, qword [rbp - 0x58]
mov r9, qword [rbp - 0x40]
cmp r9, r14
mov r15, qword [rbp - 0x18]
mov r12, qword [rbp - 0x10]
mov rbx, qword [rbp]
jae 0x1401a97ac
mov eax, dword [0x1415a3d50]
xor edx, edx
div dword [0x1415a3d54]
movabs rax, 0x963b3249d4a41dcb
mov r8, qword [rbp - 0x50]
mov rdx, r8
not rdx
add rdx, r14
lea rcx, [r14 + rax]
sub rcx, r8
sub rcx, rax
add rcx, 0xfffffffffffffffe
nop word cs:[rax + rax]
mov eax, dword [0x1415a3d58]
and eax, dword [0x1415a3d5c]
imul rax, rax, 0xf092b5d
shr rax, 0x3b
imul eax, eax, 0xd6c508b9
cmp eax, 0xeb683abb
je 0x1401a9520
and edx, 3
nop word [rax + rax]
mov eax, dword [0x1415a3d60]
add eax, dword [0x1415a3d64]
mov r8d, eax
not r8d
and r8d, 0x1976d7dc
and eax, 0xe6892823
sub eax, r8d
imul rax, rax, 0x58f5867b
shr rax, 0x3d
not eax
and eax, 0x617c3dcb
cmp eax, 0x97f0619b
je 0x1401a9550
nop word [rax + rax]
mov eax, dword [0x1415a3d68]
or eax, dword [0x1415a3d6c]
mov r8d, eax
not r8d
or r8d, 0x5515ec74
and eax, 0x81
and r8d, 0x5715ec74
or r8d, eax
cmp r8d, 0xb06b2c90
ja 0x1401a9590
test rdx, rdx
je 0x1401a960c
nop word cs:[rax + rax]
mov rax, r9
mov r8, qword [rsi + r9*8 + 0x3d8]
mov qword [r8 + 0x160], rsi
mov word [r8 + 0x3d0], r9w
mov r8d, r9d
and r8d, 1
xor rax, 1
lea rax, [rax + r8*2]
mov r9, rax
dec rdx
jne 0x1401a95d0
cmp rcx, 3
jae 0x1401a9619
jmp 0x1401a97ac
mov rax, r9
cmp rcx, 3
jb 0x1401a97ac
mov ecx, 0xaaa4d141
nop
mov edx, dword [0x1415a3d70]
sub edx, dword [0x1415a3d74]
imul rdx, rcx
shr rdx, 0x3f
imul edx, edx, 0xaf4d085e
mov r8d, edx
xor r8d, 0x2385024c
and r8d, edx
cmp r8d, 0x3f8d92f2
jae 0x1401a96e0
mov edx, eax
and edx, 1
mov r8, rax
xor r8, 1
lea rdx, [r8 + rdx*2]
mov r8, qword [rsi + rax*8 + 0x3d8]
mov qword [r8 + 0x160], rsi
mov word [r8 + 0x3d0], ax
mov r8d, eax
and r8d, 2
mov r9, rax
or r9, 2
add r9, r8
mov r8, qword [rsi + rdx*8 + 0x3d8]
mov qword [r8 + 0x160], rsi
mov word [r8 + 0x3d0], dx
lea rdx, [rax + 3]
mov r8, qword [rsi + r9*8 + 0x3d8]
mov qword [r8 + 0x160], rsi
mov word [r8 + 0x3d0], r9w
mov r8, qword [rsi + rax*8 + 0x3f0]
mov qword [r8 + 0x160], rsi
mov word [r8 + 0x3d0], dx
nop word cs:[rax + rax]
mov edx, dword [0x1415a3d78]
mov r8d, dword [0x1415a3d7c]
mov r9d, edx
and r9d, r8d
add r9d, r9d
add edx, r8d
sub edx, r9d
imul rdx, rdx, 0x7d9904e9
shr rdx, 0x3e
mov r8d, edx
xor r8d, 0x68f545f
xor edx, 0x8f5055
and edx, r8d
lea r8, [rax + 1]
mov r9, 0xfffffffffffffffe
sub r9, rax
shl r9, 3
neg r9
lea r10d, [rax + 2]
mov r11, qword [rsi + rax*8 + 0x3d8]
mov qword [r11 + 0x160], rsi
mov word [r11 + 0x3d0], ax
mov r11, qword [rsi + rax*8 + 0x3e0]
mov qword [r11 + 0x160], rsi
mov word [r11 + 0x3d0], r8w
lea r8d, [rax + 3]
mov r9, qword [rsi + r9 + 0x3d8]
mov qword [r9 + 0x160], rsi
mov word [r9 + 0x3d0], r10w
mov r9, qword [rsi + rax*8 + 0x3f0]
mov qword [r9 + 0x160], rsi
mov word [r9 + 0x3d0], r8w
cmp edx, 0x5a0019ca
ja 0x1401a96e0
add rax, 4
cmp rax, r14
jne 0x1401a9620
mov eax, 0xaef6a345
nop word cs:[rax + rax]
mov ecx, dword [0x1415a3d80]
add ecx, dword [0x1415a3d84]
imul rcx, rax
shr rcx, 0x3f
add ecx, 0x5ab400ff
cmp ecx, 0x8367eefe
ja 0x1401a97c0
movzx eax, word [rsi + 0x3d2]
dec eax
xor ecx, ecx
test cl, cl
je 0x1401a9800
mov word [rsi + 0x3d2], ax
nop dword [rax + rax]
mov ecx, dword [0x1415a3d88]
sub ecx, dword [0x1415a3d8c]
mov edx, ecx
and edx, 0x1580315e
add edx, edx
neg edx
add ecx, edx
add ecx, 0x1580315e
mov edx, ecx
and edx, 0x1596843b
xor ecx, 0x3596843b
lea ecx, [rcx + rdx*2]
or ecx, 0xd1a5a255
mov word [rsi + 0x3d2], ax
cmp ecx, 0x512f56a3
jb 0x1401a9800
nop word cs:[rax + rax]
mov eax, dword [0x1415a3d90]
xor eax, dword [0x1415a3d94]
mov ecx, eax
xor ecx, 0x289f08f1
and eax, 0x5760f70e
add eax, eax
sub eax, ecx
mov ecx, eax
not ecx
and ecx, 0x56f59e6d
mov edx, eax
and edx, 0xa90a6192
imul edx, ecx
mov ecx, eax
and ecx, 0x56f59e6d
or eax, 0x56f59e6d
imul eax, ecx
add eax, edx
add eax, 0x6d4d8ff7
cmp eax, 0xf1601629
ja 0x1401a9850
cmp r15, 2
jb 0x1401a9a9b
mov eax, dword [0x1415a3d98]
xor edx, edx
div dword [0x1415a3d9c]
lea r14, [r12 + 0x3d8]
lea r15, [rdi*8 + 0x3d8]
add r15, r13
lea r12, [rbx*8 + 8]
nop word cs:[rax + rax]
mov eax, dword [0x1415a3da0]
xor eax, dword [0x1415a3da4]
mov ecx, eax
xor ecx, 0x16041020
and ecx, eax
and ecx, 0xbe1d52a2
imul rax, rcx, 0x30cab433
shr rax, 0x3d
cmp eax, 0xe7e32529
ja 0x1401a98e0
xor eax, eax
test al, al
je 0x1401a992a
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
mov r8, r12
call fcn.14021bb50
add rsp, 0x20
lea rax, [rbx + 1]
mov qword [rbp - 8], rax
nop word cs:[rax + rax]
mov eax, dword [0x1415a3da8]
sub eax, dword [0x1415a3dac]
xor eax, 0xb17c12fc
imul rbx, rax, 0x401b10c7
shr rbx, 0x3d
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
mov r8, r12
call fcn.14021bb50
add rsp, 0x20
cmp ebx, 0xe014ba7c
ja 0x1401a9940
mov rax, qword [rbp - 8]
mov rcx, rax
not rcx
or rcx, 3
add rcx, rax
inc rcx
je 0x1401a9a88
xor r8d, r8d
mov r15, qword [rbp - 0x18]
mov r12, qword [rbp - 0x10]
mov r10, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x1415a3db0]
sub eax, dword [0x1415a3db4]
mov edx, eax
and edx, 0x1d13470c
add edx, edx
neg edx
add eax, edx
add eax, 0x1d13470c
mov edx, eax
not edx
and edx, 0x1f460ab3
mov r9d, eax
and r9d, 0xe0b9f54c
imul r9d, edx
mov edx, eax
and edx, 0x1f460ab3
or eax, 0x1f460ab3
imul eax, edx
add eax, r9d
add eax, 0xda5a32bc
cmp eax, 0x68b123bf
jbe 0x1401a9a20
mov rax, qword [r13 + rdi*8 + 0x3d8]
mov qword [rax + 0x160], r13
mov word [rax + 0x3d0], di
nop dword [rax]
mov eax, dword [0x1415a3db8]
xor edx, edx
div dword [str.Le4]
mov edx, eax
and edx, 0x7c16c1ef
xor eax, 0xfc16c1ef
lea eax, [rax + rdx*2]
mov edx, eax
and edx, 0x1ef7bcb3
xor eax, 0x1ef7bcb3
lea eax, [rax + rdx*2]
add eax, 0x499aa68e
mov rdx, qword [r13 + rdi*8 + 0x3d8]
mov qword [rdx + 0x160], r13
mov word [rdx + 0x3d0], di
cmp eax, 0xbcb07080
ja 0x1401a9a20
inc rdi
inc r8
cmp r8, rcx
jne 0x1401a99b0
cmp r10w, 3
jb 0x1401a9a9b
jmp 0x1401a9aaa
mov r15, qword [rbp - 0x18]
mov r12, qword [rbp - 0x10]
mov r10, qword [rbp]
cmp r10w, 3
jae 0x1401a9aaa
xor eax, eax
test al, al
je 0x1401a9caf
jmp 0x1401a9cbc
mov rax, rdi
neg rax
mov rcx, qword [rbp - 0x48]
add rcx, r10
add rcx, 2
xor edx, edx
jmp 0x1401a9acd
add rdi, 4
add rax, 0xfffffffffffffffc
cmp rcx, rdi
je 0x1401a9a9b
mov r9d, dword [0x1415a3dc0]
mov r10d, dword [0x1415a3dc4]
mov r8d, r9d
not r8d
mov r11d, r10d
not r11d
mov ebx, r8d
and ebx, 0x10fd4cc9
and r9d, 0xef02b336
or r9d, ebx
or r8d, r11d
and r11d, 0x10fd4cc9
and r10d, 0xef02b336
or r10d, r11d
xor r10d, r9d
not r8d
or r8d, r10d
add r8d, 0xd0d92cfc
xor r8d, 0x29fb8324
imul r9, r8, 0x55f0f21
shr r9, 0x20
sub r8d, r9d
shr r8d, 1
add r8d, r9d
shr r8d, 0x1e
cmp r8d, 0xeaf2a9cb
je 0x1401a9bc0
nop word cs:[rax + rax]
mov r8, qword [r13 + rdi*8 + 0x3d8]
mov qword [r8 + 0x160], r13
mov word [r8 + 0x3d0], di
mov r8, qword [r13 + rdi*8 + 0x3e0]
mov qword [r8 + 0x160], r13
lea r9d, [rdi + 1]
mov word [r8 + 0x3d0], r9w
mov r8, qword [r13 + rdi*8 + 0x3e8]
mov qword [r8 + 0x160], r13
lea r9d, [rdi + 2]
mov word [r8 + 0x3d0], r9w
mov r8, qword [r13 + rdi*8 + 0x3f0]
mov qword [r8 + 0x160], r13
lea r9d, [rdi + 3]
mov word [r8 + 0x3d0], r9w
test dl, dl
je 0x1401a9ac0
mov r8, qword [r13 + rdi*8 + 0x3d8]
mov qword [r8 + 0x160], r13
mov word [r8 + 0x3d0], di
mov r8, qword [r13 + rdi*8 + 0x3e0]
mov qword [r8 + 0x160], r13
lea r9d, [rdi + 1]
mov word [r8 + 0x3d0], r9w
mov r8, qword [r13 + rdi*8 + 0x3e8]
mov qword [r8 + 0x160], r13
lea r9d, [rdi + 2]
mov word [r8 + 0x3d0], r9w
mov r8, qword [r13 + rdi*8 + 0x3f0]
mov qword [r8 + 0x160], r13
lea r9d, [rdi + 3]
mov word [r8 + 0x3d0], r9w
jmp 0x1401a9b50
ud2
mov r14, qword [0x1415acb98]
xor eax, eax
test al, al
je 0x1401a9cc5
mov rax, qword [0x1415acb98]
jmp 0x1401a9caf
mov eax, dword [0x1415a3dc8]
mov ecx, dword [0x1415a3dcc]
add eax, ecx
add eax, 0xe364ba7d
mov ecx, eax
not ecx
and ecx, 0xabddd7b2
mov edx, eax
and edx, 0x5422284d
imul edx, ecx
mov ecx, eax
and ecx, 0xabddd7b2
or eax, 0xabddd7b2
imul eax, ecx
add eax, edx
cmp eax, 0xa2f9340c
je 0x1401a9d6c
mov eax, dword [0x1415a3dd0]
mov ecx, dword [0x1415a3dd4]
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
xor ecx, 0xd3875eec
and eax, 0x2c78a113
add eax, eax
sub eax, ecx
xor eax, 0x16cbfa7e
imul edi, eax, 0xa5d37524
sub rsp, 0x20
mov rcx, r14
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
cmp edi, 0xe0369695
jbe 0x1401a9d84
sub rsp, 0x20
mov rcx, r14
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
jmp 0x1401a9d06
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1401a9d90
mov rax, rsi
mov rdx, r15
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret