Function at 0x567ac4
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
xor eax, eax
xor edx, edx
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0x1c]
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], edx
cmp dword [ebp + 0x18], 0
jne 0x567ae9
mov ecx, dword [ebp + 0x14]
mov dword [ebp + 0x18], ecx
mov eax, dword [ebp + 0x14]
push eax
call fcn.00589a0c
pop ecx
mov esi, eax
test esi, esi
jl 0x567d10
cmp ebx, 0xffffffff
jne 0x567b06
mov ebx, esi
jmp 0x567b3a
cmp ebx, 0xfffffffe
jne 0x567b12
mov ebx, 0xfffffffe
jmp 0x567b3a
cmp ebx, 0xfffffffe
jge 0x567b3a
push 0xdc
push 0x622af7
push 0x88
push 0x94
push 4
call fcn.005833b4
add esp, 0x14
jmp 0x567d10
mov eax, dword [edi + 0x10]
push eax
call fcn.0055750c
pop ecx
dec eax
and eax, 7
mov dword [ebp - 0x10], eax
push edi
call fcn.00569cd4
pop ecx
mov edi, eax
cmp dword [ebp - 0x10], 0
jne 0x567b64
mov edx, dword [ebp + 0xc]
mov byte [edx], 0
inc dword [ebp + 0xc]
dec edi
cmp ebx, 0xfffffffe
jne 0x567b72
mov ebx, edi
sub ebx, esi
add ebx, 0xfffffffe
jmp 0x567b9a
lea eax, [ebx + esi + 2]
cmp edi, eax
jge 0x567b9a
push 0xed
push 0x622b0e
push 0x6e
push 0x94
push 4
call fcn.005833b4
add esp, 0x14
jmp 0x567d10
test ebx, ebx
jle 0x567bef
push 0xf2
push 0x622b25
push ebx
call fcn.00548a98
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x567bda
push 0xf5
push str..crypto_rsa_rsa_pss.c
push 0x41
push 0x94
push 4
call fcn.005833b4
add esp, 0x14
jmp 0x567d10
push ebx
mov edx, dword [ebp - 0x18]
push edx
call fcn.005820fc
add esp, 8
test eax, eax
jle 0x567d10
mov ecx, edi
sub ecx, esi
dec ecx
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x30]
push edx
call fcn.00585f38
pop ecx
push 0
mov ecx, dword [ebp + 0x14]
push ecx
lea eax, [ebp - 0x30]
push eax
call fcn.00585f98
add esp, 0xc
test eax, eax
je 0x567d10
push 8
push 0x622a20
lea edx, [ebp - 0x30]
push edx
call fcn.00586150
add esp, 0xc
test eax, eax
je 0x567d10
push esi
mov ecx, dword [ebp + 0x10]
push ecx
lea eax, [ebp - 0x30]
push eax
call fcn.00586150
add esp, 0xc
test eax, eax
je 0x567d10
test ebx, ebx
je 0x567c75
push ebx
mov edx, dword [ebp - 0x18]
push edx
lea ecx, [ebp - 0x30]
push ecx
call fcn.00586150
add esp, 0xc
test eax, eax
je 0x567d10
push 0
mov eax, dword [ebp - 0x14]
push eax
lea edx, [ebp - 0x30]
push edx
call fcn.00586190
add esp, 0xc
test eax, eax
je 0x567d10
lea ecx, [ebp - 0x30]
push ecx
call fcn.00586408
pop ecx
mov eax, dword [ebp + 0x18]
push eax
push esi
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0xc]
push ecx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00567614
add esp, 0x14
test eax, eax
jne 0x567d10
mov eax, dword [ebp + 0xc]
mov edx, edi
sub edx, ebx
sub edx, esi
add edx, 0xfffffffe
add eax, edx
xor byte [eax], 1
inc eax
test ebx, ebx
jle 0x567ce7
xor ecx, ecx
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x18]
cmp ebx, dword [ebp - 4]
jle 0x567ce7
mov cl, byte [edx]
xor byte [eax], cl
inc eax
inc dword [ebp - 4]
inc edx
cmp ebx, dword [ebp - 4]
jg 0x567cd9
cmp dword [ebp - 0x10], 0
je 0x567d01
mov ecx, 8
sub ecx, dword [ebp - 0x10]
mov eax, 0xff
sar eax, cl
mov edx, dword [ebp + 0xc]
and byte [edx], al
mov eax, dword [ebp + 0xc]
mov byte [eax + edi - 1], 0xbc
mov dword [ebp - 8], 1
cmp dword [ebp - 0x18], 0
je 0x567d20
mov edx, dword [ebp - 0x18]
push edx
call fcn.00548cb4
pop ecx
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret