Function at 0x40c7c0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x59c
mov eax, dword [0x42603c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor eax, eax
push edi
xor ebx, ebx
push 0x3e
lea ecx, [ebp - 0x66]
push ebx
push ecx
mov byte [ebp - 0x24], bl
mov dword [ebp - 0x23], eax
mov dword [ebp - 0x1f], eax
mov dword [ebp - 0x1b], eax
mov dword [ebp - 0x17], eax
mov dword [ebp - 0x13], eax
mov dword [ebp - 0xf], eax
mov dword [ebp - 0xb], eax
mov word [ebp - 7], ax
mov byte [ebp - 5], al
mov word [ebp - 0x68], ax
call fcn.00414930
add esp, 0xc
push 0x3fe
lea eax, [ebp - 0x56e]
xor edx, edx
push ebx
push eax
mov word [ebp - 0x570], dx
call fcn.00414930
add esp, 0xc
push 0x103
lea ecx, [ebp - 0x16f]
push ebx
push ecx
mov byte [ebp - 0x170], bl
call fcn.00414930
lea edx, [ebp - 0x24]
add esp, 0xc
push edx
call fcn.004056c0
add esp, 4
test eax, eax
je 0x40ca64
lea eax, [ebp - 0x68]
push eax
lea ebx, [ebp - 0x24]
call fcn.00405630
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
add esp, 4
lea ecx, [ebp - 0x68]
push ecx
lea edx, [ebp - 0x570]
push str._t_t_Delete_PnP__Check_PnP___s__Exist__Delete...
push edx
call edi
lea eax, [ebp - 0x570]
add esp, 0xc
push eax
call fcn.004033d0
add esp, 4
mov ecx, ebx
push ecx
lea edx, [ebp - 0x170]
push str.pnputil.exe__f__d__s
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push str.GetNativeSystemInfo
push str.kernel32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40c8ce
lea ecx, [ebp - 0x598]
push ecx
call eax
movzx eax, word [ebp - 0x598]
test eax, eax
je 0x40c921
cmp eax, 9
je 0x40c8e7
cmp byte [ebp - 0x571], 0
je 0x40c921
call fcn.004038b0
cmp eax, 1
jne 0x40c909
push 0
lea edx, [ebp - 0x170]
push edx
call dword [sym.imp.KERNEL32.dll_WinExec]
mov esi, eax
call fcn.00403910
jmp 0x40c932
push 0x422f18
call fcn.004033d0
add esp, 4
push 0
lea eax, [ebp - 0x170]
push eax
jmp 0x40c92a
push 0
lea ecx, [ebp - 0x170]
push ecx
call dword [sym.imp.KERNEL32.dll_WinExec]
mov esi, eax
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x7d0
call ebx
push esi
cmp esi, 0x1f
ja 0x40c97e
lea edx, [ebp - 0x570]
push 0x422f80
push edx
call edi
lea eax, [ebp - 0x570]
add esp, 0xc
push eax
call fcn.004033d0
inc dword [0x4288f0]
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x570]
push str._t_t_Delete_PnP__PnP_Delete_Result_0x_X___Check_Delete...
push ecx
call edi
lea edx, [ebp - 0x570]
add esp, 0xc
push edx
call fcn.004033d0
add esp, 4
mov esi, 1
push 0x7d0
call ebx
lea eax, [ebp - 0x24]
push eax
call fcn.004056c0
add esp, 4
push 0x400
lea ecx, [ebp - 0x570]
push 0
push ecx
test eax, eax
je 0x40ca35
call fcn.00414930
add esp, 0xc
push esi
lea edx, [ebp - 0x570]
push 0x423108
push edx
call edi
lea eax, [ebp - 0x570]
add esp, 0xc
push eax
call fcn.004033d0
inc esi
add esp, 4
cmp esi, 3
jle 0x40c9a3
push 0xfa0
call ebx
lea ecx, [ebp - 0x24]
push ecx
call fcn.004056c0
add esp, 4
test eax, eax
je 0x40ca5d
push 0x423168
call fcn.004033d0
add dword [0x4288f0], 2
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret
call fcn.00414930
add esp, 0xc
push esi
lea edx, [ebp - 0x570]
push 0x4230a8
push edx
call edi
add esp, 0xc
lea eax, [ebp - 0x570]
push eax
call fcn.004033d0
jmp 0x40ca6e
push str._t_t_Delete_PnP__Check
jmp 0x40ca69
push str._t_t_Delete_PnP__PnP_oemX.inf_not_Exist.
call fcn.004033d0
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
pop esi
xor ecx, ebp
mov al, 1
pop ebx
call fcn.0040d7f6
mov esp, ebp
pop ebp
ret