Function at 0x40f360
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48c5f8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push edi
push 0x16
mov edi, ecx
mov dword [ebp - 0x18], 0
xor eax, eax
mov dword [ebp - 0x14], 7
push str.Updater_thread_running
lea ecx, [ebp - 0x28]
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
mov ecx, dword [edi]
push eax
push 0x3e6
call fcn.00409340
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f3fb
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f3f1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov eax, dword [edi]
mov byte [eax + 0x268], 0
mov ecx, dword [edi]
call fcn.0040c7a0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
test al, al
je 0x40fb65
push 0x41
xor eax, eax
push str.Information_2015___The_updater_thread_has_completed_successfully.
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 1
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040c5f0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f492
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f488
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov eax, dword [edi]
lea ecx, [ebp - 0x28]
push esi
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
cmp byte [eax + 0x268], 0
je 0x40f993
push 0x29
xor eax, eax
push str.Information_2016___Data_has_been_updated.
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 2
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040c5f0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f521
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f517
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
push ebx
xor eax, eax
mov dword [ebp - 0x18], 0
push eax
push 0x4a3010
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.00404ab0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 3
mov ecx, dword [edi]
push eax
push 0
push 2
call fcn.004107e0
test al, al
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
sete bl
cmp edx, 8
jb 0x40f5a0
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f596
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe28
push edx
push ecx
call fcn.0044d7ec
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
lea ecx, [ebp - 0x28]
mov word [ebp - 0x28], ax
test bl, bl
je 0x40f631
push 0x3c
push str.Warning_2017___Update_complete__but_failed_to_notify_server.
call fcn.00404ab0
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 4
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040c5f0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f623
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f619
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov ecx, dword [edi]
push 0
call fcn.0040b7b0
jmp 0x40f6d4
push 0x22
push str.Information_2018___Update_complete
call fcn.00404ab0
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 5
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040c5f0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f699
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f68f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov ecx, dword [edi]
push 1
call fcn.0040b7b0
mov esi, dword [edi]
add esi, 0x248
call fcn.00431b50
push 8
mov dword [esi], eax
lea eax, [ebp - 0x10]
push esi
push eax
push 0x4b6b50
push 0x4b6a30
mov dword [esi + 4], edx
mov dword [ebp - 0x10], 3
call fcn.00435d50
add esp, 0x14
mov eax, dword [edi]
lea ecx, [ebp - 0x28]
mov esi, dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x18], 0
cmp byte [eax + 0x4e8], 0
mov dword [ebp - 0x14], 7
je 0x40f7ff
push 0x22
xor eax, eax
push str.First_installation__calling_reload
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 6
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00409340
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f76c
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f762
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov ecx, dword [edi]
add ecx, 0x1e0
call fcn.00436760
push 0xf
xor eax, eax
mov dword [ebp - 0x18], 0
push str.Reload_complete
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 7
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00409340
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f7f6
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f7ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
push 0
call ebx
push eax
call esi
jmp 0x40f86b
push 0x1a
xor eax, eax
push str.Not_the_first_installation
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 8
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00409340
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f86b
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f861
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov eax, dword [edi]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
cmp dword [eax + 0x4c0], 0
jbe 0x40f91d
push 0x25
xor eax, eax
push str.There_is_a_parent_process_so_exiting.
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 9
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00409340
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f8f0
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f8e6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov edx, dword [edi]
xor eax, eax
push 0
mov ecx, dword [edx + 0x4e4]
test ecx, ecx
cmovns eax, ecx
mov dword [edx + 0x4e4], eax
call ebx
push eax
call esi
pop ebx
pop esi
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 0x17
xor eax, eax
push str.Callback_window_not_set
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xa
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00409340
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f90c
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f978
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
pop ebx
pop esi
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 0x36
xor eax, eax
push str.Information_2019___Waiting_to_be_notified_of_new_data.
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xb
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040c5f0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40fa01
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f9f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov esi, dword [edi]
add esi, 0x248
call fcn.00431b50
push 8
mov dword [esi], eax
lea eax, [ebp - 0x10]
push esi
push eax
push 0x4b6b50
push 0x4b6a30
mov dword [esi + 4], edx
mov dword [ebp - 0x10], 3
call fcn.00435d50
mov eax, dword [edi]
lea ecx, [ebp - 0x28]
add esp, 0x14
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
cmp dword [eax + 0x4c0], 0
jbe 0x40faec
push 0x50
xor eax, eax
push str.Information_2068___The_parent_process_has_been_notified_that_no_data_was_updated
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xc
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00409340
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40fab8
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40faae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov edx, dword [edi]
xor eax, eax
push 1
mov ecx, dword [edx + 0x4e4]
test ecx, ecx
cmovns eax, ecx
mov dword [edx + 0x4e4], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
pop esi
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 0x38
xor eax, eax
push str.Information_2067___There_is_no_parent_process_to_notify.
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xd
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00409340
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f90d
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40fb4b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
pop esi
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 0x33
xor eax, eax
push str.Error_2020___The_updater_thread_failed_to_complete.
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xe
mov ecx, dword [edi]
push eax
push 0
call fcn.0040c5f0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40fbd3
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40fbc9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov ecx, dword [edi]
lea eax, [ecx + 0x250]
push eax
push 0
push 3
call fcn.004107e0
mov eax, dword [edi]
cmp dword [eax + 0x260], 0
je 0x40fc61
add eax, 0x250
lea ecx, [ebp - 0x28]
push eax
mov edx, str.Error_2021__
call fcn.0041f6c0
add esp, 4
push 1
push 0x3ae
push eax
mov dword [ebp - 4], 0xf
mov ecx, dword [edi]
push 0
call fcn.0040c5f0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40fc5f
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40fc55
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe2d
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov eax, dword [edi]
cmp dword [eax + 0x4c0], 0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
jbe 0x40fd19
push 0x4e
xor eax, eax
push str.Information_2066___The_parent_process_has_been_notified_that_an_error_occurred
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x10
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00409340
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40fce4
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40fcda
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov ecx, dword [edi]
mov edx, 2
push edx
mov eax, dword [ecx + 0x4e4]
cmp eax, edx
cmovl eax, edx
mov dword [ecx + 0x4e4], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 0x38
xor eax, eax
push str.Information_2067___There_is_no_parent_process_to_notify.
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x11
mov ecx, dword [edi]
push eax
push 0x3ad
call fcn.00409340
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40fd85
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40fd7b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov eax, dword [edi]
cmp byte [eax + 0x244], 0
jne 0x40f90e
push 0x57
xor eax, eax
mov dword [ebp - 0x18], 0
push str.Information_2068___There_has_been_a_problem_and_the_updater_will_pause_before_retrying.
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.00404ab0
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x12
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00409340
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40fe06
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40fdfc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fe32
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov eax, dword [edi]
push 0xea60
push dword [eax + 0x240]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
call fcn.00468a1a
call fcn.00468a1a
call fcn.00468a1a
int3