Function at 0x441440
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x615a14
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x6b1a94]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebx]
mov ecx, 0x67cc2c
mov edx, str.deep
cmp byte [eax + 0x59], 0
cmove edx, ecx
push edx
push str.start_Scan__s
call fcn.0047c620
mov eax, dword [ebx]
add esp, 8
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp byte [eax + 0x59], 0
je 0x4414a0
push str._Debug__Start_Scan_deep._n
jmp 0x4414a5
push str._Debug__Start_Scan._n
call edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov ecx, dword [ebx]
push 0
mov eax, dword [ecx + 0x48]
mov dword [eax + 0x68], 0
mov dword [eax + 0x6c], 0
mov eax, dword [ecx + 0x4c]
mov dword [eax + 0x54], 0
mov eax, dword [ecx + 0x50]
mov dword [eax + 0x54], 0
mov eax, dword [ecx + 0x54]
mov dword [eax + 0x6c], 0
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [ebx]
push str._Debug__Start_ScanDll._n
call edi
push str.Start_ScanDll
call fcn.0047c620
mov eax, dword [esi]
add esp, 4
mov ecx, esi
mov dword [esi + 0x5c], 1
push 1
call dword [eax + 0xc]
mov ecx, dword [esi + 0x54]
push 1
call fcn.0043ccc0
mov eax, dword [esi]
mov ecx, esi
push dword [esi + 0x5c]
call dword [eax + 0x10]
mov esi, dword [ebx]
push str._Debug__Start_ScanAppLog._n
call edi
push str.Start_ScanApp
call fcn.0047c620
mov eax, dword [esi]
add esp, 4
mov ecx, esi
mov dword [esi + 0x5c], 2
push 2
call dword [eax + 0xc]
mov ecx, dword [esi + 0x48]
call fcn.00444a70
mov eax, dword [esi]
mov ecx, esi
push dword [esi + 0x5c]
call dword [eax + 0x10]
mov esi, dword [ebx]
push str._Debug__Start_ScanSysLog._n
call edi
push str.Start_ScanSys
call fcn.0047c620
mov eax, dword [esi]
add esp, 4
mov ecx, esi
mov dword [esi + 0x5c], 3
push 3
call dword [eax + 0xc]
mov ecx, dword [esi + 0x48]
call fcn.00444e30
mov eax, dword [esi]
mov ecx, esi
push dword [esi + 0x5c]
call dword [eax + 0x10]
mov esi, dword [ebx]
push str._Debug__Start_ScanReg._n
call edi
push str.Start_ScanReg
call fcn.0047c620
mov eax, dword [esi]
add esp, 4
mov ecx, esi
mov dword [esi + 0x5c], 4
push 4
call dword [eax + 0xc]
mov ecx, dword [esi + 0x4c]
call fcn.00442ea0
mov eax, dword [esi]
mov ecx, esi
push dword [esi + 0x5c]
call dword [eax + 0x10]
mov esi, dword [ebx]
push str._Debug__Start_ScanGarbage._n
call edi
push str.Start_ScanGarbage
call fcn.0047c620
mov eax, dword [esi]
add esp, 4
mov ecx, esi
mov dword [esi + 0x5c], 5
push 5
call dword [eax + 0xc]
mov ecx, dword [esi + 0x50]
call fcn.0043ee20
mov eax, dword [esi]
mov ecx, esi
push dword [esi + 0x5c]
call dword [eax + 0x10]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebx]
push 6
mov dword [eax + 0x60], 2
mov ecx, dword [ebx]
mov eax, dword [ecx]
call dword [eax + 0x10]
call fcn.00403fe0
mov ecx, eax
test ecx, ecx
jne 0x441634
push 0x80004005
call fcn.00403d40
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 0
mov eax, dword [ebx]
mov edi, dword [eax + 0x4c]
mov dword [ebp - 0x14], edi
lea esi, [edi + 4]
push esi
call fcn.005c69ac
add esp, 4
test eax, eax
je 0x441667
push eax
call fcn.005c618a
add esp, 4
mov eax, dword [ebp - 0x14]
mov edi, dword [edi + 0x4c]
sub edi, dword [eax + 0x48]
sar edi, 2
push esi
mov byte [ebp - 4], 1
call fcn.005c69d1
add esp, 4
test eax, eax
je 0x44168d
push eax
call fcn.005c618a
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [ebx]
mov ebx, dword [eax + 0x54]
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0x48]
lea esi, [ebx + 4]
mov dword [ebp - 0x1c], ecx
push esi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], ebx
call fcn.005c69ac
add esp, 4
test eax, eax
je 0x4416c1
push eax
call fcn.005c618a
add esp, 4
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebx + 0x58]
sub ebx, dword [eax + 0x54]
sar ebx, 2
push esi
mov byte [ebp - 4], 2
call fcn.005c69d1
add esp, 4
test eax, eax
je 0x4416e7
push eax
call fcn.005c618a
add esp, 4
mov ecx, dword [ebp - 0x18]
push edi
mov byte [ebp - 4], 0
call fcn.0043f3a0
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.00445150
mov ecx, dword [ebp - 0x20]
push eax
call fcn.00444d80
push eax
push ebx
lea eax, [ebp - 0x10]
push str.end_Scan._dll:_d__applog:_d__syslog:_d__garbage:_d__reg:_d
push eax
call fcn.00403390
mov esi, dword [ebp - 0x10]
add esp, 0x1c
cmp dword [esi - 4], 1
jle 0x441730
push dword [esi - 0xc]
lea ecx, [ebp - 0x10]
call fcn.00403630
mov esi, dword [ebp - 0x10]
sub esp, 0x18
mov edx, esp
mov dword [edx + 0x14], 7
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 8
jb 0x44174d
mov eax, dword [edx]
jmp 0x44174f
mov eax, edx
xor ecx, ecx
mov word [eax], cx
cmp word [esi], cx
je 0x44176f
mov ecx, esi
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x441760
sub ecx, edi
sar ecx, 1
push ecx
push esi
mov ecx, edx
call fcn.00405710
call fcn.0047c640
add esp, 0x18
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44179f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret