Function at 0x4c55ae
Capabilities:
Encode data using xor

Disassembly:
push 0x27c
mov eax, 0x71cf75
call fcn.0054dced
push 0xf
pop esi
mov edi, ecx
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x78]
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0x60], esi
call fcn.0040720e
mov dword [ebp - 4], ebx
push ebx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x30], esi
call fcn.0040720e
push ebx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], esi
call fcn.0040720e
push ebx
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x7c], esi
call fcn.0040720e
lea eax, [ebp - 0x5c]
push eax
call fcn.0040d1f5
lea eax, [ebp - 0xc4]
push eax
call fcn.0040d1f5
push ebx
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x98], esi
call fcn.0040720e
mov byte [ebp - 4], 4
mov eax, dword [edi + 0x14]
dec eax
jne 0x4c5986
mov eax, dword [edi + 4]
add eax, 0x3c
push eax
lea eax, [ebp - 0x174]
push 0x7b9714
push eax
call fcn.00424625
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.0040a0c9
push ebx
push 1
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 4
call fcn.00407277
cmp dword [ebp - 0x14], 0x10
mov esi, dword [ebp - 0x28]
jae 0x4c567e
lea esi, [ebp - 0x28]
mov edi, dword [ebp - 0x18]
lea eax, [ebp - 0x274]
push ebx
push eax
call fcn.00461034
pop ecx
pop ecx
push 5
mov esi, eax
pop ecx
lea eax, [ebp - 0x1e4]
push eax
lea edi, [ebp - 0x5c]
lea eax, [ebp - 0x5c]
rep movsd dword es:[edi], dword [esi]
call fcn.0040d560
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 6
call fcn.0040bd07
push ebx
push 1
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 4
call fcn.00407277
mov ecx, dword [ebp - 0xc8]
lea eax, [ebp - 0x1ac]
push eax
mov eax, dword [ecx]
lea edx, [ebp - 0x24c]
push edx
call dword [eax + 0xc]
call fcn.0040d560
push eax
lea eax, [ebp - 0xe8]
push 0x7c32c4
push eax
mov byte [ebp - 4], 7
call fcn.00424625
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call fcn.0040a0c9
push ebx
push 1
lea ecx, [ebp - 0xe8]
call fcn.00407277
push ebx
push 1
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 4
call fcn.00407277
cmp dword [ebp - 0x14], 0x10
mov esi, dword [ebp - 0x28]
jae 0x4c573e
lea esi, [ebp - 0x28]
mov edi, dword [ebp - 0x18]
lea eax, [ebp - 0x288]
push ebx
push eax
call fcn.00461034
mov esi, eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
push 5
pop ecx
add eax, 0x3c
push eax
lea eax, [ebp - 0x104]
push 0x7c32dc
lea edi, [ebp - 0x5c]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.00424625
add esp, 0x14
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 9
call fcn.0040a0c9
push ebx
push 1
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 4
call fcn.00407277
cmp dword [ebp - 0x7c], 0x10
mov esi, dword [ebp - 0x90]
jae 0x4c57b0
lea esi, [ebp - 0x90]
mov edi, dword [ebp - 0x80]
lea eax, [ebp - 0x260]
push ebx
push eax
call fcn.00461034
pop ecx
pop ecx
push 5
mov esi, eax
pop ecx
lea edi, [ebp - 0xc4]
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov cl, byte [ebp + eax - 0xc4]
xor byte [ebp + eax - 0x5c], cl
inc eax
cmp eax, 0x14
jl 0x4c57d1
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x5c]
call fcn.0040d560
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xa
call fcn.0040bd07
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x120]
call fcn.00407277
lea eax, [ebp - 0x21c]
push eax
mov eax, dword [ebp - 0x64]
call fcn.0044ea3f
mov edi, eax
lea eax, [ebp - 0x238]
push eax
mov eax, dword [ebp - 0x9c]
call fcn.0044ea3f
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0x200]
push eax
push 2
pop ecx
call fcn.0044ea5c
push eax
lea eax, [ebp - 0x1c8]
push 0x8b6154
push eax
mov byte [ebp - 4], 0xd
call fcn.00424550
push dword [ebp - 0xcc]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.00424550
lea ecx, [ebp - 0xb0]
push ecx
push eax
lea eax, [ebp - 0x158]
push eax
mov byte [ebp - 4], 0xf
call fcn.00424550
push edi
push eax
lea eax, [ebp - 0x13c]
push eax
mov byte [ebp - 4], 0x10
call fcn.00424550
add esp, 0x3c
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x11
call fcn.0040a0c9
push ebx
push esi
lea ecx, [ebp - 0x13c]
call fcn.00407277
push ebx
push esi
lea ecx, [ebp - 0x158]
call fcn.00407277
push ebx
push esi
lea ecx, [ebp - 0x190]
call fcn.00407277
push ebx
push esi
lea ecx, [ebp - 0x1c8]
call fcn.00407277
push ebx
push esi
lea ecx, [ebp - 0x200]
call fcn.00407277
push ebx
push esi
lea ecx, [ebp - 0x238]
call fcn.00407277
push ebx
push esi
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 4
call fcn.00407277
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
jae 0x4c591e
lea eax, [ebp - 0x28]
push dword [ebp - 0x18]
mov edi, dword [ebp - 0xc8]
push eax
mov eax, dword [edi + 8]
call fcn.00461cee
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x48]
call fcn.0040bd07
cmp dword [ebp - 0x60], 0x10
mov eax, dword [ebp - 0x74]
jae 0x4c594b
lea eax, [ebp - 0x74]
push dword [ebp - 0x64]
push eax
mov eax, dword [edi + 8]
call fcn.00461cee
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x48]
call fcn.0040bd07
cmp dword [ebp - 0x30], 0x10
mov eax, dword [ebp - 0x44]
jae 0x4c5972
lea eax, [ebp - 0x44]
push dword [ebp - 0x34]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 8]
mov dword [edi + 0x14], 2
jmp 0x4c5989
xor esi, esi
inc esi
push ebx
push esi
lea ecx, [ebp - 0xb0]
call fcn.00407277
push ebx
push esi
lea ecx, [ebp - 0x94]
call fcn.00407277
push ebx
push esi
lea ecx, [ebp - 0x2c]
call fcn.00407277
push ebx
push esi
lea ecx, [ebp - 0x48]
call fcn.00407277
push ebx
push esi
lea ecx, [ebp - 0x78]
call fcn.00407277
call fcn.0054dd70
ret