Function at 0x434340
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x694740
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x7ca00c]
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, ecx
mov dword [ebp - 0x24], ebx
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov esi, dword [0x7eb9c8]
test esi, esi
je 0x434478
push ecx
call fcn.00614790
mov ecx, eax
call fcn.00614370
call fcn.00614790
mov edi, eax
mov ecx, dword [edi + 0x6c]
test ecx, ecx
je 0x4343a7
push ecx
call fcn.006157e0
cmp dword [0x7eba00], 0
mov dword [edi + 0x6c], 0
je 0x434402
push 0x7eccc8
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov edi, dword [0x7eba00]
test edi, edi
je 0x4343f7
mov dword [edi], vtable.AnalyticsFramework::ETSManager.0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, edi
call fcn.006138e0
push 0xe0
push edi
call fcn.0063e103
add esp, 8
mov dword [0x7eba00], 0
push 0x7eccc8
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
lea ecx, [esi + 0xc0]
call fcn.00428770
lea ecx, [esi + 0xb8]
call fcn.004512e0
lea ecx, [esi + 0xb0]
call fcn.004512e0
lea ecx, [esi + 0x98]
call fcn.00428770
lea ecx, [esi + 0x80]
call fcn.00428770
lea ecx, [esi + 0x68]
call fcn.00428770
lea ecx, [esi + 0x50]
call fcn.00428770
lea ecx, [esi + 0x38]
call fcn.00428770
lea ecx, [esi + 0x18]
call fcn.00428770
mov ecx, esi
call fcn.00428770
push 0xe0
push esi
call fcn.0063e103
add esp, 8
mov dword [0x7eb9c8], 0
mov edi, dword [0x7eb9cc]
test edi, edi
je 0x434586
push ecx
call fcn.00615e40
mov ecx, eax
call fcn.00614370
call fcn.00615e40
mov esi, eax
mov ecx, dword [esi + 0x6c]
test ecx, ecx
je 0x4344a7
push ecx
call fcn.006157e0
cmp dword [0x7eba04], 0
mov dword [esi + 0x6c], 0
je 0x43450d
push 0x7eccf8
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov esi, dword [0x7eba04]
test esi, esi
je 0x434502
mov dword [esi], vtable.AnalyticsFramework::IngestManager.0
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [esi + 0xe0]
call fcn.00428770
mov ecx, esi
call fcn.006138e0
push 0xfc
push esi
call fcn.0063e103
add esp, 8
mov dword [0x7eba04], 0
push 0x7eccf8
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, dword [edi + 0xbc]
lea esi, [edi + 0xbc]
mov ecx, esi
push dword [eax + 4]
push esi
call fcn.0043a420
push 0x40
push dword [esi]
call fcn.0063e103
add esp, 8
lea ecx, [edi + 0xa4]
call fcn.00428770
lea ecx, [edi + 0x8c]
call fcn.00428770
lea ecx, [edi + 0x74]
call fcn.00428770
lea ecx, [edi + 0x5c]
call fcn.00428770
lea ecx, [edi + 0x38]
call fcn.00428770
lea ecx, [edi + 0x20]
call fcn.00428770
lea ecx, [edi + 4]
call fcn.00428770
push 0xc4
push edi
call fcn.0063e103
add esp, 8
mov dword [0x7eb9cc], 0
mov esi, dword [ebx + 0x1a0]
mov edi, dword [sym.imp.KERNEL32.DLL_CloseHandle]
test esi, esi
je 0x434623
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x4345aa
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x4345c1
cmp byte [esi + 0x50], 0
je 0x4345ba
push eax
call edi
mov dword [esi + 0x4c], 0
mov dword [ebp - 4], 0
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4345dc
mov dword [esi + 0x44], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
cmp byte [esi + 0x48], 0
je 0x4345e8
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [esi + 0x48], 0
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4345f9
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea ecx, [esi + 0x28]
mov dword [ebp - 4], 0xffffffff
call fcn.00428770
lea ecx, [esi + 0x1c]
call fcn.00440260
lea ecx, [esi + 4]
call fcn.00428770
push 0x54
push esi
call fcn.0063e103
add esp, 8
mov esi, dword [ebx + 0x1b4]
mov dword [ebx + 0x1a0], 0
test esi, esi
je 0x43468b
mov dword [ebp - 4], 1
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x43464a
call fcn.005f2410
mov eax, dword [esi + 0x24]
test eax, eax
je 0x43465a
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov eax, dword [esi + 0x24]
test eax, eax
je 0x434671
cmp byte [esi + 0x28], 0
je 0x43466a
push eax
call edi
mov dword [esi + 0x24], 0
lea ecx, [esi + 4]
call fcn.00428770
push 0x2c
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0063e103
add esp, 8
mov esi, dword [ebx + 0x1a8]
mov dword [ebx + 0x1b4], 0
test esi, esi
je 0x4346b9
lea ecx, [esi + 0x18]
call fcn.00440260
mov ecx, esi
call fcn.00428770
push 0x24
push esi
call fcn.0063e103
add esp, 8
mov esi, dword [ebx + 0x1ac]
mov dword [ebx + 0x1a8], 0
test esi, esi
je 0x4346df
mov ecx, esi
call fcn.004a0450
push 0x18
push esi
call fcn.0063e103
add esp, 8
mov ecx, dword [ebx + 0x198]
mov dword [ebx + 0x1ac], 0
test ecx, ecx
je 0x4346f9
mov eax, dword [ecx]
push 1
call dword [eax]
mov edi, dword [ebx + 0x1bc]
mov dword [ebx + 0x198], 0
test edi, edi
je 0x434794
mov eax, dword [edi + 0x1c4]
lea esi, [edi + 0x1c4]
mov ecx, esi
push dword [eax + 4]
push esi
call fcn.0043a420
push 0x40
push dword [esi]
call fcn.0063e103
add esp, 8
lea ecx, [edi + 0xa4]
call fcn.005fa170
lea ecx, [edi + 0x7c]
call fcn.00428770
mov eax, dword [edi + 0x74]
lea esi, [edi + 0x74]
mov ecx, esi
push dword [eax + 4]
push esi
call fcn.0043a420
push 0x40
push dword [esi]
call fcn.0063e103
add esp, 8
lea ecx, [edi + 0x5c]
call fcn.00428770
lea ecx, [edi + 0x44]
call fcn.00428770
lea ecx, [edi + 0x2c]
call fcn.00428770
mov esi, edi
lea ecx, [esi + 4]
call fcn.00428770
push 0x1d0
push esi
call fcn.0063e103
add esp, 8
mov edi, dword [ebx + 0x1c0]
mov dword [ebx + 0x1bc], 0
test edi, edi
je 0x434846
mov dword [ebp - 4], 2
mov ecx, dword [edi]
test ecx, ecx
je 0x4347be
call fcn.005f2410
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x4347ca
call fcn.005f2410
mov eax, dword [edi + 8]
mov esi, dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
test eax, eax
je 0x4347dc
push 0xffffffffffffffff
push eax
call esi
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4347e8
push 0xffffffffffffffff
push eax
call esi
lea ecx, [edi + 0x54]
call fcn.00428770
lea ecx, [edi + 0x3c]
call fcn.00428770
lea ecx, [edi + 0x18]
call fcn.00464cb0
mov eax, dword [edi + 0x10]
mov esi, dword [sym.imp.KERNEL32.DLL_CloseHandle]
test eax, eax
je 0x43481d
cmp byte [edi + 0x14], 0
je 0x434816
push eax
call esi
mov dword [edi + 0x10], 0
mov eax, dword [edi + 8]
test eax, eax
je 0x434834
cmp byte [edi + 0xc], 0
je 0x43482d
push eax
call esi
mov dword [edi + 8], 0
push 0x6c
push edi
mov dword [ebp - 4], 0xffffffff
call fcn.0063e103
add esp, 8
mov edi, dword [ebx + 0x194]
mov dword [ebx + 0x1c0], 0
test edi, edi
je 0x43495b
lea ecx, [edi + 0x34c]
call fcn.00428770
mov eax, dword [edi + 0x338]
lea esi, [edi + 0x338]
mov ecx, esi
push dword [eax + 4]
push esi
call fcn.0043a420
push 0x40
push dword [esi]
call fcn.0063e103
add esp, 8
lea ecx, [edi + 0x218]
call fcn.005fa170
lea ecx, [edi + 0x1f0]
call fcn.00428770
mov eax, dword [edi + 0x1e8]
lea esi, [edi + 0x1e8]
mov ecx, esi
push dword [eax + 4]
push esi
call fcn.0043a420
push 0x40
push dword [esi]
call fcn.0063e103
add esp, 8
lea ecx, [edi + 0x1d0]
call fcn.00428770
lea ecx, [edi + 0x1b8]
call fcn.00428770
lea ecx, [edi + 0x1a0]
call fcn.00428770
mov eax, dword [edi + 0x198]
lea esi, [edi + 0x198]
mov ecx, esi
push dword [eax + 4]
push esi
call fcn.0043a420
push 0x40
push dword [esi]
call fcn.0063e103
add esp, 8
lea ecx, [edi + 0x78]
call fcn.005fa170
lea ecx, [edi + 0x50]
call fcn.00428770
mov eax, dword [edi + 0x48]
lea esi, [edi + 0x48]
mov ecx, esi
push dword [eax + 4]
push esi
call fcn.0043a420
push 0x40
push dword [esi]
call fcn.0063e103
add esp, 8
lea ecx, [edi + 0x30]
call fcn.00428770
lea ecx, [edi + 0x18]
call fcn.00428770
mov ecx, edi
call fcn.00428770
push 0x368
push edi
call fcn.0063e103
add esp, 8
mov esi, dword [ebx + 0x19c]
mov dword [ebx + 0x194], 0
test esi, esi
je 0x4349ad
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x43497f
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x43499a
cmp byte [esi + 0x20], 0
je 0x434993
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [esi + 0x1c], 0
lea ecx, [esi + 4]
call fcn.00428770
push 0x24
push esi
call fcn.0063e103
add esp, 8
mov edi, dword [ebx + 0x1a4]
mov dword [ebx + 0x19c], 0
test edi, edi
je 0x434a08
lea ecx, [edi + 0x50]
call fcn.00440260
lea ecx, [edi + 0x38]
call fcn.00428770
lea ecx, [edi + 0x20]
call fcn.00428770
mov eax, dword [edi + 0x18]
lea esi, [edi + 0x18]
mov ecx, esi
push dword [eax + 4]
push esi
call fcn.00449a30
push 0x30
push dword [esi]
call fcn.0063e103
add esp, 8
mov ecx, edi
call fcn.00428770
push 0x5c
push edi
call fcn.0063e103
add esp, 8
mov esi, dword [ebx + 0x1b0]
mov dword [ebx + 0x1a4], 0
test esi, esi
je 0x434a6c
mov dword [ebp - 4], 3
mov eax, dword [esi]
mov edi, dword [sym.imp.KERNEL32.DLL_FreeLibrary]
test eax, eax
je 0x434a4b
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x434a3a
call ecx
mov eax, dword [esi]
test eax, eax
je 0x434a4b
push eax
call edi
test eax, eax
je 0x434a4b
mov dword [esi], 0
mov eax, dword [esi]
test eax, eax
je 0x434a54
push eax
call edi
push 0x14
push esi
mov dword [esi], 0
mov dword [ebp - 4], 0xffffffff
call fcn.0063e103
add esp, 8
mov esi, dword [ebx + 0x1b8]
mov dword [ebx + 0x1b0], 0
mov dword [ebp - 0x20], esi
test esi, esi
je 0x434bb3
push str.Waiting_for_IPC_channel_to_terminate.
push 0x701e7c
push 0x701e7c
push str.OtherInstallerHandler
push str.WAMB
mov dword [ebp - 4], 4
push 0x14
mov byte [esi], 0
call fcn.00433ac0
mov eax, dword [esi + 0xb0]
add esp, 0x18
mov edi, dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
test eax, eax
je 0x434ae8
push 0xa
push eax
call edi
cmp eax, 0x102
jne 0x434ae8
push 0
push dword [esi + 0xb0]
call dword [sym.imp.KERNEL32.DLL_TerminateThread]
mov dword [esi + 0xb0], 0
cmp byte [esi + 0x71], 0
je 0x434af6
lea ecx, [esi + 0x38]
call fcn.00601910
mov eax, dword [esi + 0xb8]
test eax, eax
je 0x434b24
push 0xa
push eax
call edi
cmp eax, 0x102
jne 0x434b24
push 0
push dword [esi + 0xb8]
call dword [sym.imp.KERNEL32.DLL_TerminateThread]
mov dword [esi + 0xb8], 0
mov eax, dword [esi + 0xb8]
test eax, eax
je 0x434b48
cmp byte [esi + 0xbc], 0
je 0x434b3e
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [esi + 0xb8], 0
mov eax, dword [esi + 0xb0]
test eax, eax
je 0x434b6c
cmp byte [esi + 0xb4], 0
je 0x434b62
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [esi + 0xb0], 0
lea eax, [esi + 0x58]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteCriticalSection]
lea eax, [esi + 0x90]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteCriticalSection]
lea ecx, [esi + 0x7c]
call fcn.006134a0
lea ecx, [esi + 0x38]
call fcn.00428770
mov esi, dword [ebp - 0x20]
lea ecx, [esi + 8]
call fcn.00428770
push 0xc8
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0063e103
add esp, 8
mov esi, dword [ebx + 0x190]
mov dword [ebx + 0x1b8], 0
test esi, esi
je 0x434bdc
mov ecx, esi
call fcn.00484df0
push 0x510
push esi
call fcn.0063e103
add esp, 8
mov esi, dword [ebx + 0x18c]
mov dword [ebx + 0x190], 0
mov dword [ebp - 0x20], esi
test esi, esi
je 0x434cb8
push str.Waiting_for_IPC_channel_to_terminate.
push 0x701e7c
push 0x701e7c
push str.MessageGateway
push str.WAMB
push 0x14
mov dword [ebp - 4], 5
call fcn.00433ac0
mov eax, dword [esi + 0xb4]
add esp, 0x18
test eax, eax
je 0x434c34
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
cmp byte [esi + 0x75], 0
je 0x434c42
lea ecx, [esi + 0x3c]
call fcn.00601910
mov eax, dword [esi + 0xb4]
test eax, eax
je 0x434c66
cmp byte [esi + 0xb8], 0
je 0x434c5c
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [esi + 0xb4], 0
lea eax, [esi + 0x5c]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteCriticalSection]
lea eax, [esi + 0x94]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteCriticalSection]
lea ecx, [esi + 0x80]
call fcn.006134a0
lea ecx, [esi + 0x3c]
call fcn.00428770
mov esi, dword [ebp - 0x20]
lea ecx, [esi + 0x1c]
call fcn.00428770
lea ecx, [esi + 4]
call fcn.00428770
push 0xbc
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0063e103
add esp, 8
mov esi, dword [ebx + 0x188]
mov dword [ebx + 0x18c], 0
test esi, esi
je 0x434dfd
mov edi, dword [esi]
test edi, edi
je 0x434ce8
mov ecx, edi
call fcn.0045af10
push 0x48
push edi
call fcn.0063e103
add esp, 8
lea ecx, [esi + 0x248]
mov dword [esi], 0
call fcn.00440260
lea ecx, [esi + 0x22c]
call fcn.00428770
lea ecx, [esi + 0x214]
call fcn.00428770
lea ecx, [esi + 0x1fc]
call fcn.00428770
lea ecx, [esi + 0x1e4]
call fcn.00428770
lea ecx, [esi + 0x1cc]
call fcn.00428770
lea ecx, [esi + 0x1b4]
call fcn.00428770
lea ecx, [esi + 0x19c]
call fcn.00428770
lea ecx, [esi + 0x184]
call fcn.00428770
lea ecx, [esi + 0x16c]
call fcn.00428770
lea ecx, [esi + 0x154]
call fcn.00428770
lea ecx, [esi + 0x13c]
call fcn.00428770
lea ecx, [esi + 0x124]
call fcn.00428770
lea ecx, [esi + 0x10c]
call fcn.00428770
lea ecx, [esi + 0xf4]
call fcn.00428770
lea ecx, [esi + 0xdc]
call fcn.00428770
lea ecx, [esi + 0xc4]
call fcn.00428770
lea ecx, [esi + 0xac]
call fcn.00428770
lea ecx, [esi + 0x94]
call fcn.00428770
lea ecx, [esi + 0x7c]
call fcn.00428770
lea ecx, [esi + 0x64]
call fcn.00428770
lea ecx, [esi + 0x4c]
call fcn.00428770
lea ecx, [esi + 0x34]
call fcn.00428770
lea ecx, [esi + 0x1c]
call fcn.00428770
lea ecx, [esi + 4]
call fcn.00428770
push 0x258
push esi
call fcn.0063e103
add esp, 8
cmp byte [ebx + 0xfc], 0
mov dword [ebx + 0x188], 0
je 0x434e70
push ecx
push 1
sub esp, 0xc
mov dword [ebp - 0x1c], 0
lea ecx, [ebx + 0xe4]
mov dword [ebp - 0x18], 0
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x14], 0
call fcn.005db000
add esp, 0x14
lea ecx, [ebp - 0x1c]
mov bl, al
call fcn.00440260
test bl, bl
jne 0x434e6d
push str.Failed_to_delete_directory_in_temp.
push 0x701e7c
push 0x701e7c
push str.ApplicationContext
push str.WAMB
push 0x32
call fcn.00433ac0
add esp, 0x18
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebx + 0x134]
push 0x708850
push str._Workflow_end._Version:__s_
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
add esp, 0xc
cmp dword [ebx + 0x130], 0
je 0x434ebf
call fcn.005e50c0
push dword [ebx + 0x130]
mov ecx, eax
call fcn.005e5400
mov ecx, dword [ebx + 0x130]
test ecx, ecx
je 0x434eb5
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov dword [ebx + 0x130], 0
mov esi, dword [ebx + 0x134]
test esi, esi
je 0x434eff
lea ecx, [esi + 0x68]
call fcn.00428770
lea ecx, [esi + 0x50]
call fcn.00428770
lea ecx, [esi + 0x38]
call fcn.00428770
lea ecx, [esi + 0x20]
call fcn.00428770
lea ecx, [esi + 8]
call fcn.00428770
push 0x80
push esi
call fcn.0063e103
add esp, 8
lea ecx, [ebx + 0x148]
call fcn.004455b0
mov eax, dword [ebx + 0x13c]
lea esi, [ebx + 0x13c]
mov ecx, esi
push dword [eax + 4]
push esi
call fcn.0043a420
push 0x40
push dword [esi]
call fcn.0063e103
add esp, 8
lea ecx, [ebx + 0x118]
call fcn.00428770
lea ecx, [ebx + 0x100]
call fcn.00428770
lea ecx, [ebx + 0xe4]
call fcn.00428770
lea ecx, [ebx + 0xb4]
call fcn.00428770
lea ecx, [ebx + 0x98]
call fcn.00428770
lea ecx, [ebx + 0x80]
call fcn.00428770
lea ecx, [ebx + 0x68]
call fcn.00428770
lea ecx, [ebx + 0x50]
call fcn.00428770
lea ecx, [ebx + 0x34]
call fcn.00428770
lea ecx, [ebx + 0x1c]
call fcn.00428770
lea ecx, [ebx + 4]
call fcn.00428770
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.0063de71
mov esp, ebp
pop ebp
ret