Function at 0x407e40
Capabilities:
Check if file exists
Extract resource via kernel32 functions
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x568790
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x5d4050]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x40]
call fcn.00417580
push str.SysWOW64_setupapi.dll
lea edx, [ebp - 0x40]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.004085b0
add esp, 4
mov byte [ebp - 4], 1
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x407f02
push str._system32_setupapi.dll
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x64]
call fcn.004085b0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x28]
cmp eax, esi
je 0x407ef1
cmp dword [ebp - 0x14], 8
jb 0x407ed4
push dword [ebp - 0x28]
call fcn.00421c08
add esp, 4
xor eax, eax
mov dword [ebp - 0x14], 7
push esi
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
call fcn.00402fc0
cmp dword [ebp - 0x50], 8
jb 0x407f02
push dword [ebp - 0x64]
call fcn.00421c08
add esp, 4
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
jne 0x407f22
or esi, 0xffffffff
jmp 0x4080b9
push 5
push 0x14c2
push edi
mov dword [ebp - 0x48], 0
xor esi, esi
mov dword [ebp - 0x4c], 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov ebx, dword [sym.imp.KERNEL32.dll_LockResource]
test eax, eax
jne 0x407f5c
push 5
push 0x90a
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x407f8b
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x407f8b
push eax
call ebx
push dword [ebp - 0x44]
mov ecx, 0xffff
cmp word [eax + 2], cx
jne 0x407f83
call ebx
add eax, 0x1e
jmp 0x407f88
call ebx
add eax, 0x16
mov dword [ebp - 0x48], eax
push 5
push 0x14c4
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
jne 0x407faf
push 5
push 0x90c
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x407fde
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x407fde
push eax
call ebx
push dword [ebp - 0x44]
mov ecx, 0xffff
cmp word [eax + 2], cx
jne 0x407fd6
call ebx
add eax, 0x1e
jmp 0x407fdb
call ebx
add eax, 0x16
mov dword [ebp - 0x4c], eax
push 5
push 0x910
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x408019
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov edi, eax
test edi, edi
je 0x408019
push edi
call ebx
mov ecx, 0xffff
push edi
cmp word [eax + 2], cx
jne 0x408014
call ebx
lea esi, [eax + 0x1e]
jmp 0x408019
call ebx
lea esi, [eax + 0x16]
mov eax, dword [ebp - 0x48]
mov edi, dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x408032
push eax
push 0
call edi
mov dword [0x5e06d4], eax
jmp 0x408037
mov eax, dword [0x5e06d4]
test eax, eax
jne 0x408062
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x408050
push eax
push 0
call edi
mov dword [0x5e06d4], eax
test eax, eax
jne 0x408062
test esi, esi
je 0x4080b4
push esi
push 0
call edi
mov dword [0x5e06d4], eax
test eax, eax
je 0x4080b4
mov esi, dword [sym.imp.USER32.dll_IsWindow]
push eax
call esi
test eax, eax
je 0x4080aa
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x408080
push 0
push dword [0x5e06d4]
call edi
push 0
push 0x14b7
push 0x111
push dword [0x5e06d4]
call ebx
push dword [0x5e06d4]
call esi
test eax, eax
jne 0x408080
mov dword [0x5e06d4], 0
mov esi, 1
cmp dword [ebp - 0x14], 8
jb 0x4080ca
push dword [ebp - 0x28]
call fcn.00421c08
add esp, 4
xor eax, eax
mov dword [ebp - 0x14], 7
cmp dword [ebp - 0x2c], 8
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
jb 0x4080ef
push dword [ebp - 0x40]
call fcn.00421c08
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00549fe1
mov esp, ebp
pop ebp
ret