Function at 0x140042d60
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
movdqa xmmword [rsp + 0x30], xmm6
movsxd rax, dword [rcx + 0x148]
test rax, rax
jle 0x140042da9
mov r10, qword [rcx + 0x140]
xor r11d, r11d
mov esi, eax
nop dword [rax + rax]
mov edi, esi
cmp qword [r10 + rdi*8 - 8], 0
jne 0x140042dba
lea edi, [rsi - 1]
cmp esi, 1
mov esi, edi
jg 0x140042d90
jmp 0x140042e69
test eax, eax
je 0x140043040
mov r10, qword [rcx + 0x140]
mov esi, eax
movsxd r11, esi
shl esi, 6
mov rdi, qword [r10 + r11*8 - 8]
xor r10d, r10d
test rdi, rdi
setne r10b
or r10d, esi
xor r11d, r11d
mov rbx, rdi
shr rbx, 0x20
setne r11b
cmove rbx, rdi
shl r11d, 5
mov r14, rbx
shr r14, 0x10
xor esi, esi
cmp rbx, 0x10000
setae sil
cmovb r14, rbx
shl esi, 4
mov rbx, r14
shr rbx, 8
xor edi, edi
cmp r14, 0x100
setae dil
cmovb rbx, r14
mov r14, rbx
shr r14, 4
xor r15d, r15d
cmp rbx, 0x10
setae r15b
cmovb r14, rbx
mov rbx, r14
shr rbx, 2
xor r12d, r12d
cmp r14, 4
setae r12b
cmovb rbx, r14
or r11d, r10d
or r11d, esi
cmp rbx, 2
lea r10d, [r11 + rdi*8]
lea r10d, [r10 + r15*4]
lea r11d, [r10 + r12*2]
sbb r11d, 0xffffffff
add r11d, 0xffffffc7
shr r11d, 3
mov r10d, 0x144
cmp r9, r11
jne 0x140043052
lea r10, [rax*8]
cmp r9, r10
ja 0x140043169
cmp r9, 8
jb 0x140042f8a
lea r11, [r9 - 8]
cmp r11, 0x77
jbe 0x140042ec6
lea r10, [r8 + r9]
cmp rdx, r10
jae 0x140043087
mov r10, r9
and r10, 0xfffffffffffffff8
add r10, rdx
mov esi, r9d
and esi, 7
add rsi, r8
cmp rsi, r10
jae 0x140043087
mov r10, rdx
nop dword [rax]
mov r11, qword [r8 + r9 - 8]
add r9, 0xfffffffffffffff8
bswap r11
mov qword [r10], r11
add r10, 8
dec rax
cmp r9, 7
ja 0x140042ed0
test r9, r9
jne 0x140042f96
shl rax, 3
test rax, rax
je 0x140042f17
mov rsi, rcx
mov rcx, r10
mov rdi, rdx
xor edx, edx
mov r8, rax
call fcn.1402a4b90
mov rcx, rsi
mov rdx, rdi
movsxd rax, dword [rcx + 0x148]
mov r10d, 0x14b
test rax, rax
je 0x140043052
mov r8, qword [rcx + 0x140]
xor ecx, ecx
xor r9d, r9d
nop dword [rax]
mov r11, qword [r8 + r9*8]
mov rsi, qword [rdx + r9*8]
xor edi, edi
mov rbx, rsi
sub rbx, r11
sete dil
neg rdi
xor r11, rsi
xor rbx, rsi
or rbx, r11
xor rbx, rsi
sar rbx, 0x3f
xor rcx, rbx
and rcx, rdi
xor rcx, rbx
inc r9
cmp rax, r9
jne 0x140042f40
mov esi, 1
test ecx, ecx
jns 0x140043052
jmp 0x140043072
mov r10, rdx
test r9, r9
je 0x140042ef5
mov r11d, r9d
and r11d, 3
cmp r9, 4
jae 0x140042fa9
xor edi, edi
xor esi, esi
jmp 0x140042ffa
and r9, 0xfffffffffffffffc
xor edi, edi
xor esi, esi
nop word cs:[rax + rax]
movzx ebx, byte [r8 + rdi]
shl rsi, 0x10
shl ebx, 8
or rbx, rsi
movzx esi, byte [r8 + rdi + 1]
or rsi, rbx
movzx ebx, byte [r8 + rdi + 2]
shl rsi, 0x10
shl ebx, 8
or rbx, rsi
movzx esi, byte [r8 + rdi + 3]
or rsi, rbx
add rdi, 4
cmp r9, rdi
jne 0x140042fc0
test r11, r11
je 0x140043024
add r8, rdi
xor r9d, r9d
nop word cs:[rax + rax]
shl rsi, 8
movzx edi, byte [r8 + r9]
or rsi, rdi
inc r9
cmp r11, r9
jne 0x140043010
mov qword [r10], rsi
add r10, 8
dec rax
shl rax, 3
test rax, rax
jne 0x140042efe
jmp 0x140042f17
xor r11d, r11d
mov r10d, 0x144
cmp r9, r11
je 0x140042e78
mov dword [rsp + 0x20], r10d
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmoduleec_simple.c.inc
xor esi, esi
mov ecx, reloc.WS2_32.dll_ntohs
xor edx, edx
mov r8d, 0x80
call fcn.1400885a0
mov eax, esi
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
shr r11, 3
inc r11
mov rsi, r11
and rsi, 0xfffffffffffffffc
lea rdi, [rsi*8]
lea r10, [rdx + rsi*8]
movq xmm0, rax
lea rax, [r9 + r8]
add rax, 0xfffffffffffffff0
sub r9, rdi
pxor xmm1, xmm1
xor edi, edi
pcmpeqd xmm3, xmm3
pxor xmm2, xmm2
nop
movdqu xmm4, xmmword [rax - 0x10]
movdqu xmm5, xmmword [rax]
movdqa xmm6, xmm5
punpcklbw xmm6, xmm1
pshufd xmm6, xmm6, 0x4e
pshuflw xmm6, xmm6, 0x1b
pshufhw xmm6, xmm6, 0x1b
punpckhbw xmm5, xmm1
pshufd xmm5, xmm5, 0x4e
pshuflw xmm5, xmm5, 0x1b
pshufhw xmm5, xmm5, 0x1b
packuswb xmm5, xmm6
movdqa xmm6, xmm4
punpcklbw xmm6, xmm1
pshufd xmm6, xmm6, 0x4e
pshuflw xmm6, xmm6, 0x1b
pshufhw xmm6, xmm6, 0x1b
punpckhbw xmm4, xmm1
pshufd xmm4, xmm4, 0x4e
pshuflw xmm4, xmm4, 0x1b
pshufhw xmm4, xmm4, 0x1b
packuswb xmm4, xmm6
movdqu xmmword [rdx + rdi*8], xmm5
movdqu xmmword [rdx + rdi*8 + 0x10], xmm4
paddq xmm0, xmm3
paddq xmm2, xmm3
add rdi, 4
add rax, 0xffffffffffffffe0
cmp rsi, rdi
jne 0x1400430c0
paddq xmm2, xmm0
pshufd xmm0, xmm2, 0xee
paddq xmm0, xmm2
movq rax, xmm0
cmp r11, rsi
jne 0x140042ed0
jmp 0x140042eec
call fcn.1402b5ec8
int3