Function at 0x46ff80
Capabilities:
Create process on windows
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e1385
mov eax, dword fs:[0]
push eax
sub esp, 0xbb4
mov eax, dword [0x527064]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0x37
push 3
lea ecx, [ebp - 0xb60]
call fcn.00431610
mov dword [ebp - 4], 0
mov edx, str.Entering_DeleteSelfAfterProductRegistered
mov ecx, dword [eax]
call fcn.004333c0
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0xb60]
call fcn.004327d0
mov eax, dword [ebp - 0xb60]
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
add eax, 0x14
push eax
call esi
mov dword [ebp - 4], 0xffffffff
call fcn.0046fce0
push str.ActivatedScreenExit
push 0
push 0x1f0003
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov edi, eax
lea ecx, [ebp - 0xb60]
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
test edi, edi
je 0x470119
push 0x3c
push 3
call fcn.00431610
mov dword [ebp - 4], 2
mov edx, str.Waiting_for_Activated_screen_exit_event_to_get_Signaled
mov ecx, dword [eax]
call fcn.00433720
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0xb60]
call fcn.004327d0
mov eax, dword [ebp - 0xb60]
add eax, 0x14
push eax
call esi
push 0x2932e00
push edi
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x4700bf
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0x40
push 3
lea ecx, [ebp - 0xb60]
call fcn.00431610
mov dword [ebp - 4], 4
mov edx, str.Activated_screen_exit_event_is_signalled
mov ecx, dword [eax]
call fcn.00433720
mov dword [ebp - 4], 5
jmp 0x4700f9
cmp eax, 0x102
jne 0x470110
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0x44
push 3
lea ecx, [ebp - 0xb60]
call fcn.00431610
mov dword [ebp - 4], 6
mov edx, str.Activated_screen_exit_event_wait_is_TIMED_OUT
mov ecx, dword [eax]
call fcn.00433720
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0xb60]
call fcn.004327d0
mov eax, dword [ebp - 0xb60]
add eax, 0x14
push eax
call esi
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x470153
push 0x4a
push 4
call fcn.00431610
mov dword [ebp - 4], 8
mov edx, str.Unable_to_open_Activated_screen_exit_event..Proceeding_self_destruct
mov ecx, dword [eax]
call fcn.00433720
mov dword [ebp - 4], 9
mov ecx, dword [ebp - 0xb60]
call fcn.004327d0
mov eax, dword [ebp - 0xb60]
add eax, 0x14
push eax
call esi
xor eax, eax
mov dword [ebp - 0xb48], 7
mov dword [ebp - 0xb4c], 0
mov word [ebp - 0xb5c], ax
push 0x20a
push eax
lea eax, [ebp - 0x93c]
mov dword [ebp - 4], 0xa
push eax
call fcn.00496490
add esp, 0xc
mov dword [ebp - 0xb70], 0
lea eax, [ebp - 0x93c]
push eax
push 0x105
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x470295
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0x53
push 4
lea ecx, [ebp - 0xb60]
call fcn.00431610
mov byte [ebp - 4], 0xb
mov edx, str.Get_temp_path_failed___first_time
mov ecx, dword [eax]
call fcn.00433720
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xb60]
call fcn.004327d0
mov eax, dword [ebp - 0xb60]
add eax, 0x14
push eax
call esi
lea eax, [ebp - 0xb70]
mov byte [ebp - 4], 0xa
push eax
push 0
push 0
push 0x50dab4
call dword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
mov edi, eax
test edi, edi
jns 0x470265
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0x56
push 4
lea ecx, [ebp - 0xb60]
call fcn.00431610
mov byte [ebp - 4], 0xd
mov edx, str.Get_temp_path_failed___second_time
mov ecx, dword [eax]
push edi
call fcn.00433720
mov ecx, eax
call fcn.0043a770
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0xb60]
call fcn.004327d0
mov eax, dword [ebp - 0xb60]
add eax, 0x14
push eax
call esi
jmp 0x470c21
lea eax, [ebp - 0xb70]
push eax
lea ecx, [ebp - 0xb5c]
call fcn.00445930
push str.Temp
lea ecx, [ebp - 0xb5c]
call fcn.0043a120
push dword [ebp - 0xb70]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x4702d8
cmp word [ebp - 0x93c], 0
mov dword [ebp - 0xb4c], 0
jne 0x4702ad
xor ecx, ecx
jmp 0x4702c5
lea ecx, [ebp - 0x93c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4702b6
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x93c]
push eax
lea ecx, [ebp - 0xb5c]
call fcn.00408f30
cmp dword [ebp - 0xb4c], 0
lea ecx, [ebp - 0xb5c]
push 6
push str..tmp
jne 0x4702f5
call fcn.00408f30
jmp 0x4702fa
call fcn.00409380
lea ecx, [ebp - 0xbc0]
call fcn.00434330
push 4
mov byte [ebp - 4], 0xf
call fcn.004a3e8e
add esp, 4
test eax, eax
je 0x47031f
mov dword [eax], vtable.CMcWin32APIWrapper.0
jmp 0x470321
xor eax, eax
sub esp, 8
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.0044ac80
lea ecx, [ebp - 0xbc0]
call fcn.00434690
cmp dword [ebp - 0xb48], 8
lea eax, [ebp - 0xb5c]
push 0x433ff0
cmovae eax, dword [ebp - 0xb5c]
lea ecx, [ebp - 0xbc0]
push eax
call fcn.00436f90
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0x6f
push 3
lea ecx, [ebp - 0xb60]
mov byte [ebp - 4], 0x10
call fcn.00431610
mov byte [ebp - 4], 0x11
mov edx, str.Self_protection_for_install_dir_to_be_released
mov ecx, dword [eax]
call fcn.00433720
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0xb60]
call fcn.004327d0
mov eax, dword [ebp - 0xb60]
add eax, 0x14
push eax
call esi
xorps xmm0, xmm0
mov dword [ebp - method.CMcSelfProtect.virtual_0], vtable.CMcSelfProtect.0
movups xmmword [ebp - 0xb88], xmm0
mov dword [ebp - 0xb78], 0
mov dword [ebp - 0xb74], 0
push 4
mov byte [ebp - 4], 0x13
call fcn.004a3e8e
add esp, 4
mov dword [ebp - 0xb68], eax
test eax, eax
je 0x4703f9
mov dword [eax], vtable.CMcRegistryOps.0
jmp 0x4703fb
xor eax, eax
sub esp, 8
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.0047d0b0
lea ecx, [ebp - 0xb8c]
call fcn.00434690
push 4
call fcn.004a3e8e
add esp, 4
test eax, eax
je 0x470434
mov dword [eax], vtable.CMcNAPICoreWrapper.0
jmp 0x470436
xor eax, eax
sub esp, 8
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.0047d180
lea ecx, [ebp - 0xb8c]
call fcn.00434740
push 4
call fcn.004a3e8e
add esp, 4
test eax, eax
je 0x47046f
mov dword [eax], vtable.CMcWin32APIWrapper.0
jmp 0x470471
xor eax, eax
sub esp, 8
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.0044ac80
lea ecx, [ebp - 0xb8c]
call fcn.00465690
push ecx
lea ecx, [ebp - 0xb8c]
call fcn.00465c70
lea ecx, [ebp - 0xb8c]
call fcn.004659e0
push ecx
lea ecx, [ebp - 0xb8c]
call fcn.00465bb0
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0x77
push 3
lea ecx, [ebp - 0xb60]
call fcn.00431610
mov byte [ebp - 4], 0x14
mov edx, str.Self_protection_for_install_dir_released
mov ecx, dword [eax]
call fcn.00433720
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0xb60]
call fcn.004327d0
mov eax, dword [ebp - 0xb60]
add eax, 0x14
push eax
call esi
push 0
mov byte [ebp - 4], 0x13
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x470ab5
push 0x208
lea ecx, [ebp - 0xb44]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x470535
cmp eax, 0x104
je 0x470535
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x47059b
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0x84
push 4
lea ecx, [ebp - 0xb64]
mov dword [ebp - 0xb68], eax
call fcn.00431610
mov byte [ebp - 4], 0x16
mov edx, str.Failed_to_retrieve_the_path._The_actual_path_may_exceed_MAX_PATH._Error_code:
mov ecx, dword [eax]
call fcn.00433720
push dword [ebp - 0xb68]
mov ecx, eax
call fcn.0043a5d0
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0xb64]
call fcn.004327d0
mov eax, dword [ebp - 0xb64]
add eax, 0x14
push eax
call esi
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0xb44]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
jne 0x4705f7
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0x88
push 4
lea ecx, [ebp - 0xb64]
call fcn.00431610
mov byte [ebp - 4], 0x18
mov edx, str.Unable_to_remove_filename_from_path.
mov ecx, dword [eax]
call fcn.004333c0
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0xb64]
call fcn.004327d0
mov eax, dword [ebp - 0xb64]
add eax, 0x14
push eax
call esi
mov byte [ebp - 4], 0x13
push 0x104
lea eax, [ebp - 0x424]
push 0
push eax
call fcn.00496490
lea ecx, [ebp - 0xb44]
mov dword [ebp - 0xb6c], 0
add esp, 0xc
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x470620
sub ecx, edx
sar ecx, 1
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0xb44]
push eax
push 0x104
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0xb6c]
push eax
call fcn.004a8cf6
add esp, 0x14
mov dword [ebp - 0xb68], eax
test eax, eax
je 0x4706c3
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0x8f
push 4
lea ecx, [ebp - 0xb64]
call fcn.00431610
mov byte [ebp - 4], 0x1a
mov edx, str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
mov ecx, dword [eax]
call fcn.00433720
mov edx, str.Error_while_converting_wide_string_to_multibyte_string:
mov ecx, eax
call fcn.00433720
push dword [ebp - 0xb68]
mov ecx, eax
call fcn.0043a770
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0xb64]
call fcn.004327d0
mov eax, dword [ebp - 0xb64]
add eax, 0x14
push eax
call esi
mov byte [ebp - 4], 0x13
movups xmm0, xmmword [str.selfdestruct.bat]
movzx eax, word [0x50b3c4]
push 0x1e6
movups xmmword [ebp - 0x62c], xmm0
mov word [ebp - 0x60c], ax
lea eax, [ebp - 0x60a]
movups xmm0, xmmword [0x50b3b4]
push 0
push eax
movups xmmword [ebp - 0x61c], xmm0
call fcn.00496490
movups xmm0, xmmword [str.if_exist__s____n_rmdir___s___s__q__]
movzx eax, word [0x50b350]
mov word [ebp - 0xf8], ax
mov al, byte [0x50b352]
movups xmmword [ebp - 0x118], xmm0
push 0xe1
movups xmm0, xmmword [0x50b340]
mov byte [ebp - 0xf6], al
lea eax, [ebp - 0xf5]
push 0
push eax
movups xmmword [ebp - 0x108], xmm0
call fcn.00496490
push 0x208
lea eax, [ebp - 0x320]
push 0
push eax
call fcn.00496490
add esp, 0x24
lea eax, [ebp - 0x320]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x4707d4
call edi
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0x9b
push 2
lea ecx, [ebp - 0xb64]
mov dword [ebp - 0xb68], eax
call fcn.00431610
mov byte [ebp - 4], 0x1c
mov edx, str.Failed_to_retrieve_a_temp_path._Error:
mov ecx, dword [eax]
call fcn.004333c0
push dword [ebp - 0xb68]
mov ecx, eax
call fcn.0043a5d0
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0xb64]
call fcn.004327d0
mov eax, dword [ebp - 0xb64]
add eax, 0x14
push eax
call esi
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x320]
mov dword [ebp - 0xb60], 0
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0x50a758
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0xb60]
push eax
call fcn.004a41d3
mov ecx, dword [ebp - 0xb60]
add esp, 0xc
test ecx, ecx
je 0x470aed
test eax, eax
jne 0x470aed
push str.schtasks__Delete__TN_McDiReg__F
push ecx
call fcn.00420d80
push str._ntimeout__T_20_n
push dword [ebp - 0xb60]
call fcn.00420d80
lea eax, [ebp - 0x424]
push eax
push eax
lea eax, [ebp - 0x118]
push eax
push dword [ebp - 0xb60]
call fcn.00420d80
push 0x4f8180
lea eax, [ebp - 0x320]
push 0x104
push eax
call fcn.004a29f7
mov edi, eax
add esp, 0x2c
test edi, edi
je 0x4708cf
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0xad
push 4
lea ecx, [ebp - 0xb64]
call fcn.00431610
mov byte [ebp - 4], 0x20
mov edx, str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
mov ecx, dword [eax]
call fcn.00433720
mov edx, str.Error_while_concatenating_to_buffer:
mov ecx, eax
call fcn.00433720
push edi
mov ecx, eax
call fcn.0043a770
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0xb64]
call fcn.004327d0
mov eax, dword [ebp - 0xb64]
add eax, 0x14
push eax
call esi
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x320]
push 0x104
push eax
call fcn.004a29f7
mov edi, eax
add esp, 0xc
test edi, edi
je 0x47094f
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0xb2
push 4
lea ecx, [ebp - 0xb64]
call fcn.00431610
mov byte [ebp - 4], 0x22
mov edx, str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
mov ecx, dword [eax]
call fcn.00433720
mov edx, str.Error_while_concatenating_to_buffer:
mov ecx, eax
call fcn.00433720
push edi
mov ecx, eax
call fcn.0043a770
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0xb64]
call fcn.004327d0
mov eax, dword [ebp - 0xb64]
add eax, 0x14
push eax
call esi
mov byte [ebp - 4], 0x13
push 0x104
lea eax, [ebp - 0x730]
push 0
push eax
call fcn.00496490
lea ecx, [ebp - 0x320]
add esp, 0xc
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x470970
sub ecx, edx
sar ecx, 1
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x320]
push eax
push 0x104
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0xb6c]
push eax
call fcn.004a8cf6
mov edi, eax
add esp, 0x14
test edi, edi
je 0x470a0a
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0xb9
push 4
lea ecx, [ebp - 0xb64]
call fcn.00431610
mov byte [ebp - 4], 0x24
mov edx, str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
mov ecx, dword [eax]
call fcn.00433720
mov edx, str.Error_while_converting_wide_string_to_multibyte_string:
mov ecx, eax
call fcn.00433720
push edi
mov ecx, eax
call fcn.0043a770
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0xb64]
call fcn.004327d0
mov eax, dword [ebp - 0xb64]
add eax, 0x14
push eax
call esi
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x730]
push eax
push str._ndel___s_
push dword [ebp - 0xb60]
call fcn.00420d80
mov eax, dword [ebp - 0xb60]
add esp, 0xc
test eax, eax
je 0x470a37
push eax
call fcn.004a6946
add esp, 4
push 0
push 0
push 0
lea eax, [ebp - 0x320]
push eax
push str.runas
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
test eax, eax
jne 0x470acc
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0xc7
push 4
lea ecx, [ebp - 0xb64]
call fcn.00431610
mov byte [ebp - 4], 0x26
mov edx, str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
mov ecx, dword [eax]
call fcn.00433720
mov edx, str._Fail_to_invoked
mov ecx, eax
call fcn.00433720
lea edx, [ebp - 0x320]
mov ecx, eax
call fcn.00433720
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0xb64]
call fcn.004327d0
mov eax, dword [ebp - 0xb64]
add eax, 0x14
push eax
call esi
lea ecx, [ebp - 0xb8c]
call fcn.004655c0
mov dword [ebp - 4], 0xf
jmp 0x470bcf
call fcn.00470c70
call fcn.00471240
lea ecx, [ebp - 0xb8c]
call fcn.004655c0
mov dword [ebp - 4], 0xf
jmp 0x470bcf
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0xa3
push 4
lea ecx, [ebp - 0xb64]
call fcn.00431610
mov byte [ebp - 4], 0x1e
mov edx, str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered_Unable_to_open_file
mov ecx, dword [eax]
call fcn.004333c0
lea edx, [ebp - 0x62c]
mov ecx, eax
call fcn.00433720
mov edx, str.._Error_:
mov ecx, eax
call fcn.004333c0
mov dword [ebp - 0xb68], eax
call edi
mov ecx, dword [ebp - 0xb68]
push eax
call fcn.0043a5d0
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0xb64]
call fcn.004327d0
mov eax, dword [ebp - 0xb64]
add eax, 0x14
push eax
call esi
lea ecx, [ebp - 0xb8c]
call fcn.004655c0
jmp 0x470c16
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegCleanUp.h
push str.CMcDiRegCleanUp::DeleteSelfAfterProductRegistered
push 0xd6
push 3
lea ecx, [ebp - 0xb6c]
call fcn.00431610
mov byte [ebp - 4], 0x2b
mov edx, str.Leaving_DeleteSelfAfterProductRegistered
mov ecx, dword [eax]
call fcn.004333c0
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0xb6c]
call fcn.004327d0
mov eax, dword [ebp - 0xb6c]
add eax, 0x14
push eax
call esi
lea ecx, [ebp - 0xbc0]
call fcn.00434490
mov eax, dword [ebp - 0xb48]
cmp eax, 8
jb 0x470c3e
push 2
inc eax
push eax
push dword [ebp - 0xb5c]
call fcn.00402ff0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret