Function at 0x1400d34e0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov r14, rdx
mov rsi, rcx
mov r15, qword [rdx]
mov rbx, qword [rdx + 8]
mov rax, qword [r15 + 0xa0]
mov rdi, qword [rdx + 0x10]
mov rcx, rdi
mov rdx, rbx
test rax, rax
je 0x1400d3530
mov rcx, rdi
sub rcx, rax
jbe 0x1400d45df
cmp byte [rbx + rax], 0xc0
jl 0x1400d45df
lea rdx, [rbx + rax]
test rcx, rcx
je 0x1400d45df
movzx ecx, byte [rdx]
test cl, cl
jns 0x1400d3597
mov r8d, ecx
and r8d, 0x1f
movzx r10d, byte [rdx + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400d362d
movzx r9d, byte [rdx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp cl, 0xf0
jb 0x1400d3641
movzx ecx, byte [rdx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
or ecx, r8d
cmp ecx, 0x110000
je 0x1400d45df
cmp ecx, 0x70
je 0x1400d3669
mov rcx, rdi
mov rdx, rbx
test rax, rax
je 0x1400d35c5
mov rcx, rdi
sub rcx, rax
jbe 0x1400d45df
cmp byte [rbx + rax], 0xc0
jl 0x1400d45df
lea rdx, [rbx + rax]
test rcx, rcx
je 0x1400d45df
movzx ecx, byte [rdx]
test cl, cl
jns 0x1400d3660
mov r8d, ecx
and r8d, 0x1f
movzx r10d, byte [rdx + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400d3656
movzx r9d, byte [rdx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp cl, 0xf0
jb 0x1400d3948
movzx ecx, byte [rdx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
or ecx, r8d
cmp ecx, 0x110000
jne 0x1400d3660
jmp 0x1400d45df
shl r8d, 6
or r8d, r10d
mov ecx, r8d
cmp ecx, 0x70
je 0x1400d3669
jmp 0x1400d35a0
shl r8d, 0xc
or r9d, r8d
mov ecx, r9d
cmp ecx, 0x70
jne 0x1400d35a0
jmp 0x1400d3669
shl r8d, 6
or r8d, r10d
mov ecx, r8d
cmp ecx, 0x50
jne 0x1400d45df
cmp qword [r15 + 0x80], 0
jne 0x1400d45df
mov qword [r15 + 0x80], 0xffffffffffffffff
mov qword [r15 + 0x98], 0
mov rdx, rdi
mov rcx, rbx
test rax, rax
je 0x1400d36b4
mov rdx, rdi
sub rdx, rax
jbe 0x1400d45df
cmp byte [rbx + rax], 0xc0
jl 0x1400d45df
add rax, rbx
mov rcx, rax
test rdx, rdx
je 0x1400d45df
movzx r9d, byte [rcx]
test r9b, r9b
js 0x1400d36cd
mov dword [rsp + 0x2c], r9d
jmp 0x1400d3730
mov eax, r9d
and eax, 0x1f
movzx r8d, byte [rcx + 1]
and r8d, 0x3f
cmp r9b, 0xdf
jbe 0x1400d371b
movzx edx, byte [rcx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp r9b, 0xf0
jb 0x1400d3727
movzx ecx, byte [rcx + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
mov dword [rsp + 0x2c], ecx
cmp ecx, 0x110000
jne 0x1400d3730
jmp 0x1400d45df
shl eax, 6
or eax, r8d
mov dword [rsp + 0x2c], eax
jmp 0x1400d3730
shl eax, 0xc
or edx, eax
mov dword [rsp + 0x2c], edx
lea r13, [r15 + 0xa0]
mov rcx, r14
call fcn.1400c6aa0
test al, al
je 0x1400d3758
mov rcx, r14
call fcn.1400c5dc0
mov r12, qword [r13]
cmp rdi, r12
jne 0x1400d381e
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x98], rax
movups xmm0, xmmword [r13]
movups xmmword [rsp + 0x88], xmm0
movdqu xmm0, xmmword [r13]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x80], rax
test rdi, rdi
je 0x1400d37b5
js 0x1400d45df
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, rdi
call fcn.140146820
mov r14, rax
mov r12, rdi
test rax, rax
jne 0x1400d37be
jmp 0x1400d45df
mov r14d, 1
xor r12d, r12d
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmm1, xmmword [rsp + 0x80]
movdqa xmm2, xmmword [rsp + 0x90]
movups xmmword [rsi + 0x50], xmm0
movdqu xmmword [rsi + 0x60], xmm1
movdqu xmmword [rsi + 0x70], xmm2
mov qword [rsi], r12
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rdi
mov dword [rsi + 0x18], 0xa
inc qword [r15 + 0x80]
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, rdi
mov rcx, rbx
test r12, r12
je 0x1400d3844
mov rax, rdi
sub rax, r12
jbe 0x1400d45df
cmp byte [rbx + r12], 0xc0
jl 0x1400d45df
lea rcx, [rbx + r12]
test rax, rax
je 0x1400d45df
movzx eax, byte [rcx]
test al, al
jns 0x1400d38a3
mov edx, eax
and edx, 0x1f
movzx r9d, byte [rcx + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1400d3960
movzx r8d, byte [rcx + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp al, 0xf0
jb 0x1400d3a08
movzx eax, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and eax, 0x3f
or eax, r8d
or eax, edx
cmp eax, 0x110000
je 0x1400d45df
cmp eax, 0x7b
mov qword [rsp + 0x68], r13
jne 0x1400d3976
mov rcx, rdi
mov rax, rbx
test r12, r12
je 0x1400d38d7
mov rcx, rdi
sub rcx, r12
jbe 0x1400d45df
cmp byte [rbx + r12], 0xc0
jl 0x1400d45df
lea rax, [rbx + r12]
test rcx, rcx
je 0x1400d45df
movzx r8d, byte [rax]
mov r10d, 1
test r8b, r8b
jns 0x1400d3b03
mov ecx, r8d
and ecx, 0x1f
movzx r9d, byte [rax + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x1400d3a24
movzx edx, byte [rax + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400d3ad9
movzx eax, byte [rax + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
jne 0x1400d3ae0
jmp 0x1400d45df
shl r8d, 0xc
or r9d, r8d
mov ecx, r9d
cmp ecx, 0x50
je 0x1400d3669
jmp 0x1400d45df
shl edx, 6
or edx, r9d
mov eax, edx
cmp eax, 0x7b
mov qword [rsp + 0x68], r13
je 0x1400d38b1
mov r11, qword [r15 + 0xa8]
mov r10, qword [r15 + 0xb0]
mov rcx, rdi
mov rax, rbx
test r12, r12
je 0x1400d39aa
mov rcx, rdi
sub rcx, r12
jbe 0x1400d45df
cmp byte [rbx + r12], 0xc0
jl 0x1400d45df
lea rax, [rbx + r12]
test rcx, rcx
je 0x1400d45df
movzx ebp, byte [rax]
test bpl, bpl
jns 0x1400d3a39
mov ecx, ebp
and ecx, 0x1f
movzx r8d, byte [rax + 1]
and r8d, 0x3f
cmp bpl, 0xdf
jbe 0x1400d3a31
movzx edx, byte [rax + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp bpl, 0xf0
jb 0x1400d3bb6
movzx ebp, byte [rax + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and ebp, 0x3f
or ebp, edx
or ebp, ecx
cmp ebp, 0x110000
jne 0x1400d3a39
jmp 0x1400d45df
shl edx, 0xc
or r8d, edx
mov eax, r8d
cmp eax, 0x7b
mov qword [rsp + 0x68], r13
je 0x1400d38b1
jmp 0x1400d3976
shl ecx, 6
or ecx, r9d
mov eax, ecx
jmp 0x1400d3ae0
shl ecx, 6
or ecx, r8d
mov ebp, ecx
cmp ebp, 0x5c
jne 0x1400d3bc6
mov rcx, rdi
mov rax, rbx
test r12, r12
je 0x1400d3a68
mov rcx, rdi
sub rcx, r12
jbe 0x1400d45df
cmp byte [rbx + r12], 0xc0
jl 0x1400d45df
lea rax, [rbx + r12]
test rcx, rcx
je 0x1400d45df
movzx r8d, byte [rax]
mov r13d, 1
test r8b, r8b
jns 0x1400d3fd3
mov ecx, r8d
and ecx, 0x1f
movzx r9d, byte [rax + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x1400d3bf6
movzx edx, byte [rax + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400d3fa9
movzx eax, byte [rax + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
jne 0x1400d3fb0
jmp 0x1400d45df
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, 0x80
jb 0x1400d3b03
mov r10d, 2
cmp eax, 0x800
jb 0x1400d3b03
cmp eax, 0x10000
mov r10d, 4
sbb r10, 0
add r10, r12
jb 0x1400d45df
mov qword [rsp + 0x60], r10
mov r10, qword [r15 + 0xb0]
inc r10
je 0x1400d45df
mov r11, qword [r15 + 0xa8]
mov rax, rdi
mov rdx, rbx
test r12, r12
je 0x1400d3b50
mov rax, rdi
sub rax, r12
jbe 0x1400d45df
cmp byte [rbx + r12], 0xc0
jl 0x1400d45df
add r12, rbx
mov rdx, r12
test rax, rax
je 0x1400d45df
movzx eax, byte [rdx]
test al, al
jns 0x1400d3c0c
mov ecx, eax
and ecx, 0x1f
movzx r9d, byte [rdx + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1400d3bac
movzx r8d, byte [rdx + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp al, 0xf0
jb 0x1400d3c03
movzx eax, byte [rdx + 3]
and ecx, 7
shl ecx, 0x12
shl r8d, 6
and eax, 0x3f
or eax, r8d
or eax, ecx
cmp eax, 0x110000
jne 0x1400d3c0c
jmp 0x1400d45df
shl ecx, 6
or ecx, r9d
mov eax, ecx
jmp 0x1400d3c0c
shl ecx, 0xc
or edx, ecx
mov ebp, edx
cmp ebp, 0x5c
je 0x1400d3a42
mov rbx, r11
mov r13, r10
movabs rdi, 0x8000000000000000
mov rcx, r14
call fcn.1400c6aa0
test al, al
je 0x1400d3bea
mov rcx, r14
call fcn.1400c5dc0
mov r8, r12
mov ecx, dword [rsp + 0x2c]
jmp 0x1400d4923
shl ecx, 6
or ecx, r9d
mov eax, ecx
jmp 0x1400d3fb0
shl ecx, 0xc
or r8d, ecx
mov eax, r8d
lea r12, [r15 + 0x88]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov eax, 1
cmove r10, rax
mov qword [rsp + 0x58], r10
add r11, rcx
mov qword [rsp + 0x50], r11
mov rcx, r14
call fcn.1400c6aa0
test al, al
jne 0x1400d3cfa
mov rax, qword [r13]
cmp rdi, rax
je 0x1400d3758
test rax, rax
je 0x1400d3c69
sub rdi, rax
jbe 0x1400d45df
cmp byte [rbx + rax], 0xc0
jl 0x1400d45df
add rbx, rax
test rdi, rdi
je 0x1400d45df
movzx eax, byte [rbx]
test al, al
jns 0x1400d4140
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rbx + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400d3f9c
movzx edx, byte [rbx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x1400d4139
movzx eax, byte [rbx + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
jne 0x1400d4140
jmp 0x1400d45df
mov rax, qword [r15 + 0x90]
mov byte [rax + r13], bpl
inc r13
mov qword [r15 + 0x98], r13
mov r13, qword [rsp + 0x68]
mov rcx, r14
call fcn.1400c6aa0
test al, al
je 0x1400d3c41
mov rcx, r14
call fcn.1400c5dc0
mov rax, qword [r13]
cmp rdi, rax
je 0x1400d3c45
mov rcx, rdi
mov rdx, rbx
test rax, rax
je 0x1400d3d34
mov rcx, rdi
sub rcx, rax
jbe 0x1400d45df
cmp byte [rbx + rax], 0xc0
jl 0x1400d45df
lea rdx, [rbx + rax]
test rcx, rcx
je 0x1400d45df
movzx ecx, byte [rdx]
test cl, cl
jns 0x1400d3db0
mov r8d, ecx
and r8d, 0x1f
movzx r10d, byte [rdx + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400d3d98
movzx r9d, byte [rdx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp cl, 0xf0
jb 0x1400d3ea1
movzx ecx, byte [rdx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
or ecx, r8d
cmp ecx, 0x110000
jne 0x1400d3db0
jmp 0x1400d45df
shl r8d, 6
or r8d, r10d
mov ecx, r8d
nop word cs:[rax + rax]
cmp ecx, 0x7d
je 0x1400d3c45
mov rdx, rdi
mov rcx, rbx
test rax, rax
je 0x1400d3de0
mov rdx, rdi
sub rdx, rax
jbe 0x1400d45df
cmp byte [rbx + rax], 0xc0
jl 0x1400d45df
add rax, rbx
mov rcx, rax
test rdx, rdx
je 0x1400d45df
movzx ebp, byte [rcx]
test bpl, bpl
jns 0x1400d3e45
mov eax, ebp
and eax, 0x1f
movzx r8d, byte [rcx + 1]
and r8d, 0x3f
cmp bpl, 0xdf
jbe 0x1400d3e66
movzx edx, byte [rcx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp bpl, 0xf0
jb 0x1400d3eb9
movzx ebp, byte [rcx + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ebp, 0x3f
or ebp, edx
or ebp, eax
cmp ebp, 0x110000
je 0x1400d45df
cmp ebp, 0x80
jae 0x1400d3e76
mov r13, qword [r15 + 0x98]
cmp r13, qword [r15 + 0x88]
jne 0x1400d3cd0
mov rcx, r12
call fcn.14004e1c0
jmp 0x1400d3cd0
shl eax, 6
or eax, r8d
mov ebp, eax
cmp ebp, 0x80
jb 0x1400d3e45
mov dword [rsp + 0x70], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x1400d3ece
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x70], al
mov r13d, 2
mov eax, 1
jmp 0x1400d3f27
shl r8d, 0xc
or r9d, r8d
mov ecx, r9d
cmp ecx, 0x7d
jne 0x1400d3db9
jmp 0x1400d3c45
shl eax, 0xc
or edx, eax
mov ebp, edx
cmp ebp, 0x80
jb 0x1400d3e45
jmp 0x1400d3e76
cmp ebp, 0x10000
jae 0x1400d3ef9
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 0x1400d3f27
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 [r15 + 0x88]
mov rbp, qword [r15 + 0x98]
sub rax, rbp
cmp rax, r13
jb 0x1400d3f85
mov rcx, qword [r15 + 0x90]
add rcx, rbp
lea rdx, [rsp + 0x70]
mov r8, r13
call sub.msvcrt.dll_memcpy
add rbp, r13
mov qword [r15 + 0x98], rbp
mov r13, qword [rsp + 0x68]
mov rcx, r14
call fcn.1400c6aa0
test al, al
jne 0x1400d3cfa
jmp 0x1400d3c41
mov rcx, r12
mov rdx, rbp
mov r8, r13
call fcn.140106b90
mov rbp, qword [r15 + 0x98]
jmp 0x1400d3f4a
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x1400d4140
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, 0x80
jb 0x1400d3fd3
mov r13d, 2
cmp eax, 0x800
jb 0x1400d3fd3
cmp eax, 0x10000
mov r13d, 4
sbb r13, 0
add r13, r12
jb 0x1400d45df
inc r10
je 0x1400d45df
mov rax, rdi
mov rcx, rbx
test r12, r12
je 0x1400d400d
mov rax, rdi
sub rax, r12
jbe 0x1400d45df
cmp byte [rbx + r12], 0xc0
jl 0x1400d45df
add r12, rbx
mov rcx, r12
test rax, rax
je 0x1400d45df
movzx ebp, byte [rcx]
test bpl, bpl
jns 0x1400d4078
mov eax, ebp
and eax, 0x1f
movzx r8d, byte [rcx + 1]
and r8d, 0x3f
cmp bpl, 0xdf
jbe 0x1400d4067
movzx edx, byte [rcx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp bpl, 0xf0
jb 0x1400d4071
movzx ebp, byte [rcx + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ebp, 0x3f
or ebp, edx
or ebp, eax
cmp ebp, 0x110000
jne 0x1400d4078
jmp 0x1400d45df
shl eax, 6
or eax, r8d
mov ebp, eax
jmp 0x1400d4078
shl eax, 0xc
or edx, eax
mov ebp, edx
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x80], rax
movdqu xmm0, xmmword [rcx]
movdqa xmmword [rsp + 0x70], xmm0
mov ecx, 1
test rdi, rdi
je 0x1400d40d5
js 0x1400d45df
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, rdi
mov r14, r10
mov r12, r11
call fcn.140146820
mov ecx, 1
mov r11, r12
mov r10, r14
mov r14, rax
mov r12, rdi
test rax, rax
jne 0x1400d40de
jmp 0x1400d45df
xor r12d, r12d
mov r14d, 1
xor eax, eax
cmp ebp, 0xa
sete al
cmove r10, rcx
add r11, rax
mov rcx, r14
mov rdx, rbx
mov r8, rdi
mov rbx, r10
mov rbp, r11
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x50], xmm0
mov rax, qword [rsp + 0x80]
mov qword [rsi + 0x60], rax
mov qword [rsi], r12
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rdi
mov dword [rsi + 0x18], 0x1f
mov qword [rsi + 0x68], r13
mov qword [rsi + 0x70], rbp
mov qword [rsi + 0x78], rbx
jmp 0x1400d3803
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, 0x7d
jne 0x1400d45df
mov rcx, r14
call fcn.1400c6aa0
mov rbx, qword [r15 + 0x90]
mov rdi, qword [r15 + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x141a21ad9]
lea rcx, [rsp + 0x70]
mov rdx, rbx
mov r8, rdi
call fcn.140042050
cmp qword [rsp + 0x70], 0
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0x40], rbx
je 0x1400d42d2
mov r12, 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 r12, 0xffffffffffffffff
je 0x1400d4321
mov r14, qword [rsp + 0x98]
lea rbp, [r14 + rdx]
cmp rbp, r8
jae 0x1400d4632
mov r11, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x78]
mov r10, qword [rsp + 0x88]
mov rbx, rcx
mov qword [rsp + 0x38], r10
sub rbx, r10
mov qword [rsp + 0x48], rbx
lea r10, [rdi - 1]
mov qword [rsp + 0x30], r10
jmp 0x1400d4226
add r14, rcx
xor r12d, r12d
lea rbp, [r14 + rdx]
cmp rbp, r8
jae 0x1400d4632
movzx r10d, byte [rax + rbp]
bt r11, r10
jae 0x1400d4213
cmp rdi, r12
mov r10, r12
cmova r10, rdi
lea rbp, [rax + r14]
nop
cmp r10, rcx
jae 0x1400d426f
mov r13, r10
add r10, r14
cmp r10, r8
jae 0x1400d45df
lea r10, [r13 + 1]
movzx ebx, byte [r9 + r13]
cmp bl, byte [rbp + r13]
je 0x1400d4240
sub r14, rdi
add r14, r13
inc r14
jmp 0x1400d4216
mov r13, qword [rsp + 0x30]
nop word cs:[rax + rax]
lea r10, [r13 + 1]
cmp r12, r10
jae 0x1400d4535
cmp r13, rcx
jae 0x1400d45df
lea r10, [r14 + r13]
cmp r10, r8
jae 0x1400d45df
movzx r10d, byte [r9 + r13]
lea rbx, [r13 - 1]
cmp r10b, byte [rbp + r13]
mov r13, rbx
je 0x1400d4280
add r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x48]
lea rbp, [r14 + rdx]
cmp rbp, r8
jb 0x1400d4226
jmp 0x1400d4632
cmp byte [rsp + 0x8a], 0
jne 0x1400d4632
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0xb8]
mov r14, qword [rsp + 0xc0]
movzx edx, byte [rsp + 0x88]
mov r9, rax
test rcx, rcx
je 0x1400d44b3
cmp rcx, r14
jae 0x1400d44a9
cmp byte [rax + rcx], 0xc0
jge 0x1400d44af
jmp 0x1400d45df
mov r14, qword [rsp + 0x98]
lea rbp, [r14 + rdx]
cmp rbp, r8
jae 0x1400d4632
mov rdi, qword [rsp + 0x90]
mov r12, qword [rsp + 0x78]
lea r11, [r12 - 1]
mov r10d, 1
sub r10, r12
mov qword [rsp + 0x30], r10
cmp r11, rcx
jae 0x1400d4395
mov r10, qword [rsp + 0x88]
mov qword [rsp + 0xe0], r10
lea r13, [r9 + r11]
mov qword [rsp + 0xf0], r11
lea r10, [rax + r11]
mov qword [rsp + 0xe8], r10
mov qword [rsp + 0x38], r12
mov r10, r12
neg r10
mov qword [rsp + 0x48], rdi
jmp 0x1400d43ff
movzx r10d, byte [rax + rbp]
bt rdi, r10
jae 0x1400d43de
mov r13, rdi
lea rdi, [rax + r14]
mov r11, r12
cmp r11, rcx
jae 0x1400d449b
mov r10, r11
add r11, r14
cmp r11, r8
jae 0x1400d45df
lea r11, [r10 + 1]
movzx ebx, byte [r9 + r10]
cmp bl, byte [rdi + r10]
je 0x1400d43aa
add r14, qword [rsp + 0x30]
add r14, r10
mov rdi, r13
jmp 0x1400d43e1
add r14, rcx
lea rbp, [r14 + rdx]
cmp rbp, r8
jb 0x1400d4395
jmp 0x1400d4632
add r14, rcx
lea rbp, [r14 + rdx]
cmp rbp, r8
jae 0x1400d4632
movzx r11d, byte [rax + rbp]
bt rdi, r11
jae 0x1400d43ef
lea rdi, [rax + r14]
mov r11, qword [rsp + 0x38]
cmp rcx, r11
je 0x1400d4444
mov rbp, r11
add r11, r14
cmp r11, r8
jae 0x1400d45df
lea r11, [rbp + 1]
movzx ebx, byte [r9 + rbp]
cmp bl, byte [rdi + rbp]
je 0x1400d4413
add r14, qword [rsp + 0x30]
add r14, rbp
mov rdi, qword [rsp + 0x48]
jmp 0x1400d43f2
mov r11, qword [rsp + 0xe8]
lea rbp, [r11 + r14]
mov r11, qword [rsp + 0xf0]
lea rdi, [r11 + r14]
xor r11d, r11d
cmp r10, r11
je 0x1400d4535
lea rbx, [rdi + r11]
cmp rbx, r8
jae 0x1400d45df
movzx ebx, byte [r13 + r11]
lea r12, [r11 - 1]
cmp bl, byte [rbp + r11]
mov r11, r12
je 0x1400d445f
add r14, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0x48]
jmp 0x1400d43f2
test r12, r12
je 0x1400d4535
jmp 0x1400d45df
jne 0x1400d45df
lea r9, [rax + rcx]
cmp r14, rcx
jne 0x1400d44c4
mov r14, rcx
test dl, dl
jne 0x1400d4535
jmp 0x1400d4632
movzx r8d, byte [r9]
test r8b, r8b
jns 0x1400d452a
mov r10d, r8d
and r10d, 0x1f
movzx edi, byte [r9 + 1]
and edi, 0x3f
cmp r8b, 0xe0
jb 0x1400d4514
movzx r11d, byte [r9 + 2]
shl edi, 6
and r11d, 0x3f
or r11d, edi
cmp r8b, 0xf0
jb 0x1400d4520
movzx r8d, byte [r9 + 3]
and r10d, 7
shl r10d, 0x12
shl r11d, 6
and r8d, 0x3f
or r8d, r11d
or r8d, r10d
jmp 0x1400d452a
shl r10d, 6
or r10d, edi
mov r8d, r10d
jmp 0x1400d452a
shl r10d, 0xc
or r11d, r10d
mov r8d, r11d
test dl, dl
je 0x1400d4625
mov r14, rcx
test r14, r14
je 0x1400d4558
mov rbx, qword [rsp + 0xd8]
cmp r14, rbx
mov rdi, qword [rsp + 0x40]
jae 0x1400d456e
cmp byte [rdi + r14], 0xbf
jg 0x1400d4570
jmp 0x1400d45df
mov ecx, 1
xor ebp, ebp
mov rbx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x40]
jmp 0x1400d4591
jne 0x1400d45df
test r14, r14
js 0x1400d45df
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, r14
call fcn.140146820
mov rcx, rax
mov rbp, r14
test rax, rax
je 0x1400d45df
mov qword [rsp + 0x30], rcx
mov rdx, rdi
mov r8, r14
call sub.msvcrt.dll_memcpy
lea rax, [r14 + 2]
cmp rbx, rax
jbe 0x1400d45b2
cmp byte [rdi + rax], 0xbf
jg 0x1400d45b4
jmp 0x1400d45df
jne 0x1400d45df
add rdi, rax
sub rbx, rax
mov qword [rsp + 0x40], rdi
je 0x1400d45e1
js 0x1400d45df
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, rbx
call fcn.140146820
mov r12, rax
mov rdi, rbx
test rax, rax
jne 0x1400d45e9
ud2
xor edi, edi
mov r12d, 1
mov r13, rbp
shr r13, 0x20
mov rcx, r12
mov rdx, qword [rsp + 0x40]
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov r11, r13
mov al, 2
mov r9, rbx
mov r13, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov r10, qword [rsp + 0x30]
jmp 0x1400d4923
cmp r8d, 0x110000
jne 0x1400d497a
movabs rax, 0x8080808080808080
mov dword [rsp + 0x90], 0x3a
mov cl, 0x3a
xor edx, edx
movdqa xmm1, xmmword [0x140216fb0]
movdqa xmm0, xmmword [0x140216fc0]
mov r13, qword [rsp + 0x40]
mov r8, r13
mov rbx, qword [rsp + 0xd8]
mov r9, rbx
jmp 0x1400d4680
lea r8, [rdx + r13]
mov r9, rbx
sub r9, rdx
jb 0x1400d479a
cmp r9, 0x10
jae 0x1400d46b8
cmp rbx, rdx
je 0x1400d479a
xor r14d, r14d
nop word cs:[rax + rax]
cmp byte [r8 + r14], 0x3a
je 0x1400d4754
inc r14
cmp r9, r14
jne 0x1400d46a0
jmp 0x1400d479a
lea r10, [r8 + 7]
and r10, 0xfffffffffffffff8
sub r10, r8
jne 0x1400d46ce
lea r11, [r9 - 0x10]
xor r10d, r10d
jmp 0x1400d4705
cmp r10, r9
cmovae r10, r9
xor r14d, r14d
nop dword [rax + rax]
cmp byte [r8 + r14], 0x3a
je 0x1400d4754
inc r14
cmp r10, r14
jne 0x1400d46e0
lea r11, [r9 - 0x10]
nop word cs:[rax + rax]
cmp r10, r11
ja 0x1400d4734
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 0x1400d4734
add r10, 0x10
jmp 0x1400d4700
sub r9, r10
je 0x1400d479a
add r8, r10
xor r14d, r14d
nop
cmp byte [r8 + r14], 0x3a
je 0x1400d4751
inc r14
cmp r9, r14
jne 0x1400d4740
jmp 0x1400d479a
add r14, r10
add r14, rdx
mov rdx, r14
inc rdx
je 0x1400d4670
cmp rbx, rdx
jb 0x1400d4670
cmp byte [r13 + r14], cl
jne 0x1400d4670
test r14, r14
je 0x1400d49dc
cmp r14, rbx
jae 0x1400d49f8
cmp byte [r13 + r14], 0xbf
jg 0x1400d4a01
jmp 0x1400d45df
mov dword [rsp + 0x90], 0x3d
mov cl, 0x3d
xor edx, edx
movdqa xmm1, xmmword [0x140216fd0]
mov r8, r13
mov r9, rbx
jmp 0x1400d47c9
lea r8, [rdx + r13]
mov r9, rbx
sub r9, rdx
jb 0x1400d48da
cmp r9, 0x10
jae 0x1400d47f8
cmp rbx, rdx
je 0x1400d48da
xor r12d, r12d
nop dword [rax + rax]
cmp byte [r8 + r12], 0x3d
je 0x1400d4894
inc r12
cmp r9, r12
jne 0x1400d47e0
jmp 0x1400d48da
lea r10, [r8 + 7]
and r10, 0xfffffffffffffff8
sub r10, r8
jne 0x1400d480e
lea r11, [r9 - 0x10]
xor r10d, r10d
jmp 0x1400d4845
cmp r10, r9
cmovae r10, r9
xor r12d, r12d
nop dword [rax + rax]
cmp byte [r8 + r12], 0x3d
je 0x1400d4894
inc r12
cmp r10, r12
jne 0x1400d4820
lea r11, [r9 - 0x10]
nop word cs:[rax + rax]
cmp r10, r11
ja 0x1400d4874
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 0x1400d4874
add r10, 0x10
jmp 0x1400d4840
sub r9, r10
je 0x1400d48da
add r8, r10
xor r12d, r12d
nop
cmp byte [r8 + r12], 0x3d
je 0x1400d4891
inc r12
cmp r9, r12
jne 0x1400d4880
jmp 0x1400d48da
add r12, r10
add r12, rdx
mov rdx, r12
inc rdx
je 0x1400d47b9
cmp rbx, rdx
jb 0x1400d47b9
cmp byte [r13 + r12], cl
jne 0x1400d47b9
test r12, r12
je 0x1400d49e6
cmp r12, rbx
jae 0x1400d4aac
cmp byte [r13 + r12], 0xbf
jg 0x1400d4ab5
jmp 0x1400d45df
lea rcx, [rsp + 0x70]
mov rdx, r13
mov r8, rbx
call fcn.1400ccaa0
mov ebp, dword [rsp + 0x70]
mov r11d, dword [rsp + 0x74]
mov r10, qword [rsp + 0x78]
mov r14, qword [rsp + 0x80]
movabs rdi, 0x8000000000000000
or rdi, 1
xor eax, eax
mov r13, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
cmp ecx, 0x50
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rdx + 0x10]
mov qword [rsi + 0x68], rcx
movups xmm0, xmmword [rdx]
movups xmmword [rsi + 0x58], xmm0
mov dword [rsi + 8], ebp
mov dword [rsi + 0xc], r11d
mov qword [rsi + 0x10], r10
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x20], rdi
mov qword [rsi + 0x28], r12
mov qword [rsi + 0x30], r9
mov byte [rsi + 0x38], al
mov qword [rsi + 0x40], r8
mov qword [rsi + 0x48], rbx
mov qword [rsi + 0x50], r13
sete byte [rsi + 0x70]
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x1400d3803
mov edx, 1
cmp r8d, 0x80
jb 0x1400d49a6
mov edx, 2
cmp r8d, 0x800
jb 0x1400d49a6
cmp r8d, 0x10000
mov edx, 4
sbb rdx, 0
add rdx, rcx
je 0x1400d49c4
cmp rdx, r14
jae 0x1400d49bb
cmp byte [rax + rdx], 0xbf
jg 0x1400d49c1
jmp 0x1400d45df
jne 0x1400d45df
add rax, rdx
cmp r14, rdx
je 0x1400d4535
movzx eax, byte [rax]
test al, al
js 0x1400d49ee
mov r14, rdx
jmp 0x1400d4535
mov ecx, 1
xor r14d, r14d
jmp 0x1400d4a27
xor r12d, r12d
jmp 0x1400d4ab5
cmp al, 0xe0
mov r14, rdx
jmp 0x1400d4535
mov r14, rbx
jne 0x1400d45df
test r14, r14
js 0x1400d45df
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, r14
call fcn.140146820
mov rcx, rax
test rax, rax
je 0x1400d45df
mov qword [rsp + 0x30], rcx
mov rdx, r13
mov r8, r14
call sub.msvcrt.dll_memcpy
lea rax, [r14 + 1]
cmp rbx, rax
jbe 0x1400d4a4d
cmp byte [r13 + rax], 0xbf
jg 0x1400d4a53
jmp 0x1400d45df
jne 0x1400d45df
add r13, rax
sub rbx, rax
je 0x1400d4a82
js 0x1400d45df
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, rbx
call fcn.140146820
mov r12, rax
mov rdi, rbx
test rax, rax
jne 0x1400d4a8a
jmp 0x1400d45df
xor edi, edi
mov r12d, 1
mov rbp, r14
shr rbp, 0x20
mov rcx, r12
mov rdx, r13
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov r11, rbp
mov al, 1
mov ebp, r14d
jmp 0x1400d4605
mov r12, rbx
jne 0x1400d45df
lea rcx, [rsp + 0x70]
mov rdx, r13
mov r8, r12
call fcn.1400ccaa0
mov eax, dword [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov ebp, dword [rsp + 0x74]
mov rax, qword [rsp + 0x78]
mov r14, qword [rsp + 0x80]
inc r12
mov qword [rsp + 0x30], rax
je 0x1400d4b04
cmp rbx, r12
jbe 0x1400d4afb
cmp byte [r13 + r12], 0xbf
jg 0x1400d4b01
jmp 0x1400d45df
jne 0x1400d45df
add r13, r12
sub rbx, r12
lea rcx, [rsp + 0x70]
mov rdx, r13
mov r8, rbx
call fcn.1400ccaa0
mov rdi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
mov r9, qword [rsp + 0x80]
xor eax, eax
mov r13, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov r10, qword [rsp + 0x30]
mov r11, rbp
mov rbp, qword [rsp + 0x38]
jmp 0x1400d4923