Function at 0x140140450
Capabilities:
Encode data using base64

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], r9
mov qword [r11 + 0x18], r8
push rbx
push rbp
push rdi
push r12
push r14
push r15
sub rsp, 0x48
mov r12d, dword [rsp + 0xa0]
mov eax, 0x27
mov r14, qword [rdx + 0x38]
bt r12d, 9
mov r15d, 0x22
mov rbx, r9
cmovb r15d, eax
mov rdi, r8
mov dword [rsp + 0x88], r15d
mov rbp, rcx
test r14, r14
je 0x1401413bb
mov rdx, qword [rcx + 0x2808]
mov qword [r11 + 8], rsi
mov qword [r11 - 0x38], r13
mov r13d, r12d
and r13d, 0x44
lea r11d, [rax + 0x18]
mov dword [rsp + 0x30], r13d
cmp r13d, 0x40
jne 0x140140514
cmp rdx, 0x7ff
jbe 0x1401404e0
mov r8, rdx
mov rcx, rbp
mov rdx, rbp
call fcn.14013c990
xor edx, edx
mov r9d, dword [rsp + 0xa8]
lea rax, [rdx + 1]
mov byte [rdx + rbp], 0xa
inc r9d
mov r8, rbx
mov qword [rbp + 0x2808], rax
mov rdx, rdi
mov rcx, rbp
call fcn.14013eb00
mov rdx, qword [rbp + 0x2808]
jmp 0x140140983
cmp rdx, 0x7ff
jbe 0x140140975
mov edi, dword [rbp + 0x2810]
cmp edi, 1
jne 0x140140537
mov r8, rdx
mov rdx, rbp
jmp 0x14014095f
lea eax, [rdi - 2]
lea rsi, [rbp + 0x800]
cmp eax, 1
jbe 0x14014071d
lea eax, [rdi - 5]
cmp eax, 1
jbe 0x1401406fd
cmp edi, 9
jne 0x1401406f5
mov r8, rsi
mov r9, rbp
movzx eax, byte [r9]
mov r10d, eax
cmp al, 0x80
jae 0x1401405d3
mov byte [r8], al
inc r9
inc r8
dec rdx
test r9b, 3
jne 0x1401406e4
cmp rdx, 4
jb 0x1401406e4
mov eax, dword [r9]
test eax, 0x80808080
jne 0x1401406e4
mov byte [r8], al
sub rdx, 4
movzx eax, byte [r9 + 1]
mov byte [r8 + 1], al
movzx eax, byte [r9 + 2]
mov byte [r8 + 2], al
movzx eax, byte [r9 + 3]
add r9, 4
mov byte [r8 + 3], al
add r8, 4
cmp rdx, 4
jae 0x140140590
jmp 0x1401406e4
add eax, 0xffffff40
cmp eax, 0x20
jae 0x140140626
cmp rdx, 2
jb 0x140140626
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x140140626
shl r10d, 6
mov eax, ecx
and eax, 0x3f
and r10d, 0xffffcfc0
or r10d, eax
cmp r10d, 0xff
movzx eax, r10b
cmova eax, r11d
add r9, 2
mov byte [r8], al
inc r8
sub rdx, 2
jmp 0x1401406e4
lea eax, [r10 - 0xe0]
cmp eax, 0x10
jae 0x14014069a
cmp rdx, 3
jb 0x14014069a
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x14014069a
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x140140694
and ecx, 0x3f
shl r10d, 0xc
shl ecx, 6
and r10d, 0xfff1f000
or ecx, r10d
mov eax, r11d
and eax, 0x3f
mov r11d, 0x3f
or ecx, eax
cmp ecx, 0xff
movzx eax, cl
cmova eax, r11d
add r9, 3
mov byte [r8], al
inc r8
sub rdx, 3
jmp 0x1401406e4
mov r11d, 0x3f
lea eax, [r10 - 0xf0]
cmp eax, 8
jae 0x1401406de
cmp rdx, 4
jb 0x1401406de
movzx eax, byte [r9 + 1]
and al, 0xc0
cmp al, 0x80
jne 0x1401406de
movzx eax, byte [r9 + 2]
and al, 0xc0
cmp al, 0x80
jne 0x1401406de
movzx eax, byte [r9 + 3]
and al, 0xc0
cmp al, 0x80
jne 0x1401406de
mov byte [r8], 0x3f
add r9, 4
inc r8
sub rdx, 4
jmp 0x1401406e4
inc r9
dec rdx
test rdx, rdx
jne 0x140140565
sub r8, rsi
jmp 0x14014095c
xor r8d, r8d
jmp 0x14014095c
cmp edi, 5
mov r8, rdx
mov rdx, rbp
mov rcx, rsi
setne al
mov byte [rsp + 0x28], al
call fcn.14014edb0
mov r8, rax
jmp 0x14014095c
mov r8, rsi
mov r9, rbp
mov esi, 0x2800
mov r12d, 0xff3f
mov r13d, 0x3ff
mov r15d, 0x2400
nop word [rax + rax]
movzx r10d, byte [r9]
cmp r10b, 0x80
jae 0x1401407ba
mov word [r8], r10w
inc r9
add r8, 2
dec rdx
test r9b, 3
jne 0x140140905
cmp rdx, 4
jb 0x140140905
nop dword [rax]
mov eax, dword [r9]
test eax, 0x80808080
jne 0x140140905
movzx eax, al
sub rdx, 4
mov word [r8], ax
movzx eax, byte [r9 + 1]
mov word [r8 + 2], ax
movzx eax, byte [r9 + 2]
mov word [r8 + 4], ax
movzx eax, byte [r9 + 3]
add r9, 4
mov word [r8 + 6], ax
add r8, 8
cmp rdx, 4
jae 0x140140770
jmp 0x140140905
lea eax, [r10 - 0xc0]
mov ebx, r10d
cmp eax, 0x20
jae 0x14014080a
cmp rdx, 2
jb 0x14014080a
movzx r11d, byte [r9 + 1]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x14014080a
and r11b, 0x3f
movzx ecx, r10w
and cx, r12w
movzx eax, r11b
shl cx, 6
add r9, 2
or cx, ax
mov word [r8], cx
add r8, 2
sub rdx, 2
jmp 0x140140905
lea eax, [r10 - 0xe0]
cmp eax, 0x10
jae 0x14014086e
cmp rdx, 3
jb 0x14014086e
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x14014086e
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x14014086e
and cl, 0x3f
movzx eax, r10w
movzx ecx, cl
and r11b, 0x3f
shl ax, 6
add r9, 3
or cx, ax
movzx eax, r11b
shl cx, 6
or cx, ax
mov word [r8], cx
add r8, 2
sub rdx, 3
jmp 0x140140905
lea eax, [r10 - 0xf0]
cmp eax, 8
jae 0x1401408ff
cmp rdx, 4
jb 0x1401408ff
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x1401408ff
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x1401408ff
movzx r10d, byte [r9 + 3]
movzx eax, r10b
and al, 0xc0
cmp al, 0x80
jne 0x1401408ff
and ecx, 0x3f
shl ebx, 0x12
shl ecx, 6
and ebx, 0xfc3c0000
mov eax, r11d
add r9, 4
and eax, 0x3f
or ecx, eax
mov eax, r10d
shl ecx, 6
and eax, 0x3f
or ecx, ebx
or ecx, eax
lea eax, [rcx - 0x10000]
and cx, r13w
shr eax, 0xa
sub cx, r15w
sub ax, si
mov word [r8 + 2], cx
mov word [r8], ax
add r8, 4
sub rdx, 4
jmp 0x140140905
inc r9
dec rdx
test rdx, rdx
jne 0x140140740
mov r15d, dword [rsp + 0x88]
lea rsi, [rbp + 0x800]
mov r12d, dword [rsp + 0xa0]
mov r13d, dword [rsp + 0x30]
cmp edi, 2
je 0x140140953
mov rcx, rsi
cmp rsi, r8
je 0x140140953
nop word [rax + rax]
movzx eax, word [rcx]
rol ax, 8
mov word [rcx], ax
add rcx, 2
cmp rcx, r8
jne 0x140140940
sub r8, rsi
sar r8, 1
add r8, r8
mov rdx, rsi
mov rcx, qword [rbp + 0x2800]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400d90b6.0]
xor edx, edx
mov byte [rdx + rbp], 0x20
inc rdx
mov qword [rbp + 0x2808], rdx
mov rax, qword [r14 + 8]
lea rcx, str.:anonymous
test rax, rax
cmovne rcx, rax
movzx eax, byte [rcx]
test al, al
je 0x1401409b9
nop dword [rax]
cmp rdx, 0x800
jae 0x1401409cb
inc rcx
mov byte [rdx + rbp], al
inc rdx
movzx eax, byte [rcx]
test al, al
jne 0x1401409a0
cmp rdx, 0x800
jae 0x1401409cb
mov qword [rbp + 0x2808], rdx
jmp 0x140140a47
lfence
mov r10, rdx
sub r10, qword [rbp + 0x2808]
cmp r10, 5
jae 0x1401409e2
xor eax, eax
jmp 0x140140a11
mov r8d, 1
lea r9, [rcx - 1]
nop dword [rax]
movzx eax, byte [r9]
and al, 0xc0
cmp al, 0x80
jne 0x140140a0b
inc r8
dec r9
cmp r8, 4
jbe 0x1401409f0
mov rax, r10
jmp 0x140140a11
mov rax, r10
sub rax, r8
sub r10, rax
mov r8, 0xffffffffffffffff
sub rdx, r10
mov qword [rbp + 0x2808], rdx
inc r8
cmp byte [rcx + r8], 0
jne 0x140140a25
sub rcx, r10
add r8, r10
mov rdx, rcx
mov rcx, rbp
call fcn.14013caa0
mov rdx, qword [rbp + 0x2808]
cmp rdx, 0x7fe
jbe 0x140140ecc
mov edi, dword [rbp + 0x2810]
cmp edi, 1
jne 0x140140a83
mov rcx, qword [rbp + 0x2800]
mov r8, rdx
mov rdx, rbp
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400d90b6.0]
xor edx, edx
lea ebx, [rdi + 0x3e]
jmp 0x140140ed1
lea eax, [rdi - 2]
lea rsi, [rbp + 0x800]
cmp eax, 1
jbe 0x140140c6b
lea eax, [rdi - 5]
cmp eax, 1
jbe 0x140140c4b
mov ebx, 0x3f
cmp edi, 9
jne 0x140140c43
mov r8, rsi
mov r9, rbp
nop word [rax + rax]
movzx eax, byte [r9]
mov r10d, eax
cmp al, 0x80
jae 0x140140b33
mov byte [r8], al
inc r9
inc r8
dec rdx
test r9b, 3
jne 0x140140c32
cmp rdx, 4
jb 0x140140c32
nop dword [rax + rax]
mov eax, dword [r9]
test eax, 0x80808080
jne 0x140140c32
mov byte [r8], al
sub rdx, 4
movzx eax, byte [r9 + 1]
mov byte [r8 + 1], al
movzx eax, byte [r9 + 2]
mov byte [r8 + 2], al
movzx eax, byte [r9 + 3]
add r9, 4
mov byte [r8 + 3], al
add r8, 4
cmp rdx, 4
jae 0x140140af0
jmp 0x140140c32
add eax, 0xffffff40
cmp eax, 0x20
jae 0x140140b84
cmp rdx, 2
jb 0x140140b84
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x140140b84
shl r10d, 6
mov eax, ecx
and eax, ebx
and r10d, 0xffffcfc0
or r10d, eax
cmp r10d, 0xff
movzx eax, r10b
cmova eax, ebx
add r9, 2
mov byte [r8], al
inc r8
sub rdx, 2
jmp 0x140140c32
lea eax, [r10 - 0xe0]
cmp eax, 0x10
jae 0x140140be9
cmp rdx, 3
jb 0x140140be9
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x140140be9
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x140140be9
and ecx, ebx
shl r10d, 0xc
shl ecx, 6
and r10d, 0xfff1f000
or ecx, r10d
mov eax, r11d
and eax, ebx
or ecx, eax
cmp ecx, 0xff
movzx eax, cl
cmova eax, ebx
add r9, 3
mov byte [r8], al
inc r8
sub rdx, 3
jmp 0x140140c32
lea eax, [r10 - 0xf0]
cmp eax, 8
jae 0x140140c2c
cmp rdx, 4
jb 0x140140c2c
movzx eax, byte [r9 + 1]
and al, 0xc0
cmp al, 0x80
jne 0x140140c2c
movzx eax, byte [r9 + 2]
and al, 0xc0
cmp al, 0x80
jne 0x140140c2c
movzx eax, byte [r9 + 3]
and al, 0xc0
cmp al, 0x80
jne 0x140140c2c
mov byte [r8], bl
add r9, 4
inc r8
sub rdx, 4
jmp 0x140140c32
inc r9
dec rdx
test rdx, rdx
jne 0x140140ac0
sub r8, rsi
jmp 0x140140eb1
xor r8d, r8d
jmp 0x140140eb1
cmp edi, 5
mov r8, rdx
mov rdx, rbp
mov rcx, rsi
setne al
mov byte [rsp + 0x28], al
call fcn.14014edb0
mov r8, rax
jmp 0x140140eac
mov r8, rsi
mov r9, rbp
mov esi, 0x2800
mov r12d, 0xff3f
mov r13d, 0x3ff
mov r15d, 0x2400
nop dword [rax + rax]
movzx r10d, byte [r9]
cmp r10b, 0x80
jae 0x140140d0a
mov word [r8], r10w
inc r9
add r8, 2
dec rdx
test r9b, 3
jne 0x140140e55
cmp rdx, 4
jb 0x140140e55
nop dword [rax]
mov eax, dword [r9]
test eax, 0x80808080
jne 0x140140e55
movzx eax, al
sub rdx, 4
mov word [r8], ax
movzx eax, byte [r9 + 1]
mov word [r8 + 2], ax
movzx eax, byte [r9 + 2]
mov word [r8 + 4], ax
movzx eax, byte [r9 + 3]
add r9, 4
mov word [r8 + 6], ax
add r8, 8
cmp rdx, 4
jae 0x140140cc0
jmp 0x140140e55
lea eax, [r10 - 0xc0]
mov ebx, r10d
cmp eax, 0x20
jae 0x140140d5a
cmp rdx, 2
jb 0x140140d5a
movzx r11d, byte [r9 + 1]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x140140d5a
and r11b, 0x3f
movzx ecx, r10w
and cx, r12w
movzx eax, r11b
shl cx, 6
add r9, 2
or cx, ax
mov word [r8], cx
add r8, 2
sub rdx, 2
jmp 0x140140e55
lea eax, [r10 - 0xe0]
cmp eax, 0x10
jae 0x140140dbe
cmp rdx, 3
jb 0x140140dbe
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x140140dbe
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x140140dbe
and cl, 0x3f
movzx eax, r10w
movzx ecx, cl
and r11b, 0x3f
shl ax, 6
add r9, 3
or cx, ax
movzx eax, r11b
shl cx, 6
or cx, ax
mov word [r8], cx
add r8, 2
sub rdx, 3
jmp 0x140140e55
lea eax, [r10 - 0xf0]
cmp eax, 8
jae 0x140140e4f
cmp rdx, 4
jb 0x140140e4f
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x140140e4f
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x140140e4f
movzx r10d, byte [r9 + 3]
movzx eax, r10b
and al, 0xc0
cmp al, 0x80
jne 0x140140e4f
and ecx, 0x3f
shl ebx, 0x12
shl ecx, 6
and ebx, 0xfc3c0000
mov eax, r11d
add r9, 4
and eax, 0x3f
or ecx, eax
mov eax, r10d
shl ecx, 6
and eax, 0x3f
or ecx, ebx
or ecx, eax
lea eax, [rcx - 0x10000]
and cx, r13w
shr eax, 0xa
sub cx, r15w
sub ax, si
mov word [r8 + 2], cx
mov word [r8], ax
add r8, 4
sub rdx, 4
jmp 0x140140e55
inc r9
dec rdx
test rdx, rdx
jne 0x140140c90
mov r15d, dword [rsp + 0x88]
lea rsi, [rbp + 0x800]
mov r12d, dword [rsp + 0xa0]
mov r13d, dword [rsp + 0x30]
cmp edi, 2
je 0x140140ea3
mov rcx, rsi
cmp rsi, r8
je 0x140140ea3
nop word [rax + rax]
movzx eax, word [rcx]
rol ax, 8
mov word [rcx], ax
add rcx, 2
cmp rcx, r8
jne 0x140140e90
sub r8, rsi
sar r8, 1
add r8, r8
mov ebx, 0x3f
mov rcx, qword [rbp + 0x2800]
mov rdx, rsi
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400d90b6.0]
xor edx, edx
jmp 0x140140ed1
mov ebx, 0x3f
lea rax, [rdx + 2]
mov byte [rdx + rbp], 0x3d
mov byte [rdx + rbp + 1], r15b
mov qword [rbp + 0x2808], rax
mov rdx, qword [r14 + 0x10]
test rdx, rdx
je 0x140140f0c
mov rcx, rbp
test r12b, 0x10
je 0x140140efe
call fcn.14013cc70
jmp 0x140140f0c
mov r9d, r12d
mov r8d, 2
call fcn.14013ce50
mov r8, qword [rbp + 0x2808]
cmp r8, 0x7ff
jbe 0x14014137c
mov edi, dword [rbp + 0x2810]
cmp edi, 1
jne 0x140140f41
mov rcx, qword [rbp + 0x2800]
mov rdx, rbp
mov rax, qword [rcx]
mov rax, qword [rax + 8]
jmp 0x140141373
lea eax, [rdi - 2]
lea rsi, [rbp + 0x800]
cmp eax, 1
jbe 0x14014111f
lea eax, [rdi - 5]
cmp eax, 1
jbe 0x140141105
cmp edi, 9
jne 0x1401410fe
mov rax, rsi
mov r9, rbp
nop
movzx ecx, byte [r9]
mov r10d, ecx
cmp cl, 0x80
jae 0x140140fe0
mov byte [rax], cl
inc r9
inc rax
dec r8
test r9b, 3
jne 0x1401410ed
cmp r8, 4
jb 0x1401410ed
nop dword [rax + rax]
mov ecx, dword [r9]
test ecx, 0x80808080
jne 0x1401410ed
mov byte [rax], cl
sub r8, 4
movzx ecx, byte [r9 + 1]
mov byte [rax + 1], cl
movzx ecx, byte [r9 + 2]
mov byte [rax + 2], cl
movzx ecx, byte [r9 + 3]
add r9, 4
mov byte [rax + 3], cl
add rax, 4
cmp r8, 4
jae 0x140140fa0
jmp 0x1401410ed
add ecx, 0xffffff40
cmp ecx, 0x20
jae 0x140141034
cmp r8, 2
jb 0x140141034
movzx edx, byte [r9 + 1]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x140141034
shl r10d, 6
mov ecx, edx
and ecx, 0x3f
and r10d, 0xffffcfc0
or r10d, ecx
cmp r10d, 0xff
movzx ecx, r10b
cmova ecx, ebx
add r9, 2
mov byte [rax], cl
inc rax
sub r8, 2
jmp 0x1401410ed
lea ecx, [r10 - 0xe0]
cmp ecx, 0x10
jae 0x14014109e
cmp r8, 3
jb 0x14014109e
movzx edx, byte [r9 + 1]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x14014109e
movzx r11d, byte [r9 + 2]
movzx ecx, r11b
and cl, 0xc0
cmp cl, 0x80
jne 0x14014109e
and edx, 0x3f
shl r10d, 0xc
shl edx, 6
and r10d, 0xfff1f000
or edx, r10d
mov ecx, r11d
and ecx, 0x3f
or edx, ecx
cmp edx, 0xff
movzx ecx, dl
cmova ecx, ebx
add r9, 3
mov byte [rax], cl
inc rax
sub r8, 3
jmp 0x1401410ed
lea ecx, [r10 - 0xf0]
cmp ecx, 8
jae 0x1401410e7
cmp r8, 4
jb 0x1401410e7
movzx ecx, byte [r9 + 1]
and cl, 0xc0
cmp cl, 0x80
jne 0x1401410e7
movzx ecx, byte [r9 + 2]
and cl, 0xc0
cmp cl, 0x80
jne 0x1401410e7
movzx ecx, byte [r9 + 3]
and cl, 0xc0
cmp cl, 0x80
jne 0x1401410e7
mov byte [rax], 0x3f
add r9, 4
inc rax
sub r8, 4
jmp 0x1401410ed
inc r9
dec r8
test r8, r8
jne 0x140140f70
sub rax, rsi
jmp 0x14014135c
xor eax, eax
jmp 0x14014135c
cmp edi, 5
mov rdx, rbp
mov rcx, rsi
setne al
mov byte [rsp + 0x28], al
call fcn.14014edb0
jmp 0x14014135c
mov rax, rsi
mov r9, rbp
mov esi, 0x2800
mov r12d, 0xff3f
mov r13d, 0x3ff
mov r15d, 0x2400
nop dword [rax]
movzx r10d, byte [r9]
cmp r10b, 0x80
jae 0x1401411b7
mov word [rax], r10w
inc r9
add rax, 2
dec r8
test r9b, 3
jne 0x14014130a
cmp r8, 4
jb 0x14014130a
nop dword [rax]
mov ecx, dword [r9]
test ecx, 0x80808080
jne 0x14014130a
movzx ecx, cl
sub r8, 4
mov word [rax], cx
movzx ecx, byte [r9 + 1]
mov word [rax + 2], cx
movzx ecx, byte [r9 + 2]
mov word [rax + 4], cx
movzx ecx, byte [r9 + 3]
add r9, 4
mov word [rax + 6], cx
add rax, 8
cmp r8, 4
jae 0x140141170
jmp 0x14014130a
lea ecx, [r10 - 0xc0]
mov ebx, r10d
cmp ecx, 0x20
jae 0x140141208
cmp r8, 2
jb 0x140141208
movzx r11d, byte [r9 + 1]
movzx ecx, r11b
and cl, 0xc0
cmp cl, 0x80
jne 0x140141208
and r11b, 0x3f
movzx edx, r10w
and dx, r12w
movzx ecx, r11b
shl dx, 6
add r9, 2
or dx, cx
mov word [rax], dx
add rax, 2
sub r8, 2
jmp 0x14014130a
lea ecx, [r10 - 0xe0]
cmp ecx, 0x10
jae 0x14014126f
cmp r8, 3
jb 0x14014126f
movzx edx, byte [r9 + 1]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x14014126f
movzx r11d, byte [r9 + 2]
movzx ecx, r11b
and cl, 0xc0
cmp cl, 0x80
jne 0x14014126f
and dl, 0x3f
movzx ecx, r10w
movzx edx, dl
and r11b, 0x3f
shl cx, 6
add r9, 3
or dx, cx
movzx ecx, r11b
shl dx, 6
or dx, cx
mov word [rax], dx
add rax, 2
sub r8, 3
jmp 0x14014130a
lea ecx, [r10 - 0xf0]
cmp ecx, 8
jae 0x140141304
cmp r8, 4
jb 0x140141304
movzx edx, byte [r9 + 1]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x140141304
movzx r11d, byte [r9 + 2]
movzx ecx, r11b
and cl, 0xc0
cmp cl, 0x80
jne 0x140141304
movzx r10d, byte [r9 + 3]
movzx ecx, r10b
and cl, 0xc0
cmp cl, 0x80
jne 0x140141304
and edx, 0x3f
shl ebx, 0x12
shl edx, 6
and ebx, 0xfc3c0000
mov ecx, r11d
add r9, 4
and ecx, 0x3f
or edx, ecx
mov ecx, r10d
shl edx, 6
and ecx, 0x3f
or edx, ebx
or edx, ecx
lea ecx, [rdx - 0x10000]
and dx, r13w
shr ecx, 0xa
sub dx, r15w
sub cx, si
mov word [rax + 2], dx
mov word [rax], cx
add rax, 4
sub r8, 4
jmp 0x14014130a
inc r9
dec r8
test r8, r8
jne 0x140141140
mov r15d, dword [rsp + 0x88]
lea rsi, [rbp + 0x800]
mov r12d, dword [rsp + 0xa0]
mov r13d, dword [rsp + 0x30]
cmp edi, 2
je 0x140141353
mov rdx, rsi
cmp rsi, rax
je 0x140141353
nop dword [rax]
movzx ecx, word [rdx]
rol cx, 8
mov word [rdx], cx
add rdx, 2
cmp rdx, rax
jne 0x140141340
sub rax, rsi
sar rax, 1
add rax, rax
mov rcx, qword [rbp + 0x2800]
mov rdx, rsi
mov r8, qword [rcx]
mov r9, qword [r8 + 8]
mov r8, rax
mov rax, r9
call qword [case.0x1400d90b6.0]
xor r8d, r8d
mov rbx, qword [rsp + 0x98]
lea rdx, [r8 + 1]
mov rdi, qword [rsp + 0x90]
mov r11d, 0x3f
mov byte [r8 + rbp], r15b
mov qword [rbp + 0x2808], rdx
mov r14, qword [r14 + 0x20]
test r14, r14
jne 0x1401404c1
mov r13, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x80]
add rsp, 0x48
pop r15
pop r14
pop r12
pop rdi
pop rbp
pop rbx
ret