Function at 0x140028000
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
movups xmmword [rsp + 0x80], xmm6
movups xmmword [rsp + 0x90], xmm8
mov rdi, qword [rcx]
mov r15, qword [rcx + 8]
mov qword [rdx], 0
lea r14, [rsp + 0x40]
lea rcx, [rdx + 0x10]
mov r12, rdx
mov qword [rdx + 8], 0
mov qword [rdx + 0x10], 0
mov qword [rdx + 0x18], 0
mov rdx, r14
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], r15
call fcn.14000cb10
mov r8d, 1
mov edx, 1
xor ecx, ecx
call fcn.14000a520
mov rdx, r14
mov rcx, r12
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], rax
call fcn.140011010
lea rax, [0x1400ad7b0]
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rax
test rdi, rdi
jle 0x140028258
movdqu xmm6, xmmword [0x1400ad690]
xor edx, edx
xor r13d, r13d
movzx ebx, byte [r15 + r13 + 8]
lea eax, [rbx - 0x20]
cmp al, 0x3d
ja case.0x1400280ee.1
lea rcx, [0x1400acfac]
movzx eax, al
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
test rdx, rdx
je 0x140028109
jle 0x140028a9c
mov rax, qword [rsp + 0x68]
cmp bl, byte [rax + 8]
jne 0x140028548
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.140009e30
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov byte [rdx + rax + 8], bl
add rax, 1
jo 0x140028d28
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x60], rax
mov byte [rdx + rax + 8], 0
mov rax, r13
xor edx, edx
add rax, 1
js 0x14002897d
cmp rax, r13
jb 0x14002897d
mov r13, rax
test rdx, rdx
jne 0x1400288a9
cmp rdi, r13
jle 0x1400288ce
test r13, r13
js 0x140028893
mov rdx, qword [rsp + 0x60]
jmp 0x1400280d0
lea rsi, [rsp + 0x50]
test rdx, rdx
jne 0x1400283f8
movsx edx, bl
mov rcx, r14
call fcn.14000e5c0
mov rdx, r14
mov rcx, rsi
call fcn.14000c3d0
mov edx, 0x25
mov rcx, r12
call fcn.140012de0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xff
jg 0x140028990
movzx edx, dl
mov rcx, r12
xor ebx, ebx
call fcn.140012de0
mov rsi, qword [rsp + 0x50]
test rsi, rsi
jg 0x140028200
jmp 0x1400285be
cmp rbp, rsi
jge 0x1400285be
mov rdx, qword [rsp + 0x50]
test rbp, rbp
js 0x1400285f8
cmp rdx, rbp
jle 0x1400285f8
mov rax, qword [rsp + 0x58]
mov rcx, r12
movzx edx, byte [rax + rbx + 8]
call fcn.140012de0
add rbx, 1
mov rbp, rbx
jo 0x1400285e8
cmp qword [rsp + 0x50], rsi
je 0x1400281e0
mov rcx, r14
movups xmmword [rsp + 0x40], xmm6
call fcn.1400043c0
mov rcx, qword [0x1400cfed0]
call fcn.14009d6d0
cmp byte [rax], 0
je 0x1400281e0
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140028258
test byte [rcx + 7], 0x40
je 0x140028538
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14002826c
test byte [rcx + 7], 0x40
je 0x140028528
test r15, r15
je 0x14002827c
test byte [r15 + 7], 0x40
je 0x1400284f8
movups xmm6, xmmword [rsp + 0x80]
movups xmm8, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rdx, rdx
jne 0x140028478
mov rax, r13
xor ebx, ebx
add rax, 1
js 0x140028d1e
cmp rax, r13
jb 0x140028d1e
mov rbp, rax
test rbx, rbx
jne 0x1400288a9
cmp rax, rdi
jge 0x1400282e8
test rax, rax
js 0x140028951
cmp byte [r15 + rax + 8], 0x27
je 0x140028610
lea rax, [0x1400ad7b0]
lea rsi, [rsp + 0x70]
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rax
jmp 0x14002835a
test rbp, rbp
js 0x1400286f0
movzx r13d, byte [r15 + rbp + 8]
cmp r13b, 0x27
je 0x140028721
mov edx, 1
mov rcx, rsi
call fcn.140009e30
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov byte [rdx + rax + 8], r13b
add rax, 1
jo 0x140028cd0
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x70], rax
mov byte [rdx + rax + 8], 0
add rbp, 1
cmp rbp, rdi
jl 0x140028308
mov edx, 8
mov ecx, 0x40
mov r13, rbp
call fcn.14000a460
lea rdx, str.TimeFormatParseError
lea r9, str.times.nim
mov rcx, rax
lea rax, [0x1400a8540]
lea r8, str.initTimeFormat
mov qword [rcx], rax
lea rax, [0x1400ad640]
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x18], 0x3a
mov qword [rcx + 8], 0
mov qword [rsp + 0x20], 0x6a1
call fcn.14000b630
mov rcx, qword [0x1400cfed0]
call fcn.14009d6d0
mov rsi, rax
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400283e3
test byte [rcx + 7], 0x40
je 0x1400286e0
cmp byte [rsi], 0
je 0x140028163
jmp 0x140028244
movdqu xmm2, xmmword [rsp + 0x60]
mov rdx, r14
mov rcx, rsi
lea rbp, [rsp + 0x60]
movups xmmword [rsp + 0x40], xmm2
call fcn.14000c3d0
mov rcx, rbp
call fcn.140008b30
movdqu xmm3, xmmword [rsp + 0x50]
mov rcx, r14
movups xmmword [rsp + 0x40], xmm3
call fcn.140027900
mov rcx, qword [0x1400cfed0]
mov ebx, eax
call fcn.14009d6d0
cmp byte [rax], 0
jne 0x140028244
movzx edx, bl
mov rcx, r12
call fcn.140012de0
movdqu xmm5, xmmword [0x1400ad6a0]
mov rdx, r14
mov rcx, rbp
movups xmmword [rsp + 0x40], xmm5
call fcn.14000c3d0
movzx ebx, byte [r15 + r13 + 8]
jmp 0x14002818e
movdqu xmm0, xmmword [rsp + 0x60]
lea rsi, [rsp + 0x50]
mov rdx, r14
mov rcx, rsi
lea rsi, [rsp + 0x60]
movups xmmword [rsp + 0x40], xmm0
call fcn.14000c3d0
mov rcx, rsi
call fcn.140008b30
movdqu xmm1, xmmword [rsp + 0x50]
mov rcx, r14
movups xmmword [rsp + 0x40], xmm1
call fcn.140027900
mov rcx, qword [0x1400cfed0]
mov ebx, eax
call fcn.14009d6d0
cmp byte [rax], 0
jne 0x140028244
movzx edx, bl
mov rcx, r12
call fcn.140012de0
movdqu xmm4, xmmword [0x1400ad6a0]
mov rdx, r14
mov rcx, rsi
movups xmmword [rsp + 0x40], xmm4
call fcn.14000c3d0
jmp 0x1400282aa
movups xmm6, xmmword [rsp + 0x80]
mov rcx, r15
movups xmm8, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400089e0
call fcn.1400089e0
jmp 0x14002826c
call fcn.1400089e0
jmp 0x140028258
movdqu xmm4, xmmword [rsp + 0x60]
lea rsi, [rsp + 0x50]
mov rdx, r14
mov rcx, rsi
lea rsi, [rsp + 0x60]
movups xmmword [rsp + 0x40], xmm4
call fcn.14000c3d0
mov rcx, rsi
call fcn.140008b30
movdqu xmm5, xmmword [rsp + 0x50]
mov rcx, r14
movups xmmword [rsp + 0x40], xmm5
call fcn.140027900
mov rcx, qword [0x1400cfed0]
mov ebx, eax
call fcn.14009d6d0
cmp byte [rax], 0
jne 0x140028244
movzx edx, bl
mov rcx, r12
call fcn.140012de0
movsx edx, byte [r15 + r13 + 8]
mov rcx, r14
call fcn.14000e5c0
mov rdx, r14
mov rcx, rsi
call fcn.14000c3d0
mov rax, r13
xor edx, edx
add rax, 1
js 0x140028d14
cmp rax, r13
jb 0x140028d14
mov r13, rax
test rdx, rdx
je 0x140028163
nop word [rax + rax]
call fcn.140008cc0
jmp 0x140028244
sub rdx, 1
mov rcx, rbp
call fcn.14000b8e0
jmp 0x140028244
movdqu xmm0, xmmword [0x1400ade80]
lea rsi, [rsp + 0x50]
mov rdx, r14
mov rcx, rsi
movups xmmword [rsp + 0x40], xmm0
call fcn.14000c3d0
mov edx, 0x25
mov rcx, r12
call fcn.140012de0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xff
jg 0x140028b97
movzx edx, dl
mov rcx, r12
call fcn.140012de0
mov rsi, qword [rsp + 0x50]
test rsi, rsi
jle 0x14002896e
movdqu xmm8, xmmword [0x1400ad690]
jmp 0x140028690
cmp rbp, rsi
jge 0x14002896e
mov rax, qword [rsp + 0x50]
test rbp, rbp
js 0x1400288b8
cmp rbp, rax
jge 0x1400288b8
mov rax, qword [rsp + 0x58]
mov rcx, r12
movzx edx, byte [rax + rbx + 8]
call fcn.140012de0
add rbx, 1
mov rbp, rbx
jo 0x1400288a9
cmp qword [rsp + 0x50], rsi
je 0x140028670
mov rcx, r14
movups xmmword [rsp + 0x40], xmm8
call fcn.1400043c0
mov rcx, qword [0x1400cfed0]
call fcn.14009d6d0
cmp byte [rax], 0
je 0x140028670
jmp 0x140028244
call fcn.1400089e0
jmp 0x1400283e3
movabs rcx, 0x8000000000000000
lea rdx, [rdi - 1]
movabs r13, 0x8000000000000000
call fcn.14000b8e0
mov rcx, qword [0x1400cfed0]
call fcn.14009d6d0
mov rsi, rax
jmp 0x1400283cf
movdqu xmm1, xmmword [rsp + 0x70]
lea rsi, [rsp + 0x50]
mov rdx, r14
lea r13, [rbp + 1]
mov rcx, rsi
movups xmmword [rsp + 0x40], xmm1
call fcn.14000c3d0
lea rcx, [rsp + 0x70]
call fcn.140008b30
mov edx, 0x25
mov rcx, r12
call fcn.140012de0
mov rcx, qword [0x1400cfed0]
mov rbp, qword [rsp + 0x50]
call fcn.14009d6d0
mov rsi, rax
cmp rbp, 0xff
jle 0x140028ab1
mov edx, 8
mov ecx, 0x40
call fcn.14000a460
mov rcx, r14
mov rbx, rax
lea rax, [0x1400a8540]
mov qword [rbx], rax
lea rax, str.TimeFormatParseError
mov qword [rbx + 0x10], rax
mov rax, qword [rsp + 0x50]
lea rdx, [rax + 0x1a]
call fcn.14000a0a0
mov rax, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
movabs rcx, 0x6e6f6c206f742073
movabs r8, 0x6c2074616d726f46
movabs r9, 0x69206c6172657469
lea rdx, [rax + r10 + 8]
mov rbp, rax
mov qword [rdx + 0x10], rcx
add rbp, 0x1a
mov ecx, 0x3a67
mov qword [rdx], r8
mov qword [rdx + 8], r9
mov word [rdx + 0x18], cx
mov byte [rdx + 0x1a], 0
jo 0x140028cda
mov r9, qword [rsp + 0x50]
test r9, r9
jle 0x140028858
mov r8, r9
add r8, 1
jo 0x140028d68
test r8, r8
js 0x140028b4d
mov rcx, qword [rsp + 0x58]
lea rax, [rbp + r10 + 8]
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r10
lea rdx, [rcx + 8]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
add r9, rbp
jo 0x140028d68
mov rbp, r9
mov qword [rbx + 0x18], rbp
lea r9, str.times.nim
mov rcx, rbx
lea r8, str.initTimeFormat
mov qword [rbx + 0x20], r10
lea rdx, str.TimeFormatParseError
mov qword [rbx + 8], 0
mov qword [rsp + 0x20], 0x6f1
call fcn.14000b630
jmp 0x1400283cf
mov rcx, r13
lea rdx, [rdi - 1]
call fcn.14000b8e0
mov rcx, qword [rsp + 0x68]
jmp 0x140028249
call fcn.140008cc0
mov rcx, qword [rsp + 0x68]
jmp 0x140028249
mov rcx, rbp
lea rdx, [rax - 1]
call fcn.14000b8e0
mov rcx, qword [rsp + 0x68]
jmp 0x140028249
cmp qword [rsp + 0x60], 0
je 0x140028244
movdqu xmm3, xmmword [rsp + 0x60]
mov rdx, r14
lea rcx, [rsp + 0x50]
lea r13, [rsp + 0x60]
movups xmmword [rsp + 0x40], xmm3
call fcn.14000c3d0
mov rcx, r13
call fcn.140008b30
movdqu xmm3, xmmword [rsp + 0x50]
mov rcx, r14
movups xmmword [rsp + 0x40], xmm3
call fcn.140027900
mov rcx, qword [0x1400cfed0]
mov ebx, eax
call fcn.14009d6d0
cmp byte [rax], 0
jne 0x140028244
movzx edx, bl
mov rcx, r12
call fcn.140012de0
movdqu xmm2, xmmword [0x1400ad6a0]
mov rdx, r14
mov rcx, r13
movups xmmword [rsp + 0x40], xmm2
call fcn.14000c3d0
jmp 0x140028244
movabs rcx, 0x8000000000000000
lea rdx, [rdi - 1]
call fcn.14000b8e0
mov rcx, qword [rsp + 0x68]
jmp 0x140028249
mov rax, r13
xor edx, edx
add rax, 2
jns 0x14002814e
mov edx, 1
jmp 0x140028157
mov edx, 8
mov ecx, 0x40
movabs rbx, 0x69206c6172657469
call fcn.14000a460
mov rcx, r14
mov r12, rax
lea rax, [0x1400a8540]
mov qword [r12], rax
lea rax, str.TimeFormatParseError
mov qword [r12 + 0x10], rax
mov rax, qword [rsp + 0x50]
lea rdx, [rax + 0x1a]
call fcn.14000a0a0
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
movabs rcx, 0x6c2074616d726f46
mov edx, 0x3a67
lea rax, [rsi + rdi + 8]
mov qword [rax + 8], rbx
movabs rbx, 0x6e6f6c206f742073
mov qword [rax + 0x10], rbx
mov rbx, rsi
add rbx, 0x1a
mov qword [rax], rcx
mov word [rax + 0x18], dx
mov byte [rax + 0x1a], 0
jo 0x140028cc3
mov rsi, qword [rsp + 0x50]
test rsi, rsi
jle 0x140028a5e
mov r8, rsi
add r8, 1
jo 0x140028d7c
test r8, r8
js 0x140028b77
mov rcx, qword [rsp + 0x58]
lea rax, [rbx + rdi + 8]
lea rdx, [rcx + 8]
mov rcx, rax
call sub.msvcrt.dll_memcpy
add rsi, rbx
jo 0x140028d7c
mov rbx, rsi
mov qword [r12 + 0x18], rbx
lea r9, str.times.nim
mov rcx, r12
lea r8, str.initTimeFormat
mov qword [r12 + 0x20], rdi
lea rdx, str.TimeFormatParseError
mov qword [r12 + 8], 0
mov qword [rsp + 0x20], 0x6f1
call fcn.14000b630
jmp 0x140028244
xor ecx, ecx
sub rdx, 1
call fcn.14000b8e0
mov rcx, qword [rsp + 0x68]
jmp 0x140028249
movzx edx, bpl
mov rcx, r12
call fcn.140012de0
mov rbp, qword [rsp + 0x50]
test rbp, rbp
jle 0x1400283cf
mov qword [rsp + 0x30], rdi
jmp 0x140028af2
cmp rdi, rbp
jge 0x140028cfb
mov rax, qword [rsp + 0x50]
test rdi, rdi
js 0x140028caa
cmp rax, rdi
jle 0x140028caa
mov rax, qword [rsp + 0x58]
mov rdi, rbx
mov rcx, r12
movzx edx, byte [rax + rbx + 8]
call fcn.140012de0
add rdi, 1
mov rbx, rdi
jo 0x140028d05
cmp qword [rsp + 0x50], rbp
je 0x140028ad2
movdqu xmm2, xmmword [0x1400ad690]
mov rcx, r14
movups xmmword [rsp + 0x40], xmm2
call fcn.1400043c0
cmp byte [rsi], 0
je 0x140028ad2
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x30]
test rcx, rcx
jne 0x1400283d9
jmp 0x140028244
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov qword [rsp + 0x30], r10
movabs rcx, 0x8000000000000000
call fcn.1400093d0
mov r10, qword [rsp + 0x30]
jmp 0x140028858
movabs r8, 0x7fffffffffffffff
xor edx, edx
movabs rcx, 0x8000000000000000
call fcn.1400093d0
jmp 0x140028a5e
mov edx, 8
mov ecx, 0x40
movabs rbx, 0x69206c6172657469
call fcn.14000a460
mov rcx, r14
mov r12, rax
lea rax, [0x1400a8540]
mov qword [r12], rax
lea rax, str.TimeFormatParseError
mov qword [r12 + 0x10], rax
mov rax, qword [rsp + 0x50]
lea rdx, [rax + 0x1a]
call fcn.14000a0a0
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
movabs rcx, 0x6c2074616d726f46
mov r8d, 0x3a67
lea rax, [rsi + rdi + 8]
mov qword [rax + 8], rbx
movabs rbx, 0x6e6f6c206f742073
mov qword [rax + 0x10], rbx
mov rbx, rsi
add rbx, 0x1a
mov qword [rax], rcx
mov word [rax + 0x18], r8w
mov byte [rax + 0x1a], 0
jo 0x140028d51
mov rsi, qword [rsp + 0x50]
test rsi, rsi
jle 0x140028c67
mov r8, rsi
add r8, 1
jo 0x140028d5e
test r8, r8
js 0x140028d32
mov rcx, qword [rsp + 0x58]
lea rax, [rbx + rdi + 8]
lea rdx, [rcx + 8]
mov rcx, rax
call sub.msvcrt.dll_memcpy
add rsi, rbx
jo 0x140028d5e
mov rbx, rsi
mov qword [r12 + 0x18], rbx
mov rcx, r12
lea r9, str.times.nim
lea r8, str.initTimeFormat
mov qword [r12 + 0x20], rdi
lea rdx, str.TimeFormatParseError
mov qword [r12 + 8], 0
mov qword [rsp + 0x20], 0x6f1
call fcn.14000b630
mov rcx, qword [rsp + 0x68]
jmp 0x140028249
mov r8, rdi
lea rdx, [rax - 1]
mov rdi, qword [rsp + 0x30]
mov rcx, r8
call fcn.14000b8e0
jmp 0x1400283cf
call fcn.140008cc0
mov rbx, rsi
jmp 0x140028a1c
call fcn.140008cc0
jmp 0x140028356
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x30], rax
call fcn.140008cc0
mov rax, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
mov rbp, rax
jmp 0x140028802
mov rdi, qword [rsp + 0x30]
jmp 0x1400283cf
mov rdi, qword [rsp + 0x30]
call fcn.140008cc0
jmp 0x1400283cf
mov edx, 1
jmp 0x1400285d6
mov ebx, 1
jmp 0x1400282c2
call fcn.140008cc0
jmp 0x14002813f
mov ecx, 1
xor edx, edx
movabs r8, 0x7fffffffffffffff
shl rcx, 0x3f
call fcn.1400093d0
jmp 0x140028c67
call fcn.140008cc0
mov rbx, rsi
jmp 0x140028c25
call fcn.140008cc0
jmp 0x140028c67
mov qword [rsp + 0x30], r10
call fcn.140008cc0
mov r10, qword [rsp + 0x30]
jmp 0x140028858
call fcn.140008cc0
jmp 0x140028a5e