Function at 0x4f76e0
Capabilities:
Check os version
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7456a6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x184
mov ecx, dword [0x84ad0c]
mov al, 1
push esi
push edi
add ecx, 0x164ea8
xchg byte [ecx], al
mov ecx, dword [0x84ad0c]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 4], 0
mov eax, dword [ecx + 0x88]
mov dword [ebp - 0xec], eax
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0xe4], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0xe8], eax
rdtsc
mov dword [ecx + 0x2a8], eax
xor eax, eax
mov dword [ecx + 0x88], 0
mov dword [ecx + 0x30], 0
mov dword [ecx + 0x34], 0
mov dword [ecx + 0x2ac], edx
mov dword [ebp - 0x44], eax
cmp dword [0x84ac20], eax
jbe 0x4f77a5
nop dword [eax]
nop dword [eax + eax]
push dword [eax*4 + 0x84ac18]
mov eax, dword [eax*4 + 0x84ac1c]
dec eax
push eax
push edi
call esi
mov eax, dword [ebp - 0x44]
add esp, 0xc
inc eax
mov dword [ebp - 0x44], eax
cmp eax, dword [0x84ac20]
jb 0x4f7780
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x44], eax
or eax, edx
mov dword [ebp + 0x1c], edx
jne 0x4f77bd
rdtsc
mov dword [ebp - 0x44], eax
mov dword [ebp + 0x1c], edx
call fcn.004ff8f0
mov ecx, eax
call fcn.007031c0
movss xmm1, dword [0x76afb4]
cvtsd2ss xmm0, xmm0
mov eax, dword [0x84ad0c]
movss dword [ebp - 0x48], xmm1
divss xmm1, xmm0
mov eax, dword [eax + 0x164ea0]
movss dword [ebp - 0x60], xmm1
test eax, eax
jne 0x4f77fb
mov eax, 0x3b9aca00
xor edx, edx
jmp 0x4f77fd
call eax
mov ecx, eax
call fcn.007031c0
movss xmm1, dword [ebp - 0x48]
mov edx, dword [0x84ad0c]
cvtsd2ss xmm0, xmm0
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp + 0x1c]
sub eax, dword [edx + 0x20]
sbb ecx, dword [edx + 0x24]
divss xmm1, xmm0
mov edx, ecx
mov ecx, eax
movss dword [ebp - 0x64], xmm1
call fcn.00703160
mov eax, dword [ebp + 0x14]
mov ecx, 0x75cfea
cvtsd2ss xmm0, xmm0
test eax, eax
cmovne ecx, eax
push ecx
push str.var_DumpHost___s__n
mulss xmm0, dword [ebp - 0x60]
push edi
push esi
movss dword [ebp + 0x1c], xmm0
call fcn.00510f80
lea eax, [ebp - 0xf4]
push eax
call fcn.00715d34
push dword [ebp - 0xf0]
push dword [ebp - 0xf4]
push str.var_DumpUtcCaptureTime___ld__n
push edi
push esi
call fcn.00510f80
movss xmm0, dword [ebp + 0x1c]
add esp, 0x20
mov eax, dword [0x84ad0c]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [eax + 0x18]
push str.var_AggregateInfo__Frames:_d__Time:_f__n
push edi
push esi
call fcn.00510f80
mov eax, dword [0x84ad0c]
add esp, 0x18
mov ecx, dword [eax + 0x164eb0]
test ecx, ecx
je 0x4f78c3
push dword [eax + 0x164eb4]
call ecx
mov eax, dword [0x84ad0c]
add esp, 4
mov eax, dword [eax + 0x164eac]
mov ecx, 0x75cfea
test eax, eax
cmovne ecx, eax
push ecx
push str.var_PlatformInfo___s__n
push edi
push esi
call fcn.00510f80
mov eax, dword [0x84ad0c]
push dword [eax + 8]
push str.var_CategoryInfo__Array__d___n
push edi
push esi
call fcn.00510f80
mov eax, dword [0x84ad0c]
xor ecx, ecx
add esp, 0x20
mov dword [ebp + 0x14], ecx
cmp dword [eax + 8], ecx
jbe 0x4f7943
xor edx, edx
mov dword [ebp + 0x1c], edx
nop dword [eax + eax]
add edx, 0x2b8
add eax, edx
push eax
push ecx
push str.CategoryInfo__d_____s___n
push edi
push esi
call fcn.00510f80
mov ecx, dword [ebp + 0x14]
add esp, 0x14
mov eax, dword [0x84ad0c]
inc ecx
mov edx, dword [ebp + 0x1c]
add edx, 0x48
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x1c], edx
cmp ecx, dword [eax + 8]
jb 0x4f7910
push dword [eax + 4]
push str.var_GroupInfo__Array__d___n_n
push edi
push esi
call fcn.00510f80
mov ecx, dword [0x84ad0c]
add esp, 0x10
mov edx, 1
mov dword [ebp - 0x2c], 0
mov eax, dword [ecx + 0x18]
test eax, eax
cmovne edx, eax
cmp dword [ecx + 4], 0
jbe 0x4f7ac3
movd xmm0, edx
xor eax, eax
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
xor esi, esi
mov dword [ebp + 0x1c], eax
mov dword [ebp - 0x20], esi
addsd xmm0, qword [edx*8 + 0x75f520]
mov edx, 0x380f8
mov dword [ebp + 0x14], edx
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x7c], xmm0
jmp 0x4f79b3
mov esi, dword [ebp - 0x20]
mov eax, dword [eax + ecx + 0x790]
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x4f79c8
movss xmm0, dword [ebp - 0x60]
jmp 0x4f79cd
movss xmm0, dword [ebp - 0x64]
mov eax, dword [ebp + 0x14]
mov esi, dword [esi + ecx + 0x18cc]
mov edx, dword [edx + ecx + 4]
movss dword [ebp - 0x28], xmm0
mov ecx, dword [eax + ecx]
call fcn.00703160
mov eax, dword [ebp + 0x1c]
and esi, 0xffffff
mov edi, dword [0x84ad0c]
cvtsd2ss xmm0, xmm0
push esi
mov esi, dword [0x84ad0c]
mov edi, dword [eax + edi + 0x77c]
mov eax, dword [ebp + 0x14]
mulss xmm0, dword [ebp - 0x28]
mov edx, dword [eax + esi + 0x184]
mov ecx, dword [eax + esi + 0x180]
movss dword [ebp - 0x68], xmm0
call fcn.00703160
movss xmm1, dword [ebp - 0x68]
sub esp, 0x18
cvtsd2ss xmm0, xmm0
xor eax, eax
cmp dword [ebp - 0x34], 1
sete al
mulss xmm0, dword [ebp - 0x28]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movaps xmm0, xmm1
divss xmm0, dword [ebp - 0x7c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push eax
mov eax, dword [ebp + 0x1c]
push dword [eax + esi + 0x780]
push dword [eax + esi + 0x78c]
add esi, 0x738
add eax, esi
mov esi, dword [ebp + 8]
push eax
push edi
push edi
mov edi, dword [ebp + 0xc]
push str.GroupInfo__d___MakeGroup__d____s____d___d___d___f___f___f___06x___n
push edi
push esi
call fcn.00510f80
mov ecx, dword [0x84ad0c]
add esp, 0x40
inc dword [ebp - 0x2c]
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x1c]
add edx, 8
add dword [ebp - 0x20], 0x60
add eax, 0x5c
mov edi, dword [ebp - 0x2c]
mov dword [ebp + 0x14], edx
mov dword [ebp + 0x1c], eax
cmp edi, dword [ecx + 4]
jb 0x4f79b0
mov eax, dword [ecx]
mov dword [ebp - 0x5c], eax
lea eax, [eax + eax*8]
shl eax, 3
call fcn.00703800
mov edx, dword [ebp - 0x5c]
mov ecx, esp
lea eax, [ecx + edx*8]
mov dword [ebp - 0x80], eax
mov eax, edx
shl eax, 4
add eax, ecx
mov dword [ebp - 0x90], eax
lea eax, [edx + edx*2]
lea eax, [ecx + eax*8]
shl edx, 5
mov dword [ebp - 0x88], eax
add edx, ecx
mov eax, dword [ebp - 0x5c]
mov dword [ebp + 0x1c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x5c]
lea edi, [eax + eax*2]
shl eax, 3
sub eax, dword [ebp - 0x5c]
shl edi, 4
add edi, ecx
mov dword [ebp - 0x84], edi
lea eax, [ecx + eax*8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x5c]
mov edi, eax
push eax
shl edi, 6
add edi, ecx
push edi
push dword [ebp - 0x44]
mov dword [ebp - 0x68], edi
push dword [ebp - 0x84]
push dword [ebp - 0x7c]
push edx
push dword [ebp - 0x88]
push dword [ebp - 0x90]
push dword [ebp - 0x80]
push ecx
call fcn.004f64f0
mov eax, dword [0x84ad0c]
mov edi, dword [ebp + 0xc]
push dword [eax]
push str._nvar_TimerInfo__Array__d___n_n
push edi
push esi
call fcn.00510f80
mov edx, dword [0x84ad0c]
add esp, 0x38
mov dword [ebp - 0x20], 0
cmp dword [edx], 0
jbe 0x4f7e31
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov edi, dword [ebp - 0x68]
sub edi, eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x44]
sub edi, eax
mov dword [ebp + 0x14], eax
mov dword [ebp - 0x30], edi
mov edi, dword [ebp - 0x84]
sub edi, eax
mov dword [ebp - 0x28], 0x2bc80
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x88]
sub edi, eax
mov dword [ebp - 0x74], edi
mov edi, dword [ebp - 0x90]
sub edi, eax
mov dword [ebp - 0x70], edi
mov edi, dword [ebp - 0x80]
sub edi, eax
mov dword [ebp - 0x6c], edi
mov edi, 0x383f8
sub edi, eax
mov dword [ebp - 0x78], edi
mov edi, 0x3e3f8
sub edi, eax
mov dword [ebp - 0x18], edi
mov edi, 0x403f8
sub edi, eax
mov dword [ebp - 0x24], edi
mov ecx, dword [ecx + edx + 0x18cc]
sub esp, 8
mov edi, dword [ebp - 0x2c]
mov edx, dword [edi + edx + 0x1880]
mov edi, dword [ebp - 0x34]
movss xmm0, dword [edi + eax]
mov edi, dword [0x84ad0c]
mov eax, dword [ebp - 0x28]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [eax + edi]
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp - 0x30]
sub esp, 0x30
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
movss xmm0, dword [edi + eax]
mov edi, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
movss xmm0, dword [edi + eax]
mov edi, dword [ebp - 0x74]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [edi + eax]
mov edi, dword [ebp - 0x70]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [edi + eax]
mov edi, dword [ebp - 0x6c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + eax]
mov eax, ecx
mov edi, dword [ebp + 0xc]
and ecx, 0xffffff
cvtps2pd xmm0, xmm0
shr eax, 1
and eax, 0x7f7f7f
movsd qword [esp], xmm0
push eax
mov eax, dword [0x84ad0c]
push ecx
mov ecx, dword [ebp - 0x2c]
push dword [ecx + eax + 0x1884]
add ecx, 0x1888
add eax, ecx
push eax
push edx
push edx
push str.TimerInfo__d___MakeTimer__d____s____d___06x__06x___f___f___f___f___f___f___d___f__n
push edi
push esi
call fcn.00510f80
push 0x78fb7c
push edi
push esi
call fcn.00510ec0
mov ecx, dword [ebp + 0x14]
xor eax, eax
mov edx, dword [0x84ad0c]
add esp, 0x6c
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
cmp dword [eax + edx + 0x42420], 0
je 0x4f7d0e
push 0
push dword [ecx + edx + 4]
push dword [ecx + edx]
push edi
push esi
call fcn.00510ef0
mov edx, dword [0x84ad0c]
add esp, 0x14
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
add eax, 0xa030
add ecx, 0xa030
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x50180
jl 0x4f7ce5
push 0x78fb80
push edi
push esi
call fcn.00510ec0
mov ecx, dword [ebp + 0x14]
xor eax, eax
mov edx, dword [0x84ad0c]
add esp, 0xc
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
nop dword [eax]
cmp dword [eax + edx + 0x42420], 0
je 0x4f7d79
push 0
push dword [ecx + edx + 4]
push dword [ecx + edx]
push edi
push esi
call fcn.00510ef0
mov edx, dword [0x84ad0c]
add esp, 0x14
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
add eax, 0xa030
add ecx, 0xa030
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x50180
jl 0x4f7d50
push 0x78fb80
push edi
push esi
call fcn.00510ec0
mov ecx, dword [ebp + 0x14]
xor eax, eax
mov edx, dword [0x84ad0c]
add esp, 0xc
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
cmp dword [eax + edx + 0x42420], 0
je 0x4f7ddd
push 0
push dword [ecx + edx + 4]
push dword [ecx + edx]
push edi
push esi
call fcn.00510ef0
mov edx, dword [0x84ad0c]
add esp, 0x14
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
add eax, 0xa030
add ecx, 0xa030
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x50180
jl 0x4f7db4
push 0x78fb84
push edi
push esi
call fcn.00510ec0
mov edx, dword [0x84ad0c]
add esp, 0xc
inc dword [ebp - 0x20]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x2c]
add eax, 8
mov edi, dword [ebp - 0x20]
add ecx, 0x60
add dword [ebp - 0x28], 0x10
cmp edi, dword [edx]
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
mov dword [ebp - 0x2c], ecx
jb 0x4f7bf1
push str._nvar_ThreadNames___
push edi
push esi
call fcn.00510ec0
mov ecx, 0x89ba4
add esp, 0xc
mov dword [ebp + 0x14], ecx
nop dword [eax + eax]
mov eax, dword [0x84ad0c]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4f7e74
add eax, 0x4e8
push eax
push 0x78fba4
push edi
push esi
call fcn.00510f80
mov ecx, dword [ebp + 0x14]
add esp, 0x10
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89da4
jb 0x4f7e50
push str.___n_n
push edi
push esi
call fcn.00510ec0
push str._nvar_ThreadIds___
push edi
push esi
call fcn.00510ec0
mov ecx, 0x89ba4
add esp, 0x18
mov dword [ebp + 0x14], ecx
mov eax, dword [0x84ad0c]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4f7ec5
push 0
push 0
push dword [eax + 0x24]
push edi
push esi
call fcn.00510ef0
mov ecx, dword [ebp + 0x14]
add esp, 0x14
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89da4
jb 0x4f7ea5
push str.___n_n
push edi
push esi
call fcn.00510ec0
push str._nvar_ThreadGpu___
push edi
push esi
call fcn.00510ec0
mov ecx, 0x89ba4
add esp, 0x18
mov dword [ebp + 0x14], ecx
mov eax, dword [0x84ad0c]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4f7f16
push 0
push 0
push dword [eax + 0x20]
push edi
push esi
call fcn.00510ef0
mov ecx, dword [ebp + 0x14]
add esp, 0x14
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89da4
jb 0x4f7ef6
push str.___n_n
push edi
push esi
call fcn.00510ec0
push str._nvar_ThreadClobbered__Array____n_n
push edi
push esi
call fcn.00510ec0
push str._nThreadClobbered___
push edi
push esi
call fcn.00510ec0
mov ecx, 0x89ba4
add esp, 0x24
mov dword [ebp + 0x14], ecx
mov eax, dword [0x84ad0c]
cmp dword [ecx + eax], 0
je 0x4f7f71
push 0
push 0
push 0
push edi
push esi
call fcn.00510ef0
mov ecx, dword [ebp + 0x14]
add esp, 0x14
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89da4
jb 0x4f7f53
push str.___n_n
push edi
push esi
call fcn.00510ec0
push str._nvar_ThreadBufferSizes___
push edi
push esi
call fcn.00510ec0
movss xmm0, dword [0x769b2c]
mov ecx, 0x89ba4
movss xmm1, dword [0x78ffc8]
add esp, 0x18
movss xmm2, dword [0x78ffc4]
movss xmm3, dword [0x78ffc0]
movss xmm4, dword [0x78ffcc]
mov dword [ebp + 0x14], ecx
nop word [eax + eax]
mov eax, dword [0x84ad0c]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4f8041
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4f7ffb
sub eax, 1
je 0x4f7ff6
sub eax, 2
jne 0x4f7ffe
movaps xmm0, xmm1
jmp 0x4f7ffe
movaps xmm0, xmm2
jmp 0x4f7ffe
movaps xmm0, xmm3
mulss xmm0, xmm4
push 0
call fcn.00702ec0
push 0
push eax
push edi
push esi
call fcn.00510ef0
movss xmm0, dword [0x769b2c]
add esp, 0x14
movss xmm1, dword [0x78ffc8]
movss xmm2, dword [0x78ffc4]
movss xmm3, dword [0x78ffc0]
movss xmm4, dword [0x78ffcc]
mov ecx, dword [ebp + 0x14]
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89da4
jb 0x4f7fd0
push str.___n_n
push edi
push esi
call fcn.00510ec0
push str._nvar_ThreadGroupTimeArray____n
push edi
push esi
call fcn.00510ec0
mov ecx, 0x89ba4
add esp, 0x18
mov dword [ebp + 0x14], ecx
mov eax, dword [0x84ad0c]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4f80f7
cmp dword [eax + 0x20], 0
je 0x4f808f
movss xmm0, dword [ebp - 0x64]
jmp 0x4f8094
movss xmm0, dword [ebp - 0x60]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.MakeTimes__e__
push edi
push esi
call fcn.00510f80
mov ecx, 0x368
add esp, 0x14
mov dword [ebp - 0x10], ecx
mov eax, dword [0x84ad0c]
mov edx, dword [ebp + 0x14]
push 0
mov eax, dword [edx + eax]
push dword [eax + ecx + 4]
push dword [eax + ecx]
push edi
push esi
call fcn.00510ef0
mov ecx, dword [ebp - 0x10]
add esp, 0x14
add ecx, 8
mov dword [ebp - 0x10], ecx
cmp ecx, 0x4e8
jb 0x4f80b6
push str.____n
push edi
push esi
call fcn.00510ec0
mov ecx, dword [ebp + 0x14]
add esp, 0xc
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89da4
jb 0x4f8072
push 0x78fc6c
push edi
push esi
call fcn.00510ec0
push str._nvar_MetaNames___
push edi
push esi
call fcn.00510ec0
add esp, 0x18
xor ecx, ecx
mov dword [ebp + 0x14], ecx
nop dword [eax]
mov eax, dword [0x84ad0c]
mov eax, dword [ecx + eax + 0x42420]
test eax, eax
je 0x4f8153
push eax
push 0x78fba4
push edi
push esi
call fcn.00510f80
mov ecx, dword [ebp + 0x14]
add esp, 0x10
add ecx, 0xa030
mov dword [ebp + 0x14], ecx
cmp ecx, 0x50180
jl 0x4f8130
push str.___n_n
push edi
push esi
call fcn.00510ec0
push str._nvar_CounterInfo___
push edi
push esi
call fcn.00510ec0
mov ecx, dword [0x84ad0c]
add esp, 0x18
mov dword [ebp - 0x38], 0
cmp dword [ecx + 0xe1e78], 0
jbe 0x4f8421
xor eax, eax
mov edx, 0x163e88
mov dword [ebp + 0x14], eax
xorps xmm1, xmm1
mov dword [ebp - 0x20], edx
nop dword [eax]
movq xmm0, qword [edx + ecx - 0x82008]
movq qword [ebp - 0x58], xmm0
nop
mov ecx, dword [0x84ad0c]
movss xmm0, dword [0x769b2c]
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x24], xmm0
mov edi, dword [eax + ecx + 0xdce90]
mov dword [ebp - 0x28], edi
mov edi, dword [eax + ecx + 0xdce94]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], edi
or eax, edi
mov edi, dword [ebp + 0xc]
je 0x4f824d
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
call fcn.007031c0
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x1c], xmm0
call fcn.007031c0
movss xmm1, dword [ebp - 0x1c]
cvtsd2ss xmm0, xmm0
mov ecx, dword [0x84ad0c]
mov edx, dword [ebp - 0x20]
movss xmm2, dword [0x769b2c]
divss xmm1, xmm0
comiss xmm1, xmm2
movss dword [ebp - 0x1c], xmm1
jbe 0x4f824d
movaps xmm0, xmm2
movss dword [ebp - 0x1c], xmm2
divss xmm0, xmm1
movss dword [ebp - 0x24], xmm0
mov eax, dword [edx + ecx]
mov dword [ebp - 0x2c], eax
mov eax, dword [edx + ecx + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [edx + ecx - 0x1000]
mov dword [ebp - 0x14], eax
mov eax, dword [edx + ecx - 0xffc]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x18c]
push 0x3f
push eax
push dword [ebp - 0x54]
mov eax, dword [ebp + 0x14]
push dword [ebp - 0x58]
push dword [eax + ecx + 0xdce98]
call fcn.00510cb0
mov eax, dword [0x84ad0c]
lea ecx, [ebp - 0x13c]
push 0x3f
push ecx
mov ecx, dword [ebp + 0x14]
push dword [ecx + eax + 0xdce94]
push dword [ecx + eax + 0xdce90]
push dword [ecx + eax + 0xdce98]
call fcn.00510cb0
movss xmm0, dword [ebp - 0x24]
add esp, 0x18
mov ecx, dword [0x84ad0c]
xor eax, eax
mov edx, dword [ebp + 0x14]
cvtps2pd xmm0, xmm0
cmp dword [edx + ecx + 0xdce98], 1
sete al
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x1c]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x13c]
push eax
push dword [ebp - 0x18]
lea eax, [ebp - 0x18c]
push dword [ebp - 0x28]
push eax
push dword [ebp - 0x10]
movzx eax, byte [edx + ecx + 0xdce86]
push dword [ebp - 0x14]
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push dword [edx + ecx + 0xdce88]
push eax
push dword [edx + ecx + 0xdce80]
push dword [edx + ecx + 0xdce7c]
push dword [edx + ecx + 0xdce78]
push dword [ebp - 0x38]
push str.MakeCounter__d___d___d___d___d___s___lld___lld___lld___s___lld___s___d___f___f___
push edi
push esi
call fcn.00510f80
mov edx, dword [0x84ad0c]
add esp, 0x60
mov eax, dword [ebp + 0x14]
test dword [eax + edx + 0xdce8c], 1
je 0x4f83db
mov ecx, dword [edx + 0xe2e80]
xor eax, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x18], eax
add eax, ecx
and eax, 0x7f
shl eax, 9
add eax, dword [ebp - 0x38]
mov ecx, dword [edx + eax*8 + 0xe2e88]
mov eax, dword [edx + eax*8 + 0xe2e8c]
mov edx, dword [ebp - 0x2c]
cmp dword [ebp - 0x3c], eax
jl 0x4f839d
jg 0x4f8398
cmp edx, ecx
jbe 0x4f839d
mov eax, dword [ebp - 0x3c]
mov ecx, edx
cmp dword [ebp - 0x10], eax
jg 0x4f83af
jl 0x4f83a9
cmp dword [ebp - 0x14], ecx
jae 0x4f83af
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
sub ecx, edx
push 0
sbb eax, dword [ebp - 0x3c]
push eax
push ecx
push edi
push esi
call fcn.00510ef0
mov eax, dword [ebp - 0x18]
add esp, 0x14
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x80
jae 0x4f83db
mov edx, dword [0x84ad0c]
mov ecx, dword [ebp - 0x34]
jmp 0x4f8371
push str.____n
push edi
push esi
call fcn.00510ec0
mov edi, dword [0x84ad0c]
add esp, 0xc
mov ecx, dword [ebp - 0x38]
xorps xmm1, xmm1
mov edx, dword [ebp - 0x20]
inc ecx
mov eax, dword [ebp + 0x14]
add edx, 8
add eax, 0x28
mov dword [ebp - 0x38], ecx
cmp ecx, dword [edi + 0xe1e78]
mov edi, dword [ebp + 0xc]
mov ecx, dword [0x84ad0c]
mov dword [ebp - 0x20], edx
mov dword [ebp + 0x14], eax
jb 0x4f81b0
push str.___n_n
push edi
push esi
call fcn.00510ec0
mov ecx, dword [ebp + 0x10]
mov eax, 0x1fa
add esp, 0xc
cmp ecx, eax
cmova ecx, eax
mov eax, 1
xor esi, esi
mov dword [ebp + 0x10], ecx
xor edx, edx
mov dword [ebp + 0x14], esi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], eax
cmp ecx, eax
jb 0x4f85b9
mov ecx, dword [0x84ad0c]
mov ecx, dword [ecx + 0x89da8]
sub ecx, eax
mov dword [ebp - 0x24], 0
mov eax, ecx
and eax, 0x1ff
imul edx, eax, 0x268
lea eax, [ecx + 1]
mov ecx, dword [0x84ad0c]
and eax, 0x1ff
imul eax, eax, 0x268
add edx, dword [0x84ad0c]
sub eax, edx
add eax, ecx
lea esi, [edx + 0x89dec]
mov dword [ebp - 0x10], eax
mov eax, 0xfffffdb8
sub eax, edx
mov dword [ebp - 0x14], esi
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
add eax, esi
mov eax, dword [eax + ecx]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x4f8575
cmp byte [ecx + 0x164ec4], 0
jne 0x4f855e
cmp byte [0x84ac8c], 0
jne 0x4f855e
mov eax, dword [eax + 0x528]
mov ecx, dword [esi]
movss xmm0, dword [0x769b2c]
mov dword [ebp - 0x18], ecx
sub eax, 0
je 0x4f8513
sub eax, 1
je 0x4f8509
sub eax, 2
jne 0x4f851b
movss xmm0, dword [0x78ffc8]
jmp 0x4f851b
movss xmm0, dword [0x78ffc4]
jmp 0x4f851b
movss xmm0, dword [0x78ffc0]
mulss xmm0, dword [0x78ffcc]
call fcn.00702ec0
mov ecx, dword [ebp - 0x10]
mov esi, eax
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [eax + ecx]
sub eax, dword [ebp - 0x18]
add eax, esi
div esi
mov eax, dword [ebp - 0x34]
mov ecx, edx
mov eax, dword [eax + 4]
nop
sub eax, dword [ebp - 0x18]
xor edx, edx
add eax, esi
div esi
cmp ecx, edx
ja 0x4f85af
mov esi, dword [ebp - 0x14]
mov ecx, dword [0x84ad0c]
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp + 0x14]
mov eax, dword [esi]
cmp eax, dword [esi + edx]
mov eax, edi
mov dword [ebp + 0x14], edi
cmovne eax, dword [ebp - 0x28]
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x24]
add esi, 4
inc eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], eax
cmp eax, 0x80
mov eax, dword [ebp - 0x30]
jb 0x4f84b3
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
inc eax
mov esi, dword [ebp + 0x14]
inc edx
mov dword [ebp - 0x28], eax
mov dword [ebp + 0x14], esi
mov dword [ebp - 0x20], edx
cmp eax, dword [ebp + 0x10]
jbe 0x4f8460
jmp 0x4f85b6
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp + 0x14]
inc edx
mov ecx, dword [ebp + 0x10]
cmp edx, esi
cmovb esi, edx
cmp ecx, esi
cmovb esi, ecx
mov dword [ebp + 0x14], esi
mov esi, dword [0x84ad0c]
mov eax, dword [esi + 0x89da8]
sub eax, dword [ebp + 0x14]
and eax, 0x1ff
mov dword [ebp - 0xc8], eax
imul eax, eax, 0x268
mov ecx, dword [eax + esi + 0x89dd8]
mov dword [ebp - 0x70], ecx
mov ecx, dword [eax + esi + 0x89ddc]
mov dword [ebp - 0x74], ecx
mov ecx, dword [eax + esi + 0x89de0]
mov eax, dword [eax + esi + 0x89de4]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x6c], eax
call fcn.004ff8f0
mov esi, dword [0x84ad0c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], edx
mov ecx, dword [esi + 0x164ea0]
test ecx, ecx
je 0x4f8631
call ecx
mov esi, dword [0x84ad0c]
mov esi, dword [esi]
shl esi, 2
mov eax, esi
call fcn.00703800
mov eax, esp
push esi
push 0
push eax
mov dword [ebp - 0x28], eax
call fcn.007051b0
push dword [ebp + 0x14]
mov esi, dword [ebp + 8]
push str.var_Frames__Array__d___n
push edi
push esi
call fcn.00510f80
add esp, 0x1c
mov dword [ebp + 0x10], 0
cmp dword [ebp + 0x14], 0
jbe 0x4f9232
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
call fcn.007031c0
movss xmm1, dword [ebp - 0x48]
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x74]
cvtsd2ss xmm0, xmm0
mov dword [ebp - 0xcc], 0x1000000
shld ecx, eax, 0x10
divss xmm1, xmm0
shl eax, 0x10
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x78]
movsd xmm0, qword [0x761bc8]
shld ecx, eax, 0x10
movss dword [ebp - 0x48], xmm1
shl eax, 0x10
mov dword [ebp - 0xd0], ecx
xor ecx, ecx
mov dword [ebp - 0x34], eax
movsd qword [ebp - 0xfc], xmm0
mov eax, dword [ebp - 0xc8]
add eax, ecx
and eax, 0x1ff
push ecx
mov dword [ebp - 0x38], eax
inc eax
push str.var_tt_d____n
and eax, 0x1ff
push edi
push esi
mov dword [ebp - 0x3c], eax
call fcn.00510f80
mov ecx, dword [0x84ad0c]
add esp, 0x10
xor edx, edx
mov eax, 0x89ba4
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x1c], eax
nop
mov eax, dword [eax + ecx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x4f8809
imul eax, dword [ebp - 0x38], 0x9a
push 0x78fd24
push edi
push esi
add eax, edx
mov eax, dword [ecx + eax*4 + 0x89dec]
mov dword [ebp - 0x10], eax
imul eax, dword [ebp - 0x3c], 0x9a
add eax, edx
mov eax, dword [ecx + eax*4 + 0x89dec]
mov dword [ebp - 0x24], eax
call fcn.00510ec0
mov eax, dword [ebp - 0x18]
add esp, 0xc
movss xmm0, dword [0x769b2c]
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4f8787
sub eax, 1
je 0x4f877d
sub eax, 2
jne 0x4f878f
movss xmm0, dword [0x78ffc8]
jmp 0x4f878f
movss xmm0, dword [0x78ffc4]
jmp 0x4f878f
movss xmm0, dword [0x78ffc0]
mulss xmm0, dword [0x78ffcc]
call fcn.00702ec0
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
je 0x4f87f1
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx]
mov edx, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
shr ecx, 0x1d
cmp ecx, 6
je 0x4f87e1
cmp ecx, 2
lea eax, [edx + 8]
push 0
cmovne eax, ecx
mov ecx, 3
cmp eax, 5
push 0
cmove eax, ecx
push eax
push edi
push esi
call fcn.00510ef0
mov eax, dword [ebp - 0x10]
add esp, 0x14
inc eax
xor edx, edx
div dword [ebp - 0x30]
mov eax, edx
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x24]
jne 0x4f87a7
push 0x78fd28
push edi
push esi
call fcn.00510ec0
mov ecx, dword [0x84ad0c]
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
inc edx
add eax, 4
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x1c], eax
cmp eax, 0x89da4
jb 0x4f8710
push 0x78fd2c
push edi
push esi
call fcn.00510ec0
push dword [ebp + 0x10]
push str.var_ts_d____n
push edi
push esi
call fcn.00510f80
mov edx, dword [0x84ad0c]
add esp, 0x1c
xor eax, eax
mov ecx, 0x89ba4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], ecx
mov ecx, dword [ecx + edx]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x4f89f2
imul eax, dword [ebp - 0x38], 0x9a
movss xmm0, dword [ebp - 0x60]
cvtps2pd xmm0, xmm0
add eax, dword [ebp - 0x1c]
mov eax, dword [edx + eax*4 + 0x89dec]
mov dword [ebp - 0x10], eax
imul eax, dword [ebp - 0x3c], 0x9a
add eax, dword [ebp - 0x1c]
cmp dword [ecx + 0x20], 0
mov eax, dword [edx + eax*4 + 0x89dec]
mov dword [ebp - 0x40], eax
je 0x4f88cc
push dword [ebp - 0x1c]
push dword [ebp + 0x10]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x64]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.MakeTimesExtra__e__e_tt_d__d___
push edi
push esi
call fcn.00510f80
mov eax, dword [ebp - 0x78]
add esp, 0x24
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x6c]
jmp 0x4f88ec
sub esp, 8
movsd qword [esp], xmm0
push str.MakeTimes__e__
push edi
push esi
call fcn.00510f80
mov eax, dword [ebp - 0x70]
add esp, 0x14
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x74]
movss xmm0, dword [0x769b2c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4f8923
sub eax, 1
je 0x4f8919
sub eax, 2
jne 0x4f892b
movss xmm0, dword [0x78ffc8]
jmp 0x4f892b
movss xmm0, dword [0x78ffc4]
jmp 0x4f892b
movss xmm0, dword [0x78ffc0]
mulss xmm0, dword [0x78ffcc]
call fcn.00702ec0
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x40]
je 0x4f89da
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx]
mov esi, dword [ecx + eax*8]
mov edx, dword [ecx + eax*8 + 4]
mov eax, edx
shr eax, 0x1d
cmp eax, 6
je 0x4f89c0
cmp eax, 1
je 0x4f898e
test eax, eax
je 0x4f898e
cmp eax, 4
jne 0x4f897e
shld edx, esi, 0x10
shl esi, 0x10
sub esi, dword [ebp - 0x20]
sbb edx, dword [ebp - 0x2c]
jmp 0x4f89a6
xorps xmm0, xmm0
movlpd qword [ebp - 0x58], xmm0
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x58]
jmp 0x4f89ad
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
shld ecx, eax, 0x10
shld edx, esi, 0x10
shl eax, 0x10
shl esi, 0x10
sub esi, eax
sbb edx, ecx
shrd esi, edx, 0x10
sar edx, 0x10
push 0
push edx
push esi
mov esi, dword [ebp + 8]
push edi
push esi
call fcn.00510ef0
add esp, 0x14
jmp 0x4f89c3
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
xor edx, edx
inc eax
div dword [ebp - 0x50]
mov eax, edx
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x40]
jne 0x4f8947
push str.____n
push edi
push esi
call fcn.00510ec0
mov edx, dword [0x84ad0c]
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
inc eax
add ecx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], ecx
cmp ecx, 0x89da4
jb 0x4f8852
push 0x78fd2c
push edi
push esi
call fcn.00510ec0
push dword [ebp + 0x10]
push str.var_ti_d____n
push edi
push esi
call fcn.00510f80
mov ecx, dword [0x84ad0c]
add esp, 0x1c
xor edx, edx
mov eax, 0x89ba4
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], eax
nop dword [eax]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4f8b68
imul eax, dword [ebp - 0x38], 0x9a
push 0x78fd24
push edi
push esi
mov dword [ebp - 0x40], 0
add eax, edx
mov eax, dword [ecx + eax*4 + 0x89dec]
mov dword [ebp - 0x10], eax
imul eax, dword [ebp - 0x3c], 0x9a
add eax, edx
mov eax, dword [ecx + eax*4 + 0x89dec]
mov dword [ebp - 0x18], eax
call fcn.00510ec0
mov eax, dword [ebp - 0x30]
add esp, 0xc
movss xmm0, dword [0x769b2c]
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4f8abe
sub eax, 1
je 0x4f8ab4
sub eax, 2
jne 0x4f8ac6
movss xmm0, dword [0x78ffc8]
jmp 0x4f8ac6
movss xmm0, dword [0x78ffc4]
jmp 0x4f8ac6
movss xmm0, dword [0x78ffc0]
mulss xmm0, dword [0x78ffcc]
call fcn.00702ec0
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
je 0x4f8b50
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx]
mov edx, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
mov ecx, eax
shr ecx, 0x1d
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x50], ecx
cmp ecx, 6
je 0x4f8b3d
shr eax, 0x10
and eax, 0x1fff
mov dword [ebp - 0x1c], eax
cmp ecx, 3
je 0x4f8b16
cmp ecx, 5
jne 0x4f8b1f
mov ecx, dword [ebp - 0x40]
mov eax, ecx
inc ecx
mov dword [ebp - 0x40], ecx
push 0
push 0
push eax
push edi
push esi
call fcn.00510ef0
add esp, 0x14
cmp dword [ebp - 0x50], 1
jne 0x4f8b3d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
inc dword [ecx + eax*4]
mov eax, dword [ebp - 0x10]
xor edx, edx
inc eax
div dword [ebp - 0x4c]
mov eax, edx
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x18]
jne 0x4f8ae2
push 0x78fd28
push edi
push esi
call fcn.00510ec0
mov ecx, dword [0x84ad0c]
add esp, 0xc
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
inc edx
add eax, 4
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], eax
cmp eax, 0x89da4
jb 0x4f8a40
push 0x78fd2c
push edi
push esi
call fcn.00510ec0
push dword [ebp + 0x10]
push str.var_tl_d____n
push edi
push esi
call fcn.00510f80
mov ecx, dword [0x84ad0c]
add esp, 0x1c
xor edx, edx
mov eax, 0x89ba4
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], eax
mov eax, dword [eax + ecx]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4f8ed9
imul eax, dword [ebp - 0x38], 0x9a
push 0x78fd24
push edi
push esi
add eax, edx
mov eax, dword [ecx + eax*4 + 0x89dec]
mov dword [ebp - 0x14], eax
imul eax, dword [ebp - 0x3c], 0x9a
add eax, edx
mov eax, dword [ecx + eax*4 + 0x89dec]
mov dword [ebp - 0x18], eax
call fcn.00510ec0
mov eax, dword [ebp - 0x30]
add esp, 0xc
movss xmm0, dword [0x769b2c]
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4f8c28
sub eax, 1
je 0x4f8c1e
sub eax, 2
jne 0x4f8c30
movss xmm0, dword [0x78ffc8]
jmp 0x4f8c30
movss xmm0, dword [0x78ffc4]
jmp 0x4f8c30
movss xmm0, dword [0x78ffc0]
mulss xmm0, dword [0x78ffcc]
call fcn.00702ec0
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
je 0x4f8ec1
nop
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx]
mov esi, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
mov eax, ecx
shr eax, 0x1d
cmp eax, 6
je 0x4f8ea4
cmp eax, 3
je 0x4f8c78
cmp eax, 5
jne 0x4f8ea4
movzx ecx, cx
mov dword [ebp - 0x40], ecx
cmp eax, 5
je 0x4f8ce4
mov eax, dword [0x84ad0c]
mov ecx, 0x800000
mov eax, dword [eax + 0xdae68]
cmp byte [0x84acf4], 0
mov dword [ebp - 0x4c], eax
mov eax, dword [0x84ad0c]
cmovne ecx, dword [ebp - 0xcc]
movq xmm0, qword [eax + 0xdae70]
movq qword [ebp - 0x58], xmm0
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
sub edx, esi
sbb eax, dword [ebp - 0x40]
test eax, eax
jb 0x4f8cd3
ja 0x4f8ccf
cmp edx, ecx
jbe 0x4f8cd3
xor esi, esi
jmp 0x4f8ce4
push 0
push ecx
push dword [ebp - 0x40]
push esi
call fcn.007038f0
mov esi, eax
add esi, dword [ebp - 0x4c]
test esi, esi
je 0x4f8e90
push 0x767640
push edi
push dword [ebp + 8]
call fcn.00510ec0
lea edx, [ebp - 0xb8]
mov dword [ebp - 0xbc], 0x20
add esp, 0xc
mov dword [ebp - 0xc4], edx
mov ecx, esi
mov byte [ebp - 4], 1
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4f8d20
sub ecx, edi
lea eax, [ecx + esi]
xor ecx, ecx
mov edi, eax
mov dword [ebp - 0x4c], eax
sub edi, esi
mov dword [ebp - 0xc0], ecx
cmp edi, 0x20
jbe 0x4f8d61
push 1
push edi
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0xc4]
call fcn.005285d0
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
lea eax, [ecx + edx]
mov dword [ebp - 0x50], eax
cmp esi, dword [ebp - 0x4c]
je 0x4f8d83
push edi
push esi
push eax
call fcn.00704c30
mov ecx, dword [ebp - 0xc0]
add esp, 0xc
mov edx, dword [ebp - 0xc4]
add ecx, edi
mov dword [ebp - 0xc0], ecx
lea esi, [edx + ecx]
mov byte [ebp - 4], 2
mov edi, edx
mov dword [ebp - 0x10], esi
cmp edi, esi
je 0x4f8dfb
nop
movzx eax, byte [edi]
push eax
call fcn.0071ab20
add esp, 4
test eax, eax
je 0x4f8db5
inc edi
cmp edi, esi
jne 0x4f8da0
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
cmp edi, esi
je 0x4f8dfb
mov eax, dword [ebp - 0x10]
lea esi, [edi + 1]
cmp esi, eax
je 0x4f8dfe
nop
movzx eax, byte [esi]
push eax
call fcn.0071ab20
add esp, 4
test eax, eax
je 0x4f8de5
mov al, byte [esi]
mov byte [edi], al
inc edi
mov eax, dword [ebp - 0x10]
inc esi
cmp esi, eax
jne 0x4f8dd0
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
jmp 0x4f8dfe
mov eax, dword [ebp - 0x10]
lea esi, [ecx + edx]
sub esi, eax
push esi
push eax
push edi
call fcn.00704c30
mov ecx, dword [ebp - 0xc4]
lea eax, [edi + esi]
sub eax, ecx
add esp, 0xc
mov dword [ebp - 0xc0], eax
lea edx, [eax + 1]
cmp edx, dword [ebp - 0xbc]
jbe 0x4f8e4b
push 1
push edx
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0xc4]
call fcn.005285d0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov byte [eax + ecx], 0
push dword [ebp - 0xc4]
push edi
push esi
call fcn.00510ec0
push 0x78f8b0
push edi
push esi
call fcn.00510ec0
mov eax, dword [ebp - 0xc4]
lea ecx, [ebp - 0xb8]
add esp, 0x18
mov byte [ebp - 4], 0
cmp eax, ecx
je 0x4f8ea7
push eax
call fcn.00516d60
add esp, 4
jmp 0x4f8ea7
mov esi, dword [ebp + 8]
push str.null_
push edi
push esi
call fcn.00510ec0
add esp, 0xc
jmp 0x4f8ea7
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
xor edx, edx
inc eax
div dword [ebp - 0x8c]
mov eax, edx
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x18]
jne 0x4f8c50
push 0x78fd28
push edi
push esi
call fcn.00510ec0
mov ecx, dword [0x84ad0c]
add esp, 0xc
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
inc edx
add eax, 4
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], eax
cmp eax, 0x89da4
jb 0x4f8bb1
push 0x78fd2c
push edi
push esi
call fcn.00510ec0
imul edi, dword [ebp - 0x38], 0x268
add esp, 0xc
mov esi, dword [0x84ad0c]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], edi
mov ecx, dword [edi + esi + 0x89dd8]
mov eax, dword [edi + esi + 0x89ddc]
shld eax, ecx, 0x10
movss xmm0, dword [edi + esi + 0x89dc4]
shl ecx, 0x10
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x54], ecx
sbb eax, dword [ebp - 0x2c]
mov dword [ebp - 0xe0], eax
imul eax, dword [ebp - 0x3c], 0x268
mov edx, dword [eax + esi + 0x89dd8]
mov ecx, dword [eax + esi + 0x89ddc]
shld ecx, edx, 0x10
shl edx, 0x10
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0xdc], edx
sbb ecx, dword [ebp - 0x2c]
mov edx, dword [edi + esi + 0x89de0]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [edi + esi + 0x89de4]
shld ecx, edx, 0x10
shl edx, 0x10
sub edx, dword [ebp - 0x34]
mov dword [ebp - 0xd4], edx
sbb ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + esi + 0x89de0]
mov eax, dword [eax + esi + 0x89de4]
shld eax, ecx, 0x10
shl ecx, 0x10
sub ecx, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
sbb eax, dword [ebp - 0xd0]
mov ecx, dword [edi + esi + 0x89dc8]
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + esi + 0x89dcc]
shld eax, ecx, 0x10
shl ecx, 0x10
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ecx
sbb eax, dword [ebp - 0x2c]
mov ecx, dword [edi + esi + 0x89dd0]
mov dword [ebp - 0x30], eax
mov eax, dword [edi + esi + 0x89dd4]
shld eax, ecx, 0x10
shl ecx, 0x10
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x50], ecx
sbb eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], eax
call fcn.00702f10
mov ecx, eax
call fcn.007031c0
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [edi + esi + 0x89dc0]
add edi, 0x89ff8
add esi, edi
movss dword [ebp - 0x8c], xmm0
mov ecx, esi
call fcn.00528d30
mov dword [ebp - 0x24], eax
mov ecx, esi
lea eax, [ebp - 0x144]
push eax
call fcn.00528da0
mov ecx, esi
movsd xmm0, qword [eax]
mulsd xmm0, qword [ebp - 0xfc]
movsd qword [ebp - 0x98], xmm0
call fcn.004ea780
mov edi, eax
mov ecx, esi
lea eax, [ebp - 0x14c]
push eax
call fcn.00528d50
movss xmm0, dword [ebp - 0x8c]
sub esp, 8
mov edx, dword [ebp - 0x4c]
mov esi, eax
mov ecx, dword [ebp - 0x50]
cvtps2pd xmm0, xmm0
shrd ecx, edx, 0x10
movsd qword [esp], xmm0
sar edx, 0x10
call fcn.007031c0
mov edx, dword [ebp - 0x30]
sub esp, 8
mov ecx, dword [ebp - 0x40]
cvtsd2ss xmm0, xmm0
shrd ecx, edx, 0x10
mulss xmm0, dword [ebp - 0x48]
sar edx, 0x10
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.007031c0
cvtsd2ss xmm0, xmm0
sub esp, 0x10
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mulss xmm0, dword [ebp - 0x48]
movzx eax, byte [edx + ecx + 0x8a021]
cvtss2sd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [ebp - 0x24]
movsd xmm0, qword [ebp - 0x98]
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [esi]
mulsd xmm0, qword [ebp - 0xfc]
push edi
sub esp, 0x20
mov esi, dword [ebp + 0x10]
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [edx + ecx + 0x89ff4]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [edx + ecx + 0x89ff0]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edx + ecx + 0x89fec]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
movzx eax, byte [edx + ecx + 0x8a020]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
push eax
push esi
push esi
shrd ecx, edx, 0x10
push esi
push esi
sar edx, 0x10
call fcn.007031c0
mov edx, dword [ebp - 0x1c]
sub esp, 8
mov ecx, dword [ebp - 0xd4]
cvtsd2ss xmm0, xmm0
shrd ecx, edx, 0x10
mulss xmm0, dword [ebp - 0x64]
sar edx, 0x10
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.007031c0
cvtsd2ss xmm0, xmm0
sub esp, 8
mulss xmm0, dword [ebp - 0x64]
cvtss2sd xmm0, xmm0
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
shrd ecx, edx, 0x10
movsd qword [esp], xmm0
sar edx, 0x10
call fcn.007031c0
mov edx, dword [ebp - 0xe0]
sub esp, 8
mov ecx, dword [ebp - 0x54]
cvtsd2ss xmm0, xmm0
shrd ecx, edx, 0x10
mulss xmm0, dword [ebp - 0x48]
sar edx, 0x10
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.007031c0
mov edi, dword [ebp + 0xc]
sub esp, 8
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [ebp - 0x48]
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
push 0
push esi
mov esi, dword [ebp + 8]
push str.Frames__d___MakeFrame__d___f___f___f___f__ts_d__tt_d__ti_d__tl_d___d___d___6.1f___6.1f___6.1f___4.3f___d___4.3f___d___6.2f___6.2f___6.2f___6.2f___n
push edi
push esi
call fcn.00510f80
mov ecx, dword [ebp + 0x10]
add esp, 0x9c
inc ecx
mov dword [ebp + 0x10], ecx
cmp ecx, dword [ebp + 0x14]
jb 0x4f86d3
push str.var_CSwitchThreadInOutCpu____n
push edi
push esi
call fcn.00510ec0
push 0x78fd2c
push edi
push esi
call fcn.00510ec0
push str.var_CSwitchTime____n
push edi
push esi
call fcn.00510ec0
call fcn.004ff8f0
push 0x78fd2c
push edi
push esi
call fcn.00510ec0
push str.var_CSwitchThreads__
push edi
push esi
call fcn.00510ec0
push 0x78fe6c
push edi
push esi
call fcn.00510ec0
xor eax, eax
add esp, 0x48
mov dword [ebp + 0x10], eax
cmp dword [0x84ac44], eax
jbe 0x4f92b5
nop
push dword [eax*4 + 0x84ac24]
mov eax, dword [eax*4 + 0x84ac34]
dec eax
push eax
push edi
call esi
mov eax, dword [ebp + 0x10]
add esp, 0xc
inc eax
mov dword [ebp + 0x10], eax
cmp eax, dword [0x84ac44]
jb 0x4f9290
mov esi, dword [0x84ad0c]
mov esi, dword [esi + 4]
shl esi, 2
mov eax, esi
call fcn.00703800
mov eax, esp
push esi
push 0
push eax
mov dword [ebp + 0x14], eax
call fcn.007051b0
mov esi, dword [0x84ad0c]
xor edx, edx
add esp, 0xc
cmp dword [esi], edx
jbe 0x4f930d
mov edi, dword [ebp + 0x14]
lea eax, [esi + 0x1884]
mov dword [ebp + 0x10], eax
mov ecx, dword [eax]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + edx*4]
inc edx
add dword [edi + ecx*4], eax
mov eax, dword [ebp + 0x10]
add eax, 0x60
mov dword [ebp + 0x10], eax
cmp edx, dword [esi]
jb 0x4f92f1
mov edi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
shl eax, 2
call fcn.00703800
mov eax, dword [esi]
shl eax, 2
mov dword [ebp + 0x10], esp
call fcn.00703800
mov ecx, dword [esi + 4]
xor eax, eax
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x10], esp
test ecx, ecx
je 0x4f9343
mov dword [edx + eax*4], eax
inc eax
cmp eax, dword [esi + 4]
jb 0x4f9334
mov edi, dword [ebp + 0xc]
mov ecx, dword [esi + 4]
xor eax, eax
cmp dword [esi], eax
jbe 0x4f935b
mov ecx, dword [ebp - 0x10]
nop dword [eax]
mov dword [ecx + eax*4], eax
inc eax
cmp eax, dword [esi]
jb 0x4f9350
mov ecx, dword [esi + 4]
push dword [ebp + 0x14]
shl ecx, 2
mov eax, ecx
sar eax, 2
push eax
lea eax, [edx + ecx]
push eax
push edx
call fcn.004f5590
mov eax, dword [0x84ad0c]
mov edx, dword [ebp - 0x10]
push dword [ebp - 0x28]
mov ecx, dword [eax]
shl ecx, 2
mov eax, ecx
sar eax, 2
push eax
lea eax, [edx + ecx]
push eax
push edx
call fcn.004f5590
mov esi, dword [ebp + 8]
push str._n_____nMarker_Per_Group_n
push edi
push esi
call fcn.00510f80
mov edx, dword [0x84ad0c]
xor eax, eax
add esp, 0x2c
mov dword [ebp - 0x34], eax
cmp dword [edx + 4], eax
jbe 0x4f93ec
mov ecx, dword [ebp + 0x10]
add edx, 0x738
mov ecx, dword [ecx + eax*4]
imul eax, ecx, 0x5c
add eax, edx
push eax
mov eax, dword [ebp + 0x14]
push dword [eax + ecx*4]
push str._8d:_s_n
push edi
push esi
call fcn.00510f80
mov eax, dword [ebp - 0x34]
add esp, 0x14
mov edx, dword [0x84ad0c]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, dword [edx + 4]
jb 0x4f93b3
push str.Marker_Per_Timer_n
push edi
push esi
call fcn.00510f80
mov eax, dword [0x84ad0c]
xor ecx, ecx
add esp, 0xc
mov dword [ebp + 0x10], ecx
cmp dword [eax], ecx
jbe 0x4f9468
nop dword [eax]
mov edx, dword [ebp - 0x10]
mov edi, dword [0x84ad0c]
add edi, 0x738
mov edx, dword [edx + ecx*4]
lea ecx, [edx + edx*2]
shl ecx, 5
imul eax, dword [ecx + eax + 0x1884], 0x5c
add eax, edi
mov edi, dword [ebp + 0xc]
push eax
mov eax, dword [0x84ad0c]
add eax, 0x1888
add eax, ecx
push eax
mov eax, dword [ebp - 0x28]
push dword [eax + edx*4]
push str._8d:_s__s__n
push edi
push esi
call fcn.00510f80
mov ecx, dword [ebp + 0x10]
add esp, 0x18
mov eax, dword [0x84ad0c]
inc ecx
mov dword [ebp + 0x10], ecx
cmp ecx, dword [eax]
jb 0x4f9410
push str._n____n
push edi
push esi
call fcn.00510f80
mov edx, dword [0x84ad0c]
add esp, 0xc
mov eax, dword [ebp - 0xe4]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0xe8]
mov dword [edx + 0x34], eax
mov eax, dword [ebp - 0xec]
mov dword [edx + 0x88], eax
mov al, byte [0xa968b0]
mov ecx, dword [0x8f6408]
test al, al
je 0x4f94d3
cmp byte [0x8f63f8], 0
je 0x4f94d3
test cl, cl
je 0x4f951c
cmp cl, 6
jb 0x4f951c
mov eax, ecx
shr eax, 8
cmp al, 3
jb 0x4f9517
jmp 0x4f94db
test cl, cl
je 0x4f951c
mov dword [ebp + 0x10], 0x64f8dbf
mov ecx, dword [ebp + 0x10]
mov eax, dword [0x84ad0c]
sub ecx, 0x5d68f07
add eax, 0xa8
push eax
push ecx
push dword [0x8f640c]
push dword [0x8f6408]
call fcn.005180a0
mov edx, dword [0x84ad0c]
add esp, 0x10
mov ecx, dword [0x8f6408]
mov al, byte [0xa968b0]
mov edi, dword [0xa9127c]
test edi, edi
je 0x4f958c
test al, al
je 0x4f954e
cmp byte [0x8f63f8], 0
je 0x4f954e
test cl, cl
je 0x4f957e
cmp cl, 6
jb 0x4f957e
shr ecx, 8
cmp cl, 3
jb 0x4f957e
jmp 0x4f9552
test cl, cl
je 0x4f957e
mov dword [ebp + 0x10], 0x650f488
mov eax, dword [ebp + 0x10]
push 0
sub eax, 0x5d7f59c
push eax
push dword [0x8f640c]
push dword [0x8f6408]
call fcn.00518070
mov edi, dword [0xa9127c]
add esp, 0x10
call edi
mov edx, dword [0x84ad0c]
mov ecx, dword [0x8f6408]
cmp byte [0x84acac], 0
je 0x4f967e
mov edi, dword [0xa91280]
test edi, edi
je 0x4f967e
cmp byte [0xa968b0], 0
je 0x4f95d4
cmp byte [0x8f63f8], 0
je 0x4f95d4
test cl, cl
je 0x4f960a
cmp cl, 6
jb 0x4f960a
shr ecx, 8
cmp cl, 3
jb 0x4f960a
jmp 0x4f95d8
test cl, cl
je 0x4f960a
mov dword [ebp + 0x10], 0x6534a67
mov eax, dword [ebp + 0x10]
push 0
sub eax, 0x5da4b3f
push eax
push dword [0x8f640c]
push dword [0x8f6408]
call fcn.00518070
mov edx, dword [0x84ad0c]
add esp, 0x10
mov edi, dword [0xa91280]
mov eax, dword [ebp - 0x80]
push dword [ebp - 0x5c]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x100], eax
lea eax, [edx + 0x738]
push eax
lea eax, [edx + 0x1878]
push eax
lea eax, [ebp - 0x11c]
push eax
call edi
mov edx, dword [0x84ad0c]
add esp, 0x10
xor cl, cl
lea eax, [edx + 0x164ea8]
xchg byte [eax], cl
lea esp, [ebp - 0x198]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret