Function at 0x140187930
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x10], edx
push rbx
push rsi
push rdi
push r12
push r14
mov eax, 0x40
call fcn.1402358a0
sub rsp, rax
xor edi, edi
movsxd rbx, r9d
mov rsi, r8
mov r12, rcx
mov r14d, edi
cmp ebx, 0xa
jge 0x140187988
lea r9, str.crypto_rsa_rsa_ssl.c
mov dword [rsp + 0x20], 0x47
lea edx, [rax + 0x32]
lea ecx, [rax - 0x3c]
lea r8d, [rax + 0x2f]
call fcn.140148150
lea eax, [rdi - 1]
add rsp, 0x40
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x70], rbp
lea rdx, str.crypto_rsa_rsa_ssl.c
mov ebp, dword [rsp + 0x90]
mov r8d, 0x4b
mov qword [rsp + 0x38], r13
movsxd r13, ebp
mov rcx, r13
call fcn.14014d990
mov r10, rax
test rax, rax
jne 0x1401879e1
lea r9, str.crypto_rsa_rsa_ssl.c
mov dword [rsp + 0x20], 0x4d
lea edx, [rax + 0x72]
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
call fcn.140148150
mov eax, 0xffffffff
jmp 0x140187c3b
add rsi, rbx
mov qword [rsp + 0x30], r15
add r10, r13
test ebp, ebp
jle 0x140187a24
mov rdx, rbp
mov eax, ebx
lea ecx, [rbx - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
dec r10
and ecx, eax
dec ecx
mov eax, ecx
and eax, 1
sub ebx, eax
mov eax, ecx
and eax, 1
sub rsi, rax
movzx eax, byte [rsi]
and al, cl
mov byte [r10], al
sub rdx, 1
jne 0x1401879f3
movzx eax, byte [r10 + 1]
mov r11d, 2
xor eax, 2
mov r9d, edi
mov esi, edi
lea ebx, [rax - 1]
not eax
shr eax, 0x1f
shr ebx, 0x1f
and ebx, eax
movzx eax, byte [r10]
dec eax
neg ebx
shr eax, 0x1f
neg eax
and ebx, eax
mov r15d, ebx
not r15d
mov dword [rsp + 0x88], r15d
cmp ebp, r11d
jle 0x140187acd
mov eax, 0xffffffff
lea r15, [r10 + 2]
nop
movzx r8d, byte [r15]
lea r15, [r15 + 1]
lea edx, [r8 - 1]
xor r8d, 3
shr edx, 0x1f
neg edx
and eax, edx
or r9d, edx
mov ecx, eax
lea edx, [r8 - 1]
and eax, r11d
shr edx, 0x1f
not ecx
not r8d
and r14d, ecx
shr r8d, 0x1f
or r14d, eax
and edx, r8d
neg edx
mov eax, r9d
or edx, r9d
not eax
mov ecx, eax
inc r11d
and ecx, 1
add ecx, esi
mov esi, edx
and esi, ecx
cmp r11d, ebp
jl 0x140187a70
mov r15d, dword [rsp + 0x88]
lea r9d, [r14 + 1]
lea eax, [r14 - 0xa]
or eax, r14d
xor eax, r14d
shr eax, 0x1f
dec eax
and ebx, eax
lea eax, [rsi - 8]
or eax, esi
mov r11d, ebx
xor eax, esi
or r11d, r15d
mov esi, dword [rsp + 0x78]
not r11d
shr eax, 0x1f
and r11d, 0x71
neg eax
and r15d, 0x6b
or r11d, r15d
mov ecx, ebx
and ebx, eax
not ecx
mov r8d, ebx
mov eax, ebp
or r8d, ecx
sub eax, r9d
and r11d, r8d
mov ecx, esi
sub ecx, eax
mov edx, ebx
xor ecx, eax
not r8d
xor eax, esi
and r8d, 0x73
or ecx, eax
or r11d, r8d
xor ecx, esi
not edx
shr ecx, 0x1f
dec ecx
and ebx, ecx
mov ecx, ebp
sub ecx, esi
mov eax, ebx
or eax, edx
xor ecx, esi
and r11d, eax
and r9d, ebx
not eax
mov r15d, ebx
and eax, 0x6d
not r15d
or r11d, eax
mov eax, esi
xor eax, ebp
mov dword [rsp + 0x88], r11d
or ecx, eax
mov r11d, ebx
xor ecx, ebp
mov eax, ebp
shr ecx, 0x1f
neg ecx
mov r14d, ecx
and ecx, ebp
not r14d
and r14d, esi
or r14d, ecx
sub eax, r14d
and eax, r15d
or eax, r9d
movsxd rsi, eax
sub ebp, eax
add rsi, r10
test r14d, r14d
jle 0x140187be9
mov r9, r12
nop word [rax + rax]
mov eax, edi
inc edi
xor eax, ebp
lea ecx, [rax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
mov eax, r14d
neg ecx
mov edx, ecx
and rcx, rax
sub rsi, rcx
mov rax, r9
sub rax, r12
xor edx, r11d
and r11d, edx
movzx ecx, byte [rax + rsi]
movzx eax, r11b
and cl, r11b
not al
and al, byte [r9]
or cl, al
mov byte [r9], cl
inc r9
cmp edi, r14d
jl 0x140187ba0
mov r9d, 0xa2
lea r8, str.crypto_rsa_rsa_ssl.c
mov rdx, r13
mov rcx, r10
call fcn.14014daf0
mov r8d, dword [rsp + 0x88]
lea r9, str.crypto_rsa_rsa_ssl.c
mov edx, WSACleanup
mov dword [rsp + 0x20], 0xa3
lea ecx, [rdx - 0x6e]
call fcn.140148150
mov ecx, ebx
and ecx, 1
call fcn.140148440
and ebx, ebp
or ebx, r15d
mov r15, qword [rsp + 0x30]
mov eax, ebx
mov rbp, qword [rsp + 0x70]
mov r13, qword [rsp + 0x38]
add rsp, 0x40
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret