Function at 0x1800ef510
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x180201ac0]
xor rax, rsp
mov qword [rbp], rax
mov r13, qword [rbp + 0x88]
xor edi, edi
mov rax, qword [rbp + 0x78]
mov r12, r9
mov rbx, qword [rbp + 0x90]
mov r14d, edi
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x58], rax
test r13, r13
jne 0x1800ef587
lea rdx, [0x1800eb730]
lea rcx, [0x1804a1930]
call fcn.180108e80
lea r13, [0x1804a1900]
mov rsi, qword [rbp + 0x70]
test rbx, rbx
mov qword [rsp + 0x160], r15
cmove rbx, r13
mov qword [rsp + 0x50], rbx
mov ebx, dword [r13 + 4]
lea rax, [rbx*2 + 2]
cmp rsi, rax
jb 0x1800ef977
sub rsi, rbx
dec rsi
mov rcx, rsi
call fcn.180107ae0
mov r14, rax
test rax, rax
jne 0x1800ef5db
mov dword [rsp + 0x20], 0x19f
lea r8d, [rax + 0x41]
jmp 0x1800ef985
mov rax, qword [rsp + 0x50]
lea r15, [r12 + 1]
inc r12
mov qword [rsp + 0x20], rax
add r12, rbx
lea rcx, [rbp - 0x80]
mov r8, r12
mov r9, rsi
mov rdx, rbx
call fcn.1800ec200
test eax, eax
je 0x1800ef996
mov rdx, rdi
test rbx, rbx
je 0x1800ef6e7
cmp rbx, 0x40
jb 0x1800ef6ca
lea rax, [r15 - 1]
add rax, rbx
lea r8, [rbp - 0x80]
lea rcx, [rsp + rbx + 0x7f]
cmp r8, rax
ja 0x1800ef63e
cmp rcx, r15
jae 0x1800ef6ca
mov r9, rbx
and r9, 0xffffffffffffffc0
lea rcx, [rbp - 0x80]
sub rcx, r15
lea r8, [rbp - 0x70]
sub r8, r15
lea rax, [r15 + 0x20]
nop word [rax + rax]
movdqu xmm0, xmmword [rcx + rax - 0x20]
add rdx, 0x40
movdqu xmm1, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x60], xmm1
movdqu xmm0, xmmword [r8 + rax - 0x60]
movdqu xmm1, xmmword [rax - 0x50]
pxor xmm1, xmm0
movdqu xmmword [r8 + rax - 0x60], xmm1
movdqu xmm0, xmmword [rcx + rax - 0x40]
movdqu xmm1, xmmword [rax - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x40], xmm1
movdqu xmm0, xmmword [r8 + rax - 0x40]
movdqu xmm1, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [r8 + rax - 0x40], xmm1
cmp rdx, r9
jb 0x1800ef660
cmp rdx, rbx
jae 0x1800ef6e7
lea rax, [rbp - 0x80]
sub r15, rax
lea rcx, [rbp - 0x80]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + r15]
xor byte [rcx], al
cmp rdx, rbx
jb 0x1800ef6d1
mov rax, qword [rsp + 0x50]
lea r8, [rbp - 0x80]
mov r9, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, r14
call fcn.1800ec200
test eax, eax
je 0x1800ef996
mov r8, rdi
test rsi, rsi
je 0x1800ef7d1
cmp rsi, 0x40
jb 0x1800ef7b1
lea rcx, [r14 - 1]
lea rax, [r12 - 1]
add rcx, rsi
add rax, rsi
cmp r14, rax
ja 0x1800ef73a
cmp rcx, r12
jae 0x1800ef7b1
mov rdx, rsi
and rdx, 0xffffffffffffffc0
mov rcx, r12
lea rax, [r14 + 0x10]
sub rcx, r14
nop dword [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add r8, 0x40
movdqu xmm1, xmmword [rcx + rax - 0x10]
movdqu xmm2, xmmword [rcx + rax]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rcx + rax - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rcx + rax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp r8, rdx
jb 0x1800ef750
cmp r8, rsi
jae 0x1800ef7d1
sub r12, r14
lea rcx, [r8 + r14]
mov rdx, rsi
sub rdx, r8
nop
movzx eax, byte [rcx + r12]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1800ef7c0
mov ecx, dword [r13 + 0x2c]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
call fcn.180107ae0
mov r15, rax
test rax, rax
jne 0x1800ef811
lea r9, str.Z:DevelopePublicCodes_boringsslcrypto_fipsmoduledigest_digest.c
mov dword [rsp + 0x20], Ordinal_211
xor edx, edx
lea ecx, [rax + 0x1d]
lea r8d, [rax + 0x41]
call fcn.1801076a0
mov r15d, edi
jmp 0x1800ef870
mov rcx, qword [rsp + 0x38]
call fcn.180107a70
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r13
call qword [r13 + reloc.WS2_32.dll_recv]
mov rax, qword [rsp + 0x30]
lea rcx, [rsp + 0x30]
mov r8, qword [rbp + 0x80]
mov rdx, qword [rsp + 0x58]
call qword [rax + Ordinal_26]
mov rax, qword [rsp + 0x30]
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x30]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov edx, dword [rax + 0x2c]
call fcn.180107a50
mov r15d, 1
mov rcx, qword [rsp + 0x38]
call fcn.180107a70
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x1800ef88b
mov rcx, qword [rsp + 0x40]
call qword [rax]
test r15d, r15d
je 0x1800ef996
mov r8, rbx
lea rdx, [rbp - 0x40]
mov rcx, r14
call fcn.180107970
movsxd rcx, eax
mov r9, 0xffffffffffffffff
mov rax, qword [rsp + 0x60]
lea r10, [rcx - 1]
not rcx
movzx eax, byte [rax]
shr r10, 0x3f
dec rax
shr rcx, 0x3f
and r10, rcx
shr rax, 0x3f
dec r10
dec rax
or r10, rax
cmp rbx, rsi
jae 0x1800ef92a
nop dword [rax]
movzx r8d, byte [rbx + r14]
mov edx, r8d
xor rdx, 1
dec rdx
shr rdx, 0x3f
neg rdx
mov rcx, rdx
not rdx
and rcx, r9
and r9, rdx
mov rax, rcx
and rcx, rbx
not rax
inc rbx
and rdi, rax
lea rax, [r8 - 1]
shr rax, 0x3f
or rdi, rcx
dec rax
and rax, r9
or r10, rax
cmp rbx, rsi
jb 0x1800ef8e0
or r9, r10
jne 0x1800ef977
inc rdi
sub rsi, rdi
cmp qword [rsp + 0x68], rsi
jae 0x1800ef94a
mov dword [rsp + 0x20], 0x1d2
lea r8d, [r9 + 0x71]
jmp 0x1800ef985
test rsi, rsi
je 0x1800ef960
mov rcx, qword [rsp + 0x70]
lea rdx, [rdi + r14]
mov r8, rsi
call fcn.180135a90
mov rcx, qword [rsp + 0x78]
mov qword [rcx], rsi
mov rcx, r14
call fcn.180107a70
mov eax, 1
jmp 0x1800ef9a0
mov dword [rsp + 0x20], 0x1de
mov r8d, 0x85
xor edx, edx
lea r9, str.Z:DevelopePublicCodes_boringsslcrypto_fipsmodule_rsa_padding.c
lea ecx, [rdx + 4]
call fcn.1801076a0
mov rcx, r14
call fcn.180107a70
xor eax, eax
mov r15, qword [rsp + 0x160]
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.180133630
add rsp, 0x110
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret