Function at 0x412470
Capabilities:
Check for time delay via gettickcount
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x182c
call fcn.0042a740
push ebx
push esi
push edi
xor eax, eax
mov byte [esp + 0x1038], 0
mov ecx, 0x1ff
lea edi, [esp + 0x1039]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 0xc]
push 0x43e8dc
push eax
call fcn.00429a2f
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, dword [ebp + 0xc]
add esp, 8
lea ecx, [esp + 0x1038]
push ecx
call edi
lea edx, [esp + 0x1038]
mov esi, 0x7ff
push edx
sub esi, eax
call edi
cmp esi, 0x7fffffff
lea eax, [esp + eax + 0x1038]
ja 0x4124ee
lea ecx, [ebp + 0x10]
push ecx
push ebx
push esi
push eax
call fcn.00401760
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x447fd8]
cmp eax, 0x2710
jbe 0x4125d1
push 0x43d888
push str.RAV.INI
push 0
push str.LEVEL
push str.DEBUG
call fcn.0040c290
push 0x43d888
push str.RAV.INI
push 0xffffffffffffffff
push 0x43e8d0
push str.DEBUG
mov dword [0x447fd4], eax
call fcn.0040c290
push 0x43d888
push str.RAV.INI
push 3
push str.OUTPUT
push str.DEBUG
mov dword [0x447fd0], eax
call fcn.0040c290
push 0x43d888
push str.RAV.INI
push 0x200
push str.LOGSIZE
push str.DEBUG
mov dword [0x447134], eax
call fcn.0040c1a0
add esp, 0x50
push 0x105
push 0x447ec8
mov dword [0x447130], eax
call fcn.0040f1f0
mov al, byte [0x447134]
add esp, 8
test al, 4
je 0x4125ca
mov edx, dword [0x447ec4]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4125ca
push eax
push str.RS_DEBUG_VIEW
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x447ec4], eax
call esi
mov dword [0x447fd8], eax
mov eax, dword [0x447134]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x10], eax
test dword [0x447fd4], ebx
je 0x4127ca
test byte [0x447fd0], 1
je 0x4127ca
xor eax, eax
mov ecx, 0x200
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x20]
push 0x800
push ecx
call fcn.00409d90
lea edx, [esp + 0x28]
push 0x800
push edx
call fcn.0040f070
add esp, 0x10
mov ecx, 0x800
lea eax, [esp + 0x20]
lea ecx, [ecx]
cmp byte [eax], 0
je 0x41263b
inc eax
dec ecx
jne 0x412630
jmp 0x41265d
test ecx, ecx
je 0x41265d
mov eax, 0x800
sub eax, ecx
push 0x43e8ac
mov ecx, 0x800
sub ecx, eax
push ecx
lea edx, [esp + eax + 0x28]
push edx
call fcn.00401710
push ebx
lea eax, [esp + 0x24]
push 0x800
push eax
call fcn.0040f140
add esp, 0xc
mov ecx, 0x800
lea eax, [esp + 0x20]
lea esp, [esp]
cmp byte [eax], 0
je 0x41268b
inc eax
dec ecx
jne 0x412680
jmp 0x4126b0
test ecx, ecx
je 0x4126b0
mov eax, 0x800
sub eax, ecx
lea ecx, [esp + 0x1038]
push ecx
mov edx, 0x800
sub edx, eax
push edx
lea eax, [esp + eax + 0x28]
push eax
call fcn.00401710
mov ecx, 0x800
lea eax, [esp + 0x20]
lea esp, [esp]
cmp byte [eax], 0
je 0x4126cb
inc eax
dec ecx
jne 0x4126c0
jmp 0x4126ed
test ecx, ecx
je 0x4126ed
mov eax, 0x800
sub eax, ecx
push 0x43e8a8
mov ecx, 0x800
sub ecx, eax
push ecx
lea edx, [esp + eax + 0x28]
push edx
call fcn.00401710
test byte [esp + 0x10], 1
je 0x41270c
mov eax, dword [0x447130]
push eax
lea ecx, [esp + 0x24]
push 0x447ec8
push ecx
call fcn.0040ee50
add esp, 0xc
test byte [esp + 0x10], 2
je 0x41271e
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
test byte [esp + 0x10], 4
je 0x4127ca
mov eax, dword [0x447ec4]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4127ca
xor eax, eax
mov ecx, 0x205
lea edi, [esp + 0x820]
rep stosd dword es:[edi], eax
mov esi, 0x814
mov dword [esp + 0x820], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [esp + 0x824], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x800
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x83c]
push edx
mov dword [esp + 0x834], eax
mov dword [esp + 0x838], ebx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov edx, dword [0x447ec4]
lea ecx, [esp + 0x14]
push ecx
push 0
push 0x4a
lea eax, [esp + 0x82c]
push edx
mov dword [esp + 0x840], 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], 0
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret