Function at 0x4025a3
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x708
push 0x40dad8
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x1f4
lea eax, [ebp - 0x1f8]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x1fc]
mov byte [ebp + ecx - 0x1f8], 0
cmp dword [ebp - 0x1fc], 4
jbe 0x4022d2
mov edx, dword [ebp - 0x1fc]
movsx eax, byte [ebp + edx - 0x1fc]
cmp eax, 0x2e
jne 0x4022d2
lea ecx, [ebp - 0x1f8]
push ecx
push 0x40c600
push 0x40daf4
call fcn.0040372b
add esp, 0xc
mov edx, dword [ebp - 0x1fc]
mov byte [ebp + edx - 0x1fc], 0
lea eax, [ebp - 0x1f8]
push eax
push str._s.log
push 0x40dcec
call fcn.0040372b
add esp, 0xc
lea ecx, [ebp - 0x1f8]
push ecx
push 0x40d6e4
call fcn.00403a20
add esp, 8
push 0x40d6e4
call fcn.004036b0
add esp, 4
sub eax, 1
mov dword [ebp - 0x200], eax
jmp 0x402292
mov edx, dword [ebp - 0x200]
sub edx, 1
mov dword [ebp - 0x200], edx
cmp dword [ebp - 0x200], 0
jl 0x4022be
mov eax, dword [ebp - 0x200]
movsx ecx, byte [eax + 0x40d6e4]
cmp ecx, 0x5c
jne 0x4022bc
mov edx, dword [ebp - 0x200]
mov byte [edx + 0x40d6e4], 0
jmp 0x4022be
jmp 0x402283
push str._stopupdates10_settins.ini
push 0x40d6e4
call fcn.00403a30
add esp, 8
jmp 0x4022eb
lea eax, [ebp - 0x1f8]
push eax
push str.Invalid_module_file_name:__s_r_n
call fcn.004039d0
add esp, 8
jmp 0x40263d
call fcn.00402bf9
push 0x40daf4
call fcn.00401000
add esp, 4
push 0x40d6e4
call fcn.00401000
add esp, 4
push 0x40dcec
call fcn.00401000
add esp, 4
push str.SU10Guard
push 0x40d8dc
call fcn.00403a20
add esp, 8
push 0x40d8dc
call fcn.00401000
add esp, 4
cmp dword [ebp + 8], 2
jne 0x40236b
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
push 0x40c654
call fcn.00403900
add esp, 8
test eax, eax
jne 0x40236b
call fcn.00402ad7
push 0x40d8dc
call fcn.00401e27
add esp, 4
jmp 0x402632
cmp dword [ebp + 8], 2
jne 0x4023b1
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
push 0x40c658
call fcn.00403900
add esp, 8
test eax, eax
jne 0x4023b1
push 0x40d8dc
push 0x40daf4
call fcn.00401f53
add esp, 8
push 0
push 0
push 0x40d8dc
call fcn.00401a56
add esp, 0xc
jmp 0x402632
cmp dword [ebp + 8], 2
jne 0x402403
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
push 0x40c65c
call fcn.00403900
add esp, 8
test eax, eax
jne 0x402403
call fcn.00402641
and eax, 0xff
test eax, eax
je 0x4023f1
push str.Need_to_stop_Windows_Updates_service_
call fcn.00401000
add esp, 4
call fcn.00402961
jmp 0x4023fe
push str.Windows_updates_service_is_disabled.
call fcn.00401000
add esp, 4
jmp 0x402632
cmp dword [ebp + 8], 3
jne 0x402426
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
push 0x40c6b0
call fcn.00403900
add esp, 8
test eax, eax
jne 0x402426
jmp 0x402632
cmp dword [ebp + 8], 3
jne 0x4024b6
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
push 0x40c6b4
call fcn.00403900
add esp, 8
test eax, eax
jne 0x4024b6
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
push eax
call fcn.0040191b
add esp, 4
test eax, eax
je 0x402487
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 8]
push edx
push str.Killed_service__s
lea eax, [ebp - 0x27c]
push eax
call fcn.0040372b
add esp, 0xc
lea ecx, [ebp - 0x27c]
push ecx
call fcn.00401000
add esp, 4
jmp 0x4024b1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
push eax
push str.Failed_to_kill_service__s
lea ecx, [ebp - 0x2f8]
push ecx
call fcn.0040372b
add esp, 0xc
lea edx, [ebp - 0x2f8]
push edx
call fcn.00401000
add esp, 4
jmp 0x402632
cmp dword [ebp + 8], 3
jl 0x402594
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
push 0x40c6e8
call fcn.00403900
add esp, 8
test eax, eax
jne 0x402594
cmp dword [ebp + 8], 3
jle 0x4024f0
mov edx, dword [ebp + 0xc]
add edx, 0xc
mov dword [ebp - 0x704], edx
jmp 0x4024fa
mov dword [ebp - 0x704], 0
cmp dword [ebp + 8], 3
jle 0x40250e
mov eax, dword [ebp + 8]
sub eax, 3
mov dword [ebp - 0x708], eax
jmp 0x402518
mov dword [ebp - 0x708], 0
mov ecx, dword [ebp - 0x704]
push ecx
mov edx, dword [ebp - 0x708]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
push ecx
call fcn.00401a56
add esp, 0xc
test eax, eax
je 0x402565
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
push eax
push str.Ran_service__s
lea ecx, [ebp - 0x374]
push ecx
call fcn.0040372b
add esp, 0xc
lea edx, [ebp - 0x374]
push edx
call fcn.00401000
add esp, 4
jmp 0x40258f
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
push ecx
push str.Failed_to_run_service__s
lea edx, [ebp - 0x3f0]
push edx
call fcn.0040372b
add esp, 0xc
lea eax, [ebp - 0x3f0]
push eax
call fcn.00401000
add esp, 4
jmp 0x402632
push str.Trying_to_start_our_service...
call fcn.00401000
add esp, 4
push 0
push 0
push 0x402082
call fcn.004037af
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4025ed
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x3f4], eax
mov ecx, dword [ebp - 0x3f4]
push ecx
push str._beginthread_failed__error_code___d
lea edx, [ebp - 0x578]
push edx
call fcn.0040372b
add esp, 0xc
lea eax, [ebp - 0x578]
push eax
call fcn.00401000
add esp, 4
push 0x40c050
call dword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherA]
test eax, eax
jne 0x402632
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x57c], eax
mov ecx, dword [ebp - 0x57c]
push ecx
push str.StartServiceCtrlDispatcher_failed__error_code___d
lea edx, [ebp - 0x700]
push edx
call fcn.0040372b
add esp, 0xc
lea eax, [ebp - 0x700]
push eax
call fcn.00401000
add esp, 4
push 0x40dad8
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov esp, ebp
pop ebp
ret