Function at 0x5a4070
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x14
call fcn.00451900
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.0058bd20
add esp, 0xc
test eax, eax
je 0x5a4294
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.0058bd20
add esp, 0xc
test eax, eax
jne 0x5a40a5
test esi, esi
je 0x5a4294
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.005c7c50
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], 0
push eax
lea eax, [esp + 0x20]
push eax
push 0
call fcn.0058bd20
add esp, 0x18
test eax, eax
je 0x5a4276
mov ebx, dword [esp + 0x60]
nop word [eax + eax]
mov eax, dword [esp + 0x10]
shl eax, 0xa
test dword [esp + 0x28], eax
je 0x5a4252
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x5a4283
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.005a42c0
add esp, 0x3c
test eax, eax
je 0x5a42af
add esi, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x54], esi
test edi, edi
jle 0x5a424e
cmp edi, 0x40
jb 0x5a422d
lea eax, [edi - 1]
lea edx, [ebp - 1]
add eax, ebx
add edx, edi
cmp ebp, eax
ja 0x5a41c1
cmp edx, ebx
jae 0x5a422d
mov eax, edi
and eax, 0x8000003f
jns 0x5a41cf
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 0x5a41e0
cmp ecx, edi
jge 0x5a424e
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 0x5a4240
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.0058bd20
add esp, 0xc
test eax, eax
jne 0x5a4130
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 0x5a42a0
push 0x109
push str.._ssl_t1_enc.c
push 0x44
push 0x11c
push 0x14
call fcn.004f4f80
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret