Function at 0x1400c2f60
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x168
mov r14, rdx
mov rsi, rcx
mov r15, qword [rdx]
mov rdi, qword [rdx + 8]
mov rax, qword [r15 + 0xa0]
mov rbx, qword [rdx + 0x10]
test rax, rax
je 0x1400c2fa6
cmp rax, rbx
jae 0x1400c2fa0
cmp byte [rdi + rax], 0xbf
jg 0x1400c2fa6
jmp 0x1400c42db
jne 0x1400c42db
cmp rax, rbx
je 0x1400c42db
movzx ecx, byte [rdi + rax]
mov r8d, ecx
test cl, cl
jns 0x1400c3019
mov edx, ecx
and edx, 0x1f
movzx r8d, byte [rdi + rax + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400c3010
movzx r9d, byte [rdi + rax + 2]
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
cmp cl, 0xf0
jb 0x1400c3090
movzx r8d, byte [rdi + rax + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
or r8d, edx
cmp r8d, 0x110000
jne 0x1400c3019
jmp 0x1400c42db
shl edx, 6
or edx, r8d
mov r8d, edx
cmp r8d, 0x70
je 0x1400c30b2
test rax, rax
je 0x1400c303a
cmp rax, rbx
jae 0x1400c42db
cmp cl, 0xbf
jle 0x1400c42db
test cl, cl
jns 0x1400c30a9
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [rdi + rax + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400c30a1
movzx r8d, byte [rdi + rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x1400c32cb
movzx ecx, byte [rdi + rax + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp ecx, 0x110000
jne 0x1400c30a9
jmp 0x1400c42db
shl edx, 0xc
or r9d, edx
mov r8d, r9d
cmp r8d, 0x70
jne 0x1400c3023
jmp 0x1400c30b2
shl edx, 6
or edx, r9d
mov ecx, edx
cmp ecx, 0x50
jne 0x1400c42db
cmp qword [r15 + 0x80], 0
jne 0x1400c42db
mov qword [r15 + 0x80], 0xffffffffffffffff
mov qword [r15 + 0x98], 0
test rax, rax
je 0x1400c30fb
cmp rax, rbx
jae 0x1400c42db
movzx edx, byte [rdi + rax]
cmp dl, 0xbf
jle 0x1400c42db
test dl, dl
js 0x1400c3103
movzx r13d, dl
jmp 0x1400c316c
movzx edx, byte [rdi + rax]
test dl, dl
jns 0x1400c30f5
mov ecx, edx
and cl, 0x1f
movzx ecx, cl
movzx r9d, byte [rdi + rax + 1]
and r9d, 0x3f
cmp dl, 0xdf
jbe 0x1400c3158
movzx r8d, byte [rdi + rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp dl, 0xf0
jb 0x1400c3163
movzx r13d, byte [rdi + rax + 3]
and ecx, 7
shl ecx, 0x12
shl r8d, 6
and r13d, 0x3f
or r13d, r8d
or r13d, ecx
cmp r13d, 0x110000
jne 0x1400c316c
jmp 0x1400c42db
shl ecx, 6
or ecx, r9d
mov r13d, ecx
jmp 0x1400c316c
shl ecx, 0xc
or r8d, ecx
mov r13d, r8d
lea r12, [r15 + 0xa0]
mov rcx, r14
call fcn.1400b65f0
test al, al
je 0x1400c3194
mov rcx, r14
call fcn.1400b58e0
mov rbp, qword [r12]
cmp rbp, rbx
jne 0x1400c325c
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x110], rax
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x100], xmm0
movdqu xmm0, xmmword [r12]
movdqu xmmword [rsp + 0x118], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x128], rax
test rbx, rbx
je 0x1400c31f3
js 0x1400c42db
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rbx
call fcn.1400e65f0
mov r14, rax
test rax, rax
jne 0x1400c31f9
jmp 0x1400c42db
mov r14d, 1
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov qword [rsi], rbx
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rbx
mov dword [rsi + 0x18], 0xa
movaps xmm0, xmmword [rsp + 0x100]
movdqa xmm1, xmmword [rsp + 0x110]
movdqa xmm2, xmmword [rsp + 0x120]
movups xmmword [rsi + 0x50], xmm0
movdqu xmmword [rsi + 0x60], xmm1
movdqu xmmword [rsi + 0x70], xmm2
inc qword [r15 + 0x80]
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test rbp, rbp
je 0x1400c3274
cmp rbp, rbx
jae 0x1400c42db
cmp byte [rdi + rbp], 0xc0
jl 0x1400c42db
movzx eax, byte [rdi + rbp]
mov edx, eax
test al, al
jns 0x1400c32e9
mov ecx, eax
and ecx, 0x1f
movzx edx, byte [rdi + rbp + 1]
and edx, 0x3f
cmp al, 0xdf
jbe 0x1400c32e2
movzx r8d, byte [rdi + rbp + 2]
shl edx, 6
and r8d, 0x3f
or r8d, edx
cmp al, 0xf0
jb 0x1400c3370
movzx edx, byte [rdi + rbp + 3]
and ecx, 7
shl ecx, 0x12
shl r8d, 6
and edx, 0x3f
or edx, r8d
or edx, ecx
cmp edx, 0x110000
jne 0x1400c32e9
jmp 0x1400c42db
shl edx, 0xc
or r8d, edx
mov ecx, r8d
cmp ecx, 0x50
je 0x1400c30b2
jmp 0x1400c42db
shl ecx, 6
or ecx, edx
mov edx, ecx
cmp edx, 0x7b
mov dword [rsp + 0x70], r13d
jne 0x1400c3387
test rbp, rbp
je 0x1400c330d
cmp rbp, rbx
jae 0x1400c42db
cmp al, 0xbf
jle 0x1400c42db
mov r11d, 1
test al, al
jns 0x1400c34ca
mov ecx, eax
and ecx, 0x1f
movzx edx, byte [rdi + rbp + 1]
and edx, 0x3f
cmp al, 0xe0
jb 0x1400c3403
movzx r8d, byte [rdi + rbp + 2]
shl edx, 6
and r8d, 0x3f
or r8d, edx
cmp al, 0xf0
jb 0x1400c349b
movzx edx, byte [rdi + rbp + 3]
and ecx, 7
shl ecx, 0x12
shl r8d, 6
and edx, 0x3f
or edx, r8d
or edx, ecx
cmp edx, 0x110000
jne 0x1400c34a4
jmp 0x1400c42db
shl ecx, 0xc
or r8d, ecx
mov edx, r8d
cmp edx, 0x7b
mov dword [rsp + 0x70], r13d
je 0x1400c32f7
mov r10, qword [r15 + 0xa8]
mov r9, qword [r15 + 0xb0]
test rbp, rbp
je 0x1400c33ab
cmp rbp, rbx
jae 0x1400c42db
cmp al, 0xbf
jle 0x1400c42db
mov r13d, eax
test al, al
jns 0x1400c3418
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rdi + rbp + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400c340f
movzx edx, byte [rdi + rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x1400c3559
movzx r13d, byte [rdi + rbp + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r13d, 0x3f
or r13d, edx
or r13d, ecx
cmp r13d, 0x110000
jne 0x1400c3418
jmp 0x1400c42db
shl ecx, 6
or ecx, edx
mov edx, ecx
jmp 0x1400c34a4
shl ecx, 6
or ecx, r8d
mov r13d, ecx
cmp r13d, 0x5c
jne 0x1400c356b
test rbp, rbp
je 0x1400c3438
cmp rbp, rbx
jae 0x1400c42db
cmp al, 0xbf
jle 0x1400c42db
mov r11d, 1
test al, al
jns 0x1400c3a16
mov ecx, eax
and ecx, 0x1f
movzx edx, byte [rdi + rbp + 1]
and edx, 0x3f
cmp al, 0xe0
jb 0x1400c359e
movzx r8d, byte [rdi + rbp + 2]
shl edx, 6
and r8d, 0x3f
or r8d, edx
cmp al, 0xf0
jb 0x1400c39e7
movzx edx, byte [rdi + rbp + 3]
and ecx, 7
shl ecx, 0x12
shl r8d, 6
and edx, 0x3f
or edx, r8d
or edx, ecx
cmp edx, 0x110000
jne 0x1400c39f0
jmp 0x1400c42db
shl ecx, 0xc
or r8d, ecx
mov edx, r8d
cmp edx, 0x80
jb 0x1400c34ca
mov r11d, 2
cmp edx, 0x800
jb 0x1400c34ca
cmp edx, 0x10000
mov r11d, 4
sbb r11, 0
add r11, rbp
jb 0x1400c42db
mov r9, qword [r15 + 0xb0]
inc r9
je 0x1400c42db
mov r10, qword [r15 + 0xa8]
test rbp, rbp
je 0x1400c3500
cmp rbp, rbx
jae 0x1400c42db
cmp al, 0xbf
jle 0x1400c42db
test al, al
jns 0x1400c35b1
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rdi + rbp + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400c354f
movzx edx, byte [rdi + rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x1400c35aa
movzx eax, byte [rdi + rbp + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
jne 0x1400c35b1
jmp 0x1400c42db
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x1400c35b1
shl ecx, 0xc
or edx, ecx
mov r13d, edx
cmp r13d, 0x5c
je 0x1400c3422
mov qword [rsp + 0x38], r10
mov rdi, r9
movabs rbx, 0x8000000000000000
mov rcx, r14
call fcn.1400b65f0
test al, al
je 0x1400c3591
mov rcx, r14
call fcn.1400b58e0
mov rdx, rbp
mov rcx, qword [rsp + 0x38]
jmp 0x1400c431f
shl ecx, 6
or ecx, edx
mov edx, ecx
jmp 0x1400c39f0
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov qword [rsp + 0x60], r11
lea r13, [r15 + 0x88]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov eax, 1
cmove r9, rax
mov qword [rsp + 0x48], r9
add r10, rcx
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x28], r12
mov rcx, r14
call fcn.1400b65f0
test al, al
jne 0x1400c3692
mov rax, qword [r12]
cmp rax, rbx
jne 0x1400c3917
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x140], rax
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x130], xmm0
movdqu xmm0, xmmword [r12]
movdqu xmmword [rsp + 0x148], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x158], rax
test rbx, rbx
je 0x1400c3995
js 0x1400c42db
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rbx
call fcn.1400e65f0
mov r14, rax
test rax, rax
jne 0x1400c399b
jmp 0x1400c42db
mov rax, qword [r15 + 0x90]
mov byte [rax + rdx], bpl
inc qword [r15 + 0x98]
mov rcx, r14
call fcn.1400b65f0
test al, al
je 0x1400c35f0
mov rcx, r14
call fcn.1400b58e0
mov rax, qword [r12]
cmp rax, rbx
je 0x1400c35f4
test rax, rax
je 0x1400c36bf
cmp rax, rbx
jae 0x1400c42db
cmp byte [rdi + rax], 0xc0
jl 0x1400c42db
movzx ebp, byte [rdi + rax]
mov edx, ebp
test bpl, bpl
jns 0x1400c3730
mov ecx, ebp
and ecx, 0x1f
movzx edx, byte [rdi + rax + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x1400c371b
movzx r8d, byte [rdi + rax + 2]
shl edx, 6
and r8d, 0x3f
or r8d, edx
cmp bpl, 0xf0
jb 0x1400c37da
movzx edx, byte [rdi + rax + 3]
and ecx, 7
shl ecx, 0x12
shl r8d, 6
and edx, 0x3f
or edx, r8d
or edx, ecx
cmp edx, 0x110000
jne 0x1400c3730
jmp 0x1400c42db
shl ecx, 6
or ecx, edx
mov edx, ecx
nop word cs:[rax + rax]
cmp edx, 0x7d
je 0x1400c35f4
test rax, rax
je 0x1400c3751
cmp rax, rbx
jae 0x1400c42db
cmp bpl, 0xbf
jle 0x1400c42db
test bpl, bpl
jns 0x1400c37b2
mov ecx, ebp
and ecx, 0x1f
movzx r8d, byte [rdi + rax + 1]
and r8d, 0x3f
cmp bpl, 0xdf
jbe 0x1400c37a2
movzx edx, byte [rdi + rax + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp bpl, 0xf0
jb 0x1400c37f1
movzx ebp, byte [rdi + rax + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and ebp, 0x3f
or ebp, edx
or ebp, ecx
cmp ebp, 0x110000
jne 0x1400c37aa
jmp 0x1400c42db
shl ecx, 6
or ecx, r8d
mov ebp, ecx
cmp ebp, 0x80
jae 0x1400c3800
mov rdx, qword [r15 + 0x98]
cmp rdx, qword [r15 + 0x88]
jne 0x1400c3670
mov rcx, r13
call fcn.1400f76a0
mov rdx, qword [r15 + 0x98]
jmp 0x1400c3670
shl ecx, 0xc
or r8d, ecx
mov edx, r8d
cmp edx, 0x7d
jne 0x1400c3739
jmp 0x1400c35f4
shl ecx, 0xc
or edx, ecx
mov ebp, edx
cmp ebp, 0x80
jb 0x1400c37b2
mov dword [rsp + 0x80], 0
mov r12, r13
mov eax, ebp
cmp ebp, 0x800
jae 0x1400c3831
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x80], al
mov r13d, 2
mov eax, 1
jmp 0x1400c3899
cmp ebp, 0x10000
jae 0x1400c3862
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x80], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x81], al
mov r13d, 3
mov eax, 2
jmp 0x1400c3899
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x80], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x81], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x82], al
mov r13d, 4
mov eax, 3
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + rax + 0x80], bpl
mov rax, qword [r15 + 0x88]
mov rbp, qword [r15 + 0x98]
sub rax, rbp
cmp rax, r13
jb 0x1400c3900
mov rcx, qword [r15 + 0x90]
add rcx, rbp
lea rdx, [rsp + 0x80]
mov r8, r13
call sub.msvcrt.dll_memcpy
add rbp, r13
mov qword [r15 + 0x98], rbp
mov r13, r12
mov r12, qword [rsp + 0x28]
mov rcx, r14
call fcn.1400b65f0
test al, al
jne 0x1400c3692
jmp 0x1400c35f0
mov rcx, r12
mov rdx, rbp
mov r8, r13
call fcn.1400fe0a0
mov rbp, qword [r15 + 0x98]
jmp 0x1400c38bf
test rax, rax
je 0x1400c392f
cmp rax, rbx
jae 0x1400c42db
cmp byte [rdi + rax], 0xc0
jl 0x1400c42db
movzx ecx, byte [rdi + rax]
test cl, cl
jns 0x1400c3b66
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [rdi + rax + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400c39da
movzx r8d, byte [rdi + rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x1400c3b5d
movzx ecx, byte [rdi + rax + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp ecx, 0x110000
jne 0x1400c3b66
jmp 0x1400c42db
mov r14d, 1
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov qword [rsi], rbx
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rbx
mov dword [rsi + 0x18], 0xa
movaps xmm0, xmmword [rsp + 0x130]
movdqa xmm1, xmmword [rsp + 0x140]
movdqa xmm2, xmmword [rsp + 0x150]
jmp 0x1400c3233
shl edx, 6
or edx, r9d
mov ecx, edx
jmp 0x1400c3b66
shl ecx, 0xc
or r8d, ecx
mov edx, r8d
cmp edx, 0x80
jb 0x1400c3a16
mov r11d, 2
cmp edx, 0x800
jb 0x1400c3a16
cmp edx, 0x10000
mov r11d, 4
sbb r11, 0
add r11, rbp
jb 0x1400c42db
inc r9
je 0x1400c42db
test rbp, rbp
je 0x1400c3a3e
cmp rbp, rbx
jae 0x1400c42db
cmp al, 0xbf
jle 0x1400c42db
test al, al
jns 0x1400c3a9a
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rdi + rbp + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400c3a89
movzx edx, byte [rdi + rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x1400c3a93
movzx eax, byte [rdi + rbp + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
jne 0x1400c3a9a
jmp 0x1400c42db
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x1400c3a9a
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov qword [rsp + 0x70], r11
xor ebp, ebp
cmp eax, 0xa
sete r13b
mov r14d, 1
cmove r9, r14
mov qword [rsp + 0x48], r9
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x90], rax
movdqu xmm0, xmmword [r12]
movdqa xmmword [rsp + 0x80], xmm0
test rbx, rbx
je 0x1400c3b01
js 0x1400c42db
mov r12, r10
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rbx
call fcn.1400e65f0
mov r14, rax
test rax, rax
mov r10, r12
je 0x1400c42db
mov bpl, r13b
add r10, rbp
mov rcx, r14
mov rdx, rdi
mov r8, rbx
mov rdi, r10
call sub.msvcrt.dll_memcpy
mov qword [rsi], rbx
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rbx
mov dword [rsi + 0x18], 0x1f
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [rsi + 0x50], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsi + 0x60], rax
mov rax, qword [rsp + 0x70]
mov qword [rsi + 0x68], rax
mov qword [rsi + 0x70], rdi
mov rax, qword [rsp + 0x48]
mov qword [rsi + 0x78], rax
jmp 0x1400c3241
shl edx, 0xc
or r8d, edx
mov ecx, r8d
cmp ecx, 0x7d
jne 0x1400c42db
mov rcx, r14
call fcn.1400b65f0
mov rdx, qword [r15 + 0x90]
mov qword [rsp + 0x40], rdx
mov r8, qword [r15 + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x1418d3940]
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x30], r8
call fcn.14003cd80
cmp qword [rsp + 0x80], 0
je 0x1400c3cf2
mov r13, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xe0]
lea rdx, [rcx - 1]
mov r8, qword [rsp + 0xd0]
mov r9, qword [rsp + 0xd8]
cmp r13, 0xffffffffffffffff
mov qword [rsp + 0x68], rdx
je 0x1400c3d41
mov r14, qword [rsp + 0xa8]
lea rbp, [r14 + rdx]
cmp rbp, r8
jae 0x1400c3ff7
mov r11, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x98]
mov r10, rcx
mov qword [rsp + 0x50], rdx
sub r10, rdx
mov qword [rsp + 0x58], r10
lea rdx, [rdi - 1]
mov qword [rsp + 0x28], rdx
movzx r10d, byte [rax + rbp]
bt r11, r10
jae 0x1400c3c8e
cmp rdi, r13
mov r10, r13
cmova r10, rdi
lea rbp, [rax + r14]
nop word cs:[rax + rax]
cmp r10, rcx
jae 0x1400c3ca7
mov rbx, r10
add r10, r14
cmp r10, r8
jae 0x1400c42db
lea r10, [rbx + 1]
movzx edx, byte [r9 + rbx]
cmp dl, byte [rbp + rbx]
je 0x1400c3c60
sub r14, rdi
add r14, rbx
inc r14
jmp 0x1400c3c91
add r14, rcx
xor r13d, r13d
mov rdx, qword [rsp + 0x68]
lea rbp, [r14 + rdx]
cmp rbp, r8
jb 0x1400c3c3c
jmp 0x1400c3ff7
mov rbx, qword [rsp + 0x28]
nop dword [rax]
lea r10, [rbx + 1]
cmp r13, r10
jae 0x1400c3ef4
cmp rbx, rcx
jae 0x1400c42db
lea r10, [r14 + rbx]
cmp r10, r8
jae 0x1400c42db
movzx r10d, byte [r9 + rbx]
lea rdx, [rbx - 1]
cmp r10b, byte [rbp + rbx]
mov rbx, rdx
je 0x1400c3cb0
add r14, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
jmp 0x1400c3c94
cmp byte [rsp + 0x9a], 0
jne 0x1400c3ff7
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd0]
movzx edx, byte [rsp + 0x98]
test rcx, rcx
je 0x1400c3e6c
cmp rcx, r14
jae 0x1400c3e66
cmp byte [rax + rcx], 0xc0
jge 0x1400c3e6c
jmp 0x1400c42db
mov r14, qword [rsp + 0xa8]
lea rdi, [r14 + rdx]
cmp rdi, r8
jae 0x1400c3ff7
mov r11, qword [rsp + 0xa0]
mov r13, qword [rsp + 0x88]
lea r10, [r13 - 1]
mov edx, 1
sub rdx, r13
mov qword [rsp + 0x78], rdx
cmp r10, rcx
mov qword [rsp + 0x50], r11
jae 0x1400c44d4
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0xf0], rdx
lea rbp, [r9 + r10]
mov qword [rsp + 0x28], r10
lea rdx, [rax + r10]
mov qword [rsp + 0xf8], rdx
mov r10, r13
neg r10
mov qword [rsp + 0x58], r13
jmp 0x1400c3dcc
add r14, rcx
mov rdx, qword [rsp + 0x68]
lea rdi, [r14 + rdx]
cmp rdi, r8
jae 0x1400c3ff7
movzx edx, byte [rax + rdi]
bt r11, rdx
jae 0x1400c3db7
lea r11, [rax + r14]
nop word [rax + rax]
cmp rcx, r13
je 0x1400c3e0e
mov rdi, r13
lea rdx, [r14 + r13]
cmp rdx, r8
jae 0x1400c42db
lea r13, [rdi + 1]
movzx edx, byte [r9 + rdi]
cmp dl, byte [r11 + rdi]
je 0x1400c3de0
add r14, qword [rsp + 0x78]
add r14, rdi
jmp 0x1400c3e57
mov rdx, qword [rsp + 0xf8]
lea rdi, [rdx + r14]
mov rdx, qword [rsp + 0x28]
lea r11, [rdx + r14]
xor r13d, r13d
cmp r10, r13
je 0x1400c3ef4
lea rdx, [r11 + r13]
cmp rdx, r8
jae 0x1400c42db
movzx edx, byte [rbp + r13]
lea rbx, [r13 - 1]
cmp dl, byte [rdi + r13]
mov r13, rbx
je 0x1400c3e26
add r14, qword [rsp + 0xf0]
mov r13, qword [rsp + 0x58]
mov r11, qword [rsp + 0x50]
jmp 0x1400c3dba
jne 0x1400c42db
cmp rcx, r14
jne 0x1400c3e7d
mov r14, rcx
test dl, dl
jne 0x1400c3ef4
jmp 0x1400c3ff7
movzx r8d, byte [rax + rcx]
test r8b, r8b
jns 0x1400c3ee9
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rax + rcx + 1]
and r11d, 0x3f
cmp r8b, 0xe0
jb 0x1400c3ed3
movzx r10d, byte [rax + rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x1400c3edf
movzx r8d, byte [rax + rcx + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
jmp 0x1400c3ee9
shl r9d, 6
or r9d, r11d
mov r8d, r9d
jmp 0x1400c3ee9
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
test dl, dl
je 0x1400c3fea
mov r14, rcx
test r14, r14
je 0x1400c3f14
mov rbp, qword [rsp + 0x30]
cmp r14, rbp
jae 0x1400c3f20
mov rax, qword [rsp + 0x40]
cmp byte [rax + r14], 0xbf
jg 0x1400c3f26
jmp 0x1400c42db
mov ecx, 1
mov rbp, qword [rsp + 0x30]
jmp 0x1400c3f4c
jne 0x1400c42db
test r14, r14
js 0x1400c42db
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, r14
call fcn.1400e65f0
mov rcx, rax
test rax, rax
je 0x1400c42db
mov qword [rsp + 0x28], rcx
mov rdi, qword [rsp + 0x40]
mov rdx, rdi
mov r8, r14
call sub.msvcrt.dll_memcpy
lea rbx, [r14 + 2]
cmp rbp, rbx
jbe 0x1400c3f75
cmp byte [rdi + rbx], 0xbf
jg 0x1400c3f7b
jmp 0x1400c42db
jne 0x1400c42db
sub rbp, rbx
je 0x1400c3fa4
js 0x1400c42db
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rbp
call fcn.1400e65f0
mov rcx, rax
test rax, rax
jne 0x1400c3fa9
jmp 0x1400c42db
mov ecx, 1
mov rdi, r14
shr rdi, 0x20
mov rdx, qword [rsp + 0x40]
add rdx, rbx
mov r8, rbp
mov rbx, rcx
call sub.msvcrt.dll_memcpy
mov r10, rbx
mov r9, rdi
mov al, 2
mov r13d, r14d
mov rbx, rbp
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x28]
jmp 0x1400c431f
cmp r8d, 0x110000
jne 0x1400c4377
movabs rax, 0x8080808080808080
mov dword [rsp + 0xa0], 0x3a
mov cl, 0x3a
xor edi, edi
movdqa xmm1, xmmword [0x140110ea0]
movdqa xmm0, xmmword [0x140110eb0]
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
jmp 0x1400c4035
cmp rbp, rdi
jb 0x1400c4168
mov r8, rbp
sub r8, rdi
lea rdx, [rbx + rdi]
cmp r8, 0x10
jae 0x1400c4078
cmp rbp, rdi
je 0x1400c4168
xor r14d, r14d
nop word cs:[rax + rax]
cmp byte [rdx + r14], 0x3a
je 0x1400c4124
inc r14
cmp r8, r14
jne 0x1400c4060
jmp 0x1400c4168
lea r9, [rdx + 7]
and r9, 0xfffffffffffffff8
sub r9, rdx
jne 0x1400c408e
lea r10, [r8 - 0x10]
xor r9d, r9d
jmp 0x1400c40c5
cmp r9, r8
cmovae r9, r8
xor r14d, r14d
nop dword [rax + rax]
cmp byte [rdx + r14], 0x3a
je 0x1400c4124
inc r14
cmp r9, r14
jne 0x1400c40a0
lea r10, [r8 - 0x10]
nop word cs:[rax + rax]
cmp r9, r10
ja 0x1400c40f4
movdqu xmm2, xmmword [rdx + r9]
movdqa xmm3, xmm2
pxor xmm3, xmm1
paddq xmm3, xmm0
pandn xmm2, xmm3
pshufd xmm3, xmm2, 0xee
por xmm3, xmm2
movq r11, xmm3
test r11, rax
jne 0x1400c40f4
add r9, 0x10
jmp 0x1400c40c0
cmp r9, r8
je 0x1400c4168
add rdx, r9
mov r8, rbp
sub r8, r9
sub r8, rdi
xor r14d, r14d
nop dword [rax + rax]
cmp byte [rdx + r14], 0x3a
je 0x1400c4121
inc r14
cmp r8, r14
jne 0x1400c4110
jmp 0x1400c4168
add r14, r9
add r14, rdi
mov rdi, r14
inc rdi
je 0x1400c402c
cmp rbp, rdi
jb 0x1400c402c
cmp byte [rbx + r14], cl
jne 0x1400c402c
test r14, r14
je 0x1400c43e7
cmp r14, rbp
jae 0x1400c43e1
cmp byte [rbx + r14], 0xbf
jg 0x1400c43e7
jmp 0x1400c42db
mov dword [rsp + 0xa0], 0x3d
mov cl, 0x3d
xor edi, edi
movdqa xmm1, xmmword [0x140110ec0]
jmp 0x1400c418a
cmp rbp, rdi
jb 0x1400c42bb
mov r8, rbp
sub r8, rdi
lea rdx, [rbx + rdi]
cmp r8, 0x10
jae 0x1400c41c8
cmp rbp, rdi
je 0x1400c42bb
xor r14d, r14d
nop word cs:[rax + rax]
cmp byte [rdx + r14], 0x3d
je 0x1400c4274
inc r14
cmp r8, r14
jne 0x1400c41b0
jmp 0x1400c42bb
lea r9, [rdx + 7]
and r9, 0xfffffffffffffff8
sub r9, rdx
jne 0x1400c41de
lea r10, [r8 - 0x10]
xor r9d, r9d
jmp 0x1400c4215
cmp r9, r8
cmovae r9, r8
xor r14d, r14d
nop dword [rax + rax]
cmp byte [rdx + r14], 0x3d
je 0x1400c4274
inc r14
cmp r9, r14
jne 0x1400c41f0
lea r10, [r8 - 0x10]
nop word cs:[rax + rax]
cmp r9, r10
ja 0x1400c4244
movdqu xmm2, xmmword [rdx + r9]
movdqa xmm3, xmm2
pxor xmm3, xmm1
paddq xmm3, xmm0
pandn xmm2, xmm3
pshufd xmm3, xmm2, 0xee
por xmm3, xmm2
movq r11, xmm3
test r11, rax
jne 0x1400c4244
add r9, 0x10
jmp 0x1400c4210
cmp r9, r8
je 0x1400c42bb
add rdx, r9
mov r8, rbp
sub r8, r9
sub r8, rdi
xor r14d, r14d
nop dword [rax + rax]
cmp byte [rdx + r14], 0x3d
je 0x1400c4271
inc r14
cmp r8, r14
jne 0x1400c4260
jmp 0x1400c42bb
add r14, r9
add r14, rdi
mov rdi, r14
inc rdi
je 0x1400c4181
cmp rbp, rdi
jb 0x1400c4181
cmp byte [rbx + r14], cl
jne 0x1400c4181
cmp rdi, 1
je 0x1400c445e
cmp r14, rbp
jae 0x1400c4458
mov rax, qword [rsp + 0x40]
cmp byte [rax + r14], 0xbf
jg 0x1400c445e
jmp 0x1400c42db
test rbp, rbp
je 0x1400c42dd
js 0x1400c42db
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rbp
call fcn.1400e65f0
mov rcx, rax
test rax, rax
jne 0x1400c42e2
ud2
mov ecx, 1
mov rdx, rbx
mov rdi, rcx
mov r8, rbp
call sub.msvcrt.dll_memcpy
mov r8, rdi
mov r9, rbp
shr r9, 0x20
movabs rbx, 0x8000000000000000
or rbx, 1
xor eax, eax
mov r14, rbp
mov r13d, ebp
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
cmp dword [rsp + 0x70], 0x50
mov dword [rsi + 8], r13d
mov dword [rsi + 0xc], r9d
mov qword [rsi + 0x10], r8
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x20], rbx
mov qword [rsi + 0x28], r10
mov qword [rsi + 0x30], rbp
mov byte [rsi + 0x38], al
mov qword [rsi + 0x40], rdx
mov qword [rsi + 0x48], rcx
mov qword [rsi + 0x50], rdi
movups xmm0, xmmword [r12]
movups xmmword [rsi + 0x58], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsi + 0x68], rax
sete byte [rsi + 0x70]
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x1400c3241
mov edx, 1
cmp r8d, 0x80
jb 0x1400c43a3
mov edx, 2
cmp r8d, 0x800
jb 0x1400c43a3
cmp r8d, 0x10000
mov edx, 4
sbb rdx, 0
add rdx, rcx
je 0x1400c43be
cmp rdx, r14
jae 0x1400c43b8
cmp byte [rax + rdx], 0xbf
jg 0x1400c43be
jmp 0x1400c42db
jne 0x1400c42db
cmp rdx, r14
je 0x1400c3ef4
movzx eax, byte [rax + rdx]
test al, al
js 0x1400c43d7
mov r14, rdx
jmp 0x1400c3ef4
cmp al, 0xe0
mov r14, rdx
jmp 0x1400c3ef4
jne 0x1400c42db
mov rcx, r14
call fcn.1400d6090
mov r13, rax
mov rcx, rdx
mov qword [rsp + 0x28], rdx
mov rdx, rbx
mov r8, r14
call sub.msvcrt.dll_memcpy
sub rbp, rdi
jbe 0x1400c4415
cmp byte [rbx + rdi], 0xbf
jg 0x1400c441b
jmp 0x1400c42db
jne 0x1400c42db
mov rax, r13
shr rax, 0x20
mov qword [rsp + 0x30], rax
add rbx, rdi
mov rcx, rbp
call fcn.1400d6090
mov r8, rbx
mov rbx, rax
mov rdi, rdx
mov rcx, rdx
mov rdx, r8
mov r8, rbp
call sub.msvcrt.dll_memcpy
mov r10, rdi
mov r9, qword [rsp + 0x30]
mov al, 1
jmp 0x1400c3fd1
jne 0x1400c42db
mov rcx, r14
call fcn.1400d6090
mov r13, rax
mov rcx, rdx
mov qword [rsp + 0x28], rdx
mov rbx, qword [rsp + 0x40]
mov rdx, rbx
mov r8, r14
call sub.msvcrt.dll_memcpy
sub rbp, rdi
jbe 0x1400c4491
cmp byte [rbx + rdi], 0xbf
jg 0x1400c4497
jmp 0x1400c42db
jne 0x1400c42db
mov rax, r13
shr rax, 0x20
mov qword [rsp + 0x30], rax
add rbx, rdi
mov rcx, rbp
call fcn.1400d6090
mov r8, rbx
mov rbx, rax
mov rdi, rdx
mov rcx, rdx
mov rdx, r8
mov r8, rbp
call sub.msvcrt.dll_memcpy
mov r10, rdi
mov r9, qword [rsp + 0x30]
xor eax, eax
jmp 0x1400c3fd1
mov r12, qword [rsp + 0x28]
movzx edx, byte [rax + rdi]
bt r11, rdx
jae 0x1400c4518
lea r11, [rax + r14]
mov rdi, r13
cmp rdi, rcx
jae 0x1400c4533
mov r10, rdi
lea rdx, [r14 + rdi]
cmp rdx, r8
jae 0x1400c42db
lea rdi, [r10 + 1]
movzx edx, byte [r9 + r10]
cmp dl, byte [r11 + r10]
je 0x1400c44ea
add r14, qword [rsp + 0x78]
add r14, r10
jmp 0x1400c451b
add r14, rcx
mov rdx, qword [rsp + 0x68]
lea rdi, [r14 + rdx]
cmp rdi, r8
mov r11, qword [rsp + 0x50]
jb 0x1400c44d9
jmp 0x1400c3ff7
test r13, r13
mov r12, qword [rsp + 0x28]
je 0x1400c3ef4
jmp 0x1400c42db