Function at 0x4e4010
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f435c
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x52e098]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], 0
push 3
mov dword [ebp - 4], 1
call fcn.004526a0
add esp, 4
call fcn.00452430
mov dword [esi + 0x10], 0
mov edi, eax
mov dword [esi + 0x14], 0
mov dword [esi + 0x14], 0xf
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], 0
jb 0x4e4088
mov eax, dword [esi]
jmp 0x4e408a
mov eax, esi
mov byte [eax], 0
mov dword [ebp - 0x5c], 1
test edi, edi
je 0x4e426b
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
push 0x2712
push edi
call fcn.00456ad0
add esp, 0xc
call fcn.004e19c0
mov bh, 0x70
mov byte [ebp - 0x14], 0
push eax
mov dl, 0x13
mov byte [ebp - 0x1c], bh
mov dh, 0x14
mov byte [ebp - 0x14], 0
xor dl, bh
xor dh, bh
mov byte [ebp - 0x19], dl
sub esp, 0x18
mov byte [ebp - 0x15], dh
mov al, 0x16
mov edx, esp
mov cl, 0x11
mov bl, 3
mov ah, 0x5d
mov ch, 0x55
xor al, bh
xor cl, bh
mov byte [ebp - 0x1b], al
xor bl, bh
mov byte [ebp - 0x1a], cl
xor ah, bh
mov byte [ebp - 0x18], bl
xor ch, bh
mov byte [ebp - 0x17], ah
mov byte [ebp - 0x16], ch
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x4e4117
mov eax, dword [edx]
jmp 0x4e4119
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1b], 0
jne 0x4e4126
xor ecx, ecx
jmp 0x4e4139
lea ecx, [ebp - 0x1b]
lea ebx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4e4130
sub ecx, ebx
push ecx
lea eax, [ebp - 0x1b]
mov ecx, edx
push eax
call fcn.004454e0
lea eax, [ebp - 0x34]
push eax
call fcn.004ecdf0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x34]
cmp dword [ebp - 0x20], 0x10
cmovae eax, dword [ebp - 0x34]
push eax
push 0x2722
push edi
call fcn.00456ad0
add esp, 0x2c
push 0
push 0x40
push edi
call fcn.00456ad0
add esp, 0xc
push 0
push 0x51
push edi
call fcn.00456ad0
add esp, 0xc
push 0x4e42a0
push 0x4e2b
push edi
call fcn.00456ad0
add esp, 0xc
push esi
push 0x2711
push edi
call fcn.00456ad0
add esp, 0xc
push 1
push 0x29
push edi
call fcn.00456ad0
add esp, 0xc
push edi
call fcn.00452470
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4e424d
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x4e41e5
mov eax, dword [ecx]
jmp 0x4e41e7
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp + 8]
push 0
push eax
call fcn.00444cb0
call fcn.004ea730
push ebx
call fcn.004530e0
movaps xmm0, xmmword [0x524ee0]
sub esp, 0x14
movups xmmword [ebp - 0x54], xmm0
mov ebx, esp
xor ecx, ecx
movaps xmm0, xmmword [str.sl___g_hmde___r]
push eax
movups xmmword [ebp - 0x44], xmm0
mov al, byte [ebp - 0x54]
xor byte [ebp + ecx - 0x53], al
inc ecx
cmp ecx, 0x1e
jb 0x4e4220
sub esp, 0x18
mov byte [ebp - 0x35], 0
lea eax, [ebp - 0x53]
mov ecx, esp
push eax
call fcn.00444880
push ebx
call fcn.004ecdf0
add esp, 0x20
call fcn.004ea730
push edi
call fcn.004523f0
mov eax, dword [ebp - 0x20]
add esp, 4
cmp eax, 0x10
jb 0x4e426b
inc eax
lea ecx, [ebp - 0x34]
push eax
push dword [ebp - 0x34]
call fcn.00445260
mov ecx, dword [ebp + 0x1c]
cmp ecx, 0x10
jb 0x4e4280
inc ecx
push ecx
push dword [ebp + 8]
lea ecx, [ebp + 8]
call fcn.00445260
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049de5d
mov esp, ebp
pop ebp
ret