Function at 0x4e7920
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x9c
call fcn.00476ea0
mov eax, dword [0x548280]
xor eax, esp
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xb4]
push ebx
push ebp
push esi
mov esi, dword [esp + 0xbc]
xor ebx, ebx
mov dword [esp + 0x1c], eax
or ebp, 0xffffffff
mov eax, dword [esp + 0xb4]
push edi
mov dword [esp + 0x10], eax
xor edi, edi
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], 0
cmp dword [esp + 0xb4], ebx
jle 0x4e7c55
test eax, eax
jle 0x4e7c55
cmp esi, eax
jl 0x4e7bf1
cmp esi, 0x2a
jl 0x4e7bf1
push 0x75
lea ebx, [esi - 0x15]
push str..crypto_rsa_rsa_oaep.c
push ebx
call fcn.004ae170
push 0x76
push str..crypto_rsa_rsa_oaep.c
push esi
mov edi, eax
call fcn.004ae170
add esp, 0x18
mov dword [esp + 0x14], eax
test edi, edi
je 0x4e7c3d
test eax, eax
je 0x4e7c3d
push esi
mov ebp, eax
push 0
push ebp
call fcn.0046f380
mov eax, dword [esp + 0x24]
sub esi, eax
push eax
push dword [esp + 0x20]
add esi, ebp
push esi
call fcn.0046ed30
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 + 0x38], ecx
call fcn.004e7540
lea eax, [esi + 0x13]
add esp, 0x28
lea ecx, [esp + 0x28]
xor edx, edx
cmp ecx, eax
ja 0x4e7a40
lea eax, [esp + 0x3b]
cmp eax, esi
jae 0x4e7a59
jmp 0x4e7a40
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 0x4e7a60
call fcn.004b4a30
push eax
push 0x14
lea eax, [esp + 0x30]
push eax
push ebx
push edi
call fcn.004e7560
add esp, 0x14
xor esi, esi
test ebx, ebx
jle 0x4e7b0c
cmp ebx, 0x20
jb 0x4e7af2
lea eax, [ebp - 1]
lea ecx, [ebx - 1]
add eax, ebx
add ecx, edi
cmp edi, eax
ja 0x4e7aa9
cmp ecx, ebp
jae 0x4e7af2
mov eax, ebx
and eax, 0x8000001f
jns 0x4e7ab7
dec eax
or eax, 0xffffffe0
inc eax
mov ecx, ebx
mov edx, ebp
sub ecx, eax
mov eax, edi
sub edx, edi
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 0x4e7ac1
cmp esi, ebx
jge 0x4e7b0c
mov edx, ebx
lea ecx, [esi + edi]
sub ebp, edi
sub edx, esi
nop
mov al, byte [ecx + ebp]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
dec edx
jne 0x4e7b00
push 0
call fcn.004b4a30
push eax
push 0
lea eax, [esp + 0x74]
push eax
push dword [esp + 0xd8]
push dword [esp + 0x38]
call fcn.004bad70
push 0x14
lea eax, [esp + 0x84]
push eax
push edi
call fcn.004ade50
mov edx, dword [esp + 0x34]
mov ebp, 0x14
add esp, 0x24
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and edx, ecx
xor ecx, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
cmp ebx, ebp
jle 0x4e7bbc
movzx esi, byte [edi + ebp]
not ecx
mov eax, esi
xor eax, 1
lea edx, [eax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
neg edx
and ecx, edx
mov eax, ecx
and ecx, ebp
not eax
inc ebp
and eax, dword [esp + 0x1c]
or eax, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
or ecx, edx
mov edx, dword [esp + 0x10]
lea eax, [esi - 1]
shr eax, 0x1f
not esi
shr esi, 0x1f
and eax, esi
mov dword [esp + 0x18], ecx
neg eax
or eax, ecx
and edx, eax
mov dword [esp + 0x10], edx
cmp ebp, ebx
jl 0x4e7b66
test edx, ecx
je 0x4e7bea
mov eax, dword [esp + 0x1c]
mov ebp, ebx
inc eax
sub ebp, eax
cmp dword [esp + 0xb4], ebp
jge 0x4e7c27
push 0xb9
push str..crypto_rsa_rsa_oaep.c
push 0x6d
push 0x7a
push 4
call fcn.004b0700
add esp, 0x14
mov ebx, dword [esp + 0x14]
or ebp, 0xffffffff
push 0xc5
push str..crypto_rsa_rsa_oaep.c
push 0x79
push 0x7a
push 4
call fcn.004b0700
add esp, 0x14
test edi, edi
je 0x4e7c16
push edi
call fcn.004ae0f0
add esp, 4
test ebx, ebx
je 0x4e7c23
push ebx
call fcn.004ae0f0
add esp, 4
mov eax, ebp
jmp 0x4e7c58
push ebp
add eax, edi
push eax
push dword [esp + 0x28]
call fcn.0046ed30
mov ebx, dword [esp + 0x20]
add esp, 0xc
jmp 0x4e7c09
push 0x78
push str..crypto_rsa_rsa_oaep.c
push 0x41
push 0x7a
push 4
call fcn.004b0700
mov ebx, dword [esp + 0x28]
jmp 0x4e7c06
or eax, 0xffffffff
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004632a9
add esp, 0x9c
ret