Function at 0x4510f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45cd5f
mov eax, dword fs:[0]
push eax
sub esp, 0x1b0
mov eax, dword [0x49e00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x1b4], edi
mov ecx, dword [edi + 0x1f8]
sub esp, 0x18
mov eax, esp
xorps xmm0, xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
movq qword [eax + 0x10], xmm0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_class_std::fpos_struct__Mbstatet__]
mov ecx, edi
call fcn.00453980
mov ecx, edi
call fcn.00453b10
mov ecx, dword [edi + 0x1f8]
sub esp, 0x18
mov eax, esp
xorps xmm0, xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
movq qword [eax + 0x10], xmm0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_class_std::fpos_struct__Mbstatet__]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x1b0], 0
push 7
push str.General
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
mov byte [ebp - 4], 1
call fcn.0044c570
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x64]
mov ecx, edi
push eax
call fcn.00453e40
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x19c]
cmp edx, 0x10
jb 0x451266
mov ecx, dword [ebp - 0x1b0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45125c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451fc0
push edx
push ecx
call fcn.004599ee
add esp, 8
lea edx, [ebp - 0x88]
lea ecx, [ebp - 0x64]
call fcn.004560e0
test al, al
jne 0x451a36
mov dword [ebp - 0x18c], 0
push 7
push str.Unknown
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], al
mov byte [ebp - 4], 5
call fcn.0044c570
mov dword [ebp - 0x1b0], 0
push 0xd
push str.AudioFilename
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
mov byte [ebp - 4], 7
call fcn.0044c570
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004561a0
push eax
lea ecx, [edi + 4]
call fcn.0044b900
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x45134d
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x451343
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4513c9
push edx
push ecx
call fcn.004599ee
add esp, 8
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x451399
mov ecx, dword [ebp - 0x1b0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45138f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4513c9
push edx
push ecx
call fcn.004599ee
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x178]
cmp edx, 0x10
jb 0x4513d9
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4513cf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4513cf
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004599ee
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x18c], 0
movlpd qword [ebp - 0x170], xmm0
push 0xb
push str.AudioLeadIn
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
mov byte [ebp - 4], 5
call fcn.0044c570
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.004563a0
mov dword [edi + 0x24], edx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x178]
mov dword [edi + 0x20], eax
cmp edx, 0x10
jb 0x45147e
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x451474
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451fc0
push edx
push ecx
call fcn.004599ee
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x18c], 0
movlpd qword [ebp - 0x170], xmm0
push 0xb
push str.PreviewTime
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
mov byte [ebp - 4], 5
call fcn.0044c570
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.004563a0
mov dword [edi + 0x2c], edx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x178]
mov dword [edi + 0x28], eax
cmp edx, 0x10
jb 0x451523
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x451519
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451fc0
push edx
push ecx
call fcn.004599ee
add esp, 8
mov byte [ebp - 0x171], 0
mov dword [ebp - 0x18c], 0
push 9
push str.Countdown
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
mov byte [ebp - 4], 5
call fcn.0044c570
lea eax, [ebp - 0x171]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.004565f0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x178]
mov byte [edi + 0x30], al
cmp edx, 0x10
jb 0x4515c1
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4515b7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451fc0
push edx
push ecx
call fcn.004599ee
add esp, 8
mov dword [ebp - 0x1b0], 0
push 7
push str.Unknown
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
mov byte [ebp - 4], 5
call fcn.0044c570
mov dword [ebp - 0x18c], 0
push 9
push str.SampleSet
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
mov byte [ebp - 4], 0x11
call fcn.0044c570
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004561a0
mov ecx, dword [0x4a4bb8]
xor esi, esi
sub ecx, dword [0x4a4bb4]
mov dword [ebp - 0x1b8], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4516eb
mov edx, dword [ebp - 0x1b8]
xor ebx, ebx
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x16c], eax
nop
mov ecx, dword [0x4a4bb4]
mov eax, edx
add ecx, ebx
cmp dword [edx + 0x14], 0x10
jb 0x4516a2
mov eax, dword [edx]
cmp dword [ecx + 0x14], 0x10
mov edx, dword [ecx + 0x10]
jb 0x4516ad
mov ecx, dword [ecx]
push dword [ebp - 0x16c]
push eax
call fcn.0044f760
add esp, 8
test al, al
jne 0x4516ed
mov ecx, dword [0x4a4bb8]
mov eax, 0x2aaaaaab
sub ecx, dword [0x4a4bb4]
inc esi
imul ecx
add ebx, 0x18
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1b8]
cmp esi, eax
jb 0x451690
xor esi, esi
mov edx, dword [ebp - 0x14]
mov dword [edi + 0x34], esi
cmp edx, 0x10
jb 0x451724
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45171a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4517a0
push edx
push ecx
call fcn.004599ee
add esp, 8
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x451770
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x451766
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4517a0
push edx
push ecx
call fcn.004599ee
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x19c]
cmp edx, 0x10
jb 0x4517b0
mov ecx, dword [ebp - 0x1b0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4517a6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4517a6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004599ee
add esp, 8
movsd xmm0, qword [0x497920]
movsd qword [ebp - 0x170], xmm0
mov dword [ebp - 0x18c], 0
push 0xd
push str.StackLeniency
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
mov byte [ebp - 4], 5
call fcn.0044c570
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00456830
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x178]
movsd qword [edi + 0x38], xmm0
cmp edx, 0x10
jb 0x451859
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45184f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451fc0
push edx
push ecx
call fcn.004599ee
add esp, 8
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x18c], 0
push 4
push str.Mode
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
mov byte [ebp - 4], 5
call fcn.0044c570
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00456a80
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x178]
mov dword [edi + 0x40], eax
cmp edx, 0x10
jb 0x4518fa
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4518f0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451fc0
push edx
push ecx
call fcn.004599ee
add esp, 8
mov byte [ebp - 0x171], 0
mov dword [ebp - 0x18c], 0
push 0x11
push str.LetterboxInBreaks
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
mov byte [ebp - 4], 5
call fcn.0044c570
lea eax, [ebp - 0x171]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.004565f0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x178]
mov byte [edi + 0x44], al
cmp edx, 0x10
jb 0x451998
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45198e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451fc0
push edx
push ecx
call fcn.004599ee
add esp, 8
mov byte [ebp - 0x171], 0
mov dword [ebp - 0x18c], 0
push 0x14
push str.WidescreenStoryboard
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
mov byte [ebp - 4], 5
call fcn.0044c570
lea eax, [ebp - 0x171]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.004565f0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x178]
mov byte [edi + 0x45], al
cmp edx, 0x10
jb 0x451a36
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x451a2c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451fc0
push edx
push ecx
call fcn.004599ee
add esp, 8
mov dword [ebp - 0x18c], 0
push 6
push str.Editor
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
mov byte [ebp - 4], 5
call fcn.0044c570
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x34]
mov ecx, edi
push eax
call fcn.00453e40
mov esi, eax
lea ecx, [ebp - 0x64]
push esi
call fcn.0044b900
add esi, 0x18
lea eax, [ebp - 0x4c]
cmp eax, esi
je 0x451ac8
mov ecx, eax
call fcn.0044c390
mov eax, dword [esi]
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x44], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
lea ecx, [ebp - 0x1c]
call fcn.0044c390
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x451b00
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x451af6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451b42
push edx
push ecx
call fcn.004599ee
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0xf
mov byte [ebp - 0x34], 0
cmp edx, 0x10
jb 0x451b52
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x451b48
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x451b48
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004599ee
add esp, 8
lea edx, [ebp - 0x88]
lea ecx, [ebp - 0x64]
call fcn.004560e0
test al, al
jne 0x451fd0
mov dword [ebp - 0x28], 0
push 1
push 0x496e84
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
mov byte [ebp - 4], 5
call fcn.0044c570
mov dword [ebp - 0x18c], 0
push 9
push str.Bookmarks
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
mov byte [ebp - 4], 0x1f
call fcn.0044c570
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x21
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x1a4]
push eax
call fcn.00456d10
mov ebx, eax
lea esi, [edi + 0x48]
cmp esi, ebx
je 0x451c75
mov ecx, dword [esi]
test ecx, ecx
je 0x451c51
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
lea edx, [eax*8]
cmp edx, 0x1000
jb 0x451c33
mov eax, dword [ecx - 4]
add edx, 0x23
sub ecx, eax
mov dword [ebp - 0x16c], eax
lea eax, [ecx - 4]
cmp eax, 0x1f
ja 0x451d3b
mov ecx, dword [ebp - 0x16c]
push edx
push ecx
call fcn.004599ee
mov dword [esi], 0
add esp, 8
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov eax, dword [ebx]
mov dword [esi], eax
mov eax, dword [ebx + 4]
mov dword [esi + 4], eax
mov eax, dword [ebx + 8]
mov dword [esi + 8], eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov ecx, dword [ebp - 0x1a4]
test ecx, ecx
je 0x451cd7
mov eax, dword [ebp - 0x19c]
sub eax, ecx
sar eax, 3
lea edx, [eax*8]
mov eax, ecx
cmp edx, 0x1000
jb 0x451caf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451d3b
push edx
push ecx
call fcn.004599ee
add esp, 8
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x178]
cmp edx, 0x10
jb 0x451d11
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x451d07
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451d3b
push edx
push ecx
call fcn.004599ee
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x451d4b
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x451d41
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x451d41
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004599ee
add esp, 8
movsd xmm0, qword [0x497938]
movsd qword [ebp - 0x170], xmm0
mov dword [ebp - 0x28], 0
push 0xf
push str.DistanceSpacing
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 5
call fcn.0044c570
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x23
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00456830
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x14]
movsd qword [edi + 0x58], xmm0
cmp edx, 0x10
jb 0x451ddc
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x451dd2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451fc0
push edx
push ecx
call fcn.004599ee
add esp, 8
mov dword [ebp - 0x16c], 4
mov dword [ebp - 0x28], 0
push 0xb
push str.BeatDivisor
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 5
call fcn.0044c570
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 0x25
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00456a80
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x14]
mov byte [edi + 0x60], al
cmp edx, 0x10
jb 0x451e65
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x451e5b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451fc0
push edx
push ecx
call fcn.004599ee
add esp, 8
mov dword [ebp - 0x16c], 4
mov dword [ebp - 0x28], 0
push 8
push str.GridSize
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 5
call fcn.0044c570
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 0x27
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00456a80
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x14]
mov byte [edi + 0x61], al
cmp edx, 0x10
jb 0x451ef1
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x451ee4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x451fc0
push edx
push ecx
call fcn.004599ee
mov al, byte [edi + 0x61]
add esp, 8
movzx eax, al
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_log2]
fstp qword [ebp - 0x170]
movsd xmm0, qword [ebp - 0x170]
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_round]
fsubr qword [0x497990]
add esp, 8
mov dword [ebp - 0x28], 0
movsd xmm0, qword [0x497928]
fstp qword [ebp - 0x170]
cvttsd2si eax, qword [ebp - 0x170]
movsd qword [ebp - 0x170], xmm0
mov byte [edi + 0x62], al
push 0xc
push str.TimelineZoom
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 5
call fcn.0044c570
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x29
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00456830
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x14]
movsd qword [edi + 0x68], xmm0
cmp edx, 0x10
jb 0x451fd0
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x451fc6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x451fc6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004599ee
add esp, 8
mov dword [ebp - 0x28], 0
push 8
push str.Metadata
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 5
call fcn.0044c570
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x2b
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.00453e40
mov esi, eax
lea ecx, [ebp - 0x64]
push esi
call fcn.0044b900
add esi, 0x18
lea eax, [ebp - 0x4c]
cmp eax, esi
je 0x452053
mov ecx, eax
call fcn.0044c390
mov eax, dword [esi]
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x44], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
lea ecx, [ebp - 0x180]
call fcn.0044c390
mov edx, dword [ebp - 0x184]
cmp edx, 0x10
jb 0x452094
mov ecx, dword [ebp - 0x198]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45208a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4520d9
push edx
push ecx
call fcn.004599ee
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0xf
mov byte [ebp - 0x198], 0
cmp edx, 0x10
jb 0x4520e9
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4520df
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4520df
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004599ee
add esp, 8
lea edx, [ebp - 0x88]
lea ecx, [ebp - 0x64]
call fcn.004560e0
test al, al
jne 0x4526c3
mov dword [ebp - 0x18c], 0
push 7
push str.Unknown
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], al
mov byte [ebp - 4], 5
call fcn.0044c570
mov dword [ebp - 0x28], 0
push 5
push str.Title
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0x2d
call fcn.0044c570
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x2f
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.004561a0
lea esi, [edi + 0x70]
push eax
mov ecx, esi
call fcn.0044b900
mov edx, dword [ebp - 0x19c]
cmp edx, 0x10
jb 0x4521c9
mov ecx, dword [ebp - 0x1b0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4521bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452248
push edx
push ecx
call fcn.004599ee
add esp, 8
mov byte [ebp - 4], 0x2d
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
cmp edx, 0x10
jb 0x452218
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45220e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452248
push edx
push ecx
call fcn.004599ee
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x178]
cmp edx, 0x10
jb 0x452258
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45224e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x45224e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004599ee
add esp, 8
mov dword [ebp - 0x28], 0
push 0xc
push str.TitleUnicode
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 5
call fcn.0044c570
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x31
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.004561a0
push eax
lea ecx, [edi + 0x88]
call fcn.0044b900
mov edx, dword [ebp - 0x178]
cmp edx, 0x10
jb 0x4522df
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4522d5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452324
push edx
push ecx
call fcn.004599ee
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
cmp edx, 0x10
jb 0x452334
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45232a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x45232a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004599ee
add esp, 8
mov dword [ebp - 0x18c], 0
push 7
push str.Unknown
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
mov byte [ebp - 4], 5
call fcn.0044c570
mov dword [ebp - 0x28], 0
push 6
push str.Artist
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0x33
call fcn.0044c570
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x35
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.004561a0
lea esi, [edi + 0xa0]
push eax
mov ecx, esi
call fcn.0044b900
mov edx, dword [ebp - 0x19c]
cmp edx, 0x10
jb 0x452404
mov ecx, dword [ebp - 0x1b0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4523fa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4523fa
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004599ee
add esp, 8
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
cmp eax, 0x10
jb 0x452431
inc eax
push eax
push dword [ebp - 0x28]
call fcn.0044c6b0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 5
call fcn.0044b8b0
push str.ArtistUnicode
lea ecx, [ebp - 0x28]
call fcn.0044b9c0
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x36
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.004561a0
push eax
lea ecx, [edi + 0xb8]
call fcn.0044b900
lea ecx, [ebp - 0x18c]
call fcn.0044b8b0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.0044b8b0
push str.Unknown
lea ecx, [ebp - 0x18c]
call fcn.0044b9c0
push str.Creator
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x37
call fcn.0044b9c0
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x38
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.004561a0
push eax
lea ecx, [edi + 0xd0]
call fcn.0044b900
lea ecx, [ebp - 0x1b0]
call fcn.0044b8b0
lea ecx, [ebp - 0x28]
call fcn.0044b8b0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 5
call fcn.0044b8b0
push str.Unknown
lea ecx, [ebp - 0x18c]
call fcn.0044b9c0
push str.Version
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x39
call fcn.0044b9c0
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x3a
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.004561a0
push eax
lea ecx, [edi + 0xe8]
call fcn.0044b900
lea ecx, [ebp - 0x1b0]
call fcn.0044b8b0
lea ecx, [ebp - 0x28]
call fcn.0044b8b0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18c]
call fcn.0044b8b0
push str.Unknown
lea ecx, [ebp - 0x18c]
call fcn.0044b9c0
push str.Source
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3b
call fcn.0044b9c0
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x3c
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.004561a0
push eax
lea ecx, [edi + 0x100]
call fcn.0044b900
lea ecx, [ebp - 0x1b0]
call fcn.0044b8b0
lea ecx, [ebp - 0x28]
call fcn.0044b8b0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 5
call fcn.0044b8b0
push 0x4947fc
lea ecx, [ebp - 0x18c]
call fcn.0044b9c0
push str.Tags
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3d
call fcn.0044b9c0
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x3e
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x1a4]
push eax
call fcn.00456ff0
push eax
lea ecx, [edi + 0x118]
call fcn.00455f60
lea ecx, [ebp - 0x1a4]
call fcn.0044c390
lea ecx, [ebp - 0x28]
call fcn.0044b8b0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 5
call fcn.0044b8b0
push str.BeatmapID
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x16c], 0
call fcn.0044b9c0
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 0x3f
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00457270
lea ecx, [ebp - 0x28]
mov dword [edi + 0x124], eax
mov byte [ebp - 4], 5
call fcn.0044b8b0
push str.BeatmapSetID
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x16c], 0
call fcn.0044b9c0
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 0x40
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00457270
lea ecx, [ebp - 0x28]
mov dword [edi + 0x128], eax
mov byte [ebp - 4], 5
call fcn.0044b8b0
push str.Difficulty
lea ecx, [ebp - 0x28]
call fcn.0044b9c0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x41
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.00453e40
push eax
lea ecx, [ebp - 0x64]
call fcn.00456cc0
lea ecx, [ebp - 0x198]
call fcn.00452eb0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.0044b8b0
lea edx, [ebp - 0x88]
lea ecx, [ebp - 0x64]
call fcn.004560e0
test al, al
jne 0x452b68
movsd xmm0, qword [0x497988]
lea ecx, [ebp - 0x28]
push str.HPDrainRate
movsd qword [ebp - 0x170], xmm0
call fcn.0044b9c0
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x42
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00456830
cvtsd2ss xmm0, xmm0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
movss dword [edi + 0x12c], xmm0
call fcn.0044b8b0
movsd xmm0, qword [0x497978]
lea ecx, [ebp - 0x28]
mov eax, dword [edi + 0x12c]
push str.CircleSize
mov dword [edi + 0x130], eax
movsd qword [ebp - 0x170], xmm0
call fcn.0044b9c0
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x43
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00456830
cvtsd2ss xmm0, xmm0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
movss dword [edi + 0x134], xmm0
call fcn.0044b8b0
movsd xmm0, qword [0x497990]
lea ecx, [ebp - 0x28]
mov eax, dword [edi + 0x134]
push str.OverallDifficulty
mov dword [edi + 0x138], eax
movsd qword [ebp - 0x170], xmm0
call fcn.0044b9c0
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x44
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00456830
cvtsd2ss xmm0, xmm0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
movss dword [edi + 0x13c], xmm0
call fcn.0044b8b0
movsd xmm0, qword [0x497998]
lea ecx, [ebp - 0x28]
mov eax, dword [edi + 0x13c]
push str.ApproachRate
mov dword [edi + 0x140], eax
movsd qword [ebp - 0x170], xmm0
call fcn.0044b9c0
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x45
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00456830
cvtsd2ss xmm0, xmm0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x28]
movss dword [edi + 0x144], xmm0
call fcn.0044b8b0
movsd xmm0, qword [0x497948]
lea ecx, [ebp - 0x28]
mov eax, dword [edi + 0x144]
push str.SliderMultiplier
mov dword [edi + 0x148], eax
movsd qword [ebp - 0x170], xmm0
call fcn.0044b9c0
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x46
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00456830
lea ecx, [ebp - 0x28]
movsd qword [edi + 0x180], xmm0
mov byte [ebp - 4], 5
call fcn.0044b8b0
movsd xmm0, qword [0x497928]
lea ecx, [ebp - 0x28]
push str.SliderTickRate
movsd qword [ebp - 0x170], xmm0
call fcn.0044b9c0
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x47
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00456830
lea ecx, [ebp - 0x28]
movsd qword [edi + 0x188], xmm0
mov byte [ebp - 4], 5
call fcn.0044b8b0
movss xmm1, dword [edi + 0x148]
movss xmm0, dword [0x497a98]
comiss xmm0, xmm1
cvtps2pd xmm2, xmm1
movsd qword [ebp - 0x170], xmm2
ja 0x452978
movsd xmm0, qword [0x497988]
lea edx, [ebp - 0x1bc]
lea ecx, [ebp - 0x1a0]
movsd qword [ebp - 0x1bc], xmm0
movsd qword [ebp - 0x1a0], xmm2
call fcn.00459690
test al, al
jne 0x452978
movaps xmm0, xmm2
movsd xmm2, qword [0x497a90]
mulsd xmm0, qword [0x497a10]
subsd xmm2, xmm0
jmp 0x45298f
movaps xmm1, xmm2
movsd xmm2, qword [0x497a88]
mulsd xmm1, qword [0x497a00]
subsd xmm2, xmm1
movaps xmm0, xmm2
call fcn.0045af70
movss xmm0, dword [0x497a98]
comiss xmm0, dword [edi + 0x148]
mov dword [edi + 0x170], eax
mov dword [edi + 0x174], edx
movsd xmm2, qword [ebp - 0x170]
ja 0x4529fb
movsd xmm0, qword [0x497988]
lea edx, [ebp - 0x1a0]
lea ecx, [ebp - 0x170]
movsd qword [ebp - 0x1a0], xmm0
movsd qword [ebp - 0x170], xmm2
call fcn.00459690
test al, al
jne 0x4529fb
mulsd xmm2, qword [0x4979f8]
movsd xmm0, qword [0x497a80]
jmp 0x452a0b
mulsd xmm2, qword [0x4979f0]
movsd xmm0, qword [0x497a78]
subsd xmm0, xmm2
call fcn.0045af70
movss xmm1, dword [edi + 0x138]
movsd xmm0, qword [str.333333K_]
cvtps2pd xmm1, xmm1
mov dword [edi + 0x178], eax
mov dword [edi + 0x17c], edx
mulsd xmm1, qword [0x497980]
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x14c], xmm0
movss xmm0, dword [edi + 0x140]
cvtps2pd xmm0, xmm0
movaps xmm1, xmm0
movsd qword [ebp - 0x1a0], xmm0
mulsd xmm1, qword [0x497990]
movsd xmm0, qword [0x4979f0]
subsd xmm0, xmm1
call fcn.0045af70
movss xmm1, dword [edi + 0x140]
movsd xmm0, qword [0x497a08]
cvtps2pd xmm1, xmm1
mov dword [edi + 0x150], eax
mov dword [edi + 0x154], edx
mulsd xmm1, qword [0x4979a8]
subsd xmm0, xmm1
call fcn.0045af70
movss xmm0, dword [edi + 0x140]
cvtps2pd xmm1, xmm0
mov dword [edi + 0x158], eax
mov dword [edi + 0x15c], edx
movsd xmm0, qword [0x497a28]
mulsd xmm1, qword [0x4979b0]
subsd xmm0, xmm1
call fcn.0045af70
movss xmm0, dword [0x497a98]
comiss xmm0, dword [edi + 0x140]
mov dword [edi + 0x160], eax
mov dword [edi + 0x164], edx
ja 0x452b41
movss xmm2, dword [edi + 0x140]
lea edx, [ebp - 0x1a0]
movsd xmm0, qword [0x497988]
lea ecx, [ebp - 0x170]
cvtps2pd xmm2, xmm2
movsd qword [ebp - 0x1a0], xmm0
movsd qword [ebp - 0x170], xmm2
call fcn.00459690
test al, al
jne 0x452b49
mulsd xmm2, qword [0x497918]
addsd xmm2, qword [0x497968]
jmp 0x452b60
movsd xmm2, qword [ebp - 0x1a0]
movaps xmm0, xmm2
movsd xmm2, qword [0x497970]
mulsd xmm0, qword [0x497910]
subsd xmm2, xmm0
movsd qword [edi + 0x168], xmm2
push str.Events
lea ecx, [ebp - 0x28]
call fcn.0044b9c0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x48
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.00453e40
push eax
lea ecx, [ebp - 0x64]
call fcn.00456cc0
lea ecx, [ebp - 0x198]
call fcn.00452eb0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.0044b8b0
lea edx, [ebp - 0x88]
lea ecx, [ebp - 0x64]
call fcn.004560e0
test al, al
jne 0x452bfd
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x48]
cmp esi, ebx
je 0x452bfd
push esi
lea eax, [ebp - 0x40]
push eax
call fcn.00453fd0
mov byte [ebp - 4], 0x49
cmp dword [ebp - 0x40], 3
je 0x452bea
lea eax, [ebp - 0x40]
lea ecx, [edi + 0x190]
push eax
call fcn.00455e80
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 5
call fcn.00452f10
add esi, 0x18
cmp esi, ebx
jne 0x452bc7
push str.TimingPoints
lea ecx, [ebp - 0x28]
call fcn.0044b9c0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x4a
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.00453e40
push eax
lea ecx, [ebp - 0x64]
call fcn.00456cc0
lea ecx, [ebp - 0x198]
call fcn.00452eb0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.0044b8b0
lea edx, [ebp - 0x88]
lea ecx, [ebp - 0x64]
call fcn.004560e0
test al, al
jne 0x452d31
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x4c]
cmp esi, ebx
je 0x452c7f
push esi
lea eax, [ebp - 0x38]
mov ecx, edi
push eax
call fcn.004544e0
push eax
lea ecx, [edi + 0x19c]
call fcn.00455dd0
add esi, 0x18
cmp esi, ebx
jne 0x452c60
movaps xmm0, xmmword [0x497ee0]
xorps xmm1, xmm1
movups xmmword [edi + 0x1b8], xmm0
movsd qword [edi + 0x1c8], xmm1
mov edx, dword [edi + 0x1a8]
mov eax, edx
mov ecx, dword [edi + 0x1ac]
cmp eax, ecx
je 0x452d06
movsd xmm2, qword [0x497aa8]
nop dword [eax]
nop word [eax + eax]
movaps xmm1, xmm2
divsd xmm1, qword [eax]
comisd xmm1, xmmword [edi + 0x1c0]
jbe 0x452cd9
movsd qword [edi + 0x1c0], xmm1
movsd xmm0, qword [edi + 0x1b8]
comisd xmm0, xmm1
jbe 0x452cef
movsd qword [edi + 0x1b8], xmm1
addsd xmm1, qword [edi + 0x1c8]
add eax, 8
movsd qword [edi + 0x1c8], xmm1
cmp eax, ecx
jne 0x452cc0
mov eax, dword [edi + 0x1ac]
sub eax, edx
sar eax, 3
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x497e80]
divsd xmm1, xmm0
movsd qword [edi + 0x1c8], xmm1
push str.Colours
lea ecx, [ebp - 0x28]
call fcn.0044b9c0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x4b
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.00453e40
push eax
lea ecx, [ebp - 0x64]
call fcn.00456cc0
lea ecx, [ebp - 0x198]
call fcn.00452eb0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.0044b8b0
lea edx, [ebp - 0x88]
lea ecx, [ebp - 0x64]
call fcn.004560e0
test al, al
jne 0x452dba
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x4c]
cmp esi, ebx
je 0x452dba
lea eax, [edi + 0x1d0]
mov edi, eax
push esi
lea eax, [ebp - 0x16c]
push eax
call fcn.00454940
push eax
mov ecx, edi
call fcn.00455da0
add esi, 0x18
cmp esi, ebx
jne 0x452d98
mov edi, dword [ebp - 0x1b4]
push str.HitObjects
lea ecx, [ebp - 0x28]
call fcn.0044b9c0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x4c
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.00453e40
push eax
lea ecx, [ebp - 0x64]
call fcn.00456cc0
lea ecx, [ebp - 0x198]
call fcn.00452eb0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.0044b8b0
lea edx, [ebp - 0x88]
lea ecx, [ebp - 0x64]
call fcn.004560e0
test al, al
jne 0x452e76
mov eax, dword [ebp - 0x48]
xor esi, esi
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x1b4], eax
cmp ebx, eax
je 0x452e76
push ebx
lea eax, [ebp - 0x168]
mov ecx, edi
push eax
inc esi
call fcn.00454c00
mov byte [ebp - 4], 0x4d
lea ecx, [edi + 0x1dc]
cmp byte [ebp - 0x148], 0
mov eax, 1
cmovne esi, eax
lea eax, [ebp - 0x168]
push eax
mov dword [ebp - 0x158], esi
call fcn.00455ce0
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 5
call fcn.00452f60
add ebx, 0x18
cmp ebx, dword [ebp - 0x1b4]
jne 0x452e21
lea ecx, [edi + 0x1ec]
call fcn.00455c40
lea ecx, [ebp - 0x64]
call fcn.00452eb0
lea ecx, [ebp - 0x88]
call fcn.00452eb0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004598cb
mov esp, ebp
pop ebp
ret