Function at 0x410b00
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
mov ebx, dword [ebp + 8]
push esi
mov eax, dword [ebx + 0x3f0]
push edi
mov dword [ebp - 0x1c], eax
xor eax, eax
xor ecx, ecx
lea edi, [ebp - 0x30]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x2000012c
push 2
mov dword [ebp - 0x24], ecx
mov dword [ebp - 8], ecx
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.00402003
pop ecx
pop ecx
lea eax, [ebp - 0x24]
push eax
lea edi, [ebx + 0xb8]
push edi
call fcn.00408551
mov esi, eax
test esi, esi
jns 0x410b70
push str.Engine_cannot_start_apply_because_it_is_busy_with_another_action.
push esi
call fcn.00430877
pop ecx
pop ecx
jmp 0x410e91
lea eax, [ebx + 0x2a8]
push eax
push edi
call fcn.0042243e
mov eax, dword [ebx + 0xc8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x60]
push eax
push 1
push edi
call fcn.00408712
mov esi, eax
test esi, esi
jns 0x410baf
push esi
push 0x20c
push str.core.cpp
call fcn.0042fef9
push str.UX_aborted_apply_begin.
jmp 0x410b63
cmp dword [ebx + 0x30], 3
jne 0x410bdb
xor eax, eax
push eax
push 0x10
push eax
mov esi, 0x8007015e
push esi
push eax
push 5
push dword [ebx + 0xc8]
mov dword [ebp + 8], 1
call fcn.004088c7
jmp 0x410e91
lea eax, [ebp - 8]
push eax
push 0
call fcn.004222a2
mov esi, eax
test esi, esi
jns 0x410bf6
push str.Another_per_user_setup_is_already_executing.
jmp 0x410b63
call fcn.00422296
mov eax, dword [ebp + 0xc]
lea edi, [ebx + 0x88]
push edi
mov dword [ebx + 0xf0], eax
call fcn.0042246f
mov esi, eax
test esi, esi
jns 0x410c28
push str.Failed_to_set_initial_apply_variables.
push esi
call fcn.00430877
pop ecx
pop ecx
jmp 0x410e8b
xor ecx, ecx
cmp dword [ebx + 0x418], ecx
jne 0x410c58
cmp dword [ebx + 0x428], ecx
jne 0x410c58
cmp dword [ebx + 0x438], ecx
jne 0x410c58
cmp dword [ebx + 0x448], ecx
jne 0x410c58
push 0xa000017c
push 2
call fcn.00402003
jmp 0x410c21
lea eax, [ebx + 0x468]
cmp dword [eax], ecx
jne 0x410c8e
push eax
lea eax, [ebx + 0x48]
push eax
lea eax, [ebx + 0xbc]
push eax
push dword [ebx + 0x140]
push dword [ebx + 0x104]
call fcn.00412f1e
mov esi, eax
test esi, esi
jns 0x410c8c
push str.Failed_to_cache_engine_to_working_directory.
jmp 0x410c1b
xor ecx, ecx
cmp dword [ebx + 0x3e4], ecx
je 0x410ced
push dword [ebx + 0xf0]
push ebx
call fcn.00411388
mov esi, eax
test esi, esi
jns 0x410cb2
push str.Failed_to_elevate.
jmp 0x410c1b
xor eax, eax
cmp dword [ebx + 0x3b4], eax
sete al
push eax
push dword [ebx + 0x45c]
push dword [ebx + 0x3d8]
push edi
push dword [ebx + 0x47c]
call fcn.00415f5c
mov esi, eax
test esi, esi
jns 0x410ce6
push str.Another_per_machine_setup_is_already_executing.
jmp 0x410c1b
mov dword [ebp - 0x20], 1
cmp dword [ebx + 0x3e8], 0
je 0x410d1b
push ebx
call fcn.004222a7
mov esi, eax
test esi, esi
jns 0x410d14
push str.Failed_to_register_bundle.
push esi
call fcn.00430877
pop ecx
pop ecx
jmp 0x410e7a
mov dword [ebp - 0x18], 1
cmp dword [ebx + 0x428], 0
je 0x410dc1
lea eax, [ebp - 0x14]
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 0x40fb6a
push 0
push 0
mov dword [ebp - 0x30], ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, eax
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x410d8c
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 0x24e
push str.core.cpp
call fcn.0042fef9
push str.Failed_to_create_cache_thread.
jmp 0x410da6
cmp dword [ebx + 0x3b8], 0
jne 0x410dc4
push edi
call fcn.00410a59
mov esi, eax
test esi, esi
jns 0x410db3
push str.Failed_while_caching__aborting_execution.
push esi
call fcn.00430877
pop ecx
pop ecx
jmp 0x410e3f
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
mov dword [ebp - 0xc], edi
jmp 0x410dc4
mov edi, dword [ebp - 0xc]
cmp dword [ebx + 0x438], 0
je 0x410df7
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.00422150
mov esi, eax
push esi
lea eax, [ebx + 0xb8]
push eax
call fcn.004086a3
test edi, edi
je 0x410e07
push edi
call fcn.00410a59
test esi, esi
js 0x410e3f
mov esi, eax
test esi, esi
js 0x410e3f
cmp dword [ebp - 4], 0
jne 0x410e3f
cmp dword [ebp - 0x10], 0
jne 0x410e3f
cmp dword [ebp + 8], 2
je 0x410e3f
cmp dword [ebx + 0x448], 0
je 0x410e3f
push dword [ebx + 0x47c]
lea eax, [ebx + 0x3d8]
push eax
lea eax, [ebx + 0xb8]
push eax
call fcn.00422127
cmp dword [ebp - 0x18], 0
je 0x410e7a
cmp dword [ebp - 0x1c], 0
jne 0x410e58
cmp dword [ebx + 0x3f4], 0
jne 0x410e58
xor ecx, ecx
jmp 0x410e5b
xor ecx, ecx
inc ecx
test esi, esi
js 0x410e69
cmp dword [ebp - 4], 0
jne 0x410e69
xor eax, eax
jmp 0x410e6c
xor eax, eax
inc eax
push dword [ebp + 8]
push dword [ebp - 0x10]
push ecx
push eax
push ebx
call fcn.004224aa
cmp dword [ebp - 0x20], 0
je 0x410e8b
push dword [ebx + 0x47c]
call fcn.00416027
lea edi, [ebx + 0xb8]
and dword [ebx + 0xf0], 0
call fcn.0042249e
cmp dword [ebp - 8], 0
je 0x410eb5
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 0x410ec1
push edi
call fcn.004085f7
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x410ecf
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp + 8]
mov eax, dword [ebx + 0xc8]
push esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc8]
cmp eax, 0x66
jne 0x410eee
mov dword [ebx + 0x18], 1
push dword [ebx + 0x18]
call fcn.0040e1f1
push eax
push dword [ebp + 8]
call fcn.0040e784
push eax
push esi
push 0x2000018f
push 2
call fcn.00402003
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 8