Function at 0x473360
Capabilities:
Check mutex on windows
Check os version
Get session user name
Get token membership

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cfe90
mov eax, dword fs:[0]
push eax
mov eax, 0x1db8
call fcn.004ed3f0
mov eax, dword [0x640844]
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
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
push str.SHCore
mov dword [ebp - 0x1dbc], eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x1d98], ebx
mov dword [ebp - 0x1dc0], 0
call fcn.00438170
test eax, eax
je 0x4733d6
push str.SetProcessDpiAwareness
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4733d6
push 1
call eax
push ebx
lea ecx, [ebp - 0x70c]
call fcn.004893f0
push str._silent
lea ecx, [ebp - 0x27c]
call fcn.004893f0
push 0
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x70c]
call fcn.00489d70
cmp eax, 0xffffffff
lea ecx, [ebp - 0x27c]
setne byte [ebp - 0x1d9a]
call fcn.00419a70
push str._selfupdate
lea ecx, [ebp - 0x27c]
call fcn.004893f0
push 0
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x70c]
call fcn.00489d70
mov edi, eax
lea ecx, [ebp - 0x27c]
cmp edi, 0xffffffff
setne byte [ebp - 0x1da5]
call fcn.00419a70
push str.E713B767_8C16_4231_89DD_CF5277C9E3FE
push 0
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
mov ebx, dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov esi, eax
test esi, esi
je 0x473490
cmp edi, 0xffffffff
je 0x473528
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.E713B767_8C16_4231_89DD_CF5277C9E3FE
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, eax
test esi, esi
jne 0x47353e
push 0x5e1d5c
lea ecx, [ebp - 0x33c]
call fcn.00489280
push 0x5e1d5c
lea ecx, [ebp - 0x2dc]
call fcn.00489280
push str.mtxerr
lea ecx, [ebp - 0x27c]
call fcn.00489280
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x2dc]
push eax
lea eax, [ebp - 0x27c]
push eax
push 0xffffffffffffffff
call fcn.00471bc0
add esp, 0x10
lea ecx, [ebp - 0x27c]
call fcn.00419a70
lea ecx, [ebp - 0x2dc]
call fcn.00419a70
lea ecx, [ebp - 0x33c]
call fcn.00419a70
mov dword [ebp - 0x1d84], 0x80070006
jmp 0x474f6c
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1d84], 0
jmp 0x474f6c
lea ecx, [ebp - 0x1d7c]
call fcn.00453580
cmp dword [ebp - 0x1b98], 2
jne 0x4735a2
cmp byte [ebp - 0x1d7a], 0
jne 0x4735a2
lea ecx, [ebp - 0x1d80]
call fcn.00441c30
lea eax, [ebp - 0x1d80]
push eax
call fcn.0046bc50
mov edx, dword [ebp - 0x1d80]
add esp, 4
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x473593
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x1d84], 0
jmp 0x474f20
push str.Crash_Dump_Mode
lea ecx, [ebp - 0x2dc]
call fcn.00489280
push 0x5df644
lea ecx, [ebp - 0x27c]
call fcn.00489280
lea eax, [ebp - 0x1db4]
push eax
lea eax, [ebp - 0x2dc]
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.0048c790
add esp, 0xc
lea ecx, [ebp - 0x27c]
mov bl, al
call fcn.00419a70
lea ecx, [ebp - 0x2dc]
call fcn.00419a70
test bl, bl
je 0x473634
lea ecx, [ebp - 0x2dc]
call fcn.0044e640
lea eax, [ebp - 0x2dc]
push eax
call fcn.0044eb60
add esp, 4
test al, al
jne 0x473629
push 0x5e1a24
lea ecx, [ebp - 0x2dc]
call fcn.0044f1e0
lea ecx, [ebp - 0x2dc]
call fcn.0044e660
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [ebp - 0x1db0]
mov dword [ebp - 0x1db0], 8
push eax
mov dword [ebp - 0x1dac], 0x8621
call fcn.00472fa0
push str.RICHED20.DLL
call fcn.00438170
push 0
push dword [ebp - 0x1dbc]
mov ecx, 0x6473b8
mov dword [ebp - 0x1dc0], eax
push 0
call fcn.0046bb30
call fcn.00427f00
push 0x5e1a2c
call fcn.00438170
mov edi, eax
test edi, edi
je 0x4736d3
push 0x5e1a44
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4736cc
push 1
push 2
push 0x15
call eax
test eax, eax
jns 0x4736cc
push str.Failed_to_disable_IE_navigation_sounds_n
call fcn.00438280
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
lea ecx, [ebp - 0x470]
mov dword [ebp - 0x1db8], eax
mov byte [ebp - 0x1d99], 1
call fcn.0044e640
cmp dword [ebp - 0x1d08], 0
jne 0x47371b
lea eax, [ebp - 0x470]
push 1
push eax
call fcn.0045bf30
add esp, 8
jmp 0x47372d
lea eax, [ebp - 0x1d18]
push eax
lea ecx, [ebp - 0x470]
call fcn.0044e6b0
cmp dword [ebp - 0x1b98], 2
jne 0x473767
lea edi, [ebp - 0x39c]
push str.DivXSetupUninstall.log
mov ecx, edi
call fcn.0044e530
push edi
lea ecx, [ebp - 0x470]
call fcn.0044e6e0
mov ecx, edi
mov dword [ebp - 0x1d84], 0
call fcn.0044e660
jmp 0x473796
lea edi, [ebp - 0x3fc]
push str.DivXSetup.log
mov ecx, edi
call fcn.0044e530
push edi
lea ecx, [ebp - 0x470]
call fcn.0044e6e0
mov ecx, edi
call fcn.0044e660
mov dword [ebp - 0x1d84], 0
lea ecx, [ebp - 0x470]
call fcn.0044e850
cmp dword [ebp - 0x1d04], 0x10
lea ecx, [ebp - 0x1d18]
mov dword [ebp - 0x1d08], 0
cmovae ecx, dword [ebp - 0x1d18]
push eax
mov byte [ecx], 0
lea ecx, [ebp - 0x1d18]
call fcn.00489bb0
lea ecx, [ebp - 0xc00]
call fcn.0044b540
lea ecx, [ebp - 0xc00]
call fcn.0044bdc0
movzx eax, byte [ebp - 0xbf5]
xor ecx, ecx
cmp dword [ebp - 0x1b98], ecx
cmovne eax, ecx
lea ecx, [ebp - 0x27c]
mov byte [ebp - 0xbf5], al
lea eax, [ebp - 0xb94]
push eax
call fcn.004890e0
lea eax, [ebp - 0x27c]
push eax
call fcn.00494450
mov ecx, eax
call fcn.00494600
lea ecx, [ebp - 0x27c]
call fcn.00419a70
lea ecx, [ebp - 0x530]
call fcn.004895d0
cmp dword [ebp - 0x1b98], 2
jne 0x473960
push str.Locale
lea ecx, [ebp - 0x2dc]
call fcn.00489280
push 0x5df644
lea ecx, [ebp - 0x27c]
call fcn.00489280
lea eax, [ebp - 0x530]
push eax
lea eax, [ebp - 0x2dc]
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.0048c510
add esp, 0xc
lea ecx, [ebp - 0x27c]
mov bl, al
call fcn.00419a70
lea ecx, [ebp - 0x2dc]
call fcn.00419a70
test bl, bl
je 0x4738c3
lea eax, [ebp - 0x530]
push eax
call fcn.00494450
mov ecx, eax
call fcn.004946d0
lea eax, [ebp - 0x530]
push eax
call fcn.00494450
mov ecx, eax
call fcn.00494600
lea ecx, [ebp - 0x33c]
call fcn.0044e640
lea eax, [ebp - 0x33c]
push eax
call fcn.0044e930
add esp, 4
lea ecx, [ebp - 0x3fc]
push str.manifest.dxp
call fcn.0044e530
lea eax, [ebp - 0x3fc]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0044e6e0
lea ecx, [ebp - 0x3fc]
call fcn.0044e660
lea eax, [ebp - 0x33c]
push eax
call fcn.0044f1c0
add esp, 4
test al, al
je 0x473a30
lea ecx, [ebp - 0x2dc]
call fcn.004895d0
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0044ee40
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x27c]
call fcn.004890e0
lea ecx, [ebp - 0x2dc]
call fcn.00419a70
jmp 0x473a42
cmp dword [ebp - 0x1d68], 0
je 0x4738c3
lea eax, [ebp - 0x1d78]
push eax
call fcn.00494450
mov ecx, eax
call fcn.004946d0
test al, al
jne 0x4738c3
push 0x5e1de8
lea ecx, [ebp - 0x33c]
call fcn.00489280
lea eax, [ebp - 0xb34]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.004890e0
lea eax, [ebp - 0xbf4]
push eax
lea ecx, [ebp - 0x27c]
call fcn.004890e0
lea eax, [ebp - 0x2dc]
push eax
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x33c]
push eax
push dword [ebp - 0x1b98]
call fcn.00471bc0
add esp, 0x10
lea ecx, [ebp - 0x27c]
call fcn.00419a70
lea ecx, [ebp - 0x2dc]
call fcn.00419a70
lea ecx, [ebp - 0x33c]
call fcn.00419a70
lea ecx, [ebp - 0x530]
mov dword [ebp - 0x1d84], 0xffffffff
call fcn.00419a70
lea ecx, [ebp - 0xc00]
call fcn.00442360
lea ecx, [ebp - 0x470]
call fcn.0044e660
jmp 0x474e37
lea eax, [ebp - 0xad4]
push eax
lea ecx, [ebp - 0x27c]
call fcn.004890e0
lea ecx, [ebp - 0x33c]
call fcn.0044e660
push dword [ebp - 0x1d79]
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x1da4]
push eax
call fcn.004a04a0
add esp, 0xc
lea ecx, [ebp - 0x27c]
call fcn.00419a70
cmp byte [0x6402b4], 0
push 0x54
sete byte [ebp - 0x1d80]
call fcn.004ece2f
mov edi, eax
add esp, 4
mov dword [ebp - 0x1d8c], edi
test edi, edi
je 0x473adc
push dword [ebp - 0x1d80]
lea eax, [ebp - 0x1d18]
mov dword [edi + 4], 1
lea ecx, [edi + 0xc]
mov dword [edi + 8], 1
push eax
mov dword [edi], vtable.std::_Ref_count_obj2_class_EventLog_.0
call fcn.004a0540
mov ecx, dword [ebp - 0x1da4]
lea eax, [edi + 0xc]
mov dword [ebp - 0x1d80], eax
lock inc dword [edi + 4]
mov dword [ebp - 0x1d90], eax
jmp 0x473b03
mov ecx, dword [ebp - 0x1da4]
xor edi, edi
mov dword [ebp - 0x1d8c], edi
mov eax, 0xc
mov dword [ebp - 0x1d90], 0xc
mov dword [ebp - 0x1d80], 0xc
mov dword [ebp - 0x1d94], eax
lea edx, [ebp - 0x1db0]
mov dword [ebp - 0x1db0], eax
mov dword [ebp - 0x1dac], edi
mov eax, dword [ecx]
push edx
call dword [eax + 0x64]
mov ecx, dword [ebp - 0x1dac]
or ebx, 0xffffffff
mov dword [ebp - 0x1db4], ecx
test ecx, ecx
je 0x473b55
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x473b55
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x1db4]
mov eax, ebx
lock xadd dword [ecx + 8], eax
jne 0x473b55
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [0x6402b4], 0
je 0x473b6e
mov ecx, dword [ebp - 0x1d94]
push 0x6402b0
call fcn.004a0710
push dword [ebp - 0x218]
lea ecx, [ebp - 0x590]
call fcn.004893f0
cmp dword [ebp - 0x580], 0
jne 0x473b8f
mov ecx, str._empty_
jmp 0x473ba3
cmp dword [ebp - 0x57c], 0x10
lea ecx, [ebp - 0x590]
cmovae ecx, dword [ebp - 0x590]
mov edx, dword [ebp - 0x1d90]
push ecx
push str.Command_line:__s_n_n
push edx
mov eax, dword [edx]
call dword [eax + 8]
add esp, 0xc
lea eax, [ebp - 0xbf4]
lea ecx, [ebp - 0x3fc]
push eax
call fcn.004890e0
cmp dword [ebp - 0x3ec], 0
jne 0x473bda
mov edx, 0x5de8d4
jmp 0x473c0b
xor eax, eax
lea ecx, [ebp - 0x33c]
or eax, 4
mov dword [ebp - 0x1d84], eax
lea eax, [ebp - 0xbf4]
push eax
call fcn.004890e0
cmp dword [ebp - 0x328], 0x10
lea edx, [ebp - 0x33c]
cmovae edx, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x1d90]
push edx
push str.BundleId_t:__s_n
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x1d84]
add esp, 0xc
test al, 4
je 0x473c3e
and eax, 0xfffffffb
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x1d84], eax
call fcn.00419a70
lea ecx, [ebp - 0x3fc]
call fcn.00419a70
push 0x5de8d4
lea ecx, [ebp - 0x27c]
call fcn.00489280
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0xc00]
call fcn.0044bb40
cmp dword [eax + 0x10], 0
jne 0x473c7f
mov edx, 0x5de8d4
jmp 0x473cb9
push 0x5de8d4
lea ecx, [ebp - 0x3fc]
call fcn.00489280
or dword [ebp - 0x1d84], 0x18
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0xc00]
call fcn.0044bb40
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x473cb9
mov edx, dword [edx]
mov ecx, dword [ebp - 0x1d90]
push edx
push str.SetupURL_base__t:__s_n
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x1d84]
add esp, 0xc
test al, 0x10
je 0x473cf2
and eax, 0xffffffef
lea ecx, [ebp - 0x39c]
mov dword [ebp - 0x1d84], eax
call fcn.00419a70
mov eax, dword [ebp - 0x1d84]
test al, 8
je 0x473d01
lea ecx, [ebp - 0x3fc]
call fcn.00419a70
lea ecx, [ebp - 0x2dc]
call fcn.00419a70
lea ecx, [ebp - 0x27c]
call fcn.00419a70
lea eax, [ebp - 0xb34]
push eax
lea ecx, [ebp - 0x3fc]
call fcn.004890e0
cmp dword [ebp - 0x3ec], 0
jne 0x473d4d
mov eax, dword [ebp - 0x1d80]
push 0x5de8d4
push str.DistID_t:__s_n
push eax
mov eax, dword [eax]
call dword [eax + 8]
add esp, 0xc
jmp 0x473db1
lea eax, [ebp - 0xb34]
push eax
lea ecx, [ebp - 0x33c]
call fcn.004890e0
cmp dword [ebp - 0x328], 0x10
lea eax, [ebp - 0x33c]
cmovae eax, dword [ebp - 0x33c]
push eax
mov eax, dword [ebp - 0x1d80]
push str.DistID_t:__s_n
push eax
mov eax, dword [eax]
call dword [eax + 8]
add esp, 0xc
lea ecx, [ebp - 0x33c]
call fcn.00419a70
mov eax, dword [ebp - 0x1d90]
mov dword [ebp - 0x1d90], eax
mov eax, dword [ebp - 0x1d94]
mov dword [ebp - 0x1d8c], edi
mov dword [ebp - 0x1d94], eax
lea ecx, [ebp - 0x3fc]
call fcn.00419a70
mov eax, dword [ebp - 0x1b98]
test eax, eax
jne 0x473dcd
mov edx, 0x5e0ce4
jmp 0x473ddd
cmp eax, 1
mov edx, str.update
mov ecx, str.unistall
cmovne edx, ecx
mov ecx, dword [ebp - 0x1d90]
push edx
push str.SetupMode_t:__s_n
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push 0x202
lea eax, [ebp - 0x214]
mov dword [ebp - 0x1dc4], 0x100
push 0
push eax
call fcn.004ef230
add esp, 0x18
lea eax, [ebp - 0x1dc4]
push eax
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
je 0x473e6d
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x33c]
call fcn.004893f0
cmp dword [ebp - 0x328], 0x10
lea ecx, [ebp - 0x33c]
mov edx, dword [ebp - 0x1d90]
cmovae ecx, dword [ebp - 0x33c]
push ecx
push str.UserName_t:__s_n_n
mov eax, dword [edx]
push edx
call dword [eax + 8]
add esp, 0xc
lea ecx, [ebp - 0x33c]
call fcn.00419a70
lea eax, [edi + 4]
mov dword [ebp - 0x218], eax
lock inc dword [eax]
mov ecx, dword [ebp - 0x1d90]
push str.Verifying_Windows_version..._n
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push 0x11c
lea eax, [ebp - 0x6ac]
push 0
push eax
call fcn.004ef230
mov edi, dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
add esp, 0x14
mov dword [ebp - 0x6ac], 0x11c
mov dword [ebp - 0x6a8], 5
mov dword [ebp - 0x6a4], 1
push 3
push 2
push 0
push 0
mov dword [ebp - 0x598], 2
call edi
push 3
push 1
push edx
push eax
call edi
push 3
push 0x20
push edx
push eax
call edi
push 3
push 0x10
push edx
push eax
call edi
push edx
push eax
push 0x33
lea eax, [ebp - 0x6ac]
push eax
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
push 0x118
mov edi, eax
lea eax, [ebp - 0x6a8]
push 0
push eax
call fcn.004ef230
add esp, 0xc
mov dword [ebp - 0x6ac], 0x11c
lea eax, [ebp - 0x6ac]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov ecx, dword [ebp - 0x1d90]
lea edx, [ebp - 0x698]
push edx
push dword [ebp - 0x6a0]
push dword [ebp - 0x6a4]
mov eax, dword [ecx]
push dword [ebp - 0x6a8]
push str.Detected_Windows_version__d._d_Build__d__s_n
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x218]
add esp, 0x18
test edi, edi
mov eax, ebx
sete byte [ebp - 0x1d85]
lock xadd dword [ecx], eax
mov edi, dword [ebp - 0x1d8c]
jne 0x473f90
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, ebx
lock xadd dword [edi + 8], eax
jne 0x473f90
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x1d85], 0
je 0x4740e2
push str.bados
lea ecx, [ebp - 0x2dc]
call fcn.00489280
lea eax, [ebp - 0xb34]
push eax
lea ecx, [ebp - 0x27c]
call fcn.004890e0
lea eax, [ebp - 0xbf4]
push eax
lea ecx, [ebp - 0x3fc]
call fcn.004890e0
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x2dc]
push eax
push dword [ebp - 0x1b98]
call fcn.00471bc0
add esp, 0x10
lea ecx, [ebp - 0x3fc]
call fcn.00419a70
lea ecx, [ebp - 0x27c]
call fcn.00419a70
lea ecx, [ebp - 0x2dc]
call fcn.00419a70
call fcn.0041a4a0
mov ecx, eax
test ecx, ecx
je 0x474f9b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x1d80]
push 0x90
mov dword [ebp - 0x1d80], eax
call fcn.0041aa70
lea eax, [edi + 4]
lock inc dword [eax]
mov eax, dword [ebp - 0x1d94]
push ecx
mov dword [ebp - 0x21c], eax
mov ecx, esp
lea eax, [ebp - 0x1d80]
mov dword [ebp - 0x218], edi
push eax
call fcn.00468390
lea eax, [ebp - 0x21c]
push eax
call fcn.0046b620
mov ecx, dword [ebp - 0x218]
add esp, 8
test ecx, ecx
je 0x4740a3
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x4740a3
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x218]
mov eax, ebx
lock xadd dword [ecx + 8], eax
jne 0x4740a3
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x1d90]
push 0x80004005
push str.exiting_with_error_0x_08x_n
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
mov edx, dword [ebp - 0x1d80]
add esp, 0xc
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x474daf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x474daf
lea eax, [ebp - 0x1d80]
mov dword [ebp - 0x21c], 0
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0x220
push 0x20
push 2
lea eax, [ebp - 0x21c]
mov word [ebp - 0x218], 0x500
push eax
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x474c97
lea eax, [ebp - 0x1d8c]
mov dword [ebp - 0x1d8c], 0
push eax
push dword [ebp - 0x1d80]
push 0
call dword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
push dword [ebp - 0x1d80]
neg eax
sbb eax, eax
and dword [ebp - 0x1d8c], eax
call dword [sym.imp.ADVAPI32.dll_FreeSid]
cmp dword [ebp - 0x1d8c], 0
je 0x474c97
cmp dword [ebp - 0x1b98], 2
je 0x474424
lea eax, [ebp - 0xbf4]
push eax
lea ecx, [ebp - 0x33c]
call fcn.004890e0
lea eax, [ebp - 0x33c]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.004890e0
cmp dword [ebp - 0x1b98], 1
jne 0x4741af
lea ecx, [ebp - 0x33c]
mov eax, 0x5e12cc
jmp 0x4741ba
lea ecx, [ebp - 0x2dc]
mov eax, 0x5de8d4
push eax
call fcn.00442770
push dword [ebp - 0x1d79]
lea eax, [ebp - 0x894]
sub esp, 0x60
mov ecx, esp
push eax
call fcn.004890e0
sub esp, 0x60
lea eax, [ebp - 0x2dc]
mov ecx, esp
push eax
call fcn.004890e0
sub esp, 0x60
lea eax, [ebp - 0x33c]
mov ecx, esp
push eax
call fcn.004890e0
lea eax, [ebp - 0x1da4]
push eax
call fcn.0046ad40
add esp, 0x128
mov dword [ebp - 0x1d84], eax
test eax, eax
je 0x474292
push str.mnfst
lea ecx, [ebp - 0x39c]
call fcn.00489280
lea eax, [ebp - 0xb34]
push eax
lea ecx, [ebp - 0x27c]
call fcn.004890e0
lea eax, [ebp - 0xbf4]
push eax
lea ecx, [ebp - 0x3fc]
call fcn.004890e0
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x39c]
push eax
push dword [ebp - 0x1b98]
call fcn.00471bc0
add esp, 0x10
lea ecx, [ebp - 0x3fc]
call fcn.00419a70
lea ecx, [ebp - 0x27c]
call fcn.00419a70
lea ecx, [ebp - 0x39c]
call fcn.00419a70
jmp 0x4743e8
lea ecx, [ebp - 0x410]
call fcn.0049e2b0
mov ecx, dword [ebp - 0x1da4]
lea edx, [ebp - 0x410]
push edx
mov eax, dword [ecx]
call dword [eax + 0xb8]
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x410]
call fcn.0049e4c0
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x4742ce
mov edx, dword [edx]
mov eax, dword [ebp - 0x1d90]
push edx
push str.Manifest_version__s_n
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
add esp, 0xc
lea ecx, [ebp - 0x39c]
call fcn.00419a70
cmp byte [ebp - 0x1da5], 0
jne 0x474403
cmp dword [ebp - 0x1b98], 1
je 0x47431e
cmp byte [ebp - 0x1d9a], 0
jne 0x474403
cmp byte [ebp - 0xbf6], 0
jne 0x474403
lea eax, [edi + 4]
lock inc dword [eax]
cmp byte [ebp - 0x1d79], 0
mov eax, dword [ebp - 0x1d94]
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], edi
je 0x474369
lea eax, [ebp - 0xc00]
push eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x1da4]
push eax
call fcn.0046a350
add esp, 0xc
test al, al
je 0x474398
mov byte [ebp - 0x1d85], 1
jmp 0x47439f
lea eax, [ebp - 0x1d98]
push eax
lea eax, [ebp - 0xc00]
push eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x1da4]
push eax
call fcn.0046a660
add esp, 0x10
mov byte [ebp - 0x1d85], 1
test al, al
jne 0x47439f
mov byte [ebp - 0x1d85], 0
mov ecx, dword [ebp - 0x218]
test ecx, ecx
je 0x4743ca
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x4743ca
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x218]
mov eax, ebx
lock xadd dword [ecx + 8], eax
jne 0x4743ca
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x1d85], 0
je 0x474403
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x1d84], 0
call fcn.0041b060
lea ecx, [ebp - 0x2dc]
call fcn.00419a70
lea ecx, [ebp - 0x33c]
call fcn.00419a70
jmp 0x474db9
lea ecx, [ebp - 0x410]
call fcn.0041b060
lea ecx, [ebp - 0x2dc]
call fcn.00419a70
lea ecx, [ebp - 0x33c]
call fcn.00419a70
cmp byte [ebp - 0x1d79], 0
je 0x4744e6
lea eax, [ebp - 0xc00]
push eax
sub esp, 8
lea eax, [ebp - 0x1da4]
mov ecx, esp
push eax
call fcn.00468710
call fcn.0046c1b0
add esp, 0xc
test eax, eax
je 0x4744e6
lea ecx, [ebp - 0x1d80]
call fcn.00441c30
push 0x4f6
lea ecx, [ebp - 0x1d80]
call fcn.0041aa70
lea eax, [edi + 4]
lock inc dword [eax]
mov eax, dword [ebp - 0x1d94]
push ecx
mov dword [ebp - 0x21c], eax
mov ecx, esp
lea eax, [ebp - 0x1d80]
mov dword [ebp - 0x218], edi
push eax
call fcn.00468390
lea eax, [ebp - 0x21c]
push eax
call fcn.0046b620
mov ecx, dword [ebp - 0x218]
add esp, 8
test ecx, ecx
je 0x474da4
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x474da4
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x218]
mov eax, ebx
lock xadd dword [ecx + 8], eax
jne 0x474da4
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x474da4
cmp dword [ebp - 0x1ca8], 0
je 0x474506
mov ecx, dword [ebp - 0x1da4]
lea edx, [ebp - 0x1cb8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x5c]
jmp 0x47458a
lea ecx, [ebp - 0x2dc]
call fcn.004895d0
push str.InstallDir
lea ecx, [ebp - 0x3fc]
call fcn.00489280
push 0x5df644
lea ecx, [ebp - 0x39c]
call fcn.00489280
lea eax, [ebp - 0x2dc]
push eax
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x39c]
push eax
call fcn.0048c510
add esp, 0xc
lea ecx, [ebp - 0x39c]
call fcn.00419a70
lea ecx, [ebp - 0x3fc]
call fcn.00419a70
cmp dword [ebp - 0x2cc], 0
je 0x47457f
mov ecx, dword [ebp - 0x1da4]
lea edx, [ebp - 0x2dc]
push edx
mov eax, dword [ecx]
call dword [eax + 0x5c]
lea ecx, [ebp - 0x2dc]
call fcn.00419a70
cmp dword [ebp - 0x1b98], 2
jne 0x4745dd
cmp dword [ebp - 0x1c48], 0
je 0x4745b0
mov ecx, dword [ebp - 0x1da4]
lea edx, [ebp - 0x1c58]
push edx
mov eax, dword [ecx]
call dword [eax + 0x6c]
jmp 0x4745dd
push 0x5e12c0
lea ecx, [ebp - 0x39c]
call fcn.00489280
mov ecx, dword [ebp - 0x1da4]
lea edx, [ebp - 0x39c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x6c]
lea ecx, [ebp - 0x39c]
call fcn.00419a70
lea ecx, [ebp - 0x4d0]
call fcn.004895d0
mov ecx, dword [ebp - 0x1da4]
lea edx, [ebp - 0x4d0]
push edx
mov eax, dword [ecx]
call dword [eax + 0x60]
cmp dword [ebp - 0x4c0], 0
jne 0x4746c3
lea ecx, [ebp - 0x33c]
call fcn.0044e640
lea eax, [ebp - 0x33c]
push eax
call fcn.0044ed70
add esp, 4
test al, al
je 0x47474d
push str.DivX11
lea ecx, [ebp - 0x39c]
call fcn.0044e530
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0044e6e0
lea ecx, [ebp - 0x39c]
call fcn.0044e660
lea ecx, [ebp - 0x33c]
call fcn.0044e850
push eax
lea ecx, [ebp - 0x39c]
call fcn.00489280
mov ecx, dword [ebp - 0x1da4]
lea edx, [ebp - 0x39c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x5c]
lea ecx, [ebp - 0x39c]
call fcn.00419a70
lea ecx, [ebp - 0x33c]
call fcn.0044e850
push eax
lea ecx, [ebp - 0x39c]
call fcn.00489280
push eax
lea ecx, [ebp - 0x4d0]
call fcn.0044e6b0
lea ecx, [ebp - 0x39c]
call fcn.00419a70
lea ecx, [ebp - 0x33c]
call fcn.0044e660
cmp dword [ebp - 0x4bc], 0x10
lea ecx, [ebp - 0x4d0]
mov edx, dword [ebp - 0x1d94]
cmovae ecx, dword [ebp - 0x4d0]
push ecx
push str.Default_install_dir:__s_n
mov eax, dword [edx]
push edx
call dword [eax + 8]
add esp, 0xc
push dword [ebp - 0x1db8]
call dword [sym.imp.USER32.dll_SetCursor]
lea eax, [ebp - 0x1da4]
mov byte [ebp - 0x1d99], 0
push eax
lea eax, [ebp - 0xc00]
push eax
lea eax, [ebp - 0x1d7c]
push eax
push dword [ebp - 0x1dbc]
lea ecx, [ebp - 0x1b88]
call fcn.00453c10
lea ecx, [ebp - 0x1b88]
mov dword [ebp - 0x1d84], 0
call fcn.00464ab0
cmp eax, 6
jne 0x4748ac
push str.unex2
jmp 0x4748e5
push str.unexp1
lea ecx, [ebp - 0x27c]
call fcn.00489280
lea eax, [ebp - 0xb34]
push eax
lea ecx, [ebp - 0x3fc]
call fcn.004890e0
lea eax, [ebp - 0xbf4]
push eax
lea ecx, [ebp - 0x39c]
call fcn.004890e0
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x39c]
push eax
lea eax, [ebp - 0x27c]
push eax
push dword [ebp - 0x1b98]
call fcn.00471bc0
add esp, 0x10
lea ecx, [ebp - 0x39c]
call fcn.00419a70
lea ecx, [ebp - 0x3fc]
call fcn.00419a70
lea ecx, [ebp - 0x27c]
call fcn.00419a70
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov dword [ebp - 0x1d84], eax
lea eax, [ebp - 0x2dc]
push eax
call fcn.0045e020
add esp, 8
lea ecx, [ebp - 0x1d80]
call fcn.00441c30
cmp dword [ebp - 0x2c8], 0x10
lea eax, [ebp - 0x2dc]
cmovae eax, dword [ebp - 0x2dc]
push eax
push dword [ebp - 0x1d84]
lea eax, [ebp - 0x1d80]
push str.Failed_with_error__0x_08x_:_n_n_s
push eax
call fcn.0043a330
lea eax, [edi + 4]
lock inc dword [eax]
mov eax, dword [ebp - 0x1d94]
add esp, 0xc
mov dword [ebp - 0x21c], eax
mov ecx, esp
lea eax, [ebp - 0x1d80]
mov dword [ebp - 0x218], edi
push eax
call fcn.00468390
lea eax, [ebp - 0x21c]
push eax
call fcn.0046b620
mov ecx, dword [ebp - 0x218]
add esp, 8
test ecx, ecx
je 0x47487b
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x47487b
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x218]
mov eax, ebx
lock xadd dword [ecx + 8], eax
jne 0x47487b
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x1d80]
call fcn.00419960
lea ecx, [ebp - 0x2dc]
call fcn.00419a70
lea ecx, [ebp - 0x33c]
call fcn.0044e660
lea ecx, [ebp - 0x4d0]
call fcn.00419a70
jmp 0x474db9
cmp byte [ebp - 0x1d9a], 0
je 0x4749c6
lea eax, [ebp - 0x1b88]
push eax
call fcn.0046f6f0
add esp, 4
test al, al
je 0x4748e0
lea eax, [ebp - 0x1b88]
push eax
call fcn.00469f70
add esp, 4
jmp 0x474c1d
push str.slnt_init
lea ecx, [ebp - 0x27c]
call fcn.00489280
lea eax, [ebp - 0xb34]
push eax
lea ecx, [ebp - 0x3fc]
call fcn.004890e0
lea eax, [ebp - 0xbf4]
push eax
lea ecx, [ebp - 0x39c]
call fcn.004890e0
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x39c]
push eax
lea eax, [ebp - 0x27c]
push eax
push dword [ebp - 0x1b98]
call fcn.00471bc0
add esp, 0x10
lea ecx, [ebp - 0x39c]
call fcn.00419a70
lea ecx, [ebp - 0x3fc]
call fcn.00419a70
lea ecx, [ebp - 0x27c]
call fcn.00419a70
lea ecx, [ebp - 0x1d8c]
call fcn.00441c30
lea ecx, [ebp - 0x1d80]
call fcn.00441c30
push 0x66
lea ecx, [ebp - 0x1d8c]
call fcn.0041aa70
push 0xa3
lea ecx, [ebp - 0x1d80]
call fcn.0041aa70
push 0x10
push dword [ebp - 0x1d8c]
push dword [ebp - 0x1d80]
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x1d80]
call fcn.00419960
lea ecx, [ebp - 0x1d8c]
call fcn.00419960
mov dword [ebp - 0x1d84], 0x80004005
jmp 0x474c7c
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov ecx, dword [ebp - 0x1b5c]
and dword [ebp - 0x1b60], 0xfffffbff
test ecx, ecx
cmove ecx, eax
mov eax, dword [ebp - 0x1b30]
mov dword [ebp - 0x1b44], eax
mov eax, dword [ebp - 0x1b2c]
mov dword [ebp - 0x1b4c], eax
mov eax, dword [ebp - 0x1b74]
mov dword [ebp - 0x1b5c], ecx
test eax, eax
jne 0x474a25
call fcn.004d6e68
mov dword [ebp - 0x1b74], eax
test eax, eax
jne 0x474a25
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x474ad9
push 0
push 0
push eax
call fcn.004d6f6a
lea eax, [ebp - 0x1b88]
mov dword [ebp - 0x1b80], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x640030
mov dword [ebp - 0x1b7c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x640048]
mov dword [ebp - 0x1b78], eax
lea eax, [ebp - 0x1b80]
push 0x640030
mov dword [0x640048], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [ebp - 0x1b64]
push eax
call fcn.004731d0
mov ecx, dword [ebp - 0x1b30]
mov dword [ebp - 0x1d98], eax
mov dword [ebp - 0x1b4c], 0
mov dword [ebp - 0x1b44], 0
test ecx, ecx
je 0x474abc
push ecx
call fcn.004f250c
mov eax, dword [ebp - 0x1d98]
add esp, 4
mov dword [ebp - 0x1b30], 0
mov dword [ebp - 0x1b2c], 0
mov dword [ebp - 0x1b28], 0
cmp eax, 0xffffffff
jne 0x474c1d
push 0x5e1f38
lea ecx, [ebp - 0x27c]
call fcn.00489280
lea eax, [ebp - 0xb34]
push eax
lea ecx, [ebp - 0x3fc]
call fcn.004890e0
lea eax, [ebp - 0xbf4]
push eax
lea ecx, [ebp - 0x39c]
call fcn.004890e0
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x39c]
push eax
lea eax, [ebp - 0x27c]
push eax
push dword [ebp - 0x1b98]
call fcn.00471bc0
add esp, 0x10
lea ecx, [ebp - 0x39c]
call fcn.00419a70
lea ecx, [ebp - 0x3fc]
call fcn.00419a70
lea ecx, [ebp - 0x27c]
call fcn.00419a70
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov dword [ebp - 0x1d84], eax
lea eax, [ebp - 0x2dc]
push eax
call fcn.0045e020
add esp, 8
lea ecx, [ebp - 0x1d80]
call fcn.00441c30
cmp dword [ebp - 0x2c8], 0x10
lea eax, [ebp - 0x2dc]
cmovae eax, dword [ebp - 0x2dc]
push eax
push dword [ebp - 0x1d84]
lea eax, [ebp - 0x1d80]
push str.Failed_with_error__0x_08x_:_n_n_s
push eax
call fcn.0043a330
lea eax, [edi + 4]
lock inc dword [eax]
mov eax, dword [ebp - 0x1d94]
add esp, 0xc
mov dword [ebp - 0x21c], eax
mov ecx, esp
lea eax, [ebp - 0x1d80]
mov dword [ebp - 0x218], edi
push eax
call fcn.00468390
lea eax, [ebp - 0x21c]
push eax
call fcn.0046b620
mov ecx, dword [ebp - 0x218]
add esp, 8
test ecx, ecx
je 0x474c07
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x474c07
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x218]
mov eax, ebx
lock xadd dword [ecx + 8], eax
jne 0x474c07
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x1d80]
call fcn.00419960
lea ecx, [ebp - 0x2dc]
call fcn.00419a70
mov ecx, dword [ebp - 0x1d94]
push dword [ebp - 0x1d84]
push str.Exiting_setup_with_return_code_0x_08x_n
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x1da0]
add esp, 0xc
mov dword [ebp - 0x1da4], 0
mov dword [ebp - 0x1d98], ecx
mov dword [ebp - 0x1da0], 0
test ecx, ecx
je 0x474c7c
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x474c7c
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x1d98]
mov eax, ebx
lock xadd dword [ecx + 8], eax
jne 0x474c7c
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x1b88]
call fcn.00455470
lea ecx, [ebp - 0x4d0]
call fcn.00419a70
jmp 0x474db9
push 0x5e1e98
lea ecx, [ebp - 0x27c]
call fcn.00489280
lea eax, [ebp - 0xb34]
push eax
lea ecx, [ebp - 0x3fc]
call fcn.004890e0
lea eax, [ebp - 0xbf4]
push eax
lea ecx, [ebp - 0x39c]
call fcn.004890e0
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x39c]
push eax
lea eax, [ebp - 0x27c]
push eax
push dword [ebp - 0x1b98]
call fcn.00471bc0
add esp, 0x10
lea ecx, [ebp - 0x39c]
call fcn.00419a70
lea ecx, [ebp - 0x3fc]
call fcn.00419a70
lea ecx, [ebp - 0x27c]
call fcn.00419a70
lea ecx, [ebp - 0x1d80]
call fcn.00441c30
push 0x96
lea ecx, [ebp - 0x1d80]
call fcn.0041aa70
lea eax, [edi + 4]
lock inc dword [eax]
mov eax, dword [ebp - 0x1d94]
push ecx
mov dword [ebp - 0x21c], eax
mov ecx, esp
lea eax, [ebp - 0x1d80]
mov dword [ebp - 0x218], edi
push eax
call fcn.00468390
lea eax, [ebp - 0x21c]
push eax
call fcn.0046b620
mov ecx, dword [ebp - 0x218]
add esp, 8
test ecx, ecx
je 0x474d8b
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x474d8b
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x218]
mov eax, ebx
lock xadd dword [ecx + 8], eax
jne 0x474d8b
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x1d90]
push 0x80004005
push str.exiting_with_error_0x_08x_n
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
add esp, 0xc
lea ecx, [ebp - 0x1d80]
call fcn.00419960
mov dword [ebp - 0x1d84], 0x80004005
lea ecx, [ebp - 0x590]
call fcn.00419a70
mov eax, ebx
lea ecx, [edi + 4]
lock xadd dword [ecx], eax
jne 0x474de5
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, ebx
lock xadd dword [edi + 8], eax
jne 0x474de5
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x1da0]
test edi, edi
je 0x474e0d
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x474e0d
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], ebx
dec ebx
jne 0x474e0d
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0x530]
call fcn.00419a70
lea ecx, [ebp - 0xc00]
call fcn.00442360
lea ecx, [ebp - 0x470]
call fcn.0044e660
cmp byte [ebp - 0x1d99], 0
je 0x474e43
push dword [ebp - 0x1db8]
call dword [sym.imp.USER32.dll_SetCursor]
push dword [ebp - 0x1dc0]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebx, dword [0x64704c]
add ebx, 0x10
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [0x6473f0]
test edi, edi
je 0x474eb1
cmp dword [edi + 4], 0
jle 0x474e7f
mov eax, dword [edi]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov edi, dword [0x6473f0]
test edi, edi
je 0x474eb1
mov eax, dword [edi]
test eax, eax
je 0x474e98
push eax
call fcn.004f250c
add esp, 4
mov dword [edi], 0
push 0xc
push edi
mov dword [edi + 4], 0
mov dword [edi + 8], 0
call fcn.004ece5f
add esp, 8
push ebx
mov dword [0x6473f0], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [0x6473ec]
test edi, edi
je 0x474f0a
mov eax, dword [edi]
test eax, eax
je 0x474ee1
push eax
call fcn.004f250c
add esp, 4
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x474ef8
push eax
call fcn.004f250c
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
mov dword [edi + 8], 0
call fcn.004ece5f
add esp, 8
mov ecx, 0x6473b8
call fcn.0046ef00
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ebx, dword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea ecx, [ebp - 0x1b94]
call fcn.004272c0
lea ecx, [ebp - 0x1bf8]
call fcn.00419a70
lea ecx, [ebp - 0x1c58]
call fcn.00419a70
lea ecx, [ebp - 0x1cb8]
call fcn.00419a70
lea ecx, [ebp - 0x1d18]
call fcn.00419a70
lea ecx, [ebp - 0x1d78]
call fcn.00419a70
push esi
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x70c]
call fcn.00419a70
mov eax, dword [ebp - 0x1d84]
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.004ed0cc
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.0041a0e0
int3