Function at 0x140309170
Capabilities:
Encode data using base64

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], r9
mov qword [r11 + 0x18], r8
mov qword [r11 + 8], rcx
push r12
push r13
sub rsp, 0x88
mov r12, qword [rdx + 0x38]
mov r13, rcx
mov ecx, dword [rsp + 0xc0]
mov eax, 0x22
bt ecx, 9
mov qword [rsp + 0x38], r12
mov r8d, 0x27
cmovb eax, r8d
mov dword [rsp + 0xa8], eax
test r12, r12
je 0x14030a20c
mov rdx, qword [r13 + 0x2808]
mov eax, ecx
mov qword [r11 - 0x18], rbx
and eax, 0x44
movzx ebx, byte [rsp + 0xc0]
mov qword [r11 - 0x20], rbp
movzx ebp, byte [rsp + 0xc0]
mov qword [r11 - 0x28], rsi
movzx esi, byte [rsp + 0xc0]
mov qword [r11 - 0x30], rdi
movzx edi, byte [rsp + 0xc0]
mov qword [r11 - 0x38], r14
movzx r14d, byte [rsp + 0xc0]
mov qword [r11 - 0x40], r15
lea r11d, [r8 + 0x18]
movzx r15d, byte [rsp + 0xc0]
mov dword [rsp + 0x30], eax
nop
cmp eax, 0x40
jne 0x14030927d
cmp rdx, 0x7ff
jbe 0x14030923e
mov r8, rdx
mov rcx, r13
mov rdx, r13
call fcn.1403084e0
xor edx, edx
mov r9d, dword [rsp + 0xc8]
lea rax, [rdx + 1]
mov r8, qword [rsp + 0xb8]
inc r9d
mov byte [rdx + r13], 0xa
mov rcx, r13
mov rdx, qword [rsp + 0xb0]
mov qword [r13 + 0x2808], rax
call fcn.1403102a0
mov rdx, qword [r13 + 0x2808]
jmp 0x140309742
cmp rdx, 0x7ff
jbe 0x140309733
mov r12d, dword [r13 + 0x2810]
cmp r12d, 1
jne 0x1403092af
mov rcx, qword [r13 + 0x2800]
mov r8, rdx
mov rdx, r13
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x14030972c
add r13, 0x800
lea eax, [r12 - 2]
mov qword [rsp + 0x40], r13
cmp eax, 1
jbe 0x1403094bb
lea eax, [r12 - 5]
cmp eax, 1
jbe 0x14030948d
cmp r12d, 9
jne 0x140309485
mov r9, qword [rsp + 0xa0]
mov r8, r13
nop dword [rax]
movzx eax, byte [r9]
mov r10d, eax
cmp al, 0x80
jae 0x140309363
mov byte [r8], al
inc r9
inc r8
dec rdx
test r9b, 3
jne 0x140309474
cmp rdx, 4
jb 0x140309474
nop dword [rax + rax]
mov eax, dword [r9]
test eax, 0x80808080
jne 0x140309474
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 0x140309320
jmp 0x140309474
add eax, 0xffffff40
cmp eax, 0x20
jae 0x1403093b6
cmp rdx, 2
jb 0x1403093b6
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x1403093b6
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 0x140309474
lea eax, [r10 - 0xe0]
cmp eax, 0x10
jae 0x14030942a
cmp rdx, 3
jb 0x14030942a
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x14030942a
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x140309424
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 0x140309474
mov r11d, 0x3f
lea eax, [r10 - 0xf0]
cmp eax, 8
jae 0x14030946e
cmp rdx, 4
jb 0x14030946e
movzx eax, byte [r9 + 1]
and al, 0xc0
cmp al, 0x80
jne 0x14030946e
movzx eax, byte [r9 + 2]
and al, 0xc0
cmp al, 0x80
jne 0x14030946e
movzx eax, byte [r9 + 3]
and al, 0xc0
cmp al, 0x80
jne 0x14030946e
mov byte [r8], 0x3f
add r9, 4
inc r8
sub rdx, 4
jmp 0x140309474
inc r9
dec rdx
test rdx, rdx
jne 0x1403092f0
sub r8, r13
jmp 0x14030970c
xor r8d, r8d
jmp 0x14030970c
cmp r12d, 5
mov r8, rdx
mov rdx, qword [rsp + 0xa0]
movzx r9d, dil
setne al
mov rcx, r13
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], bl
call fcn.140307660
mov r8, rax
jmp 0x14030970c
mov r9, qword [rsp + 0xa0]
mov r8, r13
mov esi, 0x3ff
mov ebp, 0x2400
mov r14d, 0xff3f
mov r15d, 0x2800
nop dword [rax]
movzx r11d, byte [r9]
cmp r11b, 0x80
jae 0x14030955a
mov word [r8], r11w
inc r9
add r8, 2
dec rdx
test r9b, 3
jne 0x1403096a7
cmp rdx, 4
jb 0x1403096a7
nop dword [rax]
mov eax, dword [r9]
test eax, 0x80808080
jne 0x1403096a7
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 0x140309510
jmp 0x1403096a7
lea eax, [r11 - 0xc0]
mov r13d, r11d
cmp eax, 0x20
jae 0x1403095aa
cmp rdx, 2
jb 0x1403095aa
movzx r10d, byte [r9 + 1]
movzx eax, r10b
and al, 0xc0
cmp al, 0x80
jne 0x1403095aa
and r10b, 0x3f
movzx ecx, r11w
and cx, r14w
movzx eax, r10b
shl cx, 6
add r9, 2
or cx, ax
mov word [r8], cx
add r8, 2
sub rdx, 2
jmp 0x1403096a7
lea eax, [r11 - 0xe0]
cmp eax, 0x10
jae 0x14030960e
cmp rdx, 3
jb 0x14030960e
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x14030960e
movzx r10d, byte [r9 + 2]
movzx eax, r10b
and al, 0xc0
cmp al, 0x80
jne 0x14030960e
and cl, 0x3f
movzx eax, r11w
movzx ecx, cl
and r10b, 0x3f
shl ax, 6
add r9, 3
or cx, ax
movzx eax, r10b
shl cx, 6
or cx, ax
mov word [r8], cx
add r8, 2
sub rdx, 3
jmp 0x1403096a7
lea eax, [r11 - 0xf0]
cmp eax, 8
jae 0x1403096a1
cmp rdx, 4
jb 0x1403096a1
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x1403096a1
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x1403096a1
movzx r10d, byte [r9 + 3]
movzx eax, r10b
and al, 0xc0
cmp al, 0x80
jne 0x1403096a1
and ecx, 0x3f
shl r13d, 0x12
shl ecx, 6
and r13d, 0xfc3c0000
mov eax, r11d
add r9, 4
and eax, 0x3f
or ecx, eax
mov eax, r10d
shl ecx, 6
and eax, 0x3f
or ecx, r13d
or ecx, eax
lea eax, [rcx - 0x10000]
and cx, si
shr eax, 0xa
sub cx, bp
sub ax, r15w
mov word [r8 + 2], cx
mov word [r8], ax
add r8, 4
sub rdx, 4
jmp 0x1403096a7
inc r9
dec rdx
test rdx, rdx
jne 0x1403094e0
movzx esi, byte [rsp + 0xc0]
movzx ebp, byte [rsp + 0xc0]
movzx r14d, byte [rsp + 0xc0]
movzx r15d, byte [rsp + 0xc0]
mov r13, qword [rsp + 0x40]
cmp r12d, 2
je 0x140309703
mov rcx, r13
cmp r13, r8
je 0x140309703
nop word [rax + rax]
movzx eax, word [rcx]
rol ax, 8
mov word [rcx], ax
add rcx, 2
cmp rcx, r8
jne 0x1403096f0
sub r8, r13
sar r8, 1
add r8, r8
mov rax, qword [rsp + 0xa0]
mov rdx, r13
mov rcx, qword [rax + 0x2800]
mov rax, qword [rcx]
call qword [rax + 8]
mov r13, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x38]
xor edx, edx
mov byte [rdx + r13], 0x20
inc rdx
mov qword [r13 + 0x2808], rdx
mov rax, qword [r12 + 8]
lea rcx, str.:anonymous
test rax, rax
cmovne rcx, rax
movzx eax, byte [rcx]
test al, al
je 0x14030977a
nop dword [rax]
cmp rdx, 0x800
jae 0x14030978c
inc rcx
mov byte [rdx + r13], al
inc rdx
movzx eax, byte [rcx]
test al, al
jne 0x140309760
cmp rdx, 0x800
jae 0x14030978c
mov qword [r13 + 0x2808], rdx
jmp 0x140309807
mov r10, rdx
sub r10, qword [r13 + 0x2808]
cmp r10, 5
jae 0x1403097a0
xor eax, eax
jmp 0x1403097d1
mov r8d, 1
lea r9, [rcx - 1]
nop word [rax + rax]
movzx eax, byte [r9]
and al, 0xc0
cmp al, 0x80
jne 0x1403097cb
inc r8
dec r9
cmp r8, 4
jbe 0x1403097b0
mov rax, r10
jmp 0x1403097d1
mov rax, r10
sub rax, r8
sub r10, rax
mov r8, 0xffffffffffffffff
sub rdx, r10
mov qword [r13 + 0x2808], rdx
inc r8
cmp byte [rcx + r8], 0
jne 0x1403097e5
sub rcx, r10
add r8, r10
mov rdx, rcx
mov rcx, r13
call fcn.1403113d0
mov rdx, qword [r13 + 0x2808]
cmp rdx, 0x7fe
jbe 0x140309cb3
mov r12d, dword [r13 + 0x2810]
cmp r12d, 1
jne 0x140309839
mov rcx, qword [r13 + 0x2800]
mov r8, rdx
mov rdx, r13
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x140309cac
add r13, 0x800
lea eax, [r12 - 2]
mov qword [rsp + 0x40], r13
cmp eax, 1
jbe 0x140309a42
lea eax, [r12 - 5]
cmp eax, 1
jbe 0x140309a13
cmp r12d, 9
jne 0x140309a0b
mov r9, qword [rsp + 0xa0]
lea ebx, [r12 + 0x36]
mov r8, r13
nop dword [rax + rax]
movzx eax, byte [r9]
mov r10d, eax
cmp al, 0x80
jae 0x1403098f3
mov byte [r8], al
inc r9
inc r8
dec rdx
test r9b, 3
jne 0x1403099f2
cmp rdx, 4
jb 0x1403099f2
nop dword [rax + rax]
mov eax, dword [r9]
test eax, 0x80808080
jne 0x1403099f2
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 0x1403098b0
jmp 0x1403099f2
add eax, 0xffffff40
cmp eax, 0x20
jae 0x140309944
cmp rdx, 2
jb 0x140309944
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x140309944
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 0x1403099f2
lea eax, [r10 - 0xe0]
cmp eax, 0x10
jae 0x1403099a9
cmp rdx, 3
jb 0x1403099a9
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x1403099a9
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x1403099a9
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 0x1403099f2
lea eax, [r10 - 0xf0]
cmp eax, 8
jae 0x1403099ec
cmp rdx, 4
jb 0x1403099ec
movzx eax, byte [r9 + 1]
and al, 0xc0
cmp al, 0x80
jne 0x1403099ec
movzx eax, byte [r9 + 2]
and al, 0xc0
cmp al, 0x80
jne 0x1403099ec
movzx eax, byte [r9 + 3]
and al, 0xc0
cmp al, 0x80
jne 0x1403099ec
mov byte [r8], bl
add r9, 4
inc r8
sub rdx, 4
jmp 0x1403099f2
inc r9
dec rdx
test rdx, rdx
jne 0x140309880
movzx ebx, byte [rsp + 0xc0]
sub r8, r13
jmp 0x140309c8c
xor r8d, r8d
jmp 0x140309c8c
cmp r12d, 5
mov r8, rdx
mov rdx, qword [rsp + 0xa0]
movzx r9d, bpl
setne al
mov rcx, r13
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], sil
call fcn.140307660
mov r8, rax
jmp 0x140309c8c
mov r9, qword [rsp + 0xa0]
mov r8, r13
mov edi, 0xff3f
mov ebx, 0x2400
mov r15d, 0x2800
mov r14d, 0x3ff
movzx r11d, byte [r9]
cmp r11b, 0x80
jae 0x140309ada
mov word [r8], r11w
inc r9
add r8, 2
dec rdx
test r9b, 3
jne 0x140309c27
cmp rdx, 4
jb 0x140309c27
nop
mov eax, dword [r9]
test eax, 0x80808080
jne 0x140309c27
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 0x140309a90
jmp 0x140309c27
lea eax, [r11 - 0xc0]
mov r13d, r11d
cmp eax, 0x20
jae 0x140309b29
cmp rdx, 2
jb 0x140309b29
movzx r10d, byte [r9 + 1]
movzx eax, r10b
and al, 0xc0
cmp al, 0x80
jne 0x140309b29
and r10b, 0x3f
movzx ecx, r11w
and cx, di
movzx eax, r10b
shl cx, 6
add r9, 2
or cx, ax
mov word [r8], cx
add r8, 2
sub rdx, 2
jmp 0x140309c27
lea eax, [r11 - 0xe0]
cmp eax, 0x10
jae 0x140309b8d
cmp rdx, 3
jb 0x140309b8d
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x140309b8d
movzx r10d, byte [r9 + 2]
movzx eax, r10b
and al, 0xc0
cmp al, 0x80
jne 0x140309b8d
and cl, 0x3f
movzx eax, r11w
movzx ecx, cl
and r10b, 0x3f
shl ax, 6
add r9, 3
or cx, ax
movzx eax, r10b
shl cx, 6
or cx, ax
mov word [r8], cx
add r8, 2
sub rdx, 3
jmp 0x140309c27
lea eax, [r11 - 0xf0]
cmp eax, 8
jae 0x140309c21
cmp rdx, 4
jb 0x140309c21
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x140309c21
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x140309c21
movzx r10d, byte [r9 + 3]
movzx eax, r10b
and al, 0xc0
cmp al, 0x80
jne 0x140309c21
and ecx, 0x3f
shl r13d, 0x12
shl ecx, 6
and r13d, 0xfc3c0000
mov eax, r11d
add r9, 4
and eax, 0x3f
or ecx, eax
mov eax, r10d
shl ecx, 6
and eax, 0x3f
or ecx, r13d
or ecx, eax
lea eax, [rcx - 0x10000]
and cx, r14w
shr eax, 0xa
sub cx, bx
sub ax, r15w
mov word [r8 + 2], cx
mov word [r8], ax
add r8, 4
sub rdx, 4
jmp 0x140309c27
inc r9
dec rdx
test rdx, rdx
jne 0x140309a63
movzx ebx, byte [rsp + 0xc0]
movzx edi, byte [rsp + 0xc0]
movzx r14d, byte [rsp + 0xc0]
movzx r15d, byte [rsp + 0xc0]
mov r13, qword [rsp + 0x40]
cmp r12d, 2
je 0x140309c83
mov rcx, r13
cmp r13, r8
je 0x140309c83
nop word [rax + rax]
movzx eax, word [rcx]
rol ax, 8
mov word [rcx], ax
add rcx, 2
cmp rcx, r8
jne 0x140309c70
sub r8, r13
sar r8, 1
add r8, r8
mov rax, qword [rsp + 0xa0]
mov rdx, r13
mov rcx, qword [rax + 0x2800]
mov rax, qword [rcx]
call qword [rax + 8]
mov r13, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x38]
xor edx, edx
mov eax, dword [rsp + 0xa8]
mov byte [rdx + r13 + 1], al
lea rax, [rdx + 2]
mov byte [rdx + r13], 0x3d
mov qword [r13 + 0x2808], rax
mov rdx, qword [r12 + 0x10]
test rdx, rdx
je 0x140309cfc
mov eax, dword [rsp + 0xc0]
mov rcx, r13
test al, 0x10
je 0x140309cee
call fcn.140311620
jmp 0x140309cfc
mov r9d, eax
mov r8d, 2
call fcn.14030ed20
mov r8, qword [r13 + 0x2808]
cmp r8, 0x7ff
jbe 0x14030a1b8
mov r12d, dword [r13 + 0x2810]
cmp r12d, 1
jne 0x140309d32
mov rcx, qword [r13 + 0x2800]
mov rdx, r13
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x14030a1b0
add r13, 0x800
lea eax, [r12 - 2]
mov qword [rsp + 0x40], r13
cmp eax, 1
jbe 0x140309f40
lea eax, [r12 - 5]
cmp eax, 1
jbe 0x140309f17
cmp r12d, 9
jne 0x140309f10
mov r9, qword [rsp + 0xa0]
mov rax, r13
mov r12d, 0x3f
nop word [rax + rax]
movzx ecx, byte [r9]
mov r10d, ecx
cmp cl, 0x80
jae 0x140309df0
mov byte [rax], cl
inc r9
inc rax
dec r8
test r9b, 3
jne 0x140309eff
cmp r8, 4
jb 0x140309eff
nop dword [rax + rax]
mov ecx, dword [r9]
test ecx, 0x80808080
jne 0x140309eff
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 0x140309db0
jmp 0x140309eff
add ecx, 0xffffff40
cmp ecx, 0x20
jae 0x140309e45
cmp r8, 2
jb 0x140309e45
movzx edx, byte [r9 + 1]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x140309e45
shl r10d, 6
mov ecx, edx
and ecx, r12d
and r10d, 0xffffcfc0
or r10d, ecx
cmp r10d, 0xff
movzx ecx, r10b
cmova ecx, r12d
add r9, 2
mov byte [rax], cl
inc rax
sub r8, 2
jmp 0x140309eff
lea ecx, [r10 - 0xe0]
cmp ecx, 0x10
jae 0x140309eb0
cmp r8, 3
jb 0x140309eb0
movzx edx, byte [r9 + 1]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x140309eb0
movzx r11d, byte [r9 + 2]
movzx ecx, r11b
and cl, 0xc0
cmp cl, 0x80
jne 0x140309eb0
and edx, r12d
shl r10d, 0xc
shl edx, 6
and r10d, 0xfff1f000
or edx, r10d
mov ecx, r11d
and ecx, r12d
or edx, ecx
cmp edx, 0xff
movzx ecx, dl
cmova ecx, r12d
add r9, 3
mov byte [rax], cl
inc rax
sub r8, 3
jmp 0x140309eff
lea ecx, [r10 - 0xf0]
cmp ecx, 8
jae 0x140309ef9
cmp r8, 4
jb 0x140309ef9
movzx ecx, byte [r9 + 1]
and cl, 0xc0
cmp cl, 0x80
jne 0x140309ef9
movzx ecx, byte [r9 + 2]
and cl, 0xc0
cmp cl, 0x80
jne 0x140309ef9
movzx ecx, byte [r9 + 3]
and cl, 0xc0
cmp cl, 0x80
jne 0x140309ef9
mov byte [rax], r12b
add r9, 4
inc rax
sub r8, 4
jmp 0x140309eff
inc r9
dec r8
test r8, r8
jne 0x140309d80
sub rax, r13
jmp 0x14030a18c
xor eax, eax
jmp 0x14030a18c
mov rdx, qword [rsp + 0xa0]
cmp r12d, 5
movzx r9d, r15b
mov rcx, r13
setne al
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], r14b
call fcn.140307660
jmp 0x14030a18c
mov r9, qword [rsp + 0xa0]
mov rax, r13
mov ebx, 0xff3f
mov esi, 0x2800
mov ebp, 0x3ff
mov edi, 0x2400
nop
movzx r11d, byte [r9]
cmp r11b, 0x80
jae 0x140309fd7
mov word [rax], r11w
inc r9
add rax, 2
dec r8
test r9b, 3
jne 0x14030a12e
cmp r8, 4
jb 0x14030a12e
nop dword [rax]
mov ecx, dword [r9]
test ecx, 0x80808080
jne 0x14030a12e
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 0x140309f90
jmp 0x14030a12e
lea ecx, [r11 - 0xc0]
mov r13d, r11d
cmp ecx, 0x20
jae 0x14030a027
cmp r8, 2
jb 0x14030a027
movzx r10d, byte [r9 + 1]
movzx ecx, r10b
and cl, 0xc0
cmp cl, 0x80
jne 0x14030a027
and r10b, 0x3f
movzx edx, r11w
and dx, bx
movzx ecx, r10b
shl dx, 6
add r9, 2
or dx, cx
mov word [rax], dx
add rax, 2
sub r8, 2
jmp 0x14030a12e
lea ecx, [r11 - 0xe0]
cmp ecx, 0x10
jae 0x14030a08e
cmp r8, 3
jb 0x14030a08e
movzx edx, byte [r9 + 1]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x14030a08e
movzx r10d, byte [r9 + 2]
movzx ecx, r10b
and cl, 0xc0
cmp cl, 0x80
jne 0x14030a08e
and dl, 0x3f
movzx ecx, r11w
movzx edx, dl
and r10b, 0x3f
shl cx, 6
add r9, 3
or dx, cx
movzx ecx, r10b
shl dx, 6
or dx, cx
mov word [rax], dx
add rax, 2
sub r8, 3
jmp 0x14030a12e
lea ecx, [r11 - 0xf0]
cmp ecx, 8
jae 0x14030a128
cmp r8, 4
jb 0x14030a128
movzx edx, byte [r9 + 1]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x14030a128
movzx r11d, byte [r9 + 2]
movzx ecx, r11b
and cl, 0xc0
cmp cl, 0x80
jne 0x14030a128
movzx r10d, byte [r9 + 3]
movzx ecx, r10b
and cl, 0xc0
cmp cl, 0x80
jne 0x14030a128
and edx, 0x3f
shl r13d, 0x12
shl edx, 6
and r13d, 0xfc3c0000
mov ecx, r11d
add r9, 4
and ecx, 0x3f
or edx, ecx
mov ecx, r10d
shl edx, 6
and ecx, 0x3f
or edx, r13d
or edx, ecx
lea ecx, [rdx - 0x10000]
and dx, bp
shr ecx, 0xa
sub dx, di
sub cx, si
mov word [rax + 2], dx
mov word [rax], cx
add rax, 4
sub r8, 4
jmp 0x14030a12e
inc r9
dec r8
test r8, r8
jne 0x140309f60
movzx ebx, byte [rsp + 0xc0]
movzx edi, byte [rsp + 0xc0]
movzx esi, byte [rsp + 0xc0]
movzx ebp, byte [rsp + 0xc0]
mov r13, qword [rsp + 0x40]
cmp r12d, 2
je 0x14030a183
mov rdx, r13
cmp r13, rax
je 0x14030a183
nop word [rax + rax]
movzx ecx, word [rdx]
rol cx, 8
mov word [rdx], cx
add rdx, 2
cmp rdx, rax
jne 0x14030a170
sub rax, r13
sar rax, 1
add rax, rax
mov rcx, qword [rsp + 0xa0]
mov r8, rax
mov rdx, r13
mov rcx, qword [rcx + 0x2800]
mov r9, qword [rcx]
call qword [r9 + 8]
mov r13, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x38]
xor r8d, r8d
mov eax, dword [rsp + 0xa8]
lea rdx, [r8 + 1]
mov byte [r8 + r13], al
mov r11d, 0x3f
mov eax, dword [rsp + 0x30]
mov qword [r13 + 0x2808], rdx
mov r12, qword [r12 + 0x20]
mov qword [rsp + 0x38], r12
test r12, r12
jne 0x140309220
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
add rsp, 0x88
pop r13
pop r12
ret