Function at 0x1400f5a50
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
mov eax, 0x1008
call fcn.1400f07c0
sub rsp, rax
lea rbp, [rsp + 0x80]
mov eax, dword [0x141dcb198]
add eax, dword [0x141dcb19c]
mov rdi, rcx
imul eax, eax, 0xc8b669e2
add eax, 0x3190dd2
cmp eax, 0xe3f6085d
jbe 0x1400f5abd
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
mov rcx, rsp
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
mov qword [rdi + 0x820], 1
mov qword [rcx], rdi
mov ecx, 0xf29266bf
nop word cs:[rax + rax]
mov eax, dword [0x141dcb1a0]
xor eax, dword [0x141dcb1a4]
and eax, 0xcc8ce463
imul edx, eax, 0xcb4fc1cc
imul rdx, rcx
shr rdx, 0x3d
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
mov rsi, rsp
mov qword [rdi + 0x820], 1
mov qword [rbx], rdi
cmp edx, 0x5ddd300c
ja 0x1400f5ad0
nop word cs:[rax + rax]
mov eax, dword [0x141dcb1a8]
and eax, dword [0x141dcb1ac]
add eax, 0x89b66a8e
cmp eax, 0x92699c79
jb 0x1400f5b30
mov rax, qword [rdi + 0x818]
cmp rax, 0xffffffffffffffff
je 0x1400f6078
mov edx, dword [0x141dcb1b0]
or edx, dword [0x141dcb1b4]
lea rcx, [rax + 1]
add edx, 0xf871570d
or edx, 0x13304fbe
cmp edx, 0xef622f58
jne 0x1400f5b90
mov qword [rdi + 0x818], rcx
nop word cs:[rax + rax]
mov edx, dword [0x141dcb1b8]
or edx, dword [0x141dcb1bc]
mov qword [rdi + 0x818], rcx
cmp edx, 0xd695e07c
je 0x1400f5b90
nop dword [rax + rax]
mov ecx, dword [0x141dcb1c0]
add ecx, dword [0x141dcb1c4]
xor ecx, 0x7d8d795c
imul ecx, ecx, 0xf5ed26e3
add ecx, 0xd34bd5b5
cmp ecx, 0xa912b307
ja 0x1400f5bb0
test rax, rax
jne 0x1400f5ca2
mov eax, dword [0x141dcb1c8]
imul eax, dword [0x141dcb1cc]
cmp eax, 0xd4fbc90f
jne 0x1400f5c00
mov rax, qword [rdi + 8]
mov rax, qword [rax + 0x180]
nop
mov eax, dword [0x141dcb1d0]
add eax, dword [0x141dcb1d4]
xor eax, 0xc517321a
imul eax, eax, 0x2824f6a2
and eax, 0x9eb011e2
mov rcx, qword [rdi + 8]
mov rcx, qword [rcx + 0x180]
cmp eax, 0x68680a08
jb 0x1400f5c00
or rcx, 1
mov eax, dword [0x141dcb1d8]
xor edx, edx
div dword [0x141dcb1dc]
add eax, 0x26a230bc
imul rax, rax, 0x44a56d9d
shr rax, 0x3d
cmp eax, 0x94608418
ja 0x1400f5c7b
mov edx, dword [0x141dcb1e0]
add edx, dword [0x141dcb1e4]
xor eax, eax
lock cmpxchg qword [rdi + 0x880], rcx
imul eax, edx, 0xca44cf75
cmp eax, 0x1fc44be4
jne 0x1400f5c88
xor eax, eax
lock cmpxchg qword [rdi + 0x880], rcx
jmp 0x1400f5c57
mov rax, qword [rdi + 0x828]
lea rcx, [rax + 1]
mov qword [rdi + 0x828], rcx
test al, 0x7f
je 0x1400f5e52
mov eax, 0x99750251
nop word [rax + rax]
mov ecx, dword [0x141dcb1f8]
add ecx, dword [0x141dcb1fc]
imul rcx, rax
shr rcx, 0x3e
or ecx, 0x80074cc0
and ecx, 0x80074cc1
cmp ecx, 0x7735b6fa
je 0x1400f5cb0
mov rbx, qword [rbx]
mov r12, qword [rdi + 8]
xor eax, eax
movups xmm0, xmmword [0x141dba450]
movups xmm1, xmmword [0x141dba460]
xor ecx, ecx
nop word cs:[rax + rax]
mov edx, dword [0x141dcb200]
sub edx, dword [0x141dcb204]
and edx, 0x8aa20240
add edx, 0xb80caea9
cmp edx, 0xeb42c281
jbe 0x1400f5d80
mov rdx, rcx
shl rdx, 5
movups xmmword [rbp + rdx + 0x790], xmm1
movups xmmword [rbp + rdx + 0x780], xmm0
mov r8, rdx
or r8, 0x20
movups xmmword [rbp + r8 + 0x780], xmm0
movups xmmword [rbp + r8 + 0x790], xmm1
mov r8, rdx
or r8, 0x40
movups xmmword [rbp + r8 + 0x780], xmm0
movups xmmword [rbp + r8 + 0x790], xmm1
or rdx, 0x60
movups xmmword [rbp + rdx + 0x780], xmm0
movups xmmword [rbp + rdx + 0x790], xmm1
nop dword [rax]
mov rdx, rcx
shl rdx, 5
movups xmmword [rbp + rdx + 0x780], xmm0
movups xmmword [rbp + rdx + 0x790], xmm1
mov r8, rdx
or r8, 0x20
movups xmmword [rbp + r8 + 0x780], xmm0
movups xmmword [rbp + r8 + 0x790], xmm1
mov r8, rdx
or r8, 0x40
movups xmmword [rbp + r8 + 0x780], xmm0
movups xmmword [rbp + r8 + 0x790], xmm1
or rdx, 0x60
movups xmmword [rbp + rdx + 0x780], xmm0
movups xmmword [rbp + rdx + 0x790], xmm1
test al, al
jne 0x1400f5d80
add rcx, 4
cmp rcx, 0x40
jne 0x1400f5d00
lea r14, [rdi + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dcb208]
add eax, dword [0x141dcb20c]
imul eax, eax, 0xd4b88bb9
add eax, 0xdcfac580
or eax, 0x9b10d7da
cmp eax, 0xd8d82bff
je 0x1400f5e00
mov eax, dword [0x141dcb210]
xor edx, edx
div dword [0x141dcb214]
add eax, 0x57a004ac
or eax, 0x37f6142e
imul rax, rax, 0x6445ce31
shr rax, 0x3e
cmp eax, 0xe22a9349
jne 0x1400f5ea9
jmp 0x1400f5f04
mov eax, dword [0x141dcb1e8]
xor edx, edx
div dword [0x141dcb1ec]
mov eax, dword [0x141dcb1f0]
xor edx, edx
div dword [0x141dcb1f4]
imul eax, eax, 0x8c35dfe3
and eax, 0x224803e0
cmp eax, 0x43a52ac4
ja 0x1400f5e60
mov rcx, qword [rdi + 8]
sub rcx, 0xffffffffffffff80
sub rsp, 0x20
mov rdx, rbx
call fcn.1400f4c60
add rsp, 0x20
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1400f5ea0
jmp 0x1400f5ca2
sub rsp, 0x20
lea r15, [rbp - 0x80]
lea rdx, [rbp + 0x780]
mov r8d, 0x800
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp + 0x780]
mov r8d, 0x808
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x800
mov rcx, r14
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [rdi + 0x810], 0
mfence
xor eax, eax
test al, al
je 0x1400f5f5e
sub rsp, 0x20
lea r15, [rbp - 0x80]
lea rdx, [rbp + 0x780]
mov r8d, 0x800
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp + 0x780]
mov r8d, 0x808
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x800
mov rcx, r14
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [rdi + 0x810], 0
mfence
jmp 0x1400f5ea9
mov eax, dword [0x141dcb218]
imul eax, dword [0x141dcb21c]
add eax, 0x572774f5
shr eax, 2
imul rax, rax, 0x4d457fe3
shr rax, 0x38
imul eax, eax, 0xb64fdbae
cmp eax, 0x6c2fb057
jae 0x1400f5fb0
mov rax, qword [r12 + 0x180]
movzx eax, byte [0x141ddc4f8]
sub rsp, 0x20
mov edx, 0x818
xor ecx, ecx
call fcn.1400c0a10
add rsp, 0x20
nop
mov eax, dword [0x141dcb220]
or eax, dword [0x141dcb224]
imul r13d, eax, 0xeb8e5d47
and r13d, 0xc84f5f9e
add r13d, 0xe972efc4
mov r15, qword [r12 + 0x180]
movzx eax, byte [0x141ddc4f8]
sub rsp, 0x20
mov edx, 0x818
xor ecx, ecx
call fcn.1400c0a10
add rsp, 0x20
cmp r13d, 0x82a6887d
ja 0x1400f5fb0
mov r14, rax
test rax, rax
je 0x1400f602f
mov eax, dword [0x141dcb238]
xor edx, edx
div dword [0x141dcb23c]
and eax, 0x397d8b89
imul eax, eax, 0xb6569b2b
or eax, 0xb14fc8f0
cmp eax, 0xa16300e9
jae 0x1400f607a
jmp 0x1400f60c9
mov eax, dword [0x141dcb228]
imul eax, dword [0x141dcb22c]
and eax, 0x2c688193
add eax, 0xaa66887a
cmp eax, 0x9bab55a3
jae 0x1400f6050
ud2
mov eax, dword [0x141dcb230]
xor eax, dword [0x141dcb234]
shr eax, 2
imul rax, rax, 0x88256d3
shr rax, 0x39
or eax, 0x23402e0
ud2
ud2
mov eax, dword [0x141dcb240]
xor edx, edx
div dword [0x141dcb244]
mov ecx, 0xacb97853
imul rcx, rax
shr rcx, 0x3f
imul r13d, ecx, 0xb4ea0edc
sub rsp, 0x20
lea rdx, [rbp + 0x780]
mov r8d, 0x808
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [r14 + 0x808], r15
cmp r13d, 0xb2759e4
jne 0x1400f60ef
sub rsp, 0x20
lea rdx, [rbp + 0x780]
mov r8d, 0x808
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [r14 + 0x808], r15
jmp 0x1400f607a
mov eax, dword [0x141dcb248]
imul eax, dword [0x141dcb24c]
add eax, 0x34acd172
and eax, 0xe99177ce
add eax, 0x6380e512
cmp eax, 0x58bd559
jae 0x1400f6120
mov qword [r14 + 0x810], 0
nop dword [rax]
mov eax, dword [0x141dcb250]
sub eax, dword [0x141dcb254]
xor eax, 0x10b0a00
and eax, 0xc79b4a0c
imul rax, rax, 0x5b187ecb
shr rax, 0x3e
mov qword [r14 + 0x810], 0
cmp eax, 0xa54146d4
ja 0x1400f6120
nop word cs:[rax + rax]
mov eax, dword [0x141dcb258]
add eax, dword [0x141dcb25c]
or eax, 0x2ea5e1e0
shr eax, 1
imul rax, rax, 0x98a8b8b
shr rax, 0x37
imul eax, eax, 0x1804b397
cmp eax, 0x666593df
jb 0x1400f6160
mov edx, 0xa0074aad
jmp 0x1400f61ad
mov rax, rcx
lock cmpxchg qword [r12 + 0x100], r9
mov rcx, qword [r12 + 0x100]
mov r8, rcx
and r8, 0xfffffffffffffff8
nop dword [rax]
mov eax, dword [0x141dcb260]
or eax, dword [0x141dcb264]
or eax, 0xdeffbd7d
cmp eax, 0x7ecdf1fe
je 0x1400f61c0
mov eax, dword [0x141dcb268]
add eax, dword [0x141dcb26c]
imul eax, eax, 0x27025d36
and eax, 0xf3fbfeba
imul rax, rdx
shr rax, 0x3f
cmp eax, 0x5ba53311
jbe 0x1400f6210
mov rax, qword [r8 + 0x810]
nop word cs:[rax + rax]
mov eax, dword [0x141dcb270]
imul eax, dword [0x141dcb274]
mov r9, qword [r8 + 0x810]
cmp eax, 0x1b0d98e5
je 0x1400f6210
cmp r9, 7
ja 0x1400f61a0
mov eax, dword [0x141dcb278]
imul eax, dword [0x141dcb27c]
add eax, 0xe9a3e916
xor eax, 0x5939209a
add eax, 0x6420f648
cmp eax, 0x546cd26
jb 0x1400f6310
nop dword [rax]
mov eax, dword [0x141dcb280]
imul eax, dword [str.9_XWs]
imul r9d, eax, 0xc105a662
and r9d, 0xb2d78d4
xor eax, eax
lock cmpxchg qword [r8 + 0x810], r14
sete al
cmp r9d, 0x823c69d0
ja 0x1400f6310
nop word cs:[rax + rax]
mov r8d, dword [0x141dcb288]
imul r8d, dword [0x141dcb28c]
and r8d, 0x5fc7218
xor r8d, 0x591bd058
cmp r8d, 0x77f1e24
jb 0x1400f62a0
nop word cs:[rax + rax]
mov r8d, dword [0x141dcb290]
add r8d, dword [0x141dcb294]
xor r8d, 0x4000
or r8d, 0x24f6986e
and r8d, 0x6dfefe6e
cmp r8d, 0xdd9a4f55
je 0x1400f62d0
test al, al
je 0x1400f61ad
jmp 0x1400f6320
xor eax, eax
lock cmpxchg qword [r8 + 0x810], r14
jmp 0x1400f6260
mov rax, rcx
lock cmpxchg qword [r12 + 0x100], r14
test rbx, rbx
je 0x1400f6535
mov ecx, 0xc467970b
nop dword [rax + rax]
mov eax, dword [0x141dcb298]
xor edx, edx
div dword [0x141dcb29c]
and eax, 0xb895674f
imul rax, rcx
shr rax, 0x3e
cmp eax, 0x456e2670
je 0x1400f6340
mov eax, dword [0x141dcb2a0]
add eax, dword [0x141dcb2a4]
or eax, 0x7564a246
mov ecx, 0xa816a67f
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x8770a19d
je 0x1400f63c3
mov eax, dword [0x141dcb2a8]
sub eax, dword [0x141dcb2ac]
add eax, 0xe1752400
xor eax, 0xe0fc9495
imul rcx, rax, 0x1f89bc27
shr rcx, 0x3c
mov rax, qword [rbx + 0x818]
lea rdx, [rax - 1]
mov qword [rbx + 0x818], rdx
cmp ecx, 0x7d7ec151
jbe 0x1400f63d0
dec qword [rbx + 0x818]
jmp 0x1400f6388
mov ecx, dword [0x141dcb2b0]
imul ecx, dword [0x141dcb2b4]
imul rdx, rcx, 0x1b69cd67
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x18
or ecx, 0x7d6391b
imul ecx, ecx, 0x6df0ed86
cmp ecx, 0x65ae6074
jb 0x1400f63d0
cmp rax, 1
jne 0x1400f6535
mov eax, dword [0x141dcb2b8]
and eax, dword [0x141dcb2bc]
and eax, 0x1d0c3310
add eax, 0x1c2a901a
cmp eax, 0x6560e53e
ja 0x1400f645b
mov eax, dword [0x141dcb2c0]
add eax, dword [0x141dcb2c4]
imul eax, eax, 0xce269d5c
imul rax, rax, 0x1a945c69
shr rax, 0x3b
mov qword [rbx + 0x880], 0
cmp eax, 0x10d90998
jbe 0x1400f6468
mov qword [rbx + 0x880], 0
jmp 0x1400f642c
mov rcx, qword [rbx + 0x820]
nop
mov eax, dword [0x141dcb2c8]
xor edx, edx
div dword [0x141dcb2cc]
and eax, 0xac8b55b3
imul eax, eax, 0xeb1be894
or eax, 0xae70d3f
cmp eax, 0x8a75208e
ja 0x1400f6470
test rcx, rcx
jne 0x1400f6535
mov eax, dword [str._b__P]
and eax, dword [0x141dcb2d4]
and eax, 0xa4699313
add eax, 0xae5479d9
xor eax, 0xf19d0ec4
cmp eax, 0x14a0ed68
jb 0x1400f64f7
mov eax, dword [0x141dcb2d8]
add eax, dword [0x141dcb2dc]
imul rax, rax, 0x77c369b
shr rax, 0x3a
imul r14d, eax, 0x5efb5
sub rsp, 0x20
mov rcx, rbx
call fcn.1400f5a50
add rsp, 0x20
cmp r14d, 0x65209343
jne 0x1400f6510
sub rsp, 0x20
mov rcx, rbx
call fcn.1400f5a50
add rsp, 0x20
jmp 0x1400f64c0
mov eax, dword [0x141dcb2e0]
xor edx, edx
div dword [0x141dcb2e4]
xor eax, 0x8a141088
and eax, 0xeb3e728c
imul eax, eax, 0x86b7317f
cmp eax, 0x43503bf0
jb 0x1400f6510
mov qword [rdi + 0x820], 0
mov rax, qword [rdi + 8]
lock or qword [rdi], 1
mov ecx, dword [0x141dcb2e8]
xor ecx, dword [0x141dcb2ec]
add ecx, 0xe88d0da
and ecx, 0x93121d2b
xor ecx, 0xc85a1b72
cmp ecx, 0x62ab8140
jb 0x1400f657f
mov qword [rsi], rax
lock dec qword [rax]
sete cl
xor edx, edx
test dl, dl
je 0x1400f6588
mov qword [rsi], rax
lock dec qword [rax]
jmp 0x1400f656f
test cl, cl
je 0x1400f65f2
mov eax, dword [0x141dcb2f0]
and eax, dword [str._:1_]
or eax, 0x205982aa
and eax, 0x345b92fe
xor eax, 0x6fc596fc
cmp eax, 0xad6affd9
jbe 0x1400f65ae
mov eax, 0x97e33b37
nop word cs:[rax + rax]
mov ecx, dword [0x141dcb2f8]
or ecx, dword [0x141dcb2fc]
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x8c0110
cmp ecx, 0xcbe2111
je 0x1400f65c0
sub rsp, 0x20
mov rcx, rsi
call fcn.140067190
add rsp, 0x20
lea rsp, [rbp + 0xf88]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret