Function at 0x1401517f0
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 0x14015186f
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.14006e890
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.1400616f0
mov rcx, rax
call fcn.140061880
mov ecx, eax
cmp eax, 0x2a1
jg 0x140151990
cmp eax, 0x2a1
je 0x140151955
cmp eax, 4
je 0x140151914
cmp eax, esi
je 0x1401518e2
cmp eax, 0x2a0
jne 0x14015199d
lea rcx, [rbp + 0x80]
call fcn.14005f550
test eax, eax
jle 0x1401519c2
mov r15d, 0x20
lea rcx, [0x140152380]
mov qword [rsp + 0x30], r15
lea rax, [0x14005f5b0]
jmp 0x140151a23
lea rcx, [rbp + 0x80]
call fcn.14005f020
test eax, eax
jle 0x1401519c2
mov r15d, reloc.WS2_32.dll_sendto
lea rcx, [0x1401522f0]
mov qword [rsp + 0x30], r15
lea rax, [0x14005f070]
jmp 0x140151a23
lea rcx, [rbp + 0x80]
call fcn.140060510
test eax, eax
jle 0x1401519c2
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, [0x140152270]
lea rax, [0x140060550]
jmp 0x140151a23
lea rcx, [rbp + 0x80]
call fcn.140100f50
test eax, eax
jle 0x1401519c2
mov r15d, 0x30
lea rax, [0x140152460]
mov qword [rsp + 0x38], rax
lea rax, [0x140101950]
mov qword [rsp + 0x30], r15
lea esi, [r15 + 0x50]
lea r13d, [r15 - 0x20]
jmp 0x140151a28
sub ecx, 0x2a2
je 0x1401519f4
cmp ecx, 1
je 0x1401519c9
test rdi, rdi
je 0x1401519a9
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.14006e890
xor eax, eax
jmp 0x14015213e
lea rcx, [rbp + 0x80]
call fcn.14005f1c0
test eax, eax
jle 0x1401519c2
mov r15d, 0x1c
lea rcx, [0x140152380]
mov qword [rsp + 0x30], r15
lea rax, [0x14005f5b0]
jmp 0x140151a23
lea rcx, [rbp + 0x80]
call fcn.1401018c0
test eax, eax
jle 0x1401519c2
mov r15, rsi
mov qword [rsp + 0x30], rsi
mov esi, 0x80
lea rcx, [0x140152460]
lea rax, [0x140101950]
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 0x140151a5e
mov r12, qword [rbp + 0x300]
mov r9d, 2
add r12, 0xb
add r12, r14
jmp 0x140151a71
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 0x140151ae9
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 0x140151bbc
mov r8, rsi
lea rcx, [rbp]
xor edx, edx
lea rbx, [rbx + rsi*8]
call fcn.140174b20
mov rax, qword [rbp + 0x300]
cmp rax, 0x80
jbe 0x140151b42
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.14006e890
jmp 0x140152134
mov rdx, qword [rbp + 0x2f8]
lea rcx, [rbp]
mov r8, rax
call fcn.140174ce0
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 0x140151b60
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 0x140151c1c
lea r8, [r13 - 4]
call fcn.140174b20
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 0x140151c47
mov r8, r13
call fcn.140174b20
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 0x140151dae
cmp byte [rbp + 0x308], r14b
je 0x140151d1b
cmp r12, rsi
jbe 0x140152134
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.140174ce0
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.140174ce0
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 0x140151dae
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 0x140151d00
jmp 0x140151da6
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.140174ce0
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x80]
call qword [rsp + 0x28]
xor edx, edx
mov rax, rdi
div rsi
cmp rax, 1
jbe 0x140151dae
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 0x140151d90
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 0x140152097
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 0x140151ed6
mov rax, qword [rbp + 0x2d8]
movzx r11d, byte [rdi + rax]
jmp 0x140151eea
mov rax, qword [rbp + 0x2f0]
add rax, r12
cmp rdi, rax
jae 0x140151eea
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 0x140151f61
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 0x140151ec0
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 0x14015204d
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 0x140151fd0
cmp rcx, r15
jae 0x140152068
movzx eax, byte [rbp + rcx + 0x1e0]
and al, bl
or byte [rbp + rcx - 0x70], al
inc rcx
cmp rcx, r15
jb 0x140152052
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 0x140151e60
movaps xmm6, xmmword [rsp + 0x360]
call fcn.1400798d0
mov rbx, rax
test rax, rax
je 0x14015212c
mov rcx, qword [rbp + 0x2c0]
call fcn.1400616f0
mov rdx, rax
xor r8d, r8d
mov rcx, rbx
call fcn.140079400
test eax, eax
jle 0x14015212c
cmp byte [rbp + 0x308], 0
je 0x140152156
mov rdi, qword [rbp - 0x78]
lea rcx, [rbp]
mov r8, rdi
mov edx, 0x5c
call fcn.140174b20
mov r8, qword [rbp + 0x300]
mov rcx, rbx
mov rdx, qword [rbp + 0x2f8]
call fcn.140079650
test eax, eax
jle 0x14015212c
mov r8, rdi
lea rdx, [rbp]
mov rcx, rbx
call fcn.140079650
test eax, eax
jle 0x14015212c
mov r8, r15
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.140079650
test eax, eax
jg 0x1401521e7
mov rcx, rbx
call fcn.1400798a0
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 [0x1401dbe20]
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 0x140152160
mov r8, rsi
lea rdx, [rbp]
mov rcx, rbx
call fcn.140079650
test eax, eax
jle 0x14015212c
mov r8, r15
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.140079650
test eax, eax
jle 0x14015212c
mov rdx, qword [rbp + 0x2c8]
lea r8, [rsp + 0x70]
mov rcx, rbx
call fcn.140079250
test eax, eax
je 0x140152212
mov rcx, qword [rbp + 0x2d0]
test rcx, rcx
je 0x140152212
mov eax, dword [rsp + 0x70]
mov qword [rcx], rax
mov rcx, rbx
call fcn.1400798a0
mov eax, 1
jmp 0x140152136