Function at 0x140078670
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov r12, rdx
mov rsi, qword [rsp + 0xe0]
mov rax, qword [0x1403a8f38]
xor rax, rsp
test rsi, rsi
cmove rsi, r9
mov qword [rsp + 0x70], rax
mov rdx, qword [rcx + 8]
movsxd rax, dword [rdx + 8]
test rax, rax
je 0x140078775
mov r10d, eax
mov rdx, qword [rdx]
cmp r10d, 4
jae 0x1400786c5
xor r11d, r11d
xor edi, edi
jmp 0x140078720
mov r11, rax
and r11, 0xfffffffffffffffc
pxor xmm0, xmm0
xor edi, edi
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm2, xmmword [rdx + rdi*8]
por xmm0, xmm2
movdqu xmm2, xmmword [rdx + rdi*8 + 0x10]
por xmm1, xmm2
add rdi, 4
cmp r11, rdi
jne 0x1400786e0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq rdi, xmm0
cmp r11, rax
je 0x14007872c
nop word cs:[rax + rax]
or rdi, qword [rdx + r11*8]
inc r11
cmp rax, r11
jne 0x140078720
test rdi, rdi
je 0x140078775
mov edi, dword [r9 + 4]
mov ebp, dword [rsp + 0xe8]
mov r11d, r10d
sar r11d, 0x1f
and r11d, r10d
lea ebx, [rax + 1]
mov r14, r9
mov qword [rsp + 0x48], r8
nop word cs:[rax + rax]
test r10d, r10d
jle 0x140078799
dec ebx
cmp qword [rdx + r10*8 - 8], 0
lea r10, [r10 - 1]
je 0x140078760
jmp 0x1400787b5
mov dword [rsp + 0x20], 0x264
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor r12d, r12d
mov ecx, 4
xor edx, edx
mov r8d, 0x78
jmp 0x1400788c1
mov ebx, r11d
test eax, eax
js 0x1400787b5
call fcn.140078560
mov r15d, eax
mov edx, 7
xor r8d, r8d
jmp 0x14007885a
movsxd rax, ebx
mov rdx, qword [rdx + rax*8 - 8]
xor eax, eax
test rdx, rdx
sete al
mov r8, rdx
shr r8, 0x20
cmove r8, rdx
mov rdx, r8
shr rdx, 0x10
cmp r8, 0x10000
cmovb rdx, r8
mov r8, rdx
shr r8, 8
cmp rdx, 0x100
cmovb r8, rdx
mov rdx, r8
shr rdx, 4
xor r9d, r9d
cmp r8, 0x10
setae r9b
cmovb rdx, r8
shl r9d, 2
mov r8, rdx
shr r8, 2
xor r10d, r10d
cmp rdx, 4
setae r10b
cmovb r8, rdx
xor edx, edx
cmp r8, 2
setae dl
sub r9d, eax
lea ebx, [r9 + r10*2]
add ebx, edx
call fcn.140078560
xor edx, edx
mov r15d, eax
and ebx, 7
je 0x14007884c
xor r8d, r8d
mov edx, ebx
jmp 0x14007885a
mov byte [r12], 0
inc r12
dec r15
mov r8b, 1
lea rax, [rdi + 2]
cmp r15, rax
jae 0x14007886d
mov dword [rsp + 0x20], 0x271
jmp 0x1400788aa
mov rbx, rdi
cmp ebp, 0xffffffff
mov rax, r14
je 0x140078893
cmp ebp, 0xfffffffe
jne 0x140078889
mov rbx, r15
sub rbx, rdi
add rbx, 0xfffffffffffffffe
jmp 0x140078893
test ebp, ebp
js 0x140078b40
mov ebx, ebp
mov r13, r15
sub r13, rdi
lea rcx, [r13 - 2]
cmp rcx, rbx
jae 0x1400788ee
mov dword [rsp + 0x20], 0x286
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor r12d, r12d
mov ecx, 4
xor edx, edx
mov r8d, WSAStartup
call fcn.14004adc0
xor ecx, ecx
call fcn.1400940b0
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140265f80
mov eax, r12d
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x3c], r8d
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x40], r12
xor r12d, r12d
test rbx, rbx
je 0x14007892d
mov rcx, rbx
call fcn.140094050
test rax, rax
je 0x1400788c6
lea r8, [0x1402b5600]
mov rcx, rax
mov qword [rsp + 0x30], rax
mov rdx, rbx
call fcn.140064430
mov rax, r14
jmp 0x140078934
xor ecx, ecx
mov qword [rsp + 0x30], rcx
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmmword [rsp + 0x50], xmm0
test rax, rax
je 0x140078971
mov ecx, dword [rax + 0x2c]
call fcn.140094050
test rax, rax
je 0x140078b64
mov rbp, rax
xor ecx, ecx
call fcn.1400940b0
mov qword [rsp + 0x58], rbp
mov rax, r14
mov qword [rsp + 0x50], r14
mov rcx, qword [rsp + 0x40]
lea rbp, [rcx + r13]
dec rbp
dec r13
lea r14, [rsp + 0x50]
mov rcx, r14
call qword [rax + reloc.WS2_32.dll_recv]
mov rax, qword [rsp + 0x50]
lea rdx, [0x1402b5660]
mov r8d, 8
mov rcx, r14
call qword [rax + 0x18]
mov rax, qword [rsp + 0x50]
mov rcx, r14
mov rdx, qword [rsp + 0x48]
mov r8, rdi
call qword [rax + 0x18]
mov rax, qword [rsp + 0x50]
mov rcx, r14
mov rdx, qword [rsp + 0x30]
mov r8, rbx
call qword [rax + 0x18]
mov rax, qword [rsp + 0x50]
mov rcx, r14
mov rdx, rbp
call qword [rax + 0x20]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov edx, dword [rax + 0x2c]
call fcn.1400940f0
mov rcx, qword [rsp + 0x58]
call fcn.1400940b0
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140078a04
mov rcx, qword [rsp + 0x60]
call qword [rax]
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x20], rsi
mov rsi, qword [rsp + 0x40]
mov rcx, rsi
mov rdx, r13
mov r8, rbp
mov r9, rdi
call fcn.140077a70
test eax, eax
je 0x140078b7e
lea rax, [rbx + rdi]
mov r8, r15
sub r8, rax
xor byte [r8 + rsi - 2], 1
test rbx, rbx
mov rcx, qword [rsp + 0x30]
je 0x140078b14
lea rdx, [r8 + rsi]
add rdx, 0xfffffffffffffffe
cmp rbx, 8
jb 0x140078a8c
lea r9, [r15 - 1]
mov r10, r9
sub r10, rax
add r10, rsi
lea rax, [rcx + rbx]
cmp r10, rax
jae 0x140078b88
sub r9, rdi
add r9, rsi
cmp rcx, r9
jae 0x140078b88
xor eax, eax
mov r8, rdx
mov rdx, rax
not rdx
add rdx, rbx
mov r9, rbx
and r9, 3
je 0x140078ac4
nop word cs:[rax + rax]
movzx r10d, byte [rcx + rax]
xor byte [r8 + 1], r10b
inc r8
inc rax
dec r9
jne 0x140078ab0
cmp rdx, 3
jb 0x140078b14
sub rbx, rax
add rax, rcx
add rax, 3
xor edx, edx
nop word cs:[rax + rax]
movzx r9d, byte [rax + rdx - 3]
xor byte [r8 + rdx + 1], r9b
movzx r9d, byte [rax + rdx - 2]
xor byte [r8 + rdx + 2], r9b
movzx r9d, byte [rax + rdx - 1]
xor byte [r8 + rdx + 3], r9b
movzx r9d, byte [rax + rdx]
xor byte [r8 + rdx + 4], r9b
add rdx, 4
cmp rbx, rdx
jne 0x140078ae0
cmp byte [rsp + 0x3c], 0
jne 0x140078b2f
mov cl, 8
sub cl, byte [rsp + 0x38]
mov eax, 0xff
shr eax, cl
mov rcx, qword [rsp + 0x30]
and byte [rsi], al
mov byte [r15 + rsi - 1], 0xbc
mov r12d, 1
jmp 0x1400788c8
mov dword [rsp + 0x20], 0x27f
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_padding.c
xor r12d, r12d
mov ecx, 4
xor edx, edx
mov r8d, 0x8a
jmp 0x1400788c1
xor r12d, r12d
xor ecx, ecx
call fcn.1400940b0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmmword [rsp + 0x50], xmm0
mov rcx, qword [rsp + 0x30]
jmp 0x1400788c8
cmp rbx, 0x20
jae 0x140078b92
xor eax, eax
jmp 0x140078be9
mov rax, rbx
and rax, 0xffffffffffffffe0
add r8, rsi
add r8, 0xf
xor r9d, r9d
movdqu xmm0, xmmword [rcx + r9]
movdqu xmm1, xmmword [rcx + r9 + 0x10]
movdqu xmm2, xmmword [r8 + r9 - 0x10]
pxor xmm2, xmm0
movdqu xmm0, xmmword [r8 + r9]
pxor xmm0, xmm1
movdqu xmmword [r8 + r9 - 0x10], xmm2
movdqu xmmword [r8 + r9], xmm0
add r9, 0x20
cmp rax, r9
jne 0x140078ba3
cmp rbx, rax
je 0x140078b14
test bl, 0x18
je 0x140078c17
mov r9, rax
mov rax, rbx
and rax, 0xfffffffffffffff8
lea r8, [rdx + rax]
mov r10, qword [rcx + r9]
xor qword [rdx + r9 + 1], r10
add r9, 8
cmp rax, r9
jne 0x140078bf7
cmp rbx, rax
jne 0x140078a91
jmp 0x140078b14
add rdx, rax
jmp 0x140078a8e