Function at 0x140058c20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov rax, qword [0x14039fd98]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov eax, dword [r9 + 8]
test eax, eax
jle 0x140058c5b
mov r14, rdx
mov rdi, qword [r9]
mov rdx, qword [rdi]
test dl, 1
jne 0x140058c7f
mov dword [rsp + 0x20], 0x392
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
xor r12d, r12d
mov ecx, 3
xor edx, edx
mov r8d, 0x68
jmp 0x140058e97
cmp dword [r9 + 0x10], 0
je 0x140058caa
mov dword [rsp + 0x20], 0x396
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
xor r12d, r12d
mov ecx, 3
xor edx, edx
mov r8d, WSAGetLastError
jmp 0x140058e97
cmp dword [r14 + 0x10], 0
jne 0x140058e78
mov qword [rsp + 0x58], r8
movsxd r10, dword [r14 + 8]
mov r11, qword [r14]
mov r8, r10
sub r8, rax
mov qword [rsp + 0x30], r8
mov r15, rax
cmovb r15, r10
xor r8d, r8d
test r15, r15
je 0x140058d1a
xor r12d, r12d
nop
mov r13, qword [rdi + r12*8]
mov rsi, qword [r11 + r12*8]
mov rbx, rsi
xor rbx, r13
mov rbp, rsi
sub rbp, r13
xor rbp, rsi
or rbp, rbx
xor r13d, r13d
xor rbp, rsi
setns r13b
sar rbp, 0x3f
or ebp, r13d
test rbx, rbx
cmovne r8d, ebp
inc r12
cmp r15, r12
jne 0x140058ce0
cmp r10d, eax
jae 0x140058d39
mov rbx, rax
sub rbx, r10
cmp rbx, 4
mov rsi, rcx
jae 0x140058d64
xor r12d, r12d
mov r11, r10
jmp 0x140058dd0
cmp eax, r10d
mov rsi, rcx
jae 0x140058def
mov rbx, qword [rsp + 0x30]
cmp rbx, 4
mov rcx, qword [rsp + 0x58]
jae 0x140058df9
xor r13d, r13d
mov r15, rax
jmp 0x140058e50
mov r15, rbx
and r15, 0xfffffffffffffffc
lea r11, [r15 + r10]
lea r10, [rdi + r10*8]
add r10, 0x10
pxor xmm0, xmm0
xor r12d, r12d
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r10 + r12*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r10 + r12*8]
por xmm1, xmm2
add r12, 4
cmp r15, r12
jne 0x140058d90
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r12, xmm0
cmp rbx, r15
je 0x140058ddc
nop word cs:[rax + rax]
or r12, qword [rdi + r11*8]
inc r11
cmp rax, r11
jne 0x140058dd0
test r12, r12
mov rcx, qword [rsp + 0x58]
jne 0x140058ec3
jmp 0x140058e73
mov rcx, qword [rsp + 0x58]
jmp 0x140058e73
mov r12, rbx
and r12, 0xfffffffffffffffc
lea r15, [r12 + rax]
lea r13, [r11 + rax*8]
add r13, 0x10
pxor xmm0, xmm0
xor ebp, ebp
pxor xmm1, xmm1
movdqu xmm2, xmmword [r13 + rbp*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r13 + rbp*8]
por xmm1, xmm2
add rbp, 4
cmp r12, rbp
jne 0x140058e16
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r13, xmm0
cmp rbx, r12
je 0x140058e5c
nop dword [rax]
or r13, qword [r11 + r15*8]
inc r15
cmp r10, r15
jne 0x140058e50
xor r10d, r10d
xor r11d, r11d
test r13, r13
cmove r10d, r8d
setne r11b
or r11d, r10d
mov r8d, r11d
test r8d, r8d
js 0x140058ec3
mov dword [rsp + 0x20], 0x39a
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
xor r12d, r12d
mov ecx, 3
xor edx, edx
mov r8d, WSAGetLastError
call fcn.1400490c0
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140265fe0
mov eax, r12d
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, dword [rcx + 8]
test ebx, ebx
je 0x140058eed
mov r13, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x130]
xor r12d, r12d
test r13, r13
je 0x140058f9c
xor eax, eax
jmp 0x140058fb0
xor rdx, 1
cmp eax, 2
jl 0x140058f5b
mov r8d, 1
cmp eax, 5
jb 0x140058f4f
lea r9, [rax - 1]
mov r10, r9
and r10, 0xfffffffffffffffc
lea r8, [r10 + 1]
movq xmm1, rdx
pxor xmm0, xmm0
xor edx, edx
movdqu xmm2, xmmword [rdi + rdx*8 + 8]
por xmm1, xmm2
movdqu xmm2, xmmword [rdi + rdx*8 + 0x18]
por xmm0, xmm2
add rdx, 4
cmp r10, rdx
jne 0x140058f1b
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rdx, xmm1
cmp r9, r10
je 0x140058f5b
or rdx, qword [rdi + r8*8]
inc r8
cmp rax, r8
jne 0x140058f4f
test rdx, rdx
je 0x14005934d
mov edx, 1
mov rcx, rsi
call fcn.140052a70
test eax, eax
je 0x140059366
mov dword [rsi + 0x10], 0
mov rax, qword [rsi]
mov qword [rax], 1
mov dword [rsi + 8], 1
mov r12d, 1
jmp 0x140058e9c
mov rcx, r9
call fcn.140058100
mov r13, rax
test rax, rax
je 0x14005936e
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x38], rax
mov edi, dword [r13 + 0x20]
mov ecx, 6
cmp ebx, 0xe
jg 0x140058fec
mov ecx, 5
cmp ebx, 4
jg 0x140058fec
mov ecx, 4
cmp ebx, 1
jg 0x140058fec
sete al
movzx eax, al
lea ecx, [rax*2 + 1]
mov qword [rsp + 0x88], rbx
mov ebx, 1
shl ebx, cl
mov ebp, edi
mov dword [rsp + 0x6c], ecx
shl ebp, cl
lea eax, [rdi + rdi]
cmp eax, ebx
cmovle eax, ebx
add eax, ebp
lea ecx, [rax*8 + 0x40]
mov r15d, eax
shl r15d, 3
movsxd rcx, ecx
call fcn.140098680
xor r12d, r12d
test rax, rax
je 0x140059344
mov qword [rsp + 0x50], rdi
movsxd rsi, edi
mov qword [rsp + 0x40], rax
mov rcx, rax
and rcx, 0xffffffffffffffc0
add rcx, 0x40
test r15d, r15d
mov qword [rsp + 0x30], rcx
je 0x140059065
movsxd r8, r15d
mov rcx, qword [rsp + 0x30]
xor edx, edx
call fcn.140268830
mov rcx, qword [rsp + 0x30]
movsxd rax, ebp
lea rax, [rcx + rax*8]
mov qword [rsp + 0xa8], rax
lea rax, [rax + rsi*8]
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], 0
mov dword [rsp + 0xb0], 0
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0xb4], eax
movabs rax, 0x200000000
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xb8], rax
lea rcx, [rsp + 0xa8]
mov rdx, r13
mov rbp, qword [rsp + 0x130]
mov r8, rbp
call fcn.140059560
test eax, eax
je 0x1400594fc
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0x90]
mov rdx, r14
mov r8, r13
mov r9, r13
call fcn.140058280
test eax, eax
je 0x1400594fc
lea rcx, [rsp + 0xa8]
xor r14d, r14d
mov rdi, qword [rsp + 0x50]
mov edx, edi
mov r12, qword [rsp + 0x30]
mov r8, r12
xor r9d, r9d
call fcn.140059600
lea rcx, [rsp + 0x90]
mov edx, edi
mov r8, r12
mov r9d, 1
call fcn.140059600
mov edi, dword [rsp + 0x6c]
cmp edi, 2
mov dword [rsp + 0x4c], r15d
mov qword [rsp + 0x60], rsi
jb 0x14005937c
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0xa8]
lea rdx, [rsp + 0x90]
mov r8, rdx
mov r9, r13
call fcn.140058280
test eax, eax
je 0x1400594f2
lea rcx, [rsp + 0xa8]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x30]
mov r9d, 2
call fcn.140059600
mov rcx, qword [rsp + 0x60]
lea rax, [rcx*8]
mov qword [rsp + 0x78], rax
cmp ebx, 5
mov esi, 4
cmovae esi, ebx
lea rax, [rcx*8 + 0x10]
mov qword [rsp + 0x70], rax
mov ebx, 3
xor r12d, r12d
jmp 0x14005920d
mov dword [rsp + 0x20], 0x135
mov ecx, 3
xor edx, edx
mov r8d, WSAGetLastError
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_bn.c
call fcn.1400490c0
inc rbx
cmp rbx, rsi
mov r15d, dword [rsp + 0x4c]
mov rbp, qword [rsp + 0x130]
je 0x14005937c
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0xa8]
lea rdx, [rsp + 0x90]
mov r8, rcx
mov r9, r13
call fcn.140058280
test eax, eax
je 0x1400594fc
cmp dword [rsp + 0xb8], 0
jne 0x1400591d3
movsxd rbp, dword [rsp + 0xb0]
cmp ebp, dword [rsp + 0x50]
jbe 0x14005926e
mov rax, qword [rsp + 0xa8]
mov rdx, rbp
mov r11, qword [rsp + 0x60]
sub rdx, r11
cmp rdx, 4
jae 0x140059278
mov rcx, r11
xor r9d, r9d
jmp 0x1400592cb
mov r11, qword [rsp + 0x60]
jmp 0x1400592f9
mov r8, rdx
and r8, 0xfffffffffffffffc
lea rcx, [r8 + r11]
mov r9, qword [rsp + 0x70]
add r9, rax
pxor xmm0, xmm0
xor r10d, r10d
pxor xmm1, xmm1
movdqu xmm2, xmmword [r9 + r10*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r9 + r10*8]
por xmm1, xmm2
add r10, 4
cmp r8, r10
jne 0x140059296
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r9, xmm0
cmp rdx, r8
je 0x1400592d7
or r9, qword [rax + rcx*8]
inc rcx
cmp rbp, rcx
jne 0x1400592cb
mov rbp, r11
test r9, r9
je 0x1400592f9
mov dword [rsp + 0x20], 0x13c
mov ecx, 3
xor edx, edx
mov r8d, 0x66
jmp 0x1400591e8
mov rax, rbx
imul rax, r11
mov rcx, qword [rsp + 0x30]
lea r15, [rcx + rax*8]
cmp dword [rsp + 0x50], 0
je 0x14005931f
mov rcx, r15
xor edx, edx
mov r8, qword [rsp + 0x78]
call fcn.140268830
test rbp, rbp
je 0x1400591f4
shl rbp, 3
mov rdx, qword [rsp + 0xa8]
mov rcx, r15
mov r8, rbp
call fcn.1402689f0
jmp 0x1400591f4
xor esi, esi
xor edi, edi
jmp 0x140059506
mov dword [rsi + 0x10], 0
mov dword [rsi + 8], 0
mov r12d, 1
jmp 0x140058e9c
xor r12d, r12d
jmp 0x140058e9c
xor ecx, ecx
xor esi, esi
xor r15d, r15d
xor edi, edi
jmp 0x14005950b
mov r11, qword [rsp + 0x88]
shl r11d, 6
lea ebp, [r11 - 1]
mov eax, ebp
cdq
idiv edi
test edx, edx
js 0x1400593eb
add r11d, 0xfffffffe
lea eax, [rdx + 1]
xor r14d, r14d
mov r10, qword [rsp + 0x58]
jmp 0x1400593b1
or r14d, ecx
dec ebp
dec eax
test eax, eax
jle 0x1400593e5
mov ecx, r14d
add ecx, r14d
mov r14d, 0
test ebp, ebp
js 0x1400593a6
mov r8d, ebp
shr r8d, 6
cmp r8d, dword [r10 + 8]
jae 0x1400593a6
mov r8d, r8d
mov r9, qword [r10]
mov r8, qword [r9 + r8*8]
xor r14d, r14d
bt r8, rbp
setb r14b
jmp 0x1400593a6
sub r11d, edx
mov ebp, r11d
mov dword [rsp + 0x20], edi
lea rcx, [rsp + 0xa8]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x30]
mov r9d, r14d
call fcn.140059750
test eax, eax
je 0x1400594f2
lea r14, [rsp + 0xa8]
test ebp, ebp
js 0x140059532
mov esi, ebp
sub esi, edi
xor r12d, r12d
xor ebx, ebx
xor r15d, r15d
jmp 0x14005943a
or r15d, eax
dec ebx
mov eax, edi
add eax, ebx
je 0x14005949b
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, r14
mov r8, r14
mov r9, r13
call fcn.140058280
test eax, eax
je 0x1400594f7
lea ecx, [rbx + rbp]
mov eax, r15d
add eax, r15d
xor r15d, r15d
test ecx, ecx
js 0x14005942f
mov edx, ecx
shr edx, 6
mov r8, qword [rsp + 0x58]
cmp edx, dword [r8 + 8]
jae 0x14005942f
mov edx, edx
mov r8, qword [rsp + 0x58]
mov r8, qword [r8]
mov rdx, qword [r8 + rdx*8]
xor r15d, r15d
bt rdx, rcx
setb r15b
jmp 0x14005942f
mov dword [rsp + 0x20], edi
lea rbx, [rsp + 0x90]
mov rcx, rbx
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x30]
mov r9d, r15d
call fcn.140059750
xor r12d, r12d
test eax, eax
je 0x1400594f7
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, r14
mov r8, rbx
mov r9, r13
call fcn.140058280
mov ebp, esi
test eax, eax
mov r15d, dword [rsp + 0x4c]
jne 0x140059419
jmp 0x1400594fc
xor r12d, r12d
jmp 0x1400594fc
mov r15d, dword [rsp + 0x4c]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
call fcn.140058520
test rdi, rdi
je 0x140059525
test rsi, rsi
jne 0x140059525
mov rcx, rdi
movsxd rdx, r15d
call fcn.1400986f0
mov rcx, rsi
call fcn.1400986b0
jmp 0x140058e9c
lea rdx, [rsp + 0xa8]
mov rcx, qword [rsp + 0x80]
mov r8, r13
mov r9, qword [rsp + 0x130]
call fcn.140058400
mov r12d, eax
jmp 0x1400594fc