Function at 0x140152550
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 0x1401525cf
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.14006c4a0
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.140060720
mov rcx, rax
call fcn.1400608b0
mov ecx, eax
cmp eax, 0x2a1
jg 0x1401526f0
cmp eax, 0x2a1
je 0x1401526b5
cmp eax, 4
je 0x140152674
cmp eax, esi
je 0x140152642
cmp eax, 0x2a0
jne 0x1401526fd
lea rcx, [rbp + 0x80]
call fcn.1400db200
test eax, eax
jle 0x140152722
mov r15d, 0x20
lea rcx, [0x1401530e0]
mov qword [rsp + 0x30], r15
lea rax, [0x1400db260]
jmp 0x140152783
lea rcx, [rbp + 0x80]
call fcn.14005f530
test eax, eax
jle 0x140152722
mov r15d, reloc.WS2_32.dll_sendto
lea rcx, [0x140153050]
mov qword [rsp + 0x30], r15
lea rax, [0x14005f580]
jmp 0x140152783
lea rcx, [rbp + 0x80]
call fcn.140061fd0
test eax, eax
jle 0x140152722
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, [0x140152fd0]
lea rax, [0x140062010]
jmp 0x140152783
lea rcx, [rbp + 0x80]
call fcn.1401026f0
test eax, eax
jle 0x140152722
mov r15d, 0x30
lea rax, [0x1401531c0]
mov qword [rsp + 0x38], rax
lea rax, [0x1401030f0]
mov qword [rsp + 0x30], r15
lea esi, [r15 + 0x50]
lea r13d, [r15 - 0x20]
jmp 0x140152788
sub ecx, 0x2a2
je 0x140152754
cmp ecx, 1
je 0x140152729
test rdi, rdi
je 0x140152709
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.14006c4a0
xor eax, eax
jmp 0x140152e9e
lea rcx, [rbp + 0x80]
call fcn.1400dae70
test eax, eax
jle 0x140152722
mov r15d, 0x1c
lea rcx, [0x1401530e0]
mov qword [rsp + 0x30], r15
lea rax, [0x1400db260]
jmp 0x140152783
lea rcx, [rbp + 0x80]
call fcn.140103060
test eax, eax
jle 0x140152722
mov r15, rsi
mov qword [rsp + 0x30], rsi
mov esi, 0x80
lea rcx, [0x1401531c0]
lea rax, [0x1401030f0]
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 0x1401527be
mov r12, qword [rbp + 0x300]
mov r9d, 2
add r12, 0xb
add r12, r14
jmp 0x1401527d1
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 0x140152849
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 0x14015291c
mov r8, rsi
lea rcx, [rbp]
xor edx, edx
lea rbx, [rbx + rsi*8]
call fcn.140175020
mov rax, qword [rbp + 0x300]
cmp rax, 0x80
jbe 0x1401528a2
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.14006c4a0
jmp 0x140152e94
mov rdx, qword [rbp + 0x2f8]
lea rcx, [rbp]
mov r8, rax
call fcn.1401757c0
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 0x1401528c0
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 0x14015297c
lea r8, [r13 - 4]
call fcn.140175020
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 0x1401529a7
mov r8, r13
call fcn.140175020
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 0x140152b0e
cmp byte [rbp + 0x308], r14b
je 0x140152a7b
cmp r12, rsi
jbe 0x140152e94
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.1401757c0
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.1401757c0
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 0x140152b0e
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 0x140152a60
jmp 0x140152b06
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.1401757c0
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x80]
call qword [rsp + 0x28]
xor edx, edx
mov rax, rdi
div rsi
cmp rax, 1
jbe 0x140152b0e
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 0x140152af0
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 0x140152df7
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 0x140152c36
mov rax, qword [rbp + 0x2d8]
movzx r11d, byte [rdi + rax]
jmp 0x140152c4a
mov rax, qword [rbp + 0x2f0]
add rax, r12
cmp rdi, rax
jae 0x140152c4a
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 0x140152cc1
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 0x140152c20
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 0x140152dad
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 0x140152d30
cmp rcx, r15
jae 0x140152dc8
movzx eax, byte [rbp + rcx + 0x1e0]
and al, bl
or byte [rbp + rcx - 0x70], al
inc rcx
cmp rcx, r15
jb 0x140152db2
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 0x140152bc0
movaps xmm6, xmmword [rsp + 0x360]
call fcn.140075e00
mov rbx, rax
test rax, rax
je 0x140152e8c
mov rcx, qword [rbp + 0x2c0]
call fcn.140060720
mov rdx, rax
xor r8d, r8d
mov rcx, rbx
call fcn.140075930
test eax, eax
jle 0x140152e8c
cmp byte [rbp + 0x308], 0
je 0x140152eb6
mov rdi, qword [rbp - 0x78]
lea rcx, [rbp]
mov r8, rdi
mov edx, 0x5c
call fcn.140175020
mov r8, qword [rbp + 0x300]
mov rcx, rbx
mov rdx, qword [rbp + 0x2f8]
call fcn.140075b80
test eax, eax
jle 0x140152e8c
mov r8, rdi
lea rdx, [rbp]
mov rcx, rbx
call fcn.140075b80
test eax, eax
jle 0x140152e8c
mov r8, r15
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.140075b80
test eax, eax
jg 0x140152f47
mov rcx, rbx
call fcn.140075dd0
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 [0x1401ce740]
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 0x140152ec0
mov r8, rsi
lea rdx, [rbp]
mov rcx, rbx
call fcn.140075b80
test eax, eax
jle 0x140152e8c
mov r8, r15
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.140075b80
test eax, eax
jle 0x140152e8c
mov rdx, qword [rbp + 0x2c8]
lea r8, [rsp + 0x70]
mov rcx, rbx
call fcn.140075780
test eax, eax
je 0x140152f72
mov rcx, qword [rbp + 0x2d0]
test rcx, rcx
je 0x140152f72
mov eax, dword [rsp + 0x70]
mov qword [rcx], rax
mov rcx, rbx
call fcn.140075dd0
mov eax, 1
jmp 0x140152e96