Function at 0x14001b9f0
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, 0x98
lea rbp, [rsp + 0x80]
mov r12, rdx
mov rdi, rcx
mov eax, dword [0x141f2f3f8]
xor eax, dword [0x141f2f3fc]
imul eax, eax, 0x92b12c29
cmp eax, 0xf799bf22
jne 0x14001ba37
mov eax, 0x30
call fcn.1400f4d10
sub rsp, rax
mov ecx, 0xacb3a95d
nop dword [rax]
mov eax, dword [0x141f2f400]
xor edx, edx
div dword [0x141f2f404]
or eax, 0x6eb5c733
imul rax, rcx
shr rax, 0x3f
imul edx, eax, 0x63345c2e
mov eax, 0x30
call fcn.1400f4d10
sub rsp, rax
mov r13, rsp
cmp edx, 0x3b3641dd
ja 0x14001ba40
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov qword [rbp - 0x48], rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r10, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r11, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov qword [rbp - 0x78], rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r8, rsp
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov rcx, rsp
mov eax, 0x30
call fcn.1400f4d10
sub rsp, rax
mov rdx, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rsi, rsp
movzx r9d, byte [r12]
cmp r9, 0xe
ja 0x14001bd04
lea rax, [0x141f264c8]
movsxd rcx, dword [rax + r9*4]
add rcx, rax
jmp rcx
mov qword [rcx], r12
lea rax, [fcn.1400138d0]
mov qword [rcx + 8], rax
lea rax, [0x141f25fd8]
mov qword [rdx], rax
mov qword [rdx + 8], 1
mov qword [rdx + 0x20], 0
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], 1
sub rsp, 0x20
mov rcx, r15
call fcn.14003b520
add rsp, 0x20
mov rax, qword [r15 + 0x10]
mov qword [rsi + 0x17], rax
movups xmm0, xmmword [r15]
movups xmmword [rsi + 7], xmm0
mov byte [rdi + 8], 0x11
movups xmm0, xmmword [rsi]
mov rax, qword [rsi + 0xf]
mov rcx, qword [rsi + 0x17]
movups xmmword [rdi + 9], xmm0
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], rcx
mov qword [rdi], 1
movzx r9d, byte [r12]
jmp 0x14001c3c9
mov al, 1
xor ecx, ecx
movzx edx, r9b
nop word cs:[rax + rax]
mov r8d, dword [0x141f2f658]
xor r8d, dword [0x141f2f65c]
or r8d, 0xb50b06d4
add r8d, 0xa14e0be0
and r8d, 0x863db9cb
cmp r8d, 0x482a4068
ja 0x14001c3e0
cmp edx, 2
je 0x14001c5a0
cmp edx, 0xe
jne 0x14001c608
test al, al
je 0x14001c700
mov rdi, qword [r12 + 0x10]
mov rsi, qword [r12 + 0x18]
test rsi, rsi
je 0x14001c4e1
xor ebx, ebx
nop dword [rax + rax]
mov eax, dword [0x141f2f680]
and eax, dword [0x141f2f684]
add eax, 0x9ea75d9e
and eax, 0x9b1d70c5
add eax, 0x345473be
cmp eax, 0x73d98d02
jae 0x14001c480
mov rcx, rbx
shl rcx, 5
add rcx, rdi
sub rsp, 0x20
call fcn.14000f5c0
add rsp, 0x20
nop dword [rax]
mov r14d, dword [0x141f2f688]
imul r14d, dword [0x141f2f68c]
add r14d, 0xafc17671
or r14d, 0x20c0e33
imul rax, r14, 0x368bdfab
shr rax, 0x20
sub r14d, eax
shr r14d, 1
add r14d, eax
shr r14d, 0x1e
mov rcx, rbx
shl rcx, 5
add rcx, rdi
sub rsp, 0x20
call fcn.14000f5c0
add rsp, 0x20
cmp r14d, 0x52df398f
ja 0x14001c480
inc rbx
cmp rbx, rsi
jne 0x14001c440
mov rax, qword [r12 + 8]
nop word cs:[rax + rax]
mov ecx, dword [0x141f2f690]
sub ecx, dword [0x141f2f694]
add ecx, 0xb95d4705
and ecx, 0xa6800216
cmp ecx, 0xd9b13b6b
je 0x14001c4f0
test rax, rax
je 0x14001c700
mov eax, dword [0x141f2f698]
xor eax, dword [0x141f2f69c]
or eax, 0xefffffef
cmp eax, 0xfae0f06d
jbe 0x14001c538
mov rax, qword [0x141f49060]
mov eax, 0xc03e5ae5
nop dword [rax]
mov ecx, dword [0x141f2f6a0]
add ecx, dword [0x141f2f6a4]
imul ecx, ecx, 0x415ed328
xor ecx, 0x24758a7b
imul rcx, rax
shr rcx, 0x3d
mov rsi, qword [0x141f49060]
cmp ecx, 0xcde83201
je 0x14001c540
mov eax, dword [0x141f2f6a8]
or eax, dword [0x141f2f6ac]
xor eax, 0x453a550f
imul eax, eax, 0x4ba6422b
xor eax, 0x56f8821d
cmp eax, 0x167faf29
jb 0x14001c68a
jmp 0x14001c64a
mov eax, dword [0x141f2f668]
xor edx, edx
div dword [0x141f2f66c]
imul eax, eax, 0x1e25f752
imul rax, rax, 0x24d9c9ed
shr rax, 0x3d
or eax, 0x2abf64a0
cmp eax, 0xc1b7c567
je 0x14001c5a0
cmp qword [r12 + 8], 0
sete al
or cl, al
jne 0x14001c700
mov eax, dword [0x141f2f670]
and eax, dword [0x141f2f674]
and eax, 0x26352af2
imul eax, eax, 0x8fc075e9
and eax, 0x9c72ad96
cmp eax, 0xf6321491
ja 0x14001c6e1
jmp 0x14001c6a2
sub rsp, 0x20
mov rcx, r12
call fcn.14000f5c0
add rsp, 0x20
nop dword [rax + rax]
mov eax, dword [0x141f2f660]
xor edx, edx
div dword [0x141f2f664]
add eax, 0xa99a16ab
xor eax, 0x65bfb121
imul eax, eax, 0x66268b0c
cmp eax, 0xe17495cd
ja 0x14001c620
jmp 0x14001c700
mov eax, dword [0x141f2f6b0]
or eax, dword [0x141f2f6b4]
imul eax, eax, 0x5236edf9
add eax, 0xbcecf3cf
imul rbx, rax, 0x326c5bd7
shr rbx, 0x3d
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, rdi
call qword [0x1401082d0]
add rsp, 0x20
cmp ebx, 0x8425efff
jbe 0x14001c700
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, rdi
call qword [0x1401082d0]
add rsp, 0x20
jmp 0x14001c64a
mov eax, dword [0x141f2f678]
xor edx, edx
div dword [0x141f2f67c]
add eax, 0xa5bac5e6
or eax, 0x7a1c7d7c
imul rcx, rax, 0x2497dff1
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
mov r8, qword [r12 + 0x10]
mov rcx, qword [0x141f49060]
cmp eax, 0x6d64cafa
jne 0x14001c6ea
mov rax, qword [0x141f49060]
jmp 0x14001c6a2
sub rsp, 0x20
xor edx, edx
call qword [0x1401082d0]
add rsp, 0x20
nop word [rax + rax]
mov eax, dword [0x141f2f6b8]
xor eax, dword [0x141f2f6bc]
add eax, 0xb9de05f8
and eax, 0x452a481a
cmp eax, 0x14e0a3d8
je 0x14001c700
lea rsp, [rbp + 0x18]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret