Function at 0x413503
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.00402297
pop ecx
pop ecx
lea eax, [ebp - 0x24]
push eax
lea edi, [ebx + 0xb8]
push edi
call fcn.00409ee8
mov esi, eax
test esi, esi
jns 0x413573
push str.Engine_cannot_start_apply_because_it_is_busy_with_another_action.
push esi
call fcn.0043ccee
pop ecx
pop ecx
jmp 0x4138b8
lea eax, [ebx + 0x2c0]
push eax
push edi
call fcn.004283a9
xor edx, edx
cmp dword [ebx + 0x460], edx
push 1
pop esi
cmovne edx, esi
cmp dword [ebx + 0x470], 0
je 0x413598
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.0040a0ab
mov esi, eax
test esi, esi
jns 0x4135d6
push esi
push 0x232
push str.core.cpp
call fcn.0043bf09
push str.UX_aborted_apply_begin.
jmp 0x413566
cmp dword [ebx + 0x30], 3
jne 0x413602
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.0040a262
jmp 0x4138b8
lea eax, [ebp - 8]
push eax
push 0
call fcn.004281f9
mov esi, eax
test esi, esi
jns 0x41361d
push str.Another_per_user_setup_is_already_executing.
jmp 0x413566
call fcn.004281ed
mov eax, dword [ebp + 0xc]
lea edi, [ebx + 0x88]
push edi
mov dword [ebx + 0xf0], eax
call fcn.004283da
mov esi, eax
test esi, esi
jns 0x41364f
push str.Failed_to_set_initial_apply_variables.
push esi
call fcn.0043ccee
pop ecx
pop ecx
jmp 0x4138b2
xor ecx, ecx
cmp dword [ebx + 0x450], ecx
jne 0x41367f
cmp dword [ebx + 0x460], ecx
jne 0x41367f
cmp dword [ebx + 0x470], ecx
jne 0x41367f
cmp dword [ebx + 0x480], ecx
jne 0x41367f
push 0xa000017c
push 2
call fcn.00402297
jmp 0x413648
lea eax, [ebx + 0x4a0]
cmp dword [eax], ecx
jne 0x4136b5
push eax
lea eax, [ebx + 0x48]
push eax
lea eax, [ebx + 0xbc]
push eax
push dword [ebx + 0x148]
push dword [ebx + 0x110]
call fcn.00415e1a
mov esi, eax
test esi, esi
jns 0x4136b3
push str.Failed_to_cache_engine_to_working_directory.
jmp 0x413642
xor ecx, ecx
cmp dword [ebx + 0x41c], ecx
je 0x413714
push dword [ebx + 0xf0]
push ebx
call fcn.00413dce
mov esi, eax
test esi, esi
jns 0x4136d9
push str.Failed_to_elevate.
jmp 0x413642
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 + 0x4b4]
call fcn.0041960c
mov esi, eax
test esi, esi
jns 0x41370d
push str.Another_per_machine_setup_is_already_executing.
jmp 0x413642
mov dword [ebp - 0x20], 1
cmp dword [ebx + 0x420], 0
je 0x413742
push ebx
call fcn.004281fe
mov esi, eax
test esi, esi
jns 0x41373b
push str.Failed_to_register_bundle.
push esi
call fcn.0043ccee
pop ecx
pop ecx
jmp 0x4138a1
mov dword [ebp - 0x18], 1
cmp dword [ebx + 0x460], 0
je 0x4137e8
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 0x412283
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, eax
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x4137be
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 0x274
push str.core.cpp
call fcn.0043bf09
push str.Failed_to_create_cache_thread.
push esi
call fcn.0043ccee
pop ecx
pop ecx
jmp 0x413866
cmp dword [ebx + 0x3f0], 0
jne 0x4137eb
push edi
call fcn.0041345a
mov esi, eax
test esi, esi
jns 0x4137da
push str.Failed_while_caching__aborting_execution.
jmp 0x4137b1
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
mov dword [ebp - 0xc], edi
jmp 0x4137eb
mov edi, dword [ebp - 0xc]
cmp dword [ebx + 0x470], 0
je 0x41381e
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.004280a5
mov esi, eax
lea eax, [ebx + 0xb8]
push esi
push eax
call fcn.0040a03c
test edi, edi
je 0x41382e
push edi
call fcn.0041345a
test esi, esi
js 0x413866
mov esi, eax
test esi, esi
js 0x413866
cmp dword [ebp - 4], 0
jne 0x413866
cmp dword [ebp - 0x10], 0
jne 0x413866
cmp dword [ebp + 8], 2
je 0x413866
cmp dword [ebx + 0x480], 0
je 0x413866
push dword [ebx + 0x4b4]
lea eax, [ebx + 0x410]
push eax
lea eax, [ebx + 0xb8]
push eax
call fcn.0042807c
cmp dword [ebp - 0x18], 0
je 0x4138a1
cmp dword [ebp - 0x1c], 0
jne 0x413882
cmp dword [ebx + 0x42c], 0
jne 0x413882
xor eax, eax
xor ecx, ecx
inc eax
jmp 0x413887
xor eax, eax
inc eax
mov ecx, eax
test esi, esi
js 0x413893
cmp dword [ebp - 4], 0
jne 0x413893
xor eax, eax
push dword [ebp + 8]
push dword [ebp - 0x10]
push ecx
push eax
push ebx
call fcn.00428415
cmp dword [ebp - 0x20], 0
je 0x4138b2
push dword [ebx + 0x4b4]
call fcn.004196df
lea edi, [ebx + 0xb8]
and dword [ebx + 0xf0], 0
call fcn.00428409
cmp dword [ebp - 8], 0
je 0x4138dc
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 0x4138e8
push edi
call fcn.00409f8e
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x4138f6
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 0x413915
mov dword [ebx + 0x18], 1
push dword [ebx + 0x18]
call fcn.004107f7
push eax
push dword [ebp + 8]
call fcn.00410deb
push eax
push esi
push 0x2000018f
push 2
call fcn.00402297
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8