Function at 0x5574a0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x9c
call fcn.005834f0
mov eax, dword [0x63e758]
xor eax, esp
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa0]
push ebx
push ebp
mov ebp, dword [esp + 0xb4]
xor ebx, ebx
push esi
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xb4]
push edi
mov dword [esp + 0x14], eax
xor edi, edi
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], 0
cmp dword [esp + 0xb4], ebx
jle 0x5577f7
test ebp, ebp
jle 0x5577f7
cmp esi, ebp
jl 0x55778e
cmp esi, 0x2a
jl 0x55778e
push 0x78
lea ebx, [esi - 0x15]
push str..crypto_rsa_rsa_oaep.c
push ebx
call fcn.0051c810
push 0x79
push str..crypto_rsa_rsa_oaep.c
push esi
mov edi, eax
call fcn.0051c810
add esp, 0x18
mov dword [esp + 0x10], eax
test edi, edi
je 0x5577bd
test eax, eax
je 0x5577bd
push esi
push 0
push eax
call fcn.00580b90
push ebp
push dword [esp + 0x24]
sub esi, ebp
mov ebp, dword [esp + 0x24]
add esi, ebp
push esi
call fcn.00580540
movzx eax, byte [ebp]
lea esi, [ebp + 1]
push ebx
add ebp, 0x15
push ebp
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
lea eax, [esp + 0x48]
neg ecx
push 0x14
push eax
mov dword [esp + 0x40], ecx
call fcn.00557080
add esp, 0x28
test eax, eax
jne 0x5577d2
lea eax, [esi + 0x13]
xor edx, edx
lea ecx, [esp + 0x28]
cmp ecx, eax
ja 0x5575c0
lea eax, [esp + 0x3b]
cmp eax, esi
jae 0x5575d9
lea ebx, [ebx]
movdqu xmm1, xmmword [esi]
mov edx, 0x10
movdqu xmm0, xmmword [esp + 0x28]
pxor xmm1, xmm0
movdqu xmmword [esp + 0x28], xmm1
lea eax, [esp + 0x28]
sub esi, eax
nop
lea ecx, [esp + 0x28]
add ecx, edx
inc edx
mov al, byte [esi + ecx]
xor byte [ecx], al
cmp edx, 0x14
jl 0x5575e0
call fcn.0051baa0
push eax
push 0x14
lea eax, [esp + 0x30]
push eax
push ebx
push edi
call fcn.005570a0
add esp, 0x14
test eax, eax
jne 0x5577d2
xor esi, esi
test ebx, ebx
jle 0x55769c
cmp ebx, 0x20
jb 0x557681
lea eax, [ebp - 1]
lea ecx, [ebx - 1]
add eax, ebx
add ecx, edi
cmp edi, eax
ja 0x557631
cmp ecx, ebp
jae 0x557681
mov eax, ebx
and eax, 0x8000001f
jns 0x55763f
dec eax
or eax, 0xffffffe0
inc eax
mov ecx, ebx
mov edx, ebp
sub ecx, eax
mov eax, edi
sub edx, edi
lea esp, [esp]
movdqu xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movdqu xmm1, xmmword [edx + eax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [eax - 0x20], xmm1
movdqu xmm1, xmmword [esi + ebp + 0x10]
add esi, 0x20
movdqu xmm0, xmmword [eax - 0x10]
pxor xmm1, xmm0
movdqu xmmword [eax - 0x10], xmm1
cmp esi, ecx
jl 0x557650
cmp esi, ebx
jge 0x55769c
mov edx, ebx
lea ecx, [esi + edi]
sub ebp, edi
sub edx, esi
mov edi, edi
mov al, byte [ecx + ebp]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
dec edx
jne 0x557690
push 0
call fcn.0051baa0
push eax
push 0
lea eax, [esp + 0x74]
push eax
push dword [esp + 0xd8]
push dword [esp + 0x38]
call fcn.00527580
add esp, 0x18
test eax, eax
je 0x5577d2
push 0x14
lea eax, [esp + 0x6c]
push eax
push edi
call fcn.0051aac0
mov edx, dword [esp + 0x24]
add esp, 0xc
xor ebp, ebp
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
mov eax, 0x14
neg ecx
mov dword [esp + 0x14], eax
and edx, ecx
mov dword [esp + 0x18], edx
cmp ebx, eax
jle 0x55775c
mov edi, edi
movzx esi, byte [eax + edi]
mov ecx, ebp
mov eax, esi
not ecx
xor eax, 1
lea edx, [eax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
neg edx
and ecx, edx
or ebp, edx
mov edx, dword [esp + 0x18]
mov eax, ecx
and ecx, dword [esp + 0x14]
not eax
and eax, dword [esp + 0x1c]
or ecx, eax
lea eax, [esi - 1]
shr eax, 0x1f
not esi
shr esi, 0x1f
and eax, esi
mov dword [esp + 0x1c], ecx
neg eax
or eax, ebp
and edx, eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
cmp eax, ebx
jl 0x557700
jmp 0x55775e
xor ecx, ecx
test edx, ebp
je 0x55778a
lea eax, [ecx + 1]
mov esi, ebx
sub esi, eax
cmp dword [esp + 0xb4], esi
jge 0x5577ab
push 0xbf
push str..crypto_rsa_rsa_oaep.c
push 0x6d
push 0x7a
push 4
call fcn.0051a470
add esp, 0x14
mov ebx, dword [esp + 0x10]
push 0xcb
push str..crypto_rsa_rsa_oaep.c
push 0x79
push 0x7a
push 4
or esi, 0xffffffff
call fcn.0051a470
add esp, 0x14
jmp 0x5577d9
push esi
add eax, edi
push eax
push dword [esp + 0x28]
call fcn.00580540
add esp, 0xc
jmp 0x5577d5
push 0x7b
push str..crypto_rsa_rsa_oaep.c
push 0x41
push 0x7a
push 4
call fcn.0051a470
add esp, 0x14
or esi, 0xffffffff
mov ebx, dword [esp + 0x10]
test edi, edi
je 0x5577e6
push edi
call fcn.0051c790
add esp, 4
test ebx, ebx
je 0x5577f3
push ebx
call fcn.0051c790
add esp, 4
mov eax, esi
jmp 0x5577fa
or eax, 0xffffffff
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005802ce
add esp, 0x9c
ret