Function at 0x40d990
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x471198
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.00404a00
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
mov ecx, dword [edi]
push eax
push 0x3e6
call fcn.00408820
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40da2b
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40da21
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
mov eax, dword [edi]
mov byte [eax + 0x268], 0
mov ecx, dword [edi]
call fcn.0040b8c0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
test al, al
je 0x40e195
push 0x41
xor eax, eax
push str.Information_2015___The_updater_thread_has_completed_successfully.
mov word [ebp - 0x28], ax
call fcn.00404a00
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 1
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040b710
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40dac2
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dab8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
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 0x40dfc3
push 0x29
xor eax, eax
push str.Information_2016___Data_has_been_updated.
mov word [ebp - 0x28], ax
call fcn.00404a00
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 2
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040b710
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40db51
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40db47
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
push ebx
xor eax, eax
mov dword [ebp - 0x18], 0
push eax
push 0x4854f0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.00404a00
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 3
mov ecx, dword [edi]
push eax
push 0
push 2
call fcn.0040e6b0
test al, al
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
sete bl
cmp edx, 8
jb 0x40dbd0
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dbc6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e458
push edx
push ecx
call fcn.00448b15
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 0x40dc61
push 0x3c
push str.Warning_2017___Update_complete__but_failed_to_notify_server.
call fcn.00404a00
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 4
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040b710
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40dc53
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dc49
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
mov ecx, dword [edi]
push 0
call fcn.0040a8d0
jmp 0x40dd04
push 0x22
push str.Information_2018___Update_complete
call fcn.00404a00
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 5
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040b710
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40dcc9
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dcbf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
mov ecx, dword [edi]
push 1
call fcn.0040a8d0
mov esi, dword [edi]
add esi, 0x248
call fcn.0042ddb0
push 8
mov dword [esi], eax
lea eax, [ebp - 0x10]
push esi
push eax
push 0x494af8
push 0x4949f0
mov dword [esi + 4], edx
mov dword [ebp - 0x10], 3
call fcn.00431f30
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 + 0x3b8], 0
mov dword [ebp - 0x14], 7
je 0x40de2f
push 0x22
xor eax, eax
push str.First_installation__calling_reload
mov word [ebp - 0x28], ax
call fcn.00404a00
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 6
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408820
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40dd9c
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dd92
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
mov ecx, dword [edi]
add ecx, 0x1e0
call fcn.004328b0
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.00404a00
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 7
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408820
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40de26
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40de1c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
push 0
call ebx
push eax
call esi
jmp 0x40de9b
push 0x1a
xor eax, eax
push str.Not_the_first_installation
mov word [ebp - 0x28], ax
call fcn.00404a00
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 8
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408820
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40de9b
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40de91
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
mov eax, dword [edi]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
cmp dword [eax + 0x390], 0
jbe 0x40df4d
push 0x25
xor eax, eax
push str.There_is_a_parent_process_so_exiting.
mov word [ebp - 0x28], ax
call fcn.00404a00
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 9
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408820
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40df20
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40df16
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
mov edx, dword [edi]
xor eax, eax
push 0
mov ecx, dword [edx + 0x3b4]
test ecx, ecx
cmovns eax, ecx
mov dword [edx + 0x3b4], 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.00404a00
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xa
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408820
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40df3c
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dfa8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
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.00404a00
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xb
mov ecx, dword [edi]
push eax
push 0x64
call fcn.0040b710
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40e031
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e027
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
mov esi, dword [edi]
add esi, 0x248
call fcn.0042ddb0
push 8
mov dword [esi], eax
lea eax, [ebp - 0x10]
push esi
push eax
push 0x494af8
push 0x4949f0
mov dword [esi + 4], edx
mov dword [ebp - 0x10], 3
call fcn.00431f30
mov eax, dword [edi]
lea ecx, [ebp - 0x28]
add esp, 0x14
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
cmp dword [eax + 0x390], 0
jbe 0x40e11c
push 0x2a
xor eax, eax
push str.Callback_notified_that_no_data_was_updated
mov word [ebp - 0x28], ax
call fcn.00404a00
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xc
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408820
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40e0e8
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e0de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
mov edx, dword [edi]
xor eax, eax
push 1
mov ecx, dword [edx + 0x3b4]
test ecx, ecx
cmovns eax, ecx
mov dword [edx + 0x3b4], 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 0x2f
xor eax, eax
push str.There_is_no_parent_app_and_no_data_was_updated.
mov word [ebp - 0x28], ax
call fcn.00404a00
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xd
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408820
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40df3d
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e17b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
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.00404a00
push 1
push 0x3ad
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xe
mov ecx, dword [edi]
push eax
push 0
call fcn.0040b710
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40e203
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e1f9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
mov ecx, dword [edi]
lea eax, [ecx + 0x250]
push eax
push 0
push 3
call fcn.0040e6b0
mov eax, dword [edi]
cmp dword [eax + 0x260], 0
je 0x40e291
add eax, 0x250
lea ecx, [ebp - 0x28]
push eax
mov edx, str.Error_2021__
call fcn.0041cd20
add esp, 4
push 1
push 0x3ae
push eax
mov dword [ebp - 4], 0xf
mov ecx, dword [edi]
push 0
call fcn.0040b710
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40e28f
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e285
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e45d
push edx
push ecx
call fcn.00448b15
add esp, 8
mov eax, dword [edi]
cmp dword [eax + 0x390], 0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
jbe 0x40e349
push 0x28
xor eax, eax
push str.Callback_notified_that_an_error_occurred
mov word [ebp - 0x28], ax
call fcn.00404a00
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x10
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408820
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40e314
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e30a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
mov ecx, dword [edi]
mov edx, 2
push edx
mov eax, dword [ecx + 0x3b4]
cmp eax, edx
cmovl eax, edx
mov dword [ecx + 0x3b4], 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 0x1b
xor eax, eax
push str.There_is_no_parent_process.
mov word [ebp - 0x28], ax
call fcn.00404a00
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x11
mov ecx, dword [edi]
push eax
push 0x3ad
call fcn.00408820
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40e3b5
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e3ab
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
mov eax, dword [edi]
cmp byte [eax + 0x240], 0
jne 0x40df3e
push 0x11
xor eax, eax
mov dword [ebp - 0x18], 0
push str.An_error_occurred
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.00404a00
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x12
mov ecx, dword [edi]
push eax
push 0x3df
call fcn.00408820
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40e436
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e42c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e462
push edx
push ecx
call fcn.00448b15
add esp, 8
mov eax, dword [edi]
push 0xea60
push dword [eax + 0x23c]
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.0044e13a
call fcn.0044e13a
call fcn.0044e13a
int3