Function at 0x563cf0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x20]
sub esp, 0x50
push esi
push edi
mov edi, dword [ebp + 0xc]
dec edi
test eax, eax
jne 0x563d0b
call fcn.004fb890
mov dword [ebp + 0x20], eax
mov ecx, dword [ebp + 0x24]
test ecx, ecx
push eax
cmove ecx, eax
mov dword [ebp + 0x24], ecx
call fcn.005189f0
mov esi, eax
mov ecx, edi
add esp, 4
mov dword [ebp - 8], esi
lea eax, [esi + esi]
sub ecx, eax
mov dword [ebp - 0xc], ecx
dec ecx
cmp dword [ebp + 0x14], ecx
jle 0x563d54
push 0x3c
push str.........prog3rdPartyLibsopenssl_1.1crypto_rsa_rsa_oaep.c
push 0x6e
push 0x9a
push 4
call fcn.0050bc80
add esp, 0x14
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
inc eax
cmp edi, eax
jge 0x563d64
push 0x42
push str.........prog3rdPartyLibsopenssl_1.1crypto_rsa_rsa_oaep.c
push 0x78
jmp 0x563d3d
mov eax, dword [ebp + 8]
push ebx
push 0
push dword [ebp + 0x20]
lea ebx, [eax + 1]
mov byte [eax], 0
push 0
add ebx, esi
lea ecx, [eax + 1]
push ebx
push dword [ebp + 0x1c]
mov dword [ebp - 4], ecx
push dword [ebp + 0x18]
mov dword [ebp + 0xc], ebx
call fcn.004fae60
add esp, 0x18
test eax, eax
je 0x564010
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp + 0x14]
dec eax
push eax
lea eax, [ebx + esi]
push 0
push eax
call fcn.005d6d60
mov ecx, dword [ebp + 0x14]
mov eax, ebx
sub eax, esi
sub eax, ecx
push ecx
push dword [ebp + 0x10]
add eax, edi
push eax
mov byte [eax - 1], 1
call fcn.005d67e0
mov ebx, dword [ebp - 4]
push esi
push ebx
call fcn.004f3c30
add esp, 0x20
test eax, eax
jle 0x564010
push 0x57
sub edi, esi
push str.........prog3rdPartyLibsopenssl_1.1crypto_rsa_rsa_oaep.c
push edi
call fcn.004f4e00
add esp, 0xc
mov dword [ebp + 0x20], eax
test eax, eax
jne 0x563e12
push 0x59
push str.........prog3rdPartyLibsopenssl_1.1crypto_rsa_rsa_oaep.c
push 0x41
push 0x9a
push 4
call fcn.0050bc80
add esp, 0x14
xor eax, eax
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push dword [ebp + 0x24]
push esi
push ebx
push edi
push eax
call fcn.00563bb0
add esp, 0x14
test eax, eax
js 0x563ffe
xor ebx, ebx
test edi, edi
jle 0x563ef6
mov edx, dword [ebp + 0xc]
cmp edi, 0x40
jb 0x563ed9
mov ecx, dword [ebp + 0x20]
lea eax, [ecx - 1]
add eax, edi
cmp edx, eax
ja 0x563e58
lea eax, [edx - 1]
add eax, edi
cmp eax, ecx
jae 0x563ed9
mov eax, edi
and eax, 0x8000003f
jns 0x563e66
dec eax
or eax, 0xffffffc0
inc eax
mov dword [ebp + 0x14], edi
sub dword [ebp + 0x14], eax
lea eax, [ecx + 0x30]
sub ecx, edx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ecx
lea eax, [edx + 0x10]
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
movups xmm0, xmmword [eax - 0x10]
add ebx, 0x40
lea ecx, [ecx + 0x40]
lea eax, [eax + 0x40]
movups xmm1, xmmword [ecx - 0x70]
pxor xmm1, xmm0
movups xmmword [eax - 0x50], xmm1
movups xmm0, xmmword [eax - 0x40]
movups xmm1, xmmword [esi + eax - 0x40]
pxor xmm1, xmm0
movups xmmword [eax - 0x40], xmm1
movups xmm0, xmmword [eax - 0x30]
movups xmm1, xmmword [ecx - 0x50]
pxor xmm1, xmm0
movups xmm0, xmmword [ecx - 0x40]
movups xmmword [eax - 0x30], xmm1
movups xmm1, xmmword [eax - 0x20]
pxor xmm1, xmm0
movups xmmword [eax - 0x20], xmm1
cmp ebx, dword [ebp + 0x14]
jl 0x563e80
mov esi, dword [ebp - 8]
mov dword [ebp + 0x14], ebx
cmp ebx, edi
jge 0x563ef9
mov esi, dword [ebp + 0x20]
lea ecx, [ebx + edx]
sub esi, edx
mov edx, edi
sub edx, ebx
mov al, byte [ecx + esi]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
sub edx, 1
jne 0x563ee5
mov esi, dword [ebp - 8]
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x24]
lea eax, [ebp - 0x50]
push edi
push edx
push esi
push eax
call fcn.00563bb0
add esp, 0x14
test eax, eax
js 0x563ffe
xor edx, edx
test esi, esi
jle 0x563fe0
mov ebx, dword [ebp - 4]
cmp esi, 0x40
jb 0x563fc8
lea ecx, [ebx - 1]
lea eax, [ebp + esi - 0x51]
add ecx, esi
cmp ebx, eax
ja 0x563f41
lea eax, [ebp - 0x50]
cmp ecx, eax
jae 0x563fc8
mov eax, esi
and eax, 0x8000003f
jns 0x563f4f
dec eax
or eax, 0xffffffc0
inc eax
mov ecx, esi
lea edi, [ebp - 0x50]
sub ecx, eax
lea esi, [ebp - 0x40]
sub edi, ebx
lea eax, [ebx + 0x20]
sub esi, ebx
mov dword [ebp + 0x24], esi
mov esi, dword [ebp - 8]
mov ebx, dword [ebp + 0x24]
nop dword [eax]
movups xmm0, xmmword [eax - 0x20]
lea eax, [eax + 0x40]
movups xmm1, xmmword [ebp + edx - 0x50]
pxor xmm1, xmm0
movups xmmword [eax - 0x60], xmm1
movups xmm0, xmmword [eax - 0x50]
movups xmm1, xmmword [ebp + edx - 0x40]
add edx, 0x40
pxor xmm1, xmm0
movups xmmword [eax - 0x50], xmm1
movups xmm0, xmmword [eax - 0x40]
movups xmm1, xmmword [edi + eax - 0x40]
pxor xmm1, xmm0
movups xmmword [eax - 0x40], xmm1
movups xmm0, xmmword [eax - 0x30]
movups xmm1, xmmword [ebx + eax - 0x40]
pxor xmm1, xmm0
movups xmmword [eax - 0x30], xmm1
cmp edx, ecx
jl 0x563f70
mov ebx, dword [ebp - 4]
mov dword [ebp + 0x24], edx
cmp edx, esi
jge 0x563fe0
lea edi, [ebp - 0x50]
sub edi, ebx
lea ecx, [edx + ebx]
sub esi, edx
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
sub esi, 1
jne 0x563fd2
push 0x67
push str.........prog3rdPartyLibsopenssl_1.1crypto_rsa_rsa_oaep.c
push dword [ebp + 0x20]
call fcn.004f4da0
add esp, 0xc
mov eax, 1
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x6b
push str.........prog3rdPartyLibsopenssl_1.1crypto_rsa_rsa_oaep.c
push dword [ebp + 0x20]
call fcn.004f4da0
add esp, 0xc
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret