Function at 0x1801e5100
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x108
mov rax, qword [0x18050a0d0]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x178]
mov r13d, dword [rsp + 0x170]
mov rbp, qword [rsp + 0x190]
xor edi, edi
or r12d, 0xffffffff
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x188]
movsxd rbx, r9d
mov r14, r8
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x3c], r12d
mov dword [rsp + 0x34], edi
mov esi, edi
mov r15d, edi
test rax, rax
jne 0x1801e5187
call fcn.1801821c0
mov qword [rsp + 0x58], rax
test rbp, rbp
mov rcx, rax
cmove rbp, rax
mov qword [rsp + 0x50], rbp
call fcn.18016fcd0
movsxd rbp, eax
test eax, eax
jle 0x1801e5679
cmp dword [rsp + 0x38], esi
jle 0x1801e5679
test ebx, ebx
jle 0x1801e5679
cmp r13d, ebx
jl 0x1801e5657
lea eax, [rbp*2 + 2]
cmp r13d, eax
jl 0x1801e5657
sub r13d, ebp
dec r13d
movsxd rax, r13d
mov dword [rsp + 0x48], r13d
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.180230da8
mov r12, rax
test rax, rax
jne 0x1801e5251
mov dword [rsp + 0x20], 0xce
mov ecx, 4
lea r9, str.Z:metasploit_payloadscmeterpreterdepslibresslcrypto_rsa_rsa_oaep.c
mov edx, 0xfff
lea r8d, [rcx + 0x3d]
call fcn.1801727e0
mov r14, qword [rsp + 0x40]
lea rcx, [rsp + 0x70]
mov edx, 0x40
call fcn.180187af0
mov rdx, r14
mov rcx, r12
call fcn.1801814b0
movsxd rdx, dword [rsp + 0x30]
mov rcx, r15
call fcn.1801814b0
mov eax, esi
not esi
and eax, dword [rsp + 0x3c]
or eax, esi
jmp 0x1801e567c
movsxd rcx, dword [rsp + 0x30]
call fcn.180230da8
mov r15, rax
test rax, rax
jne 0x1801e526d
mov dword [rsp + 0x20], 0xd2
jmp 0x1801e51fc
mov ecx, dword [rsp + 0x30]
add r14, rbx
movsxd rax, ecx
add r15, rax
test ecx, ecx
jle 0x1801e52b1
mov edx, ecx
mov eax, ebx
lea ecx, [rbx - 1]
dec r15
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
dec ecx
mov eax, ecx
and eax, 1
sub ebx, eax
mov eax, ecx
and eax, 1
sub r14, rax
movzx eax, byte [r14]
and al, cl
mov byte [r15], al
dec rdx
jne 0x1801e5280
movzx eax, byte [r15]
lea rbx, [rbp + 1]
lea rcx, [rsp + 0x70]
lea esi, [rax - 1]
not eax
add rbx, r15
shr eax, 0x1f
shr esi, 0x1f
mov r9d, r13d
and esi, eax
mov rax, qword [rsp + 0x50]
mov r8, rbx
mov edx, ebp
lea r14, [r15 + 1]
mov qword [rsp + 0x20], rax
neg esi
call fcn.1801e4b80
test eax, eax
jne 0x1801e5216
mov edx, edi
test ebp, ebp
jle 0x1801e537d
cmp ebp, 0x20
jb 0x1801e537d
lea eax, [rbp - 1]
lea r8, [rsp + 0x70]
movsxd rcx, eax
add r8, rcx
lea rax, [rcx + r14]
lea rcx, [rsp + 0x70]
cmp rcx, rax
ja 0x1801e5323
cmp r8, r14
jae 0x1801e537d
mov eax, ebp
and eax, 0x8000001f
jge 0x1801e5333
dec eax
or eax, 0xffffffe0
inc eax
mov r8d, ebp
sub r8d, eax
nop dword [rax]
movsxd rax, edx
movdqu xmm0, xmmword [rsp + rax + 0x70]
movdqu xmm1, xmmword [rax + r14]
pxor xmm1, xmm0
movdqu xmmword [rsp + rax + 0x70], xmm1
lea eax, [rdx + 0x10]
add edx, 0x20
movsxd rcx, eax
movdqu xmm1, xmmword [rcx + r14]
movdqu xmm0, xmmword [rsp + rcx + 0x70]
pxor xmm1, xmm0
movdqu xmmword [rsp + rcx + 0x70], xmm1
cmp edx, r8d
jl 0x1801e5340
movsxd rdx, edx
cmp rdx, rbp
jge 0x1801e53a7
lea rax, [rsp + 0x70]
sub r14, rax
nop dword [rax]
lea rcx, [rsp + 0x70]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + r14]
xor byte [rcx], al
cmp rdx, rbp
jl 0x1801e5390
mov rax, qword [rsp + 0x50]
lea r8, [rsp + 0x70]
mov r9d, ebp
mov edx, r13d
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.1801e4b80
test eax, eax
jne 0x1801e5216
mov edx, edi
test r13d, r13d
jle 0x1801e544b
cmp r13d, 0x20
jb 0x1801e544b
lea eax, [r13 - 1]
movsxd rcx, eax
lea rax, [rcx + rbx]
lea r8, [rcx + r12]
cmp r12, rax
ja 0x1801e53f2
cmp r8, rbx
jae 0x1801e544b
mov eax, r13d
and eax, 0x8000001f
jge 0x1801e5403
dec eax
or eax, 0xffffffe0
inc eax
mov r8d, r13d
sub r8d, eax
nop dword [rax]
movsxd rax, edx
movdqu xmm0, xmmword [rax + r12]
movdqu xmm1, xmmword [rax + rbx]
pxor xmm1, xmm0
movdqu xmmword [rax + r12], xmm1
lea eax, [rdx + 0x10]
add edx, 0x20
movsxd rcx, eax
movdqu xmm1, xmmword [rcx + rbx]
movdqu xmm0, xmmword [rcx + r12]
pxor xmm1, xmm0
movdqu xmmword [rcx + r12], xmm1
cmp edx, r8d
jl 0x1801e5410
movsxd rax, edx
movsxd r14, r13d
cmp rax, r14
jge 0x1801e5480
mov r8, r14
sub rbx, r12
lea rdx, [rax + r12]
sub r8, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbx + rdx]
lea rdx, [rdx + 1]
xor byte [rdx - 1], al
dec r8
jne 0x1801e5470
mov rax, qword [rsp + 0x58]
movsxd rdx, dword [rsp + 0x180]
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0xb0]
xor r9d, r9d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.18016fd10
test eax, eax
je 0x1801e521b
lea rdx, [rsp + 0xb0]
mov r8, rbp
mov rcx, r12
call fcn.1801c8790
mov r9d, edi
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and esi, ecx
cmp rbp, r14
jge 0x1801e554c
mov r10, r14
lea r11, [r12 + rbp]
mov r13d, edi
sub r10, rbp
nop dword [rax]
movzx r8d, byte [r11]
mov ecx, r9d
lea r11, [r11 + 1]
mov eax, r8d
not ecx
xor eax, 1
lea edx, [rax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
neg edx
and ecx, edx
or r9d, edx
mov eax, ecx
and ecx, ebp
inc ebp
not eax
and r13d, eax
lea eax, [r8 - 1]
not r8d
shr eax, 0x1f
shr r8d, 0x1f
or r13d, ecx
and eax, r8d
neg eax
or eax, r9d
and esi, eax
dec r10
jne 0x1801e54f0
mov dword [rsp + 0x34], r13d
mov r13d, dword [rsp + 0x48]
mov r10d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x34]
mov ecx, r13d
inc r8d
mov edx, r10d
mov eax, r10d
sub ecx, r8d
mov r11d, r13d
sub edx, ecx
xor eax, ecx
xor edx, ecx
mov ecx, r13d
or edx, eax
sub ecx, r10d
mov eax, r10d
xor ecx, r10d
xor edx, r10d
xor eax, r13d
or ecx, eax
shr edx, 0x1f
xor ecx, r13d
dec edx
shr ecx, 0x1f
and edx, r9d
and esi, edx
neg ecx
mov edx, ecx
and ecx, r13d
and r8d, esi
not edx
mov eax, esi
mov r9d, esi
and edx, r10d
not eax
or edx, ecx
mov ecx, r13d
sub ecx, edx
movsxd rbx, edx
and ecx, eax
or ecx, r8d
mov r8, rdi
sub r11d, ecx
movsxd r10, ecx
add r10, r12
mov dword [rsp + 0x3c], r11d
test edx, edx
jle 0x1801e5626
mov rbp, qword [rsp + 0x68]
mov edx, r13d
nop word [rax + rax]
mov eax, edi
inc r8
inc edi
xor eax, r11d
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
mov eax, ecx
xor ecx, r9d
and rax, rdx
and r9d, ecx
sub r10, rax
movzx ecx, r9b
movzx eax, byte [r8 + r10 - 1]
and al, cl
not cl
and cl, byte [r8 + rbp - 1]
or al, cl
mov byte [r8 + rbp - 1], al
cmp r8, rbx
jl 0x1801e55e0
mov ecx, 4
lea r9, str.Z:metasploit_payloadscmeterpreterdepslibresslcrypto_rsa_rsa_oaep.c
mov edx, 0xfff
lea r8d, [rcx + 0x75]
mov dword [rsp + 0x20], 0x133
call fcn.1801727e0
mov ecx, esi
and ecx, 1
call fcn.180172bb0
jmp 0x1801e521b
mov ecx, 4
lea r9, str.Z:metasploit_payloadscmeterpreterdepslibresslcrypto_rsa_rsa_oaep.c
mov edx, 0xfff
lea r8d, [rcx + 0x75]
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SetErrorInfo
call fcn.1801727e0
mov eax, r12d
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.180243450
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret