Function at 0x40e950
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48bc68
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.00404a80
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
mov ecx, dword [edi]
push eax
push 0x3e6
call fcn.00408930
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40e9eb
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e9e1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov eax, dword [edi]
mov byte [eax + 0x268], 0
mov ecx, dword [edi]
call fcn.0040bd90
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
test al, al
je 0x40f155
push 0x41
xor eax, eax
push str.Information_2015___The_updater_thread_has_completed_successfully.
mov word [ebp - 0x28], ax
call fcn.00404a80
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 1
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040bbe0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40ea82
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ea78
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
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 0x40ef83
push 0x29
xor eax, eax
push str.Information_2016___Data_has_been_updated.
mov word [ebp - 0x28], ax
call fcn.00404a80
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 2
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040bbe0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40eb11
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40eb07
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
add esp, 8
push ebx
xor eax, eax
mov dword [ebp - 0x18], 0
push eax
push 0x4a2010
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.00404a80
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 3
mov ecx, dword [edi]
push eax
push 0
push 2
call fcn.0040fdd0
test al, al
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
sete bl
cmp edx, 8
jb 0x40eb90
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40eb86
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f418
push edx
push ecx
call fcn.0044cee7
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 0x40ec21
push 0x3c
push str.Warning_2017___Update_complete__but_failed_to_notify_server.
call fcn.00404a80
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 4
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040bbe0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40ec13
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ec09
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov ecx, dword [edi]
push 0
call fcn.0040ada0
jmp 0x40ecc4
push 0x22
push str.Information_2018___Update_complete
call fcn.00404a80
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 5
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040bbe0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40ec89
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ec7f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov ecx, dword [edi]
push 1
call fcn.0040ada0
mov esi, dword [edi]
add esi, 0x248
call fcn.004314c0
push 8
mov dword [esi], eax
lea eax, [ebp - 0x10]
push esi
push eax
push 0x4b5b50
push 0x4b5a30
mov dword [esi + 4], edx
mov dword [ebp - 0x10], 3
call fcn.004356e0
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 0x40edef
push 0x22
xor eax, eax
push str.First_installation__calling_reload
mov word [ebp - 0x28], ax
call fcn.00404a80
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 6
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408930
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40ed5c
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ed52
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov ecx, dword [edi]
add ecx, 0x1e0
call fcn.00436050
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.00404a80
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 7
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408930
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40ede6
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40eddc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
add esp, 8
push 0
call ebx
push eax
call esi
jmp 0x40ee5b
push 0x1a
xor eax, eax
push str.Not_the_first_installation
mov word [ebp - 0x28], ax
call fcn.00404a80
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 8
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408930
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40ee5b
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ee51
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
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 0x40ef0d
push 0x25
xor eax, eax
push str.There_is_a_parent_process_so_exiting.
mov word [ebp - 0x28], ax
call fcn.00404a80
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 9
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408930
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40eee0
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40eed6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
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.00404a80
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xa
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408930
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40eefc
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ef68
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
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.00404a80
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xb
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040bbe0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40eff1
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40efe7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov esi, dword [edi]
add esi, 0x248
call fcn.004314c0
push 8
mov dword [esi], eax
lea eax, [ebp - 0x10]
push esi
push eax
push 0x4b5b50
push 0x4b5a30
mov dword [esi + 4], edx
mov dword [ebp - 0x10], 3
call fcn.004356e0
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 0x40f0dc
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.00404a80
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xc
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408930
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f0a8
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f09e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
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.00404a80
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xd
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408930
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40eefd
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f13b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
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.00404a80
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xe
mov ecx, dword [edi]
push eax
push 0
call fcn.0040bbe0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f1c3
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f1b9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov ecx, dword [edi]
lea eax, [ecx + 0x250]
push eax
push 0
push 3
call fcn.0040fdd0
mov eax, dword [edi]
cmp dword [eax + 0x260], 0
je 0x40f251
add eax, 0x250
lea ecx, [ebp - 0x28]
push eax
mov edx, str.Error_2021__
call fcn.0041eed0
add esp, 4
push 1
push 0x3ae
push eax
mov dword [ebp - 4], 0xf
mov ecx, dword [edi]
push 0
call fcn.0040bbe0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f24f
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f245
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f41d
push edx
push ecx
call fcn.0044cee7
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 0x40f309
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.00404a80
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x10
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408930
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f2d4
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f2ca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
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.00404a80
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x11
mov ecx, dword [edi]
push eax
push 0x3ad
call fcn.00408930
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f375
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f36b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov eax, dword [edi]
cmp byte [eax + 0x244], 0
jne 0x40eefe
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.00404a80
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x12
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408930
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40f3f6
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f3ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f422
push edx
push ecx
call fcn.0044cee7
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.0046811a
call fcn.0046811a
call fcn.0046811a
int3