Function at 0x5f20b0
Capabilities:
Check for time delay via queryperformancecounter
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x64d84b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1028
call fcn.0061e3b0
cmp dword [0x7a1af8], 0
push esi
push edi
jne 0x5f213c
push 0xfa0
push 0x7a1e18
mov dword [0x7a1af8], 1
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
lea eax, [esp + 0x10]
push eax
call fcn.0061cb9d
push 0x6e8dd4
push str.r3dlog.txt
call fcn.0061d2a7
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5f213c
lea eax, [esp + 0x10]
push eax
call fcn.00623524
push eax
push str.____Log_started_at__s_n
push esi
call fcn.0061c4b5
push esi
call fcn.0061c773
add esp, 0x14
push 0x7a1e18
mov dword [esp + 0x10], 0x7a1e18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x723bcc]
imul esi, dword [0x7a1bb8]
mov dword [esp + 0x103c], 0
cmp esi, 0x1f4
jl 0x5f219f
push 0x199
push str.Source_r3d.cpp
push str.ioff___500
push str.____r3d_assert__s_at__s_line__d_n
call fcn.005f20b0
push 0x199
push str.Source_r3d.cpp
push str.ioff___500
call fcn.00623591
add esp, 0x1c
test esi, esi
jle 0x5f21bc
mov ecx, esi
lea edi, [esp + 0x30]
mov edx, ecx
mov eax, 0x20202020
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea edi, [esp + 0x30]
mov eax, 0x1000
add edi, esi
sub eax, esi
je 0x5f21f6
cmp eax, 0x7fffffff
ja 0x5f21f6
lea esi, [eax - 1]
lea eax, [ebp + 0xc]
push eax
push dword [ebp + 8]
push esi
push edi
call fcn.0061dbb5
add esp, 0x10
test eax, eax
js 0x5f21f0
cmp eax, esi
ja 0x5f21f0
jne 0x5f21fd
mov byte [esi + edi], 0
jmp 0x5f21fd
test eax, eax
je 0x5f21fd
mov byte [edi], 0
cmp dword [0x7a1b04], 0
jne 0x5f2229
push 0x6cfa7c
push str.r3dlog.txt
mov dword [0x7a1b04], 1
call fcn.0061d2a7
add esp, 8
mov dword [0x7a1b14], eax
jmp 0x5f222e
mov eax, dword [0x7a1b14]
test eax, eax
je 0x5f234f
cmp dword [0x7a1ab4], 0
mov edi, dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov esi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
jne 0x5f2278
lea eax, [esp + 0x20]
mov dword [0x7a1ab4], 1
push eax
call edi
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
call fcn.0062419f
push 0x7a1e10
movsd qword [0x7a1e08], xmm0
call esi
lea eax, [esp + 0x18]
push eax
call esi
mov ecx, dword [esp + 0x18]
sub ecx, dword [0x7a1e10]
mov edx, dword [esp + 0x1c]
sbb edx, dword [0x7a1e14]
call fcn.0062419f
cmp dword [0x7a1ab4], 0
divsd xmm0, qword [0x7a1e08]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0xc], xmm0
jne 0x5f22e0
lea eax, [esp + 0x28]
mov dword [0x7a1ab4], 1
push eax
call edi
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
call fcn.0062419f
push 0x7a1e10
movsd qword [0x7a1e08], xmm0
call esi
lea eax, [esp + 0x10]
push eax
call esi
movss xmm0, dword [esp + 0xc]
lea eax, [esp + 0x30]
mulss xmm0, dword [0x6eee8c]
mov ecx, 0x3e8
push eax
cvttss2si eax, xmm0
cdq
idiv ecx
mov ecx, dword [esp + 0x14]
sub ecx, dword [0x7a1e10]
push edx
mov edx, dword [esp + 0x1c]
sbb edx, dword [0x7a1e14]
call fcn.0062419f
divsd xmm0, qword [0x7a1e08]
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
push eax
push str._06d._03d__s
push dword [0x7a1b14]
call fcn.0061c4b5
push dword [0x7a1b14]
call fcn.006233a5
add esp, 0x18
cmp dword [0x723b84], 0
je 0x5f2363
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [0x7a1af0], 0
je 0x5f2379
lea eax, [esp + 0x30]
push eax
call fcn.0062314e
add esp, 4
push 0x7a1e18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x1034]
mov al, 1
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret