Function at 0x14023ab00
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
mov rbp, rsp
xor eax, eax
test al, al
je 0x14023ab20
xor eax, eax
call fcn.14020e090
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x14159f0d8]
mov ecx, dword [0x14159f0dc]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
mov ecx, eax
and ecx, 0xd478a1be
mov edx, ecx
not edx
mov r8d, eax
and r8d, 0x40001a4
and edx, 0xf2fba21a
imul edx, r8d
and eax, 0xd078a01a
or ecx, 0xf2fba21a
imul ecx, eax
add ecx, edx
imul ecx, ecx, 0x1a9cfc87
xor eax, eax
call fcn.14020e090
sub rsp, rax
mov r8, rsp
cmp ecx, 0x9a8e4ba5
ja 0x14023ab20
mov eax, 0x30
call fcn.14020e090
sub rsp, rax
mov rdx, rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov rax, rsp
mov ecx, dword [0x1415acbd4]
mov r9, qword gs:[0x58]
mov r10, qword [r9 + rcx*8]
mov r9, qword [r10 + 0x60]
mov rcx, qword [r10 + 0x68]
mov r11d, dword [0x14159f0e0]
imul r11d, dword [0x14159f0e4]
mov qword [r10 + 0x60], 1
mov r10d, 0x9d60b69f
imul r10, r11
shr r10, 0x3d
or r10d, 0xeb7c8fc8
imul r10, r10, 0x3893eed1
shr r10, 0x3d
cmp r10d, 0xae0d76d0
ja 0x14023ac5e
mov r10d, dword [0x1415acbd4]
mov r11, qword gs:[0x58]
mov r10, qword [r11 + r10*8]
mov r11d, dword [0x14159f0e8]
xor r11d, dword [0x14159f0ec]
add r11d, 0xfac11c50
or r11d, 0xfaeeeb39
mov qword [r10 + 0x68], 0
cmp r11d, 0x17746840
jae 0x14023ac7f
mov r10d, dword [0x1415acbd4]
mov r11, qword gs:[0x58]
mov r10, qword [r11 + r10*8]
mov qword [r10 + 0x68], 0
jmp 0x14023ac1a
test r9, r9
je 0x14023aefd
nop dword [rax + rax]
mov eax, dword [0x14159f150]
mov edx, dword [0x14159f154]
mov r8d, eax
and r8d, edx
add r8d, r8d
add eax, edx
sub eax, r8d
add eax, 0x8f280f6b
xor eax, 0xe9929bd2
cmp eax, 0x6d16e48e
jb 0x14023ac90
nop dword [rax + rax]
test rcx, rcx
sete al
cmp r9d, 1
setne dl
mov r10d, dword [0x14159f158]
mov r8d, dword [0x14159f15c]
mov r11d, r10d
not r11d
and r11d, r8d
not r8d
and r8d, r10d
sub r8d, r11d
mov r10d, r8d
not r10d
mov r11d, r8d
and r11d, 0x138789cf
and r10d, 0x6c787630
imul r10d, r11d
mov r11d, r8d
and r11d, 0x6c787630
or r8d, 0x6c787630
imul r8d, r11d
add r8d, r10d
xor r8d, 0x100084c0
or r8d, 0xa58c7b3b
cmp r8d, 0xfa2ae79c
je 0x14023acc0
or dl, al
jne 0x14023b46b
mov eax, dword [0x14159f160]
add eax, dword [0x14159f164]
mov edx, eax
xor edx, 0xc2a46e03
xor eax, 0xb532d0d
and eax, edx
mov edx, eax
xor edx, 0xe94a9e58
add edx, eax
and eax, 0x16b561a7
sub edx, eax
cmp edx, 0x89ca69cf
jae 0x14023ad80
lock dec qword [rcx]
nop word [rax + rax]
mov edx, dword [0x14159f168]
and edx, dword [0x14159f16c]
add edx, 0x9959bfa9
or edx, 0x47aa662d
mov rax, 0xffffffffffffffff
lock xadd qword [rcx], rax
cmp edx, 0x35a877c8
je 0x14023ad80
mov edx, 0xc308e765
nop word cs:[rax + rax]
mov r8d, dword [0x14159f170]
mov r9d, dword [0x14159f174]
mov r10d, r8d
xor r10d, r9d
not r10d
or r8d, r9d
and r8d, r10d
xor r8d, 0xe7695154
mov r9d, r8d
and r9d, 0x4115864f
add r9d, r9d
neg r9d
add r8d, r9d
add r8d, 0x4115864f
imul r8, rdx
shr r8, 0x3e
cmp r8d, 0x891307b5
ja 0x14023adc0
nop
mov r8d, dword [0x14159f178]
mov edx, dword [0x14159f17c]
mov r9d, edx
not r9d
and r9d, r8d
xor edx, r8d
add edx, r8d
sub edx, r9d
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0xd76027dc
and r8d, 0x289fd823
imul r8d, r9d
mov r9d, edx
and r9d, 0x289fd823
or edx, 0x289fd823
imul edx, r9d
add edx, r8d
mov r8d, edx
not r8d
and r8d, 0xb659b3a3
mov r9d, edx
and r9d, 0x49a64c5c
imul r9d, r8d
mov r8d, edx
and r8d, 0xb659b3a3
or edx, 0xb659b3a3
imul edx, r8d
add edx, r9d
cmp edx, 0x89b1e258
je 0x14023ae10
cmp rax, 1
jne 0x14023b46b
mov eax, dword [0x14159f180]
imul eax, dword [0x14159f184]
add eax, 0x8a7f18a4
mov edx, eax
not edx
mov r8d, eax
and r8d, 0x61a6aa5e
and edx, 0x9e5955a1
imul edx, r8d
mov r8d, eax
and r8d, 0x9e5955a1
or eax, 0x9e5955a1
imul eax, r8d
add eax, edx
or eax, 0x11b7937a
cmp eax, 0xdfe5fe29
jbe 0x14023b409
jmp 0x14023b40f
mov ecx, dword [0x1415acbd4]
mov r9, qword gs:[0x58]
mov rcx, qword [r9 + rcx*8]
mov rcx, qword [rcx + 0x40]
nop word [rax + rax]
mov r9d, dword [0x14159f0f4]
mov r10d, r9d
xor r10d, r10d
not r10d
and r10d, dword [0x14159f0f0]
xor r10d, r9d
mov r9d, r10d
not r9d
and r9d, 0x7d399c2b
mov r11d, r10d
and r11d, 0x82c663d4
imul r11d, r9d
mov r9d, r10d
and r9d, 0x7d399c2b
or r10d, 0x7d399c2b
imul r10d, r9d
add r10d, r11d
shr r10d, 2
imul r9, r10, 0x49cec38d
shr r9, 0x36
add r9d, 0xe5d4b39d
cmp r9d, 0xeda415ce
ja 0x14023af20
test rcx, rcx
jne 0x14023b1ef
mov ecx, dword [0x14159f0f8]
mov eax, dword [0x14159f0fc]
xor eax, ecx
not eax
and eax, ecx
add eax, 0xfaee65b7
mov ecx, eax
not ecx
or ecx, 0x671885ea
or eax, 0x98e77a15
and eax, ecx
imul rcx, rax, 0x151897d7
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0xde8570a2
jbe 0x14023b000
mov eax, dword [0x1415acbd4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x40], 0xffffffffffffffff
mov rax, qword [0x140249638]
nop dword [rax]
mov eax, dword [0x14159f100]
mov ecx, dword [0x14159f104]
add eax, ecx
add eax, 0x705d5baf
mov ecx, eax
xor ecx, 0x231fb1c5
or eax, 0xdce04e3a
and eax, ecx
mov ecx, dword [0x1415acbd4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x40], 0xffffffffffffffff
mov rcx, qword [0x140249638]
cmp eax, 0xe9d13af0
ja 0x14023b000
mov eax, dword [0x1415acbd4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x58]
cmp rsi, qword [rax + 0x48]
jne 0x14023b182
mov eax, dword [0x14159f128]
or eax, dword [0x14159f12c]
and eax, 0xd2ea3056
mov ecx, 0x9e8146ef
imul rcx, rax
shr rcx, 0x3f
imul eax, ecx, 0x9071eb7d
cmp eax, 0xf22265b2
jbe 0x14023b0b0
sub rsp, 0x20
call fcn.14013c580
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x14159f130]
mov ecx, dword [0x14159f134]
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
not eax
or eax, 0xb0434963
mov edi, eax
not edi
and eax, 0x36074e5a
mov ecx, edi
and ecx, 0x9b8b084
imul ecx, eax
mov eax, edi
and eax, 0x6040618
or edi, 0x36074e5a
imul edi, eax
add edi, ecx
and edi, 0x3a426af8
sub rsp, 0x20
call fcn.14020c880
add rsp, 0x20
cmp edi, 0x19f2380
jb 0x14023b0b0
mov eax, dword [0x1415acbd4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x40]
inc rax
nop word cs:[rax + rax]
mov ecx, dword [0x14159f138]
or ecx, dword [0x14159f13c]
mov edx, ecx
xor edx, 0xd678f161
or ecx, 0x29870e9e
and ecx, edx
imul ecx, ecx, 0x8848bd60
add ecx, 0xb77e1d78
cmp ecx, 0x1cacda11
ja 0x14023b150
jmp 0x14023b184
xor eax, eax
mov ecx, dword [0x14159f140]
mov edx, dword [0x14159f144]
not ecx
not edx
or edx, ecx
not edx
imul ecx, edx, 0xb5e6cf70
mov edx, ecx
not edx
and edx, 0x67033dfa
mov r8d, ecx
and r8d, 0x98fcc200
imul r8d, edx
mov edx, ecx
and edx, 0x67033df0
or ecx, 0x67033dfa
imul ecx, edx
add ecx, r8d
imul rdx, rcx, 0x12934125
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1d
cmp ecx, 0xf71c71d7
jne 0x14023b33b
jmp 0x14023b3ba
mov ecx, dword [0x14159f108]
add ecx, dword [0x14159f10c]
mov r9d, ecx
xor r9d, 0x6c26f8f8
and r9d, ecx
add r9d, 0xf5b1e4ea
imul rcx, r9, 0x2c4ad37
shr rcx, 0x20
sub r9d, ecx
shr r9d, 1
add r9d, ecx
shr r9d, 0x1f
cmp r9d, 0xf4a97ac3
ja 0x14023b28a
mov ecx, dword [0x14159f110]
add ecx, dword [0x14159f114]
mov r9d, ecx
not r9d
and r9d, 0x32d76c09
and ecx, 0x4d2893f6
sub ecx, r9d
xor ecx, 0x58004000
or ecx, 0xa6d3b561
mov dword [rax], 0
mov byte [rax + 4], 0
lea r9, [0x141578f28]
mov qword [rdx], r9
mov qword [rdx + 8], 1
mov qword [rdx + 0x20], 0
cmp ecx, 0x181a75ce
jne 0x14023b2b0
mov dword [rax], 0
mov byte [rax + 4], 0
lea rcx, [0x141578f28]
mov qword [rdx], rcx
mov qword [rdx + 8], 1
mov qword [rdx + 0x20], 0
jmp 0x14023b230
mov ecx, dword [0x14159f118]
or ecx, dword [0x14159f11c]
and ecx, 0x41140ea
add ecx, 0x3b607d7e
cmp ecx, 0x22b54b2f
jae 0x14023b2e0
mov qword [rdx + 0x10], r8
nop word cs:[rax + rax]
mov ecx, dword [0x14159f120]
mov r9d, dword [0x14159f124]
mov r10d, ecx
not r10d
and r10d, r9d
not r9d
and r9d, ecx
sub r9d, r10d
imul ecx, r9d, 0x9b095970
mov qword [rdx + 0x10], r8
cmp ecx, 0x56f3ddfa
je 0x14023b2e0
mov qword [rdx + 0x18], 0
sub rsp, 0x20
mov rcx, rax
call fcn.140135e00
mov rcx, rax
call fcn.14020be00
add rsp, 0x20
mov ecx, 7
int 0x29
ud2
mov ecx, dword [0x14159f148]
sub ecx, dword [0x14159f14c]
imul rdx, rcx, 0xf89e565
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1c
not ecx
and ecx, 0x9ca17f71
mov rdx, rsi
shl rdx, 4
mov r8d, dword [0x1415acbd4]
mov r9, qword gs:[0x58]
mov r8, qword [r9 + r8*8]
mov r9, qword [r8 + 0x50]
lea r10, [r8 + 0x60]
mov qword [r9 + rdx], r10
lea r10, [0x14016e670]
mov qword [r9 + rdx + 8], r10
lea rdx, [rsi + 1]
mov qword [r8 + 0x58], rdx
mov qword [r8 + 0x40], rax
cmp ecx, 0xaa0cb7f7
jbe 0x14023b46b
mov ecx, dword [0x1415acbd4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov rdx, qword [rcx + 0x50]
mov r8, rsi
shl r8, 4
lea r9, [rcx + 0x60]
mov qword [rdx + r8], r9
lea r9, [0x14016e670]
mov qword [rdx + r8 + 8], r9
lea rdx, [rsi + 1]
mov qword [rcx + 0x58], rdx
mov qword [rcx + 0x40], rax
jmp 0x14023b33b
xor eax, eax
test al, al
je 0x14023b411
jmp 0x14023b409
sub rsp, 0x20
call fcn.140119080
add rsp, 0x20
nop
mov eax, dword [0x14159f188]
and eax, dword [0x14159f18c]
mov ecx, eax
not ecx
and ecx, 0x7103a480
mov edx, eax
and edx, 0x8efc5b7f
imul edx, ecx
mov ecx, eax
and ecx, 0x7103a480
or eax, 0x7103a480
imul eax, ecx
add eax, edx
imul rax, rax, 0x1ad09ff5
shr rax, 0x3c
imul eax, eax, 0x4189e061
cmp eax, 0x5587e2e6
je 0x14023b420
mov eax, 0x941d3877
mov ecx, dword [0x14159f190]
mov edx, dword [0x14159f194]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
or ecx, 0xd967585c
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xc329b27f
ja 0x14023b470
nop word [rax + rax]
mov ecx, dword [0x14159f198]
mov eax, dword [0x14159f19c]
not ecx
not eax
and eax, ecx
not eax
and eax, 0x3549450d
mov ecx, 0x3815057c
sub ecx, eax
add eax, 0xc7eafa83
and ecx, 0x391c0448
mov edx, eax
and edx, 0x86c3e317
imul edx, ecx
mov ecx, eax
and ecx, 0x793c1c88
or eax, 0x793c1cc8
imul eax, ecx
add eax, edx
cmp eax, 0x3c693597
je 0x14023b4c0
mov rsp, rbp
pop rdi
pop rsi
pop rbp
ret