Function at 0x47f4d0
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 [0x554092], 0
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
je 0x47f4ef
call esi
mov dword [0x55ad74], eax
mov eax, dword [ebp + 8]
call fcn.0048b830
cmp byte [0x554092], 0
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
je 0x47f56d
call esi
mov dword [0x55ad78], eax
sub eax, dword [0x55ad74]
mov edi, 0x55ae78
push eax
push 0x523544
push 0x5200e4
call fcn.00459850
mov eax, dword [0x55ae78]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x55ad7c]
test eax, eax
je 0x47f55d
push eax
mov eax, dword [0x55ae78]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.004e89c0
mov edx, dword [0x55ad7c]
push edx
call fcn.004e5f17
add esp, 0x14
cmp byte [0x554092], 0
je 0x47f56d
call esi
mov dword [0x55ad74], eax
mov ecx, dword [ebp + 8]
call fcn.00483620
cmp byte [0x554092], 0
mov dword [ebp - 4], eax
je 0x47f5d8
call esi
mov dword [0x55ad78], eax
sub eax, dword [0x55ad74]
mov edi, 0x55ae78
push eax
push str._rY6R
push 0x5200e4
call fcn.00459850
mov eax, dword [0x55ae78]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x55ad7c]
test eax, eax
je 0x47f5d8
push eax
mov eax, dword [0x55ae78]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.004e89c0
mov edx, dword [0x55ad7c]
push edx
call fcn.004e5f17
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x47f90b
call fcn.0048c460
mov ecx, dword [ebp + 8]
call fcn.0048caa0
cmp byte [0x554092], 0
je 0x47f601
call esi
mov dword [0x55ad74], eax
call fcn.00483fe0
cmp byte [0x554092], 0
mov dword [ebp - 4], eax
je 0x47f669
call esi
mov dword [0x55ad78], eax
sub eax, dword [0x55ad74]
mov edi, 0x55ae78
push eax
push 0x523574
push 0x5200e4
call fcn.00459850
mov eax, dword [0x55ae78]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x55ad7c]
test eax, eax
je 0x47f669
push eax
mov eax, dword [0x55ae78]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.004e89c0
mov edx, dword [0x55ad7c]
push edx
call fcn.004e5f17
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x47f90b
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.00485e60
cmp byte [0x554092], 0
je 0x47f68f
call esi
mov dword [0x55ad74], eax
mov ecx, edi
call fcn.004862d0
cmp byte [0x554092], 0
mov dword [ebp - 4], eax
je 0x47f6f9
call esi
mov dword [0x55ad78], eax
sub eax, dword [0x55ad74]
mov edi, 0x55ae78
push eax
push 0x523584
push 0x5200e4
call fcn.00459850
mov eax, dword [0x55ae78]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x55ad7c]
test eax, eax
je 0x47f6f9
push eax
mov eax, dword [0x55ae78]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.004e89c0
mov edx, dword [0x55ad7c]
push edx
call fcn.004e5f17
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x47f90b
cmp byte [0x554092], 0
je 0x47f715
call esi
mov dword [0x55ad74], eax
mov eax, dword [ebp + 8]
push eax
call fcn.00487240
cmp byte [0x554092], 0
mov dword [ebp - 4], eax
je 0x47f781
call esi
mov dword [0x55ad78], eax
sub eax, dword [0x55ad74]
mov edi, 0x55ae78
push eax
push 0x523594
push 0x5200e4
call fcn.00459850
mov ecx, dword [0x55ae78]
add esp, 0xc
push ecx
call ebx
mov eax, dword [0x55ad7c]
test eax, eax
je 0x47f781
push eax
mov eax, dword [0x55ae78]
mov edx, dword [eax - 0xc]
push edx
push 2
push eax
call fcn.004e89c0
mov eax, dword [0x55ad7c]
push eax
call fcn.004e5f17
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x47f90b
cmp byte [0x554092], 0
je 0x47f79d
call esi
mov dword [0x55ad74], eax
mov ecx, dword [ebp + 8]
call fcn.004872f0
cmp byte [0x554092], 0
mov dword [ebp - 4], eax
je 0x47f808
call esi
mov dword [0x55ad78], eax
sub eax, dword [0x55ad74]
mov edi, 0x55ae78
push eax
push 0x5235c0
push 0x5200e4
call fcn.00459850
mov ecx, dword [0x55ae78]
add esp, 0xc
push ecx
call ebx
mov eax, dword [0x55ad7c]
test eax, eax
je 0x47f808
push eax
mov eax, dword [0x55ae78]
mov edx, dword [eax - 0xc]
push edx
push 2
push eax
call fcn.004e89c0
mov eax, dword [0x55ad7c]
push eax
call fcn.004e5f17
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x47f90b
call esi
mov ecx, dword [ebp + 8]
push ecx
mov edi, eax
call fcn.00487490
mov dword [ebp - 4], eax
call esi
cmp byte [0x554092], 0
je 0x47f87c
sub eax, edi
push eax
push 0x5235d0
push 0x5200e4
mov edi, 0x55ae78
call fcn.00459850
mov edx, dword [0x55ae78]
add esp, 0xc
push edx
call ebx
mov eax, dword [0x55ad7c]
test eax, eax
je 0x47f87c
push eax
mov eax, dword [0x55ae78]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.004e89c0
mov edx, dword [0x55ad7c]
push edx
call fcn.004e5f17
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x47f90b
cmp byte [0x554092], 0
je 0x47f898
call esi
mov dword [0x55ad74], eax
mov ecx, dword [ebp + 8]
call fcn.00488880
cmp byte [0x554092], 0
mov dword [ebp - 4], eax
je 0x47f903
call esi
mov dword [0x55ad78], eax
sub eax, dword [0x55ad74]
mov edi, 0x55ae78
push eax
push 0x5235e4
push 0x5200e4
call fcn.00459850
mov eax, dword [0x55ae78]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x55ad7c]
test eax, eax
je 0x47f903
push eax
mov eax, dword [0x55ae78]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.004e89c0
mov edx, dword [0x55ad7c]
push edx
call fcn.004e5f17
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x47f90b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4