Function at 0x47de50
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 [0x54d072], 0
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
je 0x47de6f
call esi
mov dword [0x553cb4], eax
mov eax, dword [ebp + 8]
call fcn.00488d70
cmp byte [0x54d072], 0
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
je 0x47dee9
call esi
mov dword [0x553cb8], eax
sub eax, dword [0x553cb4]
mov edi, 0x553db4
push eax
push 0x51da74
push 0x51ab9c
call fcn.00458f90
mov eax, dword [0x553db4]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x553db4]
mov ecx, dword [0x553cbc]
mov edx, dword [eax - 0xc]
push ecx
push edx
push 2
push eax
call fcn.004e3b98
mov eax, dword [0x553cbc]
push eax
call fcn.004e11f7
add esp, 0x14
cmp byte [0x54d072], 0
je 0x47dee9
call esi
mov dword [0x553cb4], eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00481860
cmp byte [0x54d072], 0
mov dword [ebp - 4], eax
je 0x47df55
call esi
mov dword [0x553cb8], eax
sub eax, dword [0x553cb4]
mov edi, 0x553db4
push eax
push str._rY6R
push 0x51ab9c
call fcn.00458f90
mov edx, dword [0x553db4]
add esp, 0xc
push edx
call ebx
mov eax, dword [0x553cbc]
push eax
mov eax, dword [0x553db4]
mov ecx, dword [eax - 0xc]
push ecx
push 2
push eax
call fcn.004e3b98
mov edx, dword [0x553cbc]
push edx
call fcn.004e11f7
mov eax, dword [ebp - 4]
add esp, 0x14
cmp eax, 1
jne 0x47e26c
call fcn.00489140
cmp byte [0x54d072], 0
je 0x47df73
call esi
mov dword [0x553cb4], eax
call fcn.00481de0
cmp byte [0x54d072], 0
mov dword [ebp - 4], eax
je 0x47dfda
call esi
mov dword [0x553cb8], eax
sub eax, dword [0x553cb4]
mov edi, 0x553db4
push eax
push 0x51daa4
push 0x51ab9c
call fcn.00458f90
mov eax, dword [0x553db4]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x553db4]
mov ecx, dword [0x553cbc]
mov edx, dword [eax - 0xc]
push ecx
push edx
push 2
push eax
call fcn.004e3b98
mov eax, dword [0x553cbc]
push eax
call fcn.004e11f7
mov eax, dword [ebp - 4]
add esp, 0x14
cmp eax, 1
jne 0x47e26c
mov edi, dword [ebp + 8]
push edi
call fcn.00483c50
cmp eax, 1
jne 0x47e26c
cmp byte [0x54d072], 0
je 0x47e005
call esi
mov dword [0x553cb4], eax
push edi
call fcn.004840a0
cmp byte [0x54d072], 0
mov dword [ebp - 4], eax
je 0x47e06f
call esi
mov dword [0x553cb8], eax
sub eax, dword [0x553cb4]
mov edi, 0x553db4
push eax
push 0x51dab4
push 0x51ab9c
call fcn.00458f90
mov ecx, dword [0x553db4]
add esp, 0xc
push ecx
call ebx
mov eax, dword [0x553db4]
mov edx, dword [0x553cbc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e3b98
mov edx, dword [0x553cbc]
push edx
call fcn.004e11f7
mov eax, dword [ebp - 4]
add esp, 0x14
cmp eax, 1
jne 0x47e26c
cmp byte [0x54d072], 0
je 0x47e088
call esi
mov dword [0x553cb4], eax
mov ecx, dword [ebp + 8]
call fcn.00484bf0
cmp byte [0x54d072], 0
mov dword [ebp - 4], eax
je 0x47e0f2
call esi
mov dword [0x553cb8], eax
sub eax, dword [0x553cb4]
mov edi, 0x553db4
push eax
push 0x51dac4
push 0x51ab9c
call fcn.00458f90
mov eax, dword [0x553db4]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x553db4]
mov ecx, dword [0x553cbc]
mov edx, dword [eax - 0xc]
push ecx
push edx
push 2
push eax
call fcn.004e3b98
mov eax, dword [0x553cbc]
push eax
call fcn.004e11f7
mov eax, dword [ebp - 4]
add esp, 0x14
cmp eax, 1
jne 0x47e26c
cmp byte [0x54d072], 0
je 0x47e10b
call esi
mov dword [0x553cb4], eax
mov ecx, dword [ebp + 8]
call fcn.00485630
cmp byte [0x54d072], 0
mov dword [ebp - 4], eax
je 0x47e177
call esi
mov dword [0x553cb8], eax
sub eax, dword [0x553cb4]
mov edi, 0x553db4
push eax
push 0x51daf0
push 0x51ab9c
call fcn.00458f90
mov ecx, dword [0x553db4]
add esp, 0xc
push ecx
call ebx
mov eax, dword [0x553db4]
mov edx, dword [0x553cbc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e3b98
mov edx, dword [0x553cbc]
push edx
call fcn.004e11f7
mov eax, dword [ebp - 4]
add esp, 0x14
cmp eax, 1
jne 0x47e26c
call esi
mov edi, eax
mov eax, dword [ebp + 8]
push eax
call fcn.00485790
mov dword [ebp - 4], eax
call esi
cmp byte [0x54d072], 0
je 0x47e1e5
sub eax, edi
push eax
push 0x51db00
push 0x51ab9c
mov edi, 0x553db4
call fcn.00458f90
mov ecx, dword [0x553db4]
add esp, 0xc
push ecx
call ebx
mov eax, dword [0x553db4]
mov edx, dword [0x553cbc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e3b98
mov edx, dword [0x553cbc]
push edx
call fcn.004e11f7
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x47e26c
cmp byte [0x54d072], 0
je 0x47e1fd
call esi
mov dword [0x553cb4], eax
mov ecx, dword [ebp + 8]
call fcn.00486500
cmp byte [0x54d072], 0
mov dword [ebp - 4], eax
je 0x47e267
call esi
mov dword [0x553cb8], eax
sub eax, dword [0x553cb4]
mov edi, 0x553db4
push eax
push 0x51db14
push 0x51ab9c
call fcn.00458f90
mov eax, dword [0x553db4]
add esp, 0xc
push eax
call ebx
mov eax, dword [0x553db4]
mov ecx, dword [0x553cbc]
mov edx, dword [eax - 0xc]
push ecx
push edx
push 2
push eax
call fcn.004e3b98
mov eax, dword [0x553cbc]
push eax
call fcn.004e11f7
mov eax, dword [ebp - 4]
add esp, 0x14
cmp eax, 1
jne 0x47e26c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4