Function at 0x140132610
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
xor esi, esi
mov qword [rbp - 0x60], 2
mov r14, r8
mov dword [rbp + 0x60], esi
shr r14, 3
xor edi, edi
mov r15, r9
mov dword [rsp + 0x38], esi
mov rbx, rdx
lea eax, [r14 - 0x14]
test eax, 0xfffffff3
jne 0x1401326fa
cmp r14d, 0x18
je 0x1401326fa
test r9, r9
jne 0x1401326a2
cmp r14d, 0x14
jne 0x140132680
call fcn.1400b3de0
mov r15, rax
mov qword [rbp + 0x68], rax
jmp 0x1401326ad
cmp r14d, 0x1c
jne 0x140132694
call fcn.1400b3df0
mov r15, rax
mov qword [rbp + 0x68], rax
jmp 0x1401326ad
call fcn.1400b3e00
mov r15, rax
mov qword [rbp + 0x68], rax
jmp 0x1401326ad
mov rcx, r9
call fcn.140061a40
mov r14d, eax
mov rcx, qword [rbp + 0x70]
mov eax, 0x200
cmp rbx, rax
cmovae rax, rbx
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov qword [rbp - 0x78], rax
test rcx, rcx
je 0x14013271c
mov r8, qword [rbp + 0x78]
movsxd rax, r14d
cmp r8, rax
jae 0x14013270c
mov edx, 0x7d
mov dword [rsp + 0x20], 0x55
lea r9, str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_crypto_dsa_dsa_gen.c
lea ecx, [rdx - 0x73]
lea r8d, [rdx - 0xf]
call fcn.14006c4b0
xor eax, eax
add rsp, 0x118
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, rcx
cmova r8, rax
lea rcx, [rbp - 0x10]
call fcn.140174ed0
call fcn.14012a470
mov qword [rsp + 0x30], rax
mov rbx, rax
test rax, rax
je 0x14013285c
call fcn.1400f4d90
mov qword [rsp + 0x40], rax
mov rdi, rax
test rax, rax
je 0x14013285c
mov qword [rsp + 0x158], r12
mov rcx, rax
mov qword [rsp + 0x110], r13
call fcn.1400f4e70
mov rcx, rdi
call fcn.1400f4be0
mov r13, qword [rsp + 0x40]
mov rdi, rax
mov rcx, r13
call fcn.1400f4be0
mov rcx, r13
mov qword [rsp + 0x60], rax
call fcn.1400f4be0
mov rcx, r13
mov qword [rbp - 0x70], rax
call fcn.1400f4be0
mov rcx, r13
mov qword [rsp + 0x48], rax
call fcn.1400f4be0
mov rcx, r13
mov qword [rsp + 0x50], rax
call fcn.1400f4be0
mov rcx, r13
mov qword [rbp - 0x58], rax
call fcn.1400f4be0
mov rcx, r13
mov qword [rsp + 0x58], rax
call fcn.1400f4be0
mov qword [rbp - 0x68], rax
mov r12, rax
test rax, rax
je 0x14013283f
mov rbx, qword [rbp - 0x78]
movsxd rsi, r14d
call fcn.1400c4440
mov rdx, rax
lea r8d, [rbx - 1]
mov rcx, r12
call fcn.1400c4f20
test eax, eax
je 0x140132837
nop
mov r12, qword [rbp + 0x98]
nop word [rax + rax]
mov r8d, dword [rsp + 0x38]
xor ebx, ebx
cmp qword [rbp + 0x70], rbx
mov rcx, r12
sete bl
xor edx, edx
call fcn.14015c820
inc dword [rsp + 0x38]
test eax, eax
je 0x140132837
cmp qword [rbp + 0x70], 0
jne 0x14013287e
mov edx, r14d
lea rcx, [rbp - 0x10]
call fcn.14005f8f0
test eax, eax
jg 0x140132886
mov esi, dword [rbp + 0x60]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.1400f4ab0
mov r13, qword [rsp + 0x110]
mov r12, qword [rsp + 0x158]
mov rcx, rdi
call fcn.1400f4b30
mov rcx, rbx
call fcn.14012a420
mov eax, esi
add rsp, 0x118
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rbp + 0x70], 0
mov r8, rsi
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x30]
call fcn.140174ed0
mov r8, rsi
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x50]
call fcn.140174ed0
lea rax, [rsi - 1]
test rax, rax
js 0x1401328bd
nop
add byte [rbp + rax - 0x30], 1
jne 0x1401328bd
sub rax, 1
jns 0x1401328b0
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x68]
xor r9d, r9d
mov qword [rsp + 0x20], r15
mov rdx, rsi
lea rcx, [rbp - 0x10]
call fcn.140079380
test eax, eax
je 0x140132837
mov qword [rsp + 0x28], 0
lea r8, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], r15
mov rdx, rsi
lea rcx, [rbp - 0x30]
call fcn.140079380
test eax, eax
je 0x140132837
xor ecx, ecx
test r14d, r14d
jle 0x1401329a1
cmp r14d, 0x40
jb 0x1401329a1
mov edx, r14d
and edx, 0x8000003f
jge 0x140132937
dec edx
or edx, 0xffffffc0
inc edx
mov eax, r14d
sub eax, edx
movsxd rdx, eax
nop
movdqu xmm0, xmmword [rsp + rcx + 0x68]
movdqu xmm1, xmmword [rbp + rcx - 0x50]
pxor xmm1, xmm0
movdqu xmmword [rsp + rcx + 0x68], xmm1
movdqu xmm0, xmmword [rsp + rcx + 0x78]
movdqu xmm1, xmmword [rbp + rcx - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rsp + rcx + 0x78], xmm1
movdqu xmm0, xmmword [rbp + rcx - 0x78]
movdqu xmm1, xmmword [rbp + rcx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rbp + rcx - 0x78], xmm1
movdqu xmm0, xmmword [rbp + rcx - 0x68]
movdqu xmm1, xmmword [rbp + rcx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rbp + rcx - 0x68], xmm1
add rcx, 0x40
cmp rcx, rdx
jl 0x140132940
cmp rcx, rsi
jge 0x1401329c1
nop word [rax + rax]
movzx eax, byte [rbp + rcx - 0x50]
xor byte [rsp + rcx + 0x68], al
inc rcx
cmp rcx, rsi
jl 0x1401329b0
or byte [rsp + 0x68], 0x80
lea rcx, [rsp + 0x68]
mov r8, qword [rsp + 0x48]
mov edx, r14d
or byte [rsp + rsi + 0x67], 1
call fcn.1400c35e0
test rax, rax
je 0x140132837
mov rcx, qword [rsp + 0x48]
mov r9d, ebx
mov r8, r13
mov qword [rsp + 0x20], r12
mov edx, 0x40
call fcn.14015ce60
test eax, eax
jg 0x140132a0f
je 0x140132800
jmp 0x140132837
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 2]
call fcn.14015c820
test eax, eax
je 0x140132837
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 3]
call fcn.14015c820
test eax, eax
je 0x140132837
mov rcx, qword [rbp - 0x78]
lea r15, [rsi - 1]
mov rbx, qword [rbp - 0x70]
dec rcx
movabs rax, 0xcccccccccccccccd
xor r13d, r13d
mul rcx
mov r12, rdx
shr r12, 7
test r13d, r13d
je 0x140132a81
mov rcx, qword [rbp + 0x98]
mov r8d, r13d
xor edx, edx
call fcn.14015c820
test eax, eax
je 0x140132837
mov rcx, rbx
call fcn.1400c4480
xor ebx, ebx
test r12d, r12d
js 0x140132b35
mov rax, r15
test r15, r15
js 0x140132aad
nop dword [rax]
add byte [rbp + rax - 0x30], 1
jne 0x140132aad
sub rax, 1
jns 0x140132aa0
mov rax, qword [rbp + 0x68]
lea r8, [rsp + 0x68]
mov qword [rsp + 0x28], 0
lea rcx, [rbp - 0x30]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.140079380
test eax, eax
je 0x140132837
mov r8, rdi
lea rcx, [rsp + 0x68]
mov edx, r14d
call fcn.1400c35e0
test rax, rax
je 0x140132837
lea r8d, [r14*8]
mov rdx, rdi
imul r8d, ebx
mov rcx, rdi
call fcn.1400c4f20
test eax, eax
je 0x140132837
mov rdx, qword [rbp - 0x70]
mov r8, rdi
mov rcx, rdx
call fcn.1400fc3b0
test eax, eax
je 0x140132837
inc ebx
cmp ebx, r12d
jle 0x140132a94
mov rdx, qword [rbp - 0x78]
mov rbx, qword [rbp - 0x70]
dec edx
mov rcx, rbx
call fcn.1400c3ef0
test eax, eax
je 0x140132837
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
call fcn.1400c3c40
test rax, rax
je 0x140132837
mov rdx, qword [rsp + 0x50]
mov r8, qword [rbp - 0x68]
mov rcx, rdx
call fcn.1400fc3b0
test eax, eax
je 0x140132837
mov rdx, qword [rsp + 0x48]
mov rcx, rdi
call fcn.1400c50b0
test eax, eax
je 0x140132837
mov rax, qword [rsp + 0x40]
mov r9, rdi
mov r8, qword [rsp + 0x50]
xor ecx, ecx
mov rdx, qword [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.140129e30
test eax, eax
je 0x140132837
call fcn.1400c4440
mov rdx, qword [rbp - 0x58]
mov r8, rax
mov rcx, rdi
call fcn.1400fc440
test eax, eax
je 0x140132837
mov rdx, qword [rsp + 0x50]
mov r8, rdi
mov rcx, qword [rsp + 0x58]
call fcn.1400fc440
test eax, eax
je 0x140132837
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rsp + 0x58]
call fcn.1400c3840
test eax, eax
js 0x140132c2f
mov rax, qword [rbp + 0x98]
mov r9d, 1
mov r8, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea edx, [r9 + 0x3f]
call fcn.14015ce60
test eax, eax
jg 0x140132c4d
jne 0x140132837
inc r13d
cmp r13d, 0x1000
jl 0x140132a63
mov r15, qword [rbp + 0x68]
mov r13, qword [rsp + 0x40]
jmp 0x1401327f0
mov rbx, qword [rbp + 0x98]
mov edx, 2
mov rcx, rbx
lea r8d, [rdx - 1]
call fcn.14015c820
test eax, eax
je 0x140132837
call fcn.1400c4440
mov r15, qword [rsp + 0x58]
mov r8, rax
mov r12, qword [rbp - 0x68]
mov rdx, r15
mov rcx, r12
call fcn.1400fc440
test eax, eax
je 0x140132837
mov r14, qword [rsp + 0x40]
mov r8, r12
mov r9, qword [rsp + 0x48]
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], r14
call fcn.140129e30
test eax, eax
je 0x140132837
mov edx, 2
mov rcx, r12
call fcn.1400c4370
test eax, eax
je 0x140132837
mov rcx, qword [rsp + 0x30]
mov r8, r14
mov rdx, r15
call fcn.14012a500
test eax, eax
je 0x140132837
mov rax, qword [rsp + 0x30]
mov r9, r15
mov rcx, qword [rsp + 0x60]
mov r8, rdi
mov qword [rsp + 0x28], rax
mov rdx, r12
mov qword [rsp + 0x20], r14
call fcn.1401286b0
test eax, eax
je 0x140132837
nop dword [rax]
mov rcx, qword [rsp + 0x60]
call fcn.1400c3e90
test eax, eax
je 0x140132d67
call fcn.1400c4440
mov r8, rax
mov rdx, r12
mov rcx, r12
call fcn.1400fc3b0
test eax, eax
je 0x140132837
mov rax, qword [rsp + 0x30]
mov r9, r15
mov rcx, qword [rsp + 0x60]
mov r8, rdi
inc dword [rbp - 0x60]
mov rdx, r12
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
call fcn.1401286b0
test eax, eax
jne 0x140132d10
jmp 0x140132837
mov edx, 3
mov rcx, rbx
lea r8d, [rdx - 2]
call fcn.14015c820
test eax, eax
je 0x140132837
mov dword [rbp + 0x60], 1
nop word [rax + rax]
mov rbx, qword [rbp + 0x50]
mov rcx, qword [rbx + 8]
call fcn.1400c3d90
mov rcx, qword [rbx + 0x10]
call fcn.1400c3d90
mov rcx, qword [rbx + 0x18]
call fcn.1400c3d90
mov rcx, r15
call fcn.1400c3cb0
mov rcx, qword [rsp + 0x48]
mov qword [rbx + 8], rax
call fcn.1400c3cb0
mov rcx, qword [rsp + 0x60]
mov qword [rbx + 0x10], rax
call fcn.1400c3cb0
cmp qword [rbx + 8], 0
mov qword [rbx + 0x18], rax
je 0x140132e2c
cmp qword [rbx + 0x10], 0
je 0x140132e2c
test rax, rax
je 0x140132e2c
mov rax, qword [rbp + 0x88]
test rax, rax
je 0x140132df9
mov dword [rax], r13d
mov rax, qword [rbp + 0x90]
test rax, rax
je 0x140132e0b
mov rcx, qword [rbp - 0x60]
mov dword [rax], ecx
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x140132837
mov r8, rsi
lea rdx, [rbp - 0x10]
call fcn.140174ed0
jmp 0x140132837
xor esi, esi
jmp 0x14013283a