Function at 0x10019050
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x14
call fcn.10032ed0
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.1002b170
add esp, 0xc
test eax, eax
je 0x10019274
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.1002b170
add esp, 0xc
test eax, eax
jne 0x10019085
test esi, esi
je 0x10019274
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.10034710
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], 0
push eax
lea eax, [esp + 0x20]
push eax
push 0
call fcn.1002b170
add esp, 0x18
test eax, eax
je 0x10019256
mov ebx, dword [esp + 0x60]
nop word [eax + eax]
mov eax, dword [esp + 0x10]
shl eax, 0xa
test dword [esp + 0x28], eax
je 0x10019232
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x10019263
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.100192a0
add esp, 0x3c
test eax, eax
je 0x1001928f
add esi, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x54], esi
test edi, edi
jle 0x1001922e
cmp edi, 0x40
jb 0x1001920d
lea eax, [edi - 1]
lea edx, [ebp - 1]
add eax, ebx
add edx, edi
cmp ebp, eax
ja 0x100191a1
cmp edx, ebx
jae 0x1001920d
mov eax, edi
and eax, 0x8000003f
jns 0x100191af
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 0x100191c0
cmp ecx, edi
jge 0x1001922e
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 0x10019220
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.1002b170
add esp, 0xc
test eax, eax
jne 0x10019110
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 0x10019280
push 0x109
push str.._ssl_t1_enc.c
push 0x44
push 0x11c
push 0x14
call sub.LIBEAY32.dll_Ordinal_252
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret