Function at 0x140132410
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 0x1401324fa
cmp r14d, 0x18
je 0x1401324fa
test r9, r9
jne 0x1401324a2
cmp r14d, 0x14
jne 0x140132480
call fcn.1400b3be0
mov r15, rax
mov qword [rbp + 0x68], rax
jmp 0x1401324ad
cmp r14d, 0x1c
jne 0x140132494
call fcn.1400b3bf0
mov r15, rax
mov qword [rbp + 0x68], rax
jmp 0x1401324ad
call fcn.1400b3c00
mov r15, rax
mov qword [rbp + 0x68], rax
jmp 0x1401324ad
mov rcx, r9
call fcn.140061840
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 0x14013251c
mov r8, qword [rbp + 0x78]
movsxd rax, r14d
cmp r8, rax
jae 0x14013250c
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.14006c2b0
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.140174ce0
call fcn.14012a270
mov qword [rsp + 0x30], rax
mov rbx, rax
test rax, rax
je 0x14013265c
call fcn.1400f4b90
mov qword [rsp + 0x40], rax
mov rdi, rax
test rax, rax
je 0x14013265c
mov qword [rsp + 0x158], r12
mov rcx, rax
mov qword [rsp + 0x110], r13
call fcn.1400f4c70
mov rcx, rdi
call fcn.1400f49e0
mov r13, qword [rsp + 0x40]
mov rdi, rax
mov rcx, r13
call fcn.1400f49e0
mov rcx, r13
mov qword [rsp + 0x60], rax
call fcn.1400f49e0
mov rcx, r13
mov qword [rbp - 0x70], rax
call fcn.1400f49e0
mov rcx, r13
mov qword [rsp + 0x48], rax
call fcn.1400f49e0
mov rcx, r13
mov qword [rsp + 0x50], rax
call fcn.1400f49e0
mov rcx, r13
mov qword [rbp - 0x58], rax
call fcn.1400f49e0
mov rcx, r13
mov qword [rsp + 0x58], rax
call fcn.1400f49e0
mov qword [rbp - 0x68], rax
mov r12, rax
test rax, rax
je 0x14013263f
mov rbx, qword [rbp - 0x78]
movsxd rsi, r14d
call fcn.1400c4240
mov rdx, rax
lea r8d, [rbx - 1]
mov rcx, r12
call fcn.1400c4d20
test eax, eax
je 0x140132637
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.14015c620
inc dword [rsp + 0x38]
test eax, eax
je 0x140132637
cmp qword [rbp + 0x70], 0
jne 0x14013267e
mov edx, r14d
lea rcx, [rbp - 0x10]
call fcn.14005f6f0
test eax, eax
jg 0x140132686
mov esi, dword [rbp + 0x60]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.1400f48b0
mov r13, qword [rsp + 0x110]
mov r12, qword [rsp + 0x158]
mov rcx, rdi
call fcn.1400f4930
mov rcx, rbx
call fcn.14012a220
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.140174ce0
mov r8, rsi
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x50]
call fcn.140174ce0
lea rax, [rsi - 1]
test rax, rax
js 0x1401326bd
nop
add byte [rbp + rax - 0x30], 1
jne 0x1401326bd
sub rax, 1
jns 0x1401326b0
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.140079180
test eax, eax
je 0x140132637
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.140079180
test eax, eax
je 0x140132637
xor ecx, ecx
test r14d, r14d
jle 0x1401327a1
cmp r14d, 0x40
jb 0x1401327a1
mov edx, r14d
and edx, 0x8000003f
jge 0x140132737
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 0x140132740
cmp rcx, rsi
jge 0x1401327c1
nop word [rax + rax]
movzx eax, byte [rbp + rcx - 0x50]
xor byte [rsp + rcx + 0x68], al
inc rcx
cmp rcx, rsi
jl 0x1401327b0
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.1400c33e0
test rax, rax
je 0x140132637
mov rcx, qword [rsp + 0x48]
mov r9d, ebx
mov r8, r13
mov qword [rsp + 0x20], r12
mov edx, 0x40
call fcn.14015cc60
test eax, eax
jg 0x14013280f
je 0x140132600
jmp 0x140132637
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 2]
call fcn.14015c620
test eax, eax
je 0x140132637
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 3]
call fcn.14015c620
test eax, eax
je 0x140132637
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 0x140132881
mov rcx, qword [rbp + 0x98]
mov r8d, r13d
xor edx, edx
call fcn.14015c620
test eax, eax
je 0x140132637
mov rcx, rbx
call fcn.1400c4280
xor ebx, ebx
test r12d, r12d
js 0x140132935
mov rax, r15
test r15, r15
js 0x1401328ad
nop dword [rax]
add byte [rbp + rax - 0x30], 1
jne 0x1401328ad
sub rax, 1
jns 0x1401328a0
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.140079180
test eax, eax
je 0x140132637
mov r8, rdi
lea rcx, [rsp + 0x68]
mov edx, r14d
call fcn.1400c33e0
test rax, rax
je 0x140132637
lea r8d, [r14*8]
mov rdx, rdi
imul r8d, ebx
mov rcx, rdi
call fcn.1400c4d20
test eax, eax
je 0x140132637
mov rdx, qword [rbp - 0x70]
mov r8, rdi
mov rcx, rdx
call fcn.1400fc1b0
test eax, eax
je 0x140132637
inc ebx
cmp ebx, r12d
jle 0x140132894
mov rdx, qword [rbp - 0x78]
mov rbx, qword [rbp - 0x70]
dec edx
mov rcx, rbx
call fcn.1400c3cf0
test eax, eax
je 0x140132637
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
call fcn.1400c3a40
test rax, rax
je 0x140132637
mov rdx, qword [rsp + 0x50]
mov r8, qword [rbp - 0x68]
mov rcx, rdx
call fcn.1400fc1b0
test eax, eax
je 0x140132637
mov rdx, qword [rsp + 0x48]
mov rcx, rdi
call fcn.1400c4eb0
test eax, eax
je 0x140132637
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.140129c30
test eax, eax
je 0x140132637
call fcn.1400c4240
mov rdx, qword [rbp - 0x58]
mov r8, rax
mov rcx, rdi
call fcn.1400fc240
test eax, eax
je 0x140132637
mov rdx, qword [rsp + 0x50]
mov r8, rdi
mov rcx, qword [rsp + 0x58]
call fcn.1400fc240
test eax, eax
je 0x140132637
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rsp + 0x58]
call fcn.1400c3640
test eax, eax
js 0x140132a2f
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.14015cc60
test eax, eax
jg 0x140132a4d
jne 0x140132637
inc r13d
cmp r13d, 0x1000
jl 0x140132863
mov r15, qword [rbp + 0x68]
mov r13, qword [rsp + 0x40]
jmp 0x1401325f0
mov rbx, qword [rbp + 0x98]
mov edx, 2
mov rcx, rbx
lea r8d, [rdx - 1]
call fcn.14015c620
test eax, eax
je 0x140132637
call fcn.1400c4240
mov r15, qword [rsp + 0x58]
mov r8, rax
mov r12, qword [rbp - 0x68]
mov rdx, r15
mov rcx, r12
call fcn.1400fc240
test eax, eax
je 0x140132637
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.140129c30
test eax, eax
je 0x140132637
mov edx, 2
mov rcx, r12
call fcn.1400c4170
test eax, eax
je 0x140132637
mov rcx, qword [rsp + 0x30]
mov r8, r14
mov rdx, r15
call fcn.14012a300
test eax, eax
je 0x140132637
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.1401284b0
test eax, eax
je 0x140132637
nop dword [rax]
mov rcx, qword [rsp + 0x60]
call fcn.1400c3c90
test eax, eax
je 0x140132b67
call fcn.1400c4240
mov r8, rax
mov rdx, r12
mov rcx, r12
call fcn.1400fc1b0
test eax, eax
je 0x140132637
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.1401284b0
test eax, eax
jne 0x140132b10
jmp 0x140132637
mov edx, 3
mov rcx, rbx
lea r8d, [rdx - 2]
call fcn.14015c620
test eax, eax
je 0x140132637
mov dword [rbp + 0x60], 1
nop word [rax + rax]
mov rbx, qword [rbp + 0x50]
mov rcx, qword [rbx + 8]
call fcn.1400c3b90
mov rcx, qword [rbx + 0x10]
call fcn.1400c3b90
mov rcx, qword [rbx + 0x18]
call fcn.1400c3b90
mov rcx, r15
call fcn.1400c3ab0
mov rcx, qword [rsp + 0x48]
mov qword [rbx + 8], rax
call fcn.1400c3ab0
mov rcx, qword [rsp + 0x60]
mov qword [rbx + 0x10], rax
call fcn.1400c3ab0
cmp qword [rbx + 8], 0
mov qword [rbx + 0x18], rax
je 0x140132c2c
cmp qword [rbx + 0x10], 0
je 0x140132c2c
test rax, rax
je 0x140132c2c
mov rax, qword [rbp + 0x88]
test rax, rax
je 0x140132bf9
mov dword [rax], r13d
mov rax, qword [rbp + 0x90]
test rax, rax
je 0x140132c0b
mov rcx, qword [rbp - 0x60]
mov dword [rax], ecx
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x140132637
mov r8, rsi
lea rdx, [rbp - 0x10]
call fcn.140174ce0
jmp 0x140132637
xor esi, esi
jmp 0x14013263a