Function at 0x299ea6e10
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm6
mov rdi, qword [rcx]
mov rsi, qword [rcx + 8]
lea rbx, [rsp + 0x40]
mov qword [rdx], 0
mov r13, rdx
mov qword [rdx + 8], 0
lea rcx, [rdx + 0x10]
mov qword [rdx + 0x10], 0
mov qword [rdx + 0x18], 0
mov rdx, rbx
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rsi
call fcn.299e8c6f0
xor ecx, ecx
mov r8d, 1
mov edx, 1
call fcn.299e89d70
mov rdx, rbx
mov rcx, r13
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], rax
call fcn.299e902f0
lea rax, [0x299f2a5b0]
test rdi, rdi
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rax
jle 0x299ea7147
xor eax, eax
xor ebp, ebp
movzx r12d, byte [rsi + rbp + 8]
lea ecx, [r12 - 0x20]
cmp cl, 0x3d
ja 0x299ea7170
movabs r11, 0x280000000400b301
mov edx, 1
shl rdx, cl
test rdx, r11
jne 0x299ea7050
cmp cl, 7
jne 0x299ea7170
test rax, rax
jne 0x299ea7258
lea r12, [rbp + 1]
cmp r12, rdi
jge 0x299ea7498
cmp byte [rsi + r12 + 8], 0x27
je 0x299ea73d0
mov qword [rsp + 0x70], 0
lea rax, [0x299f2a5b0]
mov qword [rsp + 0x78], rax
lea rbp, [rsp + 0x70]
nop word [rax + rax]
movzx r14d, byte [rsi + r12 + 8]
cmp r14b, 0x27
je 0x299ea74f8
mov edx, 1
mov rcx, rbp
call fcn.299e89810
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov byte [rdx + rax + 8], r14b
add rax, 1
jo 0x299ea7a3d
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x70], rax
mov byte [rdx + rax + 8], 0
add r12, 1
cmp r12, rdi
jne 0x299ea6f48
mov edx, 8
mov ecx, 0x40
mov rbp, r12
call fcn.299e89bd0
lea rdx, str.TimeFormatParseError
lea r9, str.times.nim
mov rcx, rax
lea rax, [0x299f25540]
mov qword [rcx + 0x10], rdx
mov qword [rcx], rax
lea rax, [0x299f2a440]
mov qword [rcx + 0x20], rax
lea r8, str.initTimeFormat
mov qword [rcx + 0x18], 0x3a
mov qword [rcx + 8], 0
mov qword [rsp + 0x20], 0x6a1
call fcn.299e8b270
mov rax, qword [0x299f4c780]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x299ea7012
test byte [rcx + 7], 0x40
je 0x299ea74e0
mov rcx, rax
call sub.libgcc_s_seh_1.dll___emutls_get_address
cmp byte [rax], 0
jne 0x299ea7117
cmp rdi, rbp
jle 0x299ea7713
test rbp, rbp
jns 0x299ea71b9
lea rdx, [rdi - 1]
mov rcx, rbp
call fcn.299e8b510
mov rcx, qword [rsp + 0x68]
jmp 0x299ea711c
lea r14, [rsp + 0x50]
test rax, rax
jne 0x299ea72e8
movsx edx, r12b
mov rcx, rbx
call fcn.299e8de10
mov rdx, rbx
mov rcx, r14
call fcn.299e8bf90
mov edx, 0x25
mov rcx, r13
call fcn.299e91fe0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xff
jg 0x299ea7797
movzx edx, dl
mov rcx, r13
call fcn.299e91fe0
mov r12, qword [rsp + 0x50]
test r12, r12
jle 0x299ea71ac
mov r15, qword [0x299f4c780]
xor r14d, r14d
movdqa xmm6, xmmword [0x299f2a490]
jmp 0x299ea70df
cmp r14, r12
je 0x299ea71ac
mov rdx, qword [rsp + 0x50]
cmp r14, rdx
jge 0x299ea74b8
mov rax, qword [rsp + 0x58]
mov rcx, r13
movzx edx, byte [rax + r14 + 8]
add r14, 1
call fcn.299e91fe0
cmp qword [rsp + 0x50], r12
je 0x299ea70c8
mov rcx, rbx
movaps xmmword [rsp + 0x40], xmm6
call fcn.299e83e30
mov rcx, r15
call sub.libgcc_s_seh_1.dll___emutls_get_address
cmp byte [rax], 0
je 0x299ea70c8
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x299ea73b0
test byte [rcx + 7], 0x40
je 0x299ea7368
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x299ea7380
test byte [rcx + 7], 0x40
je 0x299ea74d0
test rsi, rsi
jne 0x299ea7380
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rax, rax
jne 0x299ea71c8
lea rcx, [rsp + 0x60]
mov edx, 1
call fcn.299e89810
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov byte [rdx + rax + 8], r12b
add rax, 1
jo 0x299ea7a81
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x60], rax
mov byte [rdx + rax + 8], 0
add rbp, 1
cmp rbp, rdi
jge 0x299ea7713
mov rax, qword [rsp + 0x60]
jmp 0x299ea6ece
jle 0x299ea789b
mov rax, qword [rsp + 0x68]
cmp r12b, byte [rax + 8]
je 0x299ea7175
movdqa xmm4, xmmword [rsp + 0x60]
lea r14, [rsp + 0x50]
mov rdx, rbx
mov rcx, r14
lea r14, [rsp + 0x60]
movaps xmmword [rsp + 0x40], xmm4
call fcn.299e8bf90
mov rcx, r14
call fcn.299e887d0
movdqa xmm5, xmmword [rsp + 0x50]
mov rcx, rbx
movaps xmmword [rsp + 0x40], xmm5
call fcn.299ea66e0
mov rcx, qword [0x299f4c780]
mov r12d, eax
call sub.libgcc_s_seh_1.dll___emutls_get_address
cmp byte [rax], 0
jne 0x299ea7117
movzx edx, r12b
mov rcx, r13
call fcn.299e91fe0
movsx edx, byte [rsi + rbp + 8]
mov rcx, rbx
call fcn.299e8de10
mov rdx, rbx
mov rcx, r14
call fcn.299e8bf90
jmp 0x299ea71ac
movdqa xmm0, xmmword [rsp + 0x60]
lea r14, [rsp + 0x50]
mov rdx, rbx
mov rcx, r14
lea r14, [rsp + 0x60]
movaps xmmword [rsp + 0x40], xmm0
call fcn.299e8bf90
mov rcx, r14
call fcn.299e887d0
movdqa xmm1, xmmword [rsp + 0x50]
mov rcx, rbx
movaps xmmword [rsp + 0x40], xmm1
call fcn.299ea66e0
mov rcx, qword [0x299f4c780]
mov r12d, eax
call sub.libgcc_s_seh_1.dll___emutls_get_address
cmp byte [rax], 0
jne 0x299ea7117
movzx edx, r12b
mov rcx, r13
call fcn.299e91fe0
lea r12, [rbp + 1]
mov rdx, rbx
mov rcx, r14
movdqa xmm4, xmmword [0x299f2a4a0]
movaps xmmword [rsp + 0x40], xmm4
call fcn.299e8bf90
cmp r12, rdi
jl 0x299ea6f1c
jmp 0x299ea7498
movdqa xmm2, xmmword [rsp + 0x60]
lea r15, [rsp + 0x60]
mov rdx, rbx
mov rcx, r14
movaps xmmword [rsp + 0x40], xmm2
call fcn.299e8bf90
mov rcx, r15
call fcn.299e887d0
movdqa xmm3, xmmword [rsp + 0x50]
mov rcx, rbx
movaps xmmword [rsp + 0x40], xmm3
call fcn.299ea66e0
mov rcx, qword [0x299f4c780]
mov r12d, eax
call sub.libgcc_s_seh_1.dll___emutls_get_address
cmp byte [rax], 0
jne 0x299ea7117
movzx edx, r12b
mov rcx, r13
call fcn.299e91fe0
movdqa xmm5, xmmword [0x299f2a4a0]
mov rdx, rbx
mov rcx, r15
movaps xmmword [rsp + 0x40], xmm5
call fcn.299e8bf90
movzx r12d, byte [rsi + rbp + 8]
jmp 0x299ea705e
call fcn.299e886a0
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x299ea713d
nop dword [rax + rax]
test byte [rsi + 7], 0x40
jne 0x299ea7150
movaps xmm6, xmmword [rsp + 0x80]
mov rcx, rsi
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.299e886a0
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x299ea7380
test byte [rcx + 7], 0x40
jne 0x299ea7380
call fcn.299e886a0
jmp 0x299ea7380
movdqa xmm0, xmmword [0x299f2ac80]
lea r14, [rsp + 0x50]
mov rdx, rbx
mov rcx, r14
movaps xmmword [rsp + 0x40], xmm0
call fcn.299e8bf90
mov edx, 0x25
mov rcx, r13
call fcn.299e91fe0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xff
jg 0x299ea78d3
movzx edx, dl
mov rcx, r13
call fcn.299e91fe0
mov r12, qword [rsp + 0x50]
test r12, r12
jle 0x299ea770a
mov r15, qword [0x299f4c780]
xor r14d, r14d
movdqa xmm6, xmmword [0x299f2a490]
jmp 0x299ea7457
cmp r14, r12
je 0x299ea770a
mov rax, qword [rsp + 0x50]
cmp r14, rax
jge 0x299ea7670
mov rax, qword [rsp + 0x58]
mov rcx, r13
movzx edx, byte [rax + r14 + 8]
add r14, 1
call fcn.299e91fe0
cmp qword [rsp + 0x50], r12
je 0x299ea7440
mov rcx, rbx
movaps xmmword [rsp + 0x40], xmm6
call fcn.299e83e30
mov rcx, r15
call sub.libgcc_s_seh_1.dll___emutls_get_address
cmp byte [rax], 0
je 0x299ea7440
jmp 0x299ea7117
mov qword [rsp + 0x70], 0
lea rax, [0x299f2a5b0]
mov qword [rsp + 0x78], rax
jmp 0x299ea6f96
sub rdx, 1
mov rcx, r14
call fcn.299e8b510
jmp 0x299ea7117
call fcn.299e886a0
jmp 0x299ea7147
mov qword [rsp + 0x30], rax
call fcn.299e886a0
mov rax, qword [rsp + 0x30]
jmp 0x299ea7012
cmp r12, rdi
jge 0x299ea6f96
movdqa xmm1, xmmword [rsp + 0x70]
lea r14, [rsp + 0x50]
mov rdx, rbx
mov rcx, r14
movaps xmmword [rsp + 0x40], xmm1
call fcn.299e8bf90
lea rcx, [rsp + 0x70]
call fcn.299e887d0
mov edx, 0x25
mov rcx, r13
call fcn.299e91fe0
mov rax, qword [rsp + 0x50]
cmp rax, 0xff
jle 0x299ea7686
mov edx, 8
mov ecx, 0x40
call fcn.299e89bd0
lea r15, str.TimeFormatParseError
mov rcx, rbx
mov rbp, rax
lea rax, [0x299f25540]
mov qword [rbp + 0x10], r15
mov qword [rbp], rax
mov rax, qword [rsp + 0x50]
lea rdx, [rax + 0x1a]
call fcn.299e89a40
mov rax, qword [rsp + 0x40]
movabs rcx, 0x6c2074616d726f46
mov r10, qword [rsp + 0x48]
mov r14, rax
lea rdx, [rax + r10 + 8]
add r14, 0x1a
mov qword [rdx], rcx
movabs rcx, 0x69206c6172657469
mov qword [rdx + 8], rcx
movabs rcx, 0x6e6f6c206f742073
mov qword [rdx + 0x10], rcx
mov dword [rdx + 0x17], 0x3a676e
jo 0x299ea7a10
mov r9, qword [rsp + 0x50]
test r9, r9
jle 0x299ea78cb
mov rcx, r9
mov rax, qword [rsp + 0x58]
add rcx, 1
jo 0x299ea7a92
test rcx, rcx
js 0x299ea78b0
lea r11, [r14 + r10 + 8]
mov r8, rcx
mov qword [rsp + 0x38], r9
lea rdx, [rax + 8]
mov rcx, r11
mov qword [rsp + 0x30], r10
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
add r9, r14
jo 0x299ea7a2e
mov qword [rbp + 0x18], r9
mov rdx, r15
mov rcx, rbp
mov qword [rbp + 0x20], r10
lea r9, str.times.nim
mov qword [rbp + 8], 0
lea r8, str.initTimeFormat
mov qword [rsp + 0x20], 0x6f1
call fcn.299e8b270
mov rax, qword [0x299f4c780]
lea rbp, [r12 + 1]
jmp 0x299ea6ffe
lea rdx, [rax - 1]
mov rcx, r14
call fcn.299e8b510
mov rcx, qword [rsp + 0x68]
jmp 0x299ea711c
movzx edx, al
mov rcx, r13
call fcn.299e91fe0
mov r14, qword [rsp + 0x50]
test r14, r14
jle 0x299ea7655
mov rax, qword [0x299f4c780]
xor ebp, ebp
movdqa xmm6, xmmword [0x299f2a490]
mov r15, rax
jmp 0x299ea76cb
cmp rbp, r14
je 0x299ea7702
mov rdx, qword [rsp + 0x50]
cmp rbp, rdx
jge 0x299ea79f5
mov rax, qword [rsp + 0x58]
mov rcx, r13
movzx edx, byte [rax + rbp + 8]
add rbp, 1
call fcn.299e91fe0
cmp qword [rsp + 0x50], r14
je 0x299ea76b8
mov rcx, rbx
movaps xmmword [rsp + 0x40], xmm6
call fcn.299e83e30
mov rcx, r15
call sub.libgcc_s_seh_1.dll___emutls_get_address
cmp byte [rax], 0
je 0x299ea76b8
mov rax, r15
jmp 0x299ea765c
add rbp, 2
jmp 0x299ea7023
cmp qword [rsp + 0x60], 0
je 0x299ea7117
movdqa xmm2, xmmword [rsp + 0x60]
lea rcx, [rsp + 0x50]
mov rdx, rbx
lea rbp, [rsp + 0x60]
movaps xmmword [rsp + 0x40], xmm2
call fcn.299e8bf90
mov rcx, rbp
call fcn.299e887d0
movdqa xmm3, xmmword [rsp + 0x50]
mov rcx, rbx
movaps xmmword [rsp + 0x40], xmm3
call fcn.299ea66e0
mov rcx, qword [0x299f4c780]
mov edi, eax
call sub.libgcc_s_seh_1.dll___emutls_get_address
cmp byte [rax], 0
jne 0x299ea7117
movzx edx, dil
mov rcx, r13
call fcn.299e91fe0
movdqa xmm2, xmmword [0x299f2a4a0]
mov rdx, rbx
mov rcx, rbp
movaps xmmword [rsp + 0x40], xmm2
call fcn.299e8bf90
jmp 0x299ea7117
mov edx, 8
mov ecx, 0x40
call fcn.299e89bd0
lea r12, str.TimeFormatParseError
mov rcx, rbx
mov rdi, rax
lea rax, [0x299f25540]
mov qword [rdi + 0x10], r12
mov qword [rdi], rax
mov rax, qword [rsp + 0x50]
lea rdx, [rax + 0x1a]
call fcn.299e89a40
mov rbx, qword [rsp + 0x40]
movabs rcx, 0x6c2074616d726f46
mov r13, qword [rsp + 0x48]
mov rbp, rbx
lea rax, [rbx + r13 + 8]
add rbp, 0x1a
mov qword [rax], rcx
movabs rcx, 0x69206c6172657469
mov qword [rax + 8], rcx
movabs rcx, 0x6e6f6c206f742073
mov qword [rax + 0x10], rcx
mov dword [rax + 0x17], 0x3a676e
jo 0x299ea7a47
mov rbx, qword [rsp + 0x50]
test rbx, rbx
jle 0x299ea79ed
mov rcx, rbx
mov rax, qword [rsp + 0x58]
add rcx, 1
jo 0x299ea7a54
test rcx, rcx
js 0x299ea79dc
lea r9, [rbp + r13 + 8]
mov r8, rcx
lea rdx, [rax + 8]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov rax, rbx
add rax, rbp
jo 0x299ea7a54
mov qword [rdi + 0x18], rax
mov rdx, r12
mov rcx, rdi
mov qword [rdi + 0x20], r13
lea r9, str.times.nim
mov qword [rdi + 8], 0
lea r8, str.initTimeFormat
mov qword [rsp + 0x20], 0x6f1
call fcn.299e8b270
jmp 0x299ea7117
lea rdx, [rax - 1]
xor ecx, ecx
call fcn.299e8b510
mov rcx, qword [rsp + 0x68]
jmp 0x299ea711c
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov qword [rsp + 0x30], r10
call fcn.299e88fc0
mov r10, qword [rsp + 0x30]
mov r9, r14
jmp 0x299ea7623
mov edx, 8
mov ecx, 0x40
call fcn.299e89bd0
lea r12, str.TimeFormatParseError
mov rcx, rbx
mov rdi, rax
lea rax, [0x299f25540]
mov qword [rdi + 0x10], r12
mov qword [rdi], rax
mov rax, qword [rsp + 0x50]
lea rdx, [rax + 0x1a]
call fcn.299e89a40
mov rbx, qword [rsp + 0x40]
movabs rcx, 0x6c2074616d726f46
mov r13, qword [rsp + 0x48]
mov rbp, rbx
lea rax, [rbx + r13 + 8]
add rbp, 0x1a
mov qword [rax], rcx
movabs rcx, 0x69206c6172657469
mov qword [rax + 8], rcx
movabs rcx, 0x6e6f6c206f742073
mov qword [rax + 0x10], rcx
mov dword [rax + 0x17], 0x3a676e
jo 0x299ea7a74
mov rbx, qword [rsp + 0x50]
test rbx, rbx
jle 0x299ea7a6c
mov rcx, rbx
mov rdx, qword [rsp + 0x58]
add rcx, 1
jo 0x299ea7a8b
test rcx, rcx
js 0x299ea7a5b
lea rax, [rbp + r13 + 8]
add rdx, 8
mov r8, rcx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rax, rbx
add rax, rbp
jo 0x299ea7a8b
mov qword [rdi + 0x18], rax
lea r9, str.times.nim
mov rcx, rdi
mov rdx, r12
mov qword [rdi + 0x20], r13
lea r8, str.initTimeFormat
mov qword [rdi + 8], 0
mov qword [rsp + 0x20], 0x6f1
call fcn.299e8b270
mov rcx, qword [rsp + 0x68]
jmp 0x299ea711c
movabs r8, 0x7fffffffffffffff
xor edx, edx
call fcn.299e88fc0
mov rax, rbp
jmp 0x299ea7864
sub rdx, 1
mov rcx, rbp
mov qword [rsp + 0x30], r15
call fcn.299e8b510
mov rax, qword [rsp + 0x30]
jmp 0x299ea765c
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x30], rax
call fcn.299e88960
mov r14, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
jmp 0x299ea75c9
call fcn.299e88960
mov r10, qword [rsp + 0x30]
jmp 0x299ea78cb
call fcn.299e88960
jmp 0x299ea6f8d
call fcn.299e88960
mov rbp, rbx
jmp 0x299ea781b
call fcn.299e88960
jmp 0x299ea79ed
movabs r8, 0x7fffffffffffffff
xor edx, edx
call fcn.299e88fc0
mov rax, rbp
jmp 0x299ea79a0
call fcn.299e88960
mov rbp, rbx
jmp 0x299ea7957
call fcn.299e88960
jmp 0x299ea71ac
call fcn.299e88960
jmp 0x299ea7a6c
mov qword [rsp + 0x30], r10
call fcn.299e88960
mov r10, qword [rsp + 0x30]
jmp 0x299ea78cb