Function at 0x14008e840
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, 0x18
lea rbp, [rsp + 0x10]
mov rbx, rdx
mov rsi, rcx
mov eax, dword [0x1415b4938]
imul eax, dword [0x1415b493c]
mov ecx, eax
not ecx
and ecx, 0xc084a8fa
mov edx, eax
and edx, 0x3f7b5705
imul edx, ecx
mov ecx, eax
and ecx, 0xc084a8fa
or eax, 0xc084a8fa
imul eax, ecx
add eax, edx
imul eax, eax, 0x76c7f1af
mov ecx, eax
not ecx
and ecx, 0xb657700e
mov edx, eax
and edx, 0x49a88ff0
imul edx, ecx
mov ecx, eax
and ecx, 0xb657700e
or eax, 0xb657700e
imul eax, ecx
add eax, edx
cmp eax, 0xb8c5584f
ja 0x14008e8d9
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov rdi, rsp
xor eax, eax
test al, al
je 0x14008e8e8
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
jmp 0x14008e8c3
mov r12, qword [rbx]
mov eax, 0xe133b02f
mov ecx, dword [0x1415b4940]
add ecx, dword [0x1415b4944]
mov edx, ecx
and edx, 0x5fdd0395
add edx, edx
sub ecx, edx
add ecx, 0xf906cf01
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x643added
ja 0x14008e8f0
mov r15, qword [rbx + 8]
nop word cs:[rax + rax]
mov eax, dword [0x1415b4948]
mov ecx, dword [0x1415b494c]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x9f06d649
and ecx, 0x60f929b6
imul ecx, edx
mov edx, eax
and edx, 0x60f929b6
or eax, 0x60f929b6
imul eax, edx
add eax, ecx
imul rcx, rax, 0xf187feb
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
add eax, 0x914a814b
cmp eax, 0x7a6ff549
jb 0x14008e930
test r15, r15
je 0x14008ea90
nop word cs:[rax + rax]
mov eax, dword [0x1415b4950]
imul eax, dword [0x1415b4954]
imul rcx, rax, 0x281828e9
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
mov ecx, eax
shr ecx, 0x1e
not ecx
and ecx, 0x48bb0776
bt eax, 0x1e
sbb ecx, 0
cmp ecx, 0xae98006e
je 0x14008e9a0
mov ecx, r15d
and ecx, 3
mov eax, dword [0x1415b4958]
xor edx, edx
div dword [0x1415b495c]
nop
mov eax, dword [0x1415b4960]
add eax, dword [0x1415b4964]
imul rax, rax, 0x2188f42d
shr rax, 0x3a
mov edx, eax
not edx
mov r8d, eax
and r8d, 3
and edx, 0x75e9ce8c
imul edx, r8d
mov r8d, eax
and r8d, 0xfffffffc
or eax, 0x75e9ce8c
imul eax, r8d
add eax, edx
imul rax, rax, 0x11411ba3
shr rax, 0x3c
cmp eax, 0x773bd33
ja 0x14008e9f0
mov eax, dword [0x1415b4968]
mov edx, dword [0x1415b496c]
add eax, edx
add eax, 0x58c78467
and eax, 0xb565618d
add eax, 0x39e2ea65
cmp eax, 0xf8e3bb4e
ja 0x14008ea40
mov qword [rbp], rcx
cmp r15, 4
mov qword [rbp - 8], r15
jae 0x14008eb7d
xor r14d, r14d
xor r8d, r8d
jmp 0x14008ec7f
mov eax, dword [0x1415b4978]
sub eax, dword [0x1415b497c]
mov ecx, eax
and ecx, 0x5b078ec3
xor eax, 0x5b078ec3
lea eax, [rax + rcx*2]
imul eax, eax, 0xafee7f20
cmp eax, 0x442be58d
je 0x14008ea90
mov eax, dword [0x1415b4980]
xor edx, edx
div dword [0x1415b4984]
nop word [rax + rax]
mov eax, dword [0x1415b4988]
mov ecx, dword [0x1415b498c]
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
or eax, 0xda81ccac
and eax, 0xdb89dcbc
add eax, 0x53e16eae
cmp eax, 0x1be8b6e3
jb 0x14008ead0
mov r11, qword [rbx + 0x18]
nop word cs:[rax + rax]
mov ecx, dword [0x1415b4990]
mov edx, dword [0x1415b4994]
mov eax, ecx
not eax
mov r8d, edx
not r8d
mov r9d, eax
and r9d, 0x788c8104
and ecx, 0x7737efb
or ecx, r9d
or eax, r8d
and r8d, 0x788c8104
and edx, 0x7737efb
or edx, r8d
xor edx, ecx
not eax
or eax, edx
add eax, 0x633c1e29
or eax, 0xa8f211de
and eax, 0xeafef5ff
cmp eax, 0x5fad2839
jb 0x14008eb20
jmp 0x14008ee24
mov rdx, r15
xor rdx, 3
mov rax, r15
or rax, 0xfffffffffffffffc
and rax, rdx
nop
mov edx, dword [0x1415b4970]
add edx, dword [0x1415b4974]
and edx, 0x20028101
cmp edx, 0xd89ffa5a
je 0x14008eb90
movabs rdx, 0x38defa6fd1502d9a
xor r14d, r14d
mov r9, rdx
not r9
movabs r10, 0xffffffffffffffc
and r10, rdx
xor r8d, r8d
xor r11d, r11d
mov r13d, dword [0x1415b4998]
add r13d, dword [0x1415b499c]
xor r13d, 0xefa76555
imul r13, r13, 0x6dd68d8d
shr r13, 0x3e
add r13d, 0xcf79d7a1
cmp r13d, 0xa2f0af0c
jb 0x14008ebd0
mov r13, r8
shl r13, 4
mov r15, qword [r12 + r13 + 8]
mov rcx, r15
and rcx, r14
or r15, r14
add r15, rcx
mov rcx, r13
or rcx, 0x10
add r15, qword [r12 + rcx + 8]
or r13, 0x20
mov rcx, qword [r12 + r13 + 8]
mov r14, rcx
and r14, r15
xor r15, rcx
lea r14, [r15 + r14*2]
mov ecx, r9d
and ecx, 3
or rcx, r10
mov r15, r9
xor r15, rdx
and r15, r8
xor r15, rdx
xor r15, rcx
mov ecx, r8d
and ecx, 3
or rcx, r15
shl rcx, 4
add r14, qword [r12 + rcx + 8]
mov ecx, r8d
and ecx, 4
xor r8, 4
add r11, 4
lea r8, [r8 + rcx*2]
cmp rax, r11
jne 0x14008ebd0
mov eax, dword [0x1415b49a0]
xor edx, edx
div dword [0x1415b49a4]
nop dword [rax]
mov eax, dword [0x1415b49a8]
add eax, dword [0x1415b49ac]
mov ecx, eax
xor ecx, 0x103169
xor eax, 0x33ed8a96
mov edx, eax
and edx, 0xed2fc482
and ecx, 0x12d03b7d
imul ecx, edx
mov edx, eax
and edx, 0x12d03b7d
or eax, 0x12d03b7d
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
or ecx, 0xc34c8448
add ecx, eax
cmp ecx, 0x59a569cb
je 0x14008ec90
mov r9, qword [rbp]
test r9, r9
je 0x14008ed39
xor eax, eax
mov edx, 0xe5f58863
mov ecx, dword [0x1415b49b0]
add ecx, dword [0x1415b49b4]
and ecx, 0xd105e9fe
imul rcx, rdx
shr rcx, 0x3e
imul ecx, ecx, 0xd5205b0f
cmp ecx, 0x79e7a278
ja 0x14008ecf0
mov rcx, r8
shl rcx, 4
add r14, qword [r12 + rcx + 8]
inc r8
mov ecx, eax
and ecx, 1
xor rax, 1
lea rax, [rax + rcx*2]
cmp rax, r9
jne 0x14008ecf0
mov r11, qword [rbx + 0x18]
test r11, r11
je 0x14008ed73
cmp r14, 0x10
setb cl
cmp qword [r12 + 8], 0
sete al
and al, cl
test r14, r14
sets cl
test cl, al
mov r15, qword [rbp - 8]
jne 0x14008ee24
xor cl, al
jne 0x14008ee24
add r14, r14
jmp 0x14008ed77
mov r15, qword [rbp - 8]
xor eax, eax
nop dword [rax]
test al, al
jne 0x14008ed80
test r14, r14
je 0x14008ee24
mov eax, dword [0x1415b49b8]
xor edx, edx
div dword [0x1415b49bc]
nop dword [rax + rax]
mov eax, dword [0x1415b49c0]
mov ecx, dword [0x1415b49c4]
not eax
not ecx
or ecx, eax
not ecx
imul eax, ecx, 0x37f4fb4c
add eax, 0x3d0a44fa
not eax
and eax, 0x407490b4
cmp eax, 0xe7f2d513
ja 0x14008eda0
xor eax, eax
nop
test al, al
jne 0x14008edd0
test r14, r14
js 0x14008f177
mov qword [rbp], r11
mov eax, dword [0x1415b49c8]
mov ecx, dword [0x1415b49cc]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
or ecx, 0x6233e052
lea eax, [rcx - 0x422dbe81]
mov edx, eax
and edx, 0x9f20438c
xor eax, 0x60dfbc73
add eax, ecx
add eax, 0xbdd2417f
sub eax, edx
cmp eax, 0x9694836c
ja 0x14008ee99
jmp 0x14008ee31
mov eax, 1
xor r14d, r14d
jmp 0x14008ef26
mov eax, dword [0x1415b49d0]
xor eax, dword [0x1415b49d4]
xor eax, 0x96653309
mov r13d, 0xecd323b7
imul r13, rax
shr r13, 0x3a
mov eax, r13d
not eax
and eax, 0x734c4fac
mov ecx, r13d
and ecx, 0x13
imul ecx, eax
mov eax, r13d
and eax, 0xffffffec
or r13d, 0x734c4fac
imul r13d, eax
add r13d, ecx
movzx eax, byte [0x1415d3950]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r14
call fcn.1401b5e70
add rsp, 0x20
cmp r13d, 0x6a0da595
jbe 0x14008eeb7
movzx eax, byte [0x1415d3950]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r14
call fcn.140219830
add rsp, 0x20
jmp 0x14008ee31
mov r11, qword [rbp]
nop dword [rax + rax]
mov ecx, dword [0x1415b49d8]
mov edx, dword [0x1415b49dc]
not ecx
not edx
or edx, ecx
xor edx, 0x77728deb
imul ecx, edx, 0xbebc60fa
mov edx, ecx
xor edx, 0x740e9897
and ecx, 0x740e9896
or ecx, edx
cmp ecx, 0xcd0bddd9
ja 0x14008eec0
test rax, rax
je 0x14008f177
nop
mov ecx, dword [0x1415b49e0]
or ecx, dword [0x1415b49e4]
add ecx, 0x861f442
xor ecx, 0x38f30448
or ecx, 0x430cb995
cmp ecx, 0xf7d32291
ja 0x14008ef00
mov qword [rdi], r14
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], 0
test r15, r15
jle 0x14008f0a6
cmp r15, 1
jne 0x14008f115
mov ecx, 0xd06feff5
nop dword [rax]
mov r8d, dword [0x1415b49fc]
mov edx, r8d
xor edx, edx
not edx
and edx, dword [0x1415b49f8]
xor edx, r8d
imul rdx, rcx
shr rdx, 0x3e
lea r8d, [rdx + 0x4bf1f8dc]
mov r9d, edx
not r9d
and r9d, 0x24040422
mov r10d, r8d
and r10d, 0x41a00099
imul r10d, r9d
and r8d, 0xa51f846
or edx, 0x6ff5fcfe
imul edx, r8d
add edx, r10d
cmp edx, 0xd8353226
ja 0x14008ef50
mov ecx, 0xc060e5cd
nop word cs:[rax + rax]
mov edx, dword [0x1415b4a00]
mov r8d, dword [0x1415b4a04]
mov r9d, r8d
and r9d, edx
add edx, r8d
sub edx, r9d
or edx, 0x44c294b5
imul rdx, rcx
shr rdx, 0x3f
or edx, 0x89ddf5fe
cmp edx, 0x2ded6e02
jb 0x14008efc0
test r11, r11
jne 0x14008f115
mov r15, qword [r12]
mov rbx, qword [r12 + 8]
cmp r14, rbx
jae 0x14008f14f
mov eax, dword [0x1415b4a08]
mov ecx, dword [0x1415b4a0c]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
add ecx, 0x4049fd3a
cmp ecx, 0x8de4becf
jbe 0x14008f04b
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, rbx
call fcn.14021ae20
add rsp, 0x20
mov eax, dword [0x1415b4a10]
xor edx, edx
div dword [0x1415b4a14]
mov r14d, eax
not eax
and eax, 0x6e94085d
and r14d, 0x116bf7a2
sub r14d, eax
or r14d, 0x813ee0d4
add r14d, 0xf55ca2b9
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, rbx
call fcn.140232840
add rsp, 0x20
cmp r14d, 0x6761e70c
jb 0x14008f04b
mov rax, qword [rdi + 8]
mov r14, qword [rdi + 0x10]
jmp 0x14008f152
jne 0x14008f115
nop dword [rax + rax]
mov ecx, dword [0x1415b49e8]
or ecx, dword [0x1415b49ec]
or ecx, 0xae623ed7
add ecx, 0x8f1c52c8
mov edx, ecx
and edx, 0x5b41d16c
add edx, edx
sub ecx, edx
add ecx, 0x5b41dd6c
cmp ecx, 0x45b88a2d
jb 0x14008f0b0
nop word cs:[rax + rax]
mov ecx, dword [0x1415b49f0]
or ecx, dword [0x1415b49f4]
or ecx, 0x7bef9fef
add ecx, 0xe1f43f1e
cmp ecx, 0x39a2b3de
jb 0x14008f0f0
test r11, r11
je 0x14008f147
mov eax, dword [0x1415b4a18]
and eax, dword [0x1415b4a1c]
add eax, 0x3e2fea2a
mov ecx, eax
not ecx
and ecx, 0x605ba87b
and eax, 0x9fa45784
sub eax, ecx
cmp eax, 0xfc4acb98
ja 0x14008f1fa
jmp 0x14008f1da
xor ebx, ebx
mov r15d, 1
xor r14d, r14d
add rax, r14
sub rsp, 0x20
mov rcx, rax
mov rdx, r15
mov r8, rbx
call fcn.14022aa10
add rsp, 0x20
add r14, rbx
mov qword [rdi + 0x10], r14
jmp 0x14008f21e
mov eax, dword [0x1415b4a20]
mov ecx, eax
not ecx
or ecx, dword [0x1415b4a24]
add eax, ecx
inc eax
or eax, 0xe2931a7c
mov ecx, eax
and ecx, 0x525009bc
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xd25009bc
mov ecx, eax
not ecx
and ecx, 0xe018e896
mov edx, eax
and edx, 0x1fe71701
imul edx, ecx
mov ecx, eax
and ecx, 0xe008e8c2
or eax, 0xe018e8d6
imul eax, ecx
add eax, edx
cmp eax, 0xeddd4230
ja 0x14008f432
jmp 0x14008f3fd
sub rsp, 0x20
lea rdx, [0x14159a7c8]
mov rcx, rdi
mov r8, rbx
call fcn.1400bc7e0
add rsp, 0x20
xor ecx, ecx
test cl, cl
je 0x14008f216
sub rsp, 0x20
lea rdx, [0x14159a7c8]
mov rcx, rdi
mov r8, rbx
call fcn.1400bc7e0
add rsp, 0x20
jmp 0x14008f1da
test al, al
jne 0x14008f313
mov eax, dword [0x1415b4a38]
xor edx, edx
div dword [0x1415b4a3c]
mov ecx, eax
xor ecx, 0xedeebd0c
and eax, 0x121142f3
add eax, eax
sub eax, ecx
mov ecx, eax
not ecx
and ecx, 0x12ff92e9
mov edx, eax
and edx, 0xed006d16
imul edx, ecx
mov ecx, eax
and ecx, 0x12ff92e9
or eax, 0x12ff92e9
imul eax, ecx
add eax, edx
mov ecx, eax
xor ecx, 0x9b8bf765
add ecx, eax
and eax, 0x6474089a
sub ecx, eax
cmp ecx, 0x40f4e42b
jae 0x14008f290
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
nop dword [rax + rax]
mov eax, dword [0x1415b4a40]
xor eax, dword [0x1415b4a44]
mov rcx, qword [rdi + 0x10]
mov qword [rsi + 0x10], rcx
imul eax, eax, 0x98c791c1
imul rax, rax, 0x4cfdd2b1
shr rax, 0x3d
imul eax, eax, 0xf4cdcb53
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
cmp eax, 0xb515e0b
ja 0x14008f290
nop dword [rax + rax]
mov eax, dword [0x1415b4a48]
mov ecx, dword [0x1415b4a4c]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
or eax, 0xa38e79b3
imul rax, rax, 0x63df99ad
shr rax, 0x3e
or eax, 0xa722d044
cmp eax, 0xd63c23
jb 0x14008f2d0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x1415b4a50]
xor edx, edx
div dword [0x1415b4a54]
mov ecx, eax
and ecx, 0x5e7ba8f6
or eax, 0x5e7ba8f6
add eax, ecx
add eax, 0x1e94fd60
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x20633d17
and ecx, 0xdf9cc2e8
imul ecx, edx
mov edx, eax
and edx, 0xdf9cc2e8
or eax, 0xdf9cc2e8
imul eax, edx
add eax, ecx
cmp eax, 0x5f63bd2c
jbe 0x14008f370
ud2
mov eax, dword [0x1415b4a58]
xor edx, edx
div dword [0x1415b4a5c]
mov ecx, eax
and ecx, 0x6995b665
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x6995b665
xor eax, 0x476cc414
add eax, 0xa8ef3fa9
ud2
mov eax, dword [0x1415b4a28]
mov ecx, dword [0x1415b4a2c]
not eax
not ecx
or ecx, eax
mov eax, ecx
not eax
xor ecx, 0x3b748bdc
add ecx, eax
and eax, 0x3b748bdc
sub ecx, eax
or ecx, 0xc88790eb
ud2
ud2