Function at 0x14008b670
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
mov rax, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov esi, dword [rsp + 0x58]
mov r10, rcx
mov rcx, r9
mov r9, qword [rsp + 0x40]
cmp edx, 0x301
je 0x140087c50
ja 0x140087c00
cmp edx, 0x100
je 0x140087c22
cmp edx, 0x300
jne 0x140087c12
mov rdx, qword [rcx]
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r11
pop rbx
pop rsi
jmp 0x14008b350
cmp edx, 0xfefd
je 0x140087c22
jbe 0x140087c17
cmp edx, 0xfeff
je 0x140087c22
xor eax, eax
pop rbx
pop rsi
ret
sub edx, 0x302
cmp edx, 1
ja 0x140087c12
mov rdx, qword [rcx]
add r8, rax
sub rdx, rax
mov qword [rcx], rdx
mov qword [rsp + 0x58], r10
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r11
pop rbx
pop rsi
jmp 0x14008b670
mov rdx, qword [rcx]
jmp 0x140087c2e
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x108
mov rsi, qword [rsp + 0x180]
mov rax, rcx
lea rcx, [rsi + 1]
mov r13, r8
mov r12, rdx
mov rbp, qword [rax]
xor r8d, r8d
cmp rbp, rcx
jae 0x14008b3a0
mov eax, r8d
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx edi, byte [r13 + rbp - 1]
mov rbx, rbp
mov r14, rbp
mov rdx, qword [rsp + 0x178]
mov r8, qword [rsp + 0x178]
add rcx, rdi
add rdi, 1
sub rbx, rcx
sub rdx, rdi
xor r8, rdi
xor rbx, rcx
xor rcx, rbp
xor rdx, rdi
or rbx, rcx
or rdx, r8
xor rdx, qword [rsp + 0x178]
xor rbx, rbp
or rbx, rdx
mov edx, 0x40
sar rbx, 0x3f
not rbx
and rdi, rbx
sub r14, rdi
cmp r12, rdx
cmovbe rdx, r12
mov qword [rax], r14
cmp rsi, rdx
ja 0x14008b628
test rsi, rsi
je 0x14008b630
mov r15, r14
sub r15, rsi
cmp qword [rsp + 0x178], 1
mov qword [rax], r15
je 0x14008b640
lea rax, [rsp + 0x40]
mov rcx, qword [rsp + 0x188]
mov qword [rsp + 0x168], r9
mov r8, rsi
xor r9d, r9d
mov rdx, rax
mov qword [rsp + 0x28], rax
call fcn.140217690
test eax, eax
jle 0x14008b628
mov r11, qword [rsp + 0x168]
test r11, r11
je 0x14008b628
cmp qword [rsp + 0x170], 0
je 0x14008b628
mov r8d, 0x104
lea rdx, str.ssl_record_tls_pad.c
mov rcx, rsi
call fcn.14000e980
mov r11, qword [rsp + 0x168]
test rax, rax
mov qword [rsp + 0x38], rax
mov qword [r11], rax
je 0x14008b628
mov rax, qword [rsp + 0x170]
lea rcx, [rsp + 0x80]
lea r9, [r12 - 0x100]
mov r8, rsi
sub r9, rsi
mov dword [rax], 1
mov rax, rcx
neg rax
and eax, 0x3f
add rcx, rax
lea rax, [rsi + 0x100]
cmp r12, rax
mov eax, 0
cmovbe r9, rax
xor edx, edx
mov qword [rsp + 0x30], r9
call sub.msvcrt.dll_memset
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
mov rcx, rax
cmp r12, r9
jbe 0x14008b666
mov qword [rsp + 0x30], rbx
sub rdi, rbp
xor eax, eax
xor edx, edx
mov rbp, rdi
xor r8d, r8d
nop dword [rax]
mov r11, r15
mov rdi, r14
xor r11, r9
xor rdi, r9
mov rbx, r11
sub r11, 1
not rbx
and rbx, r11
lea r11, [r9 + rbp]
xor r11, r14
sar rbx, 0x3f
or r11, rdi
or r8, rbx
and rbx, rdx
xor r11, r9
or rax, rbx
movzx ebx, byte [r13 + r9]
add r9, 1
sar r11, 0x3f
and r8, r11
lea r11, [rdx + 1]
and ebx, r8d
or byte [rcx + rdx], bl
mov rdx, r11
mov rbx, rsi
sub rdx, rsi
xor rbx, r11
xor rdx, rsi
or rdx, rbx
xor rdx, r11
sar rdx, 0x3f
and rdx, r11
cmp r12, r9
jne 0x14008b528
mov rbx, qword [rsp + 0x30]
movzx ebx, bl
mov rdi, qword [rsp + 0x28]
xor r8d, r8d
mov r11d, ebx
not r11d
nop dword [rax]
mov edx, eax
mov rbp, rax
lea r9, [rax + 1]
movzx r12d, byte [rdi + r8]
and edx, 0x20
cmp edx, 1
sbb edx, edx
and rbp, 0xffffffffffffffdf
or rax, 0x20
add r8, 1
movzx ebp, byte [rcx + rbp]
movzx eax, byte [rcx + rax]
movzx edx, dl
mov r13d, edx
not edx
and ebp, r13d
and eax, edx
movzx edx, r12b
or eax, ebp
and edx, r11d
and eax, ebx
or eax, edx
mov rdx, rsi
mov byte [r10 + r8 - 1], al
mov rax, r9
xor rdx, r9
sub rax, rsi
xor rax, rsi
or rax, rdx
xor rax, r9
sar rax, 0x3f
and rax, r9
cmp rsi, r8
jne 0x14008b5b0
mov r8d, 1
jmp 0x14008b383
xor r8d, r8d
jmp 0x14008b383
xor r8d, r8d
test rbx, rbx
setne r8b
jmp 0x14008b383
test r9, r9
je 0x14008b64b
add r15, r13
mov qword [r9], r15
cmp qword [rsp + 0x170], 0
je 0x14008b61a
mov rax, qword [rsp + 0x170]
mov dword [rax], 0
jmp 0x14008b61a
xor eax, eax
jmp 0x14008b59c
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x108
xor eax, eax
mov rbp, qword [rsp + 0x180]
mov rdi, qword [rcx]
mov r12, rdx
mov rdx, qword [rsp + 0x178]
mov r13, r8
mov r11, r9
cmp rdx, 1
setne al
xor r8d, r8d
add rax, rbp
cmp rdi, rax
jb 0x14008b9bf
cmp rdx, 1
je 0x14008ba00
movzx ebx, byte [r13 + rdi - 1]
mov r8d, dword [rsp + 0x188]
lea rdx, [rdi - 1]
mov rsi, rbx
test r8d, r8d
jne 0x14008b9b0
add rax, rbx
mov rdx, rdi
sub rdx, rax
xor rdx, rax
xor rax, rdi
or rax, rdx
xor rax, rdi
sar rax, 0x3f
mov r10, rax
not r10
cmp rdi, 0xff
jbe 0x14008b9e0
mov r15d, 0x100
mov r14, rdi
mov r9, rbx
xor r8d, r8d
sub r14, rbx
add r14, r13
mov rdx, r8
mov rax, rbx
xor rdx, r9
xor rax, r8
add r8, 1
or rax, rdx
movzx edx, byte [r14 + r9 - 1]
sub r9, 1
xor rax, rbx
xor edx, esi
sar rax, 0x3f
movzx edx, dl
not rdx
or rax, rdx
and r10, rax
cmp r8, r15
jb 0x14008b720
mov rax, r10
not rax
movzx esi, al
add rbx, 1
mov eax, 0x40
mov r14, rdi
sub rsi, 1
or r10, 0xffffffffffffff00
and rsi, r10
sar rsi, 0x3f
and rbx, rsi
sub r14, rbx
cmp r12, rax
cmovbe rax, r12
mov qword [rcx], r14
cmp rbp, rax
ja 0x14008b9f8
test rbp, rbp
je 0x14008ba50
mov rax, r14
lea r15, [rsp + 0x40]
xor r9d, r9d
mov r8, rbp
sub rax, rbp
mov rdx, r15
mov qword [rsp + 0x168], r11
mov qword [rcx], rax
mov rcx, qword [rsp + 0x190]
mov qword [rsp + 0x28], rax
call fcn.140217690
mov r11, qword [rsp + 0x168]
test eax, eax
jle 0x14008b9f8
test r11, r11
mov qword [rsp + 0x168], r11
je 0x14008b9f8
cmp qword [rsp + 0x170], 0
je 0x14008b9f8
mov r8d, 0x104
lea rdx, str.ssl_record_tls_pad.c
mov rcx, rbp
call fcn.14000e980
mov r11, qword [rsp + 0x168]
mov qword [rsp + 0x30], rax
mov qword [r11], rax
test rax, rax
je 0x14008b9f8
mov rax, qword [rsp + 0x170]
lea rcx, [rsp + 0x80]
lea r9, [r12 - 0x100]
mov r8, rbp
sub r9, rbp
mov dword [rax], 1
mov rax, rcx
neg rax
and eax, 0x3f
add rcx, rax
lea rax, [rbp + 0x100]
cmp r12, rax
mov eax, 0
cmovbe r9, rax
xor edx, edx
mov qword [rsp + 0x38], r9
call sub.msvcrt.dll_memset
mov r9, qword [rsp + 0x38]
mov rcx, rax
cmp r12, r9
jbe 0x14008ba5f
mov qword [rsp + 0x38], rsi
sub rbx, rdi
mov rdi, qword [rsp + 0x28]
xor eax, eax
mov r10, rbx
xor edx, edx
xor r8d, r8d
nop word cs:[rax + rax]
mov r11, rdi
mov rsi, r14
xor r11, r9
xor rsi, r9
mov rbx, r11
sub r11, 1
not rbx
and rbx, r11
lea r11, [r9 + r10]
xor r11, r14
sar rbx, 0x3f
or r11, rsi
or r8, rbx
and rbx, rdx
xor r11, r9
or rax, rbx
movzx ebx, byte [r13 + r9]
add r9, 1
sar r11, 0x3f
and r8, r11
lea r11, [rdx + 1]
and ebx, r8d
or byte [rcx + rdx], bl
mov rdx, r11
mov rbx, rbp
sub rdx, rbp
xor rbx, r11
xor rdx, rbp
or rdx, rbx
xor rdx, r11
sar rdx, 0x3f
and rdx, r11
cmp r12, r9
jne 0x14008b8b0
mov rsi, qword [rsp + 0x38]
movzx esi, sil
mov r11, qword [rsp + 0x30]
xor r8d, r8d
mov r10d, esi
not r10d
nop word cs:[rax + rax]
mov edx, eax
mov rbx, rax
lea r9, [rax + 1]
movzx edi, byte [r15 + r8]
and edx, 0x20
cmp edx, 1
sbb edx, edx
and rbx, 0xffffffffffffffdf
or rax, 0x20
add r8, 1
movzx ebx, byte [rcx + rbx]
movzx eax, byte [rcx + rax]
movzx edx, dl
mov r12d, edx
not edx
and ebx, r12d
and eax, edx
movzx edx, dil
or eax, ebx
and edx, r10d
and eax, esi
or eax, edx
mov rdx, rbp
mov byte [r11 + r8 - 1], al
mov rax, r9
xor rdx, r9
sub rax, rbp
xor rax, rbp
or rax, rdx
xor rax, r9
sar rax, 0x3f
and rax, r9
cmp rbp, r8
jne 0x14008b940
jmp 0x14008b9b9
sub rdx, rbp
sub rdx, rbx
mov qword [rcx], rdx
mov r8d, 1
mov eax, r8d
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r15, rdi
test rdi, rdi
jne 0x14008b711
jmp 0x14008b75d
xor r8d, r8d
jmp 0x14008b9bf
mov eax, 0x40
cmp r12, rax
cmovbe rax, r12
cmp rbp, rax
ja 0x14008b9f8
test rbp, rbp
je 0x14008b9b9
sub rdi, rbp
mov qword [rcx], rdi
test r9, r9
je 0x14008ba27
add rdi, r13
mov qword [r11], rdi
cmp qword [rsp + 0x170], 0
je 0x14008b9b9
mov rax, qword [rsp + 0x170]
mov r8d, 1
mov dword [rax], 0
jmp 0x14008b9bf
xor r8d, r8d
test rsi, rsi
setne r8b
jmp 0x14008b9bf
xor eax, eax
jmp 0x14008b924