Function at 0x44e110
Capabilities:
Check if file exists
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x288
mov eax, dword [0x5973cc]
xor eax, ebp
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x24]
mov dword [eax], 0
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0
mov edx, dword [ebp + 0x14]
and edx, 1
neg edx
sbb edx, edx
neg edx
mov byte [ebp - 0xa], dl
mov eax, dword [ebp + 0x14]
and eax, 8
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 9], al
cmp dword [ebp + 0xc], 0
jne 0x44e169
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 1
xor eax, eax
jmp 0x44e37e
push 0
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x44e209
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
cmp ecx, dword [eax]
je 0x44e1ab
mov edx, dword [ebp + 0x24]
push edx
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.0044dec0
add esp, 0x10
movzx eax, al
test eax, eax
je 0x44e209
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov dword [ecx], edx
movzx eax, byte [ebp - 9]
test eax, eax
je 0x44e1ff
mov byte [ebp - 0xb], 0
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x10]
push ecx
push 0x1f4
push 0
push 0
push 0
push 0x482
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
xor eax, eax
cmp dword [ebp - 0x10], 1
sete al
mov byte [ebp - 0xb], al
movzx ecx, byte [ebp - 0xb]
test ecx, ecx
jne 0x44e1ff
xor eax, eax
jmp 0x44e37e
mov eax, 1
jmp 0x44e37e
movzx edx, byte [ebp - 0xa]
test edx, edx
je 0x44e217
cmp dword [ebp + 0x10], 0
jne 0x44e21e
xor eax, eax
jmp 0x44e37e
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0x10]
push eax
call fcn.004c2280
add esp, 4
movzx ecx, al
cmp ecx, 1
jne 0x44e34e
xor edx, edx
mov word [ebp - 0x228], dx
push 0x208
push 0
lea eax, [ebp - 0x226]
push eax
call fcn.00506190
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x44e27a
mov ecx, dword [ebp + 0x18]
push ecx
push 0x104
lea edx, [ebp - 0x228]
push edx
call fcn.0050a211
add esp, 0xc
mov dword [ebp - 0x288], 0
push 0x40
push 0
lea eax, [ebp - 0x284]
push eax
call fcn.00506190
add esp, 0xc
mov dword [ebp - 0x238], 0
xor ecx, ecx
mov dword [ebp - 0x234], ecx
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x22c], ecx
mov dword [ebp - 0x288], 0x44
mov dword [ebp - 0x25c], 1
mov dx, word [ebp + 0x1c]
mov word [ebp - 0x258], dx
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x288]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x228]
push edx
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0
jne 0x44e32b
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x64
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp + 0x24]
mov dword [edx], eax
jmp 0x44e34c
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x238]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x44e37b
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x44e372
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x68
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
jmp 0x44e37b
mov edx, dword [ebp + 0x20]
mov dword [edx], 2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005060ef
mov esp, ebp
pop ebp
ret