Function at 0x180212210
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r13
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rax, qword [0x18050a0d0]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r8, qword [rcx + 0xd8]
mov rax, qword [rcx + 0x30]
xor edi, edi
mov r13d, edx
mov rsi, rcx
test edx, edx
je 0x180212265
mov rcx, qword [rax + 0x48]
mov r14, qword [r8 + 0xe8]
lea rbx, [rcx + 0x108]
lea rdx, [rcx + 0x4c]
jmp 0x180212277
mov rdx, qword [rax + 0x48]
mov r14, qword [r8 + 0xe0]
lea rbx, [rdx + 0xd8]
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0xe0], r15
test r14, r14
je 0x180212618
mov rax, qword [rsi + 8]
mov r9, rdi
mov qword [rbp - 9], rdi
mov rcx, qword [rax + 0x28]
cmp dword [rcx], 0xfeff
jne 0x1802122d6
mov rax, qword [rsi + 0x38]
mov rcx, qword [rax + 0x18]
test r13d, r13d
je 0x1802122bd
movzx eax, word [rcx + 0x20a]
jmp 0x1802122c4
movzx eax, word [rcx + 0x208]
lea rcx, [rbp + 0xf]
movzx r8d, ax
call fcn.180210960
mov r9, rdi
jmp 0x1802122f4
mov rax, qword [rdx]
lea rcx, [rdx + 7]
neg rdx
mov qword [rbp + 0xf], rax
inc byte [rcx]
jne 0x1802122f4
dec rcx
lea rax, [rdx + rcx]
test rax, rax
jns 0x1802122e4
movzx eax, byte [rbx]
movzx r15d, byte [r14 + 0x1d]
mov byte [rbp + 0x17], al
mov eax, dword [rsi]
sar eax, 8
mov byte [rbp + 0x18], al
movzx eax, byte [rsi]
mov byte [rbp + 0x19], al
cmp r15b, 8
ja 0x180212610
movzx r8d, byte [r14 + 0x1e]
test r8b, r8b
je 0x180212353
movzx esi, byte [r14 + 0x1c]
cmp sil, 0x10
ja 0x180212610
cmp r15b, sil
ja 0x180212610
movzx r12d, sil
movzx edx, r15b
mov eax, r12d
mov dword [rbp - 0x19], r12d
sub eax, edx
movsxd r9, eax
mov qword [rbp - 9], r9
jmp 0x180212371
movzx esi, byte [r14 + 0x1c]
movzx eax, r15b
add eax, esi
mov r12d, esi
mov dword [rbp - 0x19], esi
movsxd rcx, eax
cmp rcx, 0x10
ja 0x180212610
test r13d, r13d
je 0x1802124c8
mov rax, qword [rbx + 0x18]
mov r13d, dword [rbx + 4]
lea rcx, [rbp + 0x1f]
mov qword [rbp + 7], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp - 0x19], rax
test r8b, r8b
je 0x1802123ed
mov r8, r9
xor edx, edx
call fcn.180231610
movzx r8d, r15b
lea rcx, [rbp + 0x1f]
add rcx, qword [rbp - 9]
lea rdx, [rbp + 0xf]
mov qword [rbp - 1], r8
call fcn.180230800
movzx r9d, sil
mov rdx, rdi
test r9, r9
jle 0x1802123e7
lea rcx, [rbp + 0x1f]
mov r8, r14
sub r8, rcx
lea rcx, [rbp + 0x1f]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + r8 + 0x10]
xor byte [rcx], al
cmp rdx, r9
jl 0x1802123d0
mov rsi, qword [rbp - 1]
jmp 0x18021241b
lea rdx, [r14 + 0x10]
movzx r8d, sil
call fcn.180230800
mov eax, r12d
lea rcx, [rbp + 0x1f]
movzx esi, r15b
lea rdx, [rbp + 0xf]
add rcx, rax
mov r8d, esi
call fcn.180230800
movzx eax, r15b
add r12d, eax
cmp byte [r14 + 0x20], dil
je 0x18021243e
mov r8, rsi
mov rsi, qword [rbp - 0x19]
lea rdx, [rbp + 0xf]
mov rcx, rsi
call fcn.180230800
movzx edi, byte [r14 + 0x1d]
sub r13, rdi
jmp 0x180212442
mov rsi, qword [rbp - 0x19]
movzx r9d, byte [r14 + 0x1f]
mov qword [rsp + 0x48], reloc.WS2_32.dll_listen
lea r8, [rbp + 0xf]
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], r13
mov ecx, r12d
mov rax, r13
lea rdx, [rsi + rdi]
lea r8, [rbp - 0x11]
shr rax, 8
add r9, r13
mov byte [rbp + 0x1b], r13b
mov byte [rbp + 0x1a], al
mov rax, qword [rbp + 7]
add rax, rdi
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
lea rax, [rbp + 0x1f]
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.18025a4d0
test eax, eax
je 0x180212610
cmp byte [r14 + 0x20], 0
mov rcx, qword [rbp - 0x11]
je 0x180212603
movzx eax, byte [r14 + 0x1d]
add rcx, rax
mov eax, 1
mov dword [rbx + 4], ecx
jmp 0x18021286c
mov r13, qword [rbx + 0x18]
mov r12d, dword [rbx + 4]
cmp qword [rbx + 0x10], r13
jne 0x180212610
movzx eax, r15b
cmp r12, rax
jae 0x1802124ea
xor eax, eax
jmp 0x18021286c
lea rcx, [rbp + 0x1f]
test r8b, r8b
je 0x18021254b
mov r8, r9
xor edx, edx
call fcn.180231610
lea rcx, [rbp + 0x1f]
lea rdx, [rbp + 0xf]
add rcx, qword [rbp - 9]
movzx r8d, r15b
call fcn.180230800
movzx r8d, sil
test r8, r8
jle 0x180212546
lea rcx, [rbp + 0x1f]
mov rdx, r14
sub rdx, rcx
nop word [rax + rax]
lea rcx, [rbp + 0x1f]
add rcx, rdi
inc rdi
movzx eax, byte [rcx + rdx + 0x10]
xor byte [rcx], al
cmp rdi, r8
jl 0x180212530
mov edi, dword [rbp - 0x19]
jmp 0x18021257e
lea rdx, [r14 + 0x10]
movzx r8d, sil
call fcn.180230800
cmp byte [r14 + 0x20], 0
mov edi, dword [rbp - 0x19]
lea rdx, [rbp + 0xf]
lea rcx, [rbp + 0x1f]
movzx r8d, r15b
cmovne rdx, r13
add rcx, rdi
call fcn.180230800
movzx eax, r15b
add edi, eax
cmp byte [r14 + 0x20], 0
je 0x18021258f
movzx eax, r15b
add r13, rax
sub r12, rax
movzx ecx, byte [r14 + 0x1f]
mov rsi, r13
cmp r12, rcx
jb 0x1802124e3
sub r12, rcx
mov qword [rsp + 0x48], reloc.WS2_32.dll_listen
lea rdx, [rbp + 0xf]
mov qword [rsp + 0x40], rdx
mov rax, r12
lea r8, [rbp - 0x11]
shr rax, 8
mov r9, r12
mov rdx, r13
mov byte [rbp + 0x1a], al
lea rax, [rcx + r12]
mov ecx, edi
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x1f]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rcx
mov rcx, r14
mov byte [rbp + 0x1b], r12b
mov qword [rsp + 0x20], rax
call fcn.18025a3e0
test eax, eax
je 0x180212610
mov rcx, qword [rbp - 0x11]
mov qword [rbx + 0x18], r13
mov qword [rbx + 0x10], r13
mov dword [rbx + 4], ecx
mov eax, 1
jmp 0x18021286c
or eax, 0xffffffff
jmp 0x18021286c
test r13d, r13d
je 0x1802126d7
mov rcx, qword [r8 + 0xf8]
call fcn.18019dfc0
test rax, rax
je 0x180212669
mov rcx, qword [rsi + 0xd8]
mov rcx, qword [rcx + 0xf8]
call fcn.18019dfc0
mov rcx, rax
call fcn.18016fcd0
test eax, eax
jns 0x180212669
lea r8, str.n___0
lea rcx, str.Z:metasploit_payloadscmeterpreterdepslibressl_ssl_t1_enc.c
mov edx, 0x345
call fcn.1801734c0
mov rax, qword [rsi + 0xd8]
mov r14, qword [rax + 0xf0]
test r14, r14
jne 0x180212684
mov r15, rdi
jmp 0x180212734
mov rcx, r14
call fcn.180229810
mov rcx, qword [rsi + 8]
mov rdx, qword [rcx + 0x28]
mov r15, rax
mov rcx, qword [rdx + 0x78]
test byte [rcx], 1
je 0x180212734
mov rcx, rax
call fcn.18016f8b0
and eax, 0xf0007
cmp eax, 2
jne 0x180212734
mov rcx, r15
call fcn.18016f960
cmp eax, 1
jle 0x180212734
mov rcx, qword [rbx + 0x18]
cmp qword [rbx + 0x10], rcx
jne 0x180212734
movsxd rdx, eax
call fcn.1801a3cb0
jmp 0x180212734
mov rcx, qword [rsi + 0xd0]
call fcn.18019dfc0
test rax, rax
je 0x180212718
mov rcx, qword [rsi + 0xd0]
call fcn.18019dfc0
mov rcx, rax
call fcn.18016fcd0
test eax, eax
jns 0x180212718
lea r8, str.n___0
lea rcx, str.Z:metasploit_payloadscmeterpreterdepslibressl_ssl_t1_enc.c
mov edx, 0x361
call fcn.1801734c0
mov r14, qword [rsi + 0xc8]
test r14, r14
jne 0x180212729
mov r15, rdi
jmp 0x180212734
mov rcx, r14
call fcn.180229810
mov r15, rax
cmp qword [rsi + 0x80], rdi
je 0x18021284a
test r14, r14
je 0x18021284a
test r15, r15
je 0x18021284a
mov rcx, qword [r14]
movsxd r15, dword [rbx + 4]
call fcn.180190650
mov r12d, eax
cmp eax, 1
je 0x1802127a5
test r13d, r13d
je 0x1802127aa
mov eax, r15d
mov rcx, r15
mov r9d, r12d
cdq
idiv r12d
sub r9d, edx
add r15d, r9d
movsxd rdx, r15d
lea r8d, [r9 - 1]
cmp rcx, rdx
jge 0x1802127a1
nop dword [rax + rax]
mov rax, qword [rbx + 0x18]
inc rcx
mov byte [rcx + rax - 1], r8b
cmp rcx, rdx
jl 0x180212790
add dword [rbx + 4], r9d
test r13d, r13d
jne 0x1802127c3
test r15d, r15d
je 0x1802124e3
xor edx, edx
mov eax, r15d
div r12d
test edx, edx
jne 0x1802124e3
mov r8, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x10]
mov r9d, r15d
mov rcx, r14
call fcn.18016fc80
mov rcx, qword [r14]
mov r15d, eax
call fcn.18016f8b0
mov ecx, edi
bt eax, 0x14
jae 0x1802127f1
test r15d, r15d
sets cl
jmp 0x1802127f7
test r15d, r15d
sete cl
test ecx, ecx
jne 0x180212610
lea r14d, [rcx + 1]
mov rcx, qword [rsi + 0xd0]
call fcn.18019dfc0
test rax, rax
je 0x18021282a
mov rcx, qword [rsi + 0xd0]
call fcn.18019dfc0
mov rcx, rax
call fcn.18016fcd0
mov edi, eax
cmp r12d, r14d
je 0x180212869
test r13d, r13d
jne 0x180212869
mov r9d, edi
mov r8d, r12d
mov rdx, rbx
mov rcx, rsi
call fcn.18022a260
mov r14d, eax
jmp 0x180212869
mov r8d, dword [rbx + 4]
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x10]
call fcn.180230800
mov rax, qword [rbx + 0x10]
mov r14d, 1
mov qword [rbx + 0x18], rax
mov eax, r14d
mov r15, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xd8]
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.180243450
mov rbx, qword [rsp + 0xe8]
add rsp, 0xa0
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret