Function at 0x1400db230
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov r14, rdx
mov rsi, rcx
mov r12, qword [rdx]
mov rdi, qword [rdx + 8]
mov rax, qword [r12 + 0xa0]
mov rbx, qword [rdx + 0x10]
test rax, rax
je 0x1400db277
cmp rax, rbx
jae 0x1400db271
cmp byte [rdi + rax], 0xc0
jge 0x1400db277
jmp 0x1400dc59a
jne 0x1400dc59a
cmp rax, rbx
je 0x1400dc59a
movzx ecx, byte [rdi + rax]
mov r8d, ecx
test cl, cl
jns 0x1400db2e4
mov edx, ecx
and edx, 0x1f
movzx r8d, byte [rdi + rax + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400db35f
movzx r9d, byte [rdi + rax + 2]
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
cmp cl, 0xf0
jb 0x1400db373
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
je 0x1400dc59a
cmp r8d, 0x70
je 0x1400db399
test rax, rax
je 0x1400db305
cmp rax, rbx
jae 0x1400dc59a
cmp cl, 0xbf
jle 0x1400dc59a
test cl, cl
jns 0x1400db390
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [rdi + rax + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400db388
movzx r8d, byte [rdi + rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x1400db672
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 0x1400db390
jmp 0x1400dc59a
shl edx, 6
or edx, r8d
mov r8d, edx
cmp r8d, 0x70
je 0x1400db399
jmp 0x1400db2ee
shl edx, 0xc
or r9d, edx
mov r8d, r9d
cmp r8d, 0x70
jne 0x1400db2ee
jmp 0x1400db399
shl edx, 6
or edx, r9d
mov ecx, edx
cmp ecx, 0x50
jne 0x1400dc59a
cmp qword [r12 + 0x80], 0
jne 0x1400dc59a
mov qword [r12 + 0x80], 0xffffffffffffffff
mov qword [r12 + 0x98], 0
test rax, rax
je 0x1400db3e4
cmp rax, rbx
jae 0x1400dc59a
movzx edx, byte [rdi + rax]
cmp dl, 0xbf
jle 0x1400dc59a
test dl, dl
js 0x1400db3ec
movzx ebp, dl
jmp 0x1400db450
movzx edx, byte [rdi + rax]
test dl, dl
jns 0x1400db3df
mov ecx, edx
and cl, 0x1f
movzx ecx, cl
movzx r9d, byte [rdi + rax + 1]
and r9d, 0x3f
cmp dl, 0xdf
jbe 0x1400db43d
movzx r8d, byte [rdi + rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp dl, 0xf0
jb 0x1400db447
movzx ebp, byte [rdi + rax + 3]
and ecx, 7
shl ecx, 0x12
shl r8d, 6
and ebp, 0x3f
or ebp, r8d
or ebp, ecx
cmp ebp, 0x110000
jne 0x1400db450
jmp 0x1400dc59a
shl ecx, 6
or ecx, r9d
mov ebp, ecx
jmp 0x1400db450
shl ecx, 0xc
or r8d, ecx
mov ebp, r8d
lea r15, [r12 + 0xa0]
mov rcx, r14
call fcn.1400ce4f0
test al, al
je 0x1400db478
mov rcx, r14
call fcn.1400cd7c0
mov r13, qword [r15]
cmp r13, rbx
jne 0x1400db56d
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x70], xmm0
movdqu xmm0, xmmword [r15]
movdqu xmmword [rsp + 0x88], xmm0
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x98], rax
test rbx, rbx
je 0x1400db4d3
js 0x1400dc59a
movzx eax, byte [0x141ada129]
xor ecx, ecx
mov rdx, rbx
call fcn.14014fee0
mov r14, rax
mov r15, rbx
test rax, rax
jne 0x1400db4dc
jmp 0x1400dc59a
mov r14d, 1
xor r15d, r15d
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm1
movaps xmmword [rsp + 0x110], xmm2
mov qword [rsi], r15
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rbx
mov dword [rsi + 0x18], 0xa
movaps xmm0, xmmword [rsp + 0xf0]
movdqa xmm1, xmmword [rsp + 0x100]
movdqa xmm2, xmmword [rsp + 0x110]
movups xmmword [rsi + 0x50], xmm0
movdqu xmmword [rsi + 0x60], xmm1
movdqu xmmword [rsi + 0x70], xmm2
inc qword [r12 + 0x80]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0xe0], ebp
test r13, r13
je 0x1400db58d
cmp r13, rbx
jae 0x1400dc59a
cmp byte [rdi + r13], 0xc0
jl 0x1400dc59a
movzx ebp, byte [rdi + r13]
mov ecx, ebp
test bpl, bpl
jns 0x1400db5eb
mov eax, ebp
and eax, 0x1f
movzx ecx, byte [rdi + r13 + 1]
and ecx, 0x3f
cmp bpl, 0xdf
jbe 0x1400db689
movzx edx, byte [rdi + r13 + 2]
shl ecx, 6
and edx, 0x3f
or edx, ecx
cmp bpl, 0xf0
jb 0x1400db717
movzx ecx, byte [rdi + r13 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x1400dc59a
cmp ecx, 0x7b
jne 0x1400db699
test r13, r13
je 0x1400db60c
cmp r13, rbx
jae 0x1400dc59a
cmp bpl, 0xbf
jle 0x1400dc59a
mov r10d, 1
test bpl, bpl
jns 0x1400db7f3
mov eax, ebp
and eax, 0x1f
movzx ecx, byte [rdi + r13 + 1]
and ecx, 0x3f
cmp bpl, 0xe0
jb 0x1400db72c
movzx edx, byte [rdi + r13 + 2]
shl ecx, 6
and edx, 0x3f
or edx, ecx
cmp bpl, 0xf0
jb 0x1400db7c6
movzx ecx, byte [rdi + r13 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
jne 0x1400db7cd
jmp 0x1400dc59a
shl edx, 0xc
or r8d, edx
mov ecx, r8d
cmp ecx, 0x50
je 0x1400db399
jmp 0x1400dc59a
shl eax, 6
or eax, ecx
mov ecx, eax
cmp ecx, 0x7b
je 0x1400db5f4
mov r9, qword [r12 + 0xa8]
mov r8, qword [r12 + 0xb0]
test r13, r13
je 0x1400db6c1
cmp r13, rbx
jae 0x1400dc59a
cmp bpl, 0xbf
jle 0x1400dc59a
mov edx, ebp
test bpl, bpl
jns 0x1400db73f
mov eax, ebp
and eax, 0x1f
movzx edx, byte [rdi + r13 + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x1400db738
movzx ecx, byte [rdi + r13 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x1400db88f
movzx edx, byte [rdi + r13 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, eax
cmp edx, 0x110000
jne 0x1400db73f
jmp 0x1400dc59a
shl eax, 0xc
or edx, eax
mov ecx, edx
cmp ecx, 0x7b
je 0x1400db5f4
jmp 0x1400db699
shl eax, 6
or eax, ecx
mov ecx, eax
jmp 0x1400db7cd
shl eax, 6
or eax, edx
mov edx, eax
cmp edx, 0x5c
jne 0x1400db89f
test r13, r13
je 0x1400db760
cmp r13, rbx
jae 0x1400dc59a
cmp bpl, 0xbf
jle 0x1400dc59a
mov r10d, 1
test bpl, bpl
jns 0x1400dbc98
mov eax, ebp
and eax, 0x1f
movzx ecx, byte [rdi + r13 + 1]
and ecx, 0x3f
cmp bpl, 0xe0
jb 0x1400db8ce
movzx edx, byte [rdi + r13 + 2]
shl ecx, 6
and edx, 0x3f
or edx, ecx
cmp bpl, 0xf0
jb 0x1400dbc6b
movzx ecx, byte [rdi + r13 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
jne 0x1400dbc72
jmp 0x1400dc59a
shl eax, 0xc
or edx, eax
mov ecx, edx
cmp ecx, 0x80
jb 0x1400db7f3
mov r10d, 2
cmp ecx, 0x800
jb 0x1400db7f3
cmp ecx, 0x10000
mov r10d, 4
sbb r10, 0
add r10, r13
jb 0x1400dc59a
mov r8, qword [r12 + 0xb0]
inc r8
je 0x1400dc59a
mov r9, qword [r12 + 0xa8]
test r13, r13
je 0x1400db82d
cmp r13, rbx
jae 0x1400dc59a
cmp bpl, 0xbf
jle 0x1400dc59a
test bpl, bpl
mov qword [rsp + 0x58], r10
jns 0x1400db8e1
mov eax, ebp
and eax, 0x1f
movzx edx, byte [rdi + r13 + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x1400db886
movzx ecx, byte [rdi + r13 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x1400db8da
movzx ebp, byte [rdi + r13 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
jne 0x1400db8e1
jmp 0x1400dc59a
shl eax, 6
or eax, edx
mov ebp, eax
jmp 0x1400db8e1
shl eax, 0xc
or ecx, eax
mov edx, ecx
cmp edx, 0x5c
je 0x1400db748
mov rbx, rdx
mov rdi, r9
mov rbp, r8
mov rcx, r14
call fcn.1400ce4f0
test al, al
je 0x1400db8bc
mov rcx, r14
call fcn.1400cd7c0
mov rcx, r13
movabs r9, 0x8000000000000000
jmp 0x1400dc5e4
shl eax, 6
or eax, ecx
mov ecx, eax
jmp 0x1400dbc72
shl eax, 0xc
or ecx, eax
mov ebp, ecx
lea r13, [r12 + 0x88]
xor eax, eax
cmp ebp, 0xa
sete al
mov ecx, 1
cmove r8, rcx
mov qword [rsp + 0x68], r8
add r9, rax
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x28], rsi
mov rcx, r14
call fcn.1400ce4f0
test al, al
jne 0x1400db9d4
mov rax, qword [r15]
cmp rax, rbx
je 0x1400db478
test rax, rax
je 0x1400db940
cmp rax, rbx
jae 0x1400dc59a
cmp byte [rdi + rax], 0xc0
jl 0x1400dc59a
movzx ecx, byte [rdi + rax]
test cl, cl
jns 0x1400dbe14
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [rdi + rax + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400dbc5e
movzx r8d, byte [rdi + rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x1400dbe0b
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 0x1400dbe14
jmp 0x1400dc59a
mov rcx, qword [r12 + 0x90]
mov byte [rcx + rax], bpl
inc qword [r12 + 0x98]
mov rcx, r14
call fcn.1400ce4f0
test al, al
je 0x1400db91c
mov rcx, r14
call fcn.1400cd7c0
mov rax, qword [r15]
cmp rax, rbx
je 0x1400db91f
test rax, rax
je 0x1400dba00
cmp rax, rbx
jae 0x1400dc59a
cmp byte [rdi + rax], 0xc0
jl 0x1400dc59a
movzx ebp, byte [rdi + rax]
mov edx, ebp
test bpl, bpl
jns 0x1400dba70
mov ecx, ebp
and ecx, 0x1f
movzx edx, byte [rdi + rax + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x1400dba5c
movzx r8d, byte [rdi + rax + 2]
shl edx, 6
and r8d, 0x3f
or r8d, edx
cmp bpl, 0xf0
jb 0x1400dbb59
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 0x1400dba70
jmp 0x1400dc59a
shl ecx, 6
or ecx, edx
mov edx, ecx
nop word cs:[rax + rax]
cmp edx, 0x7d
je 0x1400db91f
test rax, rax
je 0x1400dba91
cmp rax, rbx
jae 0x1400dc59a
cmp bpl, 0xbf
jle 0x1400dc59a
test bpl, bpl
jns 0x1400dbaed
mov ecx, ebp
and ecx, 0x1f
movzx r8d, byte [rdi + rax + 1]
and r8d, 0x3f
cmp bpl, 0xdf
jbe 0x1400dbb18
movzx edx, byte [rdi + rax + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp bpl, 0xf0
jb 0x1400dbb70
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
je 0x1400dc59a
cmp ebp, 0x80
jae 0x1400dbb28
mov rax, qword [r12 + 0x98]
cmp rax, qword [r12 + 0x88]
jne 0x1400db9b0
mov rcx, r13
call fcn.14006b710
mov rax, qword [r12 + 0x98]
jmp 0x1400db9b0
shl ecx, 6
or ecx, r8d
mov ebp, ecx
cmp ebp, 0x80
jb 0x1400dbaed
mov rsi, r15
mov dword [rsp + 0x70], 0
mov r15, r13
mov eax, ebp
cmp ebp, 0x800
jae 0x1400dbb85
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x70], al
mov r13d, 2
mov eax, 1
jmp 0x1400dbbde
shl ecx, 0xc
or r8d, ecx
mov edx, r8d
cmp edx, 0x7d
jne 0x1400dba79
jmp 0x1400db91f
shl ecx, 0xc
or edx, ecx
mov ebp, edx
cmp ebp, 0x80
jb 0x1400dbaed
jmp 0x1400dbb28
cmp ebp, 0x10000
jae 0x1400dbbb0
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x70], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x71], al
mov r13d, 3
mov eax, 2
jmp 0x1400dbbde
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x70], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x71], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x72], al
mov r13d, 4
mov eax, 3
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + rax + 0x70], bpl
mov rax, qword [r12 + 0x88]
mov rbp, qword [r12 + 0x98]
sub rax, rbp
cmp rax, r13
jb 0x1400dbc46
mov rcx, qword [r12 + 0x90]
add rcx, rbp
lea rdx, [rsp + 0x70]
mov r8, r13
call sub.msvcrt.dll_memcpy
add rbp, r13
mov qword [r12 + 0x98], rbp
mov r13, r15
mov r15, rsi
mov rsi, qword [rsp + 0x28]
mov rcx, r14
call fcn.1400ce4f0
test al, al
jne 0x1400db9d4
jmp 0x1400db91c
mov rcx, r15
mov rdx, rbp
mov r8, r13
call fcn.14017bc20
mov rbp, qword [r12 + 0x98]
jmp 0x1400dbc03
shl edx, 6
or edx, r9d
mov ecx, edx
jmp 0x1400dbe14
shl eax, 0xc
or edx, eax
mov ecx, edx
cmp ecx, 0x80
jb 0x1400dbc98
mov r10d, 2
cmp ecx, 0x800
jb 0x1400dbc98
cmp ecx, 0x10000
mov r10d, 4
sbb r10, 0
add r10, r13
jb 0x1400dc59a
inc r8
je 0x1400dc59a
test r13, r13
je 0x1400dbcc2
cmp r13, rbx
jae 0x1400dc59a
cmp bpl, 0xbf
jle 0x1400dc59a
test bpl, bpl
jns 0x1400dbd22
mov eax, ebp
and eax, 0x1f
movzx edx, byte [rdi + r13 + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x1400dbd12
movzx ecx, byte [rdi + r13 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x1400dbd1b
movzx ebp, byte [rdi + r13 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
jne 0x1400dbd22
jmp 0x1400dc59a
shl eax, 6
or eax, edx
mov ebp, eax
jmp 0x1400dbd22
shl eax, 0xc
or ecx, eax
mov ebp, ecx
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x80], rax
movdqu xmm0, xmmword [r15]
movdqa xmmword [rsp + 0x70], xmm0
mov r15d, 1
test rbx, rbx
mov qword [rsp + 0xe0], r10
je 0x1400dbd7f
js 0x1400dc59a
movzx eax, byte [0x141ada129]
xor ecx, ecx
mov rdx, rbx
mov r14, r8
mov r13, r9
call fcn.14014fee0
mov r9, r13
mov r8, r14
mov r14, rax
mov r13, rbx
test rax, rax
jne 0x1400dbd88
jmp 0x1400dc59a
xor r13d, r13d
mov r14d, 1
xor eax, eax
cmp ebp, 0xa
sete al
cmove r8, r15
add r9, rax
mov rcx, r14
mov rdx, rdi
mov rdi, r8
mov r8, rbx
mov r15, r9
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0xf0], xmm0
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x100], rax
mov qword [rsi], r13
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rbx
mov dword [rsi + 0x18], 0x1f
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsi + 0x50], xmm0
mov rax, qword [rsp + 0x100]
mov qword [rsi + 0x60], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsi + 0x68], rax
mov qword [rsi + 0x70], r15
mov qword [rsi + 0x78], rdi
jmp 0x1400db551
shl edx, 0xc
or r8d, edx
mov ecx, r8d
cmp ecx, 0x7d
jne 0x1400dc59a
mov rcx, r14
call fcn.1400ce4f0
mov rdx, qword [r12 + 0x90]
mov qword [rsp + 0x48], rdx
mov r8, qword [r12 + 0x98]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x20], 2
lea r9, [0x141a03d58]
lea rcx, [rsp + 0x70]
call fcn.140045c00
cmp qword [rsp + 0x70], 0
je 0x1400dbf92
mov r13, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xd0]
lea rdx, [rcx - 1]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0xc8]
cmp r13, 0xffffffffffffffff
mov qword [rsp + 0x38], rdx
je 0x1400dbfde
mov r14, qword [rsp + 0x98]
lea rbp, [r14 + rdx]
cmp rbp, r8
jae 0x1400dc2d2
mov r11, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x88]
mov r10, rcx
mov qword [rsp + 0x40], rdx
sub r10, rdx
mov qword [rsp + 0x50], r10
lea rdx, [rdi - 1]
mov qword [rsp + 0x28], rdx
movzx r10d, byte [rax + rbp]
bt r11, r10
jae 0x1400dbf2e
cmp rdi, r13
mov r10, r13
cmova r10, rdi
lea rbp, [rax + r14]
nop dword [rax]
cmp r10, rcx
jae 0x1400dbf47
mov rbx, r10
add r10, r14
cmp r10, r8
jae 0x1400dc59a
lea r10, [rbx + 1]
movzx edx, byte [r9 + rbx]
cmp dl, byte [rbp + rbx]
je 0x1400dbf00
sub r14, rdi
add r14, rbx
inc r14
jmp 0x1400dbf31
add r14, rcx
xor r13d, r13d
mov rdx, qword [rsp + 0x38]
lea rbp, [r14 + rdx]
cmp rbp, r8
jb 0x1400dbee3
jmp 0x1400dc2d2
mov rbx, qword [rsp + 0x28]
nop dword [rax]
lea r10, [rbx + 1]
cmp r13, r10
jae 0x1400dc1a9
cmp rbx, rcx
jae 0x1400dc59a
lea r10, [r14 + rbx]
cmp r10, r8
jae 0x1400dc59a
movzx r10d, byte [r9 + rbx]
lea rdx, [rbx - 1]
cmp r10b, byte [rbp + rbx]
mov rbx, rdx
je 0x1400dbf50
add r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
jmp 0x1400dbf34
cmp byte [rsp + 0x8a], 0
jne 0x1400dc2d2
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0xb8]
mov r14, qword [rsp + 0xc0]
movzx edx, byte [rsp + 0x88]
test rcx, rcx
je 0x1400dc121
cmp rcx, r14
jae 0x1400dc11b
cmp byte [rax + rcx], 0xc0
jge 0x1400dc121
jmp 0x1400dc59a
mov r14, qword [rsp + 0x98]
lea rdi, [r14 + rdx]
cmp rdi, r8
jae 0x1400dc2d2
mov r11, qword [rsp + 0x90]
mov r13, qword [rsp + 0x78]
lea r10, [r13 - 1]
mov edx, 1
sub rdx, r13
mov qword [rsp + 0xe8], rdx
cmp r10, rcx
mov qword [rsp + 0x40], r11
jae 0x1400dc7ff
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x128], rdx
lea rbp, [r9 + r10]
mov qword [rsp + 0x28], r10
lea rdx, [rax + r10]
mov qword [rsp + 0x130], rdx
mov r10, r13
neg r10
mov qword [rsp + 0x50], r13
jmp 0x1400dc069
add r14, rcx
mov rdx, qword [rsp + 0x38]
lea rdi, [r14 + rdx]
cmp rdi, r8
jae 0x1400dc2d2
movzx edx, byte [rax + rdi]
bt r11, rdx
jae 0x1400dc054
lea r11, [rax + r14]
nop word [rax + rax]
cmp rcx, r13
je 0x1400dc0b1
mov rdi, r13
lea rdx, [r14 + r13]
cmp rdx, r8
jae 0x1400dc59a
lea r13, [rdi + 1]
movzx edx, byte [r9 + rdi]
cmp dl, byte [r11 + rdi]
je 0x1400dc080
add r14, qword [rsp + 0xe8]
add r14, rdi
jmp 0x1400dc0fa
mov rdx, qword [rsp + 0x130]
lea rdi, [rdx + r14]
mov rdx, qword [rsp + 0x28]
lea r11, [rdx + r14]
xor r13d, r13d
cmp r10, r13
je 0x1400dc1a9
lea rdx, [r11 + r13]
cmp rdx, r8
jae 0x1400dc59a
movzx edx, byte [rbp + r13]
lea rbx, [r13 - 1]
cmp dl, byte [rdi + r13]
mov r13, rbx
je 0x1400dc0c9
add r14, qword [rsp + 0x128]
mov r13, qword [rsp + 0x50]
mov r11, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
lea rdi, [r14 + rdx]
cmp rdi, r8
jb 0x1400dc069
jmp 0x1400dc2d2
jne 0x1400dc59a
cmp rcx, r14
jne 0x1400dc132
mov r14, rcx
test dl, dl
jne 0x1400dc1a9
jmp 0x1400dc2d2
movzx r8d, byte [rax + rcx]
test r8b, r8b
jns 0x1400dc19e
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rax + rcx + 1]
and r11d, 0x3f
cmp r8b, 0xe0
jb 0x1400dc188
movzx r10d, byte [rax + rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x1400dc194
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 0x1400dc19e
shl r9d, 6
or r9d, r11d
mov r8d, r9d
jmp 0x1400dc19e
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
test dl, dl
je 0x1400dc2c5
mov r14, rcx
test r14, r14
je 0x1400dc1c9
mov rdi, qword [rsp + 0x30]
cmp r14, rdi
mov rbx, qword [rsp + 0x48]
jae 0x1400dc1e1
cmp byte [rbx + r14], 0xbf
jg 0x1400dc1e7
jmp 0x1400dc59a
mov ecx, 1
xor eax, eax
mov qword [rsp + 0x28], rax
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x48]
jmp 0x1400dc212
jne 0x1400dc59a
test r14, r14
js 0x1400dc59a
movzx eax, byte [0x141ada129]
xor ecx, ecx
mov rdx, r14
call fcn.14014fee0
mov rcx, rax
mov qword [rsp + 0x28], r14
test rax, rax
je 0x1400dc59a
mov qword [rsp + 0x38], rcx
mov rdx, rbx
mov r8, r14
call sub.msvcrt.dll_memcpy
lea rbp, [r14 + 2]
cmp rdi, rbp
jbe 0x1400dc236
cmp byte [rbx + rbp], 0xbf
jg 0x1400dc23c
jmp 0x1400dc59a
jne 0x1400dc59a
sub rdi, rbp
mov r13, qword [rsp + 0x28]
je 0x1400dc277
js 0x1400dc59a
movzx eax, byte [0x141ada129]
xor ecx, ecx
mov rdx, rdi
call fcn.14014fee0
mov r13, qword [rsp + 0x28]
mov rcx, rax
mov rax, rdi
mov qword [rsp + 0x30], rdi
test rcx, rcx
jne 0x1400dc283
jmp 0x1400dc59a
xor eax, eax
mov qword [rsp + 0x30], rax
mov ecx, 1
shr r13, 0x20
mov rdx, qword [rsp + 0x48]
add rdx, rbp
mov r8, rdi
mov rbx, rcx
call sub.msvcrt.dll_memcpy
mov r10, rbx
mov rbx, qword [rsp + 0x28]
mov al, 2
mov rbp, qword [rsp + 0x68]
mov rdx, rdi
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
jmp 0x1400dc5e4
cmp r8d, 0x110000
jne 0x1400dc63c
movabs rax, 0x8080808080808080
mov dword [rsp + 0x90], 0x3a
mov cl, 0x3a
xor edx, edx
movdqa xmm1, xmmword [0x14021af00]
movdqa xmm0, xmmword [0x14021af10]
mov rbp, qword [rsp + 0x48]
mov r8, rbp
mov rdi, qword [rsp + 0x30]
mov r9, rdi
jmp 0x1400dc31d
lea r8, [rdx + rbp]
mov r9, rdi
sub r9, rdx
jb 0x1400dc43a
cmp r9, 0x10
jae 0x1400dc348
cmp rdi, rdx
je 0x1400dc43a
xor r14d, r14d
nop
cmp byte [r8 + r14], 0x3a
je 0x1400dc3f4
inc r14
cmp r9, r14
jne 0x1400dc330
jmp 0x1400dc43a
lea r10, [r8 + 7]
and r10, 0xfffffffffffffff8
sub r10, r8
jne 0x1400dc35e
lea r11, [r9 - 0x10]
xor r10d, r10d
jmp 0x1400dc395
cmp r10, r9
cmovae r10, r9
xor r14d, r14d
nop dword [rax + rax]
cmp byte [r8 + r14], 0x3a
je 0x1400dc3f4
inc r14
cmp r10, r14
jne 0x1400dc370
lea r11, [r9 - 0x10]
nop word cs:[rax + rax]
cmp r10, r11
ja 0x1400dc3c4
movdqu xmm2, xmmword [r8 + r10]
movdqa xmm3, xmm2
pxor xmm3, xmm1
paddq xmm3, xmm0
pandn xmm2, xmm3
pshufd xmm3, xmm2, 0xee
por xmm3, xmm2
movq rdi, xmm3
test rdi, rax
jne 0x1400dc3c4
add r10, 0x10
jmp 0x1400dc390
sub r9, r10
mov rdi, qword [rsp + 0x30]
je 0x1400dc43a
add r8, r10
xor r14d, r14d
nop word cs:[rax + rax]
cmp byte [r8 + r14], 0x3a
je 0x1400dc3f1
inc r14
cmp r9, r14
jne 0x1400dc3e0
jmp 0x1400dc43a
add r14, r10
add r14, rdx
mov rdx, r14
inc rdx
je 0x1400dc30d
cmp rdi, rdx
jb 0x1400dc30d
cmp byte [rbp + r14], cl
jne 0x1400dc30d
test r14, r14
je 0x1400dc69c
cmp r14, rdi
jae 0x1400dc6b0
cmp byte [rbp + r14], 0xbf
jg 0x1400dc6b9
jmp 0x1400dc59a
mov dword [rsp + 0x90], 0x3d
mov cl, 0x3d
xor ebx, ebx
movdqa xmm1, xmmword [0x14021af20]
mov rdx, rbp
mov r9, rdi
jmp 0x1400dc469
lea rdx, [rbx + rbp]
mov r9, rdi
sub r9, rbx
jb 0x1400dc577
cmp r9, 0x10
jae 0x1400dc498
cmp rdi, rbx
je 0x1400dc577
xor r8d, r8d
nop dword [rax + rax]
cmp byte [rdx + r8], 0x3d
je 0x1400dc534
inc r8
cmp r9, r8
jne 0x1400dc480
jmp 0x1400dc577
lea r10, [rdx + 7]
and r10, 0xfffffffffffffff8
sub r10, rdx
jne 0x1400dc4ae
lea r8, [r9 - 0x10]
xor r10d, r10d
jmp 0x1400dc4e5
cmp r10, r9
cmovae r10, r9
xor r8d, r8d
nop dword [rax + rax]
cmp byte [rdx + r8], 0x3d
je 0x1400dc534
inc r8
cmp r10, r8
jne 0x1400dc4c0
lea r8, [r9 - 0x10]
nop word cs:[rax + rax]
cmp r10, r8
ja 0x1400dc514
movdqu xmm2, xmmword [rdx + r10]
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 0x1400dc514
add r10, 0x10
jmp 0x1400dc4e0
sub r9, r10
je 0x1400dc577
add rdx, r10
xor r8d, r8d
nop
cmp byte [rdx + r8], 0x3d
je 0x1400dc531
inc r8
cmp r9, r8
jne 0x1400dc520
jmp 0x1400dc577
add r8, r10
add r8, rbx
mov rbx, r8
inc rbx
je 0x1400dc459
cmp rdi, rbx
jb 0x1400dc459
cmp byte [rbp + r8], cl
jne 0x1400dc459
test r8, r8
je 0x1400dc776
cmp r8, rdi
jae 0x1400dc770
cmp byte [rbp + r8], 0xbf
jg 0x1400dc776
jmp 0x1400dc59a
test rdi, rdi
je 0x1400dc59c
js 0x1400dc59a
movzx eax, byte [0x141ada129]
xor ecx, ecx
mov rdx, rdi
call fcn.14014fee0
mov rcx, rax
mov r14, rdi
test rax, rax
jne 0x1400dc5a4
ud2
mov ecx, 1
xor r14d, r14d
mov rdx, rbp
mov rbx, rcx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov r8, rbx
mov rbx, r14
mov r13, r14
shr r13, 0x20
movabs r9, 0x8000000000000000
or r9, 1
xor eax, eax
mov r14, rdi
mov rbp, qword [rsp + 0x68]
mov rdx, rdi
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
cmp dword [rsp + 0xe0], 0x50
mov dword [rsi + 8], ebx
mov dword [rsi + 0xc], r13d
mov qword [rsi + 0x10], r8
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x20], r9
mov qword [rsi + 0x28], r10
mov qword [rsi + 0x30], rdx
mov byte [rsi + 0x38], al
mov qword [rsi + 0x40], rcx
mov qword [rsi + 0x48], rdi
mov qword [rsi + 0x50], rbp
movups xmm0, xmmword [r15]
movups xmmword [rsi + 0x58], xmm0
mov rax, qword [r15 + 0x10]
mov qword [rsi + 0x68], rax
sete byte [rsi + 0x70]
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x1400db551
mov edx, 1
cmp r8d, 0x80
jb 0x1400dc668
mov edx, 2
cmp r8d, 0x800
jb 0x1400dc668
cmp r8d, 0x10000
mov edx, 4
sbb rdx, 0
add rdx, rcx
je 0x1400dc683
cmp rdx, r14
jae 0x1400dc67d
cmp byte [rax + rdx], 0xbf
jg 0x1400dc683
jmp 0x1400dc59a
jne 0x1400dc59a
cmp rdx, r14
je 0x1400dc1a9
movzx eax, byte [rax + rdx]
test al, al
js 0x1400dc6a6
mov r14, rdx
jmp 0x1400dc1a9
mov ecx, 1
xor r14d, r14d
jmp 0x1400dc6df
cmp al, 0xe0
mov r14, rdx
jmp 0x1400dc1a9
mov r14, rdi
jne 0x1400dc59a
test r14, r14
js 0x1400dc59a
movzx eax, byte [0x141ada129]
xor ecx, ecx
mov rdx, r14
call fcn.14014fee0
mov rcx, rax
test rax, rax
je 0x1400dc59a
mov qword [rsp + 0x38], rcx
mov rdx, rbp
mov r8, r14
call sub.msvcrt.dll_memcpy
mov rax, rbp
lea rbp, [r14 + 1]
cmp rdi, rbp
jbe 0x1400dc706
cmp byte [rax + rbp], 0xbf
jg 0x1400dc70c
jmp 0x1400dc59a
jne 0x1400dc59a
sub rdi, rbp
je 0x1400dc73d
js 0x1400dc59a
movzx eax, byte [0x141ada129]
xor ecx, ecx
mov rdx, rdi
call fcn.14014fee0
mov rcx, rax
mov rax, rdi
mov qword [rsp + 0x30], rdi
test rcx, rcx
jne 0x1400dc749
jmp 0x1400dc59a
xor eax, eax
mov qword [rsp + 0x30], rax
mov ecx, 1
mov r13, r14
shr r13, 0x20
mov rdx, qword [rsp + 0x48]
add rdx, rbp
mov r8, rdi
mov rbx, rcx
call sub.msvcrt.dll_memcpy
mov r10, rbx
mov al, 1
mov ebx, r14d
jmp 0x1400dc2a4
jne 0x1400dc59a
lea rcx, [rsp + 0x70]
mov rdx, rbp
call fcn.14010a370
mov ecx, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x74]
mov rax, qword [rsp + 0x78]
mov r14, qword [rsp + 0x80]
sub rdi, rbx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rcx
jbe 0x1400dc7b4
cmp byte [rbp + rbx], 0xbf
jg 0x1400dc7ba
jmp 0x1400dc59a
jne 0x1400dc59a
add rbp, rbx
lea rcx, [rsp + 0x70]
mov rdx, rbp
mov r8, rdi
call fcn.14010a370
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
xor eax, eax
mov rbp, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x28]
jmp 0x1400dc5e4
mov rsi, qword [rsp + 0x28]
movzx edx, byte [rax + rdi]
bt r11, rdx
jae 0x1400dc846
lea r11, [rax + r14]
mov rdi, r13
cmp rdi, rcx
jae 0x1400dc861
mov r10, rdi
lea rdx, [r14 + rdi]
cmp rdx, r8
jae 0x1400dc59a
lea rdi, [r10 + 1]
movzx edx, byte [r9 + r10]
cmp dl, byte [r11 + r10]
je 0x1400dc815
add r14, qword [rsp + 0xe8]
add r14, r10
jmp 0x1400dc849
add r14, rcx
mov rdx, qword [rsp + 0x38]
lea rdi, [r14 + rdx]
cmp rdi, r8
mov r11, qword [rsp + 0x40]
jb 0x1400dc804
jmp 0x1400dc2d2
test r13, r13
mov rsi, qword [rsp + 0x28]
je 0x1400dc1a9
jmp 0x1400dc59a