Function at 0x5efff0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xe0
call fcn.0062f130
mov eax, dword [0x6d3f68]
xor eax, esp
mov dword [esp + 0xdc], eax
mov edx, dword [esp + 0xe4]
mov eax, dword [esp + 0x104]
push ebx
mov ebx, dword [esp + 0x100]
push ebp
mov ebp, dword [esp + 0xf8]
push esi
mov esi, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov eax, dword [edx]
mov ecx, eax
push edi
sub ecx, ebx
mov dword [esp + 0x18], ebp
xor edi, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], edi
cmp dword [esp + 0xf8], ebx
jb 0x5f006a
cmp ebx, 0x40
ja 0x5f006a
test ebx, ebx
jne 0x5f0085
cmp dword [esp + 0x110], edi
jne 0x5f0267
xor eax, eax
mov ecx, dword [esp + 0xec]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0062e5ad
add esp, 0xe0
ret
cmp dword [esp + 0x108], 1
mov dword [edx], ecx
jne 0x5f00b2
test ebp, ebp
je 0x5f00a1
mov eax, dword [esp + 0xfc]
add eax, ecx
mov dword [ebp], eax
test esi, esi
je 0x5f0267
mov dword [esi], edi
mov eax, 1
jmp 0x5f006c
push 0
push ebx
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x20]
call fcn.004cdc60
add esp, 0x10
test eax, eax
je 0x5f006a
test ebp, ebp
je 0x5f006a
test esi, esi
je 0x5f006a
push 0x105
push str.ssl_record_tls_pad.c
push ebx
call fcn.004d9090
mov ebp, eax
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
mov dword [eax], ebp
test ebp, ebp
je 0x5f006a
mov edx, dword [esp + 0xf8]
lea ecx, [esp + 0x6c]
neg ecx
mov dword [esi], 1
and ecx, 0x3f
lea eax, [esp + 0x6c]
add ecx, eax
lea eax, [ebx + 0x100]
mov dword [esp + 0x18], ecx
cmp edx, eax
jbe 0x5f0131
mov edi, edx
sub edi, ebx
sub edi, 0x100
mov dword [esp + 0x10], edi
push ebx
xor esi, esi
mov dword [esp + 0x18], 0
push esi
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x20], esi
cmp edi, dword [esp + 0xf8]
jae 0x5f01eb
mov ebp, dword [esp + 0x10]
mov ecx, ebp
sub ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov eax, ebp
mov edx, ecx
xor eax, dword [esp + 0x24]
xor edx, dword [esp + 0x1c]
lea edi, [eax - 1]
not eax
shr eax, 0x1f
shr edi, 0x1f
and edi, eax
mov eax, ebp
xor eax, dword [esp + 0x1c]
neg edi
or edx, eax
mov eax, dword [esp + 0xfc]
xor edx, ebp
shr edx, 0x1f
neg edx
mov cl, byte [eax + ebp]
mov eax, edi
or eax, dword [esp + 0x14]
inc ebp
and edi, dword [esp + 0x20]
and eax, edx
mov edx, dword [esp + 0x18]
or esi, edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x14], eax
and al, cl
or byte [edi + edx], al
inc edi
mov ecx, edi
mov eax, ebx
sub ecx, ebx
xor eax, edi
xor ecx, ebx
or ecx, eax
xor ecx, edi
shr ecx, 0x1f
neg ecx
and edi, ecx
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], ecx
cmp ebp, dword [esp + 0xf8]
jb 0x5f0165
mov ebp, dword [esp + 0x28]
jmp 0x5f01ef
mov edx, dword [esp + 0x18]
test ebx, ebx
je 0x5f0267
movzx eax, byte [esp + 0x110]
mov edi, ebx
mov ecx, eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x2c]
not ecx
sub eax, ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov eax, esi
lea ebp, [ebp + 1]
xor eax, 0x20
mov al, byte [eax + edx]
mov dl, byte [esi + edx]
inc esi
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
and cl, byte [eax + ebp - 1]
mov eax, dword [esp + 0x1c]
and al, dl
mov edx, dword [esp + 0x18]
or al, cl
mov ecx, esi
sub ecx, ebx
mov byte [ebp - 1], al
xor ecx, ebx
mov eax, ebx
xor eax, esi
or ecx, eax
xor ecx, esi
shr ecx, 0x1f
neg ecx
and esi, ecx
mov ecx, dword [esp + 0x10]
sub edi, 1
jne 0x5f0213
mov eax, 1
jmp 0x5f006c