Function at 0x43e240
Capabilities:
Check if file exists
Get common file path
Link many functions at runtime
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ce5b9
mov eax, dword fs:[0]
push eax
sub esp, 0x894
mov eax, dword [0x64d4f4]
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 ebx, dword [ebp + 8]
call fcn.00415d80
mov ecx, eax
test ecx, ecx
je 0x43ef22
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x884], edi
push 0x208
lea eax, [ebp - 0x420]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.00520fa0
add esp, 0xc
lea eax, [ebp - 0x420]
push 0x104
push eax
push dword [0x6541fc]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push 0x5ebf4c
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
call fcn.00415cf0
mov esi, eax
cmp dword [esi], 0
jne 0x43e360
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [esi], eax
test eax, eax
je 0x43e4d9
push 0x5e4280
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x5e428c
push dword [esi]
mov dword [esi + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x5e4298
push dword [esi]
mov dword [esi + 8], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x5e42a8
push dword [esi]
mov dword [esi + 0x10], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x5e42b8
push dword [esi]
mov dword [esi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x43e360
call eax
mov dword [esi + 0xc], eax
cmp dword [esi + 8], 0
je 0x43e4d9
cmp dword [esi + 4], 0
je 0x43e4d9
cmp dword [esi + 0xc], 0
je 0x43e4d9
push 0x208
lea eax, [ebp - 0x628]
push 0
push eax
call fcn.00520fa0
add esp, 0xc
lea eax, [ebp - 0x628]
push 0x104
push eax
push dword [0x6541fc]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
call fcn.00415d80
mov ecx, eax
test ecx, ecx
je 0x43ef2c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x86c], eax
mov byte [ebp - 4], 1
call fcn.00415d80
mov ecx, eax
test ecx, ecx
je 0x43ef36
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x870], eax
lea eax, [ebp - 0x628]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x870]
call fcn.00407b20
test al, al
jne 0x43e432
lea ecx, [ebp - 0x628]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43e410
sub ecx, edx
lea eax, [ebp - 0x628]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x870]
call fcn.00408f10
lea eax, [ebp - 0x86c]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x870]
push eax
call fcn.004156c0
mov edx, dword [ebp - 0x870]
add esp, 8
mov byte [ebp - 4], 1
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43e46e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov esi, esp
mov dword [ebp - 0x874], esp
call fcn.00430350
push eax
mov ecx, esi
call fcn.004077f0
push ecx
mov esi, esp
mov byte [ebp - 4], 4
mov dword [ebp - 0x870], esi
mov eax, dword [ebp - 0x86c]
add eax, 0xfffffff0
push eax
mov dword [ebp - 0x870], eax
call fcn.00407c60
add esp, 4
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 1
call fcn.005a8060
mov edx, dword [ebp - 0x870]
add esp, 8
mov byte [ebp - 4], 0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43e4d9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - method.mf_bind_t_class_CInstaller__class_CInstaller___void_.virtual_0], vtable.mf_bind_t_class_CInstaller__class_CInstaller___void_.0
mov dword [ebp - 0x878], 0x43d8a0
mov dword [ebp - 0x874], ebx
lea eax, [ebp - 0x87c]
mov byte [ebp - 4], 5
push eax
call fcn.004342a0
add esp, 4
mov byte [ebp - 4], 0
call fcn.00436410
mov esi, eax
call fcn.00436490
mov ecx, eax
call fcn.00436600
mov ecx, dword [esi]
push dword [eax]
push esi
call dword [ecx + 0x24]
push eax
push str.install_type:_d__install_version:_s
call fcn.00439790
mov dword [ebp - method.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.virtual_0], vtable.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.0
mov dword [ebp - 0x87c], 0x43d8b0
mov dword [ebp - 0x878], ebx
mov dword [ebp - 0x874], 0
lea eax, [ebp - 0x880]
mov byte [ebp - 4], 6
push eax
call fcn.004342a0
add esp, 0x10
mov byte [ebp - 4], 0
lea esi, [ebx + 4]
push esi
call fcn.00436490
mov ecx, eax
call fcn.00436610
push eax
call fcn.0044a400
mov dword [ebp - method.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.virtual_0], vtable.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.0
mov dword [ebp - 0x87c], 0x43d8b0
mov dword [ebp - 0x878], ebx
mov dword [ebp - 0x874], 2
lea eax, [ebp - 0x880]
mov byte [ebp - 4], 7
push eax
call fcn.004342a0
mov esi, dword [esi]
lea ecx, [ebp - 0x848]
add esp, 0xc
mov byte [ebp - 4], 0
call fcn.0044ab30
push esi
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 8
call fcn.0044b110
lea ecx, [ebp - 0x848]
call fcn.0044b420
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 0
call fcn.0044ac40
push str.remove_all_pending_files
call fcn.00439790
mov dword [ebp - method.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.virtual_0], vtable.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.0
mov dword [ebp - 0x87c], 0x43d8b0
mov dword [ebp - 0x878], ebx
mov dword [ebp - 0x874], 3
lea eax, [ebp - 0x880]
mov byte [ebp - 4], 9
push eax
call fcn.004342a0
push str..tmp
push dword [ebx + 4]
lea esi, [ebx + 4]
mov byte [ebp - 4], 0
call fcn.00408c20
mov dword [ebp - method.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.virtual_0], vtable.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.0
mov dword [ebp - 0x87c], 0x43d8b0
mov dword [ebp - 0x878], ebx
mov dword [ebp - 0x874], 4
lea eax, [ebp - 0x880]
mov byte [ebp - 4], 0xa
push eax
call fcn.004342a0
push dword [esi]
mov byte [ebp - 4], 0
push str.remove_all_.tmp_files_in__s
call fcn.00439790
push str.update
lea eax, [ebp - 0x86c]
push esi
push eax
call fcn.0041f5e0
push dword [eax]
mov byte [ebp - 4], 0xb
call fcn.004082d0
mov edx, dword [ebp - 0x86c]
or esi, 0xffffffff
add esp, 0x2c
mov byte [ebp - 4], 0
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43e6cd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.update
lea eax, [ebx + 4]
push eax
lea eax, [ebp - 0x86c]
push eax
call fcn.0041f5e0
push dword [eax]
mov byte [ebp - 4], 0xc
push str.Delete_directory_recursively:__s
call fcn.00439790
mov edx, dword [ebp - 0x86c]
add esp, 0x14
mov byte [ebp - 4], 0
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43e716
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - method.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.virtual_0], vtable.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.0
mov dword [ebp - 0x87c], 0x43d8b0
mov dword [ebp - 0x878], ebx
mov dword [ebp - 0x874], 5
lea eax, [ebp - 0x880]
mov byte [ebp - 4], 0xd
push eax
call fcn.004342a0
add esp, 4
mov byte [ebp - 4], 0
mov ecx, ebx
call fcn.0043cb00
and eax, 1
mov dword [ebp - 0x874], eax
jne 0x43e77b
push 0xf
push str.copy_file_fail
lea ecx, [ebp - 0x884]
call fcn.004152f0
mov edi, dword [ebp - 0x884]
mov dword [ebp - method.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.virtual_0], vtable.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.0
mov dword [ebp - 0x844], 0x43d8b0
mov dword [ebp - 0x840], ebx
mov dword [ebp - 0x83c], 0x5d
lea eax, [ebp - 0x848]
mov byte [ebp - 4], 0xe
push eax
call fcn.004342a0
push dword [ebx + 4]
mov byte [ebp - 4], 0
call fcn.0044c460
mov dword [ebp - method.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.virtual_0], vtable.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.0
mov dword [ebp - 0x844], 0x43d8b0
mov dword [ebp - 0x840], ebx
mov dword [ebp - 0x83c], 0x60
lea eax, [ebp - 0x848]
mov byte [ebp - 4], 0xf
push eax
call fcn.004342a0
add esp, 0xc
mov byte [ebp - 4], 0
call fcn.00436410
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
test al, 1
je 0x43e820
call fcn.0041a040
mov ecx, eax
call fcn.004180c0
mov dword [ebp - 0x86c], 1
test eax, eax
je 0x43e82a
mov dword [ebp - 0x86c], 0
call fcn.00436410
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
test al, 2
je 0x43e84f
call fcn.0041a040
mov ecx, eax
call fcn.004182a0
test eax, eax
jne 0x43e84f
lea esi, [eax + 1]
jmp 0x43e851
xor esi, esi
push 0
call fcn.0041a040
mov ecx, eax
call fcn.00418580
neg eax
sbb eax, eax
inc eax
push eax
call fcn.0041a040
mov ecx, eax
call fcn.004183a0
neg eax
sbb eax, eax
inc eax
push eax
push esi
push dword [ebp - 0x86c]
push ecx
mov esi, esp
mov dword [ebp - 0x86c], esi
mov eax, dword [ebx + 4]
sub eax, 0x10
push eax
call fcn.00407c60
add esp, 4
lea ecx, [ebp - 0x89c]
add eax, 0x10
mov dword [esi], eax
call fcn.004375c0
lea ecx, [ebp - 0x89c]
mov byte [ebp - 4], 0x10
call fcn.00438170
mov dword [ebp - method.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.virtual_0], vtable.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.0
mov dword [ebp - 0x844], 0x43d8b0
mov dword [ebp - 0x840], ebx
mov dword [ebp - 0x83c], 0x61
lea eax, [ebp - 0x848]
mov byte [ebp - 4], 0x11
push eax
call fcn.004342a0
add esp, 4
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x89c]
call fcn.004377a0
mov dword [ebp - method.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.virtual_0], vtable.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.0
mov dword [ebp - 0x844], 0x43d8b0
mov dword [ebp - 0x840], ebx
mov dword [ebp - 0x83c], 0x62
lea eax, [ebp - 0x848]
mov byte [ebp - 4], 0x12
push eax
call fcn.004342a0
add esp, 4
mov byte [ebp - 4], 0x10
mov ecx, ebx
call fcn.0043c810
push 0x210
lea eax, [ebp - 0x838]
push 0
push eax
call fcn.00520fa0
add esp, 0xc
call fcn.00415d80
mov ecx, eax
test ecx, ecx
je 0x43ef40
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x870], eax
mov byte [ebp - 4], 0x13
call fcn.00437e90
test al, al
lea eax, [ebp - 0x838]
je 0x43e99b
push str.UtilsTabXSDrv_x64.sys
push dword [ebx + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 8
push str.Pdrv_x64
jmp 0x43e9b1
push str.UtilsTabXSDrv.sys
push dword [ebx + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 8
push str.Pdrv_x86
lea ecx, [ebp - 0x870]
call fcn.00408f10
lea eax, [ebp - 0x838]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x43ea95
push str.Create_Drivers
call fcn.00439790
add esp, 4
lea eax, [ebp - 0x838]
push 1
push eax
push str.TabXSDrvsfert
call fcn.00448e20
push str.TabXSDrvsfert
call fcn.00448ec0
mov dword [ebp - method.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.virtual_0], vtable.mf_bind_t_1_class_CInstaller__class_CInstaller___void__int_.0
mov dword [ebp - 0x844], 0x43d8b0
mov dword [ebp - 0x840], ebx
mov dword [ebp - 0x83c], 0x63
lea eax, [ebp - 0x848]
mov byte [ebp - 4], 0x14
push eax
call fcn.004342a0
add esp, 4
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x218]
push 0
push 0x1a
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push str.ldsComputerZ.set
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov esi, dword [ebp - 0x870]
cmp dword [esi - 4], 1
jle 0x43ea7b
push dword [esi - 0xc]
lea ecx, [ebp - 0x870]
call fcn.004086a0
mov esi, dword [ebp - 0x870]
lea eax, [ebp - 0x218]
push eax
push str.TabXDrv
push str.TabX
push esi
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
jmp 0x43ea9b
mov esi, dword [ebp - 0x870]
mov byte [ebp - 4], 0x10
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x43eab7
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, ebx
call fcn.0043f640
push 4
lea eax, [ebp - 0x86c]
mov dword [ebp - 0x86c], 0
push eax
push 4
push str.CertificateRevocation
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_Settings
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x43eaf3
push str.Ban_Check_Certificate_suc
jmp 0x43eaf8
push str.Ban_Check_Certificate_fail
call fcn.00439790
add esp, 4
push str.IsWow64Process2
push str.kernelbase.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x43ec2c
lea eax, [ebp - 0x86c]
mov dword [ebp - 0x870], 0
push eax
lea eax, [ebp - 0x870]
mov dword [ebp - 0x86c], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
test eax, eax
je 0x43ec2c
mov eax, dword [ebp - 0x86c]
mov ecx, 0xaa64
cmp ax, cx
je 0x43eb7c
mov ecx, 0x1c0
cmp ax, cx
je 0x43eb7c
mov ecx, 0x1c4
cmp ax, cx
jne 0x43ec2c
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00520fa0
add esp, 0xc
mov dword [ebp - 0x840], 0
xor eax, eax
mov dword [ebp - 0x83c], 7
lea ecx, [ebp - 0x850]
mov word [ebp - 0x850], ax
push 0xc
push str.TabXExplorer
call fcn.00414260
lea eax, [ebp - 0x850]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x868]
push eax
call fcn.00410ca0
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x43ebe3
mov eax, dword [eax]
push str.config.ini
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea ecx, [ebp - 0x868]
call fcn.0040fa90
lea ecx, [ebp - 0x850]
mov byte [ebp - 4], 0x10
call fcn.0040fa90
lea eax, [ebp - 0x218]
push eax
push 0x5ece68
push 0x5ece6c
push str.settings
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
call fcn.0041a040
mov eax, dword [eax + 0x5c]
sub eax, 0x10
push eax
call fcn.00407c60
add esp, 4
lea esi, [eax + 0x10]
mov dword [ebp - 0x86c], esi
cmp dword [esi - 0xc], 0
mov byte [ebp - 4], 0x16
je 0x43ecff
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00520fa0
add esp, 0xc
mov dword [ebp - 0x840], 0
xor eax, eax
mov dword [ebp - 0x83c], 7
lea ecx, [ebp - 0x850]
mov word [ebp - 0x850], ax
push 0xc
push str.TabXExplorer
call fcn.00414260
lea eax, [ebp - 0x850]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x868]
push eax
call fcn.00410ca0
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x43ecbe
mov eax, dword [eax]
push str.config.ini
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea ecx, [ebp - 0x868]
call fcn.0040fa90
lea ecx, [ebp - 0x850]
call fcn.0040fa90
lea eax, [ebp - 0x218]
push eax
push esi
push str.theme_mode
push str.settings
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x10
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ed1d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0041a040
mov eax, dword [eax + 0x40]
sub eax, 0x10
push eax
call fcn.00407c60
add esp, 4
add eax, 0x10
mov dword [ebp - 0x870], eax
mov ecx, str.__fromnewinstall
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43ed6e
test dx, dx
je 0x43ed62
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43ed6e
add eax, 4
add ecx, 4
test dx, dx
jne 0x43ed40
mov dword [ebp - 0x86c], 0
jmp 0x43ed79
sbb ecx, ecx
or ecx, 1
mov dword [ebp - 0x86c], ecx
mov edx, dword [ebp - 0x870]
mov eax, esi
mov byte [ebp - 4], 0x10
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ed9a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x86c], 0
jne 0x43ee06
call fcn.0041a040
mov ecx, eax
call fcn.00418930
test al, al
je 0x43ee06
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00520fa0
add esp, 0xc
lea eax, [ebp - 0x218]
push str.UtilsTabXHelper.exe
push dword [ebx + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push str.run_helper
call fcn.00439790
add esp, 4
lea eax, [ebp - 0x218]
push 0xffffffffffffffff
push 0
push 0
push 1
push 1
push 0x5e3430
push eax
call fcn.00435690
mov ecx, ebx
call fcn.0043f000
test eax, eax
jne 0x43ee2d
push 0x14
push str.write_path_reg_fail
lea ecx, [ebp - 0x884]
xor esi, esi
call fcn.004152f0
mov edi, dword [ebp - 0x884]
jmp 0x43ee33
mov esi, dword [ebp - 0x874]
push str.install_end.
call fcn.00439790
mov dword [ebp - method.mf_bind_t_2_class_CInstaller__class_CInstaller___void__int__wchar_t_const__.virtual_0], vtable.mf_bind_t_2_class_CInstaller__class_CInstaller___void__int__wchar_t_const__.0
mov dword [ebp - 0x848], 0x43d880
mov dword [ebp - 0x844], ebx
mov dword [ebp - 0x840], esi
mov dword [ebp - 0x83c], edi
lea eax, [ebp - 0x84c]
mov byte [ebp - 4], 0x19
push eax
call fcn.004342a0
push str.real_install_end.
mov byte [ebp - 4], 0x10
call fcn.00439790
lea esi, [ebx + 0x78]
mov dword [ebp - method._BaseModule::CAutoLocker.virtual_0], vtable._BaseModule::CAutoLocker.0
add esp, 0xc
mov dword [ebp - 0x874], esi
test esi, esi
je 0x43eea0
mov eax, dword [esi]
push esi
call dword [eax]
mov ecx, dword [ebx + 0x68]
mov byte [ebp - 4], 0x1a
test ecx, ecx
je 0x43eeb1
mov eax, dword [ecx]
push ecx
call dword [eax + 0x14]
push str.set_install_finish_event
call fcn.00439790
add esp, 4
push dword [ebx + 0x94]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov byte [ebp - 4], 0x1b
test esi, esi
je 0x43eed8
mov eax, dword [esi]
push esi
call dword [eax + 4]
lea ecx, [ebp - 0x89c]
call fcn.00437750
mov dword [ebp - 4], 0xffffffff
add edi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x43ef02
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
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.00464d98
mov esp, ebp
pop ebp
ret 8
push 0x80004005
call fcn.00407b00
push 0x80004005
call fcn.00407b00
push 0x80004005
call fcn.00407b00
push 0x80004005
call fcn.00407b00
int3