Function at 0x140150c50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r13
push r14
lea rbp, [rsp - 0x288]
sub rsp, 0x388
mov rbx, qword [rbp + 0x2f0]
mov esi, 0x40
mov byte [rsp + 0x20], 1
mov r14d, 0x28
mov qword [rbp - 0x78], r14
mov rdi, r8
lea r13d, [rsi - 0x38]
cmp rbx, 0x100000
jb 0x140150ccf
lea r8d, [rsi + 0x69]
lea rdx, str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_ssl_s3_cbc.c
lea rcx, str.Assertion_failed:_data_plus_mac_plus_padding_size___1024__1024
call fcn.14006a910
xor eax, eax
add rsp, 0x388
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x378], r15
call fcn.14005ebf0
mov rcx, rax
call fcn.14005ed80
mov ecx, eax
cmp eax, 0x2a1
jg 0x140150df0
cmp eax, 0x2a1
je 0x140150db5
cmp eax, 4
je 0x140150d74
cmp eax, esi
je 0x140150d42
cmp eax, 0x2a0
jne 0x140150dfd
lea rcx, [rbp + 0x80]
call fcn.1400d98d0
test eax, eax
jle 0x140150e22
mov r15d, 0x20
lea rcx, [0x1401517e0]
mov qword [rsp + 0x30], r15
lea rax, [0x1400d9930]
jmp 0x140150e83
lea rcx, [rbp + 0x80]
call fcn.1400c1940
test eax, eax
jle 0x140150e22
mov r15d, reloc.WS2_32.dll_sendto
lea rcx, [0x140151750]
mov qword [rsp + 0x30], r15
lea rax, [0x1400c1990]
jmp 0x140150e83
lea rcx, [rbp + 0x80]
call fcn.1400604a0
test eax, eax
jle 0x140150e22
mov r15d, reloc.WS2_32.dll_recv
mov byte [rsp + 0x20], 0
mov r14d, 0x30
mov qword [rsp + 0x30], r15
mov qword [rbp - 0x78], r14
lea rcx, [0x1401516d0]
lea rax, [0x1400604e0]
jmp 0x140150e83
lea rcx, [rbp + 0x80]
call fcn.140100dd0
test eax, eax
jle 0x140150e22
mov r15d, 0x30
lea rax, [0x1401518c0]
mov qword [rsp + 0x38], rax
lea rax, [0x1401017d0]
mov qword [rsp + 0x30], r15
lea esi, [r15 + 0x50]
lea r13d, [r15 - 0x20]
jmp 0x140150e88
sub ecx, 0x2a2
je 0x140150e54
cmp ecx, 1
je 0x140150e29
test rdi, rdi
je 0x140150e09
mov qword [rdi], 0
mov r8d, 0xea
lea rdx, str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_ssl_s3_cbc.c
lea rcx, str.Assertion_failed:_0
call fcn.14006a910
xor eax, eax
jmp 0x14015159e
lea rcx, [rbp + 0x80]
call fcn.1400d9540
test eax, eax
jle 0x140150e22
mov r15d, 0x1c
lea rcx, [0x1401517e0]
mov qword [rsp + 0x30], r15
lea rax, [0x1400d9930]
jmp 0x140150e83
lea rcx, [rbp + 0x80]
call fcn.140101740
test eax, eax
jle 0x140150e22
mov r15, rsi
mov qword [rsp + 0x30], rsi
mov esi, 0x80
lea rcx, [0x1401518c0]
lea rax, [0x1401017d0]
lea r13d, [rsi - 0x70]
mov qword [rsp + 0x38], rcx
movzx r11d, byte [rbp + 0x308]
mov qword [rsp + 0x380], r12
mov r12d, reloc.WS2_32.dll_listen
mov qword [rsp + 0x28], rax
test r11b, r11b
je 0x140150ebe
mov r12, qword [rbp + 0x300]
mov r9d, 2
add r12, 0xb
add r12, r14
jmp 0x140150ed1
lea rax, [rsi + 0xff]
xor edx, edx
add rax, r15
div rsi
lea r9, [rax + 1]
xor edx, edx
mov qword [rsp + 0x48], r9
lea rax, [rbx - 1]
mov r8, r12
mov rbx, qword [rbp + 0x2e8]
sub r8, r15
add rbx, r8
xor r14d, r14d
mov edi, r14d
lea rcx, [r8 + r13]
add rcx, rsi
add rax, rcx
mov ecx, r14d
div rsi
xor edx, edx
mov r10, rax
mov rax, rbx
div rsi
mov rax, rbx
mov qword [rbp - 0x80], rdx
xor edx, edx
div rsi
xor edx, edx
mov qword [rbp - 0x30], rax
lea rax, [rbx + r13]
div rsi
test r11b, r11b
mov qword [rbp - 0x28], rax
setne cl
lea r8, [rcx + r9]
mov rcx, r10
sub rcx, r9
cmp r10, r8
jbe 0x140150f49
mov rdi, rcx
imul rdi, rsi
cmp r10, r8
cmovbe rcx, r14
lea rbx, [rbx*8]
mov qword [rsp + 0x78], rcx
test r11b, r11b
jne 0x14015101c
mov r8, rsi
lea rcx, [rbp]
xor edx, edx
lea rbx, [rbx + rsi*8]
call fcn.140173680
mov rax, qword [rbp + 0x300]
cmp rax, 0x80
jbe 0x140150fa2
mov r8d, 0x151
lea rdx, str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_ssl_s3_cbc.c
lea rcx, str.Assertion_failed:_mac_secret_length___sizeof_hmac_pad_
call fcn.14006a910
jmp 0x140151594
mov rdx, qword [rbp + 0x2f8]
lea rcx, [rbp]
mov r8, rax
call fcn.140173e20
movdqa xmm2, xmmword [str.6666666666666666jjjjjjjjjjjjjjjj_]
mov rax, r14
movdqu xmm0, xmmword [rbp + rax]
pxor xmm0, xmm2
movdqu xmmword [rbp + rax], xmm0
movdqu xmm1, xmmword [rbp + rax + 0x10]
pxor xmm1, xmm2
movdqu xmmword [rbp + rax + 0x10], xmm1
movdqu xmm0, xmmword [rbp + rax + 0x20]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rbp + rax + 0x20], xmm1
movdqu xmm0, xmmword [rbp + rax + 0x30]
pxor xmm0, xmm2
movdqu xmmword [rbp + rax + 0x30], xmm0
add rax, 0x40
cmp rax, rsi
jb 0x140150fc0
lea rdx, [rbp]
lea rcx, [rbp + 0x80]
call qword [rsp + 0x28]
mov rax, rbx
lea rcx, [rsp + 0x50]
shr rax, 0x18
xor edx, edx
mov qword [rsp + 0x60], rax
mov rax, rbx
shr rax, 0x10
mov qword [rsp + 0x68], rax
mov rax, rbx
shr rax, 8
mov qword [rsp + 0x40], rax
cmp byte [rsp + 0x20], r14b
je 0x14015107c
lea r8, [r13 - 4]
call fcn.140173680
mov rax, qword [rsp + 0x60]
mov byte [rsp + r13 + 0x4c], al
mov rax, qword [rsp + 0x68]
mov byte [rsp + r13 + 0x4d], al
mov rax, qword [rsp + 0x40]
mov byte [rsp + r13 + 0x4e], al
mov byte [rsp + r13 + 0x4f], bl
jmp 0x1401510a7
mov r8, r13
call fcn.140173680
mov rax, qword [rsp + 0x60]
mov byte [rsp + r13 + 0x4b], al
mov rax, qword [rsp + 0x68]
mov byte [rsp + r13 + 0x4a], al
mov rax, qword [rsp + 0x40]
mov byte [rsp + r13 + 0x49], al
mov byte [rsp + r13 + 0x48], bl
test rdi, rdi
je 0x14015120e
cmp byte [rbp + 0x308], r14b
je 0x14015117b
cmp r12, rsi
jbe 0x140151594
mov rdx, qword [rbp + 0x2d8]
lea rcx, [rbp + 0x80]
mov rbx, r12
sub rbx, rsi
call qword [rsp + 0x28]
mov rdx, qword [rbp + 0x2d8]
lea rcx, [rbp + 0x160]
add rdx, rsi
mov r8, rbx
call fcn.140173e20
mov rax, rsi
lea rcx, [rbp + 0x160]
sub rax, rbx
add rcx, rbx
mov rbx, qword [rbp + 0x2e0]
mov r8, rax
mov rdx, rbx
mov qword [rsp + 0x40], rax
call fcn.140173e20
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x80]
call qword [rsp + 0x28]
xor edx, edx
mov rax, rdi
div rsi
lea rcx, [rax - 1]
cmp rcx, 1
jbe 0x14015120e
add rbx, qword [rsp + 0x40]
lea r14, [rcx - 1]
mov r15, qword [rsp + 0x28]
nop dword [rax]
nop dword [rax + rax]
mov rdx, rbx
lea rcx, [rbp + 0x80]
call r15
add rbx, rsi
sub r14, 1
jne 0x140151160
jmp 0x140151206
mov rcx, qword [rbp + 0x2d8]
lea r8, [rsi - 0xd]
mov rbx, qword [rbp + 0x2e0]
mov rdx, rbx
mov eax, dword [rcx + 8]
movsd xmm0, qword [rcx]
mov dword [rbp + 0x168], eax
movzx eax, byte [rcx + 0xc]
lea rcx, [rbp + 0x16d]
mov byte [rbp + 0x16c], al
movsd qword [rbp + 0x160], xmm0
call fcn.140173e20
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x80]
call qword [rsp + 0x28]
xor edx, edx
mov rax, rdi
div rsi
cmp rax, 1
jbe 0x14015120e
mov r15, qword [rsp + 0x28]
lea r14, [rax - 1]
add rbx, 0xfffffffffffffff3
add rbx, rsi
nop dword [rax + rax]
mov rdx, rbx
lea rcx, [rbp + 0x80]
call r15
add rbx, rsi
sub r14, 1
jne 0x1401511f0
mov r15, qword [rsp + 0x30]
xor r14d, r14d
mov r8, qword [rsp + 0x78]
xor eax, eax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
mov rax, qword [rsp + 0x48]
add rax, r8
mov qword [rbp - 0x18], rax
cmp r8, rax
ja 0x1401514f7
mov rcx, qword [rbp - 0x80]
mov r9, qword [rbp + 0x2e0]
mov rax, rcx
shr rax, 0x3f
sub r9, r12
mov qword [rbp - 0x80], rax
mov r10, rcx
lea rdx, [rcx + 1]
movaps xmmword [rsp + 0x360], xmm6
mov rax, rdx
mov qword [rsp + 0x48], rdx
shr rax, 0x3f
not r10
mov qword [rsp + 0x40], rax
mov rax, rsi
sub rax, r13
mov qword [rbp - 0x10], r10
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x51]
sub rax, rsi
mov qword [rbp + 0x2e0], r9
add rax, rcx
add rax, r13
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x1e1]
add rax, rcx
mov qword [rbp - 0x20], rax
nop dword [rax]
mov rax, r8
xor rax, qword [rbp - 0x30]
lea r13, [rax - 1]
not rax
shr rax, 0x3f
shr r13, 0x3f
and r13b, al
mov rax, r8
xor rax, qword [rbp - 0x28]
neg r13b
lea rbx, [rax - 1]
not rax
shr rax, 0x3f
shr rbx, 0x3f
and bl, al
neg bl
movsx eax, bl
movd xmm6, eax
movzx eax, bl
not al
punpcklbw xmm6, xmm6
mov byte [rsp + 0x20], al
or al, r13b
movzx r15d, byte [rsp + 0x20]
punpcklwd xmm6, xmm6
mov byte [rsp + 0x21], al
pshufd xmm6, xmm6, 0
xor r11b, r11b
cmp rdi, r12
jae 0x140151336
mov rax, qword [rbp + 0x2d8]
movzx r11d, byte [rdi + rax]
jmp 0x14015134a
mov rax, qword [rbp + 0x2f0]
add rax, r12
cmp rdi, rax
jae 0x14015134a
movzx r11d, byte [r9 + rdi]
mov rax, qword [rbp - 0x80]
lea r9, [rdx + r10]
mov rcx, qword [rsp + 0x40]
lea r14, [r10 + 1]
mov r8, r14
mov rdx, r9
shr r8, 0x3f
inc rdi
xor r8b, al
shr rdx, 0x3f
xor al, dl
or r8b, al
mov rax, r10
shr rax, 0x3f
xor r8b, dl
xor al, cl
dec r8b
xor cl, dl
and r8b, r13b
or al, cl
movzx ecx, r8b
xor al, dl
not cl
dec al
and cl, r11b
and al, r13b
and r8b, 0x80
not al
or cl, r8b
and al, cl
and al, byte [rsp + 0x21]
cmp r9, qword [rsp + 0x68]
jb 0x1401513c1
mov rcx, qword [rsp + 0x60]
and al, r15b
movzx edx, byte [rcx + r10]
and dl, bl
or al, dl
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rsp + 0x48]
mov r9, qword [rbp + 0x2e0]
mov byte [rcx + r10], al
mov r10, r14
lea rax, [rdx + r14]
cmp rax, rsi
jb 0x140151320
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x80]
call qword [rsp + 0x28]
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x80]
call qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
xor r14d, r14d
mov ecx, r14d
cmp r15, 0x40
jb 0x1401514ad
mov rax, r15
and rax, 0xffffffffffffffc0
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + rcx - 0x70]
movdqu xmm1, xmmword [rbp + rcx + 0x1e0]
pand xmm1, xmm6
por xmm1, xmm0
movdqu xmmword [rbp + rcx - 0x70], xmm1
movdqu xmm0, xmmword [rbp + rcx - 0x60]
movdqu xmm1, xmmword [rbp + rcx + 0x1f0]
pand xmm1, xmm6
por xmm1, xmm0
movdqu xmmword [rbp + rcx - 0x60], xmm1
movdqu xmm0, xmmword [rbp + rcx - 0x50]
movdqu xmm1, xmmword [rbp + rcx + 0x200]
pand xmm1, xmm6
por xmm1, xmm0
movdqu xmmword [rbp + rcx - 0x50], xmm1
movdqu xmm0, xmmword [rbp + rcx - 0x40]
movdqu xmm1, xmmword [rbp + rcx + 0x210]
pand xmm1, xmm6
por xmm1, xmm0
movdqu xmmword [rbp + rcx - 0x40], xmm1
add rcx, 0x40
cmp rcx, rax
jb 0x140151430
cmp rcx, r15
jae 0x1401514c8
movzx eax, byte [rbp + rcx + 0x1e0]
and al, bl
or byte [rbp + rcx - 0x70], al
inc rcx
cmp rcx, r15
jb 0x1401514b2
mov r8, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x48]
inc r8
mov r9, qword [rbp + 0x2e0]
mov r10, qword [rbp - 0x10]
mov qword [rsp + 0x78], r8
cmp r8, qword [rbp - 0x18]
jbe 0x1401512c0
movaps xmm6, xmmword [rsp + 0x360]
call fcn.140074280
mov rbx, rax
test rax, rax
je 0x14015158c
mov rcx, qword [rbp + 0x2c0]
call fcn.14005ebf0
mov rdx, rax
xor r8d, r8d
mov rcx, rbx
call fcn.140073db0
test eax, eax
jle 0x14015158c
cmp byte [rbp + 0x308], 0
je 0x1401515b6
mov rdi, qword [rbp - 0x78]
lea rcx, [rbp]
mov r8, rdi
mov edx, 0x5c
call fcn.140173680
mov r8, qword [rbp + 0x300]
mov rcx, rbx
mov rdx, qword [rbp + 0x2f8]
call fcn.140074000
test eax, eax
jle 0x14015158c
mov r8, rdi
lea rdx, [rbp]
mov rcx, rbx
call fcn.140074000
test eax, eax
jle 0x14015158c
mov r8, r15
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.140074000
test eax, eax
jg 0x140151647
mov rcx, rbx
call fcn.140074250
xor eax, eax
mov r12, qword [rsp + 0x380]
mov r15, qword [rsp + 0x378]
add rsp, 0x388
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
movdqa xmm2, xmmword [0x1401cc200]
nop
movdqu xmm0, xmmword [rbp + r14]
movdqa xmm1, xmm2
pxor xmm0, xmm2
movdqu xmmword [rbp + r14], xmm0
movdqu xmm0, xmmword [rbp + r14 + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rbp + r14 + 0x10], xmm1
movdqu xmm0, xmmword [rbp + r14 + 0x20]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rbp + r14 + 0x20], xmm1
movdqu xmm0, xmmword [rbp + r14 + 0x30]
pxor xmm0, xmm2
movdqu xmmword [rbp + r14 + 0x30], xmm0
add r14, 0x40
cmp r14, rsi
jb 0x1401515c0
mov r8, rsi
lea rdx, [rbp]
mov rcx, rbx
call fcn.140074000
test eax, eax
jle 0x14015158c
mov r8, r15
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.140074000
test eax, eax
jle 0x14015158c
mov rdx, qword [rbp + 0x2c8]
lea r8, [rsp + 0x70]
mov rcx, rbx
call fcn.140073c00
test eax, eax
je 0x140151672
mov rcx, qword [rbp + 0x2d0]
test rcx, rcx
je 0x140151672
mov eax, dword [rsp + 0x70]
mov qword [rcx], rax
mov rcx, rbx
call fcn.140074250
mov eax, 1
jmp 0x140151596