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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x700e86
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x148
mov ecx, dword [0x7efdac]
mov al, 1
push esi
push edi
add ecx, 0x161ed0
xchg byte [ecx], al
mov ecx, dword [0x7efdac]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 4], 0
mov eax, dword [ecx + 0x88]
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0xa0], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0xa4], 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 - 0x10], eax
cmp dword [0x7efd48], eax
jbe 0x4d1375
nop dword [eax]
nop dword [eax + eax]
push dword [eax*4 + 0x7efd40]
mov eax, dword [eax*4 + 0x7efd44]
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 [0x7efd48]
jb 0x4d1350
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x10], eax
or eax, edx
mov dword [ebp - 0x18], edx
jne 0x4d138d
rdtsc
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], edx
call fcn.004d9dc0
mov ecx, eax
call fcn.006c0370
movss xmm1, dword [0x71f00c]
cvtsd2ss xmm0, xmm0
mov eax, dword [0x7efdac]
movss dword [ebp + 0x1c], xmm1
divss xmm1, xmm0
mov eax, dword [eax + 0x161ec8]
movss dword [ebp - 0x5c], xmm1
test eax, eax
jne 0x4d13cb
mov eax, 0x3b9aca00
xor edx, edx
jmp 0x4d13cd
call eax
mov ecx, eax
call fcn.006c0370
movss xmm1, dword [ebp + 0x1c]
mov edx, dword [0x7efdac]
cvtsd2ss xmm0, xmm0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
sub eax, dword [edx + 0x20]
sbb ecx, dword [edx + 0x24]
divss xmm1, xmm0
mov edx, ecx
mov ecx, eax
movss dword [ebp - 0x60], xmm1
call fcn.006c0310
mov eax, dword [ebp + 0x14]
mov ecx, 0x71376a
cvtsd2ss xmm0, xmm0
test eax, eax
cmovne ecx, eax
push ecx
push str.var_DumpHost___s__n
mulss xmm0, dword [ebp - 0x5c]
push edi
push esi
movss dword [ebp - 0x40], xmm0
call fcn.004d8a80
lea eax, [ebp - 0xb0]
push eax
call fcn.006d2760
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push str.var_DumpUtcCaptureTime___ld__n
push edi
push esi
call fcn.004d8a80
movss xmm0, dword [ebp - 0x40]
add esp, 0x20
mov eax, dword [0x7efdac]
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.004d8a80
mov eax, dword [0x7efdac]
add esp, 0x18
mov ecx, dword [eax + 0x161ed8]
test ecx, ecx
je 0x4d1493
push dword [eax + 0x161edc]
call ecx
mov eax, dword [0x7efdac]
add esp, 4
mov eax, dword [eax + 0x161ed4]
mov ecx, 0x71376a
test eax, eax
cmovne ecx, eax
push ecx
push str.var_PlatformInfo___s__n
push edi
push esi
call fcn.004d8a80
mov eax, dword [0x7efdac]
push dword [eax + 8]
push str.var_CategoryInfo__Array__d___n
push edi
push esi
call fcn.004d8a80
mov eax, dword [0x7efdac]
xor ecx, ecx
add esp, 0x20
mov dword [ebp + 0x14], ecx
cmp dword [eax + 8], ecx
jbe 0x4d1513
xor edx, edx
mov dword [ebp - 0x10], 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.004d8a80
mov ecx, dword [ebp + 0x14]
add esp, 0x14
mov eax, dword [0x7efdac]
inc ecx
mov edx, dword [ebp - 0x10]
add edx, 0x48
mov dword [ebp + 0x14], ecx
mov dword [ebp - 0x10], edx
cmp ecx, dword [eax + 8]
jb 0x4d14e0
push dword [eax + 4]
push str.var_GroupInfo__Array__d___n_n
push edi
push esi
call fcn.004d8a80
mov ecx, dword [0x7efdac]
add esp, 0x10
mov edx, 1
mov dword [ebp - 0x10], 0
mov eax, dword [ecx + 0x18]
test eax, eax
cmovne edx, eax
cmp dword [ecx + 4], 0
jbe 0x4d1693
movd xmm0, edx
xor eax, eax
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
xor esi, esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], esi
addsd xmm0, qword [edx*8 + 0x715c60]
mov edx, 0x380f8
mov dword [ebp + 0x14], edx
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x48], xmm0
nop dword [eax + eax]
mov eax, dword [eax + ecx + 0x790]
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x4d1595
movss xmm0, dword [ebp - 0x5c]
jmp 0x4d159a
movss xmm0, dword [ebp - 0x60]
mov eax, dword [ebp + 0x14]
mov esi, dword [esi + ecx + 0x18cc]
mov edx, dword [edx + ecx + 4]
movss dword [ebp - 0x30], xmm0
mov ecx, dword [eax + ecx]
call fcn.006c0310
mov eax, dword [ebp - 0x28]
and esi, 0xffffff
mov edi, dword [0x7efdac]
cvtsd2ss xmm0, xmm0
push esi
mov esi, dword [0x7efdac]
mov edi, dword [eax + edi + 0x77c]
mov eax, dword [ebp + 0x14]
mulss xmm0, dword [ebp - 0x30]
mov edx, dword [eax + esi + 0x184]
mov ecx, dword [eax + esi + 0x180]
movss dword [ebp - 0x40], xmm0
call fcn.006c0310
movss xmm1, dword [ebp - 0x40]
sub esp, 0x18
cvtsd2ss xmm0, xmm0
xor eax, eax
cmp dword [ebp - 0x3c], 1
sete al
mulss xmm0, dword [ebp - 0x30]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movaps xmm0, xmm1
divss xmm0, dword [ebp - 0x48]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push eax
mov eax, dword [ebp - 0x28]
push dword [eax + esi + 0x780]
push dword [eax + esi + 0x78c]
add esi, 0x738
add eax, esi
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 dword [ebp + 8]
call fcn.004d8a80
mov esi, dword [ebp - 0x10]
add esp, 0x40
mov ecx, dword [0x7efdac]
inc esi
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x28]
add edx, 8
add dword [ebp - 0x2c], 0x60
add eax, 0x5c
cmp esi, dword [ecx + 4]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x2c]
mov dword [ebp + 0x14], edx
mov dword [ebp - 0x28], eax
jb 0x4d1580
mov esi, dword [ecx]
lea eax, [esi + esi*8]
shl eax, 3
call fcn.006c0920
mov edx, esp
push esi
lea eax, [edx + esi*8]
mov dword [ebp - 0x2c], eax
mov eax, esi
shl eax, 4
add eax, edx
mov dword [ebp - 0x24], eax
lea eax, [esi + esi*2]
lea eax, [edx + eax*8]
mov dword [ebp - 0x34], eax
mov eax, esi
shl eax, 5
add eax, edx
mov dword [ebp + 0x14], eax
lea eax, [esi + esi*4]
lea ecx, [edx + eax*8]
lea eax, [esi + esi*2]
shl eax, 4
add eax, edx
mov dword [ebp - 0x38], eax
lea eax, [esi*8]
sub eax, esi
lea eax, [edx + eax*8]
mov dword [ebp - 0x28], eax
mov eax, esi
shl eax, 6
add eax, edx
push eax
push dword [ebp - 0x28]
mov dword [ebp - 0x54], eax
push dword [ebp - 0x38]
push ecx
push dword [ebp + 0x14]
push dword [ebp - 0x34]
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push edx
call fcn.004cfd40
mov eax, dword [0x7efdac]
mov esi, dword [ebp + 8]
push dword [eax]
push str._nvar_TimerInfo__Array__d___n_n
push edi
push esi
call fcn.004d8a80
mov edx, dword [0x7efdac]
add esp, 0x38
mov dword [ebp - 0x10], 0
cmp dword [edx], 0
jbe 0x4d19ab
mov eax, dword [ebp + 0x14]
xor ecx, ecx
sub dword [ebp - 0x54], eax
sub dword [ebp - 0x28], eax
sub dword [ebp - 0x38], eax
sub dword [ebp - 0x34], eax
sub dword [ebp - 0x24], eax
sub dword [ebp - 0x2c], eax
mov dword [ebp - 0x58], 0x383f8
sub dword [ebp - 0x58], eax
mov dword [ebp - 0x44], 0x3e3f8
sub dword [ebp - 0x44], eax
mov dword [ebp - 0x20], 0x403f8
sub dword [ebp - 0x20], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x18], 0x2bc80
nop dword [eax + eax]
mov ecx, dword [ecx + edx + 0x18cc]
sub esp, 8
mov edi, dword [ebp - 0x30]
mov edx, dword [edi + edx + 0x1880]
mov edi, dword [ebp - 0x54]
movss xmm0, dword [edi + eax]
mov edi, dword [0x7efdac]
mov eax, dword [ebp - 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [eax + edi]
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp - 0x28]
sub esp, 0x30
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
movss xmm0, dword [edi + eax]
mov edi, dword [ebp - 0x38]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
movss xmm0, dword [edi + eax]
mov edi, dword [ebp - 0x34]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [edi + eax]
mov edi, dword [ebp - 0x24]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [edi + eax]
mov edi, dword [ebp - 0x2c]
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 [0x7efdac]
push ecx
mov ecx, dword [ebp - 0x30]
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.004d8a80
push 0x744994
push 2
push edi
call esi
mov ecx, dword [ebp + 0x14]
xor eax, eax
mov edx, dword [0x7efdac]
add esp, 0x6c
add ecx, dword [ebp - 0x58]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], ecx
cmp dword [eax + edx + 0x42420], 0
je 0x4d1899
push dword [ecx + edx + 4]
push dword [ecx + edx]
push edi
push esi
call fcn.004d8a00
mov edx, dword [0x7efdac]
add esp, 0x10
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
add eax, 0xa030
add ecx, 0xa030
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x50180
jl 0x4d1872
push 0x744998
push 3
push edi
call esi
mov ecx, dword [ebp + 0x14]
xor eax, eax
mov edx, dword [0x7efdac]
add esp, 0xc
add ecx, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], ecx
cmp dword [eax + edx + 0x42420], 0
je 0x4d18f9
push dword [ecx + edx + 4]
push dword [ecx + edx]
push edi
push esi
call fcn.004d8a00
mov edx, dword [0x7efdac]
add esp, 0x10
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
add eax, 0xa030
add ecx, 0xa030
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], ecx
cmp eax, 0x50180
jl 0x4d18d2
push 0x744998
push 3
push edi
call esi
mov ecx, dword [ebp + 0x14]
xor eax, eax
mov edx, dword [0x7efdac]
add esp, 0xc
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], ecx
cmp dword [eax + edx + 0x42420], 0
je 0x4d1959
push dword [ecx + edx + 4]
push dword [ecx + edx]
push edi
push esi
call fcn.004d8a00
mov edx, dword [0x7efdac]
add esp, 0x10
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
add eax, 0xa030
add ecx, 0xa030
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], ecx
cmp eax, 0x50180
jl 0x4d1932
push 0x74499c
push 4
push edi
call esi
mov edx, dword [0x7efdac]
add esp, 0xc
inc dword [ebp - 0x10]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x30]
add eax, 8
mov edi, dword [ebp - 0x10]
add ecx, 0x60
add dword [ebp - 0x18], 0x10
cmp edi, dword [edx]
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
mov dword [ebp - 0x30], ecx
jb 0x4d1780
push str._nvar_ThreadNames___
push 0x14
push edi
call esi
mov ecx, 0x89bcc
add esp, 0xc
mov dword [ebp + 0x14], ecx
mov eax, dword [0x7efdac]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4d19e4
add eax, 0x4e8
push eax
push 0x7449bc
push edi
push esi
call fcn.004d8a80
mov ecx, dword [ebp + 0x14]
add esp, 0x10
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89dcc
jb 0x4d19c0
push str.___n_n
push 4
push edi
call esi
push str._nvar_ThreadIds___
push 0x12
push edi
call esi
mov ecx, 0x89bcc
add esp, 0x18
mov dword [ebp + 0x14], ecx
mov eax, dword [0x7efdac]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4d1a2f
push 0
push dword [eax + 0x24]
push edi
push esi
call fcn.004d8a00
mov ecx, dword [ebp + 0x14]
add esp, 0x10
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89dcc
jb 0x4d1a11
push str.___n_n
push 4
push edi
call esi
push str._nvar_ThreadGpu___
push 0x12
push edi
call esi
mov ecx, 0x89bcc
add esp, 0x18
mov dword [ebp + 0x14], ecx
nop dword [eax]
mov eax, dword [0x7efdac]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4d1a7e
push 0
push dword [eax + 0x20]
push edi
push esi
call fcn.004d8a00
mov ecx, dword [ebp + 0x14]
add esp, 0x10
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89dcc
jb 0x4d1a60
push str.___n_n
push 4
push edi
call esi
push str._nvar_ThreadClobbered__Array____n_n
push 0x21
push edi
call esi
push str._nThreadClobbered___
push 0x14
push edi
call esi
mov ecx, 0x89bcc
add esp, 0x24
mov dword [ebp + 0x14], ecx
mov eax, dword [0x7efdac]
cmp dword [ecx + eax], 0
je 0x4d1adb
lea eax, [ebp - 0xb2]
mov word [ebp - 0xb2], 0x2c30
push eax
push 2
push edi
call esi
mov ecx, dword [ebp + 0x14]
add esp, 0xc
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89dcc
jb 0x4d1ab5
push str.___n_n
push 4
push edi
call esi
push str._nvar_ThreadBufferSizes___
push 0x1a
push edi
call esi
movss xmm0, dword [0x71effc]
mov ecx, 0x89bcc
movss xmm1, dword [0x744e48]
add esp, 0x18
movss xmm2, dword [0x744e44]
movss xmm3, dword [0x744e40]
movss xmm4, dword [0x744e4c]
mov dword [ebp + 0x14], ecx
mov eax, dword [0x7efdac]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4d1b9f
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4d1b5b
sub eax, 1
je 0x4d1b56
sub eax, 2
jne 0x4d1b5e
movaps xmm0, xmm1
jmp 0x4d1b5e
movaps xmm0, xmm2
jmp 0x4d1b5e
movaps xmm0, xmm3
mulss xmm0, xmm4
call fcn.006c0070
push 0
push eax
push edi
push esi
call fcn.004d8a00
movss xmm0, dword [0x71effc]
add esp, 0x10
movss xmm1, dword [0x744e48]
movss xmm2, dword [0x744e44]
movss xmm3, dword [0x744e40]
movss xmm4, dword [0x744e4c]
mov ecx, dword [ebp + 0x14]
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89dcc
jb 0x4d1b30
push str.___n_n
push 4
push edi
call esi
push str._nvar_ThreadGroupTimeArray____n
push 0x1e
push edi
call esi
mov ecx, 0x89bcc
add esp, 0x18
mov dword [ebp + 0x14], ecx
nop dword [eax]
mov eax, dword [0x7efdac]
mov eax, dword [ecx + eax]
test eax, eax
je 0x4d1c4d
cmp dword [eax + 0x20], 0
je 0x4d1be9
movss xmm0, dword [ebp - 0x60]
jmp 0x4d1bee
movss xmm0, dword [ebp - 0x5c]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.MakeTimes__e__
push edi
push esi
call fcn.004d8a80
mov ecx, 0x368
add esp, 0x14
mov dword [ebp - 0x14], ecx
mov eax, dword [0x7efdac]
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax]
push dword [eax + ecx + 4]
push dword [eax + ecx]
push edi
push esi
call fcn.004d8a00
mov ecx, dword [ebp - 0x14]
add esp, 0x10
add ecx, 8
mov dword [ebp - 0x14], ecx
cmp ecx, 0x4e8
jb 0x4d1c10
push str.____n
push 4
push edi
call esi
mov ecx, dword [ebp + 0x14]
add esp, 0xc
add ecx, 4
mov dword [ebp + 0x14], ecx
cmp ecx, 0x89dcc
jb 0x4d1bd0
push 0x744a84
push 2
push edi
call esi
push str._nvar_MetaNames___
push 0x12
push edi
call esi
add esp, 0x18
xor ecx, ecx
mov dword [ebp + 0x14], ecx
nop dword [eax + eax]
mov eax, dword [0x7efdac]
mov eax, dword [ecx + eax + 0x42420]
test eax, eax
je 0x4d1ca3
push eax
push 0x7449bc
push edi
push esi
call fcn.004d8a80
mov ecx, dword [ebp + 0x14]
add esp, 0x10
add ecx, 0xa030
mov dword [ebp + 0x14], ecx
cmp ecx, 0x50180
jl 0x4d1c80
push str.___n_n
push 4
push edi
call esi
push str._nvar_CounterInfo___
push 0x14
push edi
call esi
mov ecx, dword [0x7efdac]
add esp, 0x18
mov dword [ebp - 0x28], 0
cmp dword [ecx + 0xdeea0], 0
jbe 0x4d1f6c
xor eax, eax
mov edx, 0x160eb0
mov dword [ebp + 0x14], eax
xorps xmm1, xmm1
mov dword [ebp - 0x38], edx
nop word [eax + eax]
movq xmm0, qword [edx + ecx - 0x82008]
movq qword [ebp - 0x50], xmm0
nop
mov ecx, dword [0x7efdac]
movss xmm0, dword [0x71effc]
movss dword [ebp - 0x24], xmm1
movss dword [ebp - 0x14], xmm0
mov edi, dword [eax + ecx + 0xd9eb8]
mov dword [ebp - 0x10], edi
mov edi, dword [eax + ecx + 0xd9ebc]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], edi
or eax, edi
mov edi, dword [ebp + 0xc]
je 0x4d1d9d
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
call fcn.006c0370
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x24], xmm0
call fcn.006c0370
movss xmm1, dword [ebp - 0x24]
cvtsd2ss xmm0, xmm0
mov ecx, dword [0x7efdac]
mov edx, dword [ebp - 0x38]
movss xmm2, dword [0x71effc]
divss xmm1, xmm0
comiss xmm1, xmm2
movss dword [ebp - 0x24], xmm1
jbe 0x4d1d9d
movaps xmm0, xmm2
movss dword [ebp - 0x24], xmm2
divss xmm0, xmm1
movss dword [ebp - 0x14], xmm0
mov eax, dword [edx + ecx]
mov dword [ebp - 0x30], eax
mov eax, dword [edx + ecx + 4]
mov dword [ebp - 0x2c], eax
mov eax, dword [edx + ecx - 0x1000]
mov dword [ebp - 0x18], eax
mov eax, dword [edx + ecx - 0xffc]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x150]
push 0x3f
push eax
push dword [ebp - 0x4c]
mov eax, dword [ebp + 0x14]
push dword [ebp - 0x50]
push dword [eax + ecx + 0xd9ec0]
call fcn.004d6fc0
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x110]
push 0x3f
push eax
mov eax, dword [0x7efdac]
push dword [ecx + eax + 0xd9ebc]
push dword [ecx + eax + 0xd9eb8]
push dword [ecx + eax + 0xd9ec0]
call fcn.004d6fc0
movss xmm0, dword [ebp - 0x14]
add esp, 0x18
mov ecx, dword [0x7efdac]
xor eax, eax
mov edx, dword [ebp + 0x14]
cvtps2pd xmm0, xmm0
cmp dword [edx + ecx + 0xd9ec0], 1
sete al
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x24]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x150]
push dword [ebp - 0x10]
push eax
push dword [ebp - 0x20]
movzx eax, byte [edx + ecx + 0xd9eae]
push dword [ebp - 0x18]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [edx + ecx + 0xd9eb0]
push eax
push dword [edx + ecx + 0xd9ea8]
push dword [edx + ecx + 0xd9ea4]
push dword [edx + ecx + 0xd9ea0]
push dword [ebp - 0x28]
push str.MakeCounter__d___d___d___d___d___s___lld___lld___lld___s___lld___s___d___f___f___
push edi
push esi
call fcn.004d8a80
mov edx, dword [0x7efdac]
add esp, 0x60
mov eax, dword [ebp + 0x14]
test dword [eax + edx + 0xd9eb4], 1
je 0x4d1f28
mov ecx, dword [edx + 0xdfea8]
xor eax, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x14], eax
nop dword [eax]
add eax, ecx
and eax, 0x7f
shl eax, 9
add eax, dword [ebp - 0x28]
mov ecx, dword [edx + eax*8 + 0xdfeb0]
mov eax, dword [edx + eax*8 + 0xdfeb4]
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x2c], eax
jl 0x4d1eec
jg 0x4d1ee7
cmp edx, ecx
jbe 0x4d1eec
mov eax, dword [ebp - 0x2c]
mov ecx, edx
cmp dword [ebp - 0x20], eax
jg 0x4d1efe
jl 0x4d1ef8
cmp dword [ebp - 0x18], ecx
jae 0x4d1efe
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
sub ecx, edx
sbb eax, dword [ebp - 0x2c]
push eax
push ecx
push edi
push esi
call fcn.004d8a00
mov eax, dword [ebp - 0x14]
add esp, 0x10
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x80
jae 0x4d1f28
mov edx, dword [0x7efdac]
mov ecx, dword [ebp - 0x40]
jmp 0x4d1ec0
push str.____n
push 4
push edi
call esi
mov edi, dword [0x7efdac]
add esp, 0xc
mov ecx, dword [ebp - 0x28]
xorps xmm1, xmm1
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, dword [ebp + 0x14]
add edx, 8
add eax, 0x28
mov dword [ebp - 0x28], ecx
cmp ecx, dword [edi + 0xdeea0]
mov edi, dword [ebp + 0xc]
mov ecx, dword [0x7efdac]
mov dword [ebp - 0x38], edx
mov dword [ebp + 0x14], eax
jb 0x4d1d00
push str.___n_n
push 4
push edi
call esi
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 - 0x44], edx
mov dword [ebp - 0x20], eax
cmp ecx, eax
jb 0x4d2109
mov ecx, dword [0x7efdac]
nop dword [eax]
mov ecx, dword [ecx + 0x89dd0]
sub ecx, eax
mov dword [ebp - 0x1c], 0
mov eax, ecx
and eax, 0x1ff
imul edx, eax, 0x250
lea eax, [ecx + 1]
mov ecx, dword [0x7efdac]
and eax, 0x1ff
imul eax, eax, 0x250
add edx, dword [0x7efdac]
sub eax, edx
add eax, ecx
lea esi, [edx + 0x89e14]
mov dword [ebp - 0x10], eax
mov eax, 0xfffffdb8
sub eax, edx
mov dword [ebp - 0x18], esi
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x48], eax
add eax, esi
mov eax, dword [eax + ecx]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x4d20c5
cmp byte [ecx + 0x161ee4], 0
jne 0x4d20ae
cmp byte [0x7efd8c], 0
jne 0x4d20ae
mov eax, dword [eax + 0x528]
mov ecx, dword [esi]
movss xmm0, dword [0x71effc]
mov dword [ebp - 0x14], ecx
sub eax, 0
je 0x4d2063
sub eax, 1
je 0x4d2059
sub eax, 2
jne 0x4d206b
movss xmm0, dword [0x744e48]
jmp 0x4d206b
movss xmm0, dword [0x744e44]
jmp 0x4d206b
movss xmm0, dword [0x744e40]
mulss xmm0, dword [0x744e4c]
call fcn.006c0070
mov ecx, dword [ebp - 0x10]
mov esi, eax
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [eax + ecx]
sub eax, dword [ebp - 0x14]
add eax, esi
div esi
mov eax, dword [ebp - 0x40]
mov ecx, edx
mov eax, dword [eax + 4]
nop
sub eax, dword [ebp - 0x14]
xor edx, edx
add eax, esi
div esi
cmp ecx, edx
ja 0x4d20ff
mov esi, dword [ebp - 0x18]
mov ecx, dword [0x7efdac]
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 - 0x20]
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x1c]
add esi, 4
inc eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], eax
cmp eax, 0x80
mov eax, dword [ebp - 0x48]
jb 0x4d2003
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x44]
inc eax
mov esi, dword [ebp + 0x14]
inc edx
mov dword [ebp - 0x20], eax
mov dword [ebp + 0x14], esi
mov dword [ebp - 0x44], edx
cmp eax, dword [ebp + 0x10]
jbe 0x4d1fb0
jmp 0x4d2106
mov edx, dword [ebp - 0x44]
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 [0x7efdac]
mov eax, dword [esi + 0x89dd0]
sub eax, dword [ebp + 0x14]
and eax, 0x1ff
mov dword [ebp - 0x9c], eax
imul eax, eax, 0x250
mov ecx, dword [eax + esi + 0x89e00]
mov dword [ebp - 0x54], ecx
mov ecx, dword [eax + esi + 0x89e04]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [eax + esi + 0x89e08]
mov eax, dword [eax + esi + 0x89e0c]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x58], eax
call fcn.004d9dc0
mov esi, dword [0x7efdac]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x40], edx
mov ecx, dword [esi + 0x161ec8]
test ecx, ecx
je 0x4d2181
call ecx
mov esi, dword [0x7efdac]
mov esi, dword [esi]
shl esi, 2
mov eax, esi
call fcn.006c0920
mov eax, esp
push esi
push 0
push eax
mov dword [ebp - 0x2c], eax
call fcn.006c2360
push dword [ebp + 0x14]
mov esi, dword [ebp + 8]
push str.var_Frames__Array__d___n
push edi
push esi
call fcn.004d8a80
add esp, 0x1c
mov dword [ebp + 0x10], 0
cmp dword [ebp + 0x14], 0
jbe 0x4d2c56
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
call fcn.006c0370
movss xmm1, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x6c]
cvtsd2ss xmm0, xmm0
shld ecx, eax, 0x10
divss xmm1, xmm0
shl eax, 0x10
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x44]
shld ecx, eax, 0x10
movss dword [ebp + 0x1c], xmm1
shl eax, 0x10
mov dword [ebp - 0x40], ecx
xor ecx, ecx
mov dword [ebp - 0x48], eax
nop word [eax + eax]
mov eax, dword [ebp - 0x9c]
add eax, ecx
and eax, 0x1ff
push ecx
mov dword [ebp - 0x34], eax
inc eax
push str.var_tt_d____n
and eax, 0x1ff
push edi
push esi
mov dword [ebp - 0x38], eax
call fcn.004d8a80
mov ecx, dword [0x7efdac]
add esp, 0x10
xor edx, edx
mov eax, 0x89bcc
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], eax
nop dword [eax]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4d233e
imul eax, dword [ebp - 0x34], 0x94
push 0x744b3c
push 1
push edi
add eax, edx
mov eax, dword [ecx + eax*4 + 0x89e14]
mov dword [ebp - 0x10], eax
imul eax, dword [ebp - 0x38], 0x94
add eax, edx
mov eax, dword [ecx + eax*4 + 0x89e14]
mov dword [ebp - 0x1c], eax
call esi
mov eax, dword [ebp - 0x14]
add esp, 0xc
movss xmm0, dword [0x71effc]
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4d22c5
sub eax, 1
je 0x4d22bb
sub eax, 2
jne 0x4d22cd
movss xmm0, dword [0x744e48]
jmp 0x4d22cd
movss xmm0, dword [0x744e44]
jmp 0x4d22cd
movss xmm0, dword [0x744e40]
mulss xmm0, dword [0x744e4c]
call fcn.006c0070
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x1c]
je 0x4d2328
mov ecx, dword [ebp - 0x14]
push 0
mov ecx, dword [ecx]
mov edx, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
add edx, 8
shr ecx, 0x1d
mov eax, 3
cmp ecx, 2
cmovne edx, ecx
cmp edx, 5
cmove edx, eax
push edx
push edi
push esi
call fcn.004d8a00
mov eax, dword [ebp - 0x10]
xor edx, edx
inc eax
add esp, 0x10
div dword [ebp - 0x3c]
mov eax, edx
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x1c]
jne 0x4d22e5
push 0x744b40
push 3
push edi
call esi
mov ecx, dword [0x7efdac]
add esp, 0xc
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
inc edx
add eax, 4
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], eax
cmp eax, 0x89dcc
jb 0x4d2250
push 0x744b44
push 3
push edi
call esi
push dword [ebp + 0x10]
push str.var_ts_d____n
push edi
push esi
call fcn.004d8a80
mov edx, dword [0x7efdac]
add esp, 0x1c
xor eax, eax
mov ecx, 0x89bcc
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ecx + edx]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x4d250b
imul eax, dword [ebp - 0x34], 0x94
movss xmm0, dword [ebp - 0x5c]
cvtps2pd xmm0, xmm0
add eax, dword [ebp - 0x24]
mov eax, dword [edx + eax*4 + 0x89e14]
mov dword [ebp - 0x10], eax
imul eax, dword [ebp - 0x38], 0x94
add eax, dword [ebp - 0x24]
cmp dword [ecx + 0x20], 0
mov eax, dword [edx + eax*4 + 0x89e14]
mov dword [ebp - 0x20], eax
je 0x4d23ff
push dword [ebp - 0x24]
push dword [ebp + 0x10]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x60]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.MakeTimesExtra__e__e_tt_d__d___
push edi
push esi
call fcn.004d8a80
mov eax, dword [ebp - 0x44]
add esp, 0x24
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x58]
jmp 0x4d241f
sub esp, 8
movsd qword [esp], xmm0
push str.MakeTimes__e__
push edi
push esi
call fcn.004d8a80
mov eax, dword [ebp - 0x54]
add esp, 0x14
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x6c]
movss xmm0, dword [0x71effc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4d2456
sub eax, 1
je 0x4d244c
sub eax, 2
jne 0x4d245e
movss xmm0, dword [0x744e48]
jmp 0x4d245e
movss xmm0, dword [0x744e44]
jmp 0x4d245e
movss xmm0, dword [0x744e40]
mulss xmm0, dword [0x744e4c]
call fcn.006c0070
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x20]
je 0x4d24f5
mov ecx, dword [ebp - 0x14]
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, 1
je 0x4d24b4
test eax, eax
je 0x4d24b4
cmp eax, 4
jne 0x4d24a4
shld edx, esi, 0x10
shl esi, 0x10
sub esi, dword [ebp - 0x30]
sbb edx, dword [ebp - 0x28]
jmp 0x4d24cc
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x50]
jmp 0x4d24d3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
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 edx
push esi
mov esi, dword [ebp + 8]
push edi
push esi
call fcn.004d8a00
mov eax, dword [ebp - 0x10]
xor edx, edx
inc eax
add esp, 0x10
div dword [ebp - 0x64]
mov eax, edx
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x20]
jne 0x4d2476
push str.____n
push 4
push edi
call esi
mov edx, dword [0x7efdac]
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
inc eax
add ecx, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x89dcc
jb 0x4d2385
push 0x744b44
push 3
push edi
call esi
push dword [ebp + 0x10]
push str.var_ti_d____n
push edi
push esi
call fcn.004d8a80
mov ecx, dword [0x7efdac]
add esp, 0x1c
xor edx, edx
mov eax, 0x89bcc
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], eax
mov eax, dword [eax + ecx]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x4d266a
imul eax, dword [ebp - 0x34], 0x94
push 0x744b3c
push 1
push edi
mov dword [ebp - 0x14], 0
add eax, edx
mov eax, dword [ecx + eax*4 + 0x89e14]
mov dword [ebp - 0x10], eax
imul eax, dword [ebp - 0x38], 0x94
add eax, edx
mov eax, dword [ecx + eax*4 + 0x89e14]
mov dword [ebp - 0x1c], eax
call esi
mov eax, dword [ebp - 0x3c]
add esp, 0xc
movss xmm0, dword [0x71effc]
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4d25cf
sub eax, 1
je 0x4d25c5
sub eax, 2
jne 0x4d25d7
movss xmm0, dword [0x744e48]
jmp 0x4d25d7
movss xmm0, dword [0x744e44]
jmp 0x4d25d7
movss xmm0, dword [0x744e40]
mulss xmm0, dword [0x744e4c]
call fcn.006c0070
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x1c]
je 0x4d2654
nop
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx]
mov edx, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
mov ecx, eax
shr eax, 0x10
shr ecx, 0x1d
and eax, 0x1fff
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x24], eax
cmp ecx, 3
je 0x4d261c
cmp ecx, 5
jne 0x4d2625
mov ecx, dword [ebp - 0x14]
mov eax, ecx
inc ecx
mov dword [ebp - 0x14], ecx
push 0
push eax
push edi
push esi
call fcn.004d8a00
add esp, 0x10
cmp dword [ebp - 0x64], 1
jne 0x4d2641
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
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 - 0x1c]
jne 0x4d25f0
push 0x744b40
push 3
push edi
call esi
mov ecx, dword [0x7efdac]
add esp, 0xc
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
inc edx
add eax, 4
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], eax
cmp eax, 0x89dcc
jb 0x4d2553
push 0x744b44
push 3
push edi
call esi
push dword [ebp + 0x10]
push str.var_tl_d____n
push edi
push esi
call fcn.004d8a80
mov ecx, dword [0x7efdac]
add esp, 0x1c
xor edx, edx
mov eax, 0x89bcc
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], eax
mov eax, dword [eax + ecx]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x4d29b6
imul eax, dword [ebp - 0x34], 0x94
push 0x744b3c
push 1
push edi
add eax, edx
mov eax, dword [ecx + eax*4 + 0x89e14]
mov dword [ebp - 0x18], eax
imul eax, dword [ebp - 0x38], 0x94
add eax, edx
mov eax, dword [ecx + eax*4 + 0x89e14]
mov dword [ebp - 0x14], eax
call esi
mov eax, dword [ebp - 0x3c]
add esp, 0xc
movss xmm0, dword [0x71effc]
mov eax, dword [eax + 0x528]
sub eax, 0
je 0x4d2726
sub eax, 1
je 0x4d271c
sub eax, 2
jne 0x4d272e
movss xmm0, dword [0x744e48]
jmp 0x4d272e
movss xmm0, dword [0x744e44]
jmp 0x4d272e
movss xmm0, dword [0x744e40]
mulss xmm0, dword [0x744e4c]
call fcn.006c0070
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x14]
je 0x4d29a0
nop word [eax + eax]
mov ecx, dword [ebp - 0x3c]
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, 3
je 0x4d276f
cmp eax, 5
jne 0x4d2986
movzx edx, cx
cmp eax, 5
je 0x4d27bb
mov eax, dword [0x7efdac]
mov eax, dword [eax + 0xd7e90]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x7efdac]
movq xmm0, qword [eax + 0xd7e98]
movq qword [ebp - 0x68], xmm0
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
sub ecx, esi
sbb eax, edx
mov dword [ebp - 0x64], eax
jne 0x4d27b9
cmp ecx, 0x800000
ja 0x4d27b9
and esi, 0x7fffff
add esi, dword [ebp - 0x4c]
jmp 0x4d27bb
xor esi, esi
test esi, esi
je 0x4d2974
push 0x71c91c
push 1
push edi
call dword [ebp + 8]
lea edx, [ebp - 0x8c]
mov dword [ebp - 0x90], 0x20
add esp, 0xc
mov dword [ebp - 0x98], edx
mov ecx, esi
mov byte [ebp - 4], 1
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d27f0
sub ecx, edi
lea eax, [ecx + esi]
xor ecx, ecx
mov edi, eax
mov dword [ebp - 0x4c], eax
sub edi, esi
mov dword [ebp - 0x94], ecx
cmp edi, 0x20
jbe 0x4d2831
push 1
push edi
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x98]
call fcn.004f7fc0
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
lea eax, [ecx + edx]
mov dword [ebp - 0x64], eax
cmp esi, dword [ebp - 0x4c]
je 0x4d2853
push edi
push esi
push eax
call fcn.006c1de0
mov ecx, dword [ebp - 0x94]
add esp, 0xc
mov edx, dword [ebp - 0x98]
add ecx, edi
mov dword [ebp - 0x94], ecx
lea esi, [ecx + edx]
mov byte [ebp - 4], 2
mov edi, edx
mov dword [ebp - 0x10], esi
cmp edi, esi
je 0x4d28cb
nop dword [eax + eax]
movzx eax, byte [edi]
push eax
call fcn.006d7610
add esp, 4
test eax, eax
je 0x4d2885
inc edi
cmp edi, esi
jne 0x4d2870
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
cmp edi, esi
je 0x4d28cb
mov eax, dword [ebp - 0x10]
lea esi, [edi + 1]
cmp esi, eax
je 0x4d28ce
nop
movzx eax, byte [esi]
push eax
call fcn.006d7610
add esp, 4
test eax, eax
je 0x4d28b5
mov al, byte [esi]
mov byte [edi], al
inc edi
mov eax, dword [ebp - 0x10]
inc esi
cmp esi, eax
jne 0x4d28a0
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
jmp 0x4d28ce
mov eax, dword [ebp - 0x10]
lea esi, [ecx + edx]
sub esi, eax
push esi
push eax
push edi
call fcn.006c1de0
mov ecx, dword [ebp - 0x98]
lea eax, [esi + edi]
sub eax, ecx
add esp, 0xc
mov dword [ebp - 0x94], eax
lea edx, [eax + 1]
cmp edx, dword [ebp - 0x90]
jbe 0x4d291b
push 1
push edx
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x98]
call fcn.004f7fc0
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x98]
mov byte [eax + ecx], 0
mov edx, dword [ebp - 0x98]
mov ecx, edx
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d2930
mov edi, dword [ebp + 0xc]
sub ecx, esi
mov esi, dword [ebp + 8]
push edx
push ecx
push edi
call esi
push 0x7446c8
push 2
push edi
call esi
add esp, 0x18
mov eax, dword [ebp - 0x98]
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 3
cmp eax, ecx
je 0x4d296e
push eax
call fcn.004e8320
add esp, 4
mov byte [ebp - 4], 0
jmp 0x4d2989
mov esi, dword [ebp + 8]
push str.null_
push 5
push edi
call esi
add esp, 0xc
jmp 0x4d2989
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
xor edx, edx
inc eax
div dword [ebp - 0x24]
mov eax, edx
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x14]
jne 0x4d2750
push 0x744b40
push 3
push edi
call esi
mov ecx, dword [0x7efdac]
add esp, 0xc
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
inc edx
add eax, 4
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], eax
cmp eax, 0x89dcc
jb 0x4d26b1
push 0x744b44
push 3
push edi
call esi
imul eax, dword [ebp - 0x34], 0x250
add esp, 4
mov edi, dword [0x7efdac]
imul esi, dword [ebp - 0x38], 0x250
mov dword [ebp - 0x34], eax
mov ecx, dword [eax + edi + 0x89df8]
mov edx, dword [eax + edi + 0x89dfc]
movss xmm0, dword [eax + edi + 0x89de8]
shld edx, ecx, 0x10
cvtps2pd xmm0, xmm0
shl ecx, 0x10
sub ecx, dword [ebp - 0x30]
sbb edx, dword [ebp - 0x28]
shrd ecx, edx, 0x10
movsd qword [esp], xmm0
sar edx, 0x10
call fcn.006c0370
mov eax, dword [ebp - 0x34]
sub esp, 8
cvtsd2ss xmm0, xmm0
mov ecx, dword [eax + edi + 0x89df0]
mov edx, dword [eax + edi + 0x89df4]
shld edx, ecx, 0x10
mulss xmm0, dword [ebp + 0x1c]
shl ecx, 0x10
sub ecx, dword [ebp - 0x30]
sbb edx, dword [ebp - 0x28]
cvtss2sd xmm0, xmm0
shrd ecx, edx, 0x10
movsd qword [esp], xmm0
sar edx, 0x10
call fcn.006c0370
mov eax, dword [ebp - 0x34]
sub esp, 8
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [ebp + 0x1c]
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [eax + edi + 0x89dec]
call fcn.006c00c0
mov ecx, eax
call fcn.006c0370
mov ecx, dword [ebp - 0x34]
sub esp, 8
cvtsd2ss xmm0, xmm0
movzx eax, byte [ecx + edi + 0x8a031]
mulss xmm0, dword [ebp + 0x1c]
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
push dword [ecx + edi + 0x8a02c]
movss xmm0, dword [ecx + edi + 0x8a028]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push dword [ecx + edi + 0x8a024]
movss xmm0, dword [ecx + edi + 0x8a020]
cvtps2pd xmm0, xmm0
sub esp, 0x20
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [ecx + edi + 0x8a01c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [ecx + edi + 0x8a018]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ecx + edi + 0x8a014]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
movzx eax, byte [ecx + edi + 0x8a030]
mov ecx, dword [esi + edi + 0x89e08]
push eax
mov eax, dword [ebp + 0x10]
push eax
push eax
push eax
push eax
mov edx, dword [esi + edi + 0x89e0c]
shld edx, ecx, 0x10
shl ecx, 0x10
sub ecx, dword [ebp - 0x48]
sbb edx, dword [ebp - 0x40]
shrd ecx, edx, 0x10
sar edx, 0x10
call fcn.006c0370
mov eax, dword [ebp - 0x34]
sub esp, 8
cvtsd2ss xmm0, xmm0
mov ecx, dword [eax + edi + 0x89e08]
mov edx, dword [eax + edi + 0x89e0c]
shld edx, ecx, 0x10
mulss xmm0, dword [ebp - 0x60]
shl ecx, 0x10
sub ecx, dword [ebp - 0x48]
sbb edx, dword [ebp - 0x40]
cvtss2sd xmm0, xmm0
shrd ecx, edx, 0x10
movsd qword [esp], xmm0
sar edx, 0x10
call fcn.006c0370
mov ecx, dword [esi + edi + 0x89e00]
sub esp, 8
mov edx, dword [esi + edi + 0x89e04]
cvtsd2ss xmm0, xmm0
shld edx, ecx, 0x10
mulss xmm0, dword [ebp - 0x60]
shl ecx, 0x10
sub ecx, dword [ebp - 0x30]
sbb edx, dword [ebp - 0x28]
cvtss2sd xmm0, xmm0
shrd ecx, edx, 0x10
movsd qword [esp], xmm0
sar edx, 0x10
call fcn.006c0370
mov eax, dword [ebp - 0x34]
sub esp, 8
cvtsd2ss xmm0, xmm0
mov ecx, dword [eax + edi + 0x89e00]
mov edx, dword [eax + edi + 0x89e04]
shld edx, ecx, 0x10
mulss xmm0, dword [ebp + 0x1c]
shl ecx, 0x10
sub ecx, dword [ebp - 0x30]
sbb edx, dword [ebp - 0x28]
cvtss2sd xmm0, xmm0
shrd ecx, edx, 0x10
movsd qword [esp], xmm0
sar edx, 0x10
call fcn.006c0370
mov edi, dword [ebp + 0xc]
sub esp, 8
mov esi, dword [ebp + 8]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [ebp + 0x1c]
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
push 0
push dword [ebp + 0x10]
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.004d8a80
mov ecx, dword [ebp + 0x10]
add esp, 0x9c
inc ecx
mov dword [ebp + 0x10], ecx
cmp ecx, dword [ebp + 0x14]
jb 0x4d2210
push str.var_CSwitchThreadInOutCpu____n
push 0x1e
push edi
call esi
push 0x744b44
push 3
push edi
call esi
push str.var_CSwitchTime____n
push 0x14
push edi
call esi
call fcn.004d9dc0
push 0x744b44
push 3
push edi
call esi
push str.var_CSwitchThreads__
push 0x16
push edi
call esi
push 0x744cb4
push 3
push edi
call esi
xor eax, eax
add esp, 0x48
mov dword [ebp + 0x10], eax
cmp dword [0x7efd6c], eax
jbe 0x4d2cd5
nop word [eax + eax]
push dword [eax*4 + 0x7efd4c]
mov eax, dword [eax*4 + 0x7efd5c]
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 [0x7efd6c]
jb 0x4d2cb0
mov esi, dword [0x7efdac]
mov esi, dword [esi + 4]
shl esi, 2
mov eax, esi
call fcn.006c0920
mov eax, esp
push esi
push 0
push eax
mov dword [ebp + 0x14], eax
call fcn.006c2360
mov esi, dword [0x7efdac]
xor edx, edx
add esp, 0xc
cmp dword [esi], edx
jbe 0x4d2d2d
mov edi, dword [ebp + 0x14]
lea eax, [esi + 0x1884]
mov dword [ebp + 0x10], eax
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2c]
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 0x4d2d11
mov edi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
shl eax, 2
call fcn.006c0920
mov eax, dword [esi]
shl eax, 2
mov dword [ebp + 0x10], esp
call fcn.006c0920
mov ecx, dword [esi + 4]
xor eax, eax
mov edx, dword [ebp + 0x10]
mov dword [ebp + 0x1c], esp
test ecx, ecx
je 0x4d2d63
mov dword [edx + eax*4], eax
inc eax
cmp eax, dword [esi + 4]
jb 0x4d2d54
mov edi, dword [ebp + 0xc]
mov ecx, dword [esi + 4]
xor eax, eax
cmp dword [esi], eax
jbe 0x4d2d7b
mov ecx, dword [ebp + 0x1c]
nop dword [eax]
mov dword [ecx + eax*4], eax
inc eax
cmp eax, dword [esi]
jb 0x4d2d70
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.004cf270
mov eax, dword [0x7efdac]
mov edx, dword [ebp + 0x1c]
push dword [ebp - 0x2c]
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.004cf270
mov esi, dword [ebp + 8]
push str._n_____nMarker_Per_Group_n
push edi
push esi
call fcn.004d8a80
mov edx, dword [0x7efdac]
xor eax, eax
add esp, 0x2c
mov dword [ebp + 8], eax
cmp dword [edx + 4], eax
jbe 0x4d2e0c
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.004d8a80
mov eax, dword [ebp + 8]
add esp, 0x14
mov edx, dword [0x7efdac]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [edx + 4]
jb 0x4d2dd3
push str.Marker_Per_Timer_n
push edi
push esi
call fcn.004d8a80
mov eax, dword [0x7efdac]
xor ecx, ecx
add esp, 0xc
mov dword [ebp + 8], ecx
cmp dword [eax], ecx
jbe 0x4d2e88
nop dword [eax]
mov edx, dword [ebp + 0x1c]
mov edi, dword [0x7efdac]
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 [0x7efdac]
add eax, 0x1888
add eax, ecx
push eax
mov eax, dword [ebp - 0x2c]
push dword [eax + edx*4]
push str._8d:_s__s__n
push edi
push esi
call fcn.004d8a80
mov ecx, dword [ebp + 8]
add esp, 0x18
mov eax, dword [0x7efdac]
inc ecx
mov dword [ebp + 8], ecx
cmp ecx, dword [eax]
jb 0x4d2e30
push str._n____n
push edi
push esi
call fcn.004d8a80
mov edx, dword [0x7efdac]
add esp, 0xc
mov eax, dword [ebp - 0xa0]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0xa4]
mov dword [edx + 0x34], eax
mov eax, dword [ebp - 0xa8]
mov dword [edx + 0x88], eax
cmp byte [0x991b00], 0
mov ecx, dword [0x7f0018]
je 0x4d2ee7
cmp byte [0x7f0008], 0
je 0x4d2ee7
test cl, cl
je 0x4d2f27
cmp cl, 6
jb 0x4d2f27
mov eax, ecx
shr eax, 8
cmp al, 3
jb 0x4d2f27
jmp 0x4d2eeb
test cl, cl
je 0x4d2f27
mov dword [ebp + 8], 0x597c1e0
mov ecx, dword [ebp + 8]
mov eax, dword [0x7efdac]
sub ecx, 0x52374e0
add eax, 0xa8
push eax
push ecx
push dword [0x7f001c]
push dword [0x7f0018]
call fcn.004e9480
mov edx, dword [0x7efdac]
add esp, 0x10
mov ecx, dword [0x7f0018]
mov eax, dword [0x98d420]
test eax, eax
je 0x4d2f8c
cmp byte [0x991b00], 0
je 0x4d2f55
cmp byte [0x7f0008], 0
je 0x4d2f55
test cl, cl
je 0x4d2f84
cmp cl, 6
jb 0x4d2f84
shr ecx, 8
cmp cl, 3
jb 0x4d2f84
jmp 0x4d2f59
test cl, cl
je 0x4d2f84
mov dword [ebp + 8], 0x598fb70
mov eax, dword [ebp + 8]
push 0
sub eax, 0x524ae3c
push eax
push dword [0x7f001c]
push dword [0x7f0018]
call fcn.004e9450
mov eax, dword [0x98d420]
add esp, 0x10
call eax
mov edx, dword [0x7efdac]
xor cl, cl
lea eax, [edx + 0x161ed0]
xchg byte [eax], cl
lea esp, [ebp - 0x15c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret