Function at 0x401507
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
push ebx
push esi
push edi
xor eax, eax
xor ebx, ebx
push 0x2800
mov word [0x41c120], ax
mov dword [0x41c128], ebx
call fcn.004049df
pop ecx
mov dword [0x41c128], eax
cmp eax, ebx
jne 0x401540
push 0xa
pop eax
mov word [0x41c120], ax
push dword [ebp + 0x10]
call fcn.004012f5
mov eax, dword [0x41a810]
dec eax
pop ecx
je 0x40175d
dec eax
je 0x40173b
dec eax
jne 0x401759
mov byte [0x41c555], bl
call fcn.004012b4
test al, al
jne 0x40158a
push 0x10
push str.ANSAV
push str.ANSAV_Guard_initialization_failed__:_
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x4017d3
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1f4
call edi
call fcn.004019f2
test al, al
jne 0x4015bb
push 0x10
push str.ANSAV
push str.Cannot_initialize_daemon
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0xfffffffffffffffe
pop eax
jmp 0x4017d6
push ebx
push 0x401c59
push ebx
push 0x65
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp byte [0x41c555], 1
jne 0x4015df
push 3
jmp 0x4015b5
push 0x32
pop esi
jmp 0x4015ee
push 0x3e8
call edi
dec esi
je 0x4015fe
mov eax, dword [0x41b6e0]
cmp word [eax + 0x222], bx
je 0x4015e4
jmp 0x401603
mov eax, dword [0x41b6e0]
movzx ecx, word [eax + 0x222]
cmp cx, bx
je 0x40163e
push dword [eax + 0x218]
movzx edx, word [eax + 0x21c]
movzx eax, word [eax + 0x21e]
push edx
push eax
movzx eax, cx
push eax
push str.ANSAV___Updated__02d__02d__02d__d
call fcn.00404eee
push eax
call fcn.004021ef
add esp, 0x18
jmp 0x401649
push str.ANSAV___Ans_Antivirus
call fcn.004021ef
pop ecx
call fcn.004022ef
push str.anevtenddaemon
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x41b638], eax
call fcn.00402c0f
call fcn.00402eba
test al, al
jne 0x401690
cmp word [0x41c120], 0xb
jne 0x40168c
push 0x10
push str.ANSAV
push str.Configuration_corrupted
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor al, al
jmp 0x40169b
mov eax, dword [0x41b8fc]
mov al, byte [eax + 0x17c]
call fcn.00402577
call fcn.004028cf
push 0xffffffffffffffff
push dword [0x41b638]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x41b6e0]
push 8
mov byte [eax], bl
mov byte [eax + 2], 1
call fcn.0040559d
pop ecx
cmp eax, ebx
je 0x4016d5
mov esi, eax
call fcn.0040463a
mov esi, eax
jmp 0x4016d7
xor esi, esi
call fcn.004046bf
test al, al
je 0x4016ee
call fcn.004046e2
mov ecx, dword [0x41b6e0]
mov byte [ecx + 1], al
cmp esi, ebx
je 0x401700
call fcn.004017dd
jmp 0x401700
push 0x1f4
call edi
cmp byte [0x41c557], bl
jne 0x4016f9
call fcn.00402679
push ebx
push dword [0x41b6f4]
call dword [sym.imp.USER32.dll_EndDialog]
push ebx
push dword [0x41b8f4]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push 0x41b6f8
push 2
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconA]
call fcn.00401afd
jmp 0x401759
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0x10], str.ANSAVDaemon
mov dword [ebp - 0xc], 0x401887
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ebx
call dword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherA]
xor eax, eax
jmp 0x4017d6
call fcn.00404a5a
push 8
call fcn.0040559d
pop ecx
cmp eax, ebx
je 0x401779
mov esi, eax
call fcn.0040463a
mov esi, eax
jmp 0x40177b
xor esi, esi
call fcn.004046bf
test al, al
jne 0x4017be
push 0x104
lea eax, [ebp - 0x114]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x114]
push eax
call fcn.00404661
test al, al
jne 0x4017be
push str.Cannot_create_service_name_ANSAVDaemon
call fcn.00404e57
call fcn.004036e2
push eax
call fcn.00404e57
pop ecx
pop ecx
call fcn.00404ecd
mov eax, esi
call fcn.00404728
cmp esi, ebx
je 0x4017d3
call fcn.004017dd
or eax, 0xffffffff
pop edi
pop esi
pop ebx
leave
ret 0x10