Function at 0x4173f7
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c4
mov eax, dword [0x4bea34]
xor eax, esp
mov dword [esp + 0x3c0], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
xor ebx, ebx
push edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], ebx
call fcn.004474f1
mov ecx, eax
call fcn.0044753e
test al, al
jne 0x417502
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x41745b
push eax
lea esi, [esp + 0xe4]
mov dword [esp + 0x24], 1
call fcn.00415fdc
pop ecx
jmp 0x417471
push str.Failed_to_create_temporary_directory.
lea eax, [esp + 0x74]
mov dword [esp + 0x24], 2
call fcn.004040e1
lea esi, [esp + 0xc4]
call fcn.004011a0
test byte [esp + 0x20], 2
je 0x417495
and dword [esp + 0x20], 0xfffffffd
push ebx
push 1
lea esi, [esp + 0x78]
call fcn.004012a8
test byte [esp + 0x20], 1
je 0x4174ab
push ebx
push 1
lea esi, [esp + 0xe8]
call fcn.004012a8
cmp dword [esp + 0xdc], 8
mov edi, dword [esp + 0xc8]
jae 0x4174c3
lea edi, [esp + 0xc8]
push ecx
mov eax, esp
mov dword [esp + 0x38], esp
push eax
call fcn.004187c4
xor ecx, ecx
call fcn.00416642
pop ecx
push ebx
push 1
lea esi, [esp + 0xcc]
call fcn.004012a8
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3cc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00470af5
mov esp, ebp
pop ebp
ret 0x10
push esi
lea ecx, [esp + 0x1fc]
call fcn.00401a8f
lea eax, [esp + 0x68]
lea ecx, [esp + 0x1f8]
call fcn.004188df
mov esi, eax
lea eax, [esp + 0x54]
lea ecx, [esp + 0x1f8]
call fcn.004188bf
push dword [esi + 4]
push dword [esi]
lea esi, [esp + 0x21c]
push dword [eax + 4]
push dword [eax]
call fcn.00418db4
push str._selfupdate
mov eax, esi
push eax
call fcn.00418904
mov edi, dword [sym.imp.KERNEL32.dll_OpenMutexW]
push str.E713B767_8C16_4231_89DD_CF5277C9E3FE
push ebx
cmp eax, 0xffffffff
push 0x1f0001
setne byte [esp + 0x3f]
call edi
cmp byte [esp + 0x33], bl
mov dword [esp + 0x10], eax
je 0x417582
lea esi, [esp + 0x10]
call fcn.0041690f
lea esi, [esp + 0x10]
call fcn.00416932
test al, al
jne 0x4175c7
push 0x4a56f8
push ebx
push 0x1f0001
call edi
mov esi, eax
cmp esi, ebx
je 0x4175d4
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea esi, [esp + 0x10]
call fcn.0041690f
call fcn.00416932
cmp dword [esp + 0x10], ebx
jne 0x417615
mov edi, 0x80070006
jmp 0x4175f0
cmp dword [esp + 0x10], ebx
je 0x4175ee
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
push ebx
push 1
lea esi, [esp + 0x21c]
call fcn.004012a8
push ebx
push 1
lea ecx, [esp + 0x200]
call fcn.00401e14
mov eax, edi
jmp 0x4174eb
lea eax, [esp + 0x54]
push eax
call fcn.004167a7
lea esi, [esp + 0x48]
call fcn.00415f0e
lea edi, [esp + 0x150]
call fcn.00435367
cmp dword [esp + 0x198], ebx
jne 0x4176e8
lea esi, [esp + 0x14]
call fcn.004423d8
mov eax, esi
push eax
call fcn.00434de3
cmp dword [esp + 0x154], 2
pop ecx
lea esi, [esp + 0x38]
jne 0x417675
push str.DivXSetupUninstall.log
call fcn.004423fd
mov dword [esp + 0x20], 4
jmp 0x417687
push str.DivXSetup.log
call fcn.004423fd
mov dword [esp + 0x20], 8
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x18]
call fcn.00442544
test byte [esp + 0x20], 8
je 0x4176aa
and dword [esp + 0x20], 0xfffffff7
lea eax, [esp + 0x38]
call fcn.004424c3
test byte [esp + 0x20], 4
je 0x4176bf
and dword [esp + 0x20], 0xfffffffb
lea eax, [esp + 0x38]
call fcn.004424c3
lea eax, [esp + 0x14]
call fcn.004427cc
mov esi, eax
push esi
call fcn.0047137a
pop ecx
mov ecx, esi
lea esi, [esp + 0x184]
call fcn.00404a96
lea eax, [esp + 0x14]
call fcn.004424c3
lea eax, [esp + 0x230]
push eax
call fcn.004033cc
lea ecx, [esp + 0x230]
call fcn.004035d6
lea ecx, [esp + 0x70]
lea eax, [esp + 0x230]
call fcn.00415f5a
push eax
push ecx
call fcn.00441957
pop ecx
push eax
call fcn.00441988
push ebx
push 1
lea esi, [esp + 0x78]
call fcn.004012a8
push str.Locale
lea eax, [esp + 0xe4]
mov dword [esp + 0x118], 7
mov dword [esp + 0x114], ebx
mov word [esp + 0x104], bx
call fcn.004040e1
lea eax, [esp + 0xfc]
push eax
lea eax, [esp + 0x74]
push eax
call fcn.00430229
pop ecx
lea edi, [esp + 0xe4]
mov ecx, eax
call fcn.0043bdf0
pop ecx
push ebx
push 1
lea esi, [esp + 0x78]
mov byte [esp + 0x27], al
call fcn.004012a8
push ebx
push 1
mov esi, edi
call fcn.004012a8
cmp byte [esp + 0x1f], bl
je 0x4177cc
lea eax, [esp + 0xfc]
push eax
push ecx
call fcn.00441957
pop ecx
push eax
call fcn.00441b00
cmp dword [esp + 0x150], 2
jne 0x4177cc
lea eax, [esp + 0xfc]
push eax
push ecx
call fcn.00441957
pop ecx
push eax
call fcn.00441988
lea eax, [esp + 0x230]
push eax
lea edi, [esp + 0x74]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], vtable.dxtl::RefCountedPtr_class_dxi::IDivXInstall_.0
call fcn.004163b9
pop ecx
push eax
lea esi, [esp + 0x48]
call fcn.00446f4e
pop ecx
push ebx
push 1
mov esi, edi
call fcn.004012a8
push 0x20
call fcn.004708e3
mov esi, eax
cmp esi, ebx
pop ecx
je 0x417846
cmp dword [esp + 0x19c], 8
mov eax, dword [esp + 0x188]
jae 0x417825
lea eax, [esp + 0x188]
push eax
lea eax, [esp + 0xe4]
call fcn.004040e1
or dword [esp + 0x20], 0x10
push esi
lea ecx, [esp + 0xe4]
call fcn.00446fcf
jmp 0x417848
xor eax, eax
lea ecx, [esp + 0x28]
push ecx
mov edi, eax
call fcn.00418921
test byte [esp + 0x20], 0x10
je 0x41786a
push ebx
push 1
lea esi, [esp + 0xe8]
call fcn.004012a8
mov edi, dword [esp + 0x44]
push dword [esp + 0x2c]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x4c]
cmp byte [0x1cd07ec], bl
je 0x41789b
mov esi, dword [esp + 0x2c]
add esi, 0x10
lea ebx, [esp + 0x38]
mov dword [esp + 0x38], 0x1cd07e8
call fcn.0044749b
xor ebx, ebx
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x230]
push eax
lea eax, [esp + 0x154]
push eax
call fcn.00416aef
cmp eax, ebx
pop ecx
pop ecx
mov dword [esp + 0x34], eax
jne 0x417947
lea ecx, [esp + 0x28]
call fcn.00411c8a
lea ecx, [esp + 0x40]
call fcn.004011eb
push ebx
push 1
lea esi, [esp + 0x104]
call fcn.004012a8
lea eax, [esp + 0x230]
push eax
call fcn.004185ba
lea edi, [esp + 0x150]
call fcn.0041857f
cmp byte [esp + 0x50], bl
je 0x41790c
push dword [esp + 0x4c]
call dword [sym.imp.USER32.dll_SetCursor]
call fcn.004464d5
call fcn.0044652d
push dword [esp + 0x54]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.00415cb7
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or edi, 0xffffffff
jmp 0x4175f0
cmp dword [esp + 0x150], 2
je 0x417dd1
push dword [esp + 0x180]
lea eax, [esp + 0x234]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
call fcn.00415fc5
sub esp, 0x1c
mov ecx, esp
lea eax, [esp + 0x26c]
mov dword [esp + 0x74], esp
call fcn.00415fb0
mov ecx, edi
call fcn.00416959
add esp, 0x3c
cmp eax, ebx
mov dword [esp + 0x38], eax
je 0x417a22
lea ecx, [esp + 0x28]
call fcn.00411c8a
lea ecx, [esp + 0x40]
call fcn.004011eb
push ebx
push 1
lea esi, [esp + 0x104]
call fcn.004012a8
lea eax, [esp + 0x230]
push eax
call fcn.004185ba
lea edi, [esp + 0x150]
call fcn.0041857f
cmp byte [esp + 0x50], bl
je 0x4179e6
push dword [esp + 0x4c]
call dword [sym.imp.USER32.dll_SetCursor]
call fcn.004464d5
call fcn.0044652d
push dword [esp + 0x54]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.00415cb7
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [esp + 0x38]
jmp 0x4175f0
cmp byte [esp + 0x33], bl
jne 0x417e3a
push 0x4a1930
lea ecx, [esp + 0xe4]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], vtable.dxtl::RefCountedPtr_class_dxi::IComponent_.0
call fcn.00401a8f
mov eax, dword [edi]
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0xe4]
push ecx
mov ecx, edi
call dword [eax + 0x60]
push ebx
push 1
lea ecx, [esp + 0xe8]
mov esi, eax
call fcn.00401e14
cmp esi, ebx
jne 0x417dc6
lea esi, [esp + 0x14]
mov byte [esp + 0x9c], bl
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
call fcn.004423d8
mov ecx, esi
call fcn.004427dc
mov eax, esi
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
call fcn.004427cc
push eax
lea eax, [esp + 0xe4]
call fcn.004040e1
lea edi, [esp + 0xe0]
lea esi, [esp + 0x5c]
call fcn.00409c0b
push ebx
push 1
mov esi, edi
mov byte [esp + 0x27], al
call fcn.004012a8
cmp byte [esp + 0x1f], bl
je 0x417da7
push 0x4a1918
lea eax, [esp + 0xe4]
mov dword [esp + 0xe0], 7
mov dword [esp + 0xdc], ebx
mov word [esp + 0xcc], bx
call fcn.004040e1
lea eax, [esp + 0xc4]
push eax
lea edx, [esp + 0xe4]
lea ecx, [esp + 0x60]
call fcn.00409c86
push ebx
push 1
lea esi, [esp + 0xe8]
call fcn.004012a8
lea eax, [esp + 0xc4]
lea esi, [esp + 0x8c]
call fcn.00444fac
cmp dword [esp + 0xdc], 8
mov ecx, dword [esp + 0xc8]
jae 0x417b6e
lea ecx, [esp + 0xc8]
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
push ecx
push str.Setup_version__s_n
push eax
call dword [edx + 0x18]
add esp, 0xc
push ebx
push 1
lea esi, [esp + 0xcc]
call fcn.004012a8
push str.0.0.0.0
lea eax, [esp + 0xe4]
call fcn.004040e1
lea eax, [esp + 0xe0]
lea esi, [esp + 0xc4]
call fcn.00444fac
push ebx
push 1
lea esi, [esp + 0xe8]
mov byte [esp + 0xdc], al
call fcn.004012a8
mov ecx, dword [esp + 0x6c]
lea edx, [esp + 0xa8]
mov byte [esp + 0xb8], bl
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov eax, dword [ecx]
push edx
call dword [eax + 0x30]
lea eax, [esp + 0xc4]
lea ecx, [esp + 0x8c]
call fcn.004450bc
test eax, eax
je 0x417da7
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0xac]
push eax
call fcn.00444f7f
test al, al
je 0x417da7
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0x70]
push eax
lea esi, [esp + 0xac]
call fcn.00445017
cmp dword [eax + 0x18], 8
jb 0x417c56
mov eax, dword [eax + 4]
jmp 0x417c59
add eax, 4
mov ecx, dword [edi]
push eax
push str.A_new_version_of_DivXSetup_is_available_v_S_n
push edi
call dword [ecx + 0x18]
add esp, 0xc
push ebx
push 1
lea esi, [esp + 0x78]
call fcn.004012a8
push dword [esp + 0x18]
lea ecx, [esp + 0x1e0]
call fcn.00401a8f
lea eax, [esp + 0x38]
lea ecx, [esp + 0x1dc]
call fcn.004188df
mov esi, eax
lea eax, [esp + 0x20]
lea ecx, [esp + 0x1dc]
call fcn.004188bf
push dword [esi + 4]
push dword [esi]
lea esi, [esp + 0xe8]
push dword [eax + 4]
push dword [eax]
call fcn.00418db4
sub esp, 0x1c
mov eax, esi
mov esi, esp
mov dword [esp + 0x54], esp
call fcn.004011a0
lea ecx, [esp + 0x24c]
call fcn.00416fec
add esp, 0x1c
test al, al
push ebx
lea esi, [esp + 0xe4]
push 1
je 0x417d93
call fcn.004012a8
push ebx
push 1
lea ecx, [esp + 0x1e4]
call fcn.00401e14
push dword [esp + 0x60]
call fcn.00470b5f
pop ecx
lea eax, [esp + 0x14]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
call fcn.004424c3
lea ecx, [esp + 0x68]
call fcn.0040af88
lea ecx, [esp + 0x28]
call fcn.00411c8a
lea ecx, [esp + 0x40]
call fcn.004011eb
push ebx
push 1
lea esi, [esp + 0x104]
call fcn.004012a8
lea eax, [esp + 0x230]
push eax
call fcn.004185ba
lea edi, [esp + 0x150]
call fcn.0041857f
cmp byte [esp + 0x50], bl
je 0x417d6f
push dword [esp + 0x4c]
call dword [sym.imp.USER32.dll_SetCursor]
call fcn.004464d5
call fcn.0044652d
push dword [esp + 0x54]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.00415cb7
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x4175da
call fcn.004012a8
push ebx
push 1
lea ecx, [esp + 0x1e4]
call fcn.00401e14
push dword [esp + 0x60]
call fcn.00470b5f
pop ecx
lea eax, [esp + 0x14]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
call fcn.004424c3
mov edi, dword [esp + 0x44]
lea ecx, [esp + 0x68]
call fcn.0040af88
jmp 0x417e3a
cmp byte [esp + 0x182], bl
jne 0x417ebb
mov eax, dword [0x4c3680]
mov ecx, 0x4c3680
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x1a4]
push eax
call fcn.00417213
test al, al
pop ecx
pop ecx
je 0x417e1b
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.00405e8e
jmp 0x417d25
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
push esi
push 0x4a2194
push eax
call dword [ecx + 0x20]
add esp, 0xc
lea eax, [esi - 0x10]
call fcn.00405e8e
cmp dword [esp + 0x150], 2
je 0x417ebb
lea ecx, [esp + 0x8c]
mov byte [esp + 0x9c], bl
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x98]
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0x70]
push eax
lea esi, [esp + 0x90]
call fcn.00445017
cmp dword [eax + 0x18], 8
jb 0x417e99
mov eax, dword [eax + 4]
jmp 0x417e9c
add eax, 4
mov ecx, dword [edi]
push eax
push str.Manifest_version__s_n
push edi
call dword [ecx + 0x18]
add esp, 0xc
push ebx
push 1
lea esi, [esp + 0x78]
call fcn.004012a8
mov edi, dword [esp + 0x44]
cmp dword [esp + 0x168], ebx
je 0x417ed8
mov eax, dword [edi]
lea ecx, [esp + 0x154]
push ecx
mov ecx, edi
call dword [eax + 0x44]
jmp 0x417f70
push str.InstallDir
lea eax, [esp + 0x74]
mov dword [esp + 0xe0], 7
mov dword [esp + 0xdc], ebx
mov word [esp + 0xcc], bx
call fcn.004040e1
push 0x4a0d08
lea eax, [esp + 0x90]
call fcn.004040e1
lea eax, [esp + 0xc4]
push eax
lea edi, [esp + 0x74]
lea ecx, [esp + 0x90]
call fcn.0043bdf0
pop ecx
push ebx
push 1
lea esi, [esp + 0x94]
call fcn.004012a8
push ebx
push 1
mov esi, edi
call fcn.004012a8
cmp dword [esp + 0xd8], ebx
je 0x417f5d
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
lea edx, [esp + 0xc4]
push edx
call dword [eax + 0x44]
push ebx
push 1
lea esi, [esp + 0xcc]
call fcn.004012a8
mov edi, dword [esp + 0x44]
cmp dword [esp + 0x150], 2
jne 0x417f89
mov eax, dword [edi]
lea ecx, [esp + 0x1a0]
push ecx
mov ecx, edi
call dword [eax + 0x54]
push dword [esp + 0x18]
lea ecx, [esp + 0x74]
call fcn.00401a8f
lea edi, [esp + 0x70]
lea ebx, [esp + 0x134]
call fcn.00442261
xor ebx, ebx
push ebx
push 1
mov ecx, edi
call fcn.00401e14
cmp dword [esp + 0x148], ebx
jne 0x417fc2
mov ecx, str._empty_
jmp 0x417fda
cmp dword [esp + 0x14c], 8
mov ecx, dword [esp + 0x138]
jae 0x417fda
lea ecx, [esp + 0x138]
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
push ecx
push str.Command_line:__s_n_n
push eax
call dword [edx + 0x18]
mov edi, dword [esp + 0x50]
add esp, 0xc
lea ecx, [esp + 0x118]
mov dword [esp + 0x130], 7
mov dword [esp + 0x12c], ebx
mov word [esp + 0x11c], bx
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x48]
cmp dword [esp + 0x12c], ebx
jne 0x4180ca
lea esi, [esp + 0x20]
call fcn.004423d8
mov ecx, esi
call fcn.004428f5
test al, al
je 0x418211
push 0x4a2218
lea esi, [esp + 0x1c]
call fcn.004423fd
mov eax, esi
push eax
lea ecx, [esp + 0x24]
call fcn.00442544
mov eax, esi
call fcn.004424c3
lea eax, [esp + 0x20]
call fcn.004427cc
push eax
lea eax, [esp + 0x74]
call fcn.004040e1
mov eax, dword [edi]
lea ecx, [esp + 0x70]
push ecx
mov ecx, edi
call dword [eax + 0x44]
push ebx
push 1
lea esi, [esp + 0x78]
call fcn.004012a8
lea eax, [esp + 0x20]
call fcn.004427cc
push eax
lea eax, [esp + 0xc8]
call fcn.004040e1
push 0xffffffffffffffff
lea ecx, [esp + 0x11c]
push ecx
xor ebx, ebx
call fcn.00401220
push ebx
push 1
lea esi, [esp + 0xcc]
call fcn.004012a8
lea eax, [esp + 0x20]
call fcn.004424c3
cmp dword [esp + 0x130], 8
mov ecx, dword [esp + 0x11c]
jae 0x4180e2
lea ecx, [esp + 0x11c]
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
push ecx
push str.Default_install_dir:__s_n
push eax
call dword [edx + 0x18]
mov ebx, dword [esp + 0x38]
add esp, 0xc
call fcn.004162b9
test al, al
jne 0x418351
mov eax, dword [0x4c3680]
mov ecx, 0x4c3680
call dword [eax + 0xc]
push 0x90
add eax, 0x10
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
call fcn.0040adb9
mov esi, dword [esp + 0x18]
push ecx
add esi, 0xfffffff0
mov eax, esi
mov edi, esp
mov dword [esp + 0x38], esp
call fcn.00418b4e
add eax, 0x10
mov dword [edi], eax
mov ecx, dword [esp + 0x30]
call fcn.00416642
mov eax, dword [esp + 0x30]
pop ecx
mov ecx, dword [eax]
mov ebx, 0x80004005
push ebx
push str.exiting_with_error_0x_08x_n
push eax
call dword [ecx + 0x18]
add esp, 0xc
mov eax, esi
call fcn.00405e8e
xor edi, edi
push edi
push 1
lea esi, [esp + 0x120]
call fcn.004012a8
push edi
push 1
lea esi, [esp + 0x13c]
call fcn.004012a8
lea ecx, [esp + 0x28]
call fcn.00411c8a
lea ecx, [esp + 0x40]
call fcn.004011eb
push edi
push 1
lea esi, [esp + 0x104]
call fcn.004012a8
lea eax, [esp + 0x230]
push eax
call fcn.004185ba
lea edi, [esp + 0x150]
call fcn.0041857f
cmp byte [esp + 0x50], 0
je 0x4181d7
push dword [esp + 0x4c]
call dword [sym.imp.USER32.dll_SetCursor]
call fcn.004464d5
call fcn.0044652d
push dword [esp + 0x54]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.00415cb7
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, ebx
jmp 0x41834a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea esi, [esp + 0xc8]
mov dword [esp + 0x3c], eax
call fcn.00415fdc
mov eax, dword [0x4c3680]
pop ecx
mov ecx, 0x4c3680
call dword [eax + 0xc]
add eax, 0x10
cmp dword [esp + 0xdc], 8
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc8]
jae 0x418255
lea eax, [esp + 0xc8]
push eax
push dword [esp + 0x3c]
lea eax, [esp + 0x20]
push str.Failed_with_error__0x_08x_:_n_n_s
call fcn.00418d1f
mov esi, dword [esp + 0x24]
pop ecx
pop ecx
add esi, 0xfffffff0
mov eax, esi
mov dword [esp + 0x38], esp
mov edi, esp
call fcn.00418b4e
add eax, 0x10
mov dword [edi], eax
mov ecx, dword [esp + 0x30]
call fcn.00416642
pop ecx
mov eax, esi
call fcn.00405e8e
xor edi, edi
push ebx
inc edi
push edi
lea esi, [esp + 0xcc]
call fcn.004012a8
lea eax, [esp + 0x20]
call fcn.004424c3
push ebx
push edi
lea esi, [esp + 0x120]
call fcn.004012a8
push ebx
push edi
lea esi, [esp + 0x13c]
call fcn.004012a8
lea ecx, [esp + 0x28]
call fcn.00411c8a
lea ecx, [esp + 0x40]
call fcn.004011eb
push ebx
push edi
lea esi, [esp + 0x104]
call fcn.004012a8
lea eax, [esp + 0x230]
push eax
call fcn.004185ba
lea edi, [esp + 0x150]
call fcn.0041857f
cmp byte [esp + 0x50], bl
je 0x418313
push dword [esp + 0x4c]
call dword [sym.imp.USER32.dll_SetCursor]
call fcn.004464d5
call fcn.0044652d
push dword [esp + 0x54]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.00415cb7
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [esp + 0x38]
xor ebx, ebx
jmp 0x4175f0
call fcn.00416016
test al, al
jne 0x418371
mov eax, dword [0x4c3680]
mov ecx, 0x4c3680
call dword [eax + 0xc]
push 0x96
jmp 0x418118
cmp byte [esp + 0x50], 0
je 0x418387
push dword [esp + 0x4c]
call dword [sym.imp.USER32.dll_SetCursor]
mov byte [esp + 0x50], 0
push 0x524
call fcn.004708e3
test eax, eax
pop ecx
je 0x4183b5
push edi
lea ecx, [esp + 0x234]
push ecx
lea ecx, [esp + 0x158]
push ecx
push dword [esp + 0x40]
push eax
call fcn.0043025d
mov ebx, eax
jmp 0x4183b7
xor ebx, ebx
mov edi, ebx
neg edi
lea eax, [ebx + 0x64]
sbb edi, edi
and edi, eax
lea eax, [esp + 0xbc]
push eax
call fcn.00418981
and dword [esp + 0x14], 0
call fcn.00431bb1
call dword [sym.imp.USER32.dll_GetActiveWindow]
and dword [ebx + 0x28], 0xfffffbff
xor edi, edi
cmp dword [ebx + 0x2c], edi
jne 0x4183f0
mov dword [ebx + 0x2c], eax
mov eax, dword [ebx + 0x58]
mov dword [ebx + 0x44], eax
mov eax, dword [ebx + 0x5c]
mov dword [ebx + 0x3c], eax
lea esi, [ebx + 8]
mov eax, ebx
call fcn.00405b9f
lea eax, [ebx + 0x24]
push eax
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
mov esi, ebx
mov dword [esp + 0x34], eax
call fcn.00418ace
cmp dword [esp + 0x34], 0xffffffff
jne 0x4184b8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea esi, [esp + 0xc8]
mov dword [esp + 0x18], eax
call fcn.00415fdc
mov eax, dword [0x4c3680]
pop ecx
mov ecx, 0x4c3680
call dword [eax + 0xc]
add eax, 0x10
cmp dword [esp + 0xdc], 8
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc8]
jae 0x41846a
lea eax, [esp + 0xc8]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x20]
push str.Failed_with_error__0x_08x_:_n_n_s
call fcn.00418d1f
mov esi, dword [esp + 0x24]
pop ecx
pop ecx
add esi, 0xfffffff0
mov eax, esi
mov dword [esp + 0x38], esp
mov ebx, esp
call fcn.00418b4e
add eax, 0x10
mov dword [ebx], eax
mov ecx, dword [esp + 0x30]
call fcn.00416642
pop ecx
mov eax, esi
call fcn.00405e8e
push edi
push 1
lea esi, [esp + 0xcc]
call fcn.004012a8
push dword [esp + 0x14]
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push str.Exiting_setup_with_return_code_0x_08x_n
push eax
call dword [ecx + 0x18]
add esp, 0xc
lea ecx, [esp + 0xbc]
call fcn.004189c8
push edi
push 1
lea esi, [esp + 0x120]
call fcn.004012a8
push edi
push 1
lea esi, [esp + 0x13c]
call fcn.004012a8
lea ecx, [esp + 0x28]
call fcn.00411c8a
lea ecx, [esp + 0x40]
call fcn.004011eb
push edi
push 1
lea esi, [esp + 0x104]
call fcn.004012a8
lea eax, [esp + 0x230]
push eax
call fcn.004185ba
lea edi, [esp + 0x150]
call fcn.0041857f
cmp byte [esp + 0x50], 0
je 0x418543
push dword [esp + 0x4c]
call dword [sym.imp.USER32.dll_SetCursor]
call fcn.004464d5
call fcn.0044652d
push dword [esp + 0x54]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.00415cb7
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [esp + 0x14]
jmp 0x41834a