Function at 0x14009eb55
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 8]
sub rsp, 0x108
mov rax, qword [r8 + 0x10]
mov r14, rcx
mov rcx, qword [r8 + 8]
xor r15d, r15d
mov rdi, rdx
cmp rcx, rax
jae 0x14009ec76
lea r12, [0x140000000]
lea r13, str.TRUE
nop
mov rdx, rcx
mov r8, rax
lea rcx, [rbp - 0x40]
call fcn.14009ef60
mov qword [rbp - 0x48], rax
mov rcx, rax
test rax, rax
je case.0x14009e773.10
mov rdx, qword [rbp - 0x38]
mov rbx, qword [rbp - 0x30]
cmp rdx, rbx
jae 0x14009ec65
test rdx, rdx
je case.0x14009e773.10
test rbx, rbx
je case.0x14009e773.10
cmp rdx, rbx
jae case.0x14009e773.10
movzx ecx, byte [rdx]
test cl, cl
je case.0x14009e773.10
mov rax, rbx
sub rax, rdx
cmp rax, 0x40000
ja case.0x14009e773.10
movzx eax, cl
lea r10, [rdx + 1]
and al, 0x1f
cmp al, 0x1f
je case.0x14009e773.10
cmp r10, rbx
jae case.0x14009e773.10
movzx edx, byte [r10]
inc r10
test dl, dl
js 0x14009e0e5
mov ecx, edx
jmp 0x14009e159
and dl, 0x7f
jne 0x14009e130
test cl, 0x20
je case.0x14009e773.10
mov r11, r10
cmp r10, rbx
jae case.0x14009e773.10
cmp byte [r10], 0
je 0x14009e125
mov r8, rbx
lea rcx, [rbp - 0x20]
mov rdx, r10
call fcn.14009ef60
mov r10, rax
test rax, rax
je case.0x14009e773.10
cmp rax, rbx
jb 0x14009e0f7
mov rax, 0xffffffffffffffff
jmp 0x14009ec79
cmp r10, rbx
jae case.0x14009e773.10
lea rax, [r10 + 1]
jmp 0x14009e171
mov rcx, rbx
movzx eax, dl
sub rcx, r10
cmp rax, rcx
ja case.0x14009e773.10
xor ecx, ecx
test ecx, 0xff000000
jne case.0x14009e773.10
movzx eax, byte [r10]
inc r10
shl ecx, 8
or ecx, eax
add dl, 0xff
jne 0x14009e140
mov rax, rbx
mov r8d, ecx
sub rax, r10
cmp r8, rax
ja case.0x14009e773.10
lea rax, [rcx + r10]
mov r11, r10
mov r10, rax
mov qword [rbp - 0x50], rax
test rax, rax
je case.0x14009e773.10
mov r8, r10
lea rcx, [rsp + 0x70]
mov rdx, r11
call fcn.14009ef60
test rax, rax
je case.0x14009e773.10
mov r8, r10
lea rcx, [rbp - 0x70]
mov rdx, rax
call fcn.14009ef60
test rax, rax
je case.0x14009e773.10
cmp byte [rbp - 0x76], 0
jne case.0x14009e773.10
movzx esi, byte [rbp - 0x77]
lea eax, [rsi - 1]
cmp eax, 0x1d
ja case.0x14009e773.10
cdqe
movzx eax, byte [r12 + rax + 0x9ecb8]
mov ecx, dword [r12 + rax*4 + 0x9ec90]
add rcx, r12
jmp rcx
mov rax, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x78]
sub rax, rdx
cmp rax, 1
je 0x14009e1f2
xor esi, esi
jmp 0x14009e69f
cmp byte [rdx], 0
lea rcx, str.FALSE
cmovne rcx, r13
call qword [case.0x140060a29.0]
mov rsi, rax
jmp 0x14009e69f
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x78]
mov rax, rdx
sub rax, rcx
jne 0x14009e226
xor esi, esi
jmp 0x14009e69f
cmp rax, 4
jbe 0x14009e239
call fcn.14009f090
mov rsi, rax
jmp 0x14009e69f
movsx r8d, byte [rcx]
sar r8d, 0x1f
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
inc rcx
shl r8d, 8
or r8d, eax
cmp rcx, rdx
jb 0x14009e250
cmp r8d, 0xa
lea rax, [0x1400c64c0]
lea rdx, [0x1400a9d94]
cmovae rdx, rax
lea rcx, str._s_lx
call fcn.14005a120
mov rsi, rax
jmp 0x14009e69f
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x80]
inc rcx
cmp rcx, rdx
jbe 0x14009e2ad
xor esi, esi
jmp 0x14009e69f
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x78]
call fcn.14009f090
mov rsi, rax
jmp 0x14009e69f
lea rcx, [0x1400a9d94]
call qword [case.0x140060a29.0]
mov rsi, rax
jmp 0x14009e69f
mov rdx, qword [rbp - 0x80]
mov r8b, 1
mov rcx, qword [rsp + 0x78]
call fcn.14009d580
mov rsi, rax
jmp 0x14009e69f
mov rdi, qword [rsp + 0x78]
mov r11, qword [rbp - 0x80]
mov r8, rdi
cmp rdi, r11
jae 0x14009e312
nop dword [rax]
movzx eax, byte [r8]
sub al, 0x30
cmp al, 9
ja 0x14009e312
inc r8
cmp r8, r11
jb 0x14009e300
lea rbx, [rdi + 0xa]
mov rax, r8
sub rax, rbx
je 0x14009e32b
cmp rax, 2
je 0x14009e332
xor esi, esi
jmp 0x14009e69b
lea rbx, [0x1400c6504]
cmp r8, r11
jb 0x14009e33e
xor esi, esi
jmp 0x14009e69b
cmp byte [r8], 0x5a
jne 0x14009e354
lea r8, [0x1400c6508]
lea r11, [0x1400c650b]
jmp 0x14009e357
inc r8
mov qword [rsp + 0x48], r8
lea rax, [rdi + 8]
sub r11, r8
lea rcx, [rdi + 6]
mov qword [rsp + 0x40], r11
lea r10, [rdi + 4]
xor edx, edx
mov qword [rsp + 0x38], rbx
cmp byte [rdi], 0x35
lea r9, [rdi + 2]
mov qword [rsp + 0x30], rax
mov r8, rdi
mov qword [rsp + 0x28], rcx
setl dl
add edx, 0x13
mov qword [rsp + 0x20], r10
lea rcx, str._u_.2s__.2s__.2s__.2s:_.2s:_.2s__.s
call fcn.14005a120
mov rsi, rax
jmp 0x14009e69b
mov r13, qword [rsp + 0x78]
lea r12, [0x1400a9d94]
mov r14, qword [rbp - 0x80]
mov rdi, r13
cmp r13, r14
jae 0x14009e3d3
movzx eax, byte [rdi]
sub al, 0x30
cmp al, 9
ja 0x14009e3d3
inc rdi
cmp rdi, r14
jb 0x14009e3c2
mov rax, rdi
mov r9b, 0x30
sub rax, r13
sub rax, 0xc
je 0x14009e401
sub rax, 1
je 0x14009e3fa
cmp rax, 1
je 0x14009e3f5
xor esi, esi
jmp 0x14009e689
movzx r9d, byte [rdi - 2]
movzx r8d, byte [rdi - 1]
jmp 0x14009e405
movzx r8d, r9b
xor esi, esi
mov rdx, rdi
cmp rdi, r14
jae 0x14009e478
movzx eax, byte [rdi]
sub al, 0x2c
test al, 0xfd
jne 0x14009e454
inc rdi
nop dword [rax + rax]
mov rcx, rdx
inc rdx
cmp rdx, r14
jae 0x14009e436
movzx eax, byte [rdx]
cmp al, 0x30
jl 0x14009e436
cmp al, 0x39
jle 0x14009e420
mov rsi, rdx
sub rsi, rdi
sub rsi, 1
je 0x14009e454
lea rax, [rcx - 1]
cmp byte [rax], 0x30
jne 0x14009e454
dec rax
sub rsi, 1
jne 0x14009e446
cmp rdx, r14
jae 0x14009e478
cmp byte [rdx], 0x5a
jne 0x14009e46e
lea rdx, str._GMT
lea r14, [0x1400c64d0]
jmp 0x14009e478
lea r12, [0x1400aaddc]
inc rdx
mov qword [rsp + 0x68], rdx
lea rax, [0x1400b96b8]
sub r14, rdx
movsx ecx, r9b
mov qword [rsp + 0x60], r14
lea r10, [r13 + 0xa]
mov qword [rsp + 0x58], r12
lea r11, [r13 + 8]
mov qword [rsp + 0x50], rdi
lea rbx, [0x1400a9d94]
mov qword [rsp + 0x48], rsi
lea r9, [r13 + 6]
test rsi, rsi
mov rdx, r13
cmovne rbx, rax
movsx eax, r8b
mov qword [rsp + 0x40], rbx
lea r8, [r13 + 4]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
lea rcx, str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], r11
call fcn.14005a120
mov rsi, rax
jmp 0x14009e689
mov r13, qword [rbp - 0x80]
lea eax, [rsi - 0xc]
mov rbx, qword [rsp + 0x78]
mov rdi, r13
sub rdi, rbx
mov qword [rbp + 0x68], 0
mov r12d, 1
cmp eax, 0x12
ja case.0x14009e533.13
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x9ece8]
mov ecx, dword [rdx + rax*4 + 0x9ecd8]
add rcx, rdx
jmp rcx
mov r12d, 2
jmp case.0x14009e533.12
mov r12d, 4
xor edx, edx
mov ecx, r12d
mov rax, rdi
div rcx
test rdx, rdx
jne case.0x14009e533.13
mov rax, rdi
div rcx
movabs rcx, 0x3fffffffffffffff
cmp rax, rcx
ja case.0x14009e533.13
lea rcx, [rax*4 + 1]
call qword [fcn.1400a591a]
mov r14, rax
test rax, rax
je case.0x14009e533.13
cmp esi, 0xc
jne 0x14009e5ac
test rdi, rdi
je 0x14009e5a2
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.1400a58a8
mov byte [rdi + r14], 0
jmp 0x14009e680
xor edi, edi
cmp rbx, r13
jae 0x14009e5a2
xor ecx, ecx
cmp r12d, 2
je 0x14009e5d1
cmp r12d, 4
jne 0x14009e5dc
movzx ecx, byte [rbx]
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
add rbx, 2
movzx eax, byte [rbx]
shl ecx, 8
or ecx, eax
inc rbx
movzx eax, byte [rbx]
inc rbx
shl ecx, 8
or ecx, eax
mov eax, 1
cmp ecx, 0x80
jb 0x14009e655
mov edx, eax
cmp ecx, 0x800
jb 0x14009e63c
cmp ecx, 0x10000
jb 0x14009e626
cmp ecx, 0x200000
jae 0x14009e66c
movzx eax, cl
mov edx, 2
and al, 0x3f
bts ecx, 0x16
or al, 0x80
mov byte [rdi + r14 + 3], al
shr ecx, 6
movzx eax, cl
bts ecx, 0x11
and al, 0x3f
shr ecx, 6
or al, 0x80
mov byte [rdi + r14 + 2], al
inc rdx
movzx eax, cl
or ecx, 0x3000
and al, 0x3f
or al, 0x80
mov byte [rdi + r14 + 1], al
lea rax, [rdx + 1]
shr ecx, 6
mov byte [rdi + r14], cl
add rdi, rax
cmp rbx, r13
jb 0x14009e5b3
mov byte [rdi + r14], 0
jmp 0x14009e680
mov rcx, r14
call qword [fcn.1400a5914]
mov r14, qword [rbp + 0x68]
mov rdi, 0xffffffffffffffff
xor esi, esi
test rdi, rdi
cmovns rsi, r14
mov r14, qword [rbp + 0x50]
lea r13, str.TRUE
lea r12, [0x140000000]
mov rdi, qword [rbp + 0x58]
test rsi, rsi
je case.0x14009e773.10
test r15, r15
je 0x14009e708
movsx ecx, byte [rsi]
mov rbx, rsi
call 0x14011428d
int3
cmp byte [rsi], 0
je 0x14009e72b
mov rcx, rsi
sub rcx, r15
cmp r15, rdi
jae 0x14009e721
movzx eax, byte [rcx + r15]
mov byte [r15 + r14], al
inc r15
cmp byte [rcx + r15], 0
jne 0x14009e713
mov rcx, rsi
call qword [fcn.1400a5914]
cmp r15, rdi
jae 0x14009e73e
mov byte [r15 + r14], 0x3d
inc r15
cmp byte [rbp - 0x56], 0
jne case.0x14009e773.10
movzx r14d, byte [rbp - 0x57]
lea eax, [r14 - 1]
cmp eax, 0x1d
ja case.0x14009e773.10
cdqe
movzx eax, byte [r12 + rax + 0x9ed24]
mov ecx, dword [r12 + rax*4 + 0x9ecfc]
add rcx, r12
jmp rcx
mov rax, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x68]
sub rax, rdx
cmp rax, 1
je 0x14009e78d
xor edx, edx
jmp 0x14009ec10
cmp byte [rdx], 0
lea rcx, str.FALSE
cmovne rcx, r13
call qword [case.0x140060a29.0]
mov rdx, rax
jmp 0x14009ec10
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x68]
mov rax, rdx
sub rax, rcx
jne 0x14009e7c0
xor edx, edx
jmp 0x14009ec10
cmp rax, 4
jbe 0x14009e7d3
call fcn.14009f090
mov rdx, rax
jmp 0x14009ec10
movsx r8d, byte [rcx]
sar r8d, 0x1f
nop dword [rax + rax]
movzx eax, byte [rcx]
inc rcx
shl r8d, 8
or r8d, eax
cmp rcx, rdx
jb 0x14009e7e0
cmp r8d, 0xa
lea rax, [0x1400c64c0]
lea rdx, [0x1400a9d94]
cmovae rdx, rax
lea rcx, str._s_lx
call fcn.14005a120
mov rdx, rax
jmp 0x14009ec10
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x60]
inc rcx
cmp rcx, rdx
jbe 0x14009e83b
xor edx, edx
jmp 0x14009ec10
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x68]
call fcn.14009f090
mov rdx, rax
jmp 0x14009ec10
lea rcx, [0x1400a9d94]
call qword [case.0x140060a29.0]
mov rdx, rax
jmp 0x14009ec10
mov rdx, qword [rbp - 0x60]
mov r8b, 1
mov rcx, qword [rbp - 0x68]
call fcn.14009d580
mov rdx, rax
jmp 0x14009ec10
mov rdi, qword [rbp - 0x68]
mov r11, qword [rbp - 0x60]
mov r8, rdi
cmp rdi, r11
jae 0x14009e897
movzx eax, byte [r8]
sub al, 0x30
cmp al, 9
ja 0x14009e897
inc r8
cmp r8, r11
jb 0x14009e885
lea rbx, [rdi + 0xa]
mov rax, r8
sub rax, rbx
je 0x14009e8b0
cmp rax, 2
je 0x14009e8b7
xor edx, edx
jmp 0x14009ec0c
lea rbx, [0x1400c6504]
cmp r8, r11
jb 0x14009e8c3
xor edx, edx
jmp 0x14009ec0c
cmp byte [r8], 0x5a
jne 0x14009e8d9
lea r8, [0x1400c6508]
lea r11, [0x1400c650b]
jmp 0x14009e8dc
inc r8
mov qword [rsp + 0x48], r8
lea rax, [rdi + 8]
sub r11, r8
lea rcx, [rdi + 6]
mov qword [rsp + 0x40], r11
lea r10, [rdi + 4]
xor edx, edx
mov qword [rsp + 0x38], rbx
cmp byte [rdi], 0x35
lea r9, [rdi + 2]
mov qword [rsp + 0x30], rax
mov r8, rdi
mov qword [rsp + 0x28], rcx
setl dl
add edx, 0x13
mov qword [rsp + 0x20], r10
lea rcx, str._u_.2s__.2s__.2s__.2s:_.2s:_.2s__.s
call fcn.14005a120
mov rdx, rax
jmp 0x14009ec0c
mov r13, qword [rbp - 0x68]
lea r12, [0x1400a9d94]
mov r14, qword [rbp - 0x60]
mov rdi, r13
cmp r13, r14
jae 0x14009e957
movzx eax, byte [rdi]
sub al, 0x30
cmp al, 9
ja 0x14009e957
inc rdi
cmp rdi, r14
jb 0x14009e946
mov rax, rdi
mov r9b, 0x30
sub rax, r13
sub rax, 0xc
je 0x14009e985
sub rax, 1
je 0x14009e97e
cmp rax, 1
je 0x14009e979
xor edx, edx
jmp 0x14009ec05
movzx r9d, byte [rdi - 2]
movzx r8d, byte [rdi - 1]
jmp 0x14009e989
movzx r8d, r9b
xor esi, esi
mov rdx, rdi
cmp rdi, r14
jae 0x14009e9f8
movzx eax, byte [rdi]
sub al, 0x2c
test al, 0xfd
jne 0x14009e9d4
inc rdi
nop
mov rcx, rdx
inc rdx
cmp rdx, r14
jae 0x14009e9b6
movzx eax, byte [rdx]
cmp al, 0x30
jl 0x14009e9b6
cmp al, 0x39
jle 0x14009e9a0
mov rsi, rdx
sub rsi, rdi
sub rsi, 1
je 0x14009e9d4
lea rax, [rcx - 1]
cmp byte [rax], 0x30
jne 0x14009e9d4
dec rax
sub rsi, 1
jne 0x14009e9c6
cmp rdx, r14
jae 0x14009e9f8
cmp byte [rdx], 0x5a
jne 0x14009e9ee
lea rdx, str._GMT
lea r14, [0x1400c64d0]
jmp 0x14009e9f8
lea r12, [0x1400aaddc]
inc rdx
mov qword [rsp + 0x68], rdx
lea rax, [0x1400b96b8]
sub r14, rdx
movsx ecx, r9b
mov qword [rsp + 0x60], r14
lea r10, [r13 + 0xa]
mov qword [rsp + 0x58], r12
lea r11, [r13 + 8]
mov qword [rsp + 0x50], rdi
lea rbx, [0x1400a9d94]
mov qword [rsp + 0x48], rsi
lea r9, [r13 + 6]
test rsi, rsi
mov rdx, r13
cmovne rbx, rax
movsx eax, r8b
mov qword [rsp + 0x40], rbx
lea r8, [r13 + 4]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
lea rcx, str._.4s__.2s__.2s__.2s:_.2s:_c_c_s_.s_s_.s
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], r11
call fcn.14005a120
mov rdx, rax
jmp 0x14009ec05
mov r13, qword [rbp - 0x60]
lea eax, [r14 - 0xc]
mov rbx, qword [rbp - 0x68]
mov rdi, r13
sub rdi, rbx
mov qword [rbp + 0x68], 0
mov r12d, 1
cmp eax, 0x12
ja case.0x14009eab3.13
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x9ed54]
mov ecx, dword [rdx + rax*4 + 0x9ed44]
add rcx, rdx
jmp rcx
mov r12d, 2
jmp case.0x14009eab3.12
mov r12d, 4
xor edx, edx
mov ecx, r12d
mov rax, rdi
div rcx
test rdx, rdx
jne case.0x14009eab3.13
mov rax, rdi
div rcx
movabs rcx, 0x3fffffffffffffff
cmp rax, rcx
ja case.0x14009eab3.13
lea rcx, [rax*4 + 1]
call qword [fcn.1400a591a]
mov rsi, rax
test rax, rax
je case.0x14009eab3.13
cmp r14d, 0xc
jne 0x14009eb2c
test rdi, rdi
je 0x14009eb23
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.1400a58a8
mov byte [rdi + rsi], 0
jmp 0x14009ebfc
xor edi, edi
cmp rbx, r13
jae 0x14009eb23
xor eax, eax
cmp r12d, 2
je 0x14009eb51
cmp r12d, 4
jne 0x14009eb5c
movzx eax, byte [rbx]
movzx ecx, byte [rbx + 1]
shl eax, 8
or eax, ecx
add rbx, 2
movzx ecx, byte [rbx]
shl eax, 8
or eax, ecx
inc rbx
movzx ecx, byte [rbx]
inc rbx
shl eax, 8
or eax, ecx
mov ecx, 1
cmp eax, 0x80
jb 0x14009ebd3
mov edx, ecx
cmp eax, 0x800
jb 0x14009ebba
cmp eax, 0x10000
jb 0x14009eba3
cmp eax, 0x200000
jae 0x14009ebe8
movzx ecx, al
mov edx, 2
and cl, 0x3f
bts eax, 0x16
or cl, 0x80
mov byte [rdi + rsi + 3], cl
shr eax, 6
movzx ecx, al
bts eax, 0x11
and cl, 0x3f
shr eax, 6
or cl, 0x80
mov byte [rdi + rsi + 2], cl
inc rdx
movzx ecx, al
or eax, 0x3000
and cl, 0x3f
or cl, 0x80
mov byte [rdi + rsi + 1], cl
lea rcx, [rdx + 1]
shr eax, 6
mov byte [rdi + rsi], al
add rdi, rcx
cmp rbx, r13
jb 0x14009eb33
mov byte [rdi + rsi], 0
jmp 0x14009ebfc
mov rcx, rsi
call qword [fcn.1400a5914]
mov rsi, qword [rbp + 0x68]
mov rdi, 0xffffffffffffffff
xor edx, edx
test rdi, rdi
cmovns rdx, rsi
lea r12, [0x140000000]
mov rdi, qword [rbp + 0x58]
test rdx, rdx
je case.0x14009e773.10
cmp byte [rdx], 0
mov rcx, rdx
je 0x14009ec3c
mov r8, qword [rbp + 0x50]
cmp r15, rdi
jae 0x14009ec31
movzx eax, byte [rcx]
mov byte [r15 + r8], al
inc rcx
inc r15
cmp byte [rcx], 0
jne 0x14009ec25
mov rcx, rdx
call qword [fcn.1400a5914]
mov rdx, qword [rbp - 0x50]
lea r13, str.TRUE
mov rbx, qword [rbp - 0x30]
mov r14, qword [rbp + 0x50]
cmp rdx, rbx
jb 0x14009e0a0
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x10]
cmp rcx, rax
jb 0x14009e070
mov rax, r15
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret