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

Disassembly:
clc
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov r12, r8
mov ebp, dword [rsp + 0x170]
mov r15, qword [rsp + 0x168]
mov r13, qword [rsp + 0x160]
mov rax, qword [0x14077ee28]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov ebx, ebp
and ebx, 0x3f
cmp ebx, 0x10
ja 0x140244531
cmp ebx, 7
jb 0x140244585
cmp ebx, 0xc
setb dil
jae 0x1402445ff
cmp ebx, 9
jae 0x1402446aa
cmp ebx, 7
jne 0x1402448e3
mov ebp, 0x40b020a0
mov r12, r9
mov rcx, rdx
jmp 0x1402449ad
cmp ebx, 0x16
jbe 0x1402445d7
cmp ebx, 0x1b
jae 0x140244622
cmp ebx, 0x19
jae 0x1402446dd
cmp ebx, 0x17
jne 0x14024498d
mov eax, dword [r12]
xor edi, edi
cmp eax, 2
jge 0x140244b00
test bpl, bpl
js 0x140244bac
xor edi, edi
test ebp, 0x200
jne 0x1402447b1
mov edx, 1
jmp 0x140245d0c
cmp ebx, 2
ja 0x140244662
test ebx, ebx
je 0x14024473b
cmp ebx, 2
jne 0x1402447bd
cmp qword [0x140790b58], 0
jne 0x140244eeb
movzx eax, byte [0x140732839]
cmp al, 0xe2
je 0x140244835
mov cl, 0x16
mov al, 0x23
lock cmpxchg byte [0x140732839], cl
je 0x140244dad
cmp al, 0xe2
jne 0x1402445be
jmp 0x140244dcd
cmp ebx, 0x14
jae 0x140244686
cmp ebx, 0x11
je 0x14024478e
add byte [rax], al
mov eax, ebx
mov r8, r12
cmp ebx, 0x1e
jbe 0x1402446f4
cmp ebx, 0x20
jbe 0x140244995
cmp ebx, 0x21
je 0x14024505c
mov eax, dword [0x14079085c]
xor edi, edi
cmp byte [0x1407901d2], 0
jne 0x140244b45
cmp eax, 2
jl 0x140244b45
xor ebx, ebx
jmp 0x140245ee8
cmp ebx, 5
jae 0x14024471d
cmp ebx, 3
jne 0x140244a18
not ecx
test ecx, r9d
jne 0x1402449df
xor edi, edi
jmp 0x140245a3a
je 0x1402447a9
cmp ebx, 0x16
jne 0x14024480a
not edx
mov dword [r9], 0
mov dword [r15], edx
mov dword [r12], edx
jmp 0x140244ef4
cmp ebx, 0xb
je 0x140244a8c
cmp ebx, 9
jne 0x14024503d
mov r10d, r13d
mov r13d, r15d
mov r8d, edx
mov ebp, 0x2da5bbcd
mov eax, 0xd
mov r15, rcx
mov rdx, r12
mov rcx, r10
jmp 0x140244604
cmp ebx, 0x1a
jne 0x140244a3b
mov rdx, r12
add ebx, 0xffffffe5
lea rax, [0x1405f2870]
lea eax, [0x1405f2870]
cmp qword [0x140790b70], 0
je 0x140244d3a
xor edi, edi
jmp 0x14024516a
cmp ebx, 6
jne 0x140244a77
cmp qword [0x140790b68], 0
je 0x140244b5b
xor ebx, ebx
jmp 0x140245947
mov rcx, qword [r13]
mov rdi, qword [r9]
xor ebx, ebx
cmp byte [0x1407901d2], 0
mov eax, dword [rdi]
jne 0x140245509
movabs r8, 0x7fffffffffffffff
cmp rcx, r8
je 0x140245509
test bpl, bpl
jns 0x140244b80
xor ecx, ecx
test eax, eax
je 0x140244e0e
lea edx, [rax - 1]
lock cmpxchg dword [rdi], edx
je 0x140244e94
test bpl, 0x40
jne 0x140244771
jmp 0x1402447b3
mov r8d, 1
xor ebx, ebx
mov eax, 0
cmp ecx, 2
jge 0x140245123
jmp 0x14024507e
test edx, edx
je 0x140244ad9
xor ecx, ecx
lea r14, [r12 + 0xc]
mov eax, dword [r12 + 0xc]
test eax, eax
jne 0x1402447e7
mov ecx, dword [0x140790810]
test ecx, ecx
je 0x140244d66
xor eax, eax
cmp ecx, 2
setb al
shl eax, 5
mov dword [r14], eax
xor ebx, ebx
cmp eax, 8
jb 0x1402459e3
jmp 0x140245185
lea rax, [0x1405f2070]
mov qword [rdx], rax
mov rcx, qword [r12 + 8]
mov qword [rdx + 8], rcx
test rcx, rcx
je 0x140244841
loopne 0x14024489c
test byte [rbx + 0xf480cfb], 0x43
invalid
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x50], rdx
mov eax, r9d
lea rcx, [0x140732260]
mov rbx, qword [rcx + rax*8]
lea rcx, [0x1407908a0]
mov r14d, dword [rcx + rax*4]
lea rax, [0x1407908c0]
lea rdi, [rax + r14*4]
call fcn.140242280
mov r15d, eax
mov rcx, qword [0x140732bf0]
mov eax, dword [0x140732b68]
mov esi, 0xffffbf4b
sub esi, r15d
sub eax, esi
cdqe
add rax, rcx
call qword [0x140704440]
mov dword [rsp + 0x44], eax
mov rcx, qword [0x140732bd8]
mov eax, dword [0x140732b78]
sub eax, esi
cdqe
add rax, rcx
mov rsi, rdi
mov rcx, rdi
mov edx, 0x61be3885
call qword [0x140704440]
xor edi, edi
test al, 1
je 0x1402458cd
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x48], r12
xor r13d, r13d
mov rbx, rsi
jmp 0x1402453b5
mov edx, dword [0x140732b10]
jmp 0x140244a11
cmp ebx, 0x1f
jne 0x1402449ad
lea eax, [rcx + r12]
neg eax
mov dword [r15], eax
mov eax, dword [rdx]
mov dword [r9], eax
jmp 0x140244ef4
mov esi, dword [0x1407328ec]
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0xe8], r12
mov rcx, r12
call sub.KERNEL32.dll_LoadLibraryA
mov qword [rsp + 0x88], rax
test rax, rax
je 0x140244aa8
mov rdx, rsi
test ebp, 0x400
jne 0x140244ef4
mov r8, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
xor edx, 0x6332ece3
mov dword [rsp + 0x30], 0x3d456b9a
call fcn.1402444b0
mov r9d, edx
mov eax, r12d
mov edx, ecx
mov dword [rsp + 0x30], 0x1e8e2d43
mov rcx, rax
cmp qword [0x140790b40], 0
je 0x140244b71
mov qword [rsp + 0x48], r12
xor edi, edi
test ebp, 0x200
je 0x140245ccb
cmp qword [0x140790b38], 0
je 0x140244b87
xor edi, edi
jmp 0x14024515a
not r13d
and r13d, ecx
or r13d, r12d
xor r13d, 1
mov dword [r9], r13d
sub dword [rcx - 0x39], eax
invalid
invalid
invalid
invalid
invalid
jmp 0x140244ef4
xor ebx, ebx
test bpl, 0x40
test ch, 0x40
cmp qword [0x140790b60], 0
je 0x140244cca
xor ebx, ebx
test ebp, 0x100
je 0x140244a11
mov ecx, 1
mov r8, r12
xor eax, eax
jmp 0x1402459fd
lea eax, [r12 + rcx]
not eax
mov dword [r9], eax
add dword [rcx - 0x7f], eax
cmc
movsb byte [rdi], byte [rsi]
mov ebp, eax
xor al, byte [rcx + rcx*4 + 0x2a]
cmp qword [0x140790b48], 0
je 0x140244d50
xor ebx, ebx
test ebp, 0x4000
mov ebx, 0
test ebp, 0x200
jne 0x140245e0a
jmp 0x140245e76
movzx eax, byte [0x140732889]
xor ebx, ebx
cmp al, 0x95
je 0x140245688
jmp 0x14024563d
movzx eax, byte [0x1407327b9]
cmp al, 0xac
jne 0x140244cd8
xor edi, edi
jmp 0x140245b4b
movzx eax, byte [0x140732799]
cmp al, 0xc6
jne 0x140244d09
movzx eax, byte [0x1407327ae]
xor ebx, ebx
cmp al, 0xd4
je 0x14024512d
jmp 0x140245092
xor ebx, ebx
movzx eax, byte [0x140732859]
xor ebx, ebx
jmp 0x1402454db
mov cl, 0x24
lea rdi, [rsp + 0x88]
mov al, 0xb
lock cmpxchg byte [0x1407327b9], cl
je 0x140244f56
cmp al, 0xac
je 0x140244fa7
test ebp, 0x400
jne 0x140244ce2
xor ebx, ebx
jmp 0x14024512d
mov cl, 0xf2
lea r14, [rsp + 0x90]
mov al, 0xb
lock cmpxchg byte [0x140732799], cl
je 0x140244f6e
cmp al, 0xc6
je 0x140244b96
test ebp, 0x4000
jne 0x140244d13
xor ebx, ebx
jmp 0x140245220
movzx eax, byte [0x1407328b9]
cmp al, 0x55
jne 0x140244f07
xor edi, edi
jmp 0x1402454be
movzx eax, byte [0x1407327e9]
xor edi, edi
cmp al, 0x7c
je 0x140245e0a
jmp 0x140245dc2
mov qword [rsp + 0x50], rdx
test bp, bp
js 0x140244f24
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x48], r12
xor edi, edi
xor r13d, r13d
mov dword [rsp + 0x44], 0
xor r15d, r15d
xor eax, eax
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x70], rax
jmp 0x1402452b9
movabs rax, 0x4976ecfdec05535e
xor qword [0x140732830], rax
xor byte [0x140732838], 0xb6
mov al, 0xe2
xchg byte [0x140732839], al
mov rdi, r9
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0xe8]
call fcn.140241890
mov rax, qword [rsp + 0xe8]
cmp rax, qword [r13]
jge 0x140244fa3
lea rsi, [rsp + 0x90]
lea rbx, [rsp + 0xe8]
mov rax, rdi
mov rcx, qword [rdi]
mov eax, dword [rcx]
test eax, eax
je 0x140244e67
lea edx, [rax - 1]
lock cmpxchg dword [rcx], edx
jne 0x140244e55
jmp 0x140244fb7
mov dword [rsp + 0x30], 0xe72d9ac1
mov r8, rsi
call fcn.1402444b0
mov rcx, rbx
call fcn.140241890
xor edx, edx
mov rax, qword [rsp + 0xe8]
cmp rax, qword [r13]
jl 0x140244e4d
jmp 0x140244fbc
xor ebx, ebx
jmp 0x14024598d
mov cl, 0x5b
mov al, 0x57
lock cmpxchg byte [0x1407328b9], cl
je 0x140244fc3
xor edi, edi
cmp al, 0x55
jne 0x140244f09
jmp 0x1402454be
mov dword [rsp + 0x30], 0x5a176085
lea rdx, [rsp + 0x90]
call fcn.1402444b0
test ebp, 0x200
mov rdx, qword [rsp + 0x50]
je 0x140244a11
mov ecx, dword [rsp + 0xb0]
jmp 0x1402447d9
xor edi, edi
mov eax, 0
test ebp, 0x100
jne 0x1402449df
jmp 0x140245afa
test bpl, 0x40
jne 0x140244841
movq xmm0, qword [0x140732790]
paddb xmm0, xmmword [0x1405f1cf0]
movq qword [0x140732790], xmm0
inc byte [0x140732798]
mov al, 0xc6
xchg byte [0x140732799], al
jmp 0x140244b96
xor edx, edx
jmp 0x140244fbc
xor eax, eax
test bpl, bpl
jns 0x140244b80
jmp 0x14024476f
mov edx, 1
xor ebx, ebx
jmp 0x1402459e8
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], rdx
movq xmm0, qword [0x1407328b0]
paddb xmm0, xmmword [0x1405f1ce0]
movq qword [0x1407328b0], xmm0
rcr eax, 0x4e
add byte [rax - 0x73], cl
add eax, 0x4ed8c2
add byte [rbp + 0x31], al
push qword [rcx]
ror byte [rax - 0x77], 0x44
and al, 0x68
inc dword [rcx + rcx*4 - 0x3d]
or al, byte [rax]
add byte [rax + 0x2046c748], dl
add byte [rax], al
add byte [rax], al
push rdi
ror byte [rdi], 0x11
or byte [rax - 0x7d], r9b
invalid
add eax, 0x3a16ea
or byte [rax - 0x73], r9b
adc al, r13b
jne 0x140246479
in al, 0xff
mov dword [rdi], eax
invalid
add byte [rax - 0x73], cl
add eax, 0x3a1600
int 0x15
cmp al, byte [rax]
test ecx, ecx
out dx, al
in al, 0xff
fisttp qword [rbx]
add eax, 0x8d4c0000
jne 0x1402466bb
in eax, dx
in al, 0xff