Function at 0x473e80
Capabilities:
Create directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x720
mov eax, dword [0x4e412c]
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp dword [ebp + 8], 1
jne 0x473ea5
mov dword [ebp - 0x70c], 0x4cd19c
jmp 0x473ecd
cmp dword [ebp + 8], 2
jne 0x473eb7
mov dword [ebp - 0x710], 0x4cd1a0
jmp 0x473ec1
mov dword [ebp - 0x710], 0x4cd1a8
mov eax, dword [ebp - 0x710]
mov dword [ebp - 0x70c], eax
mov ecx, dword [ebp - 0x70c]
push ecx
push 0x4cd1b0
push 0
call fcn.00476210
add esp, 0xc
mov dword [ebp - 0x360], 0xfffffffd
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x364], 0
mov dword [ebp - 0x34c], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x35c], 0xffffffff
push 3
call fcn.00476290
add esp, 4
cmp dword [ebp + 0x18], 0
je 0x473f35
mov edx, dword [ebp + 0x18]
mov dword [edx], 0
push 0x338
push 0
lea eax, [ebp - 0x348]
push eax
call fcn.004886d0
add esp, 0xc
mov dword [ebp - 0x348], 0xffffffff
mov dword [ebp - 0x334], 0xffffffff
call fcn.00473800
push eax
call fcn.004640c0
add esp, 4
mov dword [ebp - 0x35c], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 1
jg 0x473f84
mov dword [ebp - 0xc], 0x4cd1dc
jmp 0x473f9c
mov edx, dword [ebp + 0x14]
cmp dword [edx], 6
jg 0x473f95
mov dword [ebp - 0xc], 0x4cd1e8
jmp 0x473f9c
mov dword [ebp - 0xc], 0x4cd1f8
push 0x4cd204
push 0
call fcn.00476210
add esp, 8
cmp dword [ebp - 0x35c], 0
jg 0x473fed
mov dword [ebp - 0xc], 0
push 0x104
lea eax, [ebp - 0x328]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov dword [ebp - 0x364], eax
push 0x104
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x328]
push edx
call fcn.00464040
add esp, 0xc
jmp 0x473ff4
mov byte [ebp - 0x328], 0
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x35c]
cmp ecx, dword [eax]
je 0x47409f
mov edx, dword [ebp + 0x10]
push edx
call fcn.00489c70
add esp, 4
add eax, 1
push eax
call fcn.0047645c
add esp, 4
mov dword [ebp - 0x6ec], eax
mov eax, dword [ebp - 0x6ec]
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x36c]
push edx
call fcn.00489ae0
add esp, 8
push 0x5c
mov eax, dword [ebp - 0x36c]
push eax
call fcn.00468570
add esp, 8
mov byte [eax], 0
push 0x104
mov ecx, dword [ebp - 0x36c]
push ecx
lea edx, [ebp - 0x328]
push edx
call fcn.00464040
add esp, 0xc
mov eax, dword [ebp + 0xc]
push eax
push str.__s_
push 0
call fcn.00476210
add esp, 0xc
mov ecx, dword [ebp - 0x36c]
mov dword [ebp - 0x6f0], ecx
mov edx, dword [ebp - 0x6f0]
push edx
call fcn.00476457
add esp, 4
lea eax, [ebp - 0x328]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x35c]
push ecx
push 0x4cd280
push 0
call fcn.00476210
add esp, 0x18
push 0x4cd26c
push 0
call fcn.00476210
add esp, 8
mov dword [ebp - 0x350], 1
cmp dword [ebp - 0x350], 0
je 0x47418d
mov dword [ebp - 0x358], 0
cmp dword [ebp + 8], 1
jne 0x474108
mov dword [ebp - 0x714], 0x4cd2cc
jmp 0x47411e
mov edx, dword [ebp + 8]
sub edx, 2
neg edx
sbb edx, edx
and edx, 0x4cd2d0
mov dword [ebp - 0x714], edx
lea eax, [ebp - 0x358]
push eax
push 2
mov ecx, dword [ebp - 0x714]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupOpenInfFileA]
mov dword [ebp - 0x338], eax
cmp dword [ebp - 0x338], 0xffffffff
jne 0x47418d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00476270
add esp, 4
mov dword [ebp - 0x360], 0xfffffffc
mov dword [ebp - 0x350], 0
call fcn.00476280
push eax
mov eax, dword [ebp + 0x10]
push eax
push 0x4cd2d8
push 0
call fcn.00476210
add esp, 0x10
jmp 0x474c37
cmp dword [ebp - 0x350], 0
je 0x474206
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0x35c]
jne 0x474206
cmp dword [ebp + 8], 0
jne 0x474206
lea eax, [ebp - 0x358]
push eax
mov ecx, dword [ebp - 0x338]
push ecx
push 0
call dword [sym.imp.SETUPAPI.dll_SetupOpenAppendInfFileA]
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
jne 0x474206
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00476270
add esp, 4
mov dword [ebp - 0x360], 0xfffffffe
call fcn.00476280
push eax
push 0x4cd308
push 0
call fcn.00476210
add esp, 0xc
mov dword [ebp - 0x350], 1
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp - 0x338]
push eax
call fcn.00474f70
add esp, 8
push 0x4cd33c
push 0
call fcn.00476210
add esp, 8
cmp dword [ebp - 0x350], 0
je 0x474624
cmp dword [ebp + 8], 0
jne 0x474624
mov dword [ebp - 0x364], 0
lea ecx, [ebp - 0x364]
push ecx
push 0
push 0
push 1
mov edx, dword [ebp - 0xc]
push edx
push 0
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryA
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
jne 0x474382
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x474382
mov eax, dword [ebp - 0x364]
push eax
call fcn.0047645c
add esp, 4
mov dword [ebp - 0x6f4], eax
mov ecx, dword [ebp - 0x6f4]
mov dword [ebp - 0x18], ecx
lea edx, [ebp - 0x364]
push edx
mov eax, dword [ebp - 0x364]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
push 1
mov edx, dword [ebp - 0xc]
push edx
push 0
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryA
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
je 0x474356
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x70], 4
jl 0x474356
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x44], 0
je 0x474356
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0x44]
push eax
call fcn.00489c70
add esp, 4
test eax, eax
jbe 0x474356
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x370], ecx
cmp dword [ebp + 0x1c], 0
je 0x474356
mov edx, dword [ebp - 0x370]
push edx
call fcn.00489c70
add esp, 4
cmp dword [ebp + 0x20], eax
jbe 0x474356
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x44]
push ecx
mov edx, dword [ebp - 0x370]
push edx
push 0x4cd35c
mov eax, dword [ebp + 0x1c]
push eax
call fcn.00489bd8
add esp, 0x10
push 0
mov ecx, dword [ebp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.00489ae0
add esp, 8
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x364]
push edx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [ebp - 0x350]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
push 0x4cd368
push 0
call fcn.00476210
add esp, 0x1c
cmp dword [ebp - 0x350], 0
je 0x4743c4
mov edx, dword [ebp - 0x18]
push edx
push 0x101d0
mov eax, dword [ebp - 0x338]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdA]
mov dword [ebp - 0x350], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp - 0x350]
push ecx
push 0x4cd3c8
push 0
call fcn.00476210
add esp, 0x10
lea edx, [ebp - 0x364]
push edx
push 0
push 0
push 1
mov eax, dword [ebp - 0xc]
push eax
push 0
call sub.WINSPOOL.DRV_GetPrintProcessorDirectoryA
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
jne 0x4744d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4744d9
mov ecx, dword [ebp - 0x364]
push ecx
call fcn.0047645c
add esp, 4
mov dword [ebp - 0x6f8], eax
mov edx, dword [ebp - 0x6f8]
mov dword [ebp - 0x374], edx
lea eax, [ebp - 0x364]
push eax
mov ecx, dword [ebp - 0x364]
push ecx
mov edx, dword [ebp - 0x374]
push edx
push 1
mov eax, dword [ebp - 0xc]
push eax
push 0
call sub.WINSPOOL.DRV_GetPrintProcessorDirectoryA
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
je 0x4744a8
mov ecx, dword [ebp - 0x374]
push ecx
push 0x101d1
mov edx, dword [ebp - 0x338]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdA]
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
je 0x474490
mov eax, dword [ebp - 0x374]
push eax
push 0x4cd400
push 0
call fcn.00476210
add esp, 0xc
jmp 0x4744a6
mov ecx, dword [ebp - 0x374]
push ecx
push 0x4cd434
push 0
call fcn.00476210
add esp, 0xc
jmp 0x4744be
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4cd46c
push 2
call fcn.00476210
add esp, 0xc
mov edx, dword [ebp - 0x374]
mov dword [ebp - 0x6fc], edx
mov eax, dword [ebp - 0x6fc]
push eax
call fcn.00476457
add esp, 4
mov dword [ebp - 0x364], 0
lea ecx, [ebp - 0x364]
push ecx
push 0
push 0
call fcn.00476320
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
jne 0x4745e3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4745e3
mov edx, dword [ebp - 0x364]
push edx
call fcn.0047645c
add esp, 4
mov dword [ebp - 0x700], eax
mov eax, dword [ebp - 0x700]
mov dword [ebp - 0x378], eax
lea ecx, [ebp - 0x364]
push ecx
mov edx, dword [ebp - 0x378]
push edx
push 0
call fcn.00476320
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
je 0x4745b2
mov eax, dword [ebp - 0x378]
push eax
push 0x101d3
mov ecx, dword [ebp - 0x338]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdA]
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
je 0x47459a
mov edx, dword [ebp - 0x378]
push edx
push 0x4cd494
push 0
call fcn.00476210
add esp, 0xc
jmp 0x4745b0
mov eax, dword [ebp - 0x378]
push eax
push 0x4cd4bc
push 0
call fcn.00476210
add esp, 0xc
jmp 0x4745c8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4cd4e8
push 2
call fcn.00476210
add esp, 0xc
mov ecx, dword [ebp - 0x378]
mov dword [ebp - 0x704], ecx
mov edx, dword [ebp - 0x704]
push edx
call fcn.00476457
add esp, 4
push 0x105
lea eax, [ebp - 0x223]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
xor ecx, ecx
cmp ecx, eax
sbb edx, edx
neg edx
mov dword [ebp - 0x350], edx
je 0x474624
lea eax, [ebp - 0x223]
push eax
push 0x101d2
mov ecx, dword [ebp - 0x338]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdA]
mov dword [ebp - 0x350], eax
push 0x4cd508
push 0
call fcn.00476210
add esp, 8
cmp dword [ebp - 0x350], 0
je 0x4746d6
call dword [sym.imp.SETUPAPI.dll_SetupOpenFileQueue]
mov dword [ebp - 0x334], eax
cmp dword [ebp - 0x334], 0xffffffff
jne 0x474690
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00476270
add esp, 4
mov dword [ebp - 0x360], 0xfffffffe
mov dword [ebp - 0x350], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4cd51c
push 0
call fcn.00476210
add esp, 0xc
jmp 0x4746d6
mov edx, dword [ebp + 0x14]
cmp dword [edx], 9
jne 0x4746b4
cmp dword [ebp - 0x35c], 4
jl 0x4746b4
push 0
mov eax, dword [ebp - 0x334]
push eax
call fcn.004750d0
add esp, 8
jmp 0x4746d6
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 7
jl 0x4746d6
cmp dword [ebp - 0x35c], 4
jl 0x4746d6
push 0
mov edx, dword [ebp - 0x334]
push edx
call fcn.00475030
add esp, 8
push 0x400
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x334]
push eax
push 0
mov ecx, dword [ebp - 0x338]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupInstallFilesFromInfSectionA]
mov dword [ebp - 0x350], eax
mov dword [ebp - 8], 0
jmp 0x474714
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp dword [ebp - 0x350], 0
je 0x4747ec
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + eax*4 + 0x10], 0
je 0x4747ec
push 0x400
movsx edx, byte [ebp - 0x328]
neg edx
sbb edx, edx
lea eax, [ebp - 0x328]
and edx, eax
push edx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + ecx*4 + 0x10]
push eax
mov ecx, dword [ebp - 0x334]
push ecx
push 0
mov edx, dword [ebp - 0x338]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupInstallFilesFromInfSectionA]
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
je 0x474787
mov dword [ebp - 0x718], 0x4cd548
jmp 0x474791
mov dword [ebp - 0x718], 0x4cd550
movsx eax, byte [ebp - 0x328]
test eax, eax
je 0x4747aa
lea ecx, [ebp - 0x328]
mov dword [ebp - 0x71c], ecx
jmp 0x4747b4
mov dword [ebp - 0x71c], 0x4cd558
mov edx, dword [ebp - 0x718]
push edx
mov eax, dword [ebp - 0x71c]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + ecx*4 + 0x10]
push eax
push 0x4cd560
push 0
call fcn.00476210
add esp, 0x14
cmp dword [ebp - 0x350], 0
jne 0x4747e7
jmp 0x4747ec
jmp 0x47470b
cmp dword [ebp - 0x350], 0
jne 0x47482e
mov dword [ebp - 0x360], 0xfffffffe
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00476270
add esp, 4
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0xc]
push eax
call fcn.00476280
push eax
push 0x4cd5c0
push 0
call fcn.00476210
add esp, 0x14
push 0xa
call fcn.00469840
add esp, 4
push 0x4cd60c
push 0
call fcn.00476210
add esp, 8
call fcn.004762c0
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x350], 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x3c]
mov dword [0x5401ec], edx
push 0
push 0x474d30
mov eax, dword [ebp - 0x334]
push eax
mov ecx, dword [ebp - 0x354]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupCommitFileQueueA]
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
jne 0x4748fa
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00476270
add esp, 4
call fcn.00476280
mov dword [ebp - 0x720], eax
cmp dword [ebp - 0x720], 0x70
je 0x4748cf
cmp dword [ebp - 0x720], 0x4c7
je 0x4748c3
jmp 0x4748db
mov dword [ebp - 0x360], 0xfffffffb
jmp 0x4748e5
mov dword [ebp - 0x360], 0xfffffffa
jmp 0x4748e5
mov dword [ebp - 0x360], 0xfffffffe
call fcn.00476280
push eax
push 0x4cd61c
push 0
call fcn.00476210
add esp, 0xc
push str.Check_for_reboot..._n
push 0
call fcn.00476210
add esp, 8
cmp dword [ebp - 0x350], 0
je 0x474973
push 1
mov edx, dword [ebp - 0x354]
push edx
mov eax, dword [ebp - 0x334]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupPromptReboot]
mov dword [ebp - 0x360], eax
cmp dword [ebp - 0x360], 0xffffffff
jne 0x474952
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00476270
add esp, 4
mov dword [ebp - 0x360], 0xfffffffe
jmp 0x474973
cmp dword [ebp + 0x18], 0
je 0x474973
mov ecx, dword [ebp - 0x360]
or ecx, dword [ebp - 0x368]
mov edx, dword [ebp + 0x18]
mov dword [edx], ecx
mov dword [ebp - 0x360], 0
cmp dword [ebp - 0x35c], 0
jg 0x474c37
push 0x104
lea eax, [ebp - 0x690]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x4cd654
lea ecx, [ebp - 0x690]
push ecx
call fcn.00489af0
add esp, 8
push 0x5c
mov edx, dword [ebp + 0x10]
push edx
call fcn.00468590
add esp, 8
push eax
lea eax, [ebp - 0x690]
push eax
call fcn.00489af0
add esp, 8
push 0
lea ecx, [ebp - 0x690]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [ebp - 0x690]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
push 0x4cd65c
push 0
call fcn.00476210
add esp, 0x10
mov edx, dword [ebp + 0x14]
cmp dword [edx + 0x38], 0
je 0x474c37
push 0x104
lea eax, [ebp - 0x480]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x4cd678
lea ecx, [ebp - 0x480]
push ecx
call fcn.00489af0
add esp, 8
push 0x5c
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0x38]
push eax
call fcn.00468570
add esp, 8
push eax
lea ecx, [ebp - 0x480]
push ecx
call fcn.00489af0
add esp, 8
push 0
lea edx, [ebp - 0x480]
push edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x38]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea edx, [ebp - 0x480]
push edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x38]
push ecx
push 0x4cd688
push 0
call fcn.00476210
add esp, 0x10
push 0x104
lea edx, [ebp - 0x588]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push 0x44
push 0
lea eax, [ebp - 0x6e8]
push eax
call fcn.004886d0
add esp, 0xc
push 0x10
push 0
lea ecx, [ebp - 0x6a0]
push ecx
call fcn.004886d0
add esp, 0xc
mov dword [ebp - 0x6e8], 0x44
lea edx, [ebp - 0x690]
push edx
lea eax, [ebp - 0x588]
push eax
push 0x4cd6a8
lea ecx, [ebp - 0x480]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [ebp - 0x6a0]
push edx
lea eax, [ebp - 0x6e8]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x480]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x474b22
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4cd6c0
push 0
call fcn.00476210
add esp, 0xc
jmp 0x474b64
push 0xea60
mov edx, dword [ebp - 0x6a0]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x474b4a
push 0x63
mov eax, dword [ebp - 0x6a0]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, dword [ebp - 0x6a0]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x69c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x44
push 0
lea eax, [ebp - 0x6e8]
push eax
call fcn.004886d0
add esp, 0xc
push 0x10
push 0
lea ecx, [ebp - 0x6a0]
push ecx
call fcn.004886d0
add esp, 0xc
mov dword [ebp - 0x6e8], 0x44
lea edx, [ebp - 0x588]
push edx
push 0x4cd6e4
lea eax, [ebp - 0x480]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x6a0]
push ecx
lea edx, [ebp - 0x6e8]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x480]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x474bf5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4cd6f8
push 0
call fcn.00476210
add esp, 0xc
jmp 0x474c37
push 0xea60
mov ecx, dword [ebp - 0x6a0]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x474c1d
push 0x63
mov edx, dword [ebp - 0x6a0]
push edx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [ebp - 0x6a0]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x69c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x708], edx
mov eax, dword [ebp - 0x708]
push eax
call fcn.00476457
add esp, 4
cmp dword [ebp - 0x338], 0xffffffff
je 0x474c65
mov ecx, dword [ebp - 0x338]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
cmp dword [ebp - 0x334], 0xffffffff
je 0x474c7b
mov edx, dword [ebp - 0x334]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupCloseFileQueue]
call fcn.00474cb0
push eax
push 0x4cd71c
push 0
call fcn.00476210
add esp, 0xc
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00488550
mov esp, ebp
pop ebp
ret