Function at 0x416180
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov eax, dword [0x421040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [ebp + 0xc]
cmp edx, 0x111
ja 0x416374
je 0x4162b3
mov eax, edx
sub eax, 0xf
je 0x41628a
sub eax, 1
je 0x416505
sub eax, 0x3e
jne 0x416386
mov eax, dword [edi]
cmp eax, dword [0x4226f0]
jne 0x416505
cmp dword [edi + 8], 0xfffffffd
jne 0x416505
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
push dword [0x4226f0]
call dword [sym.imp.USER32.dll_ScreenToClient]
lea eax, [ebp - 0x1c]
push eax
push 0
push 0x1012
push dword [0x4226f0]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
je 0x416505
mov eax, dword [ebp - 0x10]
cmp eax, 0x12
jne 0x416257
push 1
push 0
push 0
push 0x41ede8
push 0x41ee34
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
cmp eax, 0x15
jne 0x416505
push 1
push 0
push 0
push 0x41ee40
push 0x41ee8c
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x60]
push eax
push esi
call dword [sym.imp.USER32.dll_BeginPaint]
lea eax, [ebp - 0x60]
push eax
push esi
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
mov eax, ebx
shr eax, 0x10
test eax, eax
jne 0x416505
movzx eax, bx
sub eax, 0xcc
je 0x416359
sub eax, 3
je 0x41630f
sub eax, 0xc
jne 0x416505
push eax
push eax
push 0xf0
push dword [0x4226ec]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 1
sete byte [0x422648]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push edi
push ebx
push 0x402
push dword [0x42264c]
call esi
xor eax, eax
cmp byte [0x422635], al
push edi
push ebx
setne al
push 0x401
push dword [0x42264c]
add eax, 0x71
mov dword [0x422628], eax
call esi
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
mov eax, edx
sub eax, 0x401
je 0x41644a
sub eax, 1
je 0x4163a3
push edi
push dword [ebp + 8]
push edx
push esi
call dword [sym.imp.USER32.dll_DefWindowProcW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
push dword [0x4226f8]
mov esi, dword [sym.imp.USER32.dll_SetWindowLongW]
push 0xfffffffffffffffc
push dword [0x4226ec]
call esi
push dword [0x4226fc]
push 0xfffffffffffffffc
push dword [0x4226f0]
call esi
push dword [0x422700]
push 0xfffffffffffffffc
push dword [0x422690]
call esi
push dword [0x422704]
push 0xfffffffffffffffc
push dword [0x422698]
call esi
push dword [0x4226d0]
mov esi, dword [sym.imp.USER32.dll_DestroyWindow]
call esi
push dword [0x4226d4]
call esi
push dword [0x4226d8]
call esi
push dword [0x4226dc]
call esi
push dword [0x4226e8]
call esi
push dword [0x4226ec]
call esi
push dword [0x4226f0]
call esi
push dword [0x422690]
call esi
push dword [0x422698]
call esi
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
movd xmm0, dword [0x422630]
cvtdq2pd xmm0, xmm0
push 1
mulsd xmm0, qword [0x41f6e0]
cvttsd2si eax, xmm0
movd xmm0, dword [0x42262c]
cvtdq2pd xmm0, xmm0
push eax
mulsd xmm0, qword [0x41f6e8]
cvttsd2si eax, xmm0
push eax
push dword [0x422644]
push dword [0x422640]
push esi
call dword [sym.imp.USER32.dll_MoveWindow]
cmp byte [0x422635], 0
je 0x4164ab
push 0x41ed78
mov edx, 0x41ed8c
mov ecx, 0x41edac
jmp 0x4164ba
push 0x41edb0
mov edx, 0x41edc0
mov ecx, 0x41ede0
call fcn.004136f0
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
add esp, 4
push eax
push esi
call edi
mov ecx, esi
call fcn.00415a50
push 0x422750
push dword [0x422670]
call edi
cmp dword [0x422640], 0xffffffff
jne 0x4164f9
cmp dword [0x422644], 0xffffffff
jne 0x4164f9
mov ecx, esi
call fcn.004121e0
push dword [0x422698]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00401288
mov esp, ebp
pop ebp
ret