Function at 0x42f440
Capabilities:
Check for time delay via gettickcount
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
cmp byte [0x4f683a], 0
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
je 0x42f45f
call esi
mov dword [0x4fb388], eax
mov eax, dword [ebp + 8]
call fcn.0043d070
cmp byte [0x4f683a], 0
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
je 0x42f4dd
call esi
mov dword [0x4fb38c], eax
sub eax, dword [0x4fb388]
mov edi, 0x4fb418
push eax
push 0x4cf6f4
push 0x4cbaf4
call fcn.00401f80
mov eax, dword [0x4fb418]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x4fb390]
test eax, eax
je 0x42f4cd
push eax
mov eax, dword [0x4fb418]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.0049c567
mov edx, dword [0x4fb390]
push edx
call fcn.0049cdd7
add esp, 0x14
cmp byte [0x4f683a], 0
je 0x42f4dd
call esi
mov dword [0x4fb388], eax
mov ecx, dword [ebp + 8]
call fcn.00434020
cmp byte [0x4f683a], 0
mov dword [ebp - 4], eax
je 0x42f548
call esi
mov dword [0x4fb38c], eax
sub eax, dword [0x4fb388]
mov edi, 0x4fb418
push eax
push str._rY6R
push 0x4cbaf4
call fcn.00401f80
mov eax, dword [0x4fb418]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x4fb390]
test eax, eax
je 0x42f548
push eax
mov eax, dword [0x4fb418]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.0049c567
mov edx, dword [0x4fb390]
push edx
call fcn.0049cdd7
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x42f87b
call fcn.0043da60
mov ecx, dword [ebp + 8]
call fcn.0043e0b0
cmp byte [0x4f683a], 0
je 0x42f571
call esi
mov dword [0x4fb388], eax
call fcn.004349e0
cmp byte [0x4f683a], 0
mov dword [ebp - 4], eax
je 0x42f5d9
call esi
mov dword [0x4fb38c], eax
sub eax, dword [0x4fb388]
mov edi, 0x4fb418
push eax
push 0x4cf724
push 0x4cbaf4
call fcn.00401f80
mov eax, dword [0x4fb418]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x4fb390]
test eax, eax
je 0x42f5d9
push eax
mov eax, dword [0x4fb418]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.0049c567
mov edx, dword [0x4fb390]
push edx
call fcn.0049cdd7
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x42f87b
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.00436860
cmp byte [0x4f683a], 0
je 0x42f5ff
call esi
mov dword [0x4fb388], eax
mov ecx, edi
call fcn.00436930
cmp byte [0x4f683a], 0
mov dword [ebp - 4], eax
je 0x42f669
call esi
mov dword [0x4fb38c], eax
sub eax, dword [0x4fb388]
mov edi, 0x4fb418
push eax
push 0x4cf734
push 0x4cbaf4
call fcn.00401f80
mov eax, dword [0x4fb418]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x4fb390]
test eax, eax
je 0x42f669
push eax
mov eax, dword [0x4fb418]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.0049c567
mov edx, dword [0x4fb390]
push edx
call fcn.0049cdd7
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x42f87b
cmp byte [0x4f683a], 0
je 0x42f685
call esi
mov dword [0x4fb388], eax
mov eax, dword [ebp + 8]
push eax
call fcn.00437b80
cmp byte [0x4f683a], 0
mov dword [ebp - 4], eax
je 0x42f6f1
call esi
mov dword [0x4fb38c], eax
sub eax, dword [0x4fb388]
mov edi, 0x4fb418
push eax
push 0x4cf744
push 0x4cbaf4
call fcn.00401f80
mov ecx, dword [0x4fb418]
add esp, 0xc
push ecx
call ebx
mov eax, dword [0x4fb390]
test eax, eax
je 0x42f6f1
push eax
mov eax, dword [0x4fb418]
mov edx, dword [eax - 0xc]
push edx
push 2
push eax
call fcn.0049c567
mov eax, dword [0x4fb390]
push eax
call fcn.0049cdd7
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x42f87b
cmp byte [0x4f683a], 0
je 0x42f70d
call esi
mov dword [0x4fb388], eax
mov ecx, dword [ebp + 8]
call fcn.00437c90
cmp byte [0x4f683a], 0
mov dword [ebp - 4], eax
je 0x42f778
call esi
mov dword [0x4fb38c], eax
sub eax, dword [0x4fb388]
mov edi, 0x4fb418
push eax
push 0x4cf770
push 0x4cbaf4
call fcn.00401f80
mov ecx, dword [0x4fb418]
add esp, 0xc
push ecx
call ebx
mov eax, dword [0x4fb390]
test eax, eax
je 0x42f778
push eax
mov eax, dword [0x4fb418]
mov edx, dword [eax - 0xc]
push edx
push 2
push eax
call fcn.0049c567
mov eax, dword [0x4fb390]
push eax
call fcn.0049cdd7
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x42f87b
call esi
mov ecx, dword [ebp + 8]
push ecx
mov edi, eax
call fcn.00437e30
mov dword [ebp - 4], eax
call esi
cmp byte [0x4f683a], 0
je 0x42f7ec
sub eax, edi
push eax
push 0x4cf780
push 0x4cbaf4
mov edi, 0x4fb418
call fcn.00401f80
mov edx, dword [0x4fb418]
add esp, 0xc
push edx
call ebx
mov eax, dword [0x4fb390]
test eax, eax
je 0x42f7ec
push eax
mov eax, dword [0x4fb418]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.0049c567
mov edx, dword [0x4fb390]
push edx
call fcn.0049cdd7
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x42f87b
cmp byte [0x4f683a], 0
je 0x42f808
call esi
mov dword [0x4fb388], eax
mov ecx, dword [ebp + 8]
call fcn.00439280
cmp byte [0x4f683a], 0
mov dword [ebp - 4], eax
je 0x42f873
call esi
mov dword [0x4fb38c], eax
sub eax, dword [0x4fb388]
mov edi, 0x4fb418
push eax
push 0x4cf794
push 0x4cbaf4
call fcn.00401f80
mov eax, dword [0x4fb418]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x4fb390]
test eax, eax
je 0x42f873
push eax
mov eax, dword [0x4fb418]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.0049c567
mov edx, dword [0x4fb390]
push edx
call fcn.0049cdd7
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x42f87b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4