Function at 0x1801dcb90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x1803c1370]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0xe0]
xor ebp, ebp
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0xe8]
dec eax
mov r13d, r9d
mov r15, r8
mov dword [rsp + 0x30], edx
mov edi, ebp
mov qword [rsp + 0x40], rcx
mov r14d, ebp
cmp eax, 0x29
jl 0x1801dcdbc
mov ebx, eax
sub ebx, r9d
jns 0x1801dcbfb
lea r14d, [rbp + 1]
mov ebx, ebp
mov r13d, eax
lea esi, [rax - 0x14]
lea rdx, str.D:_tinderboxwin_4.2_srclibsopenssl_0.9.8ycrypto_rsa_rsa_oaep.c
mov r8d, 0x79
lea ecx, [rax + rsi]
call sym.VBoxRT.dll_CRYPTO_malloc
mov rdi, rax
test rax, rax
jne 0x1801dcc36
lea edx, [rax + 0x7a]
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
xor r9d, r9d
mov dword [rsp + 0x20], ebp
call sym.VBoxRT.dll_ERR_put_error
jmp 0x1801dcde0
movsxd r12, esi
movsxd rbx, ebx
xor edx, edx
lea rbp, [r12 + rax]
mov r8, rbx
mov rcx, rbp
call sub.MSVCR100.dll_memset
lea rcx, [rbx + rbp]
movsxd r8, r13d
mov rdx, r15
call sub.MSVCR100.dll_memcpy
lea r13, [rbp + 0x14]
call sym.VBoxRT.dll_EVP_sha1
mov ebx, reloc.WS2_32.dll_sendto
lea rcx, [rsp + 0x48]
mov r9d, esi
mov r8, r13
mov edx, ebx
mov qword [rsp + 0x20], rax
call sym.VBoxRT.dll_PKCS1_MGF1
lea rax, [rsp + 0x48]
xor r11d, r11d
sub rbp, rax
nop dword [rax]
lea rcx, [rsp + r11 + 0x48]
add r11, 5
movzx eax, byte [rcx + rbp]
xor byte [rcx], al
movzx eax, byte [rcx + rbp + 1]
xor byte [rcx + 1], al
movzx eax, byte [rcx + rbp + 2]
xor byte [rcx + 2], al
movzx eax, byte [rcx + rbp + 3]
xor byte [rcx + 3], al
movzx eax, byte [rcx + rbp + 4]
xor byte [rcx + 4], al
cmp r11, rbx
jl 0x1801dcc90
call sym.VBoxRT.dll_EVP_sha1
lea r8, [rsp + 0x48]
mov r9d, ebx
mov edx, esi
mov rcx, rdi
mov qword [rsp + 0x20], rax
call sym.VBoxRT.dll_PKCS1_MGF1
test esi, esi
jle 0x1801dcd01
mov rcx, rdi
sub r13, rdi
mov rdx, r12
nop dword [rax]
movzx eax, byte [r13 + rcx]
inc rcx
xor byte [rcx - 1], al
dec rdx
jne 0x1801dccf0
call sym.VBoxRT.dll_EVP_sha1
movsxd rdx, dword [rsp + 0xf0]
mov rcx, qword [rsp + 0x40]
xor ebp, ebp
lea r8, [rsp + 0x60]
xor r9d, r9d
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
call sym.VBoxRT.dll_EVP_Digest
lea rdx, [rsp + 0x60]
mov r8, rbx
mov rcx, rdi
call fcn.1801a0500
test eax, eax
jne 0x1801dcdbc
test r14d, r14d
jne 0x1801dcdbc
mov rax, rbx
cmp rbx, r12
jge 0x1801dcd60
nop dword [rax]
cmp byte [rax + rdi], bpl
jne 0x1801dcd60
inc rax
inc ebx
cmp rax, r12
jl 0x1801dcd50
cmp ebx, esi
je 0x1801dcdbc
movsxd rax, ebx
cmp byte [rax + rdi], 1
jne 0x1801dcdbc
inc ebx
sub esi, ebx
cmp dword [rsp + 0x30], esi
jge 0x1801dcd9d
xor r9d, r9d
mov dword [rsp + 0x20], ebp
lea edx, [r9 + 0x7a]
lea r8d, [r9 + 0x6d]
lea ecx, [rdx - 0x76]
call sym.VBoxRT.dll_ERR_put_error
mov rcx, rdi
or esi, 0xffffffff
call sym.VBoxRT.dll_CRYPTO_free
mov eax, esi
jmp 0x1801dcde3
mov rcx, qword [rsp + 0x38]
movsxd rdx, ebx
movsxd r8, esi
add rdx, rdi
call sub.MSVCR100.dll_memcpy
mov rcx, rdi
call sym.VBoxRT.dll_CRYPTO_free
mov eax, esi
jmp 0x1801dcde3
xor r9d, r9d
mov dword [rsp + 0x20], ebp
lea edx, [r9 + 0x7a]
lea r8d, [r9 + 0x79]
lea ecx, [rdx - 0x76]
call sym.VBoxRT.dll_ERR_put_error
test rdi, rdi
je 0x1801dcde0
mov rcx, rdi
call sym.VBoxRT.dll_CRYPTO_free
or eax, 0xffffffff
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.180227610
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret