Function at 0x4021b2
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x708
push 0x40da90
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 0x4022cd
mov edx, dword [ebp - 0x1fc]
movsx eax, byte [ebp + edx - 0x1fc]
cmp eax, 0x2e
jne 0x4022cd
lea ecx, [ebp - 0x1f8]
push ecx
push 0x40c600
push 0x40daac
call fcn.0040352b
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 0x40dca4
call fcn.0040352b
add esp, 0xc
lea ecx, [ebp - 0x1f8]
push ecx
push 0x40d69c
call fcn.00403820
add esp, 8
push 0x40d69c
call fcn.004034b0
add esp, 4
sub eax, 1
mov dword [ebp - 0x200], eax
jmp 0x40228d
mov edx, dword [ebp - 0x200]
sub edx, 1
mov dword [ebp - 0x200], edx
cmp dword [ebp - 0x200], 0
jl 0x4022b9
mov eax, dword [ebp - 0x200]
movsx ecx, byte [eax + 0x40d69c]
cmp ecx, 0x5c
jne 0x4022b7
mov edx, dword [ebp - 0x200]
mov byte [edx + 0x40d69c], 0
jmp 0x4022b9
jmp 0x40227e
push str._stopupdates10_settins.ini
push 0x40d69c
call fcn.00403830
add esp, 8
jmp 0x4022e6
lea eax, [ebp - 0x1f8]
push eax
push str.Invalid_module_file_name:__s_r_n
call fcn.004037d0
add esp, 8
jmp 0x402638
call fcn.00402bf4
push 0x40daac
call fcn.00401000
add esp, 4
push 0x40d69c
call fcn.00401000
add esp, 4
push 0x40dca4
call fcn.00401000
add esp, 4
push str.SU10Guard
push 0x40d894
call fcn.00403820
add esp, 8
push 0x40d894
call fcn.00401000
add esp, 4
cmp dword [ebp + 8], 2
jne 0x402366
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
push 0x40c654
call fcn.00403700
add esp, 8
test eax, eax
jne 0x402366
call fcn.00402ad2
push 0x40d894
call fcn.00401e27
add esp, 4
jmp 0x40262d
cmp dword [ebp + 8], 2
jne 0x4023ac
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
push 0x40c658
call fcn.00403700
add esp, 8
test eax, eax
jne 0x4023ac
push 0x40d894
push 0x40daac
call fcn.00401f53
add esp, 8
push 0
push 0
push 0x40d894
call fcn.00401a56
add esp, 0xc
jmp 0x40262d
cmp dword [ebp + 8], 2
jne 0x4023fe
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
push 0x40c65c
call fcn.00403700
add esp, 8
test eax, eax
jne 0x4023fe
call fcn.0040263c
and eax, 0xff
test eax, eax
je 0x4023ec
push str.Need_to_stop_Windows_Updates_service_
call fcn.00401000
add esp, 4
call fcn.0040295c
jmp 0x4023f9
push str.Windows_updates_service_is_disabled.
call fcn.00401000
add esp, 4
jmp 0x40262d
cmp dword [ebp + 8], 3
jne 0x402421
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
push 0x40c6b0
call fcn.00403700
add esp, 8
test eax, eax
jne 0x402421
jmp 0x40262d
cmp dword [ebp + 8], 3
jne 0x4024b1
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
push 0x40c6b4
call fcn.00403700
add esp, 8
test eax, eax
jne 0x4024b1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
push eax
call fcn.0040191b
add esp, 4
test eax, eax
je 0x402482
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.0040352b
add esp, 0xc
lea ecx, [ebp - 0x27c]
push ecx
call fcn.00401000
add esp, 4
jmp 0x4024ac
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.0040352b
add esp, 0xc
lea edx, [ebp - 0x2f8]
push edx
call fcn.00401000
add esp, 4
jmp 0x40262d
cmp dword [ebp + 8], 3
jl 0x40258f
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
push 0x40c6e8
call fcn.00403700
add esp, 8
test eax, eax
jne 0x40258f
cmp dword [ebp + 8], 3
jle 0x4024eb
mov edx, dword [ebp + 0xc]
add edx, 0xc
mov dword [ebp - 0x704], edx
jmp 0x4024f5
mov dword [ebp - 0x704], 0
cmp dword [ebp + 8], 3
jle 0x402509
mov eax, dword [ebp + 8]
sub eax, 3
mov dword [ebp - 0x708], eax
jmp 0x402513
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 0x402560
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.0040352b
add esp, 0xc
lea edx, [ebp - 0x374]
push edx
call fcn.00401000
add esp, 4
jmp 0x40258a
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.0040352b
add esp, 0xc
lea eax, [ebp - 0x3f0]
push eax
call fcn.00401000
add esp, 4
jmp 0x40262d
push str.Trying_to_start_our_service...
call fcn.00401000
add esp, 4
push 0
push 0
push 0x402082
call fcn.004035af
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4025e8
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.0040352b
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 0x40262d
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.0040352b
add esp, 0xc
lea eax, [ebp - 0x700]
push eax
call fcn.00401000
add esp, 4
push 0x40da90
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov esp, ebp
pop ebp
ret