Function at 0x5bbf00
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xc0
call fcn.004cba10
mov eax, dword [0x718924]
xor eax, esp
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xc4]
push ebx
push ebp
mov ebp, dword [esp + 0xec]
xor ebx, ebx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe0]
push esi
push edi
mov dword [esp + 0x18], eax
xor edi, edi
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x30], 0
test eax, eax
jne 0x5bbf70
call fcn.0056ccd0
mov dword [esp + 0x34], eax
test ebp, ebp
push eax
cmove ebp, eax
mov dword [esp + 0x28], ebp
call fcn.00585420
add esp, 4
mov ebp, eax
mov dword [esp + 0x2c], ebp
cmp dword [esp + 0xd8], ebx
jle 0x5bc568
mov esi, dword [esp + 0xe0]
test esi, esi
jle 0x5bc568
mov ecx, dword [esp + 0x40]
cmp ecx, esi
jl 0x5bc54d
lea eax, [ebp*2 + 2]
cmp ecx, eax
jl 0x5bc54d
sub ecx, ebp
push 0x9d
dec ecx
push str.crypto_rsa_rsa_oaep.c
push ecx
mov dword [esp + 0x2c], ecx
call fcn.00564af0
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x5bc005
push 0x9f
push str.crypto_rsa_rsa_oaep.c
push 0x41
push 0x99
push 4
call fcn.00575710
mov esi, dword [esp + 0x34]
add esp, 0x14
jmp 0x5bc4fb
mov edi, dword [esp + 0x40]
push 0xa3
push str.crypto_rsa_rsa_oaep.c
push edi
call fcn.00564af0
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x5bc044
push 0xa6
push str.crypto_rsa_rsa_oaep.c
push 0x41
push 0x99
push 4
call fcn.00575710
add esp, 0x14
jmp 0x5bc4f3
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0xdc]
add ebx, edi
add edx, esi
mov dword [esp + 0x1c], ebx
test edi, edi
jle 0x5bc087
nop dword [eax + eax]
mov eax, esi
lea ecx, [esi - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
dec ebx
and ecx, eax
dec ecx
mov eax, ecx
and eax, 1
sub edx, eax
sub esi, eax
and cl, byte [edx]
mov byte [ebx], cl
sub edi, 1
jne 0x5bc060
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x1c]
push dword [esp + 0x24]
movzx ebx, byte [ebx]
mov esi, dword [esp + 0x24]
lea edi, [eax + 1]
inc eax
add eax, ebp
mov dword [esp + 0x14], edi
push esi
push eax
lea ebx, [ebx - 1]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x58]
shr ebx, 0x1f
push ebp
push eax
neg ebx
call fcn.005bb960
add esp, 0x14
test eax, eax
jne 0x5bc4f7
xor edx, edx
test ebp, ebp
jle 0x5bc1a4
cmp ebp, 0x40
jb 0x5bc18a
lea eax, [edi - 1]
lea esi, [esp + 0x4c]
add eax, ebp
cmp esi, eax
lea ecx, [esp + ebp + 0x4b]
mov esi, dword [esp + 0x20]
ja 0x5bc0f4
cmp ecx, edi
jae 0x5bc18a
mov eax, ebp
and eax, 0x8000003f
jns 0x5bc102
dec eax
or eax, 0xffffffc0
inc eax
mov ecx, ebp
lea esi, [esp + 0x4c]
sub esi, edi
lea ebp, [esp + 0x5c]
sub ecx, eax
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x20]
lea eax, [edi + 0x20]
sub ebp, edi
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x28]
nop dword [eax]
movups xmm0, xmmword [esp + edx + 0x4c]
lea eax, [eax + 0x40]
movups xmm1, xmmword [eax - 0x60]
pxor xmm1, xmm0
movups xmmword [esp + edx + 0x4c], xmm1
movups xmm0, xmmword [esp + edx + 0x5c]
movups xmm1, xmmword [eax - 0x50]
pxor xmm1, xmm0
movups xmmword [esp + edx + 0x5c], xmm1
add edx, 0x40
movups xmm0, xmmword [eax + ebp - 0x40]
movups xmm1, xmmword [eax - 0x40]
pxor xmm1, xmm0
movups xmmword [eax + ebp - 0x40], xmm1
movups xmm0, xmmword [edi + eax - 0x40]
movups xmm1, xmmword [eax - 0x30]
pxor xmm1, xmm0
movups xmmword [edi + eax - 0x40], xmm1
cmp edx, ecx
jl 0x5bc130
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
cmp edx, ebp
jge 0x5bc1a4
lea eax, [esp + 0x4c]
sub edi, eax
lea ecx, [esp + 0x4c]
add ecx, edx
inc edx
mov al, byte [ecx + edi]
xor byte [ecx], al
cmp edx, ebp
jl 0x5bc194
push dword [esp + 0x24]
lea eax, [esp + 0x50]
push ebp
push eax
push esi
push dword [esp + 0x24]
call fcn.005bb960
add esp, 0x14
test eax, eax
jne 0x5bc4f7
xor edi, edi
test esi, esi
jle 0x5bc2a2
mov ecx, dword [esp + 0x14]
cmp esi, 0x40
jb 0x5bc27a
mov edx, dword [esp + 0x3c]
lea eax, [edx - 1]
add eax, esi
cmp ecx, eax
ja 0x5bc1f4
lea eax, [ecx - 1]
add eax, esi
cmp eax, edx
jae 0x5bc27a
mov eax, esi
and eax, 0x8000003f
jns 0x5bc202
dec eax
or eax, 0xffffffc0
inc eax
mov ecx, esi
sub ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
add eax, 0x10
lea ecx, [edx + 0x30]
sub edx, dword [esp + 0x14]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
movups xmm0, xmmword [eax - 0x10]
add edi, 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 [eax + ebp - 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 edi, edx
jl 0x5bc224
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
cmp edi, esi
jge 0x5bc2a2
mov ebp, dword [esp + 0x3c]
mov edx, esi
sub ebp, dword [esp + 0x14]
add ecx, edi
sub edx, edi
nop dword [eax]
mov al, byte [ecx + ebp]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
sub edx, 1
jne 0x5bc290
mov ebp, dword [esp + 0x2c]
push 0
push dword [esp + 0x38]
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0xfc]
push dword [esp + 0x2c]
call fcn.0056c120
add esp, 0x18
test eax, eax
je 0x5bc4f7
push ebp
lea eax, [esp + 0x90]
push eax
push dword [esp + 0x1c]
call fcn.00401390
add esp, 0xc
mov edi, ebp
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and ebx, ecx
mov dword [esp + 0x24], ebx
xor ebx, ebx
cmp ebp, esi
mov ebp, dword [esp + 0x24]
jge 0x5bc351
mov eax, dword [esp + 0x14]
movzx esi, byte [edi + eax]
mov eax, ebx
mov edx, esi
not eax
xor edx, 1
dec edx
shr edx, 0x1f
neg edx
and eax, edx
or ebx, edx
mov dword [esp + 0x18], eax
not eax
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
and ecx, edi
and eax, dword [esp + 0x30]
inc edi
or eax, ecx
mov dword [esp + 0x30], eax
lea eax, [esi - 1]
mov esi, dword [esp + 0x20]
shr eax, 0x1f
neg eax
or eax, ebx
and ebp, eax
cmp edi, esi
jl 0x5bc303
mov edx, dword [esp + 0xd8]
mov eax, esi
sub eax, dword [esp + 0x30]
mov ecx, edx
dec eax
mov edi, esi
sub ecx, eax
mov dword [esp + 0x38], eax
xor ecx, eax
xor eax, edx
or ecx, eax
xor ecx, edx
shr ecx, 0x1f
dec ecx
and ecx, ebx
mov ebx, dword [esp + 0xd8]
and ebp, ecx
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x2c]
sub edi, ebp
lea ecx, [edi - 1]
mov edx, ecx
mov eax, ecx
sub edx, ebx
xor eax, ebx
xor edx, ebx
or edx, eax
xor edx, ecx
lea ecx, [edi - 1]
shr edx, 0x1f
neg edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x18], edx
not edx
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
and eax, ecx
and edx, ebx
mov ebx, 1
or edx, eax
mov dword [esp + 0x34], edx
cmp ecx, ebx
jle 0x5bc45a
sub edi, dword [esp + 0x38]
lea edx, [ebp + 1]
mov dword [esp + 0x44], edx
lea eax, [edi - 1]
mov dword [esp + 0x30], eax
and eax, ebx
mov edi, esi
sub edi, ebx
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
dec ecx
cmp edx, edi
jge 0x5bc446
mov esi, dword [esp + 0x14]
movzx eax, cl
add esi, edx
mov ebp, eax
mov dword [esp + 0x28], eax
not ebp
sub edi, edx
nop dword [eax]
mov dword [esp + 0x18], eax
lea esi, [esi + 1]
movzx eax, byte [esi + ebx - 1]
mov dword [esp + 0x10], ebp
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
and dl, al
movzx eax, byte [esi - 1]
and cl, al
mov eax, dword [esp + 0x28]
or cl, dl
mov byte [esi - 1], cl
sub edi, 1
jne 0x5bc410
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
add ebx, ebx
cmp ebx, dword [esp + 0x3c]
jl 0x5bc3e2
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x24]
xor esi, esi
test edx, edx
jle 0x5bc4cd
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x38]
inc eax
shr ecx, 0x1f
neg edi
mov dword [esp + 0x28], ecx
add ebp, eax
nop dword [eax]
mov eax, edi
lea ebp, [ebp + 1]
shr eax, 0x1f
inc edi
xor al, cl
or al, cl
neg al
movzx ecx, al
movzx eax, bl
and ecx, eax
movzx eax, byte [ebp - 1]
mov dword [esp + 0x18], ecx
not ecx
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
and dl, al
mov eax, dword [esp + 0x48]
movzx eax, byte [eax + esi]
and cl, al
mov eax, dword [esp + 0x48]
or cl, dl
mov byte [eax + esi], cl
inc esi
mov ecx, dword [esp + 0x28]
cmp esi, dword [esp + 0x34]
jl 0x5bc480
push 0x107
push str.crypto_rsa_rsa_oaep.c
push 0x79
push 0x99
push 4
call fcn.00575710
mov eax, ebx
and eax, 1
push eax
call fcn.00575960
add esp, 0x18
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x4c]
push 0x40
push eax
call fcn.00401320
push 0x10b
push str.crypto_rsa_rsa_oaep.c
push esi
push dword [esp + 0x28]
call fcn.00564be0
mov eax, dword [esp + 0x58]
push 0x10c
push str.crypto_rsa_rsa_oaep.c
push eax
push edi
call fcn.00564be0
mov dword [esp + 0x40], ebx
add esp, 0x28
not ebx
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x18]
and ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
or eax, ecx
jmp 0x5bc56b
push 0x98
push str.crypto_rsa_rsa_oaep.c
push 0x79
push 0x99
push 4
call fcn.00575710
add esp, 0x14
or eax, 0xffffffff
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004cb998
add esp, 0xc0
ret