Function at 0x140009a30
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x518
movaps xmmword [rsp + 0x470], xmm6
movaps xmmword [rsp + 0x480], xmm7
movaps xmmword [rsp + 0x490], xmm8
movaps xmmword [rsp + 0x4a0], xmm9
movaps xmmword [rsp + 0x4b0], xmm10
movaps xmmword [rsp + 0x4c0], xmm11
movaps xmmword [rsp + 0x4d0], xmm12
movaps xmmword [rsp + 0x4e0], xmm13
movaps xmmword [rsp + 0x4f0], xmm14
movaps xmmword [rsp + 0x500], xmm15
xor eax, eax
mov qword [rsp + 0x560], rcx
mov ecx, 0x2f
mov rbx, rdx
mov rbp, r8
lea rdi, [rsp + 0x2f0]
mov qword [rsp + 0x120], rdi
rep stosq qword [rdi], rax
mov rax, qword [0x1400a3be0]
mov ecx, 0x8000
mov dword [rsp + 0x3bc], 0xffffffff
mov qword [rsp + 0x304], rax
lea rax, str.Normal
mov qword [rsp + 0x310], rax
mov rax, qword [str.ffffff]
mov qword [rsp + 0x318], rax
lea rax, str.NoChange
mov qword [rsp + 0x328], rax
call sym.malloc
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x178], 0
test rbp, rbp
je 0x14000cf7c
mov esi, 1
mov edi, 0x800
xor r14d, r14d
mov r13, rax
lea rcx, [rsp + 0x170]
lea r12, str.AudioFilename
mov qword [rsp + 0x50], rcx
jmp 0x140009b73
mov rbx, rax
lea rax, [rsi + 1]
cmp rsi, rbp
jae 0x140009f3f
mov rsi, rax
cmp byte [rbx], 0xa
lea rax, [rbx + 1]
jne 0x140009b60
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x178], rbx
call sym.beatmap_slice_trim
mov rdx, qword [rsp + 0x178]
mov rax, qword [rsp + 0x170]
cmp rdx, rax
jb 0x14000d1a8
je 0x140009f1a
movzx ecx, byte [rax]
cmp cl, 0x2f
je 0x14000a3e8
cmp cl, 0x5b
jne 0x140009bc7
cmp byte [rdx], 0x5d
je 0x140009ec0
test r14, r14
je 0x14000a3fb
mov rcx, qword [rsp + 0x50]
mov r9d, 2
mov edx, 0x3a
lea r8, [rsp + 0x240]
call sym.beatmap_slice_split
mov rcx, r8
mov r15, rax
call sym.beatmap_slice_trim
cmp r15, 1
jbe 0x140009c0b
lea rcx, [rsp + 0x250]
call sym.beatmap_slice_trim
mov rdx, qword [rsp + 0x248]
mov r15, qword [rsp + 0x240]
mov rax, rdx
sub rax, r15
lea rcx, [rax + 1]
cmp rax, 0xc
jne 0x14000a469
xor eax, eax
jmp 0x140009c46
add rax, 1
cmp rax, 0xd
je 0x14000a618
movzx ecx, byte [r12 + rax]
cmp byte [r15 + rax], cl
je 0x140009c38
xor eax, eax
lea rcx, str.StackLeniency
jmp 0x140009c6a
add rax, 1
cmp rax, 0xd
je 0x14000cc8c
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x140009c5c
lea r8, str.TimelineZoom
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d5e1
lea r8, str.Title
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d5b7
lea r8, str.TitleUnicode
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d58d
lea r8, str.Artist
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d563
lea r8, str.ArtistUnicode
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d62e
lea r8, str.Creator
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d604
lea r8, str.Version
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d539
lea r8, str.Source
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d50f
lea r8, str.Tags
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d3ec
lea r8, str.BeatmapID
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d3c5
lea r8, str.BeatmapSetID
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d39e
lea r8, str.HPDrainRate
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d37b
lea r8, str.CircleSize
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d358
lea r8, str.OverallDifficulty
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d335
lea r8, str.ApproachRate
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d312
lea r8, str.SliderMultiplier
mov rcx, r15
mov qword [rsp + 0x58], rdx
call sym.beatmap_slice_cmp.isra.0
mov rdx, qword [rsp + 0x58]
test al, al
jne 0x14000d2ef
lea r8, str.SliderTickRate
mov rcx, r15
call sym.beatmap_slice_cmp.isra.0
test al, al
je 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
call sym.strtod
movsd qword [rsp + 0x3e8], xmm0
nop word cs:[rax + rax]
test rdi, rdi
je 0x14000a44c
mov r8, r14
lea r15, [r14 + 1]
shl r8, 4
cmp r14, rdi
jb 0x14000ccaf
mov rdx, rdi
lea rax, [rdi + rdi]
mov rcx, r13
mov qword [rsp + 0x60], r8
shl rdx, 5
mov qword [rsp + 0x58], rax
mov r14, r15
call sym.realloc
mov r8, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov r13, rax
lea rax, [rax + r8]
movdqa xmm5, xmmword [rsp + 0x170]
movups xmmword [rax], xmm5
lea rax, [rbx + 1]
movq xmm0, rax
mov rbx, rax
lea rax, [rsi + 1]
punpcklqdq xmm0, xmm0
movaps xmmword [rsp + 0x170], xmm0
cmp rsi, rbp
jb 0x140009b70
mov qword [rsp + 0x50], r14
mov qword [rsp + 0xf8], r13
lea rax, [rsp + 0x168]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xf8]
lea r9, [rsp + 0x160]
mov qword [rsp + 0x20], rax
lea r8, str._Events_
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x60], rax
call sym.beatmap_section_lines
test al, al
jne 0x14000c639
mov rax, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
lea r8, str._TimingPoints_
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x20], rax
call sym.beatmap_section_lines
test al, al
jne 0x14000c2fc
mov rax, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
lea r8, str._Colours_
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x20], rax
call sym.beatmap_section_lines
test al, al
jne 0x14000c074
mov rax, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
lea r8, str._HitObjects_
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x20], rax
call sym.beatmap_section_lines
test al, al
je 0x14000a34f
mov rsi, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x160]
mov rax, rsi
mov qword [rsp + 0xc0], rsi
sub rax, rdi
mov qword [rsp + 0x58], rdi
lea rdx, [rax + rax*4]
lea rdx, [rax + rdx*2]
lea rax, [rsp + 0x458]
shl rdx, 3
mov rcx, rax
mov qword [rsp + 0xe8], rax
call sym.beatmap_arena_alloc
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x450], rax
cmp rdi, rsi
jae 0x14000a34f
shl rdi, 4
xor r14d, r14d
mov rax, rdi
mov rdi, qword [rsp + 0xf8]
mov qword [rsp + 0x70], r14
add rax, rdi
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x240]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x258]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x278]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0x288]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0x268]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0x248]
mov qword [rsp + 0x98], rax
nop dword [rax + rax]
mov r8, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x68]
mov r9d, 0xb
mov edx, 0x2c
pxor xmm0, xmm0
pxor xmm7, xmm7
call sym.beatmap_slice_split
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x240]
mov qword [rsp + 0x228], 0
movups xmmword [rsp + 0x208], xmm0
movups xmmword [rsp + 0x218], xmm0
call sym.strtod
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x250]
movapd xmm8, xmm0
call sym.strtod
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x260]
mov r8d, 0xa
unpcklpd xmm8, xmm0
call sym.strtol
mov r8d, 0xa
cvtpd2ps xmm8, xmm8
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x270]
cvtsi2sd xmm7, eax
movlhps xmm8, xmm8
call sym.strtol
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x280]
mov r8d, 0xa
mov dword [rsp + 0x50], eax
call sym.strtol
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x408]
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x400]
lea rcx, [rax - 1]
lea rax, [rdx + rdx*2 + 3]
shl rax, 4
add rax, r8
jmp 0x14000a232
add rax, 0x30
lea r9, [rdx + 1]
comisd xmm7, xmmword [rax - 0x30]
jb 0x14000a237
mov rdx, r9
cmp rdx, rcx
jb 0x14000a220
lea rax, [rdx + rdx*2]
mov qword [rsp + 0x70], rdx
shl rax, 4
add rax, r8
mov qword [rsp + 0x60], rax
test byte [rsp + 0x50], 2
jne 0x14000a7c8
test byte [rsp + 0x50], 8
jne 0x14000a780
test byte [rsp + 0x50], 1
je 0x14000a768
movaps xmm12, xmm8
movapd xmm14, xmm7
pxor xmm13, xmm13
xor ebx, ebx
add qword [rsp + 0x430], 1
mov edi, dword [rsp + 0x50]
mov esi, dword [rsp + 0x78]
movsd qword [rsp + 0x210], xmm13
unpcklpd xmm7, xmm14
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x220], rbx
mov dword [rsp + 0x218], edi
mov rdi, qword [rsp + 0xc8]
lea rdx, [rax + 1]
mov dword [rsp + 0x21c], esi
movdqa xmm5, xmmword [rsp + 0x210]
mov qword [rsp + 0x448], rdx
lea rdx, [rax + rax*4]
mov rsi, qword [rsp + 0x60]
lea rax, [rax + rdx*2]
add qword [rsp + 0x58], 1
lea rax, [rdi + rax*8]
add qword [rsp + 0x68], 0x10
movups xmmword [rax + 0x30], xmm5
movdqa xmm5, xmmword [rsp + 0x220]
mov qword [rax + 0x50], rsi
mov qword [rsp + 0x230], rsi
mov rsi, qword [rsp + 0xc0]
movups xmmword [rax], xmm8
movups xmmword [rax + 0x10], xmm12
movups xmmword [rax + 0x20], xmm7
movups xmmword [rax + 0x40], xmm5
mov rax, qword [rsp + 0x58]
movaps xmmword [rsp + 0x1e0], xmm8
movaps xmmword [rsp + 0x1f0], xmm12
movaps xmmword [rsp + 0x200], xmm7
cmp rax, rsi
jb 0x14000a118
mov rcx, qword [rsp + 0xf8]
call sym.free
mov rdi, qword [rsp + 0x560]
mov rsi, qword [rsp + 0x120]
mov ecx, 0x2f
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0x560]
movaps xmm6, xmmword [rsp + 0x470]
movaps xmm7, xmmword [rsp + 0x480]
movaps xmm8, xmmword [rsp + 0x490]
movaps xmm9, xmmword [rsp + 0x4a0]
movaps xmm10, xmmword [rsp + 0x4b0]
movaps xmm11, xmmword [rsp + 0x4c0]
movaps xmm12, xmmword [rsp + 0x4d0]
movaps xmm13, xmmword [rsp + 0x4e0]
movaps xmm14, xmmword [rsp + 0x4f0]
movaps xmm15, xmmword [rsp + 0x500]
add rsp, 0x518
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rax + 1], 0x2f
je 0x140009f1a
test r14, r14
jne 0x140009bd0
mov rcx, qword [rsp + 0x50]
mov r9d, 2
mov edx, 0x76
lea r8, [rsp + 0x240]
mov r14d, 1
call sym.beatmap_slice_split
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
mov dword [rsp + 0x2f0], eax
mov rax, r13
test rdi, rdi
jne 0x140009f0e
mov ecx, 0x400
mov r14d, 1
mov edi, 0x40
call sym.malloc
mov r13, rax
jmp 0x140009f0e
cmp rcx, 0xb
je 0x14000a66f
cmp rcx, 9
jne 0x14000a72f
xor eax, eax
lea rcx, str.Countdown
jmp 0x14000a49e
add rax, 1
cmp rax, 9
je 0x14000c612
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000a490
xor eax, eax
lea rcx, str.SampleSet
jmp 0x14000a4c6
add rax, 1
cmp rax, 9
je 0x14000ca3f
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000a4b8
xor eax, eax
lea rcx, str.Bookmarks
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
jne 0x140009c75
add rax, 1
cmp rax, 9
jne 0x14000a4da
mov rdx, qword [rsp + 0x258]
mov rax, qword [rsp + 0x250]
mov rcx, rdx
sub rcx, rax
add rcx, 1
je 0x14000a518
add qword [rsp + 0x348], 1
cmp rdx, rax
jb 0x14000cfe5
add rdx, 1
xor r15d, r15d
xor ecx, ecx
cmp byte [rax], 0x2c
sete cl
add rax, 1
add r15, rcx
cmp rdx, rax
jne 0x14000a528
add r15, qword [rsp + 0x348]
lea rcx, [rsp + 0x458]
lea rdx, [r15*4]
mov qword [rsp + 0x348], r15
call sym.beatmap_arena_alloc
mov rcx, r15
shl rcx, 4
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x350], rax
call sym.malloc
lea rcx, [rsp + 0x250]
mov r9, r15
mov edx, 0x2c
mov r8, rax
call sym.beatmap_slice_split
cmp r15, rax
jne 0x14000cfed
lea rdx, [r8 + 8]
xor r9d, r9d
test r15, r15
je 0x14000a604
mov qword [rsp + 0x60], rsi
mov rsi, rdx
mov qword [rsp + 0x68], rbx
mov rbx, r9
mov qword [rsp + 0x570], rbp
mov rbp, rdi
mov rdi, r8
mov rcx, qword [rsi - 8]
mov rdx, rsi
mov r8d, 0xa
add rsi, 0x10
call sym.strtol
mov rcx, qword [rsp + 0x58]
mov dword [rcx + rbx*4], eax
add rbx, 1
cmp r15, rbx
jne 0x14000a5c5
mov r8, rdi
mov rsi, qword [rsp + 0x60]
mov rdi, rbp
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x570]
mov rcx, r8
call sym.free
jmp 0x140009ec0
mov r9, qword [rsp + 0x250]
mov r15, qword [rsp + 0x258]
lea rcx, [rsp + 0x458]
sub r15, r9
mov qword [rsp + 0x60], r9
lea r8, [r15 + 1]
lea rdx, [r15 + 2]
mov qword [rsp + 0x58], r8
call sym.beatmap_arena_alloc
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rcx, rax
call sym.memcpy
mov byte [rax + r15 + 1], 0
mov qword [rsp + 0x2f8], rax
jmp 0x140009ec0
xor eax, eax
lea rcx, str.AudioLeadIn
jmp 0x14000a68a
add rax, 1
cmp rax, 0xb
je 0x14000a708
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000a680
xor eax, eax
lea rcx, str.PreviewTime
jmp 0x14000a6ae
add rax, 1
cmp rax, 0xb
je 0x14000bc21
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000a6a0
xor eax, eax
lea rcx, str.BeatDivisor
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
jne 0x140009c75
add rax, 1
cmp rax, 0xb
jne 0x14000a6c2
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
mov dword [rsp + 0x360], eax
jmp 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
mov dword [rsp + 0x300], eax
jmp 0x140009ec0
cmp rcx, 4
jne 0x14000cacb
xor eax, eax
lea rcx, str.Mode
jmp 0x14000a752
add rax, 1
cmp rax, 4
je 0x14000cd18
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000a744
jmp 0x140009c75
pxor xmm13, xmm13
movaps xmm12, xmm8
xor ebx, ebx
movapd xmm14, xmm13
jmp 0x14000a286
mov rcx, qword [rsp + 0x290]
pxor xmm14, xmm14
movaps xmm12, xmm8
xor ebx, ebx
lea rdx, [rsp + 0x298]
mov r8d, 0xa
add qword [rsp + 0x440], 1
call sym.strtol
cvtsi2sd xmm14, eax
movapd xmm13, xmm14
subsd xmm13, xmm7
jmp 0x14000a286
mov rcx, qword [rsp + 0xe8]
mov edx, 0x138
add qword [rsp + 0x438], 1
call sym.beatmap_arena_alloc
mov ecx, 0x27
mov rsi, qword [rsp + 0x290]
mov rbx, rax
xor eax, eax
mov rdi, rbx
rep stosq qword [rdi], rax
mov rdi, qword [rsp + 0x298]
cmp rdi, rsi
jb 0x14000c9b4
add rdi, 1
mov rax, rsi
xor ebp, ebp
nop dword [rax]
xor edx, edx
cmp byte [rax], 0x7c
sete dl
add rax, 1
add rbp, rdx
cmp rdi, rax
jne 0x14000a818
add rbp, 1
mov rcx, rbp
shl rcx, 4
call sym.malloc
lea rcx, [rsp + 0x290]
mov r9, rbp
mov edx, 0x7c
mov r8, rax
mov r14, rax
call sym.beatmap_slice_split
xor eax, eax
nop dword [rax]
xor edx, edx
cmp byte [rsi], 0x3a
sete dl
add rsi, 1
add rax, rdx
cmp rdi, rsi
jne 0x14000a860
lea rdx, [rax + rax*4 + 5]
mov rcx, qword [rsp + 0xe8]
shl rdx, 2
call sym.beatmap_arena_alloc
mov qword [rsp + 0x88], rax
test rbp, rbp
je 0x14000adef
mov rsi, r14
xor edi, edi
mov r13d, 0xffffffff
xor r15d, r15d
mov r12d, 0xffffffff
nop
mov rdx, qword [rsi]
mov rax, qword [rsi + 8]
sub rax, rdx
lea rcx, [rax + 1]
je 0x14000abc0
cmp rcx, 2
je 0x14000ac20
cmp r12d, 0xffffffff
je 0x14000d1c2
cmp rdi, 1
je 0x14000c5ee
mov r9d, 2
lea r8, [rsp + 0x1c0]
mov edx, 0x3a
mov rcx, rsi
call sym.beatmap_slice_split
mov rcx, qword [rsp + 0x1c0]
lea rdx, [rsp + 0x1c8]
call sym.strtod
mov rcx, qword [rsp + 0x1d0]
lea rdx, [rsp + 0x1d8]
movapd xmm6, xmm0
call sym.strtod
lea rax, [r15 + r15*4]
movapd xmm1, xmm0
movapd xmm0, xmm6
shl rax, 2
unpcklpd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movlhps xmm0, xmm0
test r15, r15
je 0x14000bc0d
test r12d, r12d
jne 0x14000a993
mov rcx, qword [rsp + 0x88]
pxor xmm1, xmm1
pxor xmm2, xmm2
movq xmm3, qword [0x1400a3ab0]
cvtss2sd xmm1, xmm0
lea rdx, [rcx + rax - 0x14]
cvtss2sd xmm2, dword [rdx]
subsd xmm1, xmm2
movsd xmm2, qword [0x1400a3ac0]
andpd xmm1, xmm3
comisd xmm2, xmm1
jae 0x14000ca96
cmp r13d, r12d
mov edx, 5
cmovne edx, r12d
mov rcx, qword [rsp + 0x88]
add r15, 1
mov r13d, r12d
add rax, rcx
mov dword [rax + 0x10], edx
movups xmmword [rax], xmm0
nop word [rax + rax]
add rdi, 1
add rsi, 0x10
cmp rdi, rbp
jne 0x14000a8b0
mov rcx, r14
mov qword [rsp + 0x80], r15
mov rdi, r15
call sym.free
mov qword [rbx + 0x70], rdi
mov r15, qword [rsp + 0x88]
lea rdx, [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2a0]
mov r8d, 0xa
mov qword [rbx + 0x78], r15
call sym.strtol
mov rcx, qword [rsp + 0x2b0]
lea rdx, [rsp + 0x2b8]
mov dword [rbx + 0x80], eax
call sym.strtod
lea rax, [rbx + 0x88]
mov qword [rsp + 0x100], rax
movsd qword [rbx + 0x88], xmm0
test rdi, rdi
je 0x14000ae58
lea rsi, [rdi*8]
mov rcx, rsi
call sym.malloc
mov rdx, r15
mov r8, rax
lea r9, [rsi + rax]
nop dword [rax]
mov rcx, qword [rdx]
add rax, 8
add rdx, 0x14
mov qword [rax - 8], rcx
cmp r9, rax
jne 0x14000aa68
xor r9d, r9d
xor r10d, r10d
mov qword [rsp + 0x118], rbx
xor eax, eax
mov qword [rsp + 0xd0], r9
xor r11d, r11d
xor r12d, r12d
xor edi, edi
mov qword [rsp + 0xd8], 0
mov rbx, r10
mov qword [rsp + 0xe0], r8
jmp 0x14000ab8d
mov rsi, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov rdx, rdi
sub rdx, rax
mov qword [rsp + 0x180], rsi
mov rsi, qword [rsp + 0xe0]
lea r15, [rdx + 1]
mov qword [rsp + 0x188], r15
lea rsi, [rsi + rax*8]
lea rax, [rax + rax*4]
mov eax, dword [rcx + rax*4 + 0x10]
mov qword [rsp + 0x190], rsi
cmp eax, 5
je 0x14000ac40
cmp r15, 1
je 0x14000ad40
ja 0x14000ba84
test rdi, rdi
je 0x14000ab78
test r11, r11
je 0x14000adb6
lea rsi, [r10 + 1]
lea r15, [r10*4]
cmp r10, r11
jb 0x14000addc
mov rdx, r11
mov rcx, qword [rsp + 0xd8]
lea rbp, [r11 + r11]
shl rdx, 4
call sym.realloc
mov r10, rsi
mov r11, rbp
mov qword [rsp + 0xd8], rax
add r15, rax
mov eax, dword [rsp + 0xd0]
sub eax, 1
mov dword [r15], eax
mov rax, rdi
add rdi, 1
cmp qword [rsp + 0x80], rdi
je 0x14000b918
mov rsi, qword [rsp + 0x88]
lea rdx, [rdi + rdi*4]
cmp dword [rsi + rdx*4 + 0x10], 5
jne 0x14000aac0
mov rsi, qword [rsp + 0x80]
lea rdx, [rsi - 1]
cmp rdi, rdx
jae 0x14000aac0
jmp 0x14000ab7b
movzx eax, byte [rdx]
cmp al, 0x42
je 0x14000ac10
cmp al, 0x43
jne 0x14000abe0
mov r12d, 1
jmp 0x14000a9c0
cmp al, 0x4c
je 0x14000ac00
cmp al, 0x50
jne 0x14000a8ce
mov r12d, 4
jmp 0x14000a9c0
mov r12d, 3
jmp 0x14000a9c0
xor r12d, r12d
jmp 0x14000a9c0
cmp byte [rdx], 0x42
jne 0x14000a8ce
cmp byte [rdx + 1], 0x34
jne 0x14000a8ce
mov r12d, 2
jmp 0x14000a9c0
cmp r15, 1
je 0x14000ad40
jbe 0x14000ab1f
lea rcx, [r15*8]
mov qword [rsp + 0x108], r11
mov qword [rsp + 0xf0], r10
call sym.malloc
mov r10, qword [rsp + 0xf0]
mov r11, qword [rsp + 0x108]
mov rcx, rax
xor r14d, r14d
mov rdx, r15
xor r13d, r13d
mov qword [rsp + 0x108], rbx
mov rax, r14
mov qword [rsp + 0xf0], r10
mov r14, rdi
mov rbx, rsi
mov qword [rsp + 0x110], r11
jmp 0x14000aceb
lea rsi, [rax + 1]
lea rdi, [rax*8]
cmp rax, rdx
jb 0x14000bc15
lea rbp, [rdx + rdx]
shl rdx, 4
call sym.realloc
mov rdx, rbp
mov rcx, rax
lea r8, [rax + rdi]
mov rax, rsi
mov r9, qword [rbx + r13*8]
add r13, 1
mov qword [r8], r9
cmp r13, r15
jae 0x14000ad1a
test rdx, rdx
jne 0x14000acac
mov ecx, 0x200
call sym.malloc
mov r9, qword [rbx + r13*8]
add r13, 1
mov edx, 0x40
mov r8, rax
mov rcx, rax
mov eax, 1
mov qword [r8], r9
cmp r13, r15
jb 0x14000aceb
mov rdi, r14
mov r10, qword [rsp + 0xf0]
mov r14, rax
mov rbx, qword [rsp + 0x108]
mov r11, qword [rsp + 0x110]
jmp 0x14000baea
test rbx, rbx
je 0x14000ba0a
mov rax, qword [rsp + 0xd0]
lea r14, [rax*8]
lea r13, [rax + 1]
cmp rax, rbx
jb 0x14000bbfc
lea r15, [rbx + rbx]
shl rbx, 4
mov rcx, r12
mov qword [rsp + 0x108], r11
mov rdx, rbx
mov qword [rsp + 0xf0], r10
mov rbx, r15
call sym.realloc
mov qword [rsp + 0xd0], r13
mov r11, qword [rsp + 0x108]
mov r10, qword [rsp + 0xf0]
mov r12, rax
lea r8, [rax + r14]
mov rax, qword [rsi]
mov qword [r8], rax
jmp 0x14000ab1f
mov ecx, 0x200
call sym.malloc
mov r10d, 1
mov r11d, 0x40
mov qword [rsp + 0xd8], rax
mov r15, rax
jmp 0x14000ab6b
mov rax, qword [rsp + 0xd8]
mov r10, rsi
add r15, rax
jmp 0x14000ab6b
mov rcx, r14
call sym.free
mov rax, qword [rsp + 0x88]
mov qword [rbx + 0x70], 0
lea rdx, [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2a0]
mov r8d, 0xa
mov qword [rbx + 0x78], rax
call sym.strtol
mov rcx, qword [rsp + 0x2b0]
lea rdx, [rsp + 0x2b8]
mov dword [rbx + 0x80], eax
call sym.strtod
lea rax, [rbx + 0x88]
mov qword [rsp + 0x100], rax
movsd qword [rbx + 0x88], xmm0
mov ecx, 0x200
xor ebp, ebp
call sym.malloc
xor r10d, r10d
xor r9d, r9d
mov qword [rsp + 0x88], 0
mov qword [rax], 0
mov rsi, rax
mov qword [rsp + 0x80], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xd0], 0xffffffffffffffff
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0x108], 0
mov r15d, 1
mov r14, r9
mov rcx, rsi
mov r13, r10
mov rax, qword [rsp + 0x88]
pxor xmm9, xmm9
mov r9, r15
mov rdi, qword [rsp + 0xd0]
mov qword [rsp + 0xe0], rbx
mov edx, 0x40
movapd xmm6, xmm9
mov r12, rax
lea rdi, [rax + rdi*8]
jmp 0x14000af3d
lea rsi, [r9 + 1]
lea rbx, [r9*8]
cmp r9, rdx
jb 0x14000b0a8
lea r15, [rdx + rdx]
shl rdx, 4
call sym.realloc
mov r9, rsi
mov rdx, r15
mov rcx, rax
lea rax, [rax + rbx]
add r12, 8
movsd qword [rax], xmm9
cmp r12, rdi
je 0x14000afa6
movss xmm0, dword [r12 + 8]
movss xmm1, dword [r12 + 0xc]
subss xmm0, dword [r12]
subss xmm1, dword [r12 + 4]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
cvtss2sd xmm0, xmm0
ucomisd xmm6, xmm0
ja 0x14000cf42
sqrtsd xmm0, xmm0
addsd xmm9, xmm0
test rdx, rdx
jne 0x14000af00
mov ecx, 0x200
add r12, 8
call sym.malloc
mov r9d, 1
mov edx, 0x40
mov rcx, rax
movsd qword [rax], xmm9
cmp r12, rdi
jne 0x14000af3d
mov rbx, qword [rsp + 0xe0]
mov r15, r9
mov rsi, rcx
mov r10, r13
mov r9, r14
mov rcx, rbp
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x110], r9
mov qword [rsp + 0xe0], r10
call sym.malloc
mov r10, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x110]
mov r12, rax
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0x118]
test rax, rax
je 0x14000c9aa
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0xe0], rbx
xor r8d, r8d
mov rbx, rsi
mov qword [rsp + 0x110], r10
mov rdi, rcx
lea r13, [rcx + rax*4]
mov qword [rsp + 0x118], r9
mov rcx, r12
mov r12, rdx
jmp 0x14000b083
lea rsi, [r8 + 1]
lea rbp, [r8*8]
cmp r8, rax
jb 0x14000b0b8
lea r14, [rax + rax]
shl rax, 4
mov rdx, rax
call sym.realloc
mov r8, rsi
mov rcx, rax
lea r9, [rax + rbp]
mov rax, r14
mov edx, dword [rdi]
add rdi, 4
movsd xmm0, qword [rbx + rdx*8]
movsd qword [r9], xmm0
cmp r13, rdi
je 0x14000b0c8
test rax, rax
jne 0x14000b040
mov ecx, 0x200
call sym.malloc
mov r8d, 1
mov rcx, rax
mov r9, rax
mov eax, 0x40
jmp 0x14000b06e
lea rax, [rcx + rbx]
mov r9, rsi
jmp 0x14000af2f
lea r9, [rcx + rbp]
mov r8, rsi
jmp 0x14000b06e
mov rsi, rbx
mov r10, qword [rsp + 0x110]
mov rdx, r12
mov rbp, rax
mov rbx, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x118]
mov r12, rcx
movsd xmm6, qword [rbx + 0x88]
ucomisd xmm9, xmm6
jp 0x14000b10a
movq xmm15, qword [0x1400a3ab0]
je 0x14000b250
cmp r9, 1
jbe 0x14000bd6a
mov rdi, qword [rsp + 0x88]
lea rcx, [r9*8]
pxor xmm0, xmm0
pxor xmm1, xmm1
movq xmm15, qword [0x1400a3ab0]
lea rax, [rdi + rcx - 0x10]
lea rcx, [rdi + rcx - 8]
cvtss2sd xmm1, dword [rax]
cvtss2sd xmm0, dword [rcx]
subsd xmm0, xmm1
movsd xmm1, qword [0x1400a3ac0]
andpd xmm0, xmm15
comisd xmm1, xmm0
jb 0x14000b183
pxor xmm0, xmm0
pxor xmm2, xmm2
cvtss2sd xmm0, dword [rcx + 4]
cvtss2sd xmm2, dword [rax + 4]
subsd xmm0, xmm2
andpd xmm0, xmm15
comisd xmm1, xmm0
jae 0x14000cb38
comisd xmm9, xmm6
lea rdi, [r15 - 1]
jbe 0x14000bc48
test rdi, rdi
je 0x14000b1ca
mov rax, qword [rsp + 0xd0]
jmp 0x14000b1b6
sub r9, 1
sub rax, 1
sub rdi, 1
je 0x14000b1c2
movsd xmm0, qword [rsi + rdi*8 - 8]
comisd xmm0, xmm6
jae 0x14000b1a8
mov qword [rsp + 0xd0], rax
cmp qword [rsp + 0xd0], 0
jne 0x14000bc48
test rdx, rdx
je 0x14000cc34
lea r13, [rdi*8]
lea r15, [rdi + 1]
lea rax, [rsi + r13]
cmp rdi, rdx
jb 0x14000b241
lea rdi, [rdx + rdx]
mov rcx, rsi
shl rdx, 4
mov qword [rsp + 0x110], r9
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xd0], r10
call sym.realloc
mov r9, qword [rsp + 0x110]
mov r8, qword [rsp + 0xe0]
mov rdx, rdi
mov r10, qword [rsp + 0xd0]
mov rsi, rax
lea rax, [rax + r13]
mov qword [rax], 0
nop dword [rax + rax]
mov rax, qword [rsp + 0x100]
mov edi, dword [rbx + 0x80]
pxor xmm10, xmm10
fld1
mov qword [rbx + 8], r10
mov qword [rbx], rax
mov rax, qword [rsp + 0x88]
cvtsi2sd xmm10, rdi
mov qword [rbx + 0x10], r9
mov qword [rbx + 0x18], rax
mov rax, qword [rsp + 0x108]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x40], rax
mov rax, qword [rsp + 0xf0]
movsd qword [rsp + 0x88], xmm10
fld qword [rsp + 0x88]
mov qword [rbx + 0x48], rax
mov rax, qword [rsp + 0xd8]
mov qword [rbx + 0x28], r15
mov qword [rbx + 0x30], rsi
mov qword [rbx + 0x50], rax
mov qword [rbx + 0x60], r8
mov qword [rbx + 0x68], r12
mov qword [rbx + 0x58], rbp
mov rbp, rdi
movsd qword [rbx + 0x38], xmm9
fprem
fnstsw ax
test ah, 4
jne 0x14000b2d7
fstp st(1)
fstp qword [rsp + 0x88]
movsd xmm6, qword [rsp + 0x88]
ucomisd xmm6, xmm6
jp 0x14000d0cd
and ebp, 1
je 0x14000b311
movsd xmm0, qword [0x1400a3a98]
subsd xmm0, xmm6
movapd xmm6, xmm0
movapd xmm1, xmm6
mov rcx, rbx
movapd xmm14, xmm7
call sym.beatmap_sliderpath_position_at
movsd xmm3, qword [0x1400a3c00]
pxor xmm4, xmm4
movsd xmm2, qword [rsp + 0x3e0]
movsd xmm13, qword [rbx + 0x88]
movd xmm12, eax
shr rax, 0x20
movsd xmm1, qword [rsp + 0x3e8]
mulsd xmm2, xmm3
movd xmm5, eax
mov rax, qword [rsp + 0x60]
mulsd xmm13, xmm10
unpcklps xmm12, xmm5
movsd xmm0, qword [rax + 0x10]
movlhps xmm12, xmm12
mulsd xmm0, xmm2
divsd xmm13, xmm0
movsd xmm0, qword [0x1400a3bf0]
mulsd xmm13, qword [rax + 8]
movapd xmm11, xmm13
addsd xmm14, xmm13
divsd xmm11, xmm10
movsd qword [rbx + 0xb8], xmm11
divsd xmm0, qword [rax + 0x10]
comisd xmm4, xmm0
movsd xmm9, qword [rax + 8]
ja 0x14000b9bf
movapd xmm0, xmm9
divsd xmm2, xmm0
mulsd xmm9, xmm2
movsd qword [rbx + 0xb0], xmm2
divsd xmm9, xmm1
movsd qword [rbx + 0xc0], xmm9
test r15, r15
je 0x14000b790
movsd xmm0, qword [rsi + r15*8 - 8]
movsd xmm1, qword [0x1400a3c20]
movsd qword [rsp + 0x88], xmm2
call sym.fmin
movsd xmm2, qword [rsp + 0x88]
movapd xmm6, xmm0
pxor xmm0, xmm0
comisd xmm0, xmm9
jbe 0x14000b41c
movapd xmm9, xmm0
movapd xmm4, xmm6
movapd xmm0, xmm6
movsd xmm3, qword [0x1400a3c28]
minsd xmm4, xmm9
divsd xmm0, xmm4
movapd xmm9, xmm4
movsd qword [rbx + 0xc0], xmm4
movapd xmm1, xmm0
andpd xmm1, xmm15
ucomisd xmm3, xmm1
jbe 0x14000b486
cvttsd2si rax, xmm0
pxor xmm1, xmm1
movapd xmm3, xmm0
movsd xmm4, qword [0x1400a3a98]
andnpd xmm15, xmm0
cvtsi2sd xmm1, rax
cmpnlesd xmm3, xmm1
andpd xmm3, xmm4
addsd xmm1, xmm3
orpd xmm1, xmm15
movapd xmm0, xmm1
movsd xmm1, qword [0x1400a3b40]
comisd xmm0, xmm1
jae 0x14000ba71
cvttsd2si rax, xmm0
test rax, rax
jne 0x14000b82b
pxor xmm0, xmm0
lea rsi, [rdi - 1]
ucomisd xmm9, xmm0
jp 0x14000b4bb
je 0x14000b690
test rsi, rsi
jne 0x14000b862
mulsd xmm2, qword [0x1400a3af8]
xor ecx, ecx
nop
pxor xmm4, xmm4
mov rdx, rcx
mov r8, qword [rbx + 0xc8]
cvtsi2sd xmm4, rcx
and edx, 1
comisd xmm6, xmm9
mov r9d, edx
mulsd xmm4, xmm11
addsd xmm4, xmm7
jb 0x14000b597
movapd xmm5, xmm6
mov rax, r8
movapd xmm1, xmm9
subsd xmm5, xmm2
jmp 0x14000b580
movapd xmm3, xmm1
divsd xmm3, xmm6
movapd xmm0, xmm3
test rdx, rdx
je 0x14000b52d
movsd xmm0, qword [0x1400a3a98]
subsd xmm0, xmm3
mulsd xmm0, xmm11
addsd xmm1, xmm9
lea r10, [rax + 1]
mov qword [rbx + 0xc8], r10
lea rax, [rax + rax*4]
mov r10, qword [rbx + 0xd0]
movapd xmm15, xmm4
comisd xmm6, xmm1
lea rax, [r10 + rax*8]
mov dword [rax], 0
addsd xmm0, xmm4
mov qword [rax + 8], rcx
movsd qword [rax + 0x20], xmm3
unpcklpd xmm15, xmm0
movups xmmword [rax + 0x10], xmm15
mov rax, qword [rbx + 0xc8]
jb 0x14000b586
comisd xmm1, xmm5
jb 0x14000b510
mov rdx, rax
sub rdx, r8
cmp rdx, 1
jbe 0x14000b597
test r9b, r9b
jne 0x14000b608
lea rdx, [rcx + 1]
cmp rcx, rsi
jae 0x14000b5f0
mov rax, qword [rbx + 0xd8]
movapd xmm0, xmm11
addsd xmm0, xmm4
lea r8, [rax + 1]
lea rax, [rax + rax*4]
mov qword [rbx + 0xd8], r8
mov r8, qword [rbx + 0xe0]
unpcklpd xmm4, xmm0
pxor xmm0, xmm0
lea rax, [r8 + rax*8]
mov qword [rax + 8], rcx
mov rcx, rdx
and ecx, 1
mov dword [rax], 1
cvtsi2sd xmm0, rcx
movups xmmword [rax + 0x10], xmm4
movsd qword [rax + 0x20], xmm0
cmp rdx, rdi
jae 0x14000b690
mov rcx, rdx
jmp 0x14000b4d0
lea rdx, [rax - 1]
cmp r8, rdx
jae 0x14000b597
mov rdx, qword [rbx + 0xd0]
lea r9, [r8 + r8*4]
lea r10, [rax + rax*4]
lea r12, [rax + r8 - 1]
lea r9, [rdx + r9*8]
lea rdx, [rdx + r10*8 - 0x28]
nop
movdqu xmm5, xmmword [rdx]
mov rax, qword [r9 + 8]
add r8, 1
add r9, 0x28
mov r10d, dword [r9 - 0x28]
movupd xmm1, xmmword [r9 - 0x18]
sub rdx, 0x28
movups xmmword [r9 - 0x28], xmm5
movdqu xmm5, xmmword [rdx + 0x38]
movsd xmm0, qword [r9 - 8]
movups xmmword [r9 - 0x18], xmm5
mov r11, qword [rdx + 0x48]
mov qword [r9 - 8], r11
mov qword [rdx + 0x30], rax
mov rax, r12
sub rax, r8
mov dword [rdx + 0x28], r10d
movups xmmword [rdx + 0x38], xmm1
movsd qword [rdx + 0x48], xmm0
cmp r8, rax
jb 0x14000b630
jmp 0x14000b597
mulsd xmm10, xmm11
test rsi, rsi
js 0x14000ba50
pxor xmm6, xmm6
cvtsi2sd xmm6, rsi
mulsd xmm6, xmm11
movsd xmm1, qword [0x1400a3a68]
movapd xmm0, xmm11
mulsd xmm1, xmm10
addsd xmm6, xmm7
addsd xmm1, xmm7
addsd xmm0, xmm6
subsd xmm0, qword [0x1400a3c30]
call sym.fmax
pxor xmm2, xmm2
movapd xmm1, xmm0
subsd xmm1, xmm6
divsd xmm1, xmm11
comisd xmm2, xmm1
jbe 0x14000b6f6
xorpd xmm1, xmmword [0x1400a3c40]
test ebp, ebp
je 0x14000b903
movapd xmm2, xmm6
addsd xmm10, xmm7
cmp qword [rsp + 0x80], 1
mov dword [rbx + 0xe8], 2
unpcklpd xmm2, xmm0
pxor xmm0, xmm0
mov qword [rbx + 0xf0], rsi
cvtsi2sd xmm0, ebp
mov qword [rbx + 0x118], rsi
unpcklpd xmm6, xmm10
movups xmmword [rbx + 0xf8], xmm2
mov dword [rbx + 0x110], 3
movsd qword [rbx + 0x108], xmm1
movups xmmword [rbx + 0x120], xmm6
movsd qword [rbx + 0x130], xmm0
jbe 0x14000d20a
comisd xmm14, xmm7
ja 0x14000a286
mov r8d, 0x7d8
lea rdx, str.src_beatmap.h
lea rcx, str.o.end_time___o.time
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
nop dword [rax]
pxor xmm0, xmm0
comisd xmm0, xmm9
movapd xmm6, xmm0
jbe 0x14000b41c
divsd xmm0, xmm0
movsd xmm3, qword [0x1400a3c28]
mov qword [rbx + 0xc0], 0
movapd xmm1, xmm0
andpd xmm1, xmm15
ucomisd xmm3, xmm1
jbe 0x14000b7fe
cvttsd2si rax, xmm0
pxor xmm1, xmm1
movapd xmm3, xmm0
movsd xmm4, qword [0x1400a3a98]
andnpd xmm15, xmm0
cvtsi2sd xmm1, rax
cmpnlesd xmm3, xmm1
andpd xmm3, xmm4
addsd xmm1, xmm3
orpd xmm1, xmm15
movapd xmm0, xmm1
movsd xmm1, qword [0x1400a3b40]
comisd xmm0, xmm1
jae 0x14000bd87
cvttsd2si rax, xmm0
lea rsi, [rdi - 1]
test rax, rax
je 0x14000b690
pxor xmm6, xmm6
movapd xmm9, xmm6
imul rax, rdi
mov rcx, qword [rsp + 0xe8]
movsd qword [rsp + 0x88], xmm2
lea rdx, [rax + rax*4]
shl rdx, 3
call sym.beatmap_arena_alloc
movsd xmm2, qword [rsp + 0x88]
mov qword [rbx + 0xd0], rax
jmp 0x14000b4a6
mov rcx, qword [rsp + 0xe8]
lea rdx, [rsi + rsi*4]
movsd qword [rsp + 0x88], xmm2
shl rdx, 3
call sym.beatmap_arena_alloc
test rdi, rdi
movsd xmm2, qword [rsp + 0x88]
mov qword [rbx + 0xe0], rax
jne 0x14000b4c4
mulsd xmm10, xmm11
movsd xmm6, qword [0x1400a3c50]
movsd xmm1, qword [0x1400a3a68]
movapd xmm0, xmm11
mov rsi, 0xffffffffffffffff
mulsd xmm6, xmm11
mulsd xmm1, xmm10
addsd xmm6, xmm7
addsd xmm1, xmm7
addsd xmm0, xmm6
subsd xmm0, qword [0x1400a3c30]
call sym.fmax
pxor xmm2, xmm2
movapd xmm1, xmm0
subsd xmm1, xmm6
divsd xmm1, xmm11
comisd xmm2, xmm1
jbe 0x14000b903
xorpd xmm1, xmmword [0x1400a3c40]
mov rsi, 0xffffffffffffffff
movsd xmm2, qword [0x1400a3a98]
subsd xmm2, xmm1
movapd xmm1, xmm2
jmp 0x14000b6fe
mov rcx, qword [rsp + 0xe0]
mov rdi, r10
mov qword [rsp + 0xf0], r10
mov qword [rsp + 0x110], rbx
mov rbx, qword [rsp + 0x118]
lea rbp, [rdi*8]
mov qword [rsp + 0x108], r11
mov qword [rsp + 0x88], r12
call sym.free
mov r9, qword [rsp + 0xd0]
mov ecx, 0x200
lea rax, [r9 - 1]
mov qword [rsp + 0xe0], r9
mov rdi, rax
mov qword [rsp + 0xd0], rax
call sym.malloc
test rdi, rdi
mov r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0x110]
mov qword [rax], 0
mov rsi, rax
jne 0x14000aebc
mov r9d, 1
pxor xmm9, xmm9
mov r15d, 1
mov edx, 0x40
jmp 0x14000afba
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x1400a3c08]
movsd xmm4, qword [0x1400a3ad0]
ja 0x14000b9fc
movss xmm5, dword [0x1400a3c0c]
movsd xmm4, qword [0x1400a3af8]
comiss xmm5, xmm0
ja 0x14000b9fc
xorps xmm0, xmmword [0x1400a3c10]
cvtss2sd xmm0, xmm0
movapd xmm4, xmm0
divsd xmm4, xmm3
mulsd xmm4, xmm9
movapd xmm0, xmm4
jmp 0x14000b3ba
mov ecx, 0x200
mov qword [rsp + 0x108], r11
mov ebx, 0x40
mov qword [rsp + 0xf0], r10
call sym.malloc
mov r10, qword [rsp + 0xf0]
mov qword [rsp + 0xd0], 1
mov r11, qword [rsp + 0x108]
mov r12, rax
mov r8, rax
jmp 0x14000adab
mov rax, rsi
mov rdx, rsi
pxor xmm6, xmm6
shr rax, 1
and edx, 1
or rax, rdx
cvtsi2sd xmm6, rax
addsd xmm6, xmm6
jmp 0x14000b6a7
subsd xmm0, xmm1
cvttsd2si rax, xmm0
btc rax, 0x3f
jmp 0x14000b49d
cmp eax, 3
je 0x14000d03f
cmp eax, 4
je 0x14000c8d5
cmp eax, 1
je 0x14000bd9a
lea rsi, [rsp + 0x180]
lea rcx, [rsp + 0x1c0]
mov r8, r15
mov rdx, rsi
mov qword [rsp + 0x108], r11
mov qword [rsp + 0xf0], r10
call sym.beatmap_bspline_to_piecewise_linear
mov r14, qword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x1d0]
mov r11, qword [rsp + 0x108]
mov r10, qword [rsp + 0xf0]
cmp qword [rsp + 0xd0], 0
je 0x14000bafe
test r14, r14
jne 0x14000c585
xor r15d, r15d
cmp r15, r14
jae 0x14000bbbf
mov qword [rsp + 0x108], rdi
mov rdx, qword [rsp + 0xd0]
mov rdi, rcx
mov r13, r11
mov qword [rsp + 0xf0], r10
mov rcx, r12
jmp 0x14000bb72
lea r12, [rdx + 1]
lea rbp, [rdx*8]
cmp rdx, rbx
jb 0x14000bbf0
lea rsi, [rbx + rbx]
shl rbx, 4
mov rdx, rbx
mov rbx, rsi
call sym.realloc
mov rdx, r12
mov rcx, rax
lea rax, [rax + rbp]
mov r9, qword [rdi + r15*8]
add r15, 1
mov qword [rax], r9
cmp r14, r15
je 0x14000bb9e
test rbx, rbx
jne 0x14000bb30
mov ecx, 0x200
mov ebx, 0x40
call sym.malloc
mov r9, qword [rdi + r15*8]
add r15, 1
mov edx, 1
mov rcx, rax
mov qword [rax], r9
cmp r14, r15
jne 0x14000bb72
mov qword [rsp + 0xd0], rdx
mov r12, rcx
mov rcx, rdi
mov r11, r13
mov r10, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0x108]
mov qword [rsp + 0x108], r11
mov qword [rsp + 0xf0], r10
call sym.free
mov r11, qword [rsp + 0x108]
mov r10, qword [rsp + 0xf0]
jmp 0x14000ab1f
lea rax, [rcx + rbp]
mov rdx, r12
jmp 0x14000bb62
mov qword [rsp + 0xd0], r13
lea r8, [r12 + r14]
jmp 0x14000adab
mov edx, r12d
jmp 0x14000a99f
lea r8, [rcx + rdi]
mov rax, rsi
jmp 0x14000acdb
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
mov dword [rsp + 0x304], eax
jmp 0x140009ec0
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x88]
shl rax, 3
lea r13, [rcx + rax]
movq xmm10, qword [rcx + rax - 8]
movq xmm11, qword [r13]
subps xmm11, xmm10
movaps xmm5, xmm11
movaps xmm0, xmm11
shufps xmm5, xmm5, 0xe5
mulss xmm0, xmm11
movaps xmm1, xmm5
mulss xmm1, xmm5
addss xmm0, xmm1
movss xmm1, dword [0x1400a3bfc]
comiss xmm1, xmm0
ja 0x14000bcc2
pxor xmm1, xmm1
cvtss2sd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x14000d141
sqrtsd xmm0, xmm0
unpcklpd xmm0, xmm0
cvtps2pd xmm11, xmm11
divpd xmm11, xmm0
cvtpd2ps xmm11, xmm11
movapd xmm0, xmm6
subsd xmm0, qword [rsi + rdi*8 - 8]
lea r11, [rdi*8]
cvtsd2ss xmm0, xmm0
shufps xmm0, xmm0, 0xe0
mulps xmm0, xmm11
addps xmm0, xmm10
movlps qword [r13], xmm0
test rdx, rdx
je 0x14000cbe4
lea r15, [rdi + 1]
cmp rdi, rdx
jb 0x14000cbb7
lea rdi, [rdx + rdx]
mov rcx, rsi
shl rdx, 4
mov qword [rsp + 0x118], r11
mov qword [rsp + 0x110], r9
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xd0], r10
call sym.realloc
mov r11, qword [rsp + 0x118]
mov rdx, rdi
movsd xmm6, qword [rbx + 0x88]
mov r9, qword [rsp + 0x110]
mov r8, qword [rsp + 0xe0]
mov rsi, rax
mov r10, qword [rsp + 0xd0]
add r11, rax
movsd qword [r11], xmm6
jmp 0x14000b250
comisd xmm9, xmm6
lea rdi, [r15 - 1]
movq xmm15, qword [0x1400a3ab0]
ja 0x14000b192
jmp 0x14000b1ca
subsd xmm0, xmm1
cvttsd2si rax, xmm0
btc rax, 0x3f
jmp 0x14000b815
lea rax, [r15 + r15*4]
mov qword [rsp + 0x108], r10
xor r14d, r14d
lea rax, [rax + rax*4]
mov qword [rsp + 0xf0], rdx
lea r13, [rax*4 - 0x64]
mov qword [rsp + 0x138], r11
lea rcx, [r13*8]
call sym.malloc
mov r10, qword [rsp + 0x108]
mov r9, rsi
movss xmm13, dword [rsi]
mov rdx, qword [rsp + 0xf0]
movss xmm14, dword [rsi + 4]
xor esi, esi
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x128], r10
mov rcx, rax
movss xmm15, dword [0x1400a3bf8]
mov qword [rsp + 0x130], rbx
lea r15, [rdx - 1]
mov rbx, rdx
mov rdx, r9
mov qword [rsp + 0x148], rdi
mov rdi, rsi
movsd qword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x150], xmm8
nop dword [rax]
movss xmm8, dword [rdx]
movss xmm7, dword [rdx + 4]
movss xmm9, dword [rdx + 8]
movss xmm10, dword [rdx + 0xc]
cmp rdi, r15
jae 0x14000c053
movss xmm11, dword [rdx + 0x10]
movss xmm12, dword [rdx + 0x14]
mov rax, r13
mov qword [rsp + 0xf0], rdx
mov r13, rbx
xor ebp, ebp
mov qword [rsp + 0x108], rdi
pxor xmm6, xmm6
mov rbx, rax
jmp 0x14000bf79
lea rdx, [r14*8]
lea rsi, [r14 + 1]
mov rdi, rbx
add rdx, rcx
cmp r14, rbx
jb 0x14000bf9c
lea rdi, [rbx + rbx]
shl rbx, 4
mov rdx, rbx
call sym.realloc
divss xmm6, xmm15
movaps xmm3, xmm7
movss dword [rsp + 0x38], xmm12
movaps xmm2, xmm8
movaps xmm1, xmm14
movaps xmm0, xmm13
mov rcx, rax
movss dword [rsp + 0x30], xmm11
movss dword [rsp + 0x28], xmm10
movss dword [rsp + 0x20], xmm9
movss dword [rsp + 0x40], xmm6
call sym.beatmap_catmull_find_point.isra.0
mov qword [rcx + r14*8], rax
test rdi, rdi
jne 0x14000bfda
mov ecx, 0x200
mov r14d, 1
mov ebx, 0x40
call sym.malloc
mov rcx, rax
mov r10, rax
add rbp, 1
pxor xmm6, xmm6
movss dword [rsp + 0x38], xmm12
movaps xmm3, xmm7
cvtsi2ss xmm6, rbp
movaps xmm2, xmm8
movaps xmm1, xmm14
movss dword [rsp + 0x30], xmm11
movss dword [rsp + 0x28], xmm10
movss dword [rsp + 0x20], xmm9
movaps xmm0, xmm6
divss xmm0, xmm15
movss dword [rsp + 0x40], xmm0
movaps xmm0, xmm13
call sym.beatmap_catmull_find_point.isra.0
mov qword [r10], rax
cmp rbp, 0x32
je 0x14000c018
test rbx, rbx
jne 0x14000be90
mov ecx, 0x200
mov esi, 1
mov edi, 0x40
call sym.malloc
mov rcx, rax
mov rdx, rax
divss xmm6, xmm15
movss dword [rsp + 0x38], xmm12
movaps xmm3, xmm7
movaps xmm2, xmm8
movss dword [rsp + 0x30], xmm11
movaps xmm1, xmm14
movaps xmm0, xmm13
movss dword [rsp + 0x28], xmm10
movss dword [rsp + 0x20], xmm9
movss dword [rsp + 0x40], xmm6
call sym.beatmap_catmull_find_point.isra.0
mov qword [rdx], rax
lea r12, [rsi*8]
lea r14, [rsi + 1]
mov rbx, rdi
lea r10, [rcx + r12]
cmp rsi, rdi
jb 0x14000bf21
lea rbx, [rdi + rdi]
shl rdi, 4
mov rdx, rdi
call sym.realloc
mov rcx, rax
lea r10, [rax + r12]
jmp 0x14000bf21
mov rdi, qword [rsp + 0x108]
mov rdx, qword [rsp + 0xf0]
mov rax, rbx
mov rbx, r13
mov r13, rax
add rdi, 1
add rdx, 8
cmp rdi, rbx
je 0x14000ca00
movss xmm13, dword [rdx - 8]
movss xmm14, dword [rdx - 4]
jmp 0x14000be40
movaps xmm11, xmm9
movaps xmm12, xmm10
addss xmm11, xmm9
addss xmm12, xmm10
subss xmm11, xmm8
subss xmm12, xmm7
jmp 0x14000be6b
mov rsi, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x160]
mov rax, rsi
mov qword [rsp + 0x68], rsi
sub rax, rdi
lea rdx, [rax + rax*2]
lea rax, [rsp + 0x458]
mov rcx, rax
mov qword [rsp + 0xe8], rax
call sym.beatmap_arena_alloc
mov qword [rsp + 0x418], rax
mov r10, rax
cmp rdi, rsi
jae 0x14000a004
mov rax, rdi
mov rsi, qword [rsp + 0xf8]
mov qword [rsp + 0x70], r10
lea r13, [rsp + 0x1e0]
shl rax, 4
lea r15, [rsp + 0x1f0]
lea r14, str.SliderBorder
lea r12, [rsi + rax]
lea rax, [rsp + 0x240]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x258]
lea rbp, str.SliderTrackOverride
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x268]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0x248]
mov qword [rsp + 0x98], rax
mov rax, r12
mov r12, rdi
mov rdi, rax
nop
mov r9d, 2
mov r8, r13
mov edx, 0x3a
mov rcx, rdi
call sym.beatmap_slice_split
mov rcx, r13
call sym.beatmap_slice_trim
mov rcx, r15
call sym.beatmap_slice_trim
mov r8, qword [rsp + 0x90]
mov edx, 0x2c
mov rcx, r15
mov r9d, 3
call sym.beatmap_slice_split
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x240]
mov r8d, 0xa
call sym.strtol
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x250]
mov r8d, 0xa
mov ebx, eax
call sym.strtol
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x260]
mov r8d, 0xa
mov esi, eax
call sym.strtol
movzx r9d, bl
mov rdx, qword [rsp + 0x1e0]
mov r8d, eax
mov eax, r9d
mov ecx, r8d
mov ah, cl
mov r9d, eax
mov rax, qword [rsp + 0x1e8]
sub rax, rdx
cmp rax, 5
je 0x14000c243
lea rcx, [rax + 1]
cmp rax, 0x12
jne 0x14000c26d
xor eax, eax
jmp 0x14000c21a
add rax, 1
cmp rax, 0x13
je 0x14000c296
movzx ecx, byte [rbp + rax]
cmp byte [rdx + rax], cl
je 0x14000c210
nop dword [rax]
mov rax, qword [rsp + 0x68]
add r12, 1
add rdi, 0x10
cmp r12, rax
jb 0x14000c140
jmp 0x14000a004
mov rax, qword [rsp + 0x410]
mov rbx, qword [rsp + 0x70]
lea rdx, [rax + 1]
lea rax, [rax + rax*2]
add rax, rbx
mov qword [rsp + 0x410], rdx
mov word [rax], r9w
mov byte [rax + 2], sil
jmp 0x14000c228
cmp rcx, 0xc
jne 0x14000c228
xor eax, eax
jmp 0x14000c28a
add rax, 1
cmp rax, 0xc
je 0x14000c2c9
movzx ebx, byte [r14 + rax]
cmp byte [rdx + rax], bl
je 0x14000c280
jmp 0x14000c228
mov rcx, qword [rsp + 0xe8]
mov edx, 3
mov dword [rsp + 0x78], r8d
call sym.beatmap_arena_alloc
mov r8d, dword [rsp + 0x78]
mov qword [rsp + 0x420], rax
mov byte [rax], bl
mov byte [rax + 1], r8b
mov byte [rax + 2], sil
jmp 0x14000c228
mov rcx, qword [rsp + 0xe8]
mov edx, 3
mov word [rsp + 0x78], r9w
call sym.beatmap_arena_alloc
movzx r9d, word [rsp + 0x78]
mov qword [rsp + 0x428], rax
mov word [rax], r9w
mov byte [rax + 2], sil
jmp 0x14000c228
mov r12, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x160]
lea rcx, [rsp + 0x458]
mov rax, r12
sub rax, rdi
lea rdx, [rax + rax*2]
shl rdx, 4
call sym.beatmap_arena_alloc
mov qword [rsp + 0x408], rax
mov rbx, rax
cmp rdi, r12
jae 0x140009fd4
mov rsi, qword [rsp + 0xf8]
mov rbp, rdi
mov rax, qword [rsp + 0x400]
lea r14, [rsp + 0x2a8]
shl rbp, 4
movsd xmm9, qword [0x1400a3bd8]
movsd xmm11, qword [0x1400a3a98]
lea r15, [rsp + 0x2b8]
movsd xmm10, qword [0x1400a3bf0]
add rbp, rsi
lea rdx, [rax + rax*2]
lea rsi, [rsp + 0x240]
mov qword [rsp + 0x90], rsi
add rax, 1
shl rdx, 4
lea rsi, [rsp + 0x258]
mov qword [rsp + 0xa0], rsi
sub rax, rdi
add rbx, rdx
lea rsi, [rsp + 0x278]
mov qword [rsp + 0xb0], rsi
lea rsi, [rsp + 0x288]
mov qword [rsp + 0xb8], rsi
lea rsi, [rsp + 0x268]
mov qword [rsp + 0xa8], rsi
lea rsi, [rsp + 0x248]
mov qword [rsp + 0x98], rsi
lea rsi, [rsp + 0x298]
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rax
jmp 0x14000c455
movapd xmm1, xmm10
divsd xmm1, xmm12
mov rcx, qword [rsp + 0x68]
movapd xmm0, xmm7
mov byte [rbx + 0x29], dl
add rbp, 0x10
unpcklpd xmm0, xmm9
mov byte [rbx + 0x28], sil
add rbx, 0x30
add rcx, rdi
add rdi, 1
movups xmmword [rbx - 0x30], xmm0
movsd qword [rbx - 0x20], xmm1
movups xmmword [rbx - 0x18], xmm6
mov byte [rbx - 6], al
mov qword [rsp + 0x400], rcx
cmp rdi, r12
jae 0x140009fd4
mov r8, qword [rsp + 0x90]
mov r9d, 8
mov edx, 0x2c
mov rcx, rbp
call sym.beatmap_slice_split
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x240]
call sym.strtod
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x250]
movapd xmm7, xmm0
call sym.strtod
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x260]
mov r8d, 0xa
movapd xmm12, xmm0
call sym.strtol
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x270]
mov r8d, 0xa
movd xmm6, eax
call sym.strtol
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x280]
mov r8d, 0xa
movd xmm13, eax
call sym.strtol
mov rdx, qword [rsp + 0x70]
mov r8d, 0xa
mov rcx, qword [rsp + 0x290]
movd xmm8, eax
punpckldq xmm6, xmm13
call sym.strtol
mov rcx, qword [rsp + 0x2a0]
mov r8d, 0xa
mov rdx, r14
movd xmm4, eax
punpckldq xmm8, xmm4
call sym.strtol
mov rcx, qword [rsp + 0x2b0]
mov rdx, r15
mov r8d, 0xa
test eax, eax
mov r13d, eax
punpcklqdq xmm6, xmm8
setne sil
call sym.strtol
mov edx, eax
shr eax, 3
and edx, 1
and eax, 1
test r13d, r13d
je 0x14000c406
movapd xmm9, xmm12
movapd xmm1, xmm11
jmp 0x14000c410
mov rax, qword [rsp + 0xd0]
pxor xmm0, xmm0
pxor xmm1, xmm1
movq xmm2, qword [0x1400a3ab0]
cvtss2sd xmm1, dword [rcx]
lea rdx, [r12 + rax*8 - 8]
cvtss2sd xmm0, dword [rdx]
subsd xmm0, xmm1
movsd xmm1, qword [0x1400a3ac0]
andpd xmm0, xmm2
comisd xmm1, xmm0
jb 0x14000cb30
pxor xmm0, xmm0
pxor xmm3, xmm3
xor r15d, r15d
cvtss2sd xmm0, dword [rdx + 4]
cvtss2sd xmm3, dword [rcx + 4]
subsd xmm0, xmm3
andpd xmm0, xmm2
comisd xmm1, xmm0
setae r15b
jmp 0x14000bb01
mov rcx, qword [rsp + 0x88]
lea rax, [r15 + r15*4]
mov r13d, r12d
add r15, 1
lea rax, [rcx + rax*4]
mov dword [rax + 0x10], r12d
movups xmmword [rax], xmm8
jmp 0x14000a8e2
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
mov dword [rsp + 0x308], eax
jmp 0x140009ec0
mov r12, qword [rsp + 0x168]
mov r14, qword [rsp + 0x160]
mov rax, r12
sub rax, r14
lea rdx, [rax + rax*2]
lea rax, [rsp + 0x458]
shl rdx, 4
mov rcx, rax
mov qword [rsp + 0xe8], rax
call sym.beatmap_arena_alloc
mov qword [rsp + 0x3f8], rax
mov rbx, rax
cmp r14, r12
jae 0x140009fa4
mov rax, qword [rsp + 0x3f0]
mov rdi, qword [rsp + 0xf8]
mov rdx, r14
mov rsi, r14
shl rdx, 4
lea r15, [rdi + rdx]
lea rdx, [rax + rax*2]
add rax, 1
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x258]
shl rdx, 4
lea rdi, [rsp + 0x240]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x268]
add rbx, rdx
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rax
jmp 0x14000c7d4
xor eax, eax
cmp rcx, 5
je 0x14000c89e
xor r13d, r13d
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x250]
mov r8d, 0xa
pxor xmm7, xmm7
call sym.strtol
mov r11, qword [rsp + 0x260]
mov r10, qword [rsp + 0x268]
mov rcx, qword [rsp + 0xe8]
cvtsi2sd xmm7, eax
sub r10, r11
mov qword [rsp + 0x88], r11
lea r8, [r10 + 1]
lea rdx, [r10 + 2]
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x80], r8
call sym.beatmap_arena_alloc
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov rcx, rax
mov rbp, rax
call sym.memcpy
mov r10, qword [rsp + 0x78]
mov byte [rbp + r10 + 1], 0
cmp rdi, 3
ja 0x14000c95b
pxor xmm1, xmm1
movapd xmm6, xmm1
movapd xmm2, xmm1
mov rax, qword [rsp + 0x68]
movapd xmm0, xmm7
mov dword [rbx], r13d
add r15, 0x10
unpcklpd xmm0, xmm2
mov qword [rbx + 0x18], rbp
add rbx, 0x30
sub rax, r14
movups xmmword [rbx - 0x28], xmm0
add rax, rsi
add rsi, 1
movsd qword [rbx - 0x10], xmm6
movsd qword [rbx - 8], xmm1
mov qword [rsp + 0x3f0], rax
cmp rsi, r12
jae 0x140009fa4
mov r8, qword [rsp + 0x90]
mov edx, 0x2c
mov rcx, r15
mov r9d, 5
call sym.beatmap_slice_split
mov rdx, qword [rsp + 0x240]
mov rdi, rax
mov rax, qword [rsp + 0x248]
sub rax, rdx
lea rcx, [rax + 1]
jne 0x14000c6e7
movzx eax, byte [rdx]
cmp al, 0x30
je 0x14000c6f3
mov r13d, 1
cmp al, 0x31
je 0x14000c6f6
cmp al, 0x32
jne 0x14000cbbf
mov rdx, qword [rsp + 0x70]
mov r8d, 0xa
pxor xmm7, xmm7
xor ebp, ebp
mov rcx, qword [rsp + 0x250]
mov r13d, 2
call sym.strtol
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x260]
mov r8d, 0xa
cvtsi2sd xmm7, eax
call sym.strtol
pxor xmm2, xmm2
pxor xmm1, xmm1
cvtsi2sd xmm2, eax
movapd xmm6, xmm1
jmp 0x14000c78f
add rax, 1
cmp rax, 5
je 0x14000cc81
lea rcx, str.Video
movzx ecx, byte [rcx + rax]
cmp byte [rdx + rax], cl
je 0x14000c890
xor eax, eax
lea rcx, str.Break
movzx r11d, byte [rcx + rax]
cmp byte [rdx + rax], r11b
jne 0x14000c6f3
add rax, 1
cmp rax, 5
jne 0x14000c8b7
jmp 0x14000c830
cmp r15, 3
jne 0x14000d18b
lea rsi, [rsp + 0x180]
lea rcx, [rsp + 0x1a0]
mov qword [rsp + 0x108], r11
mov rdx, rsi
mov qword [rsp + 0xf0], r10
call sym.beatmap_circarc_to_piecewise_linear
mov r14, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x1b0]
mov r10, qword [rsp + 0xf0]
test r14, r14
mov r11, qword [rsp + 0x108]
jne 0x14000cafe
test rdx, rdx
je 0x14000baa7
call sym.free
mov r10, qword [rsp + 0xf0]
mov r11, qword [rsp + 0x108]
jmp 0x14000baa7
mov rcx, qword [rsp + 0x270]
lea rdx, [rsp + 0x278]
mov r8d, 0xa
pxor xmm6, xmm6
call sym.strtol
mov rcx, qword [rsp + 0x280]
lea rdx, [rsp + 0x288]
mov r8d, 0xa
cvtsi2sd xmm6, eax
call sym.strtol
pxor xmm1, xmm1
pxor xmm2, xmm2
cvtsi2sd xmm1, eax
jmp 0x14000c78f
xor r8d, r8d
xor ebp, ebp
jmp 0x14000b0ec
mov ecx, 0x10
mov ebp, 1
call sym.malloc
mov r9d, 1
mov edx, 0x7c
lea rcx, [rsp + 0x290]
mov r8, rax
mov r14, rax
call sym.beatmap_slice_split
mov rcx, qword [rsp + 0xe8]
mov edx, 0x14
call sym.beatmap_arena_alloc
mov qword [rsp + 0x88], rax
jmp 0x14000a89b
mov r10, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x130]
mov r11, qword [rsp + 0x138]
mov r12, qword [rsp + 0x140]
movsd xmm7, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x148]
movaps xmm8, xmmword [rsp + 0x150]
jmp 0x14000baea
mov r9, qword [rsp + 0x250]
mov r15, qword [rsp + 0x258]
lea rcx, [rsp + 0x458]
sub r15, r9
mov qword [rsp + 0x60], r9
lea r8, [r15 + 1]
lea rdx, [r15 + 2]
mov qword [rsp + 0x58], r8
call sym.beatmap_arena_alloc
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rcx, rax
call sym.memcpy
mov byte [rax + r15 + 1], 0
mov qword [rsp + 0x310], rax
jmp 0x140009ec0
movaps xmm1, xmm0
pxor xmm4, xmm4
shufps xmm1, xmm0, 0x55
cvtss2sd xmm4, dword [rdx + 4]
cvtss2sd xmm1, xmm1
subsd xmm1, xmm4
andpd xmm1, xmm3
comisd xmm2, xmm1
jb 0x14000a993
mov dword [rdx + 0x10], 0
xor r13d, r13d
jmp 0x14000a9c0
cmp rcx, 0x11
jne 0x14000ccbc
xor eax, eax
lea rcx, str.LetterboxInBreaks
jmp 0x14000caee
add rax, 1
cmp rax, 0x11
je 0x14000cd3f
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000cae0
jmp 0x140009c75
mov rdx, qword [rsp + 0xd0]
test rdx, rdx
jne 0x14000c585
mov qword [rsp + 0x108], rdi
xor r15d, r15d
mov rdi, rcx
mov r13, r11
mov qword [rsp + 0xf0], r10
mov rcx, r12
jmp 0x14000bb72
xor r15d, r15d
jmp 0x14000bb0a
comisd xmm6, xmm9
jbe 0x14000b183
test rdx, rdx
je 0x14000cf95
lea r13, [r15 + 1]
lea rdi, [r15*8]
cmp r15, rdx
jb 0x14000cf8a
lea r14, [rdx + rdx]
mov rcx, rsi
shl rdx, 4
mov qword [rsp + 0x110], r9
mov qword [rsp + 0xe0], r8
mov r15, r13
mov qword [rsp + 0xd0], r10
call sym.realloc
mov r9, qword [rsp + 0x110]
mov r8, qword [rsp + 0xe0]
mov rdx, r14
mov r10, qword [rsp + 0xd0]
mov rsi, rax
add rdi, rax
movsd qword [rdi], xmm9
jmp 0x14000b250
add r11, rsi
jmp 0x14000bd60
cmp al, 0x33
jne 0x14000c6f3
pxor xmm1, xmm1
mov r13d, 3
xor ebp, ebp
movapd xmm6, xmm1
movapd xmm2, xmm1
movapd xmm7, xmm1
jmp 0x14000c78f
mov ecx, 0x200
mov qword [rsp + 0x110], r9
mov r15d, 1
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xd0], r10
call sym.malloc
mov r10, qword [rsp + 0xd0]
mov edx, 0x40
mov r8, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x110]
mov rsi, rax
mov r11, rax
jmp 0x14000bd60
mov ecx, 0x200
mov qword [rsp + 0x110], r9
mov r15d, 1
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xd0], r10
call sym.malloc
mov r10, qword [rsp + 0xd0]
mov edx, 0x40
mov r8, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x110]
mov rsi, rax
jmp 0x14000b241
mov r13d, 1
jmp 0x14000c6f6
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
call sym.strtod
movsd qword [rsp + 0x318], xmm0
jmp 0x140009ec0
lea rax, [r13 + r8]
mov r14, r15
jmp 0x140009f0e
cmp rcx, 0xe
jne 0x14000cd69
xor eax, eax
lea rcx, str.UseSkinSprites
jmp 0x14000ccdf
add rax, 1
cmp rax, 0xe
je 0x14000ce40
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000ccd1
xor eax, eax
lea rcx, str.SkinPreference
jmp 0x14000cd03
add rax, 1
cmp rax, 0xe
je 0x14000ce6a
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000ccf5
jmp 0x140009c75
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
mov dword [rsp + 0x320], eax
jmp 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
test eax, eax
setne byte [rsp + 0x324]
jmp 0x140009ec0
cmp rcx, 0x13
jne 0x14000cd98
xor eax, eax
lea rcx, str.AlwaysShowPlayfield
jmp 0x14000cd88
add rax, 1
cmp rax, 0x13
je 0x14000cec1
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000cd7a
jmp 0x140009c75
cmp rcx, 0xf
jne 0x14000d010
xor eax, eax
lea rcx, str.OverlayPosition
jmp 0x14000cdbb
add rax, 1
cmp rax, 0xf
je 0x14000ceeb
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000cdad
xor eax, eax
lea rcx, str.EpilepsyWarning
jmp 0x14000cddf
add rax, 1
cmp rax, 0xf
je 0x14000d1e0
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000cdd1
xor eax, eax
lea rcx, str.CountdownOffset
jmp 0x14000ce06
add rax, 1
cmp rax, 0xf
je 0x14000d280
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000cdf8
xor eax, eax
lea rcx, str.DistanceSpacing
jmp 0x14000ce2a
add rax, 1
cmp rax, 0xf
je 0x14000d2cc
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000ce1c
jmp 0x140009c75
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
test eax, eax
setne byte [rsp + 0x325]
jmp 0x140009ec0
mov r9, qword [rsp + 0x250]
mov r15, qword [rsp + 0x258]
lea rcx, [rsp + 0x458]
sub r15, r9
mov qword [rsp + 0x60], r9
lea r8, [r15 + 1]
lea rdx, [r15 + 2]
mov qword [rsp + 0x58], r8
call sym.beatmap_arena_alloc
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rcx, rax
call sym.memcpy
mov byte [rax + r15 + 1], 0
mov qword [rsp + 0x330], rax
jmp 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
test eax, eax
setne byte [rsp + 0x326]
jmp 0x140009ec0
mov r9, qword [rsp + 0x250]
mov r15, qword [rsp + 0x258]
lea rcx, [rsp + 0x458]
sub r15, r9
mov qword [rsp + 0x60], r9
lea r8, [r15 + 1]
lea rdx, [r15 + 2]
mov qword [rsp + 0x58], r8
call sym.beatmap_arena_alloc
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rcx, rax
call sym.memcpy
mov byte [rax + r15 + 1], 0
mov qword [rsp + 0x328], rax
jmp 0x140009ec0
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x118], r9
mov qword [rsp + 0x110], rcx
call sym.sqrt
mov rdx, qword [rsp + 0x128]
mov r9, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x110]
jmp 0x14000af76
mov qword [rsp + 0x50], 0
jmp 0x140009f4c
add rdi, rsi
mov r15, r13
jmp 0x14000cbad
mov ecx, 0x200
mov qword [rsp + 0x110], r9
mov r15d, 1
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xd0], r10
call sym.malloc
mov r10, qword [rsp + 0xd0]
mov edx, 0x40
mov r8, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x110]
mov rsi, rax
mov rdi, rax
jmp 0x14000cbad
xor r15d, r15d
jmp 0x14000a53c
mov r8d, 0x6a6
lea rdx, str.src_beatmap.h
lea rcx, str.beatmap_slice_split_value_____split_bookmarks__beatmap.bookmarks_len___beatmap.bookmarks_len
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
nop word [rax + rax]
cmp rcx, 0xc
jne 0x14000d0a2
xor eax, eax
lea rcx, str.SpecialStyle
jmp 0x14000d02f
add rax, 1
cmp rax, 0xc
je 0x14000d078
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000d025
jmp 0x140009c75
lea rcx, [r15*8]
mov qword [rsp + 0x108], r11
mov qword [rsp + 0xf0], r10
call sym.malloc
mov r11, qword [rsp + 0x108]
mov r10, qword [rsp + 0xf0]
mov rcx, rax
jmp 0x14000ac80
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
test eax, eax
setne byte [rsp + 0x340]
jmp 0x140009ec0
cmp rcx, 0x14
jne 0x14000d10e
xor eax, eax
lea rcx, str.WidescreenStoryboard
jmp 0x14000d0bd
add rax, 1
cmp rax, 0x14
je 0x14000d0e4
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000d0b3
jmp 0x140009c75
movsd xmm1, qword [0x1400a3a98]
movapd xmm0, xmm10
call sym.fmod
jmp 0x14000b2fc
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
test eax, eax
setne byte [rsp + 0x341]
jmp 0x140009ec0
cmp rcx, 0x17
jne 0x14000d24e
xor eax, eax
lea rcx, str.SampleMatchPlaybackRate
jmp 0x14000d131
add rax, 1
cmp rax, 0x17
je 0x14000d224
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000d123
jmp 0x140009c75
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x110], r9
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xd0], r10
call sym.sqrt
mov rdx, qword [rsp + 0x118]
mov r9, qword [rsp + 0x110]
mov r8, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xd0]
jmp 0x14000bcb0
mov r8d, 0x315
lea rdx, str.src_beatmap.h
lea rcx, [0x1400a3457]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
nop dword [rax]
mov r8d, 0x657
lea rdx, str.src_beatmap.h
lea rcx, str.line.end___line.start
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov r8d, 0x79c
lea rdx, str.src_beatmap.h
lea rcx, str._int_type____1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
nop dword [rax]
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
test eax, eax
setne byte [rsp + 0x338]
jmp 0x140009ec0
mov r8d, 0x7d7
lea rdx, str.src_beatmap.h
lea rcx, str.curve_points_len___1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
test eax, eax
setne byte [rsp + 0x342]
jmp 0x140009ec0
cmp rcx, 8
jne 0x140009c75
xor eax, eax
lea rcx, str.GridSize
jmp 0x14000d26d
add rax, 1
cmp rax, 8
je 0x14000d2a7
movzx r11d, byte [rcx + rax]
cmp byte [r15 + rax], r11b
je 0x14000d263
jmp 0x140009c75
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
mov dword [rsp + 0x33c], eax
jmp 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
call sym.strtod
cvttsd2si eax, xmm0
mov dword [rsp + 0x364], eax
jmp 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
call sym.strtod
movsd qword [rsp + 0x358], xmm0
jmp 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
call sym.strtod
movsd qword [rsp + 0x3e0], xmm0
jmp 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
call sym.strtod
movsd qword [rsp + 0x3d8], xmm0
jmp 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
call sym.strtod
movsd qword [rsp + 0x3d0], xmm0
jmp 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
call sym.strtod
movsd qword [rsp + 0x3c8], xmm0
jmp 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
call sym.strtod
movsd qword [rsp + 0x3c0], xmm0
jmp 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
mov dword [rsp + 0x3bc], eax
jmp 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov r8d, 0xa
call sym.strtol
mov dword [rsp + 0x3b8], eax
jmp 0x140009ec0
mov rdx, qword [rsp + 0x258]
mov rax, qword [rsp + 0x250]
mov rcx, rdx
sub rcx, rax
add rcx, 1
je 0x14000d411
add qword [rsp + 0x3a8], 1
xor r15d, r15d
jmp 0x14000d423
cmp byte [rax], 0x20
jne 0x14000d41f
add r15, 1
add rax, 1
cmp rdx, rax
jae 0x14000d416
add r15, qword [rsp + 0x3a8]
lea rax, [rsp + 0x458]
lea rdx, [r15*8]
mov rcx, rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x3a8], r15
call sym.beatmap_arena_alloc
mov rcx, r15
shl rcx, 4
mov qword [rsp + 0x3b0], rax
call sym.malloc
lea rcx, [rsp + 0x250]
mov r9, r15
mov edx, 0x20
mov r8, rax
mov qword [rsp + 0x60], rax
call sym.beatmap_slice_split
mov r11, qword [rsp + 0x60]
cmp r15, rax
jne 0x14000d658
xor r9d, r9d
mov qword [rsp + 0x60], rsi
xor r15d, r15d
mov rsi, r11
mov qword [rsp + 0x68], rbx
mov rbx, r9
mov qword [rsp + 0x570], rbp
mov rbp, rdi
jmp 0x14000d4e0
mov rdi, qword [rsp + 0x3b0]
mov rdx, qword [rsi + r15*2]
add rbx, 1
mov r8, qword [rsi + r15*2 + 8]
mov rcx, qword [rsp + 0x58]
add rdi, r15
add r15, 8
call sym.beatmap_parse_str.isra.0
mov qword [rdi], rax
cmp rbx, qword [rsp + 0x3a8]
jb 0x14000d4b7
mov r11, rsi
mov rdi, rbp
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov rcx, r11
mov rbp, qword [rsp + 0x570]
call sym.free
jmp 0x140009ec0
mov r8, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x250]
lea rcx, [rsp + 0x458]
call sym.beatmap_parse_str.isra.0
mov qword [rsp + 0x3a0], rax
jmp 0x140009ec0
mov r8, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x250]
lea rcx, [rsp + 0x458]
call sym.beatmap_parse_str.isra.0
mov qword [rsp + 0x398], rax
jmp 0x140009ec0
mov r8, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x250]
lea rcx, [rsp + 0x458]
call sym.beatmap_parse_str.isra.0
mov qword [rsp + 0x380], rax
jmp 0x140009ec0
mov r8, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x250]
lea rcx, [rsp + 0x458]
call sym.beatmap_parse_str.isra.0
mov qword [rsp + 0x378], rax
jmp 0x140009ec0
mov r8, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x250]
lea rcx, [rsp + 0x458]
call sym.beatmap_parse_str.isra.0
mov qword [rsp + 0x370], rax
jmp 0x140009ec0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
call sym.strtod
movsd qword [rsp + 0x368], xmm0
jmp 0x140009ec0
mov r8, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x250]
lea rcx, [rsp + 0x458]
call sym.beatmap_parse_str.isra.0
mov qword [rsp + 0x390], rax
jmp 0x140009ec0
mov r8, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x250]
lea rcx, [rsp + 0x458]
call sym.beatmap_parse_str.isra.0
mov qword [rsp + 0x388], rax
jmp 0x140009ec0
mov r8d, 0x6cd
lea rdx, str.src_beatmap.h
lea rcx, str.beatmap_slice_split_value_____split_tags__beatmap.tags_len___beatmap.tags_len
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
nop
nop word cs:[rax + rax]
nop