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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1824
call fcn.0042a740
push ebx
push esi
push edi
xor eax, eax
mov byte [esp + 0x1030], 0
mov ecx, 0x1ff
lea edi, [esp + 0x1031]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 8]
push 0x43e8dc
push eax
call fcn.00429a2f
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, dword [ebp + 8]
add esp, 8
lea ecx, [esp + 0x1030]
push ecx
call edi
lea edx, [esp + 0x1030]
mov esi, 0x7ff
push edx
sub esi, eax
call edi
cmp esi, 0x7fffffff
lea eax, [esp + eax + 0x1030]
ja 0x41015e
lea ecx, [ebp + 0xc]
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 0x410241
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 0x41023a
mov edx, dword [0x447ec4]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x41023a
push eax
push str.RS_DEBUG_VIEW
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x447ec4], eax
call esi
mov dword [0x447fd8], eax
test byte [0x447fd4], 0x40
mov ebx, dword [0x447134]
je 0x410428
test byte [0x447fd0], 1
je 0x410428
xor eax, eax
mov ecx, 0x200
lea edi, [esp + 0x18]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x18]
push 0x800
push eax
call fcn.00409d90
lea ecx, [esp + 0x20]
push 0x800
push ecx
call fcn.0040f070
add esp, 0x10
mov ecx, 0x800
lea eax, [esp + 0x18]
cmp byte [eax], 0
je 0x4102a3
inc eax
dec ecx
jne 0x410298
jmp 0x4102c5
test ecx, ecx
je 0x4102c5
mov eax, 0x800
sub eax, ecx
push 0x43e8ac
mov edx, 0x800
sub edx, eax
push edx
lea eax, [esp + eax + 0x20]
push eax
call fcn.00401710
push 0x40
lea ecx, [esp + 0x1c]
push 0x800
push ecx
call fcn.0040f140
add esp, 0xc
mov ecx, 0x800
lea eax, [esp + 0x18]
cmp byte [eax], 0
je 0x4102ed
inc eax
dec ecx
jne 0x4102e2
jmp 0x410312
test ecx, ecx
je 0x410312
mov eax, 0x800
sub eax, ecx
lea edx, [esp + 0x1030]
push edx
mov ecx, 0x800
sub ecx, eax
push ecx
lea edx, [esp + eax + 0x20]
push edx
call fcn.00401710
mov ecx, 0x800
lea eax, [esp + 0x18]
jmp 0x410320
cmp byte [eax], 0
je 0x41032b
inc eax
dec ecx
jne 0x410320
jmp 0x41034d
test ecx, ecx
je 0x41034d
mov eax, 0x800
sub eax, ecx
push 0x43e8a8
mov ecx, 0x800
sub ecx, eax
push ecx
lea edx, [esp + eax + 0x20]
push edx
call fcn.00401710
test bl, 1
je 0x41036a
mov eax, dword [0x447130]
push eax
lea ecx, [esp + 0x1c]
push 0x447ec8
push ecx
call fcn.0040ee50
add esp, 0xc
test bl, 2
je 0x41037a
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
test bl, 4
je 0x410428
mov eax, dword [0x447ec4]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x410428
xor eax, eax
mov ecx, 0x205
lea edi, [esp + 0x818]
rep stosd dword es:[edi], eax
mov esi, 0x814
mov dword [esp + 0x818], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [esp + 0x81c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x800
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x834]
push edx
mov dword [esp + 0x82c], eax
mov dword [esp + 0x830], 0x40
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov edx, dword [0x447ec4]
lea ecx, [esp + 0xc]
push ecx
push 0
push 0x4a
lea eax, [esp + 0x824]
push edx
mov dword [esp + 0x838], 1
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], 0
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret