Function at 0x4edae0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov r13, qword [rsp + 0x120]
lea rbp, [rsp + 0x40]
mov r12, r8
mov rsi, r9
mov r14, rcx
mov qword [rsp + 0x108], rdx
mov rcx, rbp
call fcn.00499b70
test rsi, rsi
mov rcx, r12
cmove rsi, r12
xor ebx, ebx
call fcn.0049b340
test eax, eax
mov r15d, eax
js 0x4edbca
cmp dword [rsp + 0x128], 0xffffffff
je 0x4edf30
cmp dword [rsp + 0x128], 0xfffffffe
je 0x4edb53
jl 0x4edf00
mov rcx, qword [r14 + 0x18]
mov ebx, 0xff
call fcn.004ab7a0
mov rcx, r14
lea edi, [rax - 1]
call fcn.004b2270
movzx edx, byte [r13]
and edi, 7
mov ecx, edi
shl ebx, cl
and ebx, edx
jne 0x4edbf0
test edi, edi
jne 0x4edb87
add r13, 1
sub eax, 1
mov edx, dword [rsp + 0x128]
lea edx, [r15 + rdx + 1]
cmp edx, eax
jge 0x4edf40
movsxd rdx, eax
cmp byte [r13 + rdx - 1], 0xbc
je 0x4edc20
lea r9, str.rsa_pss.c
mov dword [rsp + 0x20], 0x83
mov r8d, 0x86
mov edx, 0x95
mov ecx, 4
call fcn.00498ab0
mov rcx, rbp
call fcn.0049a810
mov eax, ebx
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r9, str.rsa_pss.c
mov dword [rsp + 0x20], 0x74
mov r8d, 0x85
mov edx, 0x95
mov ecx, 4
xor ebx, ebx
call fcn.00498ab0
jmp 0x4edbca
sub eax, r15d
lea rdx, str.rsa_pss.c
mov r8d, 0x88
lea r11d, [rax - 1]
mov dword [rsp + 0x34], eax
mov ecx, r11d
mov dword [rsp + 0x30], r11d
call fcn.00493db0
test rax, rax
mov r14, rax
mov r11d, dword [rsp + 0x30]
je 0x4edf70
movsxd rax, r11d
mov qword [rsp + 0x20], rsi
mov r9d, r15d
add rax, r13
mov edx, r11d
mov rcx, r14
mov r8, rax
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r11d
call fcn.00533910
test eax, eax
js 0x4edef0
mov r11d, dword [rsp + 0x30]
test r11d, r11d
jle 0x4ede43
lea rax, [r13 + 0x10]
cmp r14, rax
lea rax, [r14 + 0x10]
setae dl
cmp r13, rax
setae al
or dl, al
je 0x4ee090
cmp r11d, 0x12
jbe 0x4ee090
mov rax, r14
mov esi, dword [rsp + 0x34]
neg rax
and eax, 0xf
lea ecx, [rsi - 2]
lea edx, [rax + 0xf]
cmp ecx, edx
jb 0x4ee0d8
test eax, eax
je 0x4ee10b
movzx edx, byte [r13]
xor byte [r14], dl
cmp eax, 1
je 0x4ee0b8
movzx edx, byte [r13 + 1]
xor byte [r14 + 1], dl
cmp eax, 2
je 0x4ee0cd
movzx edx, byte [r13 + 2]
xor byte [r14 + 2], dl
cmp eax, 3
je 0x4ee0df
movzx edx, byte [r13 + 3]
xor byte [r14 + 3], dl
cmp eax, 4
je 0x4ee0ea
movzx edx, byte [r13 + 4]
xor byte [r14 + 4], dl
cmp eax, 5
je 0x4ee0f5
movzx edx, byte [r13 + 5]
xor byte [r14 + 5], dl
cmp eax, 6
je 0x4ee100
movzx edx, byte [r13 + 6]
xor byte [r14 + 6], dl
cmp eax, 7
je 0x4ee113
movzx edx, byte [r13 + 7]
xor byte [r14 + 7], dl
cmp eax, 8
je 0x4ee11e
movzx edx, byte [r13 + 8]
xor byte [r14 + 8], dl
cmp eax, 9
je 0x4ee129
movzx edx, byte [r13 + 9]
xor byte [r14 + 9], dl
cmp eax, 0xa
je 0x4ee134
movzx edx, byte [r13 + 0xa]
xor byte [r14 + 0xa], dl
cmp eax, 0xb
je 0x4ee13f
movzx edx, byte [r13 + 0xb]
xor byte [r14 + 0xb], dl
cmp eax, 0xc
je 0x4ee14a
movzx edx, byte [r13 + 0xc]
xor byte [r14 + 0xc], dl
cmp eax, 0xd
je 0x4ee155
movzx edx, byte [r13 + 0xd]
xor byte [r14 + 0xd], dl
cmp eax, 0xf
jne 0x4ee160
movzx edx, byte [r13 + 0xe]
mov r10d, 0xf
xor byte [r14 + 0xe], dl
mov esi, r11d
mov r8d, eax
xor edx, edx
sub esi, eax
lea rcx, [r14 + r8]
xor eax, eax
mov r9d, esi
add r8, r13
shr r9d, 4
nop
movdqu xmm0, xmmword [r8 + rax]
add edx, 1
pxor xmm0, xmmword [rcx + rax]
movaps xmmword [rcx + rax], xmm0
add rax, 0x10
cmp r9d, edx
ja 0x4ede00
mov edx, esi
and edx, 0xfffffff0
cmp esi, edx
lea eax, [rdx + r10]
je 0x4ede43
cdqe
nop word [rax + rax]
movzx edx, byte [r13 + rax]
xor byte [r14 + rax], dl
add rax, 1
cmp r11d, eax
jg 0x4ede30
test edi, edi
movzx edx, byte [r14]
je 0x4ede5e
mov ecx, 8
mov eax, 0xff
sub ecx, edi
sar eax, cl
and edx, eax
mov byte [r14], dl
test dl, dl
jne 0x4ee0c3
mov eax, dword [rsp + 0x34]
cmp eax, 2
jle 0x4edfa0
lea ecx, [rax - 3]
mov eax, 1
add rcx, 2
jmp 0x4ede8e
add rax, 1
cmp rax, rcx
je 0x4edfa0
movzx edx, byte [r14 + rax]
mov esi, eax
test dl, dl
je 0x4ede81
add esi, 1
cmp dl, 1
jne 0x4edfa0
mov eax, dword [rsp + 0x128]
test eax, eax
js 0x4edfd0
mov eax, r11d
sub eax, esi
cmp eax, dword [rsp + 0x128]
je 0x4edfd0
lea r9, str.rsa_pss.c
mov dword [rsp + 0x20], 0x9c
mov r8d, 0x88
mov edx, 0x95
mov ecx, 4
call fcn.00498ab0
nop word [rax + rax]
mov rcx, r14
call fcn.00494240
jmp 0x4edbca
lea r9, str.rsa_pss.c
mov dword [rsp + 0x20], 0x6c
mov r8d, 0x88
mov edx, 0x95
mov ecx, 4
call fcn.00498ab0
jmp 0x4edbca
mov dword [rsp + 0x128], eax
jmp 0x4edb53
lea r9, str.rsa_pss.c
mov dword [rsp + 0x20], 0x7e
mov r8d, 0x6d
mov edx, 0x95
mov ecx, 4
call fcn.00498ab0
jmp 0x4edbca
lea r9, str.rsa_pss.c
mov dword [rsp + 0x20], 0x8b
mov r8d, 0x41
mov edx, 0x95
mov ecx, 4
call fcn.00498ab0
jmp 0x4edbca
lea r9, str.rsa_pss.c
mov dword [rsp + 0x20], 0x97
mov r8d, 0x87
mov edx, 0x95
mov ecx, 4
call fcn.00498ab0
jmp 0x4edef0
xor r8d, r8d
mov rdx, r12
mov rcx, rbp
mov dword [rsp + 0x30], r11d
call fcn.00499e80
test eax, eax
je 0x4edef0
lea rdx, [0x006b6f20]
mov r8d, 8
mov rcx, rbp
call fcn.0049a110
test eax, eax
je 0x4edef0
mov rdx, qword [rsp + 0x108]
movsxd rdi, r15d
mov rcx, rbp
mov r8, rdi
call fcn.0049a110
test eax, eax
je 0x4edef0
mov r11d, dword [rsp + 0x30]
cmp r11d, esi
je 0x4ee04c
sub r11d, esi
movsxd rdx, esi
mov rcx, rbp
add rdx, r14
movsxd r8, r11d
call fcn.0049a110
test eax, eax
je 0x4edef0
lea rsi, [rsp + 0x70]
xor r8d, r8d
mov rcx, rbp
mov rdx, rsi
call fcn.0049a270
test eax, eax
je 0x4edef0
mov rdx, qword [rsp + 0x38]
mov r8, rdi
mov rcx, rsi
call fcn.005999e8
test eax, eax
jne 0x4ee16b
mov ebx, 1
jmp 0x4edef0
mov eax, dword [rsp + 0x34]
lea ecx, [rax - 2]
xor eax, eax
add rcx, 1
nop dword [rax]
movzx edx, byte [r13 + rax]
xor byte [r14 + rax], dl
add rax, 1
cmp rax, rcx
jne 0x4ee0a0
jmp 0x4ede43
mov r10d, 1
jmp 0x4edde5
mov esi, 1
jmp 0x4ede9c
mov r10d, 2
jmp 0x4edde5
xor eax, eax
jmp 0x4ede28
mov r10d, 3
jmp 0x4edde5
mov r10d, 4
jmp 0x4edde5
mov r10d, 5
jmp 0x4edde5
mov r10d, 6
jmp 0x4edde5
xor r10d, r10d
jmp 0x4edde5
mov r10d, 7
jmp 0x4edde5
mov r10d, 8
jmp 0x4edde5
mov r10d, 9
jmp 0x4edde5
mov r10d, 0xa
jmp 0x4edde5
mov r10d, 0xb
jmp 0x4edde5
mov r10d, 0xc
jmp 0x4edde5
mov r10d, 0xd
jmp 0x4edde5
mov r10d, 0xe
jmp 0x4edde5
lea r9, str.rsa_pss.c
mov dword [rsp + 0x20], 0xac
mov r8d, 0x68
mov edx, 0x95
mov ecx, 4
call fcn.00498ab0
jmp 0x4edef0