Function at 0x14001d410
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov r11, r9
mov rbx, r8
mov r8, qword [rbp + 0x77]
mov eax, r9d
shr r11, 0x20
and al, 7
add r11, r8
mov rdi, rdx
mov r10, rcx
movzx esi, word [r11 + 0xa]
cmp al, 2
je 0x14001a774
mov rax, qword [rbp + 0x7f]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
mov r8, rbx
call fcn.14001c7e0
jmp 0x14001a964
movzx eax, word [r8]
movzx edx, si
mov qword [rsp + 0xc0], r14
mov r14d, 0x600
and dx, r14w
test ax, ax
je 0x14001a79b
mov ecx, eax
mov eax, dword [rbp + 0x7f]
or dword [rcx + r10], eax
mov ecx, esi
shr ecx, 6
and ecx, 7
je 0x14001a936
sub ecx, 2
je 0x14001a804
cmp ecx, 1
je 0x14001a7ba
xor eax, eax
jmp 0x14001a95c
mov eax, dword [r11]
lea r8, [rbp - 0x39]
add rax, r10
xor r9d, r9d
test dx, dx
mov qword [rbp - 0x39], rax
mov rdx, rdi
mov rcx, rbx
jne 0x14001a7ed
mov byte [rbp - 0x31], r9b
movaps xmm0, xmmword [rbp - 0x39]
movdqa xmmword [rbp - 0x39], xmm0
call fcn.14001fd50
jmp 0x14001a95c
mov byte [rbp - 0x31], 1
movaps xmm0, xmmword [rbp - 0x39]
movdqa xmmword [rbp - 0x39], xmm0
call fcn.14001fd50
jmp 0x14001a95c
movzx ecx, dx
shr ecx, 9
test ecx, ecx
je 0x14001a90b
sub ecx, 1
je 0x14001a8e0
sub ecx, 1
je 0x14001a884
cmp ecx, 1
jne 0x14001a936
mov ecx, dword [r8 + 0x18]
movzx edx, word [r11 + 8]
add rcx, r8
mov qword [rbp - 0x11], r8
lea r8, [rbp + 7]
mov qword [rbp - 0x19], r10
movups xmm1, xmmword [rbp - 0x19]
mov rax, qword [rcx + rdx*8]
mov rdx, rdi
mov qword [rbp - 0x21], rax
mov rcx, rbx
mov eax, dword [r11]
add rax, r10
mov qword [rbp - 9], r9
mov qword [rbp - 1], rax
mov word [rbp - 0x29], r14w
movups xmm0, xmmword [rbp - 0x29]
movaps xmmword [rbp + 0x17], xmm1
movaps xmmword [rbp + 7], xmm0
movups xmm0, xmmword [rbp - 9]
movaps xmmword [rbp + 0x27], xmm0
call fcn.1400206c0
jmp 0x14001a95c
mov ecx, dword [r8 + 0x18]
mov eax, 0x400
movzx edx, word [r11 + 8]
add rcx, r8
mov word [rbp - 0x29], ax
mov qword [rbp - 0x11], r8
lea r8, [rbp + 7]
mov qword [rbp - 0x19], r10
mov rax, qword [rcx + rdx*8]
mov rdx, rdi
movups xmm1, xmmword [rbp - 0x19]
mov qword [rbp - 0x21], rax
mov rcx, rbx
movups xmm0, xmmword [rbp - 0x29]
mov eax, dword [r11]
add rax, r10
mov qword [rbp - 9], r9
mov qword [rbp - 1], rax
movaps xmmword [rbp + 7], xmm0
movups xmm0, xmmword [rbp - 9]
movaps xmmword [rbp + 0x17], xmm1
movaps xmmword [rbp + 0x27], xmm0
call fcn.1400206c0
jmp 0x14001a95c
mov eax, dword [r11]
lea r8, [rbp - 0x39]
mov byte [rbp - 0x31], 1
add rax, r10
mov qword [rbp - 0x39], rax
xor r9d, r9d
movaps xmm0, xmmword [rbp - 0x39]
mov rdx, rdi
mov rcx, rbx
movdqa xmmword [rbp - 0x39], xmm0
call fcn.140020c10
jmp 0x14001a95c
mov eax, dword [r11]
lea r8, [rbp - 0x39]
mov byte [rbp - 0x31], 0
add rax, r10
mov qword [rbp - 0x39], rax
xor r9d, r9d
movaps xmm0, xmmword [rbp - 0x39]
mov rdx, rdi
mov rcx, rbx
movdqa xmmword [rbp - 0x39], xmm0
call fcn.140020c10
jmp 0x14001a95c
mov eax, dword [r11]
lea r8, [rbp - 0x39]
mov byte [rbp - 0x31], 0
add rax, r10
mov qword [rbp - 0x39], rax
mov rdx, rdi
movaps xmm0, xmmword [rbp - 0x39]
mov rcx, rbx
movdqa xmmword [rbp - 0x39], xmm0
call fcn.140021430
mov r14, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
add rsp, 0xa0
pop rdi
pop rsi
pop rbp
ret
push rbx
sub rsp, 0x30
mov r11, qword [rsp + 0x60]
mov rax, r9
shr rax, 0x20
mov rbx, rcx
movzx ecx, word [rax + r11 + 0xa]
mov eax, r9d
and eax, 7
cmp eax, 2
jne 0x14001c813
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp case.0x14002c131.2
test eax, eax
je 0x14001c82b
mov rcx, rbx
mov r10, qword [r11 + 0x28]
mov qword [rsp + 0x60], r11
add rsp, 0x30
pop rbx
jmp r10
movzx r10d, cx
mov eax, 0x600
and r10w, ax
shr ecx, 6
and ecx, 7
je 0x14001c8e6
sub ecx, 2
je 0x14001c884
cmp ecx, 1
je 0x14001c856
xor eax, eax
add rsp, 0x30
pop rbx
ret
mov rax, qword [rsp + 0x68]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r11
test r10w, r10w
jne 0x14001c879
call fcn.14001de00
add rsp, 0x30
pop rbx
ret
call fcn.14001e050
add rsp, 0x30
pop rbx
ret
movzx ecx, r10w
shr ecx, 9
test ecx, ecx
je 0x14001c8d4
sub ecx, 1
je 0x14001c8c2
sub ecx, 1
je 0x14001c8b0
cmp ecx, 1
jne 0x14001c8e6
mov rcx, rbx
mov qword [rsp + 0x60], r11
add rsp, 0x30
pop rbx
jmp 0x14001db60
mov rcx, rbx
mov qword [rsp + 0x60], r11
add rsp, 0x30
pop rbx
jmp 0x14001d8c0
mov rcx, rbx
mov qword [rsp + 0x60], r11
add rsp, 0x30
pop rbx
jmp 0x14001d660
mov rcx, rbx
mov qword [rsp + 0x60], r11
add rsp, 0x30
pop rbx
jmp 0x14001d410
mov rcx, rbx
mov qword [rsp + 0x60], r11
add rsp, 0x30
pop rbx
jmp 0x14001e2b0
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r15, qword [rsp + 0x90]
mov rax, r9
shr rax, 0x20
mov rbx, r9
mov rbp, r8
mov r12, rcx
movabs r13, 0x8000000000000000
mov r14d, dword [rax + r15]
add r14, rcx
movsx rsi, byte [rdx]
lea rdi, [rdx + 1]
test rsi, rsi
jns 0x14001d563
movsx rdx, byte [rdi]
mov rax, rsi
shl rdx, 7
inc rdi
shr rax, 0x39
or rdx, rax
jge 0x14001d560
movsx r8, byte [rdi]
mov rax, rsi
shl r8, 0xe
inc rdi
shr rax, 0x32
or r8, rax
jge 0x14001d55d
movsx rcx, byte [rdi]
mov rax, rsi
shl rcx, 0x15
inc rdi
shr rax, 0x2b
or rcx, rax
and rdx, rcx
jge 0x14001d55d
movsx rcx, byte [rdi]
mov rax, rsi
shl rcx, 0x1c
inc rdi
shr rax, 0x24
or rcx, rax
and r8, rcx
jge 0x14001d55d
movsx rcx, byte [rdi]
mov rax, rsi
shl rcx, 0x23
inc rdi
shr rax, 0x1d
or rcx, rax
and rdx, rcx
jge 0x14001d55d
movsx rcx, byte [rdi]
mov rax, rsi
shl rcx, 0x2a
inc rdi
shr rax, 0x16
or rcx, rax
and r8, rcx
jge 0x14001d55d
movsx rcx, byte [rdi]
mov rax, rsi
shl rcx, 0x31
inc rdi
shr rax, 0xf
mov r9, rdi
or rcx, rax
and rdx, rcx
jge 0x14001d55d
movsx rcx, byte [rdi]
mov rax, rsi
shl rcx, 0x38
inc rdi
shr rax, 8
or rcx, rax
and r8, rcx
jge 0x14001d55d
movzx eax, byte [rdi]
lea rdi, [r9 + 2]
cmp al, 1
je 0x14001d55d
test al, al
js 0x14001d60a
test al, 1
jne 0x14001d55d
xor r8, r13
and rdx, r8
and rsi, rdx
test rdi, rdi
je 0x14001d60c
mov edx, dword [r14]
mov r8, qword [r14 + 8]
cmp edx, dword [r14 + 4]
jne 0x14001d589
lea r8d, [rdx + 1]
mov rcx, r14
call fcn.14000e450
mov r8, qword [r14 + 8]
movsxd rcx, dword [r14]
lea eax, [rcx + 1]
mov dword [r14], eax
mov dword [r8 + rcx*4], esi
cmp rdi, qword [rbp]
jae 0x14001d5ef
movzx r8d, byte [rdi]
lea rdx, [rdi + 1]
cmp r8d, 0x80
jb 0x14001d5e1
movzx ecx, byte [rdx]
add r8d, 0xffffff80
mov eax, ecx
shl eax, 7
add r8d, eax
cmp ecx, 0x80
jae 0x14001d5ca
lea rdx, [rdi + 2]
jmp 0x14001d5e1
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14005c010
mov r8d, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x14001d60c
cmp r8d, ebx
je 0x14001d455
movzx eax, word [r15]
test ax, ax
je 0x14001d605
mov ecx, eax
mov eax, dword [rsp + 0x98]
or dword [rcx + r12], eax
mov rax, rdi
jmp 0x14001d634
xor edi, edi
mov rax, qword [rsp + 0x98]
mov r8, rbp
mov r9, qword [rsp + 0x90]
mov rdx, rdi
mov qword [rsp + 0x28], rax
mov rcx, r12
mov qword [rsp + 0x20], r15
call fcn.140024460
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r15, qword [rsp + 0x90]
mov rax, r9
shr rax, 0x20
mov rbx, r9
mov rbp, r8
mov qword [rsp + 0x78], rsi
mov r12, rcx
movabs r13, 0x8000000000000000
mov r14d, dword [rax + r15]
add r14, rcx
movsx r8, byte [rdx]
lea rdi, [rdx + 1]
test r8, r8
jns 0x14001d7b3
movsx rdx, byte [rdi]
mov rax, r8
shl rdx, 7
inc rdi
shr rax, 0x39
or rdx, rax
jge 0x14001d7b0
movsx r9, byte [rdi]
mov rax, r8
shl r9, 0xe
inc rdi
shr rax, 0x32
or r9, rax
jge 0x14001d7ad
movsx rcx, byte [rdi]
mov rax, r8
shl rcx, 0x15
inc rdi
shr rax, 0x2b
or rcx, rax
and rdx, rcx
jge 0x14001d7ad
movsx rcx, byte [rdi]
mov rax, r8
shl rcx, 0x1c
inc rdi
shr rax, 0x24
or rcx, rax
and r9, rcx
jge 0x14001d7ad
movsx rcx, byte [rdi]
mov rax, r8
shl rcx, 0x23
inc rdi
shr rax, 0x1d
or rcx, rax
and rdx, rcx
jge 0x14001d7ad
movsx rcx, byte [rdi]
mov rax, r8
shl rcx, 0x2a
inc rdi
shr rax, 0x16
or rcx, rax
and r9, rcx
jge 0x14001d7ad
movsx rcx, byte [rdi]
mov rax, r8
shl rcx, 0x31
inc rdi
shr rax, 0xf
mov r10, rdi
or rcx, rax
and rdx, rcx
jge 0x14001d7ad
movsx rcx, byte [rdi]
mov rax, r8
shl rcx, 0x38
inc rdi
shr rax, 8
or rcx, rax
and r9, rcx
jge 0x14001d7ad
movzx eax, byte [rdi]
lea rdi, [r10 + 2]
cmp al, 1
je 0x14001d7ad
test al, al
js 0x14001d868
test al, 1
jne 0x14001d7ad
xor r9, r13
and rdx, r9
and r8, rdx
test rdi, rdi
je 0x14001d86a
mov edx, dword [r14]
mov esi, r8d
and esi, 1
shr r8d, 1
neg esi
xor esi, r8d
mov r8, qword [r14 + 8]
cmp edx, dword [r14 + 4]
jne 0x14001d7e7
lea r8d, [rdx + 1]
mov rcx, r14
call fcn.14000e450
mov r8, qword [r14 + 8]
movsxd rcx, dword [r14]
lea eax, [rcx + 1]
mov dword [r14], eax
mov dword [r8 + rcx*4], esi
cmp rdi, qword [rbp]
jae 0x14001d84d
movzx r8d, byte [rdi]
lea rdx, [rdi + 1]
cmp r8d, 0x80
jb 0x14001d83f
movzx ecx, byte [rdx]
add r8d, 0xffffff80
mov eax, ecx
shl eax, 7
add r8d, eax
cmp ecx, 0x80
jae 0x14001d828
lea rdx, [rdi + 2]
jmp 0x14001d83f
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14005c010
mov r8d, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x14001d86a
cmp r8d, ebx
je 0x14001d6a5
movzx eax, word [r15]
test ax, ax
je 0x14001d863
mov ecx, eax
mov eax, dword [rsp + 0x98]
or dword [rcx + r12], eax
mov rax, rdi
jmp 0x14001d892
xor edi, edi
mov rax, qword [rsp + 0x98]
mov r8, rbp
mov r9, qword [rsp + 0x90]
mov rdx, rdi
mov qword [rsp + 0x28], rax
mov rcx, r12
mov qword [rsp + 0x20], r15
call fcn.140024460
mov rsi, qword [rsp + 0x78]
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r13, qword [rsp + 0xa0]
mov r14, rdx
mov rdx, r9
mov rbx, r9
shr rdx, 0x20
mov r12, r8
mov edi, dword [r13 + 0x18]
mov r15d, dword [rdx + r13]
movzx edx, word [rdx + r13 + 8]
add r15, rcx
add rdi, r13
mov rdi, qword [rdi + rdx*8]
movsx rbp, byte [r14]
lea rsi, [r14 + 1]
movabs r10, 0x8000000000000000
test rbp, rbp
jns 0x14001da21
movsx rdx, byte [rsi]
mov rax, rbp
shl rdx, 7
inc rsi
shr rax, 0x39
or rdx, rax
jge 0x14001da1e
movsx r8, byte [rsi]
mov rax, rbp
shl r8, 0xe
inc rsi
shr rax, 0x32
or r8, rax
jge 0x14001da1b
movsx rcx, byte [rsi]
mov rax, rbp
shl rcx, 0x15
inc rsi
shr rax, 0x2b
or rcx, rax
and rdx, rcx
jge 0x14001da1b
movsx rcx, byte [rsi]
mov rax, rbp
shl rcx, 0x1c
inc rsi
shr rax, 0x24
or rcx, rax
and r8, rcx
jge 0x14001da1b
movsx rcx, byte [rsi]
mov rax, rbp
shl rcx, 0x23
inc rsi
shr rax, 0x1d
or rcx, rax
and rdx, rcx
jge 0x14001da1b
movsx rcx, byte [rsi]
mov rax, rbp
shl rcx, 0x2a
inc rsi
shr rax, 0x16
or rcx, rax
and r8, rcx
jge 0x14001da1b
movsx rcx, byte [rsi]
mov rax, rbp
shl rcx, 0x31
inc rsi
shr rax, 0xf
mov r9, rsi
or rcx, rax
and rdx, rcx
jge 0x14001da1b
movsx rcx, byte [rsi]
mov rax, rbp
shl rcx, 0x38
inc rsi
shr rax, 8
or rcx, rax
and r8, rcx
jge 0x14001da1b
movzx eax, byte [rsi]
lea rsi, [r9 + 2]
cmp al, 1
je 0x14001da1b
test al, al
js 0x14001dae0
test al, 1
jne 0x14001da1b
xor r8, r10
and rdx, r8
and rbp, rdx
test rsi, rsi
je 0x14001dae2
mov rdx, rdi
mov ecx, ebp
call fcn.1400a4d50
test al, al
je 0x14001db27
mov edx, dword [r15]
mov r8, qword [r15 + 8]
cmp edx, dword [r15 + 4]
jne 0x14001da59
lea r8d, [rdx + 1]
mov rcx, r15
call fcn.14000e450
mov r8, qword [r15 + 8]
movsxd rcx, dword [r15]
lea eax, [rcx + 1]
mov dword [r15], eax
mov dword [r8 + rcx*4], ebp
cmp rsi, qword [r12]
jae 0x14001dabd
movzx edx, byte [rsi]
lea r14, [rsi + 1]
cmp edx, 0x80
jb 0x14001dab0
movzx ecx, byte [r14]
add edx, 0xffffff80
mov eax, ecx
shl eax, 7
add edx, eax
cmp ecx, 0x80
jae 0x14001da97
lea r14, [rsi + 2]
jmp 0x14001dab0
mov r8d, edx
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.14005c010
mov edx, dword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x14001dae2
cmp edx, ebx
je 0x14001d909
movzx eax, word [r13]
test ax, ax
je 0x14001dadb
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov eax, dword [rsp + 0xa8]
or dword [rcx], eax
mov rax, rsi
jmp 0x14001db0f
xor esi, esi
mov rax, qword [rsp + 0xa8]
mov r8, r12
mov r9, qword [rsp + 0x80]
mov rdx, rsi
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
call fcn.140024460
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rsp + 0xa8]
mov r9, rbx
mov rcx, qword [rsp + 0x80]
mov r8, r12
mov qword [rsp + 0x28], rax
mov rdx, r14
mov qword [rsp + 0x20], r13
call fcn.14002c150
jmp 0x14001db0f
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r12, qword [rsp + 0x90]
mov r10, rdx
mov rdx, r9
mov rdi, r9
shr rdx, 0x20
mov r15, r8
mov r13, rcx
mov ebx, dword [r12 + 0x18]
mov r14d, dword [rdx + r12]
movzx edx, word [rdx + r12 + 8]
add r14, rcx
add rbx, r12
mov rbx, qword [rbx + rdx*8]
movsx rbp, byte [r10]
lea rsi, [r10 + 1]
movabs r11, 0x8000000000000000
test rbp, rbp
jns 0x14001dcc8
movsx rdx, byte [rsi]
mov rax, rbp
shl rdx, 7
inc rsi
shr rax, 0x39
or rdx, rax
jge 0x14001dcc5
movsx r8, byte [rsi]
mov rax, rbp
shl r8, 0xe
inc rsi
shr rax, 0x32
or r8, rax
jge 0x14001dcc2
movsx rcx, byte [rsi]
mov rax, rbp
shl rcx, 0x15
inc rsi
shr rax, 0x2b
or rcx, rax
and rdx, rcx
jge 0x14001dcc2
movsx rcx, byte [rsi]
mov rax, rbp
shl rcx, 0x1c
inc rsi
shr rax, 0x24
or rcx, rax
and r8, rcx
jge 0x14001dcc2
movsx rcx, byte [rsi]
mov rax, rbp
shl rcx, 0x23
inc rsi
shr rax, 0x1d
or rcx, rax
and rdx, rcx
jge 0x14001dcc2
movsx rcx, byte [rsi]
mov rax, rbp
shl rcx, 0x2a
inc rsi
shr rax, 0x16
or rcx, rax
and r8, rcx
jge 0x14001dcc2
movsx rcx, byte [rsi]
mov rax, rbp
shl rcx, 0x31
inc rsi
shr rax, 0xf
mov r9, rsi
or rcx, rax
and rdx, rcx
jge 0x14001dcc2
movsx rcx, byte [rsi]
mov rax, rbp
shl rcx, 0x38
inc rsi
shr rax, 8
or rcx, rax
and r8, rcx
jge 0x14001dcc2
movzx eax, byte [rsi]
lea rsi, [r9 + 2]
cmp al, 1
je 0x14001dcc2
test al, al
js 0x14001dd8c
test al, 1
jne 0x14001dcc2
xor r8, r11
and rdx, r8
and rbp, rdx
test rsi, rsi
je 0x14001dd8e
movsx edx, bx
cmp edx, ebp
jg 0x14001ddd4
mov rax, rbx
shr rax, 0x10
movzx ecx, ax
add ecx, edx
cmp ebp, ecx
jge 0x14001ddd4
mov edx, dword [r14]
mov r8, qword [r14 + 8]
cmp edx, dword [r14 + 4]
jne 0x14001dd0d
lea r8d, [rdx + 1]
mov rcx, r14
call fcn.14000e450
mov r8, qword [r14 + 8]
movsxd rcx, dword [r14]
lea eax, [rcx + 1]
mov dword [r14], eax
mov dword [r8 + rcx*4], ebp
cmp rsi, qword [r15]
jae 0x14001dd70
movzx edx, byte [rsi]
lea r10, [rsi + 1]
cmp edx, 0x80
jb 0x14001dd63
movzx ecx, byte [r10]
add edx, 0xffffff80
mov eax, ecx
shl eax, 7
add edx, eax
cmp ecx, 0x80
jae 0x14001dd4a
lea r10, [rsi + 2]
jmp 0x14001dd63
mov r8d, edx
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.14005c010
mov edx, dword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
test r10, r10
je 0x14001dd8e
cmp edx, edi
je 0x14001dbb0
movzx eax, word [r12]
test ax, ax
je 0x14001dd87
mov ecx, eax
mov eax, dword [rsp + 0x98]
or dword [rcx + r13], eax
mov rax, rsi
jmp 0x14001ddb6
xor esi, esi
mov rax, qword [rsp + 0x98]
mov r8, r15
mov r9, qword [rsp + 0x90]
mov rdx, rsi
mov qword [rsp + 0x28], rax
mov rcx, r13
mov qword [rsp + 0x20], r12
call fcn.140024460
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rax, qword [rsp + 0x98]
mov r9, rdi
mov qword [rsp + 0x28], rax
mov r8, r15
mov rdx, r10
mov qword [rsp + 0x20], r12
mov rcx, r13
call fcn.14002c150
jmp 0x14001ddb6
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r15, qword [rsp + 0x90]
mov rax, r9
shr rax, 0x20
mov rbx, r9
mov rbp, r8
mov qword [rsp + 0x78], rsi
mov r12, rcx
movabs r13, 0x8000000000000000
mov r14d, dword [rax + r15]
add r14, rcx
movsx r9, byte [rdx]
lea rdi, [rdx + 1]
test r9, r9
jns 0x14001e403
movsx rdx, byte [rdi]
mov rax, r9
shl rdx, 7
inc rdi
shr rax, 0x39
or rdx, rax
jge 0x14001e400
movsx r8, byte [rdi]
mov rax, r9
shl r8, 0xe
inc rdi
shr rax, 0x32
or r8, rax
jge 0x14001e3fd
movsx rcx, byte [rdi]
mov rax, r9
shl rcx, 0x15
inc rdi
shr rax, 0x2b
or rcx, rax
and rdx, rcx
jge 0x14001e3fd
movsx rcx, byte [rdi]
mov rax, r9
shl rcx, 0x1c
inc rdi
shr rax, 0x24
or rcx, rax
and r8, rcx
jge 0x14001e3fd
movsx rcx, byte [rdi]
mov rax, r9
shl rcx, 0x23
inc rdi
shr rax, 0x1d
or rcx, rax
and rdx, rcx
jge 0x14001e3fd
movsx rcx, byte [rdi]
mov rax, r9
shl rcx, 0x2a
inc rdi
shr rax, 0x16
or rcx, rax
and r8, rcx
jge 0x14001e3fd
movsx rcx, byte [rdi]
mov rax, r9
shl rcx, 0x31
inc rdi
shr rax, 0xf
mov r10, rdi
or rcx, rax
and rdx, rcx
jge 0x14001e3fd
movsx rcx, byte [rdi]
mov rax, r9
shl rcx, 0x38
inc rdi
shr rax, 8
or rcx, rax
and r8, rcx
jge 0x14001e3fd
movzx eax, byte [rdi]
lea rdi, [r10 + 2]
cmp al, 1
je 0x14001e3fd
test al, al
js 0x14001e4b1
test al, 1
jne 0x14001e3fd
xor r8, r13
and rdx, r8
and r9, rdx
test rdi, rdi
je 0x14001e4b3
mov edx, dword [r14]
test r9, r9
mov r8, qword [r14 + 8]
setne sil
cmp edx, dword [r14 + 4]
jne 0x14001e430
lea r8d, [rdx + 1]
mov rcx, r14
call fcn.140016980
mov r8, qword [r14 + 8]
movsxd rcx, dword [r14]
lea eax, [rcx + 1]
mov dword [r14], eax
mov byte [rcx + r8], sil
cmp rdi, qword [rbp]
jae 0x14001e496
movzx r8d, byte [rdi]
lea rdx, [rdi + 1]
cmp r8d, 0x80
jb 0x14001e488
movzx ecx, byte [rdx]
add r8d, 0xffffff80
mov eax, ecx
shl eax, 7
add r8d, eax
cmp ecx, 0x80
jae 0x14001e471
lea rdx, [rdi + 2]
jmp 0x14001e488
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14005c010
mov r8d, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x14001e4b3
cmp r8d, ebx
je 0x14001e2f5
movzx eax, word [r15]
test ax, ax
je 0x14001e4ac
mov ecx, eax
mov eax, dword [rsp + 0x98]
or dword [rcx + r12], eax
mov rax, rdi
jmp 0x14001e4db
xor edi, edi
mov rax, qword [rsp + 0x98]
mov r8, rbp
mov r9, qword [rsp + 0x90]
mov rdx, rdi
mov qword [rsp + 0x28], rax
mov rcx, r12
mov qword [rsp + 0x20], r15
call fcn.140024460
mov rsi, qword [rsp + 0x78]
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret