Function at 0x416de1
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
mov ebx, dword [ebp + 8]
xor ecx, ecx
push esi
push edi
lea edi, [ebp - 0x30]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebx + 0x428]
mov dword [ebp - 0x1c], eax
xor eax, eax
stosd dword es:[edi], eax
push 0x2000012c
push 2
mov dword [ebp - 8], ecx
stosd dword es:[edi], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp + 8], ecx
stosd dword es:[edi], eax
call fcn.00405994
pop ecx
pop ecx
lea eax, [ebp - 0x24]
push eax
lea edi, [ebx + 0xb8]
push edi
call fcn.0040d7bc
mov esi, eax
test esi, esi
jns 0x416e51
push str.Engine_cannot_start_apply_because_it_is_busy_with_another_action.
push esi
call fcn.0044088f
pop ecx
pop ecx
jmp 0x417196
lea eax, [ebx + 0x2c0]
push eax
push edi
call fcn.0042be51
xor edx, edx
cmp dword [ebx + 0x460], edx
push 1
pop esi
cmovne edx, esi
cmp dword [ebx + 0x470], 0
je 0x416e76
inc edx
mov eax, dword [ebx + 0xc8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
mov eax, dword [ebx + 0xc8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x6c]
push eax
push esi
push edi
call fcn.0040d9a3
mov esi, eax
test esi, esi
jns 0x416eb4
push esi
push 0x23e
push str.core.cpp
call fcn.00403c59
push str.UX_aborted_apply_begin.
jmp 0x416e44
cmp dword [ebx + 0x30], 3
jne 0x416ee0
xor eax, eax
mov dword [ebp + 8], 1
push eax
push 0x10
push eax
mov esi, 0x8007015e
push esi
push eax
push 5
push dword [ebx + 0xc8]
call fcn.0040db5a
jmp 0x417196
lea eax, [ebp - 8]
push eax
push 0
call fcn.0042bca1
mov esi, eax
test esi, esi
jns 0x416efb
push str.Another_per_user_setup_is_already_executing.
jmp 0x416e44
call fcn.0042bc95
mov eax, dword [ebp + 0xc]
lea edi, [ebx + 0x88]
push edi
mov dword [ebx + 0xf0], eax
call fcn.0042be82
mov esi, eax
test esi, esi
jns 0x416f2d
push str.Failed_to_set_initial_apply_variables.
push esi
call fcn.0044088f
pop ecx
pop ecx
jmp 0x417190
xor ecx, ecx
cmp dword [ebx + 0x450], ecx
jne 0x416f5d
cmp dword [ebx + 0x460], ecx
jne 0x416f5d
cmp dword [ebx + 0x470], ecx
jne 0x416f5d
cmp dword [ebx + 0x480], ecx
jne 0x416f5d
push 0xa000017c
push 2
call fcn.00405994
jmp 0x416f26
lea eax, [ebx + 0x49c]
cmp dword [eax], ecx
jne 0x416f93
push eax
lea eax, [ebx + 0x48]
push eax
lea eax, [ebx + 0xbc]
push eax
push dword [ebx + 0x148]
push dword [ebx + 0x110]
call fcn.00419ac1
mov esi, eax
test esi, esi
jns 0x416f91
push str.Failed_to_cache_engine_to_working_directory.
jmp 0x416f20
xor ecx, ecx
cmp dword [ebx + 0x41c], ecx
je 0x416ff2
push dword [ebx + 0xf0]
push ebx
call fcn.004176a5
mov esi, eax
test esi, esi
jns 0x416fb7
push str.Failed_to_elevate.
jmp 0x416f20
xor eax, eax
cmp dword [ebx + 0x3ec], eax
sete al
push eax
push dword [ebx + 0x494]
push dword [ebx + 0x410]
push edi
push dword [ebx + 0x4b0]
call fcn.0041d10a
mov esi, eax
test esi, esi
jns 0x416feb
push str.Another_per_machine_setup_is_already_executing.
jmp 0x416f20
mov dword [ebp - 0x20], 1
cmp dword [ebx + 0x420], 0
je 0x417020
push ebx
call fcn.0042bca6
mov esi, eax
test esi, esi
jns 0x417019
push str.Failed_to_register_bundle.
push esi
call fcn.0044088f
pop ecx
pop ecx
jmp 0x41717f
mov dword [ebp - 0x18], 1
cmp dword [ebx + 0x460], 0
je 0x4170c6
lea eax, [ebp - 0x14]
mov dword [ebp - 0x30], ebx
push 0
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 4]
push 0
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push 0x4159da
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, eax
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x41709c
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.00403c59
push str.Failed_to_create_cache_thread.
push esi
call fcn.0044088f
pop ecx
pop ecx
jmp 0x417144
cmp dword [ebx + 0x3f0], 0
jne 0x4170c9
push edi
call fcn.00416bc5
mov esi, eax
test esi, esi
jns 0x4170b8
push str.Failed_while_caching__aborting_execution.
jmp 0x41708f
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
mov dword [ebp - 0xc], edi
jmp 0x4170c9
mov edi, dword [ebp - 0xc]
cmp dword [ebx + 0x470], 0
je 0x4170fc
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
push edi
push ebx
call fcn.0042bb4d
mov esi, eax
lea eax, [ebx + 0xb8]
push esi
push eax
call fcn.0040d934
test edi, edi
je 0x41710c
push edi
call fcn.00416bc5
test esi, esi
js 0x417144
mov esi, eax
test esi, esi
js 0x417144
cmp dword [ebp - 4], 0
jne 0x417144
cmp dword [ebp - 0x10], 0
jne 0x417144
cmp dword [ebp + 8], 2
je 0x417144
cmp dword [ebx + 0x480], 0
je 0x417144
push dword [ebx + 0x4b0]
lea eax, [ebx + 0x410]
push eax
lea eax, [ebx + 0xb8]
push eax
call fcn.0042bb24
cmp dword [ebp - 0x18], 0
je 0x41717f
cmp dword [ebp - 0x1c], 0
jne 0x417160
cmp dword [ebx + 0x42c], 0
jne 0x417160
xor eax, eax
xor ecx, ecx
inc eax
jmp 0x417165
xor eax, eax
inc eax
mov ecx, eax
test esi, esi
js 0x417171
cmp dword [ebp - 4], 0
jne 0x417171
xor eax, eax
push dword [ebp + 8]
push dword [ebp - 0x10]
push ecx
push eax
push ebx
call fcn.0042bebd
cmp dword [ebp - 0x20], 0
je 0x417190
push dword [ebx + 0x4b0]
call fcn.0041d1dd
lea edi, [ebx + 0xb8]
and dword [ebx + 0xf0], 0
call fcn.0042beb1
cmp dword [ebp - 8], 0
je 0x4171ba
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x24], 0
je 0x4171c6
push edi
call fcn.0040d862
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x4171d4
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebx + 0xc8]
push dword [ebp + 8]
push esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0xd8]
cmp eax, 0x66
jne 0x4171f3
mov dword [ebx + 0x18], 1
push dword [ebx + 0x18]
call fcn.0041404d
push eax
push dword [ebp + 8]
call fcn.00414641
push eax
push esi
push 0x2000018f
push 2
call fcn.00405994
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8