Function at 0x14004bcf0
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 0x14004cc5b
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 0x14004bdb4
cmp rdx, 0x7ff
jbe 0x14004bd80
mov r8, rdx
mov rcx, rbp
mov rdx, rbp
call fcn.140048230
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.14004a3a0
mov rdx, qword [rbp + 0x2808]
jmp 0x14004c223
cmp rdx, 0x7ff
jbe 0x14004c215
mov edi, dword [rbp + 0x2810]
cmp edi, 1
jne 0x14004bdd7
mov r8, rdx
mov rdx, rbp
jmp 0x14004c1ff
lea eax, [rdi - 2]
lea rsi, [rbp + 0x800]
cmp eax, 1
jbe 0x14004bfbd
lea eax, [rdi - 5]
cmp eax, 1
jbe 0x14004bf9d
cmp edi, 9
jne 0x14004bf95
mov r8, rsi
mov r9, rbp
movzx eax, byte [r9]
mov r10d, eax
cmp al, 0x80
jae 0x14004be73
mov byte [r8], al
inc r9
inc r8
dec rdx
test r9b, 3
jne 0x14004bf84
cmp rdx, 4
jb 0x14004bf84
mov eax, dword [r9]
test eax, 0x80808080
jne 0x14004bf84
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 0x14004be30
jmp 0x14004bf84
add eax, 0xffffff40
cmp eax, 0x20
jae 0x14004bec6
cmp rdx, 2
jb 0x14004bec6
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x14004bec6
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 0x14004bf84
lea eax, [r10 - 0xe0]
cmp eax, 0x10
jae 0x14004bf3a
cmp rdx, 3
jb 0x14004bf3a
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x14004bf3a
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x14004bf34
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 0x14004bf84
mov r11d, 0x3f
lea eax, [r10 - 0xf0]
cmp eax, 8
jae 0x14004bf7e
cmp rdx, 4
jb 0x14004bf7e
movzx eax, byte [r9 + 1]
and al, 0xc0
cmp al, 0x80
jne 0x14004bf7e
movzx eax, byte [r9 + 2]
and al, 0xc0
cmp al, 0x80
jne 0x14004bf7e
movzx eax, byte [r9 + 3]
and al, 0xc0
cmp al, 0x80
jne 0x14004bf7e
mov byte [r8], 0x3f
add r9, 4
inc r8
sub rdx, 4
jmp 0x14004bf84
inc r9
dec rdx
test rdx, rdx
jne 0x14004be05
sub r8, rsi
jmp 0x14004c1fc
xor r8d, r8d
jmp 0x14004c1fc
cmp edi, 5
mov r8, rdx
mov rdx, rbp
mov rcx, rsi
setne al
mov byte [rsp + 0x28], al
call fcn.140059870
mov r8, rax
jmp 0x14004c1fc
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 0x14004c05a
mov word [r8], r10w
inc r9
add r8, 2
dec rdx
test r9b, 3
jne 0x14004c1a5
cmp rdx, 4
jb 0x14004c1a5
nop dword [rax]
mov eax, dword [r9]
test eax, 0x80808080
jne 0x14004c1a5
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 0x14004c010
jmp 0x14004c1a5
lea eax, [r10 - 0xc0]
mov ebx, r10d
cmp eax, 0x20
jae 0x14004c0aa
cmp rdx, 2
jb 0x14004c0aa
movzx r11d, byte [r9 + 1]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x14004c0aa
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 0x14004c1a5
lea eax, [r10 - 0xe0]
cmp eax, 0x10
jae 0x14004c10e
cmp rdx, 3
jb 0x14004c10e
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x14004c10e
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x14004c10e
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 0x14004c1a5
lea eax, [r10 - 0xf0]
cmp eax, 8
jae 0x14004c19f
cmp rdx, 4
jb 0x14004c19f
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x14004c19f
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x14004c19f
movzx r10d, byte [r9 + 3]
movzx eax, r10b
and al, 0xc0
cmp al, 0x80
jne 0x14004c19f
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 0x14004c1a5
inc r9
dec rdx
test rdx, rdx
jne 0x14004bfe0
mov r15d, dword [rsp + 0x88]
lea rsi, [rbp + 0x800]
mov r12d, dword [rsp + 0xa0]
mov r13d, dword [rsp + 0x30]
cmp edi, 2
je 0x14004c1f3
mov rcx, rsi
cmp rsi, r8
je 0x14004c1f3
nop word [rax + rax]
movzx eax, word [rcx]
rol ax, 8
mov word [rcx], ax
add rcx, 2
cmp rcx, r8
jne 0x14004c1e0
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.0x140032886.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 0x14004c259
nop dword [rax]
cmp rdx, 0x800
jae 0x14004c26b
inc rcx
mov byte [rdx + rbp], al
inc rdx
movzx eax, byte [rcx]
test al, al
jne 0x14004c240
cmp rdx, 0x800
jae 0x14004c26b
mov qword [rbp + 0x2808], rdx
jmp 0x14004c2e7
lfence
mov r10, rdx
sub r10, qword [rbp + 0x2808]
cmp r10, 5
jae 0x14004c282
xor eax, eax
jmp 0x14004c2b1
mov r8d, 1
lea r9, [rcx - 1]
nop dword [rax]
movzx eax, byte [r9]
and al, 0xc0
cmp al, 0x80
jne 0x14004c2ab
inc r8
dec r9
cmp r8, 4
jbe 0x14004c290
mov rax, r10
jmp 0x14004c2b1
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 0x14004c2c5
sub rcx, r10
add r8, r10
mov rdx, rcx
mov rcx, rbp
call fcn.140048340
mov rdx, qword [rbp + 0x2808]
cmp rdx, 0x7fe
jbe 0x14004c76c
mov edi, dword [rbp + 0x2810]
cmp edi, 1
jne 0x14004c323
mov rcx, qword [rbp + 0x2800]
mov r8, rdx
mov rdx, rbp
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140032886.0]
xor edx, edx
lea ebx, [rdi + 0x3e]
jmp 0x14004c771
lea eax, [rdi - 2]
lea rsi, [rbp + 0x800]
cmp eax, 1
jbe 0x14004c50b
lea eax, [rdi - 5]
cmp eax, 1
jbe 0x14004c4eb
mov ebx, 0x3f
cmp edi, 9
jne 0x14004c4e3
mov r8, rsi
mov r9, rbp
nop word [rax + rax]
movzx eax, byte [r9]
mov r10d, eax
cmp al, 0x80
jae 0x14004c3d3
mov byte [r8], al
inc r9
inc r8
dec rdx
test r9b, 3
jne 0x14004c4d2
cmp rdx, 4
jb 0x14004c4d2
nop dword [rax + rax]
mov eax, dword [r9]
test eax, 0x80808080
jne 0x14004c4d2
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 0x14004c390
jmp 0x14004c4d2
add eax, 0xffffff40
cmp eax, 0x20
jae 0x14004c424
cmp rdx, 2
jb 0x14004c424
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x14004c424
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 0x14004c4d2
lea eax, [r10 - 0xe0]
cmp eax, 0x10
jae 0x14004c489
cmp rdx, 3
jb 0x14004c489
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x14004c489
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x14004c489
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 0x14004c4d2
lea eax, [r10 - 0xf0]
cmp eax, 8
jae 0x14004c4cc
cmp rdx, 4
jb 0x14004c4cc
movzx eax, byte [r9 + 1]
and al, 0xc0
cmp al, 0x80
jne 0x14004c4cc
movzx eax, byte [r9 + 2]
and al, 0xc0
cmp al, 0x80
jne 0x14004c4cc
movzx eax, byte [r9 + 3]
and al, 0xc0
cmp al, 0x80
jne 0x14004c4cc
mov byte [r8], bl
add r9, 4
inc r8
sub rdx, 4
jmp 0x14004c4d2
inc r9
dec rdx
test rdx, rdx
jne 0x14004c360
sub r8, rsi
jmp 0x14004c751
xor r8d, r8d
jmp 0x14004c751
cmp edi, 5
mov r8, rdx
mov rdx, rbp
mov rcx, rsi
setne al
mov byte [rsp + 0x28], al
call fcn.140059870
mov r8, rax
jmp 0x14004c74c
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 0x14004c5aa
mov word [r8], r10w
inc r9
add r8, 2
dec rdx
test r9b, 3
jne 0x14004c6f5
cmp rdx, 4
jb 0x14004c6f5
nop dword [rax]
mov eax, dword [r9]
test eax, 0x80808080
jne 0x14004c6f5
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 0x14004c560
jmp 0x14004c6f5
lea eax, [r10 - 0xc0]
mov ebx, r10d
cmp eax, 0x20
jae 0x14004c5fa
cmp rdx, 2
jb 0x14004c5fa
movzx r11d, byte [r9 + 1]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x14004c5fa
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 0x14004c6f5
lea eax, [r10 - 0xe0]
cmp eax, 0x10
jae 0x14004c65e
cmp rdx, 3
jb 0x14004c65e
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x14004c65e
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x14004c65e
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 0x14004c6f5
lea eax, [r10 - 0xf0]
cmp eax, 8
jae 0x14004c6ef
cmp rdx, 4
jb 0x14004c6ef
movzx ecx, byte [r9 + 1]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x14004c6ef
movzx r11d, byte [r9 + 2]
movzx eax, r11b
and al, 0xc0
cmp al, 0x80
jne 0x14004c6ef
movzx r10d, byte [r9 + 3]
movzx eax, r10b
and al, 0xc0
cmp al, 0x80
jne 0x14004c6ef
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 0x14004c6f5
inc r9
dec rdx
test rdx, rdx
jne 0x14004c530
mov r15d, dword [rsp + 0x88]
lea rsi, [rbp + 0x800]
mov r12d, dword [rsp + 0xa0]
mov r13d, dword [rsp + 0x30]
cmp edi, 2
je 0x14004c743
mov rcx, rsi
cmp rsi, r8
je 0x14004c743
nop word [rax + rax]
movzx eax, word [rcx]
rol ax, 8
mov word [rcx], ax
add rcx, 2
cmp rcx, r8
jne 0x14004c730
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.0x140032886.0]
xor edx, edx
jmp 0x14004c771
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 0x14004c7ac
mov rcx, rbp
test r12b, 0x10
je 0x14004c79e
call fcn.140048510
jmp 0x14004c7ac
mov r9d, r12d
mov r8d, 2
call fcn.1400486f0
mov r8, qword [rbp + 0x2808]
cmp r8, 0x7ff
jbe 0x14004cc1c
mov edi, dword [rbp + 0x2810]
cmp edi, 1
jne 0x14004c7e1
mov rcx, qword [rbp + 0x2800]
mov rdx, rbp
mov rax, qword [rcx]
mov rax, qword [rax + 8]
jmp 0x14004cc13
lea eax, [rdi - 2]
lea rsi, [rbp + 0x800]
cmp eax, 1
jbe 0x14004c9bf
lea eax, [rdi - 5]
cmp eax, 1
jbe 0x14004c9a5
cmp edi, 9
jne 0x14004c99e
mov rax, rsi
mov r9, rbp
nop
movzx ecx, byte [r9]
mov r10d, ecx
cmp cl, 0x80
jae 0x14004c880
mov byte [rax], cl
inc r9
inc rax
dec r8
test r9b, 3
jne 0x14004c98d
cmp r8, 4
jb 0x14004c98d
nop dword [rax + rax]
mov ecx, dword [r9]
test ecx, 0x80808080
jne 0x14004c98d
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 0x14004c840
jmp 0x14004c98d
add ecx, 0xffffff40
cmp ecx, 0x20
jae 0x14004c8d4
cmp r8, 2
jb 0x14004c8d4
movzx edx, byte [r9 + 1]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x14004c8d4
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 0x14004c98d
lea ecx, [r10 - 0xe0]
cmp ecx, 0x10
jae 0x14004c93e
cmp r8, 3
jb 0x14004c93e
movzx edx, byte [r9 + 1]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x14004c93e
movzx r11d, byte [r9 + 2]
movzx ecx, r11b
and cl, 0xc0
cmp cl, 0x80
jne 0x14004c93e
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 0x14004c98d
lea ecx, [r10 - 0xf0]
cmp ecx, 8
jae 0x14004c987
cmp r8, 4
jb 0x14004c987
movzx ecx, byte [r9 + 1]
and cl, 0xc0
cmp cl, 0x80
jne 0x14004c987
movzx ecx, byte [r9 + 2]
and cl, 0xc0
cmp cl, 0x80
jne 0x14004c987
movzx ecx, byte [r9 + 3]
and cl, 0xc0
cmp cl, 0x80
jne 0x14004c987
mov byte [rax], 0x3f
add r9, 4
inc rax
sub r8, 4
jmp 0x14004c98d
inc r9
dec r8
test r8, r8
jne 0x14004c810
sub rax, rsi
jmp 0x14004cbfc
xor eax, eax
jmp 0x14004cbfc
cmp edi, 5
mov rdx, rbp
mov rcx, rsi
setne al
mov byte [rsp + 0x28], al
call fcn.140059870
jmp 0x14004cbfc
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 0x14004ca57
mov word [rax], r10w
inc r9
add rax, 2
dec r8
test r9b, 3
jne 0x14004cbaa
cmp r8, 4
jb 0x14004cbaa
nop dword [rax]
mov ecx, dword [r9]
test ecx, 0x80808080
jne 0x14004cbaa
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 0x14004ca10
jmp 0x14004cbaa
lea ecx, [r10 - 0xc0]
mov ebx, r10d
cmp ecx, 0x20
jae 0x14004caa8
cmp r8, 2
jb 0x14004caa8
movzx r11d, byte [r9 + 1]
movzx ecx, r11b
and cl, 0xc0
cmp cl, 0x80
jne 0x14004caa8
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 0x14004cbaa
lea ecx, [r10 - 0xe0]
cmp ecx, 0x10
jae 0x14004cb0f
cmp r8, 3
jb 0x14004cb0f
movzx edx, byte [r9 + 1]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x14004cb0f
movzx r11d, byte [r9 + 2]
movzx ecx, r11b
and cl, 0xc0
cmp cl, 0x80
jne 0x14004cb0f
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 0x14004cbaa
lea ecx, [r10 - 0xf0]
cmp ecx, 8
jae 0x14004cba4
cmp r8, 4
jb 0x14004cba4
movzx edx, byte [r9 + 1]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x14004cba4
movzx r11d, byte [r9 + 2]
movzx ecx, r11b
and cl, 0xc0
cmp cl, 0x80
jne 0x14004cba4
movzx r10d, byte [r9 + 3]
movzx ecx, r10b
and cl, 0xc0
cmp cl, 0x80
jne 0x14004cba4
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 0x14004cbaa
inc r9
dec r8
test r8, r8
jne 0x14004c9e0
mov r15d, dword [rsp + 0x88]
lea rsi, [rbp + 0x800]
mov r12d, dword [rsp + 0xa0]
mov r13d, dword [rsp + 0x30]
cmp edi, 2
je 0x14004cbf3
mov rdx, rsi
cmp rsi, rax
je 0x14004cbf3
nop dword [rax]
movzx ecx, word [rdx]
rol cx, 8
mov word [rdx], cx
add rdx, 2
cmp rdx, rax
jne 0x14004cbe0
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.0x140032886.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 0x14004bd61
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