Function at 0x1400520b0
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, 0x88
mov qword [rsp + 0x70], 0x20
mov byte [rsp + 0x78], 3
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rdx
mov rbp, qword [r8 + 0x20]
test rbp, rbp
mov qword [rsp + 0x38], r8
je 0x14005256b
mov rax, qword [r8 + 0x28]
imul rcx, rax, 0x38
add rcx, rbp
mov qword [rsp + 0x28], rcx
nop
mov ecx, dword [0x141dc4be8]
imul ecx, dword [0x141dc4bec]
add ecx, 0x7c383082
xor ecx, 0x8dcbe907
imul ecx, ecx, 0xad3f4dcd
cmp ecx, 0x58890e37
je 0x140052110
mov ecx, 0xc4735797
nop dword [rax]
mov edx, dword [0x141dc4bf0]
xor edx, dword [0x141dc4bf4]
shr edx, 1
imul rdx, rcx
shr rdx, 0x3d
or edx, 0xdfcff9c8
cmp edx, 0x14d73b89
jb 0x140052140
test rax, rax
je 0x140052806
mov rsi, qword [r8]
mov rdi, qword [r8 + 0x10]
xor r12d, r12d
mov r13d, 0x8545d159
mov r14d, 0x8cd5ad41
mov qword [rsp + 0x80], rdi
nop dword [rax + rax]
mov rax, r12
shl rax, 4
mov rbx, qword [rsi + rax + 8]
test rbx, rbx
je 0x140052264
add rax, rsi
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r15, qword [rax]
mov qword [rsp + 0x30], r12
nop word [rax + rax]
mov eax, dword [0x141dc4c58]
or eax, dword [0x141dc4c5c]
xor eax, 0x8ca7a976
add eax, 0xf8772d65
and eax, 0xb655ea28
cmp eax, 0x116e760b
je 0x1400521c0
mov r12, rsi
mov eax, dword [0x141dc4c60]
xor edx, edx
div dword [0x141dc4c64]
add eax, 0x5a0c809
and eax, 0x33ac96a
cmp eax, 0x817b5d7d
jne 0x140052210
mov rcx, r14
mov rdx, r15
mov r8, rbx
call qword [rdi + 0x18]
mov eax, dword [0x141dc4c68]
or eax, dword [0x141dc4c6c]
and eax, 0x69bc2258
imul rsi, rax, 0x3f0d3d19
shr rsi, 0x3c
xor esi, 0x7340adcd
mov rcx, r14
mov rdx, r15
mov r8, rbx
call qword [rdi + 0x18]
cmp esi, 0x6beb589a
jb 0x140052210
test al, al
mov rsi, r12
mov r12, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x80]
mov r14d, 0x8cd5ad41
jne 0x1400528a0
mov eax, dword [0x141dc4c70]
add eax, dword [0x141dc4c74]
xor eax, 0x464ac5af
add eax, 0xbf7737d3
mov ecx, 0xcd79a3a1
imul rax, rcx
shr rax, 0x3a
cmp eax, 0xd182aba2
jbe 0x140052296
movzx eax, byte [rbp + 0x30]
mov byte [rsp + 0x78], al
lea rbx, [rbp + 0x38]
inc r12
nop dword [rax]
movzx eax, byte [rbp + 0x30]
mov byte [rsp + 0x78], al
mov eax, dword [0x141dc4c78]
imul eax, dword [0x141dc4c7c]
add eax, 0xd5880f5a
xor eax, 0x4d3cf263
imul eax, eax, 0x3e0744dc
cmp eax, 0x1237e22a
je 0x1400522a0
mov eax, dword [0x141dc4c80]
imul eax, dword [0x141dc4c84]
movsd xmm0, qword [rbp + 0x28]
xor eax, 0x50004000
or eax, 0xafffbff7
cmp eax, 0xa9253e6
jb 0x1400523b0
nop word cs:[rax + rax]
mov eax, dword [0x141dc4c88]
and eax, dword [0x141dc4c8c]
imul eax, eax, 0x4cd9a8b5
add eax, 0x7a39a923
and eax, 0x530071fe
movlps qword [rsp + 0x70], xmm0
cmp eax, 0xe708db19
ja 0x1400523b0
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x141dc4c90]
xor edx, edx
div dword [0x141dc4c94]
nop
mov eax, dword [0x141dc4c98]
xor eax, dword [0x141dc4c9c]
add eax, 0x151013e4
xor eax, 0x22dcde4a
shr eax, 1
imul rax, r13
shr rax, 0x3d
cmp eax, 0x6f83d255
ja 0x140052340
mov rax, qword [rbp + 0x18]
test rcx, rcx
je 0x1400523e0
cmp ecx, 1
jne 0x1400523aa
mov ecx, dword [0x141dc4ca0]
imul ecx, dword [0x141dc4ca4]
and ecx, 0x154e11df
imul ecx, ecx, 0xe5623e38
and ecx, 0xae3494a0
cmp ecx, 0x4f05ecb
jb 0x140052375
shl rax, 4
add rax, rdi
cmp qword [rax + 8], 0
je 0x1400523ba
xor ecx, ecx
jmp 0x1400523e5
movlps qword [rsp + 0x70], xmm0
jmp 0x140052300
mov rax, qword [rax]
nop dword [rax]
mov ecx, dword [0x141dc4ca8]
or ecx, dword [0x141dc4cac]
imul ecx, ecx, 0x553e6078
or ecx, 0x533d62cf
cmp ecx, 0xaa6c779
jb 0x1400523c0
mov ecx, 1
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rbp]
mov rcx, qword [rbp + 8]
test rax, rax
je 0x1400524d0
cmp eax, 1
jne 0x140052500
mov eax, dword [0x141dc4cc0]
xor edx, edx
div dword [0x141dc4cc4]
nop word [rax + rax]
mov eax, dword [0x141dc4cc8]
or eax, dword [0x141dc4ccc]
imul rax, rax, 0x4684b48f
shr rax, 0x3e
or eax, 0xd6efaefc
cmp eax, 0xe4305cc4
je 0x140052420
mov eax, dword [0x141dc4cd0]
sub eax, dword [0x141dc4cd4]
and eax, 0x589082ba
imul eax, eax, 0x45f54d9a
imul rax, rax, 0x15aa9a69
shr rax, 0x3c
cmp eax, 0x111cec02
ja 0x140052443
shl rcx, 4
lea rax, [rdi + rcx]
mov rcx, qword [rdi + rcx + 8]
nop dword [rax]
mov edx, dword [0x141dc4cd8]
xor edx, dword [0x141dc4cdc]
add edx, 0xb9ad4871
xor edx, 0x6fdcab94
add edx, 0x9a8b8bb0
cmp edx, 0x18637bb5
jb 0x140052480
test rcx, rcx
jne 0x140052509
mov rcx, qword [rax]
nop
mov eax, dword [0x141dc4ce0]
and eax, dword [0x141dc4ce4]
add eax, 0xe6ea8f22
and eax, 0x4a8e9d78
cmp eax, 0xcb15f77c
je 0x1400524b0
jmp 0x1400524ea
mov eax, dword [0x141dc4cb8]
xor edx, edx
div dword [0x141dc4cbc]
and eax, 0x38001
cmp eax, 0x3f53960b
je 0x1400524d0
mov eax, 1
jmp 0x14005250b
cmp eax, 2
jne 0x140052918
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rcx
mov rax, qword [rbp + 0x20]
shl rax, 4
mov rcx, qword [rdi + rax]
lea rdx, [rsp + 0x40]
call qword [rdi + rax + 8]
test al, al
jne 0x1400528a0
mov eax, dword [0x141dc4ce8]
or eax, dword [0x141dc4cec]
imul eax, eax, 0xaaa8c59b
imul rax, r14
shr rax, 0x3e
or eax, 0x3e85520a
cmp eax, 0x3a4dae9f
je 0x140052532
mov rbp, rbx
cmp rbx, qword [rsp + 0x28]
jne 0x140052190
jmp 0x140052809
mov eax, 0xd736997f
mov ecx, dword [0x141dc4bc0]
sub ecx, dword [0x141dc4bc4]
and ecx, 0x920200
or ecx, 0xab4570f7
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x10bcf9a0
je 0x140052570
mov r13, qword [r8 + 0x10]
mov rax, qword [r8 + 0x18]
mov rcx, rax
shl rcx, 4
add rcx, r13
mov qword [rsp + 0x30], rcx
mov ecx, 0xc38fe087
nop word cs:[rax + rax]
mov edx, dword [0x141dc4bc8]
and edx, dword [0x141dc4bcc]
xor edx, 0x8c5a4735
imul rdx, rcx
shr rdx, 0x3f
imul edx, edx, 0xe3c3e3bc
cmp edx, 0xf2a7a7f1
ja 0x1400525c0
test rax, rax
je 0x140052806
nop word cs:[rax + rax]
mov eax, dword [0x141dc4bd0]
imul eax, dword [0x141dc4bd4]
cmp eax, 0x10f6eaf7
je 0x140052600
mov rsi, qword [r8]
nop word [rax + rax]
mov eax, dword [0x141dc4bd8]
add eax, dword [0x141dc4bdc]
imul eax, eax, 0x6510e1da
cmp eax, 0x5ed4c7f3
je 0x140052620
nop dword [rax]
mov eax, dword [0x141dc4be0]
xor eax, dword [0x141dc4be4]
shr eax, 3
imul rax, rax, 0x9ec8153
shr rax, 0x38
or eax, 0xb149bc9c
cmp eax, 0xdac21eff
ja 0x140052640
xor edi, edi
xor r12d, r12d
mov qword [rsp + 0x28], rsi
mov eax, dword [0x141dc4bf8]
sub eax, dword [0x141dc4bfc]
add eax, 0xe9efd967
cmp eax, 0xb78af160
jb 0x140052670
mov rax, r12
shl rax, 4
mov rbx, qword [rsi + rax + 8]
test rbx, rbx
je 0x14005275c
add rax, rsi
mov ecx, dword [0x141dc4c00]
imul ecx, dword [0x141dc4c04]
imul ecx, ecx, 0x28fed31b
add ecx, 0x342f09ce
or ecx, 0x6128aa27
cmp ecx, 0xa5f0abe0
je 0x1400526a0
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov ecx, dword [0x141dc4c08]
xor ecx, dword [0x141dc4c0c]
mov r15, qword [rax]
or ecx, 0xca810be0
and ecx, 0xcb830bff
cmp ecx, 0xc02503b4
jb 0x1400527f5
mov ebp, dword [0x141dc4c10]
and ebp, dword [0x141dc4c14]
mov eax, 0x88f25bff
imul rbp, rax
shr rbp, 0x3f
xor ebp, 0x7d1e899d
add ebp, 0xbe7739a4
mov rcx, r14
mov rdx, r15
mov r8, rbx
call qword [rsi + 0x18]
cmp ebp, 0x7757438a
ja 0x1400527f5
mov rsi, qword [rsp + 0x28]
nop word [rax + rax]
mov ecx, dword [0x141dc4c18]
sub ecx, dword [0x141dc4c1c]
cmp ecx, 0xfcf9f23e
je 0x140052740
test al, al
jne 0x1400528a0
lea rbx, [r13 + 0x10]
inc r12
mov eax, dword [0x141dc4c20]
or eax, dword [0x141dc4c24]
imul rax, rax, 0x6afe2291
shr rax, 0x3c
add eax, 0x426f8bd1
cmp eax, 0x8d4b726d
ja 0x140052763
mov rcx, qword [r13]
mov eax, dword [str._t___0j_R]
sub eax, dword [0x141dc4c2c]
xor eax, 0xa146ec6
imul eax, eax, 0xc535cddf
and eax, 0x1110f123
cmp eax, 0xe1342c14
ja 0x14005278a
lea rdx, [rsp + 0x40]
call qword [r13 + 8]
test al, al
jne 0x1400528a0
nop
mov eax, dword [0x141dc4c30]
add eax, dword [0x141dc4c34]
and eax, 0xa48b020
xor eax, 0xe025a7d1
cmp eax, 0xce2950c5
jb 0x1400527c0
nop dword [rax]
test dil, dil
jne 0x1400527e0
mov r13, rbx
cmp rbx, qword [rsp + 0x30]
jne 0x140052670
jmp 0x140052809
mov rcx, r14
mov rdx, r15
mov r8, rbx
call qword [rsi + 0x18]
jmp 0x1400526f8
xor r12d, r12d
mov rax, qword [rsp + 0x38]
cmp r12, qword [rax + 8]
jae 0x1400528d0
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
shl r12, 4
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
mov rdi, qword [rax + r12]
mov rbx, qword [rax + r12 + 8]
mov eax, dword [0x141dc4c40]
imul eax, dword [0x141dc4c44]
imul eax, eax, 0x18bfaba0
cmp eax, 0xd99c23d6
jne 0x140052860
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call qword [r14 + 0x18]
nop
mov eax, dword [0x141dc4c48]
xor eax, dword [0x141dc4c4c]
and eax, 0xdd286765
imul ebp, eax, 0xceb678
add ebp, 0xe1107640
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call qword [r14 + 0x18]
cmp ebp, 0x1e529d59
jb 0x140052860
test al, al
je 0x1400528d0
nop word cs:[rax + rax]
mov eax, dword [0x141dc4c38]
add eax, dword [0x141dc4c3c]
and eax, 0x3ee881e5
xor eax, 0x41f71301
cmp eax, 0xdb9720ac
jae 0x1400528a0
mov al, 1
jmp 0x1400528ef
mov eax, dword [0x141dc4c50]
and eax, dword [0x141dc4c54]
or eax, 0x6019848c
and eax, 0xe41d84ec
cmp eax, 0xb49c7121
je 0x1400528d0
xor eax, eax
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x140052900
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 0xcc17bb5d
nop dword [rax]
mov ecx, dword [0x141dc4cb0]
imul ecx, dword [0x141dc4cb4]
or ecx, 0xc7d5de6
imul rcx, rax
shr rcx, 0x3b
cmp ecx, 0xa17451d6
je 0x140052920
ud2