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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1034
call fcn.00416c70
mov eax, dword [0x42b48c]
push ebx
mov ebx, dword [ebp + 8]
xor eax, ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x1038], eax
mov eax, dword [ebp + 0x18]
push edi
mov dword [esp + 0x10], eax
call esi
mov edx, dword [0x42c4d8]
mov edi, dword [sym.imp.USER32.dll_FindWindowA]
sub eax, edx
cmp eax, 0x2710
ja 0x405fbd
test ebx, ebx
jne 0x406088
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x406294
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x406294
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x406294
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x406294
push str.RAV.INI
push 0
push str.DEBUG
mov edx, 0x424a78
mov ecx, str.LEVEL
call fcn.004053b0
push str.RAV.INI
push 0xffffffffffffffff
push str.DEBUG
mov edx, 0x424a78
mov ecx, 0x424abc
mov dword [0x42c4d4], eax
call fcn.004053b0
push str.RAV.INI
push 3
push str.DEBUG
mov edx, 0x424a78
mov ecx, str.OUTPUT
mov dword [0x42c4d0], eax
call fcn.004053b0
push str.RAV.INI
push 0x200
push str.DEBUG
mov edx, 0x424a78
mov ecx, str.LOGSIZE
mov dword [0x42b1d8], eax
call fcn.00405280
push 0x105
push 0x42c3c8
mov dword [0x42b1d4], eax
call fcn.00405b40
mov al, byte [0x42b1d8]
add esp, 0x38
test al, 4
je 0x406079
mov ecx, dword [0x42c3c4]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x406079
push eax
push str.RS_DEBUG_VIEW
call edi
mov dword [0x42c3c4], eax
call esi
test ebx, ebx
mov dword [0x42c4d8], eax
je 0x406294
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x40609a
mov edx, dword [0x42b1d8]
mov dword [ebp + 0x14], edx
jmp 0x4060bb
test al, 4
je 0x4060bb
mov eax, dword [0x42c3c4]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4060bb
push eax
push str.RS_DEBUG_VIEW
call edi
mov dword [0x42c3c4], eax
xor eax, eax
mov ecx, 0x200
lea edi, [esp + 0x838]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x838]
push 0x800
push ecx
call fcn.00404880
lea edx, [esp + 0x840]
push 0x800
push edx
call fcn.004059a0
add esp, 0x10
mov ecx, 0x800
lea eax, [esp + 0x838]
mov edi, edi
cmp byte [eax], 0
je 0x40610b
inc eax
dec ecx
jne 0x406100
jmp 0x406130
test ecx, ecx
je 0x406130
mov eax, 0x800
sub eax, ecx
push 0x424a98
mov ecx, 0x800
sub ecx, eax
push ecx
lea edx, [esp + eax + 0x840]
push edx
call fcn.004033d0
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [esp + 0x83c]
push 0x800
push ecx
call fcn.00405a90
add esp, 0xc
mov ecx, 0x800
lea eax, [esp + 0x838]
cmp byte [eax], 0
je 0x406160
inc eax
dec ecx
jne 0x406155
jmp 0x406181
test ecx, ecx
je 0x406181
mov eax, 0x800
sub eax, ecx
push ebx
mov edx, 0x800
sub edx, eax
push edx
lea eax, [esp + eax + 0x840]
push eax
call fcn.004033d0
mov ecx, 0x800
lea eax, [esp + 0x838]
lea ecx, [ecx]
cmp byte [eax], 0
je 0x40619b
inc eax
dec ecx
jne 0x406190
jmp 0x4061c0
test ecx, ecx
je 0x4061c0
mov eax, 0x800
sub eax, ecx
push 0x424a94
mov ecx, 0x800
sub ecx, eax
push ecx
lea edx, [esp + eax + 0x840]
push edx
call fcn.004033d0
mov bl, byte [ebp + 0x14]
test bl, 1
je 0x4061ed
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4061d5
mov eax, 0x42c3c8
mov ecx, dword [0x42b1d4]
push ecx
push eax
lea edx, [esp + 0x840]
push edx
call fcn.00405750
add esp, 0xc
test bl, 2
je 0x406200
lea eax, [esp + 0x838]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
test bl, 4
je 0x406294
mov ecx, dword [0x42c3c4]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x406294
xor eax, eax
mov ecx, 0x205
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
mov esi, 0x814
mov dword [esp + 0x20], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [esp + 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
push 0x800
lea eax, [esp + 0x83c]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov dword [esp + 0x38], edx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x14]
push ecx
push 0
mov dword [esp + 0x38], edx
mov edx, dword [0x42c3c4]
push 0x4a
lea eax, [esp + 0x2c]
push edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], 0
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x103c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00415d1a
mov esp, ebp
pop ebp
ret