Function at 0x427960
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [esp + 0xc]
sub esp, 0x2c
push ebx
push ebp
push esi
push edi
mov esi, ecx
cmp eax, 1
jne 0x427a7c
cmp byte [esi + 0x3d4], 0
je 0x427a7c
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
lea ecx, [esi + 0x22c]
mov byte [esi + 0x3d4], 0
call fcn.00401b50
test al, al
je 0x427a3e
mov ecx, dword [0x57012c]
mov eax, dword [esi + 0x2d0]
mov edx, dword [esi + 0x248]
xor edi, edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], ecx
push 0xc
mov ecx, 0x6bb4f0
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edx
mov byte [esp + 0x3c], 1
mov byte [esi + 0x475], 0
call fcn.004266a0
movq xmm0, qword [esp + 0x18]
mov edx, dword [esp + 0x38]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esp + 0x44]
movq qword [eax + 8], xmm0
movq xmm0, qword [esp + 0x4c]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x54]
movq qword [eax + 0x18], xmm0
mov ecx, 0x6bb4f0
mov dword [eax + 0x20], edx
call fcn.004032f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0xc
movq xmm0, qword [esi + 0x22c]
mov ecx, dword [esi + 0x24c]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esi + 0x234]
movq qword [eax + 8], xmm0
movq xmm0, qword [esi + 0x23c]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x244]
jmp 0x428488
cmp byte [esi + 0x24c], 0
jne 0x427abc
mov ecx, dword [esi + 0x22c]
mov edx, dword [esi + 0x230]
mov dword [esi + 0x23c], ecx
mov ecx, dword [esi + 0x234]
mov dword [esi + 0x240], edx
mov edx, dword [esi + 0x238]
mov dword [esi + 0x244], ecx
mov dword [esi + 0x248], edx
mov byte [esi + 0x24c], 1
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
cmp ebp, dword [esi + 0x23c]
jl 0x427b46
cmp ebp, dword [esi + 0x244]
jg 0x427b46
cmp ebx, dword [esi + 0x240]
jl 0x427b46
cmp ebx, dword [esi + 0x248]
jg 0x427b46
test eax, eax
jne 0x427b46
movq xmm0, qword [esi + 0x22c]
mov ecx, dword [esi + 0x24c]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esi + 0x234]
movq qword [eax + 8], xmm0
movq xmm0, qword [esi + 0x23c]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x244]
movq qword [eax + 0x18], xmm0
mov dword [eax + 0x20], ecx
mov ecx, 0x6bb4f0
mov byte [esi + 0x3d4], 1
call fcn.004032f0
push 0
push str.audio_stop
jmp 0x4284a1
cmp eax, 1
jne 0x427bdd
cmp byte [esi + 0x3d5], 0
je 0x427bdd
push ebx
push ebp
lea ecx, [esi + 0x3e0]
mov byte [esi + 0x3d5], 0
call fcn.00401b50
test al, al
je 0x427b89
push 0xa
mov ecx, 0x6bb4f0
mov byte [esi + 0x475], 1
call fcn.004266a0
jmp 0x427b9f
mov eax, dword [0x6bb5ac]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push 0
push 0x4c5db8
call eax
movq xmm0, qword [esi + 0x3e0]
mov ecx, dword [esi + 0x400]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esi + 0x3e8]
movq qword [eax + 8], xmm0
movq xmm0, qword [esi + 0x3f0]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x3f8]
jmp 0x42838d
cmp byte [esi + 0x400], 0
jne 0x427c1d
mov edx, dword [esi + 0x3e0]
mov ecx, dword [esi + 0x3e4]
mov dword [esi + 0x3f0], edx
mov edx, dword [esi + 0x3e8]
mov dword [esi + 0x3f4], ecx
mov ecx, dword [esi + 0x3ec]
mov dword [esi + 0x3f8], edx
mov dword [esi + 0x3fc], ecx
mov byte [esi + 0x400], 1
cmp ebp, dword [esi + 0x3f0]
jl 0x427cba
cmp ebp, dword [esi + 0x3f8]
jg 0x427cba
cmp ebx, dword [esi + 0x3f4]
jl 0x427cba
cmp ebx, dword [esi + 0x3fc]
jg 0x427cba
test eax, eax
jne 0x427cba
cmp byte [esi + 0x475], al
je 0x427c5c
push eax
push str.audio_already_playing
jmp 0x4284a1
movq xmm0, qword [esi + 0x3e0]
mov ecx, dword [esi + 0x400]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esi + 0x3e8]
movq qword [eax + 8], xmm0
movq xmm0, qword [esi + 0x3f0]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x3f8]
movq qword [eax + 0x18], xmm0
mov dword [eax + 0x20], ecx
mov ecx, 0x6bb4f0
mov byte [esi + 0x3d5], 1
call fcn.004032f0
push 0
push str.audio_play
jmp 0x4284a1
cmp eax, 1
jne 0x427dc4
cmp byte [esi + 0x3d6], 0
je 0x427dc4
push ebx
push ebp
lea ecx, [esi + 0x250]
mov byte [esi + 0x3d6], 0
call fcn.00401b50
movq xmm0, qword [esi + 0x250]
test al, al
je 0x427d8e
mov eax, dword [esi + 0x3f0]
mov edi, dword [esi + 0x270]
movq qword [esp + 0x18], xmm0
movq xmm0, qword [esi + 0x258]
movq qword [esp + 0x20], xmm0
movq xmm0, qword [esi + 0x260]
movq qword [esp + 0x28], xmm0
movq xmm0, qword [esi + 0x268]
push 0xb
mov ecx, 0x6bb4f0
movq qword [esp + 0x34], xmm0
mov dword [esp + 0x2c], eax
mov byte [esi + 0x475], 0
call fcn.004266a0
movq xmm0, qword [esp + 0x18]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esp + 0x44]
movq qword [eax + 8], xmm0
movq xmm0, qword [esp + 0x4c]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x54]
movq qword [eax + 0x18], xmm0
mov ecx, 0x6bb4f0
mov dword [eax + 0x20], edi
call fcn.004032f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0xc
mov ecx, dword [esi + 0x270]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esi + 0x258]
movq qword [eax + 8], xmm0
movq xmm0, qword [esi + 0x260]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x268]
jmp 0x428488
push ebx
push ebp
lea ecx, [esi + 0x250]
call fcn.00401b50
test al, al
je 0x427e3a
cmp dword [esp + 0x48], 0
jne 0x427e3a
movq xmm0, qword [esi + 0x250]
mov ecx, dword [esi + 0x270]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esi + 0x258]
movq qword [eax + 8], xmm0
movq xmm0, qword [esi + 0x260]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x268]
movq qword [eax + 0x18], xmm0
mov dword [eax + 0x20], ecx
mov ecx, 0x6bb4f0
mov byte [esi + 0x3d6], 1
call fcn.004032f0
push 0
push str.audio_pause
jmp 0x4284a1
cmp dword [esp + 0x48], 1
jne 0x427ef0
cmp byte [esi + 0x3d7], 0
je 0x427ef0
push ebx
push ebp
lea ecx, [esi + 0x404]
call fcn.00401b50
test al, al
je 0x427e94
cmp byte [esi + 0x477], 0
push 1
sete al
mov byte [esi + 0x477], al
mov byte [0x6bbe75], al
test al, al
je 0x427e8d
mov eax, dword [0x6bb5ac]
mov ecx, dword [eax + 0x18]
push str.audio_loop_enable
jmp 0x427ea4
push str.audio_loop_disable
jmp 0x427e9b
push 0
push 0x4c5db8
mov ecx, dword [0x6bb5ac]
mov ecx, dword [ecx + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
movq xmm0, qword [esi + 0x404]
mov ecx, dword [esi + 0x424]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esi + 0x40c]
movq qword [eax + 8], xmm0
movq xmm0, qword [esi + 0x414]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x41c]
mov byte [esi + 0x3d7], 0
jmp 0x42838d
push ebx
push ebp
lea ecx, [esi + 0x404]
call fcn.00401b50
test al, al
je 0x427f95
cmp dword [esp + 0x48], 0
jne 0x427f95
movq xmm0, qword [esi + 0x404]
mov edx, dword [esi + 0x424]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esi + 0x40c]
movq qword [eax + 8], xmm0
movq xmm0, qword [esi + 0x414]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x41c]
movq qword [eax + 0x18], xmm0
mov ecx, 0x6bb4f0
mov byte [esi + 0x3d7], 1
mov dword [eax + 0x20], edx
call fcn.004032f0
cmp byte [0x6bbe75], 0
push 0
je 0x427f8b
mov eax, dword [0x6bb5ac]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push str.audio_loop_disable
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0xc
push str.audio_loop_enable
jmp 0x428d94
push ebx
push ebp
lea ecx, [esi + 0x304]
call fcn.00401b50
test al, al
je 0x427fb9
cmp dword [esp + 0x48], 0
jne 0x427fb9
push 0
push str.envelopes_tool__click_one_of_right_buttons
jmp 0x428d94
cmp dword [esp + 0x48], 1
jne 0x4280af
cmp byte [esi + 0x3d8], 0
je 0x4280af
push ebx
push ebp
lea ecx, [esi + 0x34c]
mov byte [esi + 0x3d8], 0
call fcn.00401b50
movq xmm0, qword [esi + 0x34c]
sub esp, 0x24
test al, al
mov eax, esp
movq qword [eax], xmm0
je 0x428082
mov ecx, dword [esi + 0x388]
movq xmm3, qword [esi + 0x364]
mov edx, dword [esi + 0x38c]
movq xmm1, qword [esi + 0x354]
movq xmm2, qword [esi + 0x35c]
mov edi, dword [esi + 0x36c]
movq qword [esp + 0x54], xmm3
movq qword [eax + 8], xmm1
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
movq xmm0, qword [esp + 0x54]
movq qword [eax + 0x10], xmm2
movq qword [eax + 0x18], xmm0
mov ecx, 0x6bb4f0
mov dword [esi + 0x478], 1
mov dword [eax + 0x20], edi
call fcn.004032f0
mov eax, dword [0x6bb5ac]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push 1
push str.click_on_the_envelopes_points_to_move_them
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0xc
movq xmm0, qword [esi + 0x354]
mov ecx, dword [esi + 0x36c]
movq qword [eax + 8], xmm0
movq xmm0, qword [esi + 0x35c]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x364]
jmp 0x428488
push ebx
push ebp
lea ecx, [esi + 0x34c]
call fcn.00401b50
test al, al
je 0x428134
cmp dword [esp + 0x48], 0
jne 0x428134
cmp byte [esi + 0x478], 0
jne 0x4280e0
cmp byte [esi + 0x3d8], 0
jne 0x4280e0
mov byte [esi + 0x3d8], 1
mov eax, dword [0x6bb5ac]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push 0
push str.click_on_the_envelopes_points_to_move_them
call eax
movq xmm0, qword [esi + 0x34c]
mov ecx, dword [esi + 0x36c]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esi + 0x354]
movq qword [eax + 8], xmm0
movq xmm0, qword [esi + 0x35c]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x364]
jmp 0x42838d
cmp dword [esp + 0x48], 1
jne 0x428203
cmp byte [esi + 0x3d9], 0
je 0x428203
push ebx
lea ecx, [esi + 0x328]
push ebp
mov byte [esi + 0x3d9], 0
mov dword [esp + 0x18], ecx
call fcn.00401b50
sub esp, 0x24
test al, al
je 0x4281fa
mov eax, dword [esi + 0x38c]
movq xmm3, qword [esi + 0x364]
movq xmm0, qword [esi + 0x34c]
mov edx, dword [esi + 0x388]
movq xmm1, qword [esi + 0x354]
movq xmm2, qword [esi + 0x35c]
mov edi, dword [esi + 0x36c]
movq qword [esp + 0x54], xmm3
mov dword [esp + 0x58], eax
mov eax, esp
movq qword [eax], xmm0
movq qword [eax + 8], xmm1
mov dword [esp + 0x54], edx
movq xmm0, qword [esp + 0x54]
movq qword [eax + 0x10], xmm2
movq qword [eax + 0x18], xmm0
mov ecx, 0x6bb4f0
mov word [esi + 0x479], 1
mov byte [esi + 0x47b], 0
mov byte [esi + 0x478], 0
mov dword [eax + 0x20], edi
call fcn.004032f0
push 1
push str.click_left_to_add_envelopes_points_and_click_right_to_remove_them
jmp 0x428d94
mov ecx, dword [esp + 0x34]
jmp 0x428462
push ebx
lea ecx, [esi + 0x328]
push ebp
mov dword [esp + 0x18], ecx
call fcn.00401b50
test al, al
je 0x428257
cmp dword [esp + 0x48], 0
jne 0x428257
cmp byte [esi + 0x479], 0
jne 0x428238
cmp byte [esi + 0x3d9], 0
jne 0x428238
mov byte [esi + 0x3d9], 1
mov eax, dword [0x6bb5ac]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push 0
push str.click_left_to_add_envelopes_points_and_click_right_to_remove_them
call eax
mov ecx, dword [esp + 0x10]
jmp 0x428364
cmp dword [esp + 0x48], 1
jne 0x428315
cmp byte [esi + 0x3da], 0
je 0x428315
push ebx
lea ecx, [esi + 0x394]
push ebp
mov byte [esi + 0x3da], 0
mov dword [esp + 0x18], ecx
call fcn.00401b50
sub esp, 0x24
test al, al
je 0x42830c
mov eax, dword [esi + 0x38c]
movq xmm3, qword [esi + 0x364]
movq xmm0, qword [esi + 0x34c]
mov edx, dword [esi + 0x388]
movq xmm1, qword [esi + 0x354]
movq xmm2, qword [esi + 0x35c]
mov edi, dword [esi + 0x36c]
movq qword [esp + 0x54], xmm3
mov dword [esp + 0x58], eax
mov eax, esp
movq qword [eax], xmm0
movq qword [eax + 8], xmm1
mov dword [esp + 0x54], edx
movq xmm0, qword [esp + 0x54]
movq qword [eax + 0x10], xmm2
movq qword [eax + 0x18], xmm0
mov ecx, 0x6bb4f0
mov dword [esi + 0x478], 0x10000
mov dword [eax + 0x20], edi
call fcn.004032f0
push 1
push str.click_left_to_activate_envelopes_points_snap_and_click_right_to_remove_snap
jmp 0x428d94
mov ecx, dword [esp + 0x34]
jmp 0x428462
push ebx
lea ecx, [esi + 0x394]
push ebp
mov dword [esp + 0x18], ecx
call fcn.00401b50
test al, al
je 0x4283a9
cmp dword [esp + 0x48], 0
jne 0x4283a9
cmp byte [esi + 0x47a], 0
jne 0x42834a
cmp byte [esi + 0x3da], 0
jne 0x42834a
mov byte [esi + 0x3da], 1
mov eax, dword [0x6bb5ac]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push 0
push str.click_left_to_activate_envelopes_points_snap_and_click_right_to_remove_snap
call eax
mov ecx, dword [esp + 0x10]
movq xmm0, qword [ecx]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [ecx + 8]
movq qword [eax + 8], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [ecx + 0x18]
mov ecx, dword [ecx + 0x20]
movq qword [eax + 0x18], xmm0
mov dword [eax + 0x20], ecx
mov ecx, 0x6bb4f0
call fcn.004032f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0xc
cmp dword [esp + 0x48], 1
jne 0x4284bb
cmp byte [esi + 0x3db], 0
je 0x4284bb
push ebx
lea ecx, [esi + 0x370]
push ebp
mov byte [esi + 0x3db], 0
mov dword [esp + 0x50], ecx
call fcn.00401b50
sub esp, 0x24
test al, al
je 0x42845e
mov eax, dword [esi + 0x38c]
movq xmm3, qword [esi + 0x364]
movq xmm0, qword [esi + 0x34c]
mov edx, dword [esi + 0x388]
movq xmm1, qword [esi + 0x354]
movq xmm2, qword [esi + 0x35c]
mov edi, dword [esi + 0x36c]
movq qword [esp + 0x54], xmm3
mov dword [esp + 0x58], eax
mov eax, esp
movq qword [eax], xmm0
movq qword [eax + 8], xmm1
mov dword [esp + 0x54], edx
movq xmm0, qword [esp + 0x54]
movq qword [eax + 0x10], xmm2
movq qword [eax + 0x18], xmm0
mov ecx, 0x6bb4f0
mov dword [esi + 0x478], 0x1000000
mov dword [eax + 0x20], edi
call fcn.004032f0
push 1
push str.click_left_to_input_parameter_value_and_click_right_to_input_time_value
jmp 0x428d94
mov ecx, dword [esp + 0x6c]
movq xmm0, qword [ecx]
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [ecx + 8]
movq qword [eax + 8], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [ecx + 0x18]
mov ecx, dword [ecx + 0x20]
movq qword [eax + 0x18], xmm0
mov dword [eax + 0x20], ecx
mov ecx, 0x6bb4f0
call fcn.004032f0
push 0
push 0x4c5db8
mov edx, dword [0x6bb5ac]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0xc
push ebx
push ebp
lea ecx, [esi + 0x370]
call fcn.00401b50
test al, al
je 0x42855f
cmp dword [esp + 0x48], 0
jne 0x42855f
cmp byte [esi + 0x47b], 0
jne 0x4284f4
cmp byte [esi + 0x3db], 0
jne 0x4284f4
mov byte [esi + 0x3db], 1
mov eax, dword [0x6bb5ac]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push 0
push str.click_left_to_input_parameter_value_and_click_right_to_input_time_value
call eax
movq xmm0, qword [esi + 0x370]
mov ecx, dword [esi + 0x390]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esi + 0x378]
movq qword [eax + 8], xmm0
movq xmm0, qword [esi + 0x380]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x388]
movq qword [eax + 0x18], xmm0
mov dword [eax + 0x20], ecx
mov ecx, 0x6bb4f0
call fcn.004032f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0xc
cmp dword [esp + 0x48], 1
jne 0x428597
cmp byte [esi + 0x3dc], 0
je 0x428597
mov byte [esi + 0x3dc], 0
mov edx, dword [0x6bb5ac]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
push 1
push str.audio_volume_changed
call edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0xc
push ebx
push ebp
lea ecx, [esi + 0x274]
call fcn.00401b50
test al, al
je 0x4285f8
cmp dword [esp + 0x48], 0
jne 0x4285f8
fild dword [esp + 0x40]
lea ecx, [esi + 0x274]
fstp qword [esp + 0x10]
call fcn.00401ad0
fsubr qword [esp + 0x10]
call fcn.004a7d20
mov dword [esi + 0x3c0], eax
mov byte [esi + 0x3dc], 1
mov eax, dword [0x6bb5ac]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push 0
push 0x4c82f8
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0xc
cmp dword [esp + 0x48], 2
jne 0x4288b0
cmp byte [esi + 0x3dc], 0
je 0x4288b0
push ebx
push ebp
lea ecx, [esi + 0x274]
call fcn.00401b50
test al, al
je 0x4288b0
sub ebp, dword [esi + 0x3c0]
xorps xmm1, xmm1
sub ebp, dword [esi + 0x2a8]
movsd xmm5, qword [0x4c5b80]
sub ebp, 0xe
xorps xmm0, xmm0
cvtsi2sd xmm0, ebp
mulsd xmm0, qword [0x4c82f0]
comisd xmm1, xmm0
movapd xmm2, xmm0
jbe 0x42865e
subsd xmm2, xmm5
jmp 0x428662
addsd xmm2, xmm5
movsd xmm3, qword [0x4c6f50]
movsd xmm4, qword [0x4c5bf8]
cvttsd2si eax, xmm2
xorps xmm2, xmm2
cvtsi2sd xmm2, eax
divsd xmm2, xmm3
comisd xmm4, xmm2
jbe 0x4286b6
comisd xmm1, xmm0
movapd xmm2, xmm0
jbe 0x428697
subsd xmm2, xmm5
jmp 0x42869b
addsd xmm2, xmm5
cvttsd2si eax, xmm2
xorps xmm2, xmm2
cvtsi2sd xmm2, eax
divsd xmm2, xmm3
comisd xmm1, xmm2
jbe 0x4286b6
movapd xmm0, xmm1
jmp 0x428713
comisd xmm1, xmm0
movapd xmm2, xmm0
jbe 0x4286c6
subsd xmm2, xmm5
jmp 0x4286ca
addsd xmm2, xmm5
cvttsd2si eax, xmm2
xorps xmm2, xmm2
cvtsi2sd xmm2, eax
divsd xmm2, xmm3
comisd xmm4, xmm2
jbe 0x42870f
comisd xmm1, xmm0
jbe 0x4286fa
subsd xmm0, xmm5
cvttsd2si eax, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm0, xmm3
jmp 0x428713
addsd xmm0, xmm5
cvttsd2si eax, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm0, xmm3
jmp 0x428713
movapd xmm0, xmm4
xorps xmm3, xmm3
cvtpd2ps xmm3, xmm0
movss xmm0, dword [0x6bb508]
cvtps2pd xmm0, xmm0
cvtps2pd xmm2, xmm3
mulsd xmm0, xmm2
movss xmm2, dword [0x4c5c5c]
cvtpd2ps xmm0, xmm0
cvtss2sd xmm0, xmm0
subsd xmm0, xmm1
subsd xmm4, xmm1
divsd xmm0, xmm4
movss dword [0x570144], xmm3
cvtpd2ps xmm0, xmm0
mov eax, 2
lea esp, [esp]
test al, 1
je 0x428777
cvtss2sd xmm2, xmm2
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
mulsd xmm2, xmm6
cvtsd2ss xmm2, xmm2
shr eax, 1
je 0x428789
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm0
cvtsd2ss xmm0, xmm0
jmp 0x428760
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
cvtpd2ps xmm0, xmm0
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm4
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x6bb50c], xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm3
mulsd xmm0, qword [0x4c5c00]
comisd xmm1, xmm0
movapd xmm2, xmm0
jbe 0x4287cb
subsd xmm2, xmm5
jmp 0x4287cf
addsd xmm2, xmm5
comisd xmm1, xmm0
cvttsd2si edx, xmm2
jbe 0x4287df
subsd xmm0, xmm5
jmp 0x4287e3
addsd xmm0, xmm5
mov eax, dword [esi + 0x2a8]
mov ebx, dword [esi + 0x2b4]
push ebx
lea edx, [edx + eax + 0x1f]
push edx
mov edx, dword [esi + 0x2ac]
cvttsd2si ecx, xmm0
add ecx, eax
push edx
push ecx
lea ecx, [esp + 0x28]
call fcn.00401a30
movq xmm0, qword [eax]
movq xmm3, qword [esi + 0x2b0]
movq xmm1, qword [esi + 0x2a0]
movq xmm2, qword [esi + 0x2a8]
movq qword [esi + 0x274], xmm0
movq xmm0, qword [eax + 8]
movq qword [esi + 0x27c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x284], xmm0
movq xmm0, qword [eax + 0x18]
movq qword [esi + 0x28c], xmm0
mov eax, dword [eax + 0x20]
movq xmm0, qword [esi + 0x298]
mov dword [esi + 0x294], eax
mov esi, dword [esi + 0x2b8]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq qword [esp + 0x54], xmm3
add dword [esp + 0x58], 0x15
movq xmm0, qword [esp + 0x54]
movq qword [eax + 8], xmm1
movq qword [eax + 0x10], xmm2
movq qword [eax + 0x18], xmm0
mov ecx, 0x6bb4f0
mov dword [eax + 0x20], esi
call fcn.004032f0
push 0
push 0x4c82f8
jmp 0x428d94
mov ecx, ebx
push ecx
push ebp
lea ecx, [esi + 0x298]
call fcn.00401b50
test al, al
je 0x428b50
cmp dword [esp + 0x48], 0
jne 0x428b50
sub ebp, dword [esi + 0x2a8]
xorps xmm1, xmm1
movsd xmm5, qword [0x4c5b80]
sub ebp, 0xe
xorps xmm0, xmm0
cvtsi2sd xmm0, ebp
mulsd xmm0, qword [0x4c82f0]
comisd xmm1, xmm0
movapd xmm2, xmm0
jbe 0x428905
subsd xmm2, xmm5
jmp 0x428909
addsd xmm2, xmm5
movsd xmm3, qword [0x4c6f50]
movsd xmm4, qword [0x4c5bf8]
cvttsd2si eax, xmm2
xorps xmm2, xmm2
cvtsi2sd xmm2, eax
divsd xmm2, xmm3
comisd xmm4, xmm2
jbe 0x42895d
comisd xmm1, xmm0
movapd xmm2, xmm0
jbe 0x42893e
subsd xmm2, xmm5
jmp 0x428942
addsd xmm2, xmm5
cvttsd2si eax, xmm2
xorps xmm2, xmm2
cvtsi2sd xmm2, eax
divsd xmm2, xmm3
comisd xmm1, xmm2
jbe 0x42895d
movapd xmm0, xmm1
jmp 0x4289ba
comisd xmm1, xmm0
movapd xmm2, xmm0
jbe 0x42896d
subsd xmm2, xmm5
jmp 0x428971
addsd xmm2, xmm5
cvttsd2si eax, xmm2
xorps xmm2, xmm2
cvtsi2sd xmm2, eax
divsd xmm2, xmm3
comisd xmm4, xmm2
jbe 0x4289b6
comisd xmm1, xmm0
jbe 0x4289a1
subsd xmm0, xmm5
cvttsd2si eax, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm0, xmm3
jmp 0x4289ba
addsd xmm0, xmm5
cvttsd2si eax, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm0, xmm3
jmp 0x4289ba
movapd xmm0, xmm4
xorps xmm3, xmm3
cvtpd2ps xmm3, xmm0
movss xmm0, dword [0x6bb508]
cvtps2pd xmm0, xmm0
cvtps2pd xmm2, xmm3
mulsd xmm0, xmm2
movss xmm2, dword [0x4c5c5c]
cvtpd2ps xmm0, xmm0
cvtss2sd xmm0, xmm0
subsd xmm0, xmm1
subsd xmm4, xmm1
divsd xmm0, xmm4
movss dword [0x570144], xmm3
cvtpd2ps xmm0, xmm0
mov eax, 2
test al, 1
je 0x428a17
cvtss2sd xmm2, xmm2
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
mulsd xmm2, xmm6
cvtsd2ss xmm2, xmm2
shr eax, 1
je 0x428a29
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm0
cvtsd2ss xmm0, xmm0
jmp 0x428a00
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
cvtpd2ps xmm0, xmm0
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm4
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x6bb50c], xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm3
mulsd xmm0, qword [0x4c5c00]
comisd xmm1, xmm0
movapd xmm2, xmm0
jbe 0x428a6b
subsd xmm2, xmm5
jmp 0x428a6f
addsd xmm2, xmm5
comisd xmm1, xmm0
cvttsd2si edx, xmm2
jbe 0x428a7f
subsd xmm0, xmm5
jmp 0x428a83
addsd xmm0, xmm5
mov eax, dword [esi + 0x2a8]
mov ebp, dword [esi + 0x2b4]
push ebp
lea edx, [eax + edx + 0x1f]
push edx
mov edx, dword [esi + 0x2ac]
cvttsd2si ecx, xmm0
add eax, ecx
push edx
push eax
lea ecx, [esp + 0x28]
call fcn.00401a30
movq xmm0, qword [eax]
movq xmm3, qword [esi + 0x2b0]
movq xmm1, qword [esi + 0x2a0]
movq xmm2, qword [esi + 0x2a8]
mov ebx, dword [esi + 0x2b8]
movq qword [esi + 0x274], xmm0
movq xmm0, qword [eax + 8]
movq qword [esi + 0x27c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x284], xmm0
movq xmm0, qword [eax + 0x18]
movq qword [esi + 0x28c], xmm0
mov eax, dword [eax + 0x20]
movq xmm0, qword [esi + 0x298]
sub esp, 0x24
mov dword [esi + 0x294], eax
mov eax, esp
movq qword [eax], xmm0
movq qword [esp + 0x54], xmm3
add dword [esp + 0x58], 0x15
movq xmm0, qword [esp + 0x54]
movq qword [eax + 8], xmm1
movq qword [eax + 0x10], xmm2
movq qword [eax + 0x18], xmm0
mov ecx, 0x6bb4f0
mov dword [eax + 0x20], ebx
call fcn.004032f0
push 1
push str.audio_volume_changed
jmp 0x428d94
mov ecx, ebx
push ecx
lea ecx, [esi + 0x2e0]
call fcn.00401a70
mov edx, ebp
sub edx, eax
sub edx, 6
push edx
lea ecx, [esi + 0x2e0]
call fcn.00401b50
test al, al
je 0x428bd5
cmp dword [esp + 0x48], 0
jne 0x428bd5
mov ecx, esi
call fcn.004030a0
mov eax, dword [esi + 0x3cc]
push 1
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esi + 0x3cc]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov edx, dword [esi + 0x3cc]
push 0xffffffffffffffff
push 0
push 0xb1
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x570124]
push 0
mov dword [0x6bb57c], eax
mov dword [esi + 0x164], 0xd9
push str.insert_time_duration
jmp 0x428d94
mov edi, ebx
lea ecx, [edi - 0x14]
push ecx
push ebp
lea ecx, [esi + 0x298]
call fcn.00401b50
test al, al
je 0x428c58
mov edx, dword [esi + 0x2a8]
add edx, 0x35
cmp ebp, edx
jle 0x428c58
cmp dword [esp + 0x48], 0
jne 0x428c58
mov ecx, esi
call fcn.00403190
mov eax, dword [esi + 0x3d0]
push 1
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esi + 0x3d0]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov edx, dword [esi + 0x3d0]
push 0xffffffffffffffff
push 0
push 0xb1
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x570124]
push 0
mov dword [0x6bb57c], eax
mov dword [esi + 0x164], 0xda
push str.insert_audio_volume
jmp 0x428d94
mov ecx, dword [esi + 0x2cc]
push edi
push ecx
lea ecx, [esi + 0x2bc]
call fcn.00401b50
test al, al
je 0x428da4
cmp dword [esp + 0x48], 0
jne 0x428da4
mov eax, dword [esi + 0x11c]
add ebp, 0xfffffffb
add eax, 0xfffffff6
mov ecx, ebp
cmp ebp, eax
jl 0x428c92
mov ecx, eax
test ecx, ecx
jns 0x428c9a
xor ebp, ebp
jmp 0x428ca0
cmp ebp, eax
jl 0x428ca0
mov ebp, eax
movsd xmm2, qword [0x4c5bf0]
movsd xmm4, qword [0x4c5bf8]
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, ebp
mulsd xmm0, qword [0x6bb5a0]
divsd xmm0, xmm1
addsd xmm0, qword [0x4c5b80]
movsd xmm1, qword [0x4c5be8]
andpd xmm1, xmm0
movapd xmm3, xmm1
movapd xmm1, xmm0
xorpd xmm1, xmm3
cmpltsd xmm1, xmm2
andpd xmm2, xmm1
orpd xmm2, xmm3
movapd xmm1, xmm0
addsd xmm1, xmm2
subsd xmm1, xmm2
movapd xmm2, xmm1
subsd xmm2, xmm0
cmpnlesd xmm2, xmm3
sub esp, 8
andpd xmm2, xmm4
subsd xmm1, xmm2
mov ecx, esi
movsd qword [0x6bb5c0], xmm1
movsd qword [esp], xmm1
call fcn.00405c20
movq xmm0, qword [esi + 0x428]
mov edx, dword [esi + 0x448]
sub esp, 0x24
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esi + 0x430]
movq qword [eax + 8], xmm0
movq xmm0, qword [esi + 0x438]
movq qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x440]
movq qword [eax + 0x18], xmm0
mov ecx, 0x6bb4f0
mov dword [eax + 0x20], edx
call fcn.004032f0
mov ecx, esi
call fcn.004051d0
mov eax, dword [0x6bb590]
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
push str.time_position_changed
mov ecx, dword [0x6bb5ac]
mov ecx, dword [ecx + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0xc