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

Disassembly:
push rbp
sub rsp, 0x100
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rcx
mov eax, 0x10
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
sub rsp, 0x20
call fcn.1400fac34
mov rdx, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0x68], rax
mov rax, qword [rdx]
mov qword [rbp + 0x70], rax
movabs rcx, 0xd59745d538c924e1
movabs rdx, 0xd59745d538c924e1
xor rcx, rdx
cmp rax, rcx
jge 0x1400fc3c0
mov rcx, qword [rbp + 0x70]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
add rsp, 0x20
jmp 0x1400fcee8
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x48]
sub rsp, 0x20
call fcn.14001b8a0
add rsp, 0x20
mov cx, 0xfb14
xor cx, 0xfb96
sub rsp, 0x20
call fcn.140066656
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x40], rcx
mov al, byte [rax]
mov cl, 0xc2
xor cl, 0xc2
cmp al, cl
jne 0x1400fcee8
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x60]
add rcx, 8
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rax
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x20], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x28], rcx
cmp rax, rcx
jge 0x1400fcee8
mov rax, qword [rbp + 0x20]
cmp rax, 0
jge 0x1400fc49b
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
movabs r8, 0x3d35c2363cf3d7b0
movabs rax, 0xc2ca3dc9c30c284f
xor r8, rax
mov rax, rdx
and rax, r8
shl rax, 1
movabs r8, 0x7bbfd1b9308ad925
movabs r9, 0x84402e46cf7526da
xor r8, r9
xor rdx, r8
add rdx, rax
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x1400fccb8
mov ecx, 0x7256
mov edx, 0xdf23
sub rsp, 0x20
call fcn.140069186
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x68]
mov word [rbp + 0x1e], cx
cmp byte [rax], 0
jne 0x1400fccbd
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x30]
mov dx, word [rbp + 0x1e]
mov rax, qword [rax]
mov r8, rax
add r8, 8
add r8, rcx
mov qword [rbp + 0x10], r8
cmp byte [rax + rcx + 8], dl
je 0x1400fc50a
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x60]
mov rcx, qword [rcx]
mov qword [rbp + 8], rcx
cmp rax, rcx
jl 0x1400fcce0
jmp 0x1400fccc2
mov ecx, 0x2a6
sub rsp, 0x20
call fcn.140066656
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp], rcx
cmp byte [rax], 0
jne 0x1400fccb8
mov eax, dword [0x140207180]
mov ecx, dword [str.C_kx]
xor ecx, 0x215c76f8
or eax, ecx
mov edx, 0xf1275087
xor edx, 0xdf8706b4
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x2ea05633
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xf1923cfc
xor edx, 0x20dfd464
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xd14de898
and eax, edx
sub eax, ecx
mov ecx, 0x4257d6ff
xor ecx, 0x62c6c2f6
xor edx, edx
div ecx
cmp eax, 0x83914d41
jae 0x1400fcef5
mov r10, qword [rbp + 0x20]
mov eax, dword [0x140207188]
mov ecx, dword [0x14020718c]
xor ecx, 0x974ff41f
xor edx, edx
div ecx
mov rdx, qword [rbp]
add eax, 0x42fb54d0
xor eax, 0x6cf688ed
mov ecx, 0x49d0c2c5
xor ecx, 0x20ae8514
or eax, ecx
mov r8, rdx
add r8, r10
mov qword [rbp - 0x10], r8
mov rcx, r8
and rcx, r10
movabs r9, 0xe8d043f4b4afe026
movabs r11, 0xe8d043f4b4afe024
xor r9, r11
imul r9, rcx
mov rcx, r8
add rcx, r10
sub rcx, r9
xor r8, rdx
movabs r9, 0x68ca37a8d0d8a432
movabs rdx, 0x68ca37a8d0d8a433
xor r9, rdx
mov rdx, rcx
add rdx, r9
movabs r9, 0x869fe97528c6be84
movabs r10, 0x7960168ad739417b
xor r9, r10
xor rcx, r9
or rcx, r8
add rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp - 1], cl
cmp eax, 0x889ada3d
ja 0x1400fc5a0
mov al, byte [rbp - 1]
test al, 1
jne 0x1400fc66e
jmp 0x1400fc680
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x1400fccb8
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp - 0x10]
cmp qword [rax], rcx
jg 0x1400fc721
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140014320
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140216ed8]
mov qword [rcx], rax
lea rax, [0x140215ca8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140215cd8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140215ce0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x1c260f5877ee867
movabs rdx, 0xfe3d9f0a78533b49
xor rax, rdx
lea rdx, [0x140215ca8]
lea r8, [0x140215cb7]
lea r9, [0x140215cca]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1400139e0
add rsp, 0x30
jmp 0x1400fccb8
mov byte [rbp + 0x7f], 0
mov ecx, 0x28a
sub rsp, 0x20
call fcn.140066656
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x18], rcx
cmp byte [rax], 0
jne 0x1400fccb8
mov rax, qword [rbp - 0x18]
mov r8, qword [rbp + 0x20]
mov rdx, rax
add rdx, r8
mov qword [rbp - 0x20], rdx
mov rcx, rdx
xor rcx, r8
xor rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x40165347a17921be
movabs rdx, 0x40165347a17921be
xor rcx, rdx
cmp rax, rcx
jge 0x1400fc7a5
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x1400fccb8
mov ecx, 0x41b
sub rsp, 0x20
call fcn.140066656
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x28], rcx
cmp byte [rax], 0
jne 0x1400fccb8
mov ecx, dword [0x140207190]
mov edx, dword [0x140207194]
xor edx, 0x3f61f99b
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov ecx, 0x6b6a383e
xor ecx, 0x7e9e340
sub eax, ecx
or eax, 0xbbce2f1c
imul eax, eax, 0xb9288ed
mov ecx, 0x1ee8f17c
xor ecx, 0xd28b0a55
cmp eax, ecx
je 0x1400fcefe
mov r9, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x58]
mov eax, dword [0x140207198]
mov r10d, dword [0x14020719c]
mov edx, eax
xor edx, r10d
xor edx, 0xffffffff
or eax, r10d
and eax, edx
mov edx, 0x392fe627
xor edx, 0xc6d019d8
xor eax, edx
mov r10d, 0xffffffff
xor r10d, 0x5e60798b
mov edx, 0xffffffff
xor edx, 0xc2094337
or eax, r10d
or edx, 0xc2094337
mov r10d, 0x1c13d344
xor r10d, 0xe3ec2cbb
xor eax, r10d
and eax, edx
or eax, 0x9f8cbc2
mov r10d, 0x1653d58
xor edx, edx
div r10d
mov edx, eax
mov rax, qword [rbp + 0x60]
mov dword [rbp - 0x3c], edx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
lea rdx, [rbp + 0x7f]
sub rsp, 0x20
call fcn.140039870
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x3c]
mov qword [rbp - 0x38], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x29], cl
cmp eax, 0x631814a3
jae 0x1400fc810
mov al, byte [rbp - 0x29]
test al, 1
jne 0x1400fc8e0
jmp 0x1400fccb8
mov ecx, 0x62f
sub rsp, 0x20
call fcn.140066656
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x1400fccb8
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x48]
cmp rax, rcx
jne 0x1400fca7e
mov ecx, dword [0x1402071a0]
or ecx, dword [0x1402071a4]
mov eax, ecx
and eax, 0x36a3ecda
xor ecx, 0x36a3ecda
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x78670b7a
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x40881c70
xor r8d, 0xbf77e38f
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x78670b7a
or eax, 0x78670b7a
imul eax, edx
add eax, ecx
imul eax, eax, 0xd17bd709
mov ecx, 0x677bf10f
xor ecx, 0x180bedcb
cmp eax, ecx
jae 0x1400fcf07
mov eax, dword [0x1402071a8]
xor eax, 0x3cf85b96
or eax, dword [0x1402071ac]
mov ecx, 0x1e30e8ed
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x873a019b
mov r8d, 0x16bd1706
xor r8d, 0x9187169d
mov ecx, 0xda1d8522
xor ecx, 0x25e27add
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x53e47027
xor r8d, 0xd4de71bc
mov edx, eax
and edx, r8d
or eax, 0x873a019b
imul eax, edx
add eax, ecx
and eax, 0xd042eb85
mov dword [rbp - 0x4c], eax
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140014320
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140216ed8]
mov qword [rcx], rax
lea rax, [0x140215ca8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140215cd8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140215ce0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140215ca8]
lea r8, [0x140215cb7]
lea r9, [0x140215cca]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x297f2405
call fcn.1400139e0
mov eax, dword [rbp - 0x4c]
add rsp, 0x30
cmp eax, 0xf32665d8
jae 0x1400fcf07
jmp 0x1400fccb8
mov rcx, qword [rbp + 0x48]
mov dl, byte [rbp + 0x7f]
sub rsp, 0x20
call fcn.1400fac50
add rsp, 0x20
mov ecx, 0x308
sub rsp, 0x20
call fcn.140066656
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x58], rcx
mov al, byte [rax]
mov cl, 0xfb
xor cl, 0xfb
cmp al, cl
jne 0x1400fccb8
mov eax, dword [0x1402071b0]
xor eax, 0xa190853c
xor edx, edx
div dword [0x1402071b4]
mov ecx, 0xccf0f27a
xor ecx, 0xb68e1381
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xc524c2ec
xor edx, 0x3adb3d13
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf3a3d05f
or eax, edx
mov edx, 0x1ad7a17a
xor edx, 0xe9747125
mov r8d, 0xaf9d0c02
xor r8d, 0x5c3edc5d
and edx, r8d
xor edx, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0x90871b0f
xor r8d, 0x6f78e4f0
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x6fd50e48
xor ecx, 0x76429078
xor edx, edx
div ecx
mov ecx, 0xadaae048
xor ecx, 0x225697c9
cmp eax, ecx
je 0x1400fcf10
mov r8, qword [rbp - 0x58]
mov r9, qword [rbp + 0x20]
mov eax, dword [0x1402071b8]
xor edx, edx
div dword [0x1402071bc]
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x80d2046d
and ecx, 0x80d2046d
xor ecx, 0xffffffff
mov edx, 0xb58765bc
xor edx, 0x4a789a43
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xd33c24ec
add ecx, eax
xor eax, eax
sub eax, ecx
add eax, 0x5233f80a
add eax, 0xf03e59eb
sub eax, 0x5233f80a
movabs rcx, 0x5887061cdd0b6e1b
mov rdx, r8
add rdx, rcx
add rdx, r9
movabs rcx, 0xd2557ffeb1dcb381
movabs r10, 0x8ad279e26cd7dd9a
xor rcx, r10
sub rdx, rcx
mov qword [rbp - 0x68], rdx
mov rcx, rdx
xor rcx, r9
xor rdx, r8
movabs r8, 0xcdedfb644f03f9b6
movabs r9, 0x3212049bb0fc0649
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0x991bcc39ff641c20
xor r8, r9
or rcx, rdx
movabs rdx, 0xd44be8036729646c
movabs r9, 0x4d50243a984d784c
xor rdx, r9
or rdx, r8
movabs r8, 0x856bcf4cb3356b95
movabs r9, 0x7a9430b34cca946a
xor r8, r9
xor rcx, r8
and rcx, rdx
movabs rdx, 0x108cc911f771401c
movabs r8, 0x108cc911f771401c
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rbp - 0x59], cl
cmp eax, 0x5277f566
jae 0x1400fcf10
mov al, byte [rbp - 0x59]
test al, 1
jne 0x1400fccab
jmp 0x1400fcc9e
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x70], rax
jmp 0x1400fccff
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x1400fcee8
jmp 0x1400fcee8
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x1400fcee8
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp + 0x10]
mov dl, byte [rax]
sub rsp, 0x20
call fcn.1400fac50
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp - 0x70], rax
mov r8, qword [rbp - 0x70]
movabs rcx, 0xdf38843eeb15f8ef
mov rax, r8
add rax, rcx
add rax, 1
movabs rcx, 0xdf38843eeb15f8ef
sub rax, rcx
xor r8, 0xffffffffffffffff
mov rcx, rax
xor rcx, 0xffffffffffffffff
mov rdx, rax
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs r9, 0xe96d9e77eb097d00
movabs rdx, 0x1692618814f682ff
xor r9, rdx
mov rdx, r8
xor rdx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
mov qword [rbp + 0x38], rax
jge 0x1400fc419
mov ecx, dword [0x1402071c0]
mov edx, dword [0x1402071c4]
mov r8d, 0xbcf6527c
xor r8d, 0x4309ad83
mov eax, ecx
xor eax, r8d
mov r9d, 0x17363b69
xor r9d, 0xe8c9c496
mov r8d, ecx
xor r8d, r9d
and eax, r8d
mov r8d, edx
or r8d, r8d
mov r9d, 0x71f46cd3
xor r9d, 0x8e0b932c
xor r8d, r9d
or eax, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xc2cb6c31
xor edx, edx
div ecx
mov r8d, 0x30fbeca6
xor r8d, 0xc48265ad
mov ecx, 0xc97da289
xor ecx, 0x36825d76
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xd569499a
xor r8d, 0x2a96b665
xor ecx, r8d
imul ecx, edx
mov r8d, 0x17a6bfaf
xor r8d, 0xe3df36a4
mov edx, eax
and edx, r8d
mov r8d, 0x9704b4f5
xor r8d, 0x637d3dfe
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0xffffffff
xor edx, 0x91085af2
mov ecx, eax
and ecx, edx
mov r8d, 0xed02ba75
xor r8d, 0x7c0ae087
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0x2cc27045
jbe 0x1400fcf19
mov ecx, dword [0x1402071c8]
xor ecx, 0xeb12640e
mov eax, dword [0x1402071cc]
xor eax, 0x23911fa7
add ecx, 0xbed0db95
add ecx, eax
mov eax, 0x4dbf5f62
xor eax, 0xf36f84f7
sub ecx, eax
and ecx, 0xb6b3f0dd
and ecx, 0x5b70dae9
mov edx, 0xe1e45673
xor edx, 0x830a88ea
mov eax, ecx
and eax, edx
or ecx, 0x62eede99
add eax, ecx
mov dword [rbp - 0x74], eax
mov eax, 0xa52ae4b5
xor eax, 0xb5d74c63
mov dword [rbp - 0x78], eax
sub rsp, 0x20
call fcn.140007f57
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, ecx
jb 0x1400fce6a
jmp 0x1400fcee8
add byte [rax], al
add byte [rax], al
mov rax, qword [rbp + 0x50]
lea rsp, [rbp + 0x80]
pop rbp
ret
loopne 0x1400fcee4
sub edi, ebx
jmp 0x1400fc5a0
cwde
rcr dword ds:[rdx - 0x6f617], 0xff
sbb al, cl
jb 0x1400fcf1c
jmp 0x1400fc987
cmc
cmp eax, 0x49e9ef1c
cld
invalid
stosb byte [rdi], al
movabs al, byte [0x66ffffff48e924ce]
nop word cs:[rax + rax]
and al, 0xe9
invalid