Function at 0x529d00
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x9c
call fcn.004fbf90
mov eax, dword [0x5f1414]
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 + 0x20], eax
or ebp, 0xffffffff
mov eax, dword [esp + 0xb4]
push edi
mov dword [esp + 0x14], eax
xor edi, edi
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], 0
cmp dword [esp + 0xb4], ebx
jle 0x52a062
test eax, eax
jle 0x52a062
cmp esi, eax
jl 0x529fee
cmp esi, 0x2a
jl 0x529fee
push 0x78
lea ebx, [esi - 0x15]
push str..crypto_rsa_rsa_oaep.c
push ebx
call fcn.00500870
push 0x79
push str..crypto_rsa_rsa_oaep.c
push esi
mov edi, eax
call fcn.00500870
add esp, 0x18
mov dword [esp + 0x10], eax
test edi, edi
je 0x52a01d
test eax, eax
je 0x52a01d
push esi
mov ebp, eax
push 0
push ebp
call fcn.005619c0
mov eax, dword [esp + 0x24]
sub esi, eax
push eax
push dword [esp + 0x24]
add esi, ebp
push esi
call fcn.00561440
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 + 0x3c], ecx
call fcn.005298d0
add esp, 0x28
test eax, eax
jne 0x52a03d
lea eax, [esi + 0x13]
xor edx, edx
lea ecx, [esp + 0x28]
cmp ecx, eax
ja 0x529e23
lea eax, [esp + 0x3b]
cmp eax, esi
jae 0x529e39
movups xmm1, xmmword [esi]
mov edx, 0x10
movups xmm0, xmmword [esp + 0x28]
pxor xmm1, xmm0
movups 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 0x529e40
call fcn.0050e620
push eax
push 0x14
lea eax, [esp + 0x30]
push eax
push ebx
push edi
call fcn.005298f0
add esp, 0x14
test eax, eax
jne 0x52a034
xor edx, edx
test ebx, ebx
jle 0x529efe
cmp ebx, 0x20
jb 0x529edb
lea eax, [ebp - 1]
lea ecx, [ebx - 1]
add eax, ebx
add ecx, edi
cmp edi, eax
ja 0x529e91
cmp ecx, ebp
jae 0x529edb
mov eax, ebx
and eax, 0x8000001f
jns 0x529e9f
dec eax
or eax, 0xffffffe0
inc eax
mov ecx, ebx
mov esi, ebp
sub ecx, eax
mov eax, edi
sub esi, edi
nop dword [eax]
movups xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movups xmm1, xmmword [esi + eax - 0x20]
pxor xmm1, xmm0
movups xmmword [eax - 0x20], xmm1
movups xmm1, xmmword [edx + ebp + 0x10]
add edx, 0x20
movups xmm0, xmmword [eax - 0x10]
pxor xmm1, xmm0
movups xmmword [eax - 0x10], xmm1
cmp edx, ecx
jl 0x529eb0
cmp edx, ebx
jge 0x529efe
mov esi, ebx
lea ecx, [edx + edi]
sub ebp, edi
sub esi, edx
nop dword [eax + eax]
mov al, byte [ecx + ebp]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
sub esi, 1
jne 0x529ef0
push 0
call fcn.0050e620
push eax
push 0
lea eax, [esp + 0x74]
push eax
push dword [esp + 0xd8]
push dword [esp + 0x34]
call fcn.0050dfc0
add esp, 0x18
test eax, eax
je 0x52a03d
push 0x14
lea eax, [esp + 0x6c]
push eax
push edi
call fcn.00500cd0
mov edx, dword [esp + 0x20]
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 + 0x18], eax
and edx, ecx
mov dword [esp + 0x14], edx
cmp ebx, eax
jle 0x529fbc
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 + 0x14]
mov eax, ecx
and ecx, dword [esp + 0x18]
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 + 0x18]
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
cmp eax, ebx
jl 0x529f60
jmp 0x529fbe
xor ecx, ecx
test edx, ebp
je 0x529fea
lea eax, [ecx + 1]
mov ebp, ebx
sub ebp, eax
cmp dword [esp + 0xb4], ebp
jge 0x52a00b
push 0xbf
push str..crypto_rsa_rsa_oaep.c
push 0x6d
push 0x7a
push 4
call fcn.00501bf0
add esp, 0x14
mov ebx, dword [esp + 0x10]
push 0xcb
push str..crypto_rsa_rsa_oaep.c
push 0x79
push 0x7a
push 4
call fcn.00501bf0
add esp, 0x14
or ebp, 0xffffffff
jmp 0x52a044
push ebp
add eax, edi
push eax
push dword [esp + 0x2c]
call fcn.00561440
add esp, 0xc
jmp 0x52a040
push 0x7b
push str..crypto_rsa_rsa_oaep.c
push 0x41
push 0x7a
push 4
call fcn.00501bf0
add esp, 0x14
jmp 0x52a040
mov ebx, dword [esp + 0x10]
or ebp, 0xffffffff
jmp 0x52a044
or ebp, 0xffffffff
mov ebx, dword [esp + 0x10]
test edi, edi
je 0x52a051
push edi
call fcn.005007f0
add esp, 4
test ebx, ebx
je 0x52a05e
push ebx
call fcn.005007f0
add esp, 4
mov eax, ebp
jmp 0x52a065
or eax, 0xffffffff
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004fb4f0
add esp, 0x9c
ret