Function at 0x569b5c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call fcn.00503ce0
mov edi, eax
test eax, eax
js 0x569d00
cmp esi, 0xffffffff
je 0x569e58
cmp esi, 0xfffffffe
je 0x569b94
jl 0x569de8
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call fcn.00509f64
dec eax
and eax, 7
mov dword [ebp - 0x3c], eax
mov dword [esp], ebx
call fcn.004ed040
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x3c]
test edx, edx
jne 0x569bc6
mov edx, dword [ebp + 0xc]
mov byte [edx], 0
inc edx
mov dword [ebp + 0xc], edx
dec eax
mov dword [ebp - 0x44], eax
cmp esi, 0xfffffffe
je 0x569d60
lea eax, [edi + esi + 1]
cmp dword [ebp - 0x44], eax
jle 0x569e20
test esi, esi
jle 0x569d6d
mov dword [esp + 8], 0xda
mov dword [esp + 4], str.crypto_rsa_rsa_pss.c
mov dword [esp], esi
call fcn.004f3b10
mov ebx, eax
test eax, eax
je 0x569e68
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.004f9278
test eax, eax
jle 0x569e60
mov eax, edi
not eax
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov dword [ebp - 0x4c], edx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x40], ecx
mov dword [esp], ecx
call fcn.004fdac0
mov dword [esp + 8], 0
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x40]
mov dword [esp], edx
call fcn.004fdb10
mov dword [esp + 8], 8
mov dword [esp + 4], 0x6bf9b9
mov ecx, dword [ebp - 0x40]
mov dword [esp], ecx
call fcn.004fddac
mov dword [esp + 8], edi
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x40]
mov dword [esp], edx
call fcn.004fddac
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.004fddac
mov dword [esp + 8], 0
mov edx, dword [ebp - 0x4c]
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x40]
mov dword [esp], ecx
call fcn.004fe1c0
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.004fde48
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edi
mov ecx, dword [ebp - 0x4c]
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], eax
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
call fcn.00559300
test eax, eax
je 0x569d0c
xor esi, esi
test ebx, ebx
je 0x569d02
mov dword [esp], ebx
call fcn.004f3df0
mov eax, esi
add esp, 0x6c
pop ebx
pop esi
pop edi
leave
ret
xor esi, esi
mov eax, esi
add esp, 0x6c
pop ebx
pop esi
pop edi
leave
ret
mov eax, dword [ebp - 0x44]
sub eax, esi
sub eax, edi
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + eax - 2]
xor byte [edx], 1
test esi, esi
jle 0x569d30
xor eax, eax
nop
mov cl, byte [ebx + eax]
xor byte [edx + eax + 1], cl
inc eax
cmp eax, esi
jne 0x569d24
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x569d4b
mov ecx, 8
sub ecx, dword [ebp - 0x3c]
mov eax, 0xff
sar eax, cl
mov edx, dword [ebp + 0xc]
and byte [edx], al
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x44]
mov byte [eax + ecx - 1], 0xbc
mov esi, 1
jmp 0x569ce7
sub esi, edi
add esi, dword [ebp - 0x44]
test esi, esi
jg 0x569be4
mov eax, edi
not eax
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, eax
mov dword [ebp - 0x4c], ecx
lea eax, [ebp - 0x30]
mov dword [ebp - 0x40], eax
mov dword [esp], eax
call fcn.004fdac0
mov dword [esp + 8], 0
mov edx, dword [ebp + 0x14]
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x40]
mov dword [esp], ecx
call fcn.004fdb10
mov dword [esp + 8], 8
mov dword [esp + 4], 0x6bf9b9
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.004fddac
mov dword [esp + 8], edi
mov edx, dword [ebp + 0x10]
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x40]
mov dword [esp], ecx
call fcn.004fddac
test esi, esi
jne 0x569e9b
xor ebx, ebx
jmp 0x569c98
mov dword [esp + 0x10], 0xc3
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x88
mov dword [esp + 4], 0x7d
mov dword [esp], 4
call fcn.004f33a4
xor esi, esi
mov eax, esi
add esp, 0x6c
pop ebx
pop esi
pop edi
leave
ret
mov dword [esp + 0x10], 0xd5
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x6e
mov dword [esp + 4], 0x7d
mov dword [esp], 4
call fcn.004f33a4
xor esi, esi
mov eax, esi
add esp, 0x6c
pop ebx
pop esi
pop edi
leave
ret
mov esi, eax
jmp 0x569b94
xor esi, esi
jmp 0x569ceb
mov dword [esp + 0x10], 0xde
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x7d
mov dword [esp], 4
call fcn.004f33a4
xor esi, esi
jmp 0x569d02
xor ebx, ebx
jmp 0x569c85