Function at 0x40d110
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48bbc0
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.00404a80
push edi
lea eax, [ebp - 0x30]
mov dword [ebp - 4], edi
push eax
push 0x3e6
mov ecx, esi
call fcn.00408930
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40d1b5
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d1ab
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e943
push edx
push ecx
call fcn.0044cee7
add esp, 8
cmp byte [esi + 0x4ea], 0
jne 0x40d1fa
lea eax, [esi + 0x1e0]
mov edi, 5
nop dword [eax]
mov ecx, eax
call fcn.00435e80
test eax, eax
jne 0x40d1ec
push 0x3e8
push dword [esi + 0x240]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [esi + 0x1e0]
sub edi, 1
jne 0x40d1d0
mov edi, dword [ebp - 0x18]
lea eax, [ebp - 0x30]
push eax
call fcn.00435ca0
push str.logs_
push eax
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 1
push eax
call fcn.0041f2a0
add esp, 0x10
lea ecx, [esi + 0x1c8]
push eax
call fcn.00406170
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40d262
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d258
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e902
push edx
push ecx
call fcn.0044cee7
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 0x40d2b7
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d2ad
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e902
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov byte [ebp - 0x11], 0
nop dword [eax + eax]
cmp byte [esi + 0x4e9], 0
je 0x40d496
lea ecx, [ebp - 0x4c]
call fcn.00404760
lea ecx, [esi + 0x4a4]
mov dword [ebp - 4], 2
lea eax, [ebp - 0x4c]
mov dword [esi + 0x470], 1
cmp ecx, eax
je 0x40d304
cmp dword [ebp - 0x38], 8
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00404a80
lea ecx, [esi + 0x474]
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x40d322
cmp dword [ebp - 0x38], 8
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00404a80
lea ecx, [esi + 0x48c]
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x40d340
cmp dword [ebp - 0x38], 8
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00404a80
cmp dword [esi + 0x4fc], 0
jne 0x40d739
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.004322a0
add esp, 8
push 0x10
push str.SavedStatus.json
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.00404c10
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 0x40d415
mov ecx, dword [edi + 0x14]
cmp ecx, 8
jb 0x40d3fd
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x40d3e4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e902
mov eax, edx
push ecx
push eax
call fcn.0044cee7
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 0x40d44f
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40d44f
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d445
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e902
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40d739
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d487
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e902
push edx
push ecx
call fcn.0044cee7
add esp, 8
jmp 0x40d739
lea eax, [ebp - 0x118]
push eax
lea ecx, [esi + 0x1e0]
call fcn.00436070
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 0x40d4d9
cmp dword [edx + 0x14], 8
mov eax, edx
jb 0x40d4d0
mov eax, dword [edx]
push dword [edx + 0x10]
push eax
call fcn.00404a80
lea eax, [edi + 0x1c]
lea ecx, [esi + 0x48c]
cmp ecx, eax
je 0x40d4f9
cmp dword [eax + 0x14], 8
mov edx, eax
jb 0x40d4f0
mov edx, dword [eax]
push dword [eax + 0x10]
push edx
call fcn.00404a80
lea eax, [edi + 0x34]
lea ecx, [esi + 0x4a4]
cmp ecx, eax
je 0x40d519
cmp dword [eax + 0x14], 8
mov edx, eax
jb 0x40d510
mov edx, dword [eax]
push dword [eax + 0x10]
push edx
call fcn.00404a80
lea ecx, [ebp - 0x118]
call fcn.0040a2c0
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.004068c0
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x40d56a
mov eax, dword [edi]
push dword [edi + 0x10]
lea ecx, [ebp - 0x4c]
push eax
call fcn.00404c10
push 4
push str..._
lea ecx, [ebp - 0x4c]
call fcn.00404c10
lea ecx, [esi + 0x4a4]
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x40d5a3
cmp dword [ebp - 0x38], 8
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00404a80
lea eax, [ebp - 0x4c]
cmp edi, eax
je 0x40d5bd
cmp dword [ebp - 0x38], 8
mov ecx, edi
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00404a80
lea ecx, [esi + 0x48c]
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x40d5db
cmp dword [ebp - 0x38], 8
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00404a80
cmp dword [esi + 0x4fc], 0
jne 0x40d735
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.004322a0
add esp, 8
push 0x10
push str.SavedStatus.json
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.00404c10
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 0x40d6b7
mov ecx, dword [edi + 0x14]
cmp ecx, 8
jb 0x40d69f
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x40d686
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e902
mov eax, edx
push ecx
push eax
call fcn.0044cee7
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 0x40d6f7
mov edx, dword [ebp - 0x90]
cmp edx, 8
jb 0x40d6f7
mov ecx, dword [ebp - 0xa4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d6ed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e902
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40d735
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d72b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e902
push edx
push ecx
call fcn.0044cee7
add esp, 8
and dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x38]
cmp edx, 8
jb 0x40d77a
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d770
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e902
push edx
push ecx
call fcn.0044cee7
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.0041eed0
add esp, 4
push 1
push 0x4a3390
mov ecx, eax
mov dword [ebp - 4], 7
call fcn.00404c10
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.00408930
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xa8]
cmp edx, 8
jb 0x40d830
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d826
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e902
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40d871
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d867
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e902
push edx
push ecx
call fcn.0044cee7
add esp, 8
cmp dword [esi + 0x4c0], 0
jbe 0x40d939
cmp dword [esi + 0x4d4], 0
je 0x40d939
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.00404a80
push 1
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 9
push eax
push 0x3e7
mov ecx, esi
call fcn.00408930
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40d908
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d8fe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e943
push edx
push ecx
call fcn.0044cee7
add esp, 8
lea eax, [esi + 0x4c4]
lea edi, [esi + 0x474]
cmp edi, eax
je 0x40d92d
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x40d922
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.00404a80
mov dword [esi + 0x470], 1
jmp 0x40d93f
lea edi, [esi + 0x474]
cmp byte [esi + 0x4ea], 0
jne 0x40da94
cmp dword [esi + 0x470], 1
jge 0x40da78
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.00404a80
push 1
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0xa
push eax
push 0x3e7
mov ecx, esi
call fcn.00408930
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40d9d6
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d9cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e943
push edx
push ecx
call fcn.0044cee7
add esp, 8
cmp byte [ebp - 0x11], 0
jne 0x40da63
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.00404a80
push 1
push 0x3e7
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0xb
push eax
push 0
mov ecx, esi
call fcn.0040bbe0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40da5f
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40da55
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e943
push edx
push ecx
call fcn.0044cee7
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 0x40daa9
cmp byte [esi + 0x4ea], 0
jne 0x40da94
lea ecx, [esi + 0x1e0]
call fcn.00435fd0
test al, al
je 0x40db30
cmp dword [esi + 0x470], 1
jge 0x40db5f
mov edi, dword [ebp - 0x18]
jmp 0x40d2c0
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.00404a80
mov dword [ebp - 4], 0xc
push 1
lea eax, [ebp - 0x30]
mov ecx, esi
push eax
push 0x3e7
call fcn.00408930
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40db1f
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40db15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e943
push edx
push ecx
call fcn.0044cee7
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.00404a80
mov dword [ebp - 4], 0xd
jmp 0x40dad3
lea eax, [esi + 0x470]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00430290
add esp, 8
push 0x15
push str.Project_ID_is_set_to
push 0
mov ecx, eax
mov dword [ebp - 4], 0xe
call fcn.00420640
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.00408930
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40dc04
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dbfa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e907
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40dc45
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dc3b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e907
push edx
push ecx
call fcn.0044cee7
add esp, 8
push str.WayfinderServerCoreSync.xml
lea eax, [ebp - 0x64]
push edi
push eax
call fcn.0041f2a0
add esp, 0xc
lea ecx, [esi + 0xf0]
push eax
call fcn.00406170
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40dc9d
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dc93
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e90c
push edx
push ecx
call fcn.0044cee7
add esp, 8
push str.WayfinderServerMapSync.xml
lea eax, [ebp - 0x64]
push edi
push eax
call fcn.0041f2a0
add esp, 0xc
lea ecx, [esi + 0x108]
push eax
call fcn.00406170
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40dcf5
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dceb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e911
push edx
push ecx
call fcn.0044cee7
add esp, 8
push str.WayfinderServerProjectSync.xml
lea eax, [ebp - 0x64]
push edi
push eax
call fcn.0041f2a0
add esp, 0xc
lea ecx, [esi + 0x120]
push eax
call fcn.00406170
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40dd4d
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dd43
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e916
push edx
push ecx
call fcn.0044cee7
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.00404a80
push 0
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0x10
push eax
push 0x3e6
mov ecx, esi
call fcn.00408930
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40ddca
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ddc0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e943
push edx
push ecx
call fcn.0044cee7
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x40de4f
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.00404a80
push 1
push 0x3e7
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0x11
push eax
push 0
mov ecx, esi
call fcn.0040bbe0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40de4f
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40de45
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e943
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov dword [ebp - 4], 0x12
mov edi, 3
nop dword [eax + eax]
cmp byte [esi + 0x4dc], 0
jne 0x40df9f
cmp byte [esi + 0x4dd], 0
je 0x40df9f
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.00404a80
push 1
push 0x3b0
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x13
push eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.0040bbe0
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40def3
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dee9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e93e
push edx
push ecx
call fcn.0044cee7
add esp, 8
cmp byte [esi + 0x4ea], 0
jne 0x40df03
call fcn.00431590
jmp 0x40df05
mov al, 1
test al, al
jne 0x40df98
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.00404a80
push 1
push 0x3b0
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x14
push eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.0040bbe0
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40df86
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40df7c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e93e
push edx
push ecx
call fcn.0044cee7
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 0x40dff6
push 0
push dword [eax]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x40dff6
mov edi, dword [esi + 0x238]
cmp dword [edi + 4], eax
je 0x40dfec
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [edi + 4], eax
je 0x40e91b
push 0
push dword [edi + 4]
push dword [edi]
call fcn.0043878f
add esp, 0xc
test eax, eax
jne 0x40e922
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 0x40e01d
jl 0x40e00d
cmp ecx, 1
jae 0x40e01d
mov dword [ebp - 0x6c], 1
mov dword [ebp - 0x68], 0
jmp 0x40e031
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 0x40e047
jl 0x40e03c
cmp ecx, 1
jae 0x40e047
mov dword [ebp - 0x74], 1
xor edi, edi
jmp 0x40e05a
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 0x40e067
xor eax, eax
jmp 0x40e06d
mov eax, dword [0x4ba6dc]
inc eax
cmp dword [esi + 0x238], 0
mov dword [0x4ba6dc], eax
jne 0x40e091
call fcn.004314c0
cmp edi, edx
jg 0x40e091
jl 0x40e08b
cmp dword [ebp - 0x74], eax
jae 0x40e091
mov byte [ebp - 0x31], 1
jmp 0x40e095
mov byte [ebp - 0x31], 0
cmp dword [esi + 0x238], 0
jne 0x40e0c0
cmp byte [esi + 0x244], 0
je 0x40e0c0
call fcn.004314c0
mov edi, dword [ebp - 0x68]
cmp edi, edx
jg 0x40e0c3
jl 0x40e0ba
cmp dword [ebp - 0x6c], eax
jae 0x40e0c3
mov byte [ebp - 0x11], 1
jmp 0x40e0c7
mov edi, dword [ebp - 0x68]
mov byte [ebp - 0x11], 0
cmp dword [esi + 0x238], 0
jne 0x40e0fa
cmp byte [esi + 0x269], 0
je 0x40e0fa
mov eax, dword [0x4ba6dc]
cmp eax, dword [esi + 0x514]
jg 0x40e0fa
call fcn.004314c0
cmp edi, edx
jg 0x40e0fa
jl 0x40e0f6
cmp dword [ebp - 0x6c], eax
jae 0x40e0fa
mov al, 1
jmp 0x40e0fc
xor al, al
cmp byte [ebp - 0x31], 0
jne 0x40e110
cmp byte [ebp - 0x11], 0
jne 0x40e110
test al, al
je 0x40e629
test al, al
mov dword [ebp - 0x94], 0
mov eax, 0x4a2010
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 0x40e141
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xa4]
call fcn.00404a80
cmp byte [ebp - 0x11], 0
mov eax, 0x4a2010
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 0x40e194
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xbc]
call fcn.00404a80
cmp byte [ebp - 0x31], 0
mov eax, 0x4a2010
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 0x40e1e0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x30]
call fcn.00404a80
push 0x27
push str.Checking_for_updates_because_of_clause
push 0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x17
call fcn.00420640
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 0x40e28d
mov eax, ecx
sub eax, edi
cmp eax, edx
jb 0x40e28d
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.00420640
jmp 0x40e2aa
cmp ecx, 8
lea eax, [ebp - 0xbc]
push edi
cmovae eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0x8c]
push eax
call fcn.00404c10
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 0x40e31c
mov eax, ecx
sub eax, edi
cmp eax, edx
jb 0x40e31c
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.00420640
jmp 0x40e336
cmp ecx, 8
lea eax, [ebp - 0xa4]
push edi
cmovae eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0x4c]
push eax
call fcn.00404c10
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.00408930
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40e3b0
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e3a6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e929
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x38]
cmp edx, 8
jb 0x40e3ee
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e3e4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e929
push edx
push ecx
call fcn.0044cee7
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 0x40e443
mov ecx, dword [ebp - 0x8c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e439
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e929
push edx
push ecx
call fcn.0044cee7
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 0x40e498
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e48e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e929
push edx
push ecx
call fcn.0044cee7
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 0x40e4f0
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e4e6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e929
push edx
push ecx
call fcn.0044cee7
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 0x40e551
mov ecx, dword [ebp - 0xa4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e547
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e929
push edx
push ecx
call fcn.0044cee7
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.00404a80
push 0
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x1b
push eax
push 0x3e6
mov ecx, esi
call fcn.00408930
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40e5c8
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e5be
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e93e
push edx
push ecx
call fcn.0044cee7
add esp, 8
push 8
call fcn.0044ceb7
mov edi, eax
add esp, 4
mov dword [ebp - 0xc0], edi
push 4
mov byte [ebp - 4], 0x1c
call fcn.0044ceb7
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 0x420f10
push 0
push 0
mov dword [ebp - 0x78], eax
call fcn.0046b64d
add esp, 0x18
mov dword [edi], eax
test eax, eax
je 0x40e92e
mov byte [ebp - 4], 0x12
mov dword [esi + 0x238], edi
lea ecx, [esi + 0x1e0]
call fcn.00435fd0
test al, al
jne 0x40e6ae
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.00404a80
push 1
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x1e
push eax
push 0x3e7
mov ecx, esi
call fcn.00408930
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40db1f
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40db15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e93e
jmp 0x40db15
call fcn.004314c0
mov edi, dword [ebp - 0x74]
sub edi, eax
mov dword [ebp - 0x78], edx
cmp byte [esi + 0x269], 0
mov ecx, edi
je 0x40e6e0
mov eax, dword [0x4ba6dc]
cmp eax, dword [esi + 0x514]
jg 0x40e6e0
call fcn.004314c0
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 0x40e6fe
mov ecx, 0x3c
jmp 0x40e703
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 0x40de60
jmp 0x40e7c1
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.00404a80
push 1
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 0x27
push eax
push 0x3e7
mov ecx, esi
call fcn.00408930
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x40db1f
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40db15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e943
jmp 0x40db15
call fcn.0046811a
call fcn.0046811a
call fcn.0046811a
call fcn.0046811a
call fcn.0046811a
push 5
call fcn.00437e17
push 2
call fcn.00437e17
call fcn.0046811a
mov eax, dword [ebp - 0x78]
push 6
mov dword [eax], 0
call fcn.00437e17
call fcn.0046811a
call fcn.0046811a
int3