Function at 0x538db0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x14
call fcn.005466e0
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x64]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
xor ebx, ebx
push eax
push ebx
xor esi, esi
call fcn.00520b90
add esp, 0xc
test eax, eax
je 0x538fd4
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
shl eax, 0xa
test ebp, eax
lea eax, [esi + 1]
cmove eax, esi
inc ebx
mov esi, eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.00520b90
add esp, 0xc
test eax, eax
jne 0x538de5
test esi, esi
je 0x538fd4
mov eax, dword [esp + 0x58]
cdq
idiv esi
mov ebp, dword [esp + 0x5c]
cmp esi, 1
push edi
mov esi, 0
mov dword [esp + 0x20], eax
cmovne esi, dword [esp + 0x5c]
push 0
push ebp
mov dword [esp + 0x24], esi
call fcn.00549a70
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], 0
push eax
lea eax, [esp + 0x20]
push eax
push 0
call fcn.00520b90
add esp, 0x18
test eax, eax
je 0x538fb6
mov ebx, dword [esp + 0x60]
nop word [eax + eax]
mov eax, dword [esp + 0x10]
shl eax, 0xa
test dword [esp + 0x28], eax
je 0x538f92
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x538fc3
push edi
push ebx
push dword [esp + 0x58]
and esi, 1
push dword [esp + 0x58]
add esi, dword [esp + 0x2c]
push dword [esp + 0x58]
push dword [esp + 0x58]
push dword [esp + 0x58]
push dword [esp + 0x58]
push dword [esp + 0x58]
push dword [esp + 0x58]
push dword [esp + 0x58]
push dword [esp + 0x58]
push esi
mov esi, dword [esp + 0x88]
push esi
push ecx
call fcn.00539000
add esp, 0x3c
test eax, eax
je 0x538fef
add esi, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x54], esi
test edi, edi
jle 0x538f8e
cmp edi, 0x40
jb 0x538f6d
lea eax, [edi - 1]
lea edx, [ebp - 1]
add eax, ebx
add edx, edi
cmp ebp, eax
ja 0x538f01
cmp edx, ebx
jae 0x538f6d
mov eax, edi
and eax, 0x8000003f
jns 0x538f0f
dec eax
or eax, 0xffffffc0
inc eax
mov edx, edi
mov esi, ebx
sub edx, eax
mov eax, ebp
sub esi, ebp
nop dword [eax]
movups xmm0, xmmword [eax]
lea eax, [eax + 0x40]
movups xmm1, xmmword [esi + eax - 0x40]
pxor xmm1, xmm0
movups xmmword [eax - 0x40], xmm1
movups xmm0, xmmword [eax - 0x30]
movups xmm1, xmmword [ebx + ecx + 0x10]
pxor xmm1, xmm0
movups xmmword [eax - 0x30], xmm1
movups xmm0, xmmword [eax - 0x20]
movups xmm1, xmmword [ebx + ecx + 0x20]
pxor xmm1, xmm0
movups xmmword [eax - 0x20], xmm1
movups xmm0, xmmword [eax - 0x10]
movups xmm1, xmmword [ebx + ecx + 0x30]
add ecx, 0x40
pxor xmm1, xmm0
movups xmmword [eax - 0x10], xmm1
cmp ecx, edx
jl 0x538f20
cmp ecx, edi
jge 0x538f8e
mov esi, ebx
lea eax, [ecx + ebp]
mov edx, edi
sub esi, ebp
sub edx, ecx
nop dword [eax]
mov cl, byte [eax + esi]
lea eax, [eax + 1]
xor byte [eax - 1], cl
sub edx, 1
jne 0x538f80
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x14]
inc eax
push ecx
push eax
mov dword [esp + 0x2c], eax
call fcn.00520b90
add esp, 0xc
test eax, eax
jne 0x538e70
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret
push 0x114
push str.._ssl_t1_enc.c
push 0x146
jmp 0x538fe0
push 0x109
push str.._ssl_t1_enc.c
push 0x44
push 0x11c
push 0x14
call fcn.0048af50
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret