Function at 0x14009c479
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 0x14009cb16
lea r12, [0x140000000]
lea r13, str.TRUE
nop
mov rdx, rcx
mov r8, rax
lea rcx, [rbp - 0x40]
call fcn.14009ce00
mov qword [rbp - 0x48], rax
mov rcx, rax
test rax, rax
je case.0x14009c613.10
mov rdx, qword [rbp - 0x38]
mov rbx, qword [rbp - 0x30]
cmp rdx, rbx
jae 0x14009cb05
test rdx, rdx
je case.0x14009c613.10
test rbx, rbx
je case.0x14009c613.10
cmp rdx, rbx
jae case.0x14009c613.10
movzx ecx, byte [rdx]
test cl, cl
je case.0x14009c613.10
mov rax, rbx
sub rax, rdx
cmp rax, 0x40000
ja case.0x14009c613.10
movzx eax, cl
lea r10, [rdx + 1]
and al, 0x1f
cmp al, 0x1f
je case.0x14009c613.10
cmp r10, rbx
jae case.0x14009c613.10
movzx edx, byte [r10]
inc r10
test dl, dl
js 0x14009bf85
mov ecx, edx
jmp 0x14009bff9
and dl, 0x7f
jne 0x14009bfd0
test cl, 0x20
je case.0x14009c613.10
mov r11, r10
cmp r10, rbx
jae case.0x14009c613.10
cmp byte [r10], 0
je 0x14009bfc5
mov r8, rbx
lea rcx, [rbp - 0x20]
mov rdx, r10
call fcn.14009ce00
mov r10, rax
test rax, rax
je case.0x14009c613.10
cmp rax, rbx
jb 0x14009bf97
mov rax, 0xffffffffffffffff
jmp 0x14009cb19
cmp r10, rbx
jae case.0x14009c613.10
lea rax, [r10 + 1]
jmp 0x14009c011
mov rcx, rbx
movzx eax, dl
sub rcx, r10
cmp rax, rcx
ja case.0x14009c613.10
xor ecx, ecx
test ecx, 0xff000000
jne case.0x14009c613.10
movzx eax, byte [r10]
inc r10
shl ecx, 8
or ecx, eax
add dl, 0xff
jne 0x14009bfe0
mov rax, rbx
mov r8d, ecx
sub rax, r10
cmp r8, rax
ja case.0x14009c613.10
lea rax, [rcx + r10]
mov r11, r10
mov r10, rax
mov qword [rbp - 0x50], rax
test rax, rax
je case.0x14009c613.10
mov r8, r10
lea rcx, [rsp + 0x70]
mov rdx, r11
call fcn.14009ce00
test rax, rax
je case.0x14009c613.10
mov r8, r10
lea rcx, [rbp - 0x70]
mov rdx, rax
call fcn.14009ce00
test rax, rax
je case.0x14009c613.10
cmp byte [rbp - 0x76], 0
jne case.0x14009c613.10
movzx esi, byte [rbp - 0x77]
lea eax, [rsi - 1]
cmp eax, 0x1d
ja case.0x14009c613.10
cdqe
movzx eax, byte [r12 + rax + 0x9cb58]
mov ecx, dword [r12 + rax*4 + 0x9cb30]
add rcx, r12
jmp rcx
mov rax, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x78]
sub rax, rdx
cmp rax, 1
je 0x14009c092
xor esi, esi
jmp 0x14009c53f
cmp byte [rdx], 0
lea rcx, str.FALSE
cmovne rcx, r13
call qword [str.r8_n_]
mov rsi, rax
jmp 0x14009c53f
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x78]
mov rax, rdx
sub rax, rcx
jne 0x14009c0c6
xor esi, esi
jmp 0x14009c53f
cmp rax, 4
jbe 0x14009c0d9
call fcn.14009cf30
mov rsi, rax
jmp 0x14009c53f
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 0x14009c0f0
cmp r8d, 0xa
lea rax, [0x1400c47c0]
lea rdx, [0x1400a7cf4]
cmovae rdx, rax
lea rcx, str._s_lx
call fcn.140057fc0
mov rsi, rax
jmp 0x14009c53f
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x80]
inc rcx
cmp rcx, rdx
jbe 0x14009c14d
xor esi, esi
jmp 0x14009c53f
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x78]
call fcn.14009cf30
mov rsi, rax
jmp 0x14009c53f
lea rcx, [0x1400a7cf4]
call qword [str.r8_n_]
mov rsi, rax
jmp 0x14009c53f
mov rdx, qword [rbp - 0x80]
mov r8b, 1
mov rcx, qword [rsp + 0x78]
call fcn.14009b420
mov rsi, rax
jmp 0x14009c53f
mov rdi, qword [rsp + 0x78]
mov r11, qword [rbp - 0x80]
mov r8, rdi
cmp rdi, r11
jae 0x14009c1b2
nop dword [rax]
movzx eax, byte [r8]
sub al, 0x30
cmp al, 9
ja 0x14009c1b2
inc r8
cmp r8, r11
jb 0x14009c1a0
lea rbx, [rdi + 0xa]
mov rax, r8
sub rax, rbx
je 0x14009c1cb
cmp rax, 2
je 0x14009c1d2
xor esi, esi
jmp 0x14009c53b
lea rbx, [0x1400c4804]
cmp r8, r11
jb 0x14009c1de
xor esi, esi
jmp 0x14009c53b
cmp byte [r8], 0x5a
jne 0x14009c1f4
lea r8, [0x1400c4808]
lea r11, [0x1400c480b]
jmp 0x14009c1f7
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.140057fc0
mov rsi, rax
jmp 0x14009c53b
mov r13, qword [rsp + 0x78]
lea r12, [0x1400a7cf4]
mov r14, qword [rbp - 0x80]
mov rdi, r13
cmp r13, r14
jae 0x14009c273
movzx eax, byte [rdi]
sub al, 0x30
cmp al, 9
ja 0x14009c273
inc rdi
cmp rdi, r14
jb 0x14009c262
mov rax, rdi
mov r9b, 0x30
sub rax, r13
sub rax, 0xc
je 0x14009c2a1
sub rax, 1
je 0x14009c29a
cmp rax, 1
je 0x14009c295
xor esi, esi
jmp 0x14009c529
movzx r9d, byte [rdi - 2]
movzx r8d, byte [rdi - 1]
jmp 0x14009c2a5
movzx r8d, r9b
xor esi, esi
mov rdx, rdi
cmp rdi, r14
jae 0x14009c318
movzx eax, byte [rdi]
sub al, 0x2c
test al, 0xfd
jne 0x14009c2f4
inc rdi
nop dword [rax + rax]
mov rcx, rdx
inc rdx
cmp rdx, r14
jae 0x14009c2d6
movzx eax, byte [rdx]
cmp al, 0x30
jl 0x14009c2d6
cmp al, 0x39
jle 0x14009c2c0
mov rsi, rdx
sub rsi, rdi
sub rsi, 1
je 0x14009c2f4
lea rax, [rcx - 1]
cmp byte [rax], 0x30
jne 0x14009c2f4
dec rax
sub rsi, 1
jne 0x14009c2e6
cmp rdx, r14
jae 0x14009c318
cmp byte [rdx], 0x5a
jne 0x14009c30e
lea rdx, str._GMT
lea r14, [0x1400c47d0]
jmp 0x14009c318
lea r12, [0x1400a8d44]
inc rdx
mov qword [rsp + 0x68], rdx
lea rax, [0x1400b79b8]
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, [0x1400a7cf4]
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.140057fc0
mov rsi, rax
jmp 0x14009c529
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.0x14009c3d3.13
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x9cb88]
mov ecx, dword [rdx + rax*4 + 0x9cb78]
add rcx, rdx
jmp rcx
mov r12d, 2
jmp case.0x14009c3d3.12
mov r12d, 4
xor edx, edx
mov ecx, r12d
mov rax, rdi
div rcx
test rdx, rdx
jne case.0x14009c3d3.13
mov rax, rdi
div rcx
movabs rcx, 0x3fffffffffffffff
cmp rax, rcx
ja case.0x14009c3d3.13
lea rcx, [rax*4 + 1]
call qword [fcn.1400a37a0]
mov r14, rax
test rax, rax
je case.0x14009c3d3.13
cmp esi, 0xc
jne 0x14009c44c
test rdi, rdi
je 0x14009c442
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.1400a372e
mov byte [rdi + r14], 0
jmp 0x14009c520
xor edi, edi
cmp rbx, r13
jae 0x14009c442
xor ecx, ecx
cmp r12d, 2
je 0x14009c471
cmp r12d, 4
jne 0x14009c47c
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 0x14009c4f5
mov edx, eax
cmp ecx, 0x800
jb 0x14009c4dc
cmp ecx, 0x10000
jb 0x14009c4c6
cmp ecx, 0x200000
jae 0x14009c50c
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 0x14009c453
mov byte [rdi + r14], 0
jmp 0x14009c520
mov rcx, r14
call qword [fcn.1400a379a]
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.0x14009c613.10
test r15, r15
je 0x14009c5a8
movsx ecx, byte [rsi]
mov rbx, rsi
call 0x140151103
int3
cmp byte [rsi], 0
je 0x14009c5cb
mov rcx, rsi
sub rcx, r15
cmp r15, rdi
jae 0x14009c5c1
movzx eax, byte [rcx + r15]
mov byte [r15 + r14], al
inc r15
cmp byte [rcx + r15], 0
jne 0x14009c5b3
mov rcx, rsi
call qword [fcn.1400a379a]
cmp r15, rdi
jae 0x14009c5de
mov byte [r15 + r14], 0x3d
inc r15
cmp byte [rbp - 0x56], 0
jne case.0x14009c613.10
movzx r14d, byte [rbp - 0x57]
lea eax, [r14 - 1]
cmp eax, 0x1d
ja case.0x14009c613.10
cdqe
movzx eax, byte [r12 + rax + 0x9cbc4]
mov ecx, dword [r12 + rax*4 + 0x9cb9c]
add rcx, r12
jmp rcx
mov rax, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x68]
sub rax, rdx
cmp rax, 1
je 0x14009c62d
xor edx, edx
jmp 0x14009cab0
cmp byte [rdx], 0
lea rcx, str.FALSE
cmovne rcx, r13
call qword [str.r8_n_]
mov rdx, rax
jmp 0x14009cab0
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x68]
mov rax, rdx
sub rax, rcx
jne 0x14009c660
xor edx, edx
jmp 0x14009cab0
cmp rax, 4
jbe 0x14009c673
call fcn.14009cf30
mov rdx, rax
jmp 0x14009cab0
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 0x14009c680
cmp r8d, 0xa
lea rax, [0x1400c47c0]
lea rdx, [0x1400a7cf4]
cmovae rdx, rax
lea rcx, str._s_lx
call fcn.140057fc0
mov rdx, rax
jmp 0x14009cab0
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x60]
inc rcx
cmp rcx, rdx
jbe 0x14009c6db
xor edx, edx
jmp 0x14009cab0
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x68]
call fcn.14009cf30
mov rdx, rax
jmp 0x14009cab0
lea rcx, [0x1400a7cf4]
call qword [str.r8_n_]
mov rdx, rax
jmp 0x14009cab0
mov rdx, qword [rbp - 0x60]
mov r8b, 1
mov rcx, qword [rbp - 0x68]
call fcn.14009b420
mov rdx, rax
jmp 0x14009cab0
mov rdi, qword [rbp - 0x68]
mov r11, qword [rbp - 0x60]
mov r8, rdi
cmp rdi, r11
jae 0x14009c737
movzx eax, byte [r8]
sub al, 0x30
cmp al, 9
ja 0x14009c737
inc r8
cmp r8, r11
jb 0x14009c725
lea rbx, [rdi + 0xa]
mov rax, r8
sub rax, rbx
je 0x14009c750
cmp rax, 2
je 0x14009c757
xor edx, edx
jmp 0x14009caac
lea rbx, [0x1400c4804]
cmp r8, r11
jb 0x14009c763
xor edx, edx
jmp 0x14009caac
cmp byte [r8], 0x5a
jne 0x14009c779
lea r8, [0x1400c4808]
lea r11, [0x1400c480b]
jmp 0x14009c77c
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.140057fc0
mov rdx, rax
jmp 0x14009caac
mov r13, qword [rbp - 0x68]
lea r12, [0x1400a7cf4]
mov r14, qword [rbp - 0x60]
mov rdi, r13
cmp r13, r14
jae 0x14009c7f7
movzx eax, byte [rdi]
sub al, 0x30
cmp al, 9
ja 0x14009c7f7
inc rdi
cmp rdi, r14
jb 0x14009c7e6
mov rax, rdi
mov r9b, 0x30
sub rax, r13
sub rax, 0xc
je 0x14009c825
sub rax, 1
je 0x14009c81e
cmp rax, 1
je 0x14009c819
xor edx, edx
jmp 0x14009caa5
movzx r9d, byte [rdi - 2]
movzx r8d, byte [rdi - 1]
jmp 0x14009c829
movzx r8d, r9b
xor esi, esi
mov rdx, rdi
cmp rdi, r14
jae 0x14009c898
movzx eax, byte [rdi]
sub al, 0x2c
test al, 0xfd
jne 0x14009c874
inc rdi
nop
mov rcx, rdx
inc rdx
cmp rdx, r14
jae 0x14009c856
movzx eax, byte [rdx]
cmp al, 0x30
jl 0x14009c856
cmp al, 0x39
jle 0x14009c840
mov rsi, rdx
sub rsi, rdi
sub rsi, 1
je 0x14009c874
lea rax, [rcx - 1]
cmp byte [rax], 0x30
jne 0x14009c874
dec rax
sub rsi, 1
jne 0x14009c866
cmp rdx, r14
jae 0x14009c898
cmp byte [rdx], 0x5a
jne 0x14009c88e
lea rdx, str._GMT
lea r14, [0x1400c47d0]
jmp 0x14009c898
lea r12, [0x1400a8d44]
inc rdx
mov qword [rsp + 0x68], rdx
lea rax, [0x1400b79b8]
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, [0x1400a7cf4]
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.140057fc0
mov rdx, rax
jmp 0x14009caa5
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.0x14009c953.13
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x9cbf4]
mov ecx, dword [rdx + rax*4 + 0x9cbe4]
add rcx, rdx
jmp rcx
mov r12d, 2
jmp case.0x14009c953.12
mov r12d, 4
xor edx, edx
mov ecx, r12d
mov rax, rdi
div rcx
test rdx, rdx
jne case.0x14009c953.13
mov rax, rdi
div rcx
movabs rcx, 0x3fffffffffffffff
cmp rax, rcx
ja case.0x14009c953.13
lea rcx, [rax*4 + 1]
call qword [fcn.1400a37a0]
mov rsi, rax
test rax, rax
je case.0x14009c953.13
cmp r14d, 0xc
jne 0x14009c9cc
test rdi, rdi
je 0x14009c9c3
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.1400a372e
mov byte [rdi + rsi], 0
jmp 0x14009ca9c
xor edi, edi
cmp rbx, r13
jae 0x14009c9c3
xor eax, eax
cmp r12d, 2
je 0x14009c9f1
cmp r12d, 4
jne 0x14009c9fc
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 0x14009ca73
mov edx, ecx
cmp eax, 0x800
jb 0x14009ca5a
cmp eax, 0x10000
jb 0x14009ca43
cmp eax, 0x200000
jae 0x14009ca88
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 0x14009c9d3
mov byte [rdi + rsi], 0
jmp 0x14009ca9c
mov rcx, rsi
call qword [fcn.1400a379a]
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.0x14009c613.10
cmp byte [rdx], 0
mov rcx, rdx
je 0x14009cadc
mov r8, qword [rbp + 0x50]
cmp r15, rdi
jae 0x14009cad1
movzx eax, byte [rcx]
mov byte [r15 + r8], al
inc rcx
inc r15
cmp byte [rcx], 0
jne 0x14009cac5
mov rcx, rdx
call qword [fcn.1400a379a]
mov rdx, qword [rbp - 0x50]
lea r13, str.TRUE
mov rbx, qword [rbp - 0x30]
mov r14, qword [rbp + 0x50]
cmp rdx, rbx
jb 0x14009bf40
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x10]
cmp rcx, rax
jb 0x14009bf10
mov rax, r15
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret