Function at 0x140036bb0
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
movsxd rbx, dword [r9 + 8]
test rbx, rbx
je 0x140036bf8
mov r15d, ebx
mov rax, qword [r9]
lea r10, [rax + rbx*8]
add r10, 0xfffffffffffffff8
xor r13d, r13d
xor r14d, r14d
nop dword [rax]
mov rbp, qword [r10 + r14*8]
test rbp, rbp
jne 0x140036c2e
dec r14
add r13, 8
mov r11, rbx
add r11, r14
jne 0x140036be0
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
lea rsi, [rbx + r14]
mov r12, rsi
dec r12
jne 0x140036c3f
cmp qword [rax], r8
jbe 0x140036bf8
movsxd rax, dword [rcx + 0xc]
cmp rsi, rax
jbe 0x140036cf4
cmp rsi, 0x800000
jb 0x140036c75
mov dword [rsp + 0x20], 0x163
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_bn.c.inc
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x66
jmp 0x140036c16
test byte [rcx + 0x14], 2
jne 0x140036dde
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov edx, 8
mov rcx, rsi
call fcn.1400986c0
test rax, rax
je 0x140036e22
mov rdi, rax
mov rax, qword [rsp + 0x28]
movsxd r8, dword [rax + 8]
test r8, r8
je 0x140036cce
shl r8, 3
mov rdx, qword [rax]
mov rcx, rdi
call fcn.1402a44e0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax]
call fcn.140098760
mov rcx, qword [rsp + 0x28]
mov qword [rcx], rdi
add r15d, r14d
mov dword [rcx + 0xc], r15d
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov rax, rbp
shr rax, 1
or rax, rbp
mov r10, rax
shr r10, 2
or r10, rax
mov rax, r10
shr rax, 4
or rax, r10
mov r10, rax
shr r10, 8
or r10, rax
mov rax, r10
shr rax, 0x10
or rax, r10
mov rbp, rax
shr rbp, 0x20
or rbp, rax
mov rax, rbp
shr rax, 1
test r12, r12
jne 0x140036d4c
cmp r8, rax
jbe 0x140036d4c
mov dword [rsp + 0x20], 0x141
jmp 0x140036c00
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rdx
lea r15, [rbx*8]
mov rdx, r15
sub rdx, r13
mov rax, qword [rcx]
lea r10, [0x14039a3a0]
mov r13, rcx
mov rcx, rax
mov rdi, r8
mov r8, r10
mov qword [rsp + 0x40], r9
call fcn.140037d50
mov rcx, rdi
mov rax, r13
mov rdx, qword [r13]
mov qword [rsp + 0x30], r15
add rdx, r15
and qword [rdx + r14*8 - 8], rbp
mov rdx, qword [rsp + 0x40]
mov r8, qword [rdx]
mov r9, qword [r13]
test rdi, rdi
je 0x140036e01
test rsi, rsi
mov rdx, qword [rsp + 0x38]
je 0x140036e17
mov r10b, 1
cmp rsi, 1
je 0x140036ea3
lea r11, [rbx + r14]
dec r11
cmp r11, 3
ja 0x140036e29
mov r10d, 1
xor r12d, r12d
jmp 0x140036e90
mov dword [rsp + 0x20], 0x168
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_bn.c.inc
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, WSAGetLastError
jmp 0x140036c16
mov r10d, 0xffffffff
test rsi, rsi
mov rdx, qword [rsp + 0x38]
jne 0x140036ecf
jmp 0x140036e1a
xor r10d, r10d
xor r11d, r11d
jmp 0x140036f1d
xor esi, esi
jmp 0x140036c1b
mov r13, r11
and r13, 0xfffffffffffffffc
lea r10, [r13 + 1]
and r12, 0xfffffffffffffffc
pxor xmm0, xmm0
xor r15d, r15d
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r9 + r15*8 + 8]
por xmm0, xmm2
movdqu xmm2, xmmword [r9 + r15*8 + 0x18]
por xmm1, xmm2
add r15, 4
cmp r12, r15
jne 0x140036e50
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r12, xmm0
cmp r11, r13
je 0x140036e9c
nop word cs:[rax + rax]
or r12, qword [r9 + r10*8]
inc r10
cmp rsi, r10
jne 0x140036e90
test r12, r12
sete r10b
mov r11, qword [r9]
mov rdi, r11
xor rdi, rcx
mov r15, r11
sub r15, rcx
xor r15, r11
or r15, rdi
xor r15, r11
sar r15, 0x3f
not r15d
test r10b, r10b
mov r10d, 0xffffffff
cmovne r10d, r15d
xor r11d, r11d
xor r12d, r12d
nop word cs:[rax + rax]
mov rdi, qword [r8 + r12*8]
mov r15, qword [r9 + r12*8]
xor r13d, r13d
mov rbp, r15
sub rbp, rdi
sete r13b
neg r13
xor rdi, r15
xor rbp, r15
or rbp, rdi
xor rbp, r15
sar rbp, 0x3f
xor r11, rbp
and r11, r13
xor r11, rbp
inc r12
cmp rsi, r12
jne 0x140036ee0
shr r11d, 0x1f
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
and r10d, r11d
mov dword [rdx], r10d
neg r10
mov rdx, r10
not rdx
and rcx, rdx
mov rdx, qword [rax]
or qword [rdx], rcx
add r9, qword [rax]
or r10, r8
and qword [r9 + r14*8 - 8], r10
mov dword [rax + 0x10], 0
add ebx, r14d
mov dword [rax + 8], ebx
mov esi, 1
jmp 0x140036c1b