Function at 0x43da40
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb54
mov eax, dword [0x6aae14]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor ebx, ebx
push 0x207
lea eax, [ebp - 0x823]
push ebx
push eax
mov dword [ebp - 0xb34], 0x80004005
mov byte [ebp - 0x824], bl
call fcn.005dfd60
push 0x40f
lea ecx, [ebp - 0x61b]
push ebx
push ecx
mov byte [ebp - 0x61c], bl
call fcn.005dfd60
mov edx, dword [0x61f6a0]
mov eax, dword [0x61f6a4]
mov ecx, dword [0x61f6a8]
push 0xf5
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0x108], edx
mov dx, word [0x61f6ac]
mov dword [ebp - 0x104], eax
mov al, byte [0x61f6ae]
lea ecx, [ebp - 0xf9]
push ebx
push ecx
mov word [ebp - 0xfc], dx
mov byte [ebp - 0xfa], al
call fcn.005dfd60
mov edx, dword [str.eCancelObj]
mov eax, dword [0x61f698]
mov cx, word [0x61f69c]
push 0xf9
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x20c], edx
mov dl, byte [0x61f69e]
lea eax, [ebp - 0x201]
push ebx
push eax
mov word [ebp - 0x204], cx
mov byte [ebp - 0x202], dl
call fcn.005dfd60
add esp, 0x30
mov dword [ebp - 0xb38], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x6b3a60
mov dword [0x6b3ca0], eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor eax, eax
mov ecx, 0x60
mov edi, 0x6b38e0
rep stosd dword es:[edi], eax
or edi, 0xffffffff
cmp byte [0x6b3d20], bl
jne 0x43dbc6
push 0x6af4b8
push str._sVista_
push 0x6b3d20
call fcn.005dfb23
push ebx
push 0x6b3d20
call fcn.004e8c10
add esp, 0x14
cmp eax, 1
jne 0x43dbb4
mov eax, 0x6b3d20
add eax, edi
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x43db90
mov ecx, dword [str.avpmCfg.klr]
mov edx, dword [0x61f680]
mov dword [eax], ecx
mov ecx, dword [0x61f684]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
jmp 0x43dbc6
push str.avpmCfg.klr
push 0x6b3d20
call fcn.005dfb23
add esp, 8
push 0x6b3ce4
push str.KLCheckType
push 0x60d814
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004d5820
test al, al
jne 0x43dbfe
push ebx
push str.KLCheckType
push 0x60d814
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [0x6b3ce4], ebx
call fcn.004f48a0
push 0x680ed4
push ebx
push 0x6b3d04
call fcn.005093e0
add esp, 0xc
cmp eax, 1
jne 0x43e298
cmp dword [0x6b3d04], ebx
je 0x43e298
lea edx, [ebp - 0x108]
push edx
push ebx
push 0x6b3d08
call fcn.005093e0
add esp, 0xc
cmp eax, 1
jne 0x43e28e
cmp dword [0x6b3d08], ebx
je 0x43e28e
lea eax, [ebp - 0x20c]
push eax
push ebx
push 0x6b3d0c
call fcn.005093e0
add esp, 0xc
cmp eax, 1
jne 0x43e284
cmp dword [0x6b3d0c], ebx
je 0x43e284
push 0x681c10
push ebx
push 0x6b3d10
call fcn.005093e0
add esp, 0xc
cmp eax, 1
jne 0x43e27a
cmp dword [0x6b3d10], ebx
je 0x43e27a
push 0x6af4b8
call fcn.0050ae40
add esp, 4
mov dword [0x682200], eax
cmp eax, 1
jne 0x43dcdc
push 2
push 4
push ebx
push str.OldInit
mov dword [ebp - 0xb38], ebx
call fcn.00430300
add esp, 0x10
cmp eax, 1
jne 0x43dcdc
mov dword [ebp - 0xb38], eax
mov byte [0x6b37c8], bl
cmp esi, ebx
je 0x43dd05
cmp byte [esi], bl
je 0x43dd05
mov edx, 0x6b37c8
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x43dcf3
cmp byte [0x6b37c8], bl
jne 0x43dd45
push 1
push 0x104
push 0x6b37c8
call fcn.00518af0
add esp, 0xc
test eax, eax
jne 0x43dd45
lea ecx, [ebp - 0x61c]
push str.Error:_Unable_To_Get_The_Database_Path
push ecx
call fcn.005dfb23
push ebx
push 1
lea edx, [ebp - 0x61c]
push edx
push 0x6aec98
call fcn.004311c0
add esp, 0x18
mov eax, dword [0x6b00fc]
push 0x758
push ebx
push ebx
push 0xf001f
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [0x6b38d0], eax
cmp eax, ebx
jne 0x43dd73
push ebx
push 1
push str.Error:_MapViewOfFile_Failed.
jmp 0x43e2a0
mov dword [eax + 0x438], edi
mov dword [0x682208], edi
cmp byte [0x6af4b8], bl
je 0x43de0b
xor eax, eax
lea ecx, [ecx]
mov cl, byte [eax + 0x6af4b8]
mov byte [ebp + eax - 0x824], cl
inc eax
cmp cl, bl
jne 0x43dd90
lea ecx, [ebp - 0x824]
push ecx
call fcn.004e24e0
lea eax, [ebp - 0x824]
add esp, 4
add eax, edi
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x43ddc0
mov edx, dword [str.Vista]
mov cx, word [0x61d720]
push ebx
push 1
push str.Copying_Key_Files_To_Vista_Folder
mov dword [eax], edx
push 0x6aec98
mov word [eax + 4], cx
call fcn.004311c0
add esp, 0x10
push ebx
push ebx
push ebx
push ebx
push ebx
lea edx, [ebp - 0x824]
push edx
push str..key
push 0x6af4b8
call fcn.00517760
push 4
call fcn.00434cc0
add esp, 4
cmp dword [ebp - 0xb38], ebx
jne 0x43ded6
push 0x6af4b8
call fcn.004eb440
push ebx
push 1
test eax, eax
jne 0x43de5c
push str.Calling_Funcs_From_Msvl64.dll
push 0x6aec98
call fcn.004311c0
add esp, 0x10
call fcn.00435a00
test eax, eax
je 0x43ded6
mov eax, dword [0x6b38d4]
cmp eax, ebx
je 0x43ded6
jmp 0x43deb6
push str.Calling_Funcs_From_IPC_Server
push 0x6aec98
call fcn.004311c0
push 1
mov dword [0x6821f0], 1
call fcn.005312f0
mov edi, eax
add esp, 0x14
cmp edi, ebx
mov dword [ebp - 0xb34], edi
jge 0x43dfd5
push ebx
push 1
push str.Calling_Funcs_From_Msvl64.dll
push 0x6aec98
call fcn.004311c0
add esp, 0x10
call fcn.00435a00
test eax, eax
je 0x43dece
mov eax, dword [0x6b38d4]
cmp eax, ebx
je 0x43dece
push esi
call eax
mov edi, eax
mov dword [0x6821f0], 2
mov dword [ebp - 0xb34], edi
add esp, 4
cmp edi, ebx
jge 0x43dfd5
push esi
mov dword [0x6821f0], ebx
call fcn.0043d0a0
mov esi, eax
add esp, 4
cmp esi, ebx
jge 0x43dfc8
push ebx
mov dword [0x6821f0], 0xffffffff
call fcn.00434cc0
push 0x40f
lea eax, [ebp - 0x61c]
push eax
push esi
call fcn.00433770
push esi
lea ecx, [ebp - 0x61c]
push str.Error:_Initialization_Fails._Returns__x
push ecx
call fcn.005dfb23
push ebx
push 1
lea edx, [ebp - 0x61c]
push edx
push 0x6aec98
call fcn.004311c0
add esp, 0x2c
call fcn.0052a070
cmp esi, 0x8004025c
je 0x43dfa6
cmp esi, 0x8004025d
je 0x43df9c
cmp esi, 0x8004025e
je 0x43df92
push esi
push str.kaveInitialize_Failed._Function_Returns_Unknown
lea eax, [ebp - 0x61c]
push str._s___08x_
push eax
call fcn.005dfb23
push ebx
push 1
lea ecx, [ebp - 0x61c]
push ecx
push 0x6aec98
call fcn.004311c0
add esp, 0x20
push ebx
push 1
push str.Error:_Local_KaveInitialize_Failed._Reason_Above
jmp 0x43e2a0
push ebx
push 1
push str.Licence_Limited.
jmp 0x43dfae
push ebx
push 1
push str.Valid_License_Not_Found.
jmp 0x43dfae
push ebx
push 1
push str.Product_Not_Registered.
push 0x6aec98
call fcn.004311c0
add esp, 0x10
push ebx
push 1
push str.Error:_Local_KaveInitialize_Failed._Reason_Above
jmp 0x43e2a0
mov dword [ebp - 0xb34], esi
mov esi, 1
jmp 0x43dfdb
mov esi, dword [ebp - 0xb38]
push 0x207
lea edx, [ebp - 0xa2b]
push ebx
push edx
mov byte [ebp - 0xa2c], bl
call fcn.005dfd60
push 1
call fcn.00434cc0
lea eax, [ebp - 0x61c]
push str.Initialization_Successful
push eax
mov dword [0x6821fc], 1
call fcn.005dfb23
push ebx
push 1
lea ecx, [ebp - 0x61c]
push ecx
push 0x6aec98
call fcn.004311c0
mov edx, dword [0x6821f0]
push edx
push esi
lea eax, [ebp - 0x61c]
push str.Value_Of_OldInit___d__Value_Of_iKaveFuncLoc___d
push eax
call fcn.005dfb23
push ebx
push 1
lea ecx, [ebp - 0x61c]
push ecx
push 0x6aec98
call fcn.004311c0
add esp, 0x48
cmp esi, ebx
jne 0x43e0af
cmp dword [0x6821f0], ebx
jle 0x43e0af
lea edx, [ebp - 0xa2c]
push edx
call fcn.004334c0
add esp, 4
cmp byte [ebp - 0xa2c], bl
je 0x43e093
lea eax, [ebp - 0xa2c]
push eax
call fcn.0052a0b0
add esp, 4
test eax, eax
je 0x43e237
call fcn.00435a00
test eax, eax
je 0x43e0af
mov eax, dword [0x6b38dc]
cmp eax, ebx
je 0x43e0af
push 0x438420
call eax
add esp, 4
push ebx
push 0x104
lea ecx, [ebp - 0xb30]
push ecx
push 0x615678
push str.MonitorCacheEnabled
push 0x60c810
mov dword [ebp - 0xb38], ebx
call fcn.004edfd0
lea edx, [ebp - 0xb30]
push edx
call fcn.005e0909
mov esi, eax
add esp, 0x1c
lea eax, [ebp - 0xb38]
push eax
call dword [0x6934e4]
test eax, eax
jl 0x43e164
push ebx
push 1
cmp dword [ebp - 0xb38], ebx
jne 0x43e12e
push str.Note:_IChecker_Disabled_Currently
push 0x6aec98
call fcn.004311c0
add esp, 0x10
cmp esi, 1
jne 0x43e164
push esi
call dword [0x6934e0]
test eax, eax
jl 0x43e164
push ebx
push esi
push str.Note:_IChecker_Has_Been_Enabled
jmp 0x43e157
push str.Note:_IChecker_Enabled_Currently
push 0x6aec98
call fcn.004311c0
add esp, 0x10
cmp esi, ebx
jne 0x43e164
push ebx
call dword [0x6934e0]
test eax, eax
jl 0x43e164
push ebx
push 1
push str.Note:_IChecker_Has_Been_Disabled
push 0x6aec98
call fcn.004311c0
add esp, 0x10
push ebx
push ebx
push 0x4333d0
call fcn.005e07ac
xor eax, eax
add esp, 0xc
lea ecx, [ebp - 0xb54]
push ecx
mov dword [ebp - 0xb54], eax
mov dword [ebp - 0xb50], eax
mov dword [ebp - 0xb4c], eax
mov dword [ebp - 0xb48], eax
mov dword [ebp - 0xb44], eax
mov dword [ebp - 0xb40], eax
mov dword [ebp - 0xb3c], eax
call dword [0x693460]
test eax, eax
jge 0x43e1e4
push ebx
push 1
push str.Unable_To_Get_The_Database_Information_For_eScan
push 0x6aec98
call fcn.004311c0
mov edx, dword [0x6b38d0]
mov eax, dword [ebp - 0xb34]
add esp, 0x10
pop edi
pop esi
mov dword [edx], ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005dfbbe
mov esp, ebp
pop ebp
ret
mov eax, dword [0x6b38d0]
mov ecx, dword [ebp - 0xb54]
mov dword [eax], ecx
mov edx, dword [ebp - 0xb50]
mov eax, dword [ebp - 0xb48]
mov ecx, dword [ebp - 0xb4c]
push edx
mov edx, dword [0x6b38d0]
push eax
push ecx
add edx, 0x440
push str._d__d__d
push edx
call fcn.005dfb23
mov eax, dword [ebp - 0xb34]
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005dfbbe
mov esp, ebp
pop ebp
ret
push ebx
mov dword [ebp - 0xb34], 0x80004005
call fcn.00434cc0
add esp, 4
push 0x6af4b8
call fcn.004eb440
test eax, eax
jne 0x43e26e
call fcn.00435a00
test eax, eax
je 0x43e2ad
mov eax, dword [0x6b37c0]
cmp eax, ebx
je 0x43e2ad
call eax
jmp 0x43e2ad
push 1
call fcn.005309f0
add esp, 4
jmp 0x43e2ad
push ebx
push 1
push str.Error:_Unable_To_Create_Attention_Message_Mutex
jmp 0x43e2a0
push ebx
push 1
push str.Error:_Unable_To_Create_Cancel_Object_Synchronisation_Mutex
jmp 0x43e2a0
push ebx
push 1
push str.Error:_Unable_To_Create_Not_A_Virus_List_And_Exclude_Folder_Synchronisation_Mutex
jmp 0x43e2a0
push ebx
push 1
push str.Error:_Unable_To_Create_Configuration_File_Mutex
push 0x6aec98
call fcn.004311c0
add esp, 0x10
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x6b3d08], ebx
je 0x43e2ff
push 0x6b3d08
call fcn.004e33b0
add esp, 4
test eax, eax
jne 0x43e2f9
call esi
push eax
lea eax, [ebp - 0x61c]
push str.Error:_Unable_To_Destroy_Mutex._Reason:__d
push eax
call fcn.005dfb23
push ebx
push 1
lea ecx, [ebp - 0x61c]
push ecx
push 0x6aec98
call fcn.004311c0
add esp, 0x1c
jmp 0x43e2ff
mov dword [0x6b3d08], ebx
cmp dword [0x6b3d0c], ebx
je 0x43e34b
push 0x6b3d0c
call fcn.004e33b0
add esp, 4
test eax, eax
jne 0x43e345
call esi
push eax
lea edx, [ebp - 0x61c]
push str.Error:_Unable_To_Destroy_Mutex._Reason:__d
push edx
call fcn.005dfb23
push ebx
push 1
lea eax, [ebp - 0x61c]
push eax
push 0x6aec98
call fcn.004311c0
add esp, 0x1c
jmp 0x43e34b
mov dword [0x6b3d0c], ebx
cmp dword [0x6b3d10], ebx
je 0x43e397
push 0x6b3d10
call fcn.004e33b0
add esp, 4
test eax, eax
jne 0x43e391
call esi
push eax
lea ecx, [ebp - 0x61c]
push str.Error:_Unable_To_Destroy_Mutex._Reason:__d
push ecx
call fcn.005dfb23
push ebx
push 1
lea edx, [ebp - 0x61c]
push edx
push 0x6aec98
call fcn.004311c0
add esp, 0x1c
jmp 0x43e397
mov dword [0x6b3d10], ebx
cmp dword [0x6b3d04], ebx
je 0x43e3e3
push 0x6b3d04
call fcn.004e33b0
add esp, 4
test eax, eax
jne 0x43e3dd
call esi
push eax
lea eax, [ebp - 0x61c]
push str.Error:_Unable_To_Destroy_Mutex._Reason:__d
push eax
call fcn.005dfb23
push ebx
push 1
lea ecx, [ebp - 0x61c]
push ecx
push 0x6aec98
call fcn.004311c0
add esp, 0x1c
jmp 0x43e3e3
mov dword [0x6b3d04], ebx
cmp dword [0x6b3cfc], ebx
je 0x43e401
mov eax, dword [0x6b3d14]
cmp eax, ebx
je 0x43e401
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x6b3d14], ebx
mov eax, dword [0x6b38d0]
cmp eax, ebx
je 0x43e411
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push 0x6b3a60
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xb34]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005dfbbe
mov esp, ebp
pop ebp
ret