Function at 0x140127750
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x168
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xe0], 0xfffffffffffffffe
mov r14, rdx
mov rax, qword [rdx]
mov rbx, qword [rdx + 8]
mov qword [rbp + 0xd8], rax
mov r15, qword [rax + 0xa0]
mov rdi, qword [rdx + 0x10]
mov qword [rbp], r15
mov rax, rdi
test r15, r15
je 0x1401277b8
mov rax, rdi
sub rax, r15
jbe 0x1401277b2
cmp byte [rbx + r15], 0xc0
jge 0x1401277b8
jmp 0x140127854
jne 0x140127854
test rax, rax
je 0x1401278e0
movzx r8d, byte [rbx + r15]
movzx r10d, r8b
test r10b, r10b
jns 0x14012782f
mov eax, r10d
and eax, 0x1f
movzx r9d, byte [rbx + r15 + 1]
and r9d, 0x3f
cmp r10b, 0xdf
jbe 0x140127826
movzx edx, byte [rbx + r15 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140127936
movzx r10d, byte [rbx + r15 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and r10d, 0x3f
or r10d, edx
or r10d, eax
cmp r10d, 0x110000
jne 0x14012782f
jmp 0x1401278e0
shl eax, 6
or eax, r9d
mov r10d, eax
cmp r10d, 0x70
je 0x14012795d
mov qword [rbp], r15
mov rax, rdi
test r15, r15
je 0x140127873
mov rax, rdi
sub rax, r15
jbe 0x140127871
cmp byte [rbx + r15], 0xc0
jge 0x140127873
lea rax, [0x1402ad140]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r8, r15
mov r9, rdi
call fcn.14026f290
jne 0x140127854
test rax, rax
je 0x1401278e0
movzx r8d, byte [rbx + r15]
movzx r10d, r8b
test r10b, r10b
jns 0x140127953
mov eax, r10d
and eax, 0x1f
movzx r9d, byte [rbx + r15 + 1]
and r9d, 0x3f
cmp r10b, 0xdf
jbe 0x14012794a
movzx edx, byte [rbx + r15 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140128298
movzx r10d, byte [rbx + r15 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and r10d, 0x3f
or r10d, edx
or r10d, eax
cmp r10d, 0x110000
jne 0x140127953
mov rax, rbp
mov qword [rbp + 0xa0], rax
lea rax, [fcn.140190310]
mov qword [rbp + 0xa8], rax
lea rax, [0x1402ad170]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], 1
mov qword [rbp + 0x40], 0
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 1
lea rdx, [0x1402ad180]
lea rcx, [rbp + 0x20]
call fcn.14026eb10
shl eax, 0xc
or edx, eax
mov r10d, edx
cmp r10d, 0x70
jne 0x140127839
jmp 0x14012795d
shl eax, 6
or eax, r9d
mov r10d, eax
cmp r10d, 0x50
jne 0x1401282aa
mov rax, qword [rbp + 0xd8]
cmp qword [rax + 0x80], 0
jne 0x140128a2e
mov qword [rax + 0x80], 0xffffffffffffffff
mov qword [rax + 0x98], 0
mov qword [rbp], r15
mov rax, rdi
test r15, r15
je 0x1401279c7
mov rax, rdi
sub rax, r15
jbe 0x1401279c5
cmp byte [rbx + r15], 0xc0
jge 0x1401279c7
lea rax, [0x1402ad140]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r8, r15
mov r9, rdi
call fcn.14026f290
jmp 0x140128d5f
jne 0x1401279a3
test rax, rax
je 0x140127a40
movzx edx, byte [rbx + r15]
movzx r9d, dl
test r9b, r9b
js 0x1401279e6
mov dword [rbp + 0xbc], r9d
jmp 0x140127aa7
mov eax, r9d
and eax, 0x1f
movzx r8d, byte [rbx + r15 + 1]
and r8d, 0x3f
cmp r9b, 0xdf
jbe 0x140127a9b
movzx r9d, byte [rbx + r15 + 2]
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
cmp dl, 0xf0
jb 0x14012820c
movzx edx, byte [rbx + r15 + 3]
and eax, 7
shl eax, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, eax
mov dword [rbp + 0xbc], edx
cmp edx, 0x110000
jne 0x140127aa7
mov rax, rbp
mov qword [rbp + 0xa0], rax
lea rax, [fcn.140190310]
mov qword [rbp + 0xa8], rax
lea rax, [0x1402ad170]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], 1
mov qword [rbp + 0x40], 0
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 1
lea rdx, [0x1402ad180]
lea rcx, [rbp + 0x20]
call fcn.14026eb10
jmp 0x140128d5f
shl eax, 6
or eax, r8d
mov dword [rbp + 0xbc], eax
mov qword [rbp + 0x98], rcx
mov rax, qword [rbp + 0xd8]
lea rsi, [rax + 0xa0]
cmp rdi, r15
je 0x140127bc2
mov rax, qword [rbp + 0xd8]
mov r12, qword [rax + 0xa8]
mov r13, qword [rax + 0xb0]
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call fcn.140116150
cmp eax, 0xa
jne 0x140127b15
mov r13d, 1
inc r12
jne 0x140127b1e
lea rcx, [0x1402ad198]
lea r8, [0x1402ad1c8]
mov edx, 0x2b
call fcn.14026ebe0
jmp 0x140128d5f
inc r13
je 0x140128c9e
mov r8, qword [rsi]
mov rcx, rbx
mov rdx, rdi
call fcn.140116150
mov r8d, 1
cmp eax, 0x80
jb 0x140127b55
mov r8d, 2
cmp eax, 0x800
jb 0x140127b55
cmp eax, 0x10000
mov r8d, 4
sbb r8, 0
mov rax, rdi
add r8, r15
mov rcx, qword [rbp + 0xd8]
mov qword [rcx + 0xa0], r8
mov qword [rcx + 0xa8], r12
mov qword [rcx + 0xb0], r13
je 0x140127ba9
mov rax, rdi
sub rax, r8
jbe 0x140127ba7
cmp byte [rbx + r8], 0xbf
jg 0x140127ba9
lea rax, [0x1402ad1f8]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r9, rdi
call fcn.14026f290
jmp 0x140128d5f
jne 0x140127b88
test rax, rax
je 0x140127bc2
mov rcx, r14
call fcn.1401163a0
mov r8, qword [rsi]
cmp r8, rdi
jne 0x140127c87
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0x48], rax
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x38], xmm0
movups xmm0, xmmword [rsi]
movaps xmmword [rbp + 0x20], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0x30], rax
test rdi, rdi
je 0x140127c20
mov rsi, qword [rbp + 0x98]
js 0x140128c38
movzx eax, byte [0x140310961]
mov edx, 1
mov rcx, rdi
call fcn.140002240
mov r14, rax
test rax, rax
jne 0x140127c2d
mov ecx, 1
mov rdx, rdi
call fcn.14026e840
jmp 0x140128d5f
mov r14d, 1
mov rsi, qword [rbp + 0x98]
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.140261190
movaps xmm0, xmmword [rbp + 0x20]
movaps xmm1, xmmword [rbp + 0x30]
movaps xmm2, xmmword [rbp + 0x40]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov qword [rsi], rdi
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rdi
mov dword [rsi + 0x18], 0xa
mov rax, qword [rbp + 0xd8]
inc qword [rax + 0x80]
add rsp, 0x168
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, rbx
mov rdx, rdi
call fcn.140116150
cmp eax, 0x7b
jne 0x140128217
lea rcx, [rbp + 0x20]
mov rdx, r14
call fcn.140116c50
mov rax, qword [rbp + 0xd8]
lea r15, [rax + 0x88]
mov rax, qword [rbp + 0x48]
mov qword [rbp - 0x10], rax
movups xmm0, xmmword [rbp + 0x38]
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp + 0xd0], r14
mov r8, qword [rsi]
cmp rdi, r8
jne 0x140127d05
jmp 0x140128397
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rcx + 0x90]
mov byte [rax + rdx], r12b
inc qword [rcx + 0x98]
mov r8, qword [rsi]
cmp rdi, r8
je 0x140128397
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rax + 0xa8]
mov rdx, qword [rax + 0xb0]
mov qword [rbp + 0x90], r8
mov rax, rdi
test r8, r8
je 0x140127d40
mov rax, rdi
sub rax, r8
jbe 0x140128a3a
cmp byte [rbx + r8], 0xc0
jl 0x140128a3a
test rax, rax
je 0x140128abc
movzx r11d, byte [rbx + r8]
movzx r9d, r11b
test r9b, r9b
jns 0x140127dc0
mov eax, r9d
and eax, 0x1f
movzx r12d, byte [rbx + r8 + 1]
and r12d, 0x3f
cmp r9b, 0xdf
jbe 0x140127dac
movzx r10d, byte [rbx + r8 + 2]
shl r12d, 6
and r10d, 0x3f
or r10d, r12d
cmp r11b, 0xf0
jb 0x140127dd5
movzx r9d, byte [rbx + r8 + 3]
and eax, 7
shl eax, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r9d, eax
cmp r9d, 0x110000
jne 0x140127dc0
jmp 0x140128abc
shl eax, 6
or eax, r12d
mov r9d, eax
nop word cs:[rax + rax]
cmp r9d, 0xa
jne 0x140127df0
mov edx, 1
inc rcx
jne 0x140127df9
jmp 0x140128c64
shl eax, 0xc
or r10d, eax
mov r9d, r10d
cmp r9d, 0xa
je 0x140127dc6
nop word cs:[rax + rax]
inc rdx
je 0x140128c81
mov qword [rbp + 0x90], r8
mov rax, rdi
test r8, r8
je 0x140127e1f
mov rax, rdi
sub rax, r8
jbe 0x140128a59
cmp byte [rbx + r8], 0xc0
jl 0x140128a59
test rax, rax
je 0x140128b1b
movzx r9d, byte [rbx + r8]
test r9b, r9b
js 0x140127e40
mov eax, 1
jmp 0x140127ef0
movzx eax, r9b
and eax, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp r9b, 0xdf
jbe 0x140127e96
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x140127eaf
movzx r9d, byte [rbx + r8 + 3]
and eax, 7
shl eax, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r9d, eax
cmp r9d, 0x110000
jne 0x140127e9f
jmp 0x140128b1b
shl eax, 6
or eax, r11d
mov r9d, eax
mov eax, 1
cmp r9d, 0x80
jae 0x140127ec6
jmp 0x140127ef0
shl eax, 0xc
or r10d, eax
mov r9d, r10d
mov eax, 1
cmp r9d, 0x80
jb 0x140127ef0
mov eax, 2
cmp r9d, 0x800
jb 0x140127ef0
cmp r9d, 0x10000
mov eax, 4
sbb rax, 0
nop word cs:[rax + rax]
mov r9, rdi
add rax, r8
mov r8, qword [rbp + 0xd8]
mov qword [r8 + 0xa0], rax
mov qword [r8 + 0xa8], rcx
mov qword [r8 + 0xb0], rdx
je 0x140127f2d
mov r9, rdi
sub r9, rax
jbe 0x140127f27
cmp byte [rbx + rax], 0xbf
jg 0x140127f2d
jmp 0x140128c42
jne 0x140128c42
test r9, r9
je 0x14012838e
mov rcx, r14
call fcn.1401163a0
mov rax, qword [rsi]
cmp rdi, rax
je 0x140128397
mov qword [rbp + 0x90], rax
mov rcx, rdi
test rax, rax
je 0x140127f6f
mov rcx, rdi
sub rcx, rax
jbe 0x140128a78
cmp byte [rbx + rax], 0xc0
jl 0x140128a78
test rcx, rcx
je 0x140128b7a
movzx r9d, byte [rbx + rax]
movzx edx, r9b
test dl, dl
jns 0x140127fe0
mov ecx, edx
and ecx, 0x1f
movzx r10d, byte [rbx + rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x140127fd8
movzx r8d, byte [rbx + rax + 2]
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
cmp r9b, 0xf0
jb 0x1401280c3
movzx edx, byte [rbx + rax + 3]
and ecx, 7
shl ecx, 0x12
shl r8d, 6
and edx, 0x3f
or edx, r8d
or edx, ecx
cmp edx, 0x110000
jne 0x140127fe0
jmp 0x140128b7a
shl ecx, 6
or ecx, r10d
mov edx, ecx
cmp edx, 0x7d
je 0x14012838e
mov qword [rbp + 0x90], rax
mov rcx, rdi
test rax, rax
je 0x14012800e
mov rcx, rdi
sub rcx, rax
jbe 0x140128a9a
cmp byte [rbx + rax], 0xc0
jl 0x140128a9a
test rcx, rcx
je 0x140128bd9
movzx r8d, byte [rbx + rax]
movzx r12d, r8b
test r12b, r12b
jns 0x14012808d
mov ecx, r12d
and ecx, 0x1f
movzx r9d, byte [rbx + rax + 1]
and r9d, 0x3f
cmp r12b, 0xdf
jbe 0x14012807b
movzx edx, byte [rbx + rax + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1401280da
movzx r12d, byte [rbx + rax + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r12d, 0x3f
or r12d, edx
or r12d, ecx
cmp r12d, 0x110000
jne 0x140128084
jmp 0x140128bd9
shl ecx, 6
or ecx, r9d
mov r12d, ecx
cmp r12d, 0x80
jae 0x1401280eb
mov rax, qword [rbp + 0xd8]
mov rdx, qword [rax + 0x98]
cmp rdx, qword [rax + 0x88]
jne 0x140127ce0
mov rcx, r15
call fcn.140018870
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rcx + 0x98]
jmp 0x140127ce7
shl ecx, 0xc
or r8d, ecx
mov edx, r8d
cmp edx, 0x7d
jne 0x140127fe9
jmp 0x14012838e
shl ecx, 0xc
or edx, ecx
mov r12d, edx
cmp r12d, 0x80
jb 0x14012808d
mov dword [rbp + 0x20], 0
mov eax, r12d
cmp r12d, 0x800
jae 0x14012811a
shr eax, 6
or al, 0xc0
mov byte [rbp + 0x20], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rbp + 0x21], r12b
mov r13d, 2
jmp 0x140128180
cmp r12d, 0x10000
jae 0x14012814c
shr eax, 0xc
or al, 0xe0
mov byte [rbp + 0x20], al
mov eax, r12d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x21], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rbp + 0x22], r12b
mov r13d, 3
jmp 0x140128180
shr eax, 0x12
or al, 0xf0
mov byte [rbp + 0x20], al
mov eax, r12d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x21], al
mov eax, r12d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x22], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rbp + 0x23], r12b
mov r13d, 4
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rcx + 0x88]
mov r12, qword [rcx + 0x98]
sub rax, r12
cmp rax, r13
jae 0x1401281c1
mov rcx, r15
mov rdx, r12
mov r8, r13
call fcn.140262d70
mov r14, rsi
mov rsi, r15
mov r15, qword [rbp + 0xd8]
mov r12, qword [r15 + 0x98]
jmp 0x1401281ce
mov r14, rsi
mov rsi, r15
mov r15, qword [rbp + 0xd8]
mov rcx, qword [r15 + 0x90]
add rcx, r12
lea rdx, [rbp + 0x20]
mov r8, r13
call fcn.140261190
add r12, r13
mov qword [r15 + 0x98], r12
mov r15, rsi
mov rsi, r14
mov r14, qword [rbp + 0xd0]
mov r8, qword [rsi]
cmp rdi, r8
jne 0x140127d05
jmp 0x140128397
shl eax, 0xc
or r9d, eax
jmp 0x1401279da
mov rax, qword [rsi + 0x10]
mov qword [rbp - 0x30], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rbp - 0x40], xmm0
mov r8, qword [rsi]
mov rcx, rbx
mov rdx, rdi
call fcn.140116150
mov qword [rbp + 0xc8], rax
cmp dword [rbp + 0xc8], 0x5c
jne 0x1401282c2
lea rcx, [rbp + 0x20]
mov rdx, r14
call fcn.140116c50
test rdi, rdi
je 0x1401284d8
mov rsi, qword [rbp + 0x98]
js 0x140128cc5
movzx eax, byte [0x140310961]
mov edx, 1
mov rcx, rdi
call fcn.140002240
mov r14, rax
test rax, rax
jne 0x1401284e5
mov ecx, 1
mov rdx, rdi
call fcn.14026e840
jmp 0x140128d5f
shl eax, 0xc
or edx, eax
mov r10d, edx
cmp r10d, 0x50
je 0x14012795d
lea rcx, [0x1402adb58]
lea r8, [0x1402adb98]
mov edx, 0x3a
call fcn.14026ebe0
mov rcx, r14
call fcn.140116270
movabs r15, 0x8000000000000000
lea rbx, [rbp - 0x40]
test al, al
je 0x1401282e4
mov rcx, r14
call fcn.1401163a0
cmp dword [rbp + 0xbc], 0x50
mov rdx, qword [rbx + 0x10]
mov qword [rbp + 0x10], rdx
movups xmm0, xmmword [rbx]
movaps xmmword [rbp], xmm0
mov qword [rbp + 0x30], rdx
movaps xmmword [rbp + 0x20], xmm0
mov edx, dword [rbp - 7]
mov r8d, dword [rbp - 4]
mov r9, qword [rbp + 0x98]
mov dword [r9 + 0x3c], r8d
mov dword [r9 + 0x39], edx
mov rdx, qword [rsi + 0x10]
mov qword [rbp + 0x48], rdx
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x38], xmm0
movaps xmm0, xmmword [rbp + 0x20]
movups xmmword [r9 + 0x40], xmm0
mov rdx, qword [rbp + 0x30]
mov qword [r9 + 0x50], rdx
mov rdx, qword [rbp + 0x38]
mov qword [r9 + 0x58], rdx
mov rdx, qword [rbp + 0x40]
mov qword [r9 + 0x60], rdx
mov rdx, qword [rbp + 0x48]
mov qword [r9 + 0x68], rdx
mov rdx, qword [rbp + 0xc8]
mov dword [r9 + 8], edx
mov dword [r9 + 0xc], eax
mov qword [r9 + 0x10], r13
mov qword [r9 + 0x18], r12
mov qword [r9 + 0x20], r15
mov qword [r9 + 0x28], r14
mov qword [r9 + 0x30], rdi
mov byte [r9 + 0x38], cl
sete byte [r9 + 0x70]
movabs rax, 0x8000000000000000
mov qword [r9], rax
jmp 0x140127c65
cmp rax, rdi
jne 0x140128432
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0x48], rax
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x38], xmm0
movups xmm0, xmmword [rsi]
movaps xmmword [rbp + 0x20], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0x30], rax
test rdi, rdi
je 0x1401283f5
mov rsi, qword [rbp + 0x98]
js 0x140128cbb
movzx eax, byte [0x140310961]
mov edx, 1
mov rcx, rdi
call fcn.140002240
mov r14, rax
test rax, rax
jne 0x140128402
mov ecx, 1
mov rdx, rdi
call fcn.14026e840
jmp 0x140128d5f
mov r14d, 1
mov rsi, qword [rbp + 0x98]
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.140261190
movaps xmm0, xmmword [rbp + 0x20]
movaps xmm1, xmmword [rbp + 0x30]
movaps xmm2, xmmword [rbp + 0x40]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov eax, 0xa
jmp 0x140128510
mov rcx, rbx
mov rdx, rdi
mov r8, rax
call fcn.140116150
mov dword [rbp + 0xa0], eax
cmp eax, 0x7d
jne 0x140128ccf
mov rcx, r14
call fcn.140116270
mov rax, qword [rbp + 0xd8]
mov rbx, qword [rax + 0x90]
mov rdi, qword [rax + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x1402adac0]
lea rcx, [rbp + 0x20]
mov rdx, rbx
mov r8, rdi
call fcn.14018dd30
cmp qword [rbp + 0x20], 0
je 0x140128523
lea rdx, [rbp + 0x28]
cmp qword [rbp + 0x58], 0xffffffffffffffff
mov r8, qword [rbp + 0x68]
mov r9, qword [rbp + 0x70]
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x80]
je 0x140128565
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 0
lea rcx, [rbp + 0xa0]
call fcn.140115a80
jmp 0x140128580
mov r14d, 1
mov rsi, qword [rbp + 0x98]
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.140261190
movups xmm0, xmmword [rbp + 0x20]
movups xmm1, xmmword [rbp + 0x30]
movups xmm2, xmmword [rbp + 0x40]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov eax, 0x1f
mov qword [rsi], rdi
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rdi
mov dword [rsi + 0x18], eax
jmp 0x140127c65
cmp byte [rbp + 0x3a], 0
jne 0x140128762
mov r12, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x70]
movzx eax, byte [rbp + 0x38]
mov r8, rdx
test r12, r12
je 0x1401286cf
mov r8, rdx
sub r8, r12
jbe 0x1401286c9
cmp byte [rcx + r12], 0xc0
jge 0x1401286cf
jmp 0x140128d29
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
lea rcx, [rbp + 0xa0]
call fcn.140115a80
cmp qword [rbp + 0xa0], 1
jne 0x140128762
mov r12, qword [rbp + 0xa8]
test r12, r12
je 0x1401285c8
cmp r12, rdi
jae 0x1401285d0
cmp byte [rbx + r12], 0xbf
jg 0x1401285d2
lea rax, [0x1402adac8]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
xor r8d, r8d
mov r9, r12
call fcn.14026f290
jmp 0x140128d5f
mov r13d, 1
jmp 0x1401285fb
jne 0x1401285a6
test r12, r12
js 0x140128cfe
movzx eax, byte [0x140310961]
mov edx, 1
mov rcx, r12
call fcn.140002240
mov r13, rax
test rax, rax
je 0x140128d05
mov rcx, r13
mov rdx, rbx
mov r8, r12
call fcn.140261190
lea r15, [r12 + 2]
cmp rdi, r15
jbe 0x14012864a
cmp byte [rbx + r15], 0xbf
jg 0x14012864c
mov qword [rbp + 0xc0], r13
mov qword [rbp + 0xd0], r12
lea rax, [0x1402adae0]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r8, r15
mov r9, rdi
call fcn.14026f290
jmp 0x140128d5f
jne 0x14012861a
sub rdi, r15
je 0x140128693
js 0x140128d14
movzx eax, byte [0x140310961]
mov edx, 1
mov rcx, rdi
call fcn.140002240
mov r14, rax
test rax, rax
jne 0x140128699
mov qword [rbp + 0xc0], r13
mov qword [rbp + 0xd0], r12
mov ecx, 1
mov rdx, rdi
call fcn.14026e840
jmp 0x140128d5f
mov r14d, 1
add rbx, r15
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.140261190
mov rax, r12
shr rax, 0x20
mov cl, 2
lea rbx, [rbp - 0x20]
mov edx, r12d
mov qword [rbp + 0xc8], rdx
mov r15, rdi
jmp 0x1401282e4
jne 0x140128d29
test r8, r8
je 0x1401286e7
movzx r10d, byte [rcx + r12]
movzx r9d, r10b
test r9b, r9b
js 0x1401286f1
mov r8d, r9d
jmp 0x14012874d
test al, al
jne 0x140128595
jmp 0x140128762
mov r8d, r9d
and r8d, 0x1f
movzx r11d, byte [rcx + r12 + 1]
and r11d, 0x3f
cmp r9b, 0xe0
jb 0x14012873d
movzx r9d, byte [rcx + r12 + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x140128746
movzx r10d, byte [rcx + r12 + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and r10d, 0x3f
or r10d, r9d
or r8d, r10d
jmp 0x14012874d
shl r8d, 6
or r8d, r11d
jmp 0x14012874d
shl r8d, 0xc
or r8d, r9d
test al, al
jne 0x140128595
cmp r8d, 0x110000
jne 0x1401289c1
xor r12d, r12d
mov rax, rbx
mov r8, rdi
jmp 0x140128779
lea rax, [rbx + r12]
mov r8, rdi
sub r8, r12
jb 0x1401287e0
cmp r8, 0x10
jae 0x1401287ab
xor edx, edx
test r8, r8
je 0x1401287a1
nop word cs:[rax + rax]
cmp byte [rax + rdx], 0x3a
je 0x1401287d5
inc rdx
cmp r8, rdx
jne 0x140128790
mov rdx, r8
xor eax, eax
cmp rax, 1
je 0x1401287bb
jmp 0x1401287e0
mov cl, 0x3a
mov rdx, rax
call fcn.14018d260
cmp rax, 1
jne 0x1401287e0
lea rcx, [rdx + r12]
add r12, rdx
inc r12
cmp rcx, rdi
jae 0x14012876d
cmp byte [rbx + rcx], 0x3a
jne 0x14012876d
jmp 0x140128886
mov eax, 1
cmp rax, 1
je 0x1401287bb
mov rcx, rbx
mov rdx, rdi
mov r8d, 0x3d
call fcn.1400242c0
mov qword [rbp + 0xd0], rdx
cmp rax, 1
jne 0x140128841
mov r9, qword [rbp + 0xd0]
test r9, r9
je 0x14012890b
cmp r9, rdi
jae 0x140128905
cmp byte [rbx + r9], 0xbf
jg 0x14012890b
lea rax, [0x1402adb10]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
xor r8d, r8d
call fcn.14026f290
jmp 0x140128d5f
mov rcx, rdi
xor edx, edx
call fcn.140018800
mov qword [rbp + 0xc8], rax
mov r13, rdx
mov rcx, rdx
mov rdx, rbx
mov r8, rdi
call fcn.140261190
mov rax, qword [rbp + 0xc8]
shr rax, 0x20
movabs r15, 0x8000000000000001
lea rbx, [rbp - 0x20]
xor ecx, ecx
mov r12, rdi
jmp 0x1401282e4
mov qword [rbp + 0xd0], rcx
xor edx, edx
call fcn.140018800
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xc0], rdx
mov rcx, qword [rbp + 0xc0]
mov rdx, rbx
mov r8, qword [rbp + 0xd0]
call fcn.140261190
mov r13, rdi
sub r13, r12
jbe 0x1401288cb
cmp byte [rbx + r12], 0xbf
jle 0x140128d42
mov rcx, r13
xor edx, edx
call fcn.140018800
mov r15, rax
mov r14, rdx
add rbx, r12
mov rcx, rdx
mov rdx, rbx
mov r8, r13
call fcn.140261190
mov rax, qword [rbp + 0xc8]
shr rax, 0x20
mov cl, 1
lea rbx, [rbp - 0x20]
mov rdi, r13
jmp 0x1401289ae
jne 0x140128822
mov rcx, r9
xor edx, edx
call fcn.140018800
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xc0], rdx
mov rcx, qword [rbp + 0xc0]
mov rdx, rbx
mov r13, qword [rbp + 0xd0]
mov r8, r13
call fcn.140261190
inc r13
jne 0x140128946
mov r12, rdi
jmp 0x140128979
mov r12, rdi
sub r12, r13
jbe 0x140128977
cmp byte [rbx + r13], 0xbf
jg 0x140128979
lea rax, [0x1402adb28]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r8, r13
mov r9, rdi
call fcn.14026f290
jmp 0x140128d5f
jne 0x140128955
mov rcx, r12
xor edx, edx
call fcn.140018800
mov r15, rax
mov r14, rdx
add rbx, r13
mov rcx, rdx
mov rdx, rbx
mov r8, r12
call fcn.140261190
mov rax, qword [rbp + 0xc8]
shr rax, 0x20
lea rbx, [rbp - 0x20]
xor ecx, ecx
mov rdi, r12
mov r12, qword [rbp + 0xd0]
mov r13, qword [rbp + 0xc0]
jmp 0x1401282e4
mov eax, 1
cmp r8d, 0x80
jb 0x1401289ed
mov eax, 2
cmp r8d, 0x800
jb 0x1401289ed
cmp r8d, 0x10000
mov eax, 4
sbb rax, 0
add r12, rax
je 0x140128a06
mov rax, rdx
sub rax, r12
jbe 0x140128a0b
cmp byte [rcx + r12], 0xbf
jg 0x140128a11
jmp 0x140128d29
mov rax, rdx
jmp 0x140128a11
jne 0x140128d29
test rax, rax
je 0x140128595
movzx eax, byte [rcx + r12]
test al, al
jns 0x140128595
cmp al, 0xe0
jmp 0x140128595
lea rcx, [0x1402adb40]
call fcn.14026e9e0
lea rax, [0x1402ad140]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r9, rdi
call fcn.14026f290
jmp 0x140128d5f
lea rax, [0x1402ad140]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r9, rdi
call fcn.14026f290
jmp 0x140128d5f
lea rcx, [0x1402ad140]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov rdx, rdi
mov r8, rax
mov r9, rdi
call fcn.14026f290
jmp 0x140128d5f
lea rcx, [0x1402ad140]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov rdx, rdi
mov r8, rax
mov r9, rdi
call fcn.14026f290
jmp 0x140128d5f
lea rax, [rbp + 0x90]
mov qword [rbp + 0xa0], rax
lea rax, [fcn.140190310]
mov qword [rbp + 0xa8], rax
lea rax, [0x1402ad170]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], 1
mov qword [rbp + 0x40], 0
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 1
lea rdx, [0x1402ad180]
lea rcx, [rbp + 0x20]
call fcn.14026eb10
jmp 0x140128d5f
lea rax, [rbp + 0x90]
mov qword [rbp + 0xa0], rax
lea rax, [fcn.140190310]
mov qword [rbp + 0xa8], rax
lea rax, [0x1402ad170]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], 1
mov qword [rbp + 0x40], 0
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 1
lea rdx, [0x1402ad180]
lea rcx, [rbp + 0x20]
call fcn.14026eb10
jmp 0x140128d5f
lea rax, [rbp + 0x90]
mov qword [rbp + 0xa0], rax
lea rax, [fcn.140190310]
mov qword [rbp + 0xa8], rax
lea rax, [0x1402ad170]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], 1
mov qword [rbp + 0x40], 0
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 1
lea rdx, [0x1402ad180]
lea rcx, [rbp + 0x20]
call fcn.14026eb10
jmp 0x140128d5f
lea rax, [rbp + 0x90]
mov qword [rbp + 0xa0], rax
lea rax, [fcn.140190310]
mov qword [rbp + 0xa8], rax
lea rax, [0x1402ad170]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], 1
mov qword [rbp + 0x40], 0
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 1
lea rdx, [0x1402ad180]
lea rcx, [rbp + 0x20]
call fcn.14026eb10
jmp 0x140128d5f
call fcn.1401872c0
jmp 0x140128d5f
lea rcx, [0x1402ad1f8]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov rdx, rdi
mov r8, rax
mov r9, rdi
call fcn.14026f290
jmp 0x140128d5f
lea rcx, [0x1402ad198]
lea r8, [0x1402ad1c8]
mov edx, 0x2b
call fcn.14026ebe0
jmp 0x140128d5f
lea rcx, [0x1402ad198]
lea r8, [0x1402ad1e0]
mov edx, 0x2b
call fcn.14026ebe0
jmp 0x140128d5f
lea rcx, [0x1402ad198]
lea r8, [0x1402ad1e0]
mov edx, 0x2b
call fcn.14026ebe0
jmp 0x140128d5f
call fcn.1401872c0
jmp 0x140128d5f
call fcn.1401872c0
jmp 0x140128d5f
mov qword [rbp + 0x20], 0
lea rax, [0x1402adaa8]
mov qword [rsp + 0x20], rax
lea r8, [0x1402ad918]
lea rdx, [rbp + 0xa0]
lea r9, [rbp + 0x20]
xor ecx, ecx
call fcn.14026cec0
jmp 0x140128d5f
call fcn.1401872c0
jmp 0x140128d5f
mov ecx, 1
mov rdx, r12
call fcn.14026e840
jmp 0x140128d5f
mov qword [rbp + 0xc0], r13
mov qword [rbp + 0xd0], r12
call fcn.1401872c0
jmp 0x140128d5f
lea rax, [0x1402ad060]
mov qword [rsp + 0x20], rax
mov r8, r12
mov r9, rdx
call fcn.14026f290
jmp 0x140128d5f
lea rax, [0x1402adaf8]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r8, r12
mov r9, rdi
call fcn.14026f290
ud2