Function at 0x40db20
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48c550
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor edi, edi
mov esi, ecx
mov dword [ebp - 0x68], edi
push 0x16
xor eax, eax
mov dword [ebp - 0x70], esi
push str.Monitor_thread_running
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00404ab0
push edi
lea eax, [ebp - 0x30]
mov dword [ebp - 4], edi
push eax
push 0x3e6
mov ecx, esi
call fcn.00409340
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40dbc5
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dbbb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f353
push edx
push ecx
call fcn.0044d7ec
add esp, 8
cmp byte [esi + 0x4ea], 0
jne 0x40dc0a
lea eax, [esi + 0x1e0]
mov edi, 5
nop dword [eax]
mov ecx, eax
call fcn.00436590
test eax, eax
jne 0x40dbfc
push 0x3e8
push dword [esi + 0x240]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [esi + 0x1e0]
sub edi, 1
jne 0x40dbe0
mov edi, dword [ebp - 0x18]
lea eax, [ebp - 0x30]
push eax
call fcn.004363b0
push str.logs_
push eax
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 1
push eax
call fcn.0041f590
add esp, 0x10
lea ecx, [esi + 0x1c8]
push eax
call fcn.00406950
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40dc72
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dc68
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f312
push edx
push ecx
call fcn.0044d7ec
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
cmp edx, 8
jb 0x40dcc7
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dcbd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f312
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov byte [ebp - 0x11], 0
nop dword [eax + eax]
cmp byte [esi + 0x4e9], 0
je 0x40dea6
lea ecx, [ebp - 0x4c]
call fcn.00404790
lea ecx, [esi + 0x4a4]
mov dword [ebp - 4], 2
lea eax, [ebp - 0x4c]
mov dword [esi + 0x470], 1
cmp ecx, eax
je 0x40dd14
cmp dword [ebp - 0x38], 8
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00404ab0
lea ecx, [esi + 0x474]
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x40dd32
cmp dword [ebp - 0x38], 8
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00404ab0
lea ecx, [esi + 0x48c]
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x40dd50
cmp dword [ebp - 0x38], 8
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00404ab0
cmp dword [esi + 0x4fc], 0
jne 0x40e149
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00432930
add esp, 8
push 0x10
push str.SavedStatus.json
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.00404c70
or edi, 1
xor ecx, ecx
mov dword [ebp - 0x18], edi
lea edi, [esi + 0x4ec]
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x64]
movq qword [ebp - 0xc4], xmm1
movq qword [ebp - 0x54], xmm1
movups xmmword [ebp - 0x84], xmm0
movups xmmword [ebp - 0x64], xmm0
cmp edi, eax
je 0x40de25
mov ecx, dword [edi + 0x14]
cmp ecx, 8
jb 0x40de0d
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x40ddf4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f312
mov eax, edx
push ecx
push eax
call fcn.0044d7ec
movups xmm0, xmmword [ebp - 0x84]
add esp, 8
movq xmm1, qword [ebp - 0xc4]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
movups xmmword [edi], xmm0
movq qword [edi + 0x10], xmm1
jmp 0x40de5f
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40de5f
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40de55
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f312
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e149
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40de97
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f312
push edx
push ecx
call fcn.0044d7ec
add esp, 8
jmp 0x40e149
lea eax, [ebp - 0x118]
push eax
lea ecx, [esi + 0x1e0]
call fcn.00436780
mov edi, eax
mov dword [ebp - 4], 4
lea edx, [edi + 4]
mov ecx, dword [edi]
mov dword [esi + 0x470], ecx
lea ecx, [esi + 0x474]
cmp ecx, edx
je 0x40dee9
cmp dword [edx + 0x14], 8
mov eax, edx
jb 0x40dee0
mov eax, dword [edx]
push dword [edx + 0x10]
push eax
call fcn.00404ab0
lea eax, [edi + 0x1c]
lea ecx, [esi + 0x48c]
cmp ecx, eax
je 0x40df09
cmp dword [eax + 0x14], 8
mov edx, eax
jb 0x40df00
mov edx, dword [eax]
push dword [eax + 0x10]
push edx
call fcn.00404ab0
lea eax, [edi + 0x34]
lea ecx, [esi + 0x4a4]
cmp ecx, eax
je 0x40df29
cmp dword [eax + 0x14], 8
mov edx, eax
jb 0x40df20
mov edx, dword [eax]
push dword [eax + 0x10]
push edx
call fcn.00404ab0
lea ecx, [ebp - 0x118]
call fcn.0040acd0
lea edi, [esi + 0x474]
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x4c]
xor eax, eax
mov dword [ebp - 0x3c], 0
mov word [ebp - 0x4c], ax
mov eax, dword [ebp - 0x18]
or eax, 2
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x68], eax
mov eax, dword [edi + 0x10]
add eax, 4
push eax
call fcn.00407350
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x40df7a
mov eax, dword [edi]
push dword [edi + 0x10]
lea ecx, [ebp - 0x4c]
push eax
call fcn.00404c70
push 4
push str..._
lea ecx, [ebp - 0x4c]
call fcn.00404c70
lea ecx, [esi + 0x4a4]
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x40dfb3
cmp dword [ebp - 0x38], 8
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00404ab0
lea eax, [ebp - 0x4c]
cmp edi, eax
je 0x40dfcd
cmp dword [ebp - 0x38], 8
mov ecx, edi
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00404ab0
lea ecx, [esi + 0x48c]
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x40dfeb
cmp dword [ebp - 0x38], 8
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00404ab0
cmp dword [esi + 0x4fc], 0
jne 0x40e145
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00432930
add esp, 8
push 0x10
push str.SavedStatus.json
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.00404c70
or dword [ebp - 0x18], 4
lea edi, [esi + 0x4ec]
xor ecx, ecx
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0xa4]
movq qword [ebp - 0xc4], xmm1
movq qword [ebp - 0x94], xmm1
movups xmmword [ebp - 0x84], xmm0
movups xmmword [ebp - 0xa4], xmm0
cmp edi, eax
je 0x40e0c7
mov ecx, dword [edi + 0x14]
cmp ecx, 8
jb 0x40e0af
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x40e096
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f312
mov eax, edx
push ecx
push eax
call fcn.0044d7ec
movups xmm0, xmmword [ebp - 0x84]
add esp, 8
movq xmm1, qword [ebp - 0xc4]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
movups xmmword [edi], xmm0
movq qword [edi + 0x10], xmm1
jmp 0x40e107
mov edx, dword [ebp - 0x90]
cmp edx, 8
jb 0x40e107
mov ecx, dword [ebp - 0xa4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e0fd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f312
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e145
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e13b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f312
push edx
push ecx
call fcn.0044d7ec
add esp, 8
and dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x38]
cmp edx, 8
jb 0x40e18a
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e180
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f312
push edx
push ecx
call fcn.0044d7ec
add esp, 8
lea eax, [esi + 0x4ec]
mov edx, str.Information___The_current_version_information_will_be_saved_to_
push eax
lea ecx, [ebp - 0x30]
call fcn.0041f6c0
add esp, 4
push 1
push 0x4a4420
mov ecx, eax
mov dword [ebp - 4], 7
call fcn.00404c70
or dword [ebp - 0x18], 8
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xbc], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xac], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push ecx
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 8
push eax
push 0x3e6
mov ecx, esi
call fcn.00409340
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xa8]
cmp edx, 8
jb 0x40e240
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e236
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f312
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e281
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e277
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f312
push edx
push ecx
call fcn.0044d7ec
add esp, 8
cmp dword [esi + 0x4c0], 0
jbe 0x40e349
cmp dword [esi + 0x4d4], 0
je 0x40e349
push 0x54
xor eax, eax
mov dword [ebp - 0x20], 0
push str.The_updater_is_being_called_by_the_setup_app_and_the_project_ID_is_being_forced_to_1
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00404ab0
push 1
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 9
push eax
push 0x3e7
mov ecx, esi
call fcn.00409340
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e318
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e30e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f353
push edx
push ecx
call fcn.0044d7ec
add esp, 8
lea eax, [esi + 0x4c4]
lea edi, [esi + 0x474]
cmp edi, eax
je 0x40e33d
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x40e332
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.00404ab0
mov dword [esi + 0x470], 1
jmp 0x40e34f
lea edi, [esi + 0x474]
cmp byte [esi + 0x4ea], 0
jne 0x40e4a4
cmp dword [esi + 0x470], 1
jge 0x40e488
push 0x15
xor eax, eax
mov dword [ebp - 0x20], 0
push str.Project_ID_is_not_set
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00404ab0
push 1
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0xa
push eax
push 0x3e7
mov ecx, esi
call fcn.00409340
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e3e6
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e3dc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f353
push edx
push ecx
call fcn.0044d7ec
add esp, 8
cmp byte [ebp - 0x11], 0
jne 0x40e473
push 0x2f
xor eax, eax
mov dword [ebp - 0x20], 0
push str.Information_2013___Waiting_for_Acquire_to_start
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00404ab0
push 1
push 0x3e7
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0xb
push eax
push 0
mov ecx, esi
call fcn.0040c5f0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e46f
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e465
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f353
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov byte [ebp - 0x11], 1
push 0xea60
push dword [esi + 0x240]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x40e4b9
cmp byte [esi + 0x4ea], 0
jne 0x40e4a4
lea ecx, [esi + 0x1e0]
call fcn.004366e0
test al, al
je 0x40e540
cmp dword [esi + 0x470], 1
jge 0x40e56f
mov edi, dword [ebp - 0x18]
jmp 0x40dcd0
push 0x25
xor eax, eax
mov dword [ebp - 0x20], 0
push str.Main_thread_exited_waiting_for_player
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00404ab0
mov dword [ebp - 4], 0xc
push 1
lea eax, [ebp - 0x30]
mov ecx, esi
push eax
push 0x3e7
call fcn.00409340
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e52f
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e525
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f353
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push 0x26
xor eax, eax
mov dword [ebp - 0x20], 0
push str.Player_has_exited_so_we_will_terminate
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00404ab0
mov dword [ebp - 4], 0xd
jmp 0x40e4e3
lea eax, [esi + 0x470]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00430920
add esp, 8
push 0x15
push str.Project_ID_is_set_to
push 0
mov ecx, eax
mov dword [ebp - 4], 0xe
call fcn.00407500
or dword [ebp - 0x18], 0x10
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x64], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x54], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push ecx
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0xf
push eax
push 0x3e6
mov ecx, esi
call fcn.00409340
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40e614
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e60a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f317
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e655
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e64b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f317
push edx
push ecx
call fcn.0044d7ec
add esp, 8
push str.WayfinderServerCoreSync.xml
lea eax, [ebp - 0x64]
push edi
push eax
call fcn.0041f590
add esp, 0xc
lea ecx, [esi + 0xf0]
push eax
call fcn.00406950
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40e6ad
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e6a3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f31c
push edx
push ecx
call fcn.0044d7ec
add esp, 8
push str.WayfinderServerMapSync.xml
lea eax, [ebp - 0x64]
push edi
push eax
call fcn.0041f590
add esp, 0xc
lea ecx, [esi + 0x108]
push eax
call fcn.00406950
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40e705
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e6fb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f321
push edx
push ecx
call fcn.0044d7ec
add esp, 8
push str.WayfinderServerProjectSync.xml
lea eax, [ebp - 0x64]
push edi
push eax
call fcn.0041f590
add esp, 0xc
lea ecx, [esi + 0x120]
push eax
call fcn.00406950
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40e75d
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e753
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f326
push edx
push ecx
call fcn.0044d7ec
add esp, 8
push 0x16
xor eax, eax
mov dword [ebp - 0x20], 0
push str.Synch_files_identified
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00404ab0
push 0
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0x10
push eax
push 0x3e6
mov ecx, esi
call fcn.00409340
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e7da
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e7d0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f353
push edx
push ecx
call fcn.0044d7ec
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x40e85f
push 0x2f
xor eax, eax
mov dword [ebp - 0x20], 0
push str.Information_2014___Acquire_started_successfully
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00404ab0
push 1
push 0x3e7
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0x11
push eax
push 0
mov ecx, esi
call fcn.0040c5f0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e85f
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e855
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f353
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov dword [ebp - 4], 0x12
mov edi, 3
nop dword [eax + eax]
cmp byte [esi + 0x4dc], 0
jne 0x40e9af
cmp byte [esi + 0x4dd], 0
je 0x40e9af
push 0x43
xor eax, eax
mov dword [ebp - 0x20], 0
push str.Information_2046___Wayfinder_is_in_passive_state._Attempting_reboot
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00404ab0
push 1
push 0x3b0
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x13
push eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.0040c5f0
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e903
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e8f9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f34e
push edx
push ecx
call fcn.0044d7ec
add esp, 8
cmp byte [esi + 0x4ea], 0
jne 0x40e913
call fcn.00431c20
jmp 0x40e915
mov al, 1
test al, al
jne 0x40e9a8
push 0x33
xor eax, eax
mov dword [ebp - 0x20], 0
push str.Error_2047___Reboot_failed._Manual_reboot_required.
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00404ab0
push 1
push 0x3b0
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x14
push eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.0040c5f0
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e996
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e98c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f34e
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov eax, dword [esi + 0x4e4]
cmp eax, 3
cmovl eax, edi
mov dword [esi + 0x4e4], eax
mov byte [esi + 0x4dd], 0
mov eax, dword [esi + 0x238]
test eax, eax
je 0x40ea06
push 0
push dword [eax]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x40ea06
mov edi, dword [esi + 0x238]
cmp dword [edi + 4], eax
je 0x40e9fc
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [edi + 4], eax
je 0x40f32b
push 0
push dword [edi + 4]
push dword [edi]
call fcn.0043908f
add esp, 0xc
test eax, eax
jne 0x40f332
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [esi + 0x238], 0
mov edi, dword [esi + 0x24c]
mov ecx, dword [esi + 0x248]
test edi, edi
jg 0x40ea2d
jl 0x40ea1d
cmp ecx, 1
jae 0x40ea2d
mov dword [ebp - 0x6c], 1
mov dword [ebp - 0x68], 0
jmp 0x40ea41
mov eax, dword [esi + 0x510]
cdq
mov dword [ebp - 0x6c], eax
mov eax, edx
add dword [ebp - 0x6c], ecx
adc eax, edi
mov dword [ebp - 0x68], eax
test edi, edi
jg 0x40ea57
jl 0x40ea4c
cmp ecx, 1
jae 0x40ea57
mov dword [ebp - 0x74], 1
xor edi, edi
jmp 0x40ea6a
mov eax, dword [esi + 0x50c]
cdq
mov dword [ebp - 0x74], eax
mov eax, edx
add dword [ebp - 0x74], ecx
adc eax, edi
mov edi, eax
cmp byte [esi + 0x269], 0
jne 0x40ea77
xor eax, eax
jmp 0x40ea7d
mov eax, dword [0x4bb6ec]
inc eax
cmp dword [esi + 0x238], 0
mov dword [0x4bb6ec], eax
jne 0x40eaa1
call fcn.00431b50
cmp edi, edx
jg 0x40eaa1
jl 0x40ea9b
cmp dword [ebp - 0x74], eax
jae 0x40eaa1
mov byte [ebp - 0x31], 1
jmp 0x40eaa5
mov byte [ebp - 0x31], 0
cmp dword [esi + 0x238], 0
jne 0x40ead0
cmp byte [esi + 0x244], 0
je 0x40ead0
call fcn.00431b50
mov edi, dword [ebp - 0x68]
cmp edi, edx
jg 0x40ead3
jl 0x40eaca
cmp dword [ebp - 0x6c], eax
jae 0x40ead3
mov byte [ebp - 0x11], 1
jmp 0x40ead7
mov edi, dword [ebp - 0x68]
mov byte [ebp - 0x11], 0
cmp dword [esi + 0x238], 0
jne 0x40eb0a
cmp byte [esi + 0x269], 0
je 0x40eb0a
mov eax, dword [0x4bb6ec]
cmp eax, dword [esi + 0x514]
jg 0x40eb0a
call fcn.00431b50
cmp edi, edx
jg 0x40eb0a
jl 0x40eb06
cmp dword [ebp - 0x6c], eax
jae 0x40eb0a
mov al, 1
jmp 0x40eb0c
xor al, al
cmp byte [ebp - 0x31], 0
jne 0x40eb20
cmp byte [ebp - 0x11], 0
jne 0x40eb20
test al, al
je 0x40f039
test al, al
mov dword [ebp - 0x94], 0
mov eax, 0x4a3010
mov dword [ebp - 0x90], 7
mov edx, str.clause3
cmove edx, eax
xor eax, eax
mov ecx, edx
mov word [ebp - 0xa4], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40eb51
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xa4]
call fcn.00404ab0
cmp byte [ebp - 0x11], 0
mov eax, 0x4a3010
mov edx, str.clause2
mov byte [ebp - 4], 0x15
cmove edx, eax
mov dword [ebp - 0xac], 0
mov ecx, edx
mov dword [ebp - 0xa8], 7
xor eax, eax
mov word [ebp - 0xbc], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40eba4
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xbc]
call fcn.00404ab0
cmp byte [ebp - 0x31], 0
mov eax, 0x4a3010
mov edx, str.clause1
mov byte [ebp - 4], 0x16
cmove edx, eax
mov dword [ebp - 0x20], 0
mov ecx, edx
mov dword [ebp - 0x1c], 7
xor eax, eax
mov word [ebp - 0x30], ax
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ebf0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x30]
call fcn.00404ab0
push 0x27
push str.Checking_for_updates_because_of_clause
push 0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x17
call fcn.00407500
or dword [ebp - 0x18], 0x20
xor ecx, ecx
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x8c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x7c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
sub eax, edx
mov edi, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa8]
cmp edi, eax
jbe 0x40ec9d
mov eax, ecx
sub eax, edi
cmp eax, edx
jb 0x40ec9d
cmp dword [ebp - 0x78], 8
lea eax, [ebp - 0x8c]
push edx
cmovae eax, dword [ebp - 0x8c]
lea ecx, [ebp - 0xbc]
push eax
push 0
call fcn.00407500
jmp 0x40ecba
cmp ecx, 8
lea eax, [ebp - 0xbc]
push edi
cmovae eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0x8c]
push eax
call fcn.00404c70
or dword [ebp - 0x18], 0x40
xor ecx, ecx
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x4c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x3c], xmm0
mov word [eax], cx
mov dword [eax + 0x14], 7
mov dword [eax + 0x10], ecx
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
sub eax, edx
mov edi, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x90]
cmp edi, eax
jbe 0x40ed2c
mov eax, ecx
sub eax, edi
cmp eax, edx
jb 0x40ed2c
cmp dword [ebp - 0x38], 8
lea eax, [ebp - 0x4c]
push edx
cmovae eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0xa4]
push eax
push 0
call fcn.00407500
jmp 0x40ed46
cmp ecx, 8
lea eax, [ebp - 0xa4]
push edi
cmovae eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0x4c]
push eax
call fcn.00404c70
movups xmm0, xmmword [eax]
or dword [ebp - 0x18], 0x80
xor ecx, ecx
movups xmmword [ebp - 0x64], xmm0
movq xmm0, qword [eax + 0x10]
mov word [eax], cx
mov dword [eax + 0x14], 7
mov dword [eax + 0x10], ecx
movq qword [ebp - 0x54], xmm0
push ecx
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x1a
push eax
push 0x3e6
mov ecx, esi
call fcn.00409340
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40edc0
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40edb6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f339
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x38]
cmp edx, 8
jb 0x40edfe
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40edf4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f339
push edx
push ecx
call fcn.0044d7ec
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
cmp edx, 8
jb 0x40ee53
mov ecx, dword [ebp - 0x8c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ee49
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f339
push edx
push ecx
call fcn.0044d7ec
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
cmp edx, 8
jb 0x40eea8
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ee9e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f339
push edx
push ecx
call fcn.0044d7ec
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
cmp edx, 8
jb 0x40ef00
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40eef6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f339
push edx
push ecx
call fcn.0044d7ec
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
cmp edx, 8
jb 0x40ef61
mov ecx, dword [ebp - 0xa4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ef57
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f339
push edx
push ecx
call fcn.0044d7ec
add esp, 8
push 0x1e
xor eax, eax
mov dword [ebp - 0x20], 0
push str.About_to_create_updater_thread
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00404ab0
push 0
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x1b
push eax
push 0x3e6
mov ecx, esi
call fcn.00409340
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40efd8
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40efce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f34e
push edx
push ecx
call fcn.0044d7ec
add esp, 8
push 8
call fcn.0044d7bc
mov edi, eax
add esp, 4
mov dword [ebp - 0xc0], edi
push 4
mov byte [ebp - 4], 0x1c
call fcn.0044d7bc
or dword [ebp - 0x18], 0x100
mov ecx, eax
add esp, 4
mov dword [ebp - 0x68], ecx
mov dword [ecx], esi
lea eax, [edi + 4]
mov byte [ebp - 4], 0x1d
push eax
push 0
push ecx
push 0x4213c0
push 0
push 0
mov dword [ebp - 0x78], eax
call fcn.0046c002
add esp, 0x18
mov dword [edi], eax
test eax, eax
je 0x40f33e
mov byte [ebp - 4], 0x12
mov dword [esi + 0x238], edi
lea ecx, [esi + 0x1e0]
call fcn.004366e0
test al, al
jne 0x40f0be
push 0x26
xor eax, eax
mov dword [ebp - 0x20], 0
push str.Player_has_exited_so_we_will_terminate
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00404ab0
push 1
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x1e
push eax
push 0x3e7
mov ecx, esi
call fcn.00409340
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e52f
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e525
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f34e
jmp 0x40e525
call fcn.00431b50
mov edi, dword [ebp - 0x74]
sub edi, eax
mov dword [ebp - 0x78], edx
cmp byte [esi + 0x269], 0
mov ecx, edi
je 0x40f0f0
mov eax, dword [0x4bb6ec]
cmp eax, dword [esi + 0x514]
jg 0x40f0f0
call fcn.00431b50
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x78], edx
sub ecx, eax
cmp ecx, edi
cmovl edi, ecx
mov ecx, dword [esi + 0x50c]
cmp edi, ecx
mov eax, ecx
cmovl eax, edi
cmp eax, 0x3c
jge 0x40f10e
mov ecx, 0x3c
jmp 0x40f113
cmp edi, ecx
cmovl ecx, edi
imul eax, ecx, 0x3e8
mov dword [esi + 0x518], ecx
push eax
push dword [esi + 0x240]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, 3
cmp eax, 0x102
je 0x40e870
jmp 0x40f1d1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
push 0x12
xor eax, eax
mov dword [ebp - 0x54], 0
push str.Main_thread_exited
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
call fcn.00404ab0
push 1
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 0x27
push eax
push 0x3e7
mov ecx, esi
call fcn.00409340
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40e52f
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e525
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f353
jmp 0x40e525
call fcn.00468a1a
call fcn.00468a1a
call fcn.00468a1a
call fcn.00468a1a
call fcn.00468a1a
push 5
call fcn.00438717
push 2
call fcn.00438717
call fcn.00468a1a
mov eax, dword [ebp - 0x78]
push 6
mov dword [eax], 0
call fcn.00438717
call fcn.00468a1a
call fcn.00468a1a
int3