Function at 0x4169cc
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [ebp + 8]
xor ecx, ecx
push ebx
push esi
push edi
mov eax, dword [eax + 0x428]
lea edi, [ebp - 0x34]
mov dword [ebp - 0x20], eax
mov ebx, ecx
xor eax, eax
mov dword [ebp - 0x28], ecx
stosd dword es:[edi], eax
push 0x2000012c
push 2
mov dword [ebp - 0x10], ecx
stosd dword es:[edi], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], ecx
stosd dword es:[edi], eax
call fcn.0040550f
mov edi, dword [ebp + 8]
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
lea eax, [edi + 0xb8]
push ecx
push eax
call int.0040d39d
mov esi, eax
test esi, esi
jns 0x416a41
push str.Engine_cannot_start_apply_because_it_is_busy_with_another_action.
push esi
call fcn.0044012f
pop ecx
pop ecx
jmp 0x416d85
lea eax, [edi + 0x2c0]
push eax
lea esi, [edi + 0xb8]
push esi
call fcn.0042bc8f
mov ecx, dword [edi + 0xc8]
xor ebx, ebx
cmp dword [edi + 0x460], ebx
setne bl
cmp dword [edi + 0x470], 0
mov edx, dword [ecx]
lea eax, [ebx + 1]
cmove eax, ebx
push eax
push ecx
call dword [edx + 0x70]
mov eax, dword [edi + 0xc8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x6c]
push eax
xor ebx, ebx
inc ebx
push ebx
push esi
call fcn.0040d58b
mov esi, eax
test esi, esi
jns 0x416abb
push esi
push 0x23e
push str.core.cpp
call fcn.004037d3
push str.UX_aborted_apply_begin.
push esi
call fcn.0044012f
pop ecx
pop ecx
mov ebx, dword [ebp - 4]
jmp 0x416d85
cmp dword [edi + 0x30], 3
jne 0x416ae0
xor eax, eax
mov dword [ebp - 8], ebx
push eax
push 0x10
push eax
mov esi, 0x8007015e
push esi
push eax
push 5
push dword [edi + 0xc8]
call fcn.0040d742
jmp 0x416ab3
lea eax, [ebp - 0x10]
push eax
push 0
call fcn.0042badf
mov esi, eax
test esi, esi
jns 0x416af8
push str.Another_per_user_setup_is_already_executing.
jmp 0x416aab
call fcn.0042bad3
mov eax, dword [ebp + 0xc]
lea ebx, [edi + 0x88]
push ebx
mov dword [edi + 0xf0], eax
call fcn.0042bcc0
mov esi, eax
test esi, esi
jns 0x416b1f
push str.Failed_to_set_initial_apply_variables.
jmp 0x416aab
xor ecx, ecx
cmp dword [edi + 0x450], ecx
jne 0x416b52
cmp dword [edi + 0x460], ecx
jne 0x416b52
cmp dword [edi + 0x470], ecx
jne 0x416b52
cmp dword [edi + 0x480], ecx
jne 0x416b52
push 0xa000017c
push 2
call fcn.0040550f
jmp 0x416ab1
lea eax, [edi + 0x49c]
cmp dword [eax], ecx
jne 0x416b8b
push eax
lea eax, [edi + 0x48]
push eax
lea eax, [edi + 0xbc]
push eax
push dword [edi + 0x148]
push dword [edi + 0x110]
call fcn.00419762
mov esi, eax
test esi, esi
jns 0x416b89
push str.Failed_to_cache_engine_to_working_directory.
jmp 0x416aab
xor ecx, ecx
cmp dword [edi + 0x41c], ecx
je 0x416bec
push dword [edi + 0xf0]
push edi
call fcn.00417297
mov esi, eax
test esi, esi
jns 0x416baf
push str.Failed_to_elevate.
jmp 0x416aab
xor eax, eax
cmp dword [edi + 0x3ec], eax
sete al
push eax
push dword [edi + 0x494]
push dword [edi + 0x410]
push ebx
push dword [edi + 0x4b0]
call fcn.0041cd9a
mov esi, eax
test esi, esi
jns 0x416be3
push str.Another_per_machine_setup_is_already_executing.
jmp 0x416aab
mov dword [ebp - 0x24], 1
xor ecx, ecx
cmp dword [edi + 0x420], ecx
je 0x416c1e
push edi
call fcn.0042bae4
mov esi, eax
test esi, esi
jns 0x416c15
push str.Failed_to_register_bundle.
push esi
call fcn.0044012f
mov ebx, dword [ebp - 4]
pop ecx
pop ecx
jmp 0x416d74
mov dword [ebp - 0x1c], 1
xor ecx, ecx
cmp dword [edi + 0x460], ecx
je 0x416cbc
lea eax, [ebp - 0x18]
mov dword [ebp - 0x34], edi
push ecx
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0xc]
push ecx
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x34]
push eax
push 0x4155bd
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, eax
test ebx, ebx
jne 0x416c92
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
mov eax, 0x80004005
test esi, esi
cmovns esi, eax
push esi
push 0x280
push str.core.cpp
call fcn.004037d3
push str.Failed_to_create_cache_thread.
push esi
call fcn.0044012f
pop ecx
pop ecx
jmp 0x416d39
xor ecx, ecx
cmp dword [edi + 0x3f0], ecx
jne 0x416cbf
push ebx
call fcn.004167b0
mov esi, eax
test esi, esi
jns 0x416caf
push str.Failed_while_caching__aborting_execution.
jmp 0x416c85
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
mov ebx, ecx
jmp 0x416cbf
mov ebx, dword [ebp - 4]
cmp dword [edi + 0x470], ecx
je 0x416cf1
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
push edi
call fcn.0042b98b
mov esi, eax
lea eax, [edi + 0xb8]
push esi
push eax
call fcn.0040d51c
test ebx, ebx
je 0x416d01
push ebx
call fcn.004167b0
test esi, esi
js 0x416d39
mov esi, eax
test esi, esi
js 0x416d39
cmp dword [ebp - 0xc], 0
jne 0x416d39
cmp dword [ebp - 0x14], 0
jne 0x416d39
cmp dword [ebp - 8], 2
je 0x416d39
cmp dword [edi + 0x480], 0
je 0x416d39
push dword [edi + 0x4b0]
lea eax, [edi + 0x410]
push eax
lea eax, [edi + 0xb8]
push eax
call fcn.0042b962
cmp dword [ebp - 0x1c], 0
je 0x416d74
cmp dword [ebp - 0x20], 0
jne 0x416d52
cmp dword [edi + 0x42c], 0
jne 0x416d52
xor ecx, ecx
jmp 0x416d55
xor ecx, ecx
inc ecx
test esi, esi
js 0x416d63
cmp dword [ebp - 0xc], 0
jne 0x416d63
xor eax, eax
jmp 0x416d66
xor eax, eax
inc eax
push dword [ebp - 8]
push dword [ebp - 0x14]
push ecx
push eax
push edi
call fcn.0042bcfb
cmp dword [ebp - 0x24], 0
je 0x416d85
push dword [edi + 0x4b0]
call fcn.0041ce6d
and dword [edi + 0xf0], 0
call fcn.0042bcef
cmp dword [ebp - 0x10], 0
je 0x416da9
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x28], 0
je 0x416dbb
lea eax, [edi + 0xb8]
push eax
call fcn.0040d443
test ebx, ebx
je 0x416dc6
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [edi + 0xc8]
push dword [ebp - 8]
push esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0xd8]
cmp eax, 0x66
jne 0x416de5
mov dword [edi + 0x18], 1
push dword [edi + 0x18]
call fcn.00413c30
push eax
push dword [ebp - 8]
call fcn.00414224
push eax
push esi
push 0x2000018f
push 2
call fcn.0040550f
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8