Function at 0x1402b23d0
Capabilities:
Encode data using base64
Encode data using xor
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov ebx, r9d
mov rdi, rdx
mov r14, rcx
mov r12, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
mov eax, r9d
and eax, 0x3f
cmp eax, 0x11
setb r13b
jae 0x1402b2446
cmp eax, 2
jb 0x1402b24a9
cmp eax, 8
jb 0x1402b24d5
cmp eax, 0xc
jb 0x1402b25cf
cmp eax, 0xd
ja 0x1402b262c
cmp eax, 0xc
jne 0x1402b295d
xor r13d, r13d
mov rdi, r12
mov r15, r14
mov r14, rsi
jmp 0x1402b279a
mov r15, rdi
mov rdi, r8
mov rcx, rsi
cmp eax, 0x18
jbe 0x1402b26dc
cmp eax, 0x1d
jbe 0x1402b24c0
cmp eax, 0x1e
jne 0x1402b2574
nop
mov rax, qword [rdi]
mov rax, qword [rax + 0x18]
lea rdx, [rsp + 0x28]
mov rcx, rdi
mov r8d, r15d
call qword [0x140704440]
mov rax, qword [rsp + 0x30]
mov rcx, qword [r12 + 8]
mov rax, qword [rax + 8]
cmp rax, qword [rcx + 8]
sete al
mov ecx, dword [rsp + 0x28]
cmp ecx, dword [r12]
sete cl
and cl, al
movzx edi, cl
jmp 0x1402b2c1a
test eax, eax
je 0x1402b250b
mov rcx, rdi
mov edx, r8d
call fcn.14059d4a8
xor r13d, r13d
jmp 0x1402b2c1a
cmp eax, 0x1b
jae 0x1402b25b8
cmp eax, 0x19
je 0x1402b2625
nop
ud2
cmp eax, 3
jbe 0x1402b25e9
cmp eax, 6
jae 0x1402b265d
cmp eax, 4
je 0x1402b2891
mov r15, rsi
sub r15, r8
mov eax, 0x15
mov ebx, 0x4b6a3cd5
mov rdi, r14
mov r12, r8
jmp 0x1402b244c
lea rax, [0x1405e8c48]
mov qword [r14], rax
mov rsi, qword [r14 + 0x60]
test rsi, rsi
je 0x1402b255b
nop
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1402b2553
nop
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140704440]
test rax, rax
je 0x1402b2553
nop
mov rcx, qword [rax]
mov r8, qword [rcx]
mov rcx, rax
mov edx, 1
mov rax, r8
call qword [0x140704440]
mov rcx, rsi
call fcn.1400954d0
test r12d, r12d
je 0x1402b2611
mov rcx, r14
call fcn.1400954d0
xor r13d, r13d
jmp 0x1402b2614
cmp eax, 0x21
jbe 0x1402b261c
cmp eax, 0x22
jne 0x1402b28f3
nop
movzx eax, byte [0x14073abf5]
lea rdi, [0x14073abe0]
cmp al, 0xa4
je 0x1402b2c1a
mov cl, 1
mov al, 0x10
lock cmpxchg byte [0x14073abf5], cl
je 0x1402b2cbd
cmp al, 0xa4
jne 0x1402b259f
jmp 0x1402b2c1a
je 0x1402b289d
cmp eax, 0x1d
je 0x1402b2625
lea rdi, [0x1407901c8]
jmp 0x1402b2c1a
cmp eax, 9
jbe 0x1402b2676
cmp eax, 0xb
jne 0x1402b299d
xor r13d, r13d
jmp 0x1402b284d
cmp eax, 2
jne 0x1402b26be
nop
movzx eax, byte [0x14073ab83]
xor r13d, r13d
cmp al, 0x84
jne 0x1402b29c2
lea rdi, [0x14073ab80]
jmp 0x1402b2c1a
xor r13d, r13d
mov rdi, r14
jmp 0x1402b2c1a
cmp eax, 0x20
jae 0x1402b2946
xor edi, edi
jmp 0x1402b2c1a
cmp eax, 0xe
je 0x1402b2891
cmp eax, 0x10
jne 0x1402b2a9d
nop
movzx eax, byte [0x14073abb5]
xor r13d, r13d
cmp al, 0x3d
jne 0x1402b2c98
lea rdi, [0x14073aba0]
jmp 0x1402b2c1a
cmp eax, 7
jne 0x1402b29c7
call fcn.14059db40
movzx edi, al
xor r13d, r13d
jmp 0x1402b2c1a
xor r13d, r13d
cmp eax, 8
jne 0x1402b284d
nop
sub r13d, dword [rdi - 4]
movsxd rax, r13d
add rdi, rax
add rdi, 0xffffffffffffff68
mov rcx, rdi
mov r9d, 0xce355814
mov r14, r8
call fcn.1402b0d20
test r14d, r14d
je 0x1402b2c40
mov rcx, rdi
call fcn.1400954d0
xor r13d, r13d
jmp 0x1402b2c1a
mov ecx, esi
mov eax, 0x22
mov ebx, 0xe93e4662
xor r13d, r13d
mov r15, rdi
mov rdi, r8
cmp eax, 0x18
ja 0x1402b2458
cmp eax, 0x14
jae 0x1402b2709
cmp eax, 0x11
je 0x1402b2797
cmp eax, 0x13
jne 0x1402b27d3
test r14d, r14d
je 0x1402b2c1a
mov rcx, rdi
call fcn.1400954d0
jmp 0x1402b2c1a
cmp eax, 0x15
jbe 0x1402b274d
cmp eax, 0x16
je 0x1402b28a7
cmp eax, 0x18
jne 0x1402b28b3
nop
mov rax, qword [r14 + 0x38]
mov rcx, qword [rax]
mov edi, 0xffffffff
test rcx, rcx
je 0x1402b2c1a
nop
mov rdx, qword [r14 + 0x50]
cmp dword [rdx], 0
jle 0x1402b2c5b
nop
movzx edi, byte [rcx]
jmp 0x1402b2c1a
cmp eax, 0x14
jne 0x1402b2809
nop
movzx edx, byte [0x14073abd6]
lea rcx, [0x14073abc0]
cmp dl, 0x90
je 0x1402b278f
mov r9b, 0x40
lea r8, [rsp + 0x28]
mov al, 0xbc
lock cmpxchg byte [0x14073abd6], r9b
je 0x1402b2c36
test bl, bl
jns 0x1402b2c56
cmp al, 0x90
jne 0x1402b2772
mov rdi, rcx
jmp 0x1402b2c1a
mov rdi, r12
nop
mov qword [rsp + 0x28], rdi
cmp rdi, r14
jae 0x1402b2854
test r15, r15
je 0x1402b2c1a
cmp r15, 1
mov rdx, r15
adc rdx, 0
mov eax, edx
and eax, 3
cmp r15, 4
jae 0x1402b2ab5
xor ecx, ecx
jmp 0x1402b2b08
nop
mov r9, qword [r15 + 8]
test r9, r9
sete r10b
movzx eax, byte [0x14073aad2]
cmp al, 0xd9
je 0x1402b2a8a
mov dl, 0x9a
mov al, 0x74
lock cmpxchg byte [0x14073aad2], dl
je 0x1402b29de
cmp al, 0xd9
jne 0x1402b27f0
jmp 0x1402b2907
nop
mov qword [rsp + 0x28], r15
xor eax, eax
nop word cs:[rax + rax]
cmp r15, rax
je 0x1402b29d9
test bl, bl
jns 0x1402b2625
lea rcx, [rax + 1]
test ebx, 0x400
movzx edx, byte [r12 + rax]
mov byte [rdi + rax], dl
mov rax, rcx
jne 0x1402b2820
jmp 0x1402b2da8
xor edi, edi
jmp 0x1402b2c1a
test r15, r15
je 0x1402b2c1a
lea rcx, [r15 - 1]
mov rdx, r15
and rdx, 3
je 0x1402b2bba
nop
lea rax, [r15 - 1]
movzx r8d, byte [r14 + r15 - 1]
mov r9, qword [rsp + 0x28]
mov byte [r9 + r15 - 1], r8b
dec rdx
mov r15, rax
jne 0x1402b2870
jmp 0x1402b2bbd
movzx edi, r12b
xor r13d, r13d
jmp 0x1402b2c1a
nop
movzx edi, byte [rdi + 0x19]
jmp 0x1402b2c1a
call fcn.14059d520
xor edi, edi
jmp 0x1402b2c1a
nop
movzx eax, byte [0x14073ac09]
lea rdi, [0x14073ac00]
cmp al, 0x86
je 0x1402b2c1a
mov cl, 0xb
mov al, 0xf5
lock cmpxchg byte [0x14073ac09], cl
je 0x1402b2e78
cmp al, 0x86
jne 0x1402b28cc
test bl, 0x40
jne 0x1402b2c1a
lea rdi, [rsp + 0x28]
jmp 0x1402b2b9c
mov edi, 0xffffffff
cmp eax, 0x24
jae 0x1402b2c1a
xor r10d, r10d
mov r9, rcx
test bl, 0x40
je 0x1402b2a8a
test r15, r15
je 0x1402b2625
cmp r15, 1
adc r15, 0
xor edi, edi
xor eax, eax
nop
movzx edx, byte [r14 + rax]
movzx r8d, byte [rcx + rax]
cmp dl, r8b
jne 0x1402b2d64
inc rax
cmp r15, rax
jne 0x1402b2925
jmp 0x1402b2c1a
cmp eax, 0x21
jne 0x1402b2b3c
test r15d, r15d
je 0x1402b2d59
mov r8, rdi
jmp 0x1402b29b5
xor r13d, r13d
xor eax, eax
sub eax, dword [r12 - 4]
cdqe
lea rdi, [r12 + rax]
add rdi, 0xffffffffffffff78
mov rcx, rdi
mov r9d, 0x5f184e5c
mov rsi, r8
call fcn.1402b0d20
test esi, esi
je 0x1402b2c4c
mov rcx, rdi
call fcn.1400954d0
xor r13d, r13d
jmp 0x1402b2c1a
test r8d, r8d
je 0x1402b2c4e
test bl, 0x40
jne 0x1402b2ca0
xor r13d, r13d
mov rdi, r8
mov rcx, r8
call fcn.1400954d0
jmp 0x1402b2c1a
jmp 0x1402b2d6f
mov rcx, r14
call fcn.14059bc90
mov edi, eax
xor r13d, r13d
jmp 0x1402b2c1a
jmp 0x1402b2c1a
lea r11, [0x1405f6080]
lea rdi, [r11 + 0x5207d29a]
add r11, 0x5207d299
mov ecx, 0x5207d29a
mov r8d, 0x5207d298
movabs rbx, 0xcccccccccccccccd
lea r14, [0x14073aac0]
nop
mov rax, rcx
mul rbx
shr rdx, 2
and rdx, 0xfffffffffffffffc
lea r15, [rdx + rdx*4]
neg r15
mov rax, r8
mul rbx
shr rdx, 2
and rdx, 0xfffffffffffffffc
lea rax, [rdx + rdx*4]
neg rax
movzx edx, byte [rcx + r14 - 0x5207d29a]
xor dl, byte [r11 + rax]
movzx eax, byte [rcx + r14 - 0x5207d299]
xor dl, 0x95
xor al, byte [rdi + r15]
mov byte [rcx + r14 - 0x5207d29a], dl
xor al, 0x95
mov byte [rcx + r14 - 0x5207d299], al
add rdi, 2
add rcx, 2
add r11, 2
add r8, 2
cmp rcx, 0x5207d2ac
jne 0x1402b2a10
mov al, 0xd9
xchg byte [0x14073aad2], al
lea rdi, [0x14073aac0]
test r10b, r10b
cmove rdi, r9
jmp 0x1402b2c1a
test esi, esi
je 0x1402b2d4e
mov rcx, r12
call fcn.1400954d0
xor r13d, r13d
jmp 0x1402b2d51
and rdx, 0xfffffffffffffffc
xor ecx, ecx
nop dword [rax + rax]
nop
movzx r8d, byte [r14 + rcx]
mov r9, qword [rsp + 0x28]
mov byte [r9 + rcx], r8b
movzx r8d, byte [r14 + rcx + 1]
mov r9, qword [rsp + 0x28]
mov byte [r9 + rcx + 1], r8b
movzx r8d, byte [r14 + rcx + 2]
mov r9, qword [rsp + 0x28]
mov byte [r9 + rcx + 2], r8b
movzx r8d, byte [r14 + rcx + 3]
mov r9, qword [rsp + 0x28]
mov byte [r9 + rcx + 3], r8b
add rcx, 4
cmp rdx, rcx
jne 0x1402b2ac0
test rax, rax
je 0x1402b2c1a
nop word cs:[rax + rax]
nop
movzx edx, byte [r14 + rcx]
mov r8, qword [rsp + 0x28]
mov byte [r8 + rcx], dl
inc rcx
dec rax
jne 0x1402b2b20
jmp 0x1402b2c1a
lea rax, [0x1405e9c88]
mov qword [r15], rax
mov rdx, r15
mov r9d, 0xa86c1d62
call fcn.1402b0d20
lea rax, [0x1405e8c48]
mov qword [r15], rax
mov rdi, qword [r15 + 0x60]
test rdi, rdi
je 0x1402b2ba4
nop
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1402b2b9c
nop
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140704440]
test rax, rax
je 0x1402b2b9c
nop
mov rcx, qword [rax]
mov r8, qword [rcx]
mov rcx, rax
mov edx, 1
mov rax, r8
call qword [0x140704440]
mov rcx, rdi
call fcn.1400954d0
test r14d, r14d
je 0x1402b2d46
mov rcx, r15
call fcn.1400954d0
mov rdi, r15
jmp 0x1402b2c1a
mov rax, r15
cmp rcx, 3
jb 0x1402b2c1a
mov rcx, rax
nop word cs:[rax + rax]
nop
movzx edx, byte [r14 + rax - 1]
mov r8, qword [rsp + 0x28]
mov byte [r8 + rax - 1], dl
movzx edx, byte [r14 + rax - 2]
mov r8, qword [rsp + 0x28]
mov byte [r8 + rax - 2], dl
movzx edx, byte [r14 + rax - 3]
mov r8, qword [rsp + 0x28]
mov byte [r8 + rax - 3], dl
add rcx, 0xfffffffffffffffc
movzx edx, byte [r14 + rax - 4]
mov r8, qword [rsp + 0x28]
mov byte [r8 + rax - 4], dl
mov rax, rcx
jne 0x1402b2bd0
test r13b, 1
cmove rsi, rdi
mov rax, rsi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8, rdi
mov eax, edx
jmp 0x1402b2db9
xor r13d, r13d
test bl, 0x40
jne 0x1402b2625
jmp 0x1402b2c1a
xor r13d, r13d
mov rdi, rsi
jmp 0x1402b2c1a
mov rdi, r8
jmp 0x1402b2c1a
nop
mov r8, qword [r14 + 0x40]
mov r8, qword [r8]
test r8, r8
je 0x1402b2c1a
nop
test byte [r14 + 0x70], 4
jne 0x1402b2c1a
nop
mov r9, qword [r14 + 0x68]
cmp r9, r8
cmovb r9, r8
cmp r9, rcx
jbe 0x1402b2c1a
nop
mov qword [r14 + 0x68], r9
sub r9d, dword [rax]
mov dword [rdx], r9d
mov rax, qword [r14 + 0x38]
mov rcx, qword [rax]
jmp 0x1402b2744
mov rdi, r8
jmp 0x1402b2da8
mov rcx, rsi
call fcn.1400954d0
test bl, bl
lea rdi, [0x14073aba0]
cmovs rdi, rsi
xor r13d, r13d
jmp 0x1402b2c1a
mov eax, 1
mov ecx, 0x257119be
mov edx, 0xda8ee654
mov r8d, 0x257119bf
mov r9d, 0xcccccccd
lea rdi, [0x14073abe0]
lea r10, [0x1405f6130]
mov r11d, edx
imul r11, r9
shr r11, 0x24
shl r11d, 2
lea r11d, [r11 + r11*4]
lea ebx, [r8 + r11]
movzx ebp, byte [rax + rdi - 1]
xor bpl, byte [rbx + r10]
xor bpl, 0xd8
mov byte [rax + rdi - 1], bpl
cmp rax, 0x15
je 0x1402b2d39
add r11d, ecx
movzx ebx, byte [rax + rdi]
mov r11d, r11d
xor bl, byte [r11 + r10]
xor bl, 0xd8
mov byte [rax + rdi], bl
add rax, 2
add ecx, 0xfffffffe
add edx, 2
add r8d, 0xfffffffe
jmp 0x1402b2ce6
mov al, 0xa4
xchg byte [0x14073abf5], al
jmp 0x1402b2c1a
mov rdi, r15
jmp 0x1402b2c1a
xor r13d, r13d
mov rdi, r12
jmp 0x1402b2c1a
test bl, bl
cmovns rdi, r12
jmp 0x1402b2c1a
sub edx, r8d
mov rdi, rdx
jmp 0x1402b2c1a
mov cl, 0x12
mov al, 0x83
lock cmpxchg byte [0x14073ab83], cl
je 0x1402b2d8d
cmp al, 0x84
jne 0x1402b2d6f
lea rdi, [0x14073ab80]
jmp 0x1402b2c1a
nop
xor byte [0x14073ab80], 0x99
xor byte [0x14073ab81], 0x53
xor byte [0x14073ab82], 0x1a
jmp 0x1402b2f6b
mov cl, 0xa6
mov al, 0xe9
lock cmpxchg byte [0x14073abb5], cl
je 0x1402b2dd2
mov r8, rdi
test ebx, 0x800
je 0x1402b2ea4
cmp al, 0x3d
je 0x1402b2f9c
mov rdi, r8
jmp 0x1402b2da8
test ebx, 0x200
jne 0x1402b2e78
mov eax, 1
mov ecx, 0x21132e0f
mov edx, 0xdeecd204
mov r8d, 0x21132e10
mov r9d, 0xdeecd202
mov r10d, 0xcccccccd
lea r11, [0x14073aba0]
lea r14, [0x1405f60f0]
mov r15d, r9d
imul r15, r10
shr r15, 0x24
lea r15d, [r15 + r15*4]
lea r15d, [r8 + r15*4]
movzx ebp, byte [rax + r11 - 1]
xor bpl, byte [r15 + r14]
xor bpl, 0xa7
mov byte [rax + r11 - 1], bpl
cmp rax, 0x15
je 0x1402b2f68
mov r15d, edx
imul r15, r10
shr r15, 0x24
lea r15d, [r15 + r15*4]
lea ebp, [rcx + r15*4]
movzx r15d, byte [rax + r11]
mov r12d, ebp
xor r15b, byte [r12 + r14]
xor r15b, 0xa7
mov byte [rax + r11], r15b
add rax, 2
add ecx, 0xfffffffe
add edx, 2
add r8d, 0xfffffffe
add r9d, 2
jmp 0x1402b2e0d
movabs rax, 0x32f3df1374a2e625
xor qword [0x14073ac00], rax
lea rdi, [0x14073ac00]
xor byte [0x14073ac08], 0x25
mov al, 0x86
xchg byte [0x14073ac09], al
jmp 0x1402b2c1a
lea r10, [0x1405f6110]
mov ecx, 0xbeffa5bf
lea r11, [r10 + rcx]
mov r14d, 0xbeffa5be
xor r15d, r15d
movabs r12, 0x8618618618618619
lea rdi, [0x14073abc0]
mov r9d, 0xbeffa5be
nop word cs:[rax + rax]
mov rax, rcx
mul r12
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
imul rbp, rax, 0xffffffffffffffeb
mov rax, r9
mul r12
mov rax, r9
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
imul rax, rax, 0xffffffffffffffeb
add rax, r10
add rax, r15
movzx eax, byte [r14 + rax]
xor al, byte [r15 + rdi]
xor al, 0x25
mov byte [r15 + rdi], al
movzx eax, byte [r11 + rbp]
xor al, byte [r15 + rdi + 1]
xor al, 0x25
mov byte [r15 + rdi + 1], al
add r15, 2
add r11, 2
add rcx, 2
add r9, 2
cmp r15, 0x16
jne 0x1402b2ee0
mov al, 0xc2
test bl, 0x40
je 0x1402b2d7d
mov al, 0x90
xchg byte [0x14073abd6], al
jmp 0x1402b2c1a
mov r8, rdi
test ebx, 0x100
jne 0x1402b2f87
mov al, 0x84
xchg byte [0x14073ab83], al
lea rdi, [0x14073ab80]
jmp 0x1402b2c1a
mov al, 0x3d
xchg byte [0x14073abb5], al
test bl, 0x40
jne 0x1402b2f9c
mov rdi, r8
jmp 0x1402b26fc
lea rdi, [0x14073aba0]
jmp 0x1402b2c1a