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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7410b6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x184
mov ecx, dword [0x844c70]
mov al, 1
push esi
push edi
add ecx, 0x164ea8
xchg byte [ecx], al
mov ecx, dword [0x844c70]
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 [0x844b90], eax
jbe 0x4f5325
nop dword [eax]
nop dword [eax + eax]
push dword [eax*4 + 0x844b88]
mov eax, dword [eax*4 + 0x844b8c]
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 [0x844b90]
jb 0x4f5300
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x44], eax
or eax, edx
mov dword [ebp + 0x1c], edx
jne 0x4f533d
rdtsc
mov dword [ebp - 0x44], eax
mov dword [ebp + 0x1c], edx
call fcn.004fd3f0
mov ecx, eax
call fcn.006ff2f0
movss xmm1, dword [0x765bc4]
cvtsd2ss xmm0, xmm0
mov eax, dword [0x844c70]
movss dword [ebp - 0x48], xmm1
divss xmm1, xmm0
mov eax, dword [eax + 0x164ea0]
movss dword [ebp - 0x60], xmm1
test eax, eax
jne 0x4f537b
mov eax, 0x3b9aca00
xor edx, edx
jmp 0x4f537d
call eax
mov ecx, eax
call fcn.006ff2f0
movss xmm1, dword [ebp - 0x48]
mov edx, dword [0x844c70]
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.006ff290
mov eax, dword [ebp + 0x14]
mov ecx, 0x757eea
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.0050cc20
lea eax, [ebp - 0xf4]
push eax
call fcn.00711794
push dword [ebp - 0xf0]
push dword [ebp - 0xf4]
push str.var_DumpUtcCaptureTime___ld__n
push edi
push esi
call fcn.0050cc20
movss xmm0, dword [ebp + 0x1c]
add esp, 0x20
mov eax, dword [0x844c70]
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.0050cc20
mov eax, dword [0x844c70]
add esp, 0x18
mov ecx, dword [eax + 0x164eb0]
test ecx, ecx
je 0x4f5443
push dword [eax + 0x164eb4]
call ecx
mov eax, dword [0x844c70]
add esp, 4
mov eax, dword [eax + 0x164eac]
mov ecx, 0x757eea
test eax, eax
cmovne ecx, eax
push ecx
push str.var_PlatformInfo___s__n
push edi
push esi
call fcn.0050cc20
mov eax, dword [0x844c70]
push dword [eax + 8]
push str.var_CategoryInfo__Array__d___n
push edi
push esi
call fcn.0050cc20
mov eax, dword [0x844c70]
xor ecx, ecx
add esp, 0x20
mov dword [ebp + 0x14], ecx
cmp dword [eax + 8], ecx
jbe 0x4f54c3
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.0050cc20
mov ecx, dword [ebp + 0x14]
add esp, 0x14
mov eax, dword [0x844c70]
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 0x4f5490
push dword [eax + 4]
push str.var_GroupInfo__Array__d___n_n
push edi
push esi
call fcn.0050cc20
mov ecx, dword [0x844c70]
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 0x4f5643
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 + 0x75a370]
mov edx, 0x380f8
mov dword [ebp + 0x14], edx
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x7c], xmm0
jmp 0x4f5533
mov esi, dword [ebp - 0x20]
mov eax, dword [eax + ecx + 0x790]
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x4f5548
movss xmm0, dword [ebp - 0x60]
jmp 0x4f554d
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.006ff290
mov eax, dword [ebp + 0x1c]
and esi, 0xffffff
mov edi, dword [0x844c70]
cvtsd2ss xmm0, xmm0
push esi
mov esi, dword [0x844c70]
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.006ff290
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.0050cc20
mov ecx, dword [0x844c70]
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 0x4f5530
mov eax, dword [ecx]
mov dword [ebp - 0x5c], eax
lea eax, [eax + eax*8]
shl eax, 3
call fcn.006ff930
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.004f4070
mov eax, dword [0x844c70]
mov edi, dword [ebp + 0xc]
push dword [eax]
push str._nvar_TimerInfo__Array__d___n_n
push edi
push esi
call fcn.0050cc20
mov edx, dword [0x844c70]
add esp, 0x38
mov dword [ebp - 0x20], 0
cmp dword [edx], 0
jbe 0x4f59b1
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 [0x844c70]
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 [0x844c70]
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.0050cc20
push 0x78a774
push edi
push esi
call fcn.0050cb60
mov ecx, dword [ebp + 0x14]
xor eax, eax
mov edx, dword [0x844c70]
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 0x4f588e
push 0
push dword [ecx + edx + 4]
push dword [ecx + edx]
push edi
push esi
call fcn.0050cb90
mov edx, dword [0x844c70]
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 0x4f5865
push 0x78a778
push edi
push esi
call fcn.0050cb60
mov ecx, dword [ebp + 0x14]
xor eax, eax
mov edx, dword [0x844c70]
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 0x4f58f9
push 0
push dword [ecx + edx + 4]
push dword [ecx + edx]
push edi
push esi
call fcn.0050cb90
mov edx, dword [0x844c70]
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 0x4f58d0
push 0x78a778
push edi
push esi
call fcn.0050cb60
mov ecx, dword [ebp + 0x14]
xor eax, eax
mov edx, dword [0x844c70]
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 0x4f595d
push 0
push dword [ecx + edx + 4]
push dword [ecx + edx]
push edi
push esi
call fcn.0050cb90
mov edx, dword [0x844c70]
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 0x4f5934
push 0x78a77c
push edi
push esi
call fcn.0050cb60
mov edx, dword [0x844c70]
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 0x4f5771
push str._nvar_ThreadNames___
push edi
push esi
call fcn.0050cb60
mov ecx, 0x89ba4
add esp, 0xc
mov dword [ebp + 0x14], ecx
nop dword [eax + eax]
mov eax, dword [0x844c70]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4f59f4
add eax, 0x4e8
push eax
push str._s_
push edi
push esi
call fcn.0050cc20
mov ecx, dword [ebp + 0x14]
add esp, 0x10
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89da4
jb 0x4f59d0
push str.___n_n
push edi
push esi
call fcn.0050cb60
push str._nvar_ThreadIds___
push edi
push esi
call fcn.0050cb60
mov ecx, 0x89ba4
add esp, 0x18
mov dword [ebp + 0x14], ecx
mov eax, dword [0x844c70]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4f5a45
push 0
push 0
push dword [eax + 0x24]
push edi
push esi
call fcn.0050cb90
mov ecx, dword [ebp + 0x14]
add esp, 0x14
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89da4
jb 0x4f5a25
push str.___n_n
push edi
push esi
call fcn.0050cb60
push str._nvar_ThreadGpu___
push edi
push esi
call fcn.0050cb60
mov ecx, 0x89ba4
add esp, 0x18
mov dword [ebp + 0x14], ecx
mov eax, dword [0x844c70]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4f5a96
push 0
push 0
push dword [eax + 0x20]
push edi
push esi
call fcn.0050cb90
mov ecx, dword [ebp + 0x14]
add esp, 0x14
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89da4
jb 0x4f5a76
push str.___n_n
push edi
push esi
call fcn.0050cb60
push str._nvar_ThreadClobbered__Array____n_n
push edi
push esi
call fcn.0050cb60
push str._nThreadClobbered___
push edi
push esi
call fcn.0050cb60
mov ecx, 0x89ba4
add esp, 0x24
mov dword [ebp + 0x14], ecx
mov eax, dword [0x844c70]
cmp dword [ecx + eax], 0
je 0x4f5af1
push 0
push 0
push 0
push edi
push esi
call fcn.0050cb90
mov ecx, dword [ebp + 0x14]
add esp, 0x14
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89da4
jb 0x4f5ad3
push str.___n_n
push edi
push esi
call fcn.0050cb60
push str._nvar_ThreadBufferSizes___
push edi
push esi
call fcn.0050cb60
movss xmm0, dword [0x76463c]
mov ecx, 0x89ba4
movss xmm1, dword [0x78ab94]
add esp, 0x18
movss xmm2, dword [0x78ab90]
movss xmm3, dword [0x78ab8c]
movss xmm4, dword [0x78ab98]
mov dword [ebp + 0x14], ecx
nop word [eax + eax]
mov eax, dword [0x844c70]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4f5bc1
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4f5b7b
sub eax, 1
je 0x4f5b76
sub eax, 2
jne 0x4f5b7e
movaps xmm0, xmm1
jmp 0x4f5b7e
movaps xmm0, xmm2
jmp 0x4f5b7e
movaps xmm0, xmm3
mulss xmm0, xmm4
push 0
call fcn.006feff0
push 0
push eax
push edi
push esi
call fcn.0050cb90
movss xmm0, dword [0x76463c]
add esp, 0x14
movss xmm1, dword [0x78ab94]
movss xmm2, dword [0x78ab90]
movss xmm3, dword [0x78ab8c]
movss xmm4, dword [0x78ab98]
mov ecx, dword [ebp + 0x14]
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89da4
jb 0x4f5b50
push str.___n_n
push edi
push esi
call fcn.0050cb60
push str._nvar_ThreadGroupTimeArray____n
push edi
push esi
call fcn.0050cb60
mov ecx, 0x89ba4
add esp, 0x18
mov dword [ebp + 0x14], ecx
mov eax, dword [0x844c70]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4f5c77
cmp dword [eax + 0x20], 0
je 0x4f5c0f
movss xmm0, dword [ebp - 0x64]
jmp 0x4f5c14
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.0050cc20
mov ecx, 0x368
add esp, 0x14
mov dword [ebp - 0x10], ecx
mov eax, dword [0x844c70]
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.0050cb90
mov ecx, dword [ebp - 0x10]
add esp, 0x14
add ecx, 8
mov dword [ebp - 0x10], ecx
cmp ecx, 0x4e8
jb 0x4f5c36
push str.____n
push edi
push esi
call fcn.0050cb60
mov ecx, dword [ebp + 0x14]
add esp, 0xc
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89da4
jb 0x4f5bf2
push 0x78a864
push edi
push esi
call fcn.0050cb60
push str._nvar_MetaNames___
push edi
push esi
call fcn.0050cb60
add esp, 0x18
xor ecx, ecx
mov dword [ebp + 0x14], ecx
nop dword [eax]
mov eax, dword [0x844c70]
mov eax, dword [ecx + eax + 0x42420]
test eax, eax
je 0x4f5cd3
push eax
push str._s_
push edi
push esi
call fcn.0050cc20
mov ecx, dword [ebp + 0x14]
add esp, 0x10
add ecx, 0xa030
mov dword [ebp + 0x14], ecx
cmp ecx, 0x50180
jl 0x4f5cb0
push str.___n_n
push edi
push esi
call fcn.0050cb60
push str._nvar_CounterInfo___
push edi
push esi
call fcn.0050cb60
mov ecx, dword [0x844c70]
add esp, 0x18
mov dword [ebp - 0x38], 0
cmp dword [ecx + 0xe1e78], 0
jbe 0x4f5fa1
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 [0x844c70]
movss xmm0, dword [0x76463c]
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 0x4f5dcd
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
call fcn.006ff2f0
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x1c], xmm0
call fcn.006ff2f0
movss xmm1, dword [ebp - 0x1c]
cvtsd2ss xmm0, xmm0
mov ecx, dword [0x844c70]
mov edx, dword [ebp - 0x20]
movss xmm2, dword [0x76463c]
divss xmm1, xmm0
comiss xmm1, xmm2
movss dword [ebp - 0x1c], xmm1
jbe 0x4f5dcd
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.0050c950
mov eax, dword [0x844c70]
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.0050c950
movss xmm0, dword [ebp - 0x24]
add esp, 0x18
mov ecx, dword [0x844c70]
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.0050cc20
mov edx, dword [0x844c70]
add esp, 0x60
mov eax, dword [ebp + 0x14]
test dword [eax + edx + 0xdce8c], 1
je 0x4f5f5b
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 0x4f5f1d
jg 0x4f5f18
cmp edx, ecx
jbe 0x4f5f1d
mov eax, dword [ebp - 0x3c]
mov ecx, edx
cmp dword [ebp - 0x10], eax
jg 0x4f5f2f
jl 0x4f5f29
cmp dword [ebp - 0x14], ecx
jae 0x4f5f2f
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.0050cb90
mov eax, dword [ebp - 0x18]
add esp, 0x14
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x80
jae 0x4f5f5b
mov edx, dword [0x844c70]
mov ecx, dword [ebp - 0x34]
jmp 0x4f5ef1
push str.____n
push edi
push esi
call fcn.0050cb60
mov edi, dword [0x844c70]
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 [0x844c70]
mov dword [ebp - 0x20], edx
mov dword [ebp + 0x14], eax
jb 0x4f5d30
push str.___n_n
push edi
push esi
call fcn.0050cb60
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 0x4f6139
mov ecx, dword [0x844c70]
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 [0x844c70]
and eax, 0x1ff
imul eax, eax, 0x268
add edx, dword [0x844c70]
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 0x4f60f5
cmp byte [ecx + 0x164ec4], 0
jne 0x4f60de
cmp byte [0x844bf8], 0
jne 0x4f60de
mov eax, dword [eax + 0x528]
mov ecx, dword [esi]
movss xmm0, dword [0x76463c]
mov dword [ebp - 0x18], ecx
sub eax, 0
je 0x4f6093
sub eax, 1
je 0x4f6089
sub eax, 2
jne 0x4f609b
movss xmm0, dword [0x78ab94]
jmp 0x4f609b
movss xmm0, dword [0x78ab90]
jmp 0x4f609b
movss xmm0, dword [0x78ab8c]
mulss xmm0, dword [0x78ab98]
call fcn.006feff0
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 0x4f612f
mov esi, dword [ebp - 0x14]
mov ecx, dword [0x844c70]
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 0x4f6033
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 0x4f5fe0
jmp 0x4f6136
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 [0x844c70]
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.004fd3f0
mov esi, dword [0x844c70]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], edx
mov ecx, dword [esi + 0x164ea0]
test ecx, ecx
je 0x4f61b1
call ecx
mov esi, dword [0x844c70]
mov esi, dword [esi]
shl esi, 2
mov eax, esi
call fcn.006ff930
mov eax, esp
push esi
push 0
push eax
mov dword [ebp - 0x28], eax
call fcn.007012e0
push dword [ebp + 0x14]
mov esi, dword [ebp + 8]
push str.var_Frames__Array__d___n
push edi
push esi
call fcn.0050cc20
add esp, 0x1c
mov dword [ebp + 0x10], 0
cmp dword [ebp + 0x14], 0
jbe 0x4f6db2
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
call fcn.006ff2f0
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 [0x75c8f8]
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.0050cc20
mov ecx, dword [0x844c70]
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 0x4f6389
imul eax, dword [ebp - 0x38], 0x9a
push 0x78a91c
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.0050cb60
mov eax, dword [ebp - 0x18]
add esp, 0xc
movss xmm0, dword [0x76463c]
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4f6307
sub eax, 1
je 0x4f62fd
sub eax, 2
jne 0x4f630f
movss xmm0, dword [0x78ab94]
jmp 0x4f630f
movss xmm0, dword [0x78ab90]
jmp 0x4f630f
movss xmm0, dword [0x78ab8c]
mulss xmm0, dword [0x78ab98]
call fcn.006feff0
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
je 0x4f6371
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 0x4f6361
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.0050cb90
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 0x4f6327
push 0x78a920
push edi
push esi
call fcn.0050cb60
mov ecx, dword [0x844c70]
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 0x4f6290
push 0x78a924
push edi
push esi
call fcn.0050cb60
push dword [ebp + 0x10]
push str.var_ts_d____n
push edi
push esi
call fcn.0050cc20
mov edx, dword [0x844c70]
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 0x4f6572
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 0x4f644c
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.0050cc20
mov eax, dword [ebp - 0x78]
add esp, 0x24
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x6c]
jmp 0x4f646c
sub esp, 8
movsd qword [esp], xmm0
push str.MakeTimes__e__
push edi
push esi
call fcn.0050cc20
mov eax, dword [ebp - 0x70]
add esp, 0x14
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x74]
movss xmm0, dword [0x76463c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4f64a3
sub eax, 1
je 0x4f6499
sub eax, 2
jne 0x4f64ab
movss xmm0, dword [0x78ab94]
jmp 0x4f64ab
movss xmm0, dword [0x78ab90]
jmp 0x4f64ab
movss xmm0, dword [0x78ab8c]
mulss xmm0, dword [0x78ab98]
call fcn.006feff0
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x40]
je 0x4f655a
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 0x4f6540
cmp eax, 1
je 0x4f650e
test eax, eax
je 0x4f650e
cmp eax, 4
jne 0x4f64fe
shld edx, esi, 0x10
shl esi, 0x10
sub esi, dword [ebp - 0x20]
sbb edx, dword [ebp - 0x2c]
jmp 0x4f6526
xorps xmm0, xmm0
movlpd qword [ebp - 0x58], xmm0
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x58]
jmp 0x4f652d
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.0050cb90
add esp, 0x14
jmp 0x4f6543
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 0x4f64c7
push str.____n
push edi
push esi
call fcn.0050cb60
mov edx, dword [0x844c70]
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 0x4f63d2
push 0x78a924
push edi
push esi
call fcn.0050cb60
push dword [ebp + 0x10]
push str.var_ti_d____n
push edi
push esi
call fcn.0050cc20
mov ecx, dword [0x844c70]
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 0x4f66e8
imul eax, dword [ebp - 0x38], 0x9a
push 0x78a91c
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.0050cb60
mov eax, dword [ebp - 0x30]
add esp, 0xc
movss xmm0, dword [0x76463c]
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4f663e
sub eax, 1
je 0x4f6634
sub eax, 2
jne 0x4f6646
movss xmm0, dword [0x78ab94]
jmp 0x4f6646
movss xmm0, dword [0x78ab90]
jmp 0x4f6646
movss xmm0, dword [0x78ab8c]
mulss xmm0, dword [0x78ab98]
call fcn.006feff0
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
je 0x4f66d0
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 0x4f66bd
shr eax, 0x10
and eax, 0x1fff
mov dword [ebp - 0x1c], eax
cmp ecx, 3
je 0x4f6696
cmp ecx, 5
jne 0x4f669f
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.0050cb90
add esp, 0x14
cmp dword [ebp - 0x50], 1
jne 0x4f66bd
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 0x4f6662
push 0x78a920
push edi
push esi
call fcn.0050cb60
mov ecx, dword [0x844c70]
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 0x4f65c0
push 0x78a924
push edi
push esi
call fcn.0050cb60
push dword [ebp + 0x10]
push str.var_tl_d____n
push edi
push esi
call fcn.0050cc20
mov ecx, dword [0x844c70]
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 0x4f6a59
imul eax, dword [ebp - 0x38], 0x9a
push 0x78a91c
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.0050cb60
mov eax, dword [ebp - 0x30]
add esp, 0xc
movss xmm0, dword [0x76463c]
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4f67a8
sub eax, 1
je 0x4f679e
sub eax, 2
jne 0x4f67b0
movss xmm0, dword [0x78ab94]
jmp 0x4f67b0
movss xmm0, dword [0x78ab90]
jmp 0x4f67b0
movss xmm0, dword [0x78ab8c]
mulss xmm0, dword [0x78ab98]
call fcn.006feff0
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
je 0x4f6a41
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 0x4f6a24
cmp eax, 3
je 0x4f67f8
cmp eax, 5
jne 0x4f6a24
movzx ecx, cx
mov dword [ebp - 0x40], ecx
cmp eax, 5
je 0x4f6864
mov eax, dword [0x844c70]
mov ecx, 0x800000
mov eax, dword [eax + 0xdae68]
cmp byte [0x844c60], 0
mov dword [ebp - 0x4c], eax
mov eax, dword [0x844c70]
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 0x4f6853
ja 0x4f684f
cmp edx, ecx
jbe 0x4f6853
xor esi, esi
jmp 0x4f6864
push 0
push ecx
push dword [ebp - 0x40]
push esi
call fcn.006ffa20
mov esi, eax
add esi, dword [ebp - 0x4c]
test esi, esi
je 0x4f6a10
push 0x762260
push edi
push dword [ebp + 8]
call fcn.0050cb60
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 0x4f68a0
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 0x4f68e1
push 1
push edi
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00524200
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 0x4f6903
push edi
push esi
push eax
call fcn.00700d60
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 0x4f697b
nop
movzx eax, byte [edi]
push eax
call fcn.00716580
add esp, 4
test eax, eax
je 0x4f6935
inc edi
cmp edi, esi
jne 0x4f6920
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
cmp edi, esi
je 0x4f697b
mov eax, dword [ebp - 0x10]
lea esi, [edi + 1]
cmp esi, eax
je 0x4f697e
nop
movzx eax, byte [esi]
push eax
call fcn.00716580
add esp, 4
test eax, eax
je 0x4f6965
mov al, byte [esi]
mov byte [edi], al
inc edi
mov eax, dword [ebp - 0x10]
inc esi
cmp esi, eax
jne 0x4f6950
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
jmp 0x4f697e
mov eax, dword [ebp - 0x10]
lea esi, [ecx + edx]
sub esi, eax
push esi
push eax
push edi
call fcn.00700d60
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 0x4f69cb
push 1
push edx
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00524200
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.0050cb60
push 0x78a4a8
push edi
push esi
call fcn.0050cb60
mov eax, dword [ebp - 0xc4]
lea ecx, [ebp - 0xb8]
add esp, 0x18
mov byte [ebp - 4], 0
cmp eax, ecx
je 0x4f6a27
push eax
call fcn.00512900
add esp, 4
jmp 0x4f6a27
mov esi, dword [ebp + 8]
push str.null_
push edi
push esi
call fcn.0050cb60
add esp, 0xc
jmp 0x4f6a27
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 0x4f67d0
push 0x78a920
push edi
push esi
call fcn.0050cb60
mov ecx, dword [0x844c70]
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 0x4f6731
push 0x78a924
push edi
push esi
call fcn.0050cb60
imul edi, dword [ebp - 0x38], 0x268
add esp, 0xc
mov esi, dword [0x844c70]
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.006ff040
mov ecx, eax
call fcn.006ff2f0
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.00524960
mov dword [ebp - 0x24], eax
mov ecx, esi
lea eax, [ebp - 0x144]
push eax
call fcn.005249d0
mov ecx, esi
movsd xmm0, qword [eax]
mulsd xmm0, qword [ebp - 0xfc]
movsd qword [ebp - 0x98], xmm0
call fcn.004e72f0
mov edi, eax
mov ecx, esi
lea eax, [ebp - 0x14c]
push eax
call fcn.00524980
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.006ff2f0
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.006ff2f0
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.006ff2f0
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.006ff2f0
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.006ff2f0
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.006ff2f0
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.0050cc20
mov ecx, dword [ebp + 0x10]
add esp, 0x9c
inc ecx
mov dword [ebp + 0x10], ecx
cmp ecx, dword [ebp + 0x14]
jb 0x4f6253
push str.var_CSwitchThreadInOutCpu____n
push edi
push esi
call fcn.0050cb60
push 0x78a924
push edi
push esi
call fcn.0050cb60
push str.var_CSwitchTime____n
push edi
push esi
call fcn.0050cb60
call fcn.004fd3f0
push 0x78a924
push edi
push esi
call fcn.0050cb60
push str.var_CSwitchThreads__
push edi
push esi
call fcn.0050cb60
push 0x78aa64
push edi
push esi
call fcn.0050cb60
xor eax, eax
add esp, 0x48
mov dword [ebp + 0x10], eax
cmp dword [0x844bb4], eax
jbe 0x4f6e35
nop
push dword [eax*4 + 0x844b94]
mov eax, dword [eax*4 + 0x844ba4]
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 [0x844bb4]
jb 0x4f6e10
mov esi, dword [0x844c70]
mov esi, dword [esi + 4]
shl esi, 2
mov eax, esi
call fcn.006ff930
mov eax, esp
push esi
push 0
push eax
mov dword [ebp + 0x14], eax
call fcn.007012e0
mov esi, dword [0x844c70]
xor edx, edx
add esp, 0xc
cmp dword [esi], edx
jbe 0x4f6e8d
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 0x4f6e71
mov edi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
shl eax, 2
call fcn.006ff930
mov eax, dword [esi]
shl eax, 2
mov dword [ebp + 0x10], esp
call fcn.006ff930
mov ecx, dword [esi + 4]
xor eax, eax
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x10], esp
test ecx, ecx
je 0x4f6ec3
mov dword [edx + eax*4], eax
inc eax
cmp eax, dword [esi + 4]
jb 0x4f6eb4
mov edi, dword [ebp + 0xc]
mov ecx, dword [esi + 4]
xor eax, eax
cmp dword [esi], eax
jbe 0x4f6edb
mov ecx, dword [ebp - 0x10]
nop dword [eax]
mov dword [ecx + eax*4], eax
inc eax
cmp eax, dword [esi]
jb 0x4f6ed0
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.004f32d0
mov eax, dword [0x844c70]
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.004f32d0
mov esi, dword [ebp + 8]
push str._n_____nMarker_Per_Group_n
push edi
push esi
call fcn.0050cc20
mov edx, dword [0x844c70]
xor eax, eax
add esp, 0x2c
mov dword [ebp - 0x34], eax
cmp dword [edx + 4], eax
jbe 0x4f6f6c
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.0050cc20
mov eax, dword [ebp - 0x34]
add esp, 0x14
mov edx, dword [0x844c70]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, dword [edx + 4]
jb 0x4f6f33
push str.Marker_Per_Timer_n
push edi
push esi
call fcn.0050cc20
mov eax, dword [0x844c70]
xor ecx, ecx
add esp, 0xc
mov dword [ebp + 0x10], ecx
cmp dword [eax], ecx
jbe 0x4f6fe8
nop dword [eax]
mov edx, dword [ebp - 0x10]
mov edi, dword [0x844c70]
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 [0x844c70]
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.0050cc20
mov ecx, dword [ebp + 0x10]
add esp, 0x18
mov eax, dword [0x844c70]
inc ecx
mov dword [ebp + 0x10], ecx
cmp ecx, dword [eax]
jb 0x4f6f90
push str._n____n
push edi
push esi
call fcn.0050cc20
mov edx, dword [0x844c70]
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 [0xa902b2]
mov ecx, dword [0x8f029c]
test al, al
je 0x4f7053
cmp byte [0x8f028c], 0
je 0x4f7053
test cl, cl
je 0x4f709c
cmp cl, 6
jb 0x4f709c
mov eax, ecx
shr eax, 8
cmp al, 3
jb 0x4f7097
jmp 0x4f705b
test cl, cl
je 0x4f709c
mov dword [ebp + 0x10], 0x5c9a730
mov ecx, dword [ebp + 0x10]
mov eax, dword [0x844c70]
sub ecx, 0x550fc80
add eax, 0xa8
push eax
push ecx
push dword [0x8f02a0]
push dword [0x8f029c]
call fcn.00513ba0
mov edx, dword [0x844c70]
add esp, 0x10
mov ecx, dword [0x8f029c]
mov al, byte [0xa902b2]
mov edi, dword [0xa8ad6c]
test edi, edi
je 0x4f710c
test al, al
je 0x4f70ce
cmp byte [0x8f028c], 0
je 0x4f70ce
test cl, cl
je 0x4f70fe
cmp cl, 6
jb 0x4f70fe
shr ecx, 8
cmp cl, 3
jb 0x4f70fe
jmp 0x4f70d2
test cl, cl
je 0x4f70fe
mov dword [ebp + 0x10], 0x5caee07
mov eax, dword [ebp + 0x10]
push 0
sub eax, 0x5524323
push eax
push dword [0x8f02a0]
push dword [0x8f029c]
call fcn.00513b70
mov edi, dword [0xa8ad6c]
add esp, 0x10
call edi
mov edx, dword [0x844c70]
mov ecx, dword [0x8f029c]
cmp byte [0x844c18], 0
je 0x4f71fe
mov edi, dword [0xa8ad70]
test edi, edi
je 0x4f71fe
cmp byte [0xa902b2], 0
je 0x4f7154
cmp byte [0x8f028c], 0
je 0x4f7154
test cl, cl
je 0x4f718a
cmp cl, 6
jb 0x4f718a
shr ecx, 8
cmp cl, 3
jb 0x4f718a
jmp 0x4f7158
test cl, cl
je 0x4f718a
mov dword [ebp + 0x10], 0x5cd0ea8
mov eax, dword [ebp + 0x10]
push 0
sub eax, 0x5546388
push eax
push dword [0x8f02a0]
push dword [0x8f029c]
call fcn.00513b70
mov edx, dword [0x844c70]
add esp, 0x10
mov edi, dword [0xa8ad70]
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 [0x844c70]
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