Function at 0x140037a60
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov qword [rsp + 0x28], rdx
test r9, r9
je 0x140037ab3
mov rsi, r9
mov rdi, r8
mov rbx, rcx
mov rbp, qword [rsp + 0xb0]
lea r13, [r9 - 1]
xor r12d, r12d
nop word cs:[rax + rax]
mov rax, qword [rdi + r13*8]
test rax, rax
jne 0x140037ae9
add r12, 8
add r13, 0xffffffffffffffff
jb 0x140037aa0
mov dword [rsp + 0x20], 0xe4
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_random.c.inc
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, WSASetLastError
call fcn.1400885a0
mov eax, esi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test r13, r13
jne 0x140037af8
mov rcx, qword [rsp + 0x28]
cmp qword [rdi], rcx
jbe 0x140037ab3
mov rcx, rax
shr rcx, 1
or rcx, rax
mov rax, rcx
shr rax, 2
or rax, rcx
mov rcx, rax
shr rcx, 4
or rcx, rax
mov rax, rcx
shr rax, 8
or rax, rcx
mov r15, rax
shr r15, 0x10
or r15, rax
mov rax, r15
shr rax, 0x20
mov qword [rsp + 0x30], rax
test r12, r12
je 0x140037b4c
lea rcx, [rbx + r13*8]
add rcx, 8
xor edx, edx
mov r8, r12
call fcn.1402a4b90
lea r14, [r13 + 1]
or qword [rsp + 0x30], r15
shl rsi, 3
sub rsi, r12
cmp qword [rsp + 0x28], 0
je 0x140037cba
mov r12, r13
and r12, 0xfffffffffffffffc
lea rax, [r12 + 1]
mov qword [rsp + 0x38], rax
mov r15d, 0x64
mov qword [rsp + 0x40], rsi
jmp 0x140037b9a
xor edx, edx
test edx, edx
jne 0x140037d20
dec r15d
je 0x140037d2a
mov rcx, rbx
mov rdx, rsi
mov r8, rbp
call fcn.140037d50
mov rax, qword [rsp + 0x30]
and qword [rbx + r13*8], rax
test r14, r14
je 0x140037b90
mov al, 1
cmp r14, 1
je 0x140037c32
cmp r13, 4
jae 0x140037bd6
mov ecx, 1
xor eax, eax
jmp 0x140037c20
pxor xmm0, xmm0
xor eax, eax
pxor xmm1, xmm1
movdqu xmm2, xmmword [rbx + rax*8 + 8]
por xmm0, xmm2
movdqu xmm2, xmmword [rbx + rax*8 + 0x18]
por xmm1, xmm2
add rax, 4
cmp r12, rax
jne 0x140037be0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq rax, xmm0
mov rcx, qword [rsp + 0x38]
cmp r13, r12
je 0x140037c2c
nop dword [rax]
or rax, qword [rbx + rcx*8]
inc rcx
cmp r14, rcx
jne 0x140037c20
test rax, rax
sete al
mov rsi, rbp
mov rdx, qword [rbx]
mov r8, rdx
mov r9, qword [rsp + 0x28]
xor r8, r9
mov rcx, rdx
sub rcx, r9
xor rcx, rdx
or rcx, r8
xor rcx, rdx
sar rcx, 0x3f
not ecx
xor edx, edx
xor r8d, r8d
nop dword [rax]
mov r9, qword [rdi + r8*8]
mov rbp, qword [rbx + r8*8]
xor r11d, r11d
mov r10, rbp
sub r10, r9
sete r11b
neg r11
xor r9, rbp
xor r10, rbp
or r10, r9
xor r10, rbp
sar r10, 0x3f
xor rdx, r10
and rdx, r11
xor rdx, r10
inc r8
cmp r14, r8
jne 0x140037c60
test al, al
mov eax, 0xffffffff
cmove ecx, eax
shr edx, 0x1f
and edx, ecx
mov rbp, rsi
mov rsi, qword [rsp + 0x40]
test edx, edx
je 0x140037b9a
jmp 0x140037d20
mov r15d, 0x64
dec r15d
je 0x140037d2a
mov rcx, rbx
mov rdx, rsi
mov r8, rbp
call fcn.140037d50
mov rax, qword [rsp + 0x30]
and qword [rbx + r13*8], rax
xor eax, eax
xor ecx, ecx
mov rdx, qword [rdi + rcx*8]
mov r8, qword [rbx + rcx*8]
xor r9d, r9d
mov r10, r8
sub r10, rdx
sete r9b
neg r9
xor rdx, r8
xor r10, r8
or r10, rdx
xor r10, r8
sar r10, 0x3f
xor rax, r10
and rax, r9
xor rax, r10
inc rcx
cmp r14, rcx
jne 0x140037ce0
shr eax, 0x1f
test eax, eax
je 0x140037cc0
mov esi, 1
jmp 0x140037ad6
mov dword [rsp + 0x20], 0x10d
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_random.c.inc
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, reloc.WS2_32.dll_WSAStartup
jmp 0x140037ad1