Function at 0x14000e680
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1c8
movups xmmword [rsp + 0x120], xmm6
movups xmmword [rsp + 0x130], xmm7
movups xmmword [rsp + 0x140], xmm8
movups xmmword [rsp + 0x150], xmm9
movups xmmword [rsp + 0x160], xmm10
movups xmmword [rsp + 0x170], xmm11
movups xmmword [rsp + 0x180], xmm12
movups xmmword [rsp + 0x190], xmm13
movups xmmword [rsp + 0x1a0], xmm14
movups xmmword [rsp + 0x1b0], xmm15
xor r12d, r12d
mov rbx, r9
mov rbp, rcx
mov rcx, rdx
mov rdi, rdx
mov qword [rsp + 0x220], r8
call sub.msvcrt.dll_ftell
cmp byte [rbx + 2], 0
mov dword [rsp + 0x34], eax
je 0x14000e71f
mov r10d, dword [rbp + 8]
xor r12d, r12d
test r10d, r10d
setne r12b
mov ecx, dword [rbp]
add rcx, rcx
call sub.msvcrt.dll_malloc
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14000e7f0
mov r13, qword [rsp + 0x38]
mov edx, dword [rbp + 4]
mov qword [rbp + 0x28], r13
test edx, edx
je 0x14000e7f0
mov rax, qword [rbp + 0x18]
mov ecx, edx
xor r8d, r8d
shl rcx, 4
add rcx, rax
nop dword [rax]
mov edx, dword [rax + 4]
test edx, edx
je 0x14000e7e3
mov rsi, qword [rax + 8]
shl rdx, 4
lea r14, [rdx + rsi]
nop dword [rax + rax]
movzx r9d, byte [rsi + 2]
test r9b, r9b
je 0x14000e7da
mov r10, qword [rsi + 8]
sub r9d, 1
mov rbx, qword [rbp + 0x10]
shl r9, 5
lea rdx, [r10 + 2]
lea r11, [r10 + r9 + 0x22]
nop dword [rax + rax]
movzx r9d, word [rdx]
lea r15, [r9 + r9*2]
mov r10, r9
lea r9, [r9 + r15*4]
lea r15, [rbx + r9*8]
movzx r9d, byte [r15]
test r9b, 4
jne 0x14000e7d1
or r9d, 4
mov byte [r15], r9b
mov r9d, r8d
add r8d, 1
mov word [r13 + r9*2], r10w
add rdx, 0x20
cmp rdx, r11
jne 0x14000e7a0
add rsi, 0x10
cmp rsi, r14
jne 0x14000e778
add rax, 0x10
cmp rax, rcx
jne 0x14000e760
mov r8d, 1
mov rcx, rdi
mov edx, 0x10
mov qword [rsp + 0x90], 0x62644753
call sub.msvcrt.dll_fseek
mov r9d, dword [rbp]
test r9d, r9d
je 0x14000ec8e
mov eax, r12d
mov dword [rsp + 0x70], r12d
mov r12, qword [rsp + 0x38]
xor r15d, r15d
and eax, 1
mov byte [rsp + 0x5c], al
mov rbx, qword [rbp + 0x10]
test r12, r12
je 0x14000f98a
movzx eax, word [r12 + r15*2]
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
shl rax, 3
add rbx, rax
test byte [rbx], 1
jne 0x14000e864
cmp byte [rsp + 0x5c], 0
jne 0x14000ec7c
cmp qword [rsp + 0x230], 0
je 0x14000e887
mov rcx, qword [rsp + 0x230]
lea r8d, [r15 + 1]
lea rdx, str._rExporting_waveform__u__u...
call fcn.14000e650
cmp byte [rbx + 0x50], 6
ja case.0x14000e89f.0
movzx eax, byte [rbx + 0x50]
lea rcx, [0x140031e34]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp sil, 3
je 0x14000efe9
mov eax, 0xfffffffb
movups xmm6, xmmword [rsp + 0x120]
movups xmm7, xmmword [rsp + 0x130]
movups xmm8, xmmword [rsp + 0x140]
movups xmm9, xmmword [rsp + 0x150]
movups xmm10, xmmword [rsp + 0x160]
movups xmm11, xmmword [rsp + 0x170]
movups xmm12, xmmword [rsp + 0x180]
movups xmm13, xmmword [rsp + 0x190]
movups xmm14, xmmword [rsp + 0x1a0]
movups xmm15, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx edx, byte [rbx + 0x16]
pxor xmm9, xmm9
xor r14d, r14d
cvtsi2sd xmm9, edx
addsd xmm9, xmm8
ucomisd xmm10, qword [rbx + 0x38]
jp 0x14000e93c
je 0x14000e941
addsd xmm9, xmm10
cmp byte [rbx + 0x13], 0
je 0x14000e95e
movzx eax, word [rbx + 0x1a]
pxor xmm0, xmm0
shr ax, 1
movzx eax, ax
cvtsi2sd xmm0, eax
addsd xmm9, xmm0
comisd xmm10, xmm9
ja 0x14000f3c2
movsd xmm0, qword [0x140031e90]
comisd xmm9, xmm0
jae 0x14000f3c2
comisd xmm10, xmm12
ja 0x14000f3c2
comisd xmm12, xmm0
jae 0x14000f3c2
test dword [rbx + 0x58], 0xffffff
je 0x14000e9b7
movsd xmm2, qword [0x140031e98]
comisd xmm2, xmm6
ja 0x14000f3c2
comisd xmm6, xmm0
jae 0x14000f3c2
cvttsd2si rdx, xmm9
lea r11, [rsp + 0xa0]
lea r13d, [rdx + 0x10]
test sil, sil
jne 0x14000ea4a
mov eax, r13d
mov ecx, r13d
mov qword [rsp + 0xc0], r11
imul rax, rax, 0x24924925
mov qword [rsp + 0xc8], 0
mov dword [rsp + 0xd4], 0
shr rax, 0x20
sub ecx, eax
shr ecx, 1
add eax, ecx
shr eax, 2
lea ecx, [rax*8]
sub ecx, eax
mov eax, r13d
sub eax, ecx
lea ecx, [rdx + 0x17]
sub ecx, eax
test eax, eax
lea rax, [rsp + 0xc0]
cmovne r13d, ecx
mov qword [rsp + 0x110], rax
lea rax, [0x14000e340]
mov qword [rsp + 0x118], rax
add r13d, 2
mov dword [rsp + 0xd0], r13d
mov rcx, rdi
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x60], rdx
call sub.msvcrt.dll_ftell
mov ecx, dword [rsp + 0x34]
movdqu xmm5, xmmword [rbx + 0x50]
mov rdx, qword [rsp + 0x60]
mov r11, qword [rsp + 0x68]
mov dword [rsp + 0x58], eax
sub eax, ecx
movups xmmword [rsp + 0xa0], xmm5
mov dword [rsp + 0x50], eax
mov rax, qword [rbx + 0x60]
mov byte [rsp + 0xa0], sil
mov qword [rsp + 0xb0], rax
cmp byte [rbx + 0x13], 0
je 0x14000eaa3
mov byte [rsp + 0xa1], 1
mov eax, dword [rsp + 0xa4]
and edx, 0xffffff
mov r9, rdi
mov rcx, r11
mov r8d, 1
and eax, 0xff000000
or eax, edx
cvttsd2si rdx, xmm6
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0xa8]
and eax, 0xff000000
and edx, 0xffffff
or eax, edx
cvttsd2si rdx, xmm12
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0xac]
and eax, 0xff000000
and edx, 0xffffff
or eax, edx
mov dword [rsp + 0xac], eax
movzx eax, word [rsp + 0x94]
lea edx, [rax + 1]
mov word [rsp + 0xa2], ax
mov eax, dword [rsp + 0x50]
mov word [rsp + 0x94], dx
mov edx, 0x18
shr eax, 1
add eax, eax
mov eax, eax
or rax, 1
mov qword [rsp + 0xb0], rax
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f6f0
movzx edx, byte [rbx + 0x51]
mov ecx, 1
cmp dl, 2
ja 0x14000eb63
cmp byte [rbx + 0x13], 0
cmove ecx, edx
movzx eax, cl
movupd xmm4, xmmword [rsp + 0x40]
mov rcx, qword [rsp + 0x220]
mov ah, dl
mov word [rsp + 0xe2], ax
movzx eax, byte [rbx + 0x16]
movups xmmword [rsp + 0xf0], xmm4
mov byte [rsp + 0xe8], al
movsd qword [rsp + 0x100], xmm11
movupd xmm0, xmmword [rbx + 0x38]
shufpd xmm0, xmm0, 1
cvtpd2ps xmm0, xmm0
movlps qword [rsp + 0x108], xmm0
cmp byte [rbx + 0x18], 0
setne byte [rsp + 0xea]
test r14b, r14b
setne byte [rsp + 0xeb]
mov edx, dword [rbx + 4]
xor r8d, r8d
call sub.msvcrt.dll_fseek
mov r9d, dword [rbx + 0x54]
mov r8d, r13d
mov rcx, rdi
lea rax, [rsp + 0xe0]
mov rdx, qword [rsp + 0x220]
mov qword [rsp + 0x28], rax
mov eax, dword [rbx + 0x58]
and r9d, 0xffffff
and eax, 0xffffff
mov dword [rsp + 0x20], eax
call fcn.140017540
test eax, eax
je 0x14000f980
mov rcx, rdi
call sub.msvcrt.dll_ftell
cdq
shr edx, 0x1e
add eax, edx
and eax, 3
sub eax, edx
je 0x14000ec4c
mov edx, 4
mov r9, rdi
mov r8d, 1
sub edx, eax
lea rcx, [0x140031e68]
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f6f0
movzx eax, word [rsp + 0xa2]
mov rcx, rdi
mov word [rbx + 0x52], ax
mov eax, dword [rsp + 0x50]
mov dword [rbx + 4], eax
call sub.msvcrt.dll_ftell
mov ecx, dword [rsp + 0x58]
mov r9d, dword [rbp]
mov edx, eax
mov eax, dword [rsp + 0x34]
sub eax, ecx
add eax, edx
mov dword [rbx + 8], eax
add r15, 1
cmp r15d, r9d
jb 0x14000e833
mov r12d, dword [rsp + 0x70]
cmp qword [rsp + 0x230], 0
je 0x14000f970
movzx r8d, word [rsp + 0x94]
mov rcx, qword [rsp + 0x230]
lea rdx, str._nSuccessfully_exported__u_waveforms._n
call fcn.14000e650
mov r9d, dword [rbp + 8]
test r9d, r9d
je 0x14000f7ae
lea rax, [rsp + 0xe0]
xor r15d, r15d
mov ebx, r12d
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0xc0]
mov rsi, r15
mov qword [rsp + 0x60], rax
mov rdx, qword [rbp + 0x20]
lea rax, [rsi + rsi*4]
mov rcx, rdi
lea r13, [rdx + rax*8]
call sub.msvcrt.dll_ftell
cmp qword [rsp + 0x230], 0
mov dword [rsp + 0x58], eax
je 0x14000ed29
mov r9d, dword [rbp + 8]
mov rcx, qword [rsp + 0x230]
lea r8d, [rsi + 1]
lea rdx, str._rExporting_song__u__u...
call fcn.14000e650
mov rcx, rdi
call sub.msvcrt.dll_ftell
mov rcx, qword [rsp + 0x50]
mov r9, rdi
mov r8d, 1
mov r15d, eax
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x34]
sub r15d, eax
mov eax, dword [r13]
mov byte [rsp + 0xe0], al
mov eax, dword [r13 + 8]
mov byte [rsp + 0xe1], al
movzx eax, word [rsp + 0x96]
lea edx, [rax + 1]
mov word [rsp + 0xe2], ax
mov eax, r15d
shr eax, 1
mov word [rsp + 0x96], dx
mov edx, 0x10
add eax, eax
mov eax, eax
or rax, 1
mov qword [rsp + 0xe8], rax
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f6f0
mov rcx, rdi
call sub.msvcrt.dll_ftell
mov r8d, 1
mov rcx, rdi
mov dword [rsp + 0x5c], eax
mov eax, dword [r13]
lea edx, [rax*4]
call sub.msvcrt.dll_fseek
mov r8d, dword [r13 + 8]
test r8d, r8d
je 0x14000f5b2
mov dword [rsp + 0x68], ebx
xor r14d, r14d
mov dword [rsp + 0x74], r15d
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x210], rbp
mov rax, r14
mov rcx, rdi
xor r15d, r15d
shl rax, 4
add rax, qword [r13 + 0x20]
mov dword [rsp + 0xa0], 4
mov rsi, rax
call sub.msvcrt.dll_ftell
mov rcx, rdi
mov r8d, 1
mov edx, 4
mov dword [rsp + 0x70], eax
call sub.msvcrt.dll_fseek
mov ecx, dword [rsi + 4]
test ecx, ecx
je 0x14000f54b
mov qword [rsp + 0x80], r13
mov r13, r15
xor edx, edx
mov rcx, rdi
shl r13, 4
add r13, qword [rsi + 8]
movzx eax, word [r13]
mov word [rsp + 0xc2], dx
mov word [rsp + 0xc0], ax
call sub.msvcrt.dll_ftell
mov r8d, 1
mov edx, 4
mov rcx, rdi
mov ebx, eax
call sub.msvcrt.dll_fseek
cmp byte [r13 + 2], 0
je 0x14000f6e0
mov dword [rsp + 0x88], ebx
xor ebp, ebp
xor r12d, r12d
jmp 0x14000eeb1
movzx eax, byte [r13 + 2]
add rbp, 1
cmp ebp, eax
jae 0x14000f46b
mov rbx, rbp
shl rbx, 5
add rbx, qword [r13 + 8]
cmp byte [rbx + 4], 0
je 0x14000eea0
movzx eax, word [rbx + 2]
mov rcx, qword [rsp + 0x210]
movzx r11d, byte [rsp + 0xc3]
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
movzx edx, byte [rbx + 1]
mov r8d, r11d
shl rax, 3
add rax, qword [rcx + 0x10]
movzx ecx, byte [rbx]
movzx eax, word [rax + 0x52]
and edx, 0x7f
shl edx, 7
and ecx, 0x7f
or edx, ecx
shl eax, 0x15
or eax, edx
mov edx, dword [rsp + 0xe0]
and edx, 0x1fc000
or eax, edx
mov dword [rsp + 0xe0], eax
test r11d, r11d
je 0x14000f443
mov rcx, r12
xor r9d, r9d
lea r10, [rbx + 8]
jmp 0x14000ef41
add r9d, 1
add rcx, 0x18
cmp r9d, r11d
je 0x14000f3cc
mov rax, qword [r10]
mov rdx, qword [r10 + 8]
xor rax, qword [rcx]
xor rdx, qword [rcx + 8]
or rax, rdx
jne 0x14000ef30
mov rax, qword [rcx + 0x10]
cmp qword [r10 + 0x10], rax
jne 0x14000ef30
mov eax, dword [rsp + 0xe0]
mov edx, r9d
and edx, 0x7f
shl edx, 0xe
and eax, 0xffe03fff
or eax, edx
mov dword [rsp + 0xe0], eax
cmp r9d, r11d
jae 0x14000f3ea
mov rcx, qword [rsp + 0x50]
mov r9, rdi
mov r8d, 1
mov edx, 4
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f459
add byte [rsp + 0xc2], 1
jmp 0x14000eea0
xor edx, edx
xor eax, eax
mov byte [rsp + 0xe1], dl
mov byte [rsp + 0xe0], al
movzx esi, byte [rbx + 0x10]
cmp sil, 2
je 0x14000f06e
ja 0x14000e8a1
cmp sil, 1
sbb eax, eax
and eax, 5
mov byte [rsp + 0xe0], al
movzx eax, byte [rbx + 0x17]
cmp al, 7
ja case.0x14000e89f.0
mov byte [rsp + 0xe9], al
movzx eax, word [rbx + 0x1a]
mov word [rsp + 0xe4], ax
movzx eax, word [rbx + 0x1e]
mov byte [rsp + 0xe7], al
cmp word [rbx + 0x1c], 4
ja case.0x14000e89f.0
movzx eax, word [rbx + 0x1c]
lea rdx, [0x140031e50]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov edx, 4
mov eax, 1
jmp 0x14000efb7
mov edx, 3
mov eax, 1
jmp 0x14000efb7
mov edx, 2
mov eax, 1
jmp 0x14000efb7
mov edx, 1
mov eax, 1
jmp 0x14000efb7
mov byte [rsp + 0xe0], 1
jmp 0x14000efe9
mov eax, 3
mov byte [rsp + 0xe6], al
mov edx, dword [rbx + 0x5c]
pxor xmm14, xmm14
and edx, 0xffffff
mov eax, edx
cvtsi2sd xmm14, rax
mov eax, dword [rbx + 0x20]
movapd xmm7, xmm14
test eax, eax
je 0x14000f0c7
movzx ecx, byte [rbx + 0x11]
cmp cl, 1
je 0x14000f3aa
cmp cl, 2
je 0x14000f3a2
cmp cl, 3
je 0x14000f3b8
mov r13d, dword [rbx + 0x58]
pxor xmm13, xmm13
movapd xmm12, xmm14
mulsd xmm7, qword [rbx + 0x28]
and r13d, 0xffffff
mov eax, r13d
cvtsi2sd xmm13, rax
mulsd xmm12, xmm7
movapd xmm6, xmm13
mulsd xmm6, xmm7
divsd xmm12, xmm14
divsd xmm6, xmm14
jne 0x14000f2a5
movsd xmm15, qword [0x140031e78]
movapd xmm13, xmm14
movq xmm11, qword [0x140031e80]
movsd xmm10, qword [0x140031e70]
mov eax, dword [rbx + 0x54]
pxor xmm8, xmm8
movapd xmm4, xmm7
movapd xmm1, xmm11
unpcklpd xmm4, xmm13
and eax, 0xffffff
movups xmmword [rsp + 0x40], xmm4
sub eax, r13d
cvtsi2sd xmm8, eax
mulsd xmm8, xmm7
divsd xmm8, xmm13
addsd xmm8, xmm6
movapd xmm0, xmm8
andpd xmm0, xmm11
ucomisd xmm15, xmm0
jbe 0x14000f19e
cvttsd2si rax, xmm8
pxor xmm0, xmm0
movapd xmm3, xmm8
andnpd xmm1, xmm8
cvtsi2sd xmm0, rax
cmpnlesd xmm3, xmm0
andpd xmm3, xmm10
addsd xmm0, xmm3
orpd xmm0, xmm1
movapd xmm8, xmm0
movapd xmm0, xmm12
movapd xmm9, xmm8
call fcn.14001f980
movapd xmm12, xmm0
movapd xmm0, xmm6
andpd xmm0, xmm11
ucomisd xmm15, xmm0
jbe 0x14000f1f0
cvttsd2si rax, xmm6
pxor xmm0, xmm0
andnpd xmm11, xmm6
cvtsi2sd xmm0, rax
movapd xmm2, xmm0
cmpnlesd xmm2, xmm6
andpd xmm2, xmm10
subsd xmm0, xmm2
movapd xmm6, xmm0
orpd xmm6, xmm11
movsd xmm0, qword [rbx + 0x30]
pxor xmm2, xmm2
ucomisd xmm0, xmm2
jp 0x14000f206
movapd xmm11, xmm12
je 0x14000f218
addsd xmm0, xmm0
movapd xmm5, xmm12
minsd xmm5, xmm0
movapd xmm11, xmm5
divsd xmm11, xmm14
pxor xmm0, xmm0
movzx r14d, byte [rbx + 0x19]
ucomisd xmm6, xmm0
minsd xmm11, xmm10
jp 0x14000f237
je 0x14000e95e
ucomisd xmm13, xmm7
jp 0x14000f244
je 0x14000e932
test r14b, r14b
je 0x14000e91c
divsd xmm7, xmm13
movapd xmm0, xmm7
minsd xmm0, xmm11
call fcn.140019110
movzx edx, byte [rbx + 0x16]
cmp eax, edx
jae 0x14000e920
pxor xmm9, xmm9
cvtsi2sd xmm9, eax
addsd xmm9, xmm8
jmp 0x14000e932
mov eax, 1
jmp 0x14000f080
xor eax, eax
jmp 0x14000f080
mov eax, 4
jmp 0x14000f080
mov eax, 2
jmp 0x14000f080
mov eax, dword [rbx + 0x24]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
mov eax, 1
comisd xmm1, xmm6
jbe 0x14000f2d5
lea edx, [rax + 1]
pxor xmm0, xmm0
cvtsi2sd xmm0, rdx
mov rax, rdx
mulsd xmm0, xmm6
comisd xmm1, xmm0
ja 0x14000f2bc
movzx r14d, byte [rbx + 0x14]
lea edx, [r14 - 1]
cmp dl, 1
ja 0x14000f107
pxor xmm8, xmm8
cvtsi2sd xmm8, rax
movzx eax, byte [rbx + 0x15]
mulsd xmm6, xmm8
cmp al, 1
je 0x14000f6a9
cmp al, 2
je 0x14000f640
test al, al
jne case.0x14000e89f.0
movq xmm11, qword [0x140031e80]
movapd xmm0, xmm6
movsd xmm15, qword [0x140031e78]
movsd xmm10, qword [0x140031e70]
andpd xmm0, xmm11
movapd xmm1, xmm11
ucomisd xmm15, xmm0
jbe 0x14000f36e
cvttsd2si rax, xmm6
pxor xmm0, xmm0
andnpd xmm1, xmm6
cvtsi2sd xmm0, rax
movapd xmm3, xmm0
cmpnlesd xmm3, xmm6
andpd xmm3, xmm10
subsd xmm0, xmm3
movapd xmm6, xmm0
orpd xmm6, xmm1
movapd xmm7, xmm6
mulsd xmm13, xmm8
cmp r14b, 1
je 0x14000f38a
movapd xmm6, xmm7
test byte [rbx], 2
jne 0x14000f127
movapd xmm12, xmm7
movapd xmm6, xmm7
mulsd xmm12, xmm14
divsd xmm12, xmm13
jmp 0x14000f127
cmp edx, eax
jae 0x14000f0c7
pxor xmm7, xmm7
cvtsi2sd xmm7, rax
jmp 0x14000f0c7
cmp eax, edx
jae 0x14000f0c7
jmp 0x14000f3aa
mov eax, 0xfffffff9
jmp 0x14000e8b0
mov eax, dword [rsp + 0xe0]
mov edx, r11d
and edx, 0x7f
shl edx, 0xe
and eax, 0xffe03fff
or eax, edx
mov dword [rsp + 0xe0], eax
lea eax, [r11 + 1]
lea rdx, [rax + rax*2]
shl rdx, 3
mov rcx, r12
mov byte [rsp + 0x8f], r8b
call sub.msvcrt.dll_realloc
mov r12, rax
test rax, rax
je 0x14000f6d6
movzx r8d, byte [rsp + 0x8f]
lea eax, [r8 + 1]
mov byte [rsp + 0xc3], al
lea rax, [r8 + r8*2]
movdqu xmm4, xmmword [rbx + 8]
lea rax, [r12 + rax*8]
movups xmmword [rax], xmm4
mov rdx, qword [rbx + 0x18]
mov qword [rax + 0x10], rdx
jmp 0x14000ef85
and eax, 0xffe03fff
mov edx, 0x18
xor r8d, r8d
mov dword [rsp + 0xe0], eax
jmp 0x14000f3f6
mov rcx, r12
call sub.msvcrt.dll_free
mov eax, 0xfffffffc
jmp 0x14000e8b0
mov ebx, dword [rsp + 0x88]
cmp byte [rsp + 0xc2], 0
je 0x14000f6fa
movzx eax, byte [rsp + 0xc3]
mov r9, rdi
mov r8d, 1
mov rcx, r12
lea rdx, [rax + rax*2]
shl rdx, 3
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f6e8
mov rcx, r12
call sub.msvcrt.dll_free
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call sub.msvcrt.dll_fseek
mov rcx, qword [rsp + 0x60]
mov r9, rdi
mov r8d, 1
mov edx, 4
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f6f0
xor edx, edx
mov rcx, rdi
mov r8d, 2
call sub.msvcrt.dll_fseek
add byte [rsp + 0xa3], 1
mov eax, dword [rsp + 0xa0]
movzx ecx, byte [rsp + 0xc2]
mov edx, eax
and eax, 0xff000000
and edx, 0xffffff
lea ecx, [rdx + rcx*4 + 4]
movzx edx, byte [rsp + 0xc3]
lea edx, [rdx + rdx*2]
lea edx, [rcx + rdx*8]
and edx, 0xffffff
or eax, edx
mov dword [rsp + 0xa0], eax
add r15, 1
cmp r15d, dword [rsi + 4]
jb 0x14000ee3f
mov r13, qword [rsp + 0x80]
mov edx, dword [rsp + 0x70]
xor r8d, r8d
mov rcx, rdi
call sub.msvcrt.dll_fseek
lea rcx, [rsp + 0xa0]
mov r9, rdi
mov r8d, 1
mov edx, 4
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f6f0
mov r8d, 2
xor edx, edx
mov rcx, rdi
add r14, 1
call sub.msvcrt.dll_fseek
cmp r14d, dword [r13 + 8]
jb 0x14000edf1
mov ebx, dword [rsp + 0x68]
mov r15d, dword [rsp + 0x74]
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x210]
mov rcx, rdi
call sub.msvcrt.dll_ftell
mov ecx, dword [rsp + 0x58]
mov edx, dword [rsp + 0x5c]
xor r8d, r8d
mov r12, qword [r13 + 0x18]
sub eax, ecx
mov rcx, rdi
mov r14d, eax
call sub.msvcrt.dll_fseek
cmp dword [r13], 0
je 0x14000f714
xor r10d, r10d
mov r9, rdi
mov rdi, rsi
mov esi, ebx
mov ebx, r10d
jmp 0x14000f5fe
add ebx, 1
cmp ebx, dword [r13]
jae 0x14000f70c
mov eax, dword [r12]
mov rcx, qword [rsp + 0x50]
mov r8d, 1
mov edx, 4
mov qword [rsp + 0x218], r9
add r12, 4
add eax, r14d
mov dword [rsp + 0xe0], eax
call sub.msvcrt.dll_fwrite
mov r9, qword [rsp + 0x218]
test rax, rax
jne 0x14000f5f1
jmp 0x14000f6f0
movq xmm11, qword [0x140031e80]
movapd xmm0, xmm6
movsd xmm15, qword [0x140031e78]
movapd xmm7, xmm6
movsd xmm10, qword [0x140031e70]
andpd xmm0, xmm11
movapd xmm1, xmm11
ucomisd xmm15, xmm0
jbe 0x14000f372
cvttsd2si rax, xmm6
pxor xmm0, xmm0
movapd xmm3, xmm6
andnpd xmm1, xmm6
cvtsi2sd xmm0, rax
cmpnlesd xmm3, xmm0
andpd xmm3, xmm10
addsd xmm0, xmm3
movapd xmm7, xmm0
orpd xmm7, xmm1
jmp 0x14000f372
movapd xmm0, xmm6
call fcn.14001f980
movsd xmm15, qword [0x140031e78]
movq xmm11, qword [0x140031e80]
movsd xmm10, qword [0x140031e70]
movapd xmm7, xmm0
jmp 0x14000f372
or eax, 0xffffffff
jmp 0x14000e8b0
xor r12d, r12d
jmp 0x14000f472
mov rcx, r12
call sub.msvcrt.dll_free
mov eax, 0xfffffffc
jmp 0x14000e8b0
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call sub.msvcrt.dll_fseek
jmp 0x14000f535
mov ebx, esi
mov rsi, rdi
mov rdi, r9
xor edx, edx
mov r8d, 2
mov rcx, rdi
call sub.msvcrt.dll_fseek
mov edx, dword [r13 + 4]
mov r9, rdi
mov rcx, r12
mov r8d, 1
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f6f0
mov rcx, rdi
call sub.msvcrt.dll_ftell
mov ecx, 4
cdq
idiv ecx
test edx, edx
je 0x14000f775
sub ecx, edx
mov r9, rdi
mov r8d, 1
mov rdx, rcx
lea rcx, [0x140031e64]
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f6f0
mov dword [r13 + 0xc], r15d
mov rcx, rdi
add rsi, 1
call sub.msvcrt.dll_ftell
mov ecx, dword [rsp + 0x40]
mov edx, eax
mov eax, dword [rsp + 0x34]
sub eax, ecx
add eax, edx
mov dword [r13 + 0x10], eax
cmp esi, dword [rbp + 8]
jb 0x14000ecea
cmp qword [rsp + 0x230], 0
mov r12d, ebx
je 0x14000f7cb
movzx r8d, word [rsp + 0x96]
mov rcx, qword [rsp + 0x230]
lea rdx, str._nSuccessfully_exported__u_songs._n
call fcn.14000e650
mov rcx, rdi
and r12d, 1
xor r13d, r13d
call sub.msvcrt.dll_ftell
mov ecx, dword [rsp + 0x34]
mov r15, qword [rsp + 0x38]
lea r14, [rsp + 0xc0]
lea rbx, [rsp + 0xe0]
sub eax, ecx
cmp dword [rbp], 0
mov dword [rsp + 0x98], eax
je 0x14000f891
mov rsi, qword [rbp + 0x10]
test r15, r15
je 0x14000f961
movzx eax, word [r15 + r13*2]
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
shl rax, 3
add rsi, rax
test byte [rsi], 1
jne 0x14000f831
test r12b, r12b
jne 0x14000f883
mov eax, dword [rsi + 4]
mov r9, rdi
mov r8d, 1
mov rcx, r14
mov edx, 4
mov dword [rsp + 0xc0], eax
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f6f0
mov eax, dword [rsi + 8]
mov r9, rdi
mov r8d, 1
mov rcx, rbx
mov edx, 4
mov dword [rsp + 0xe0], eax
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f6f0
add r13, 1
cmp r13d, dword [rbp]
jb 0x14000f806
mov rcx, rdi
call sub.msvcrt.dll_ftell
mov ecx, dword [rsp + 0x34]
sub eax, ecx
cmp dword [rbp + 8], 0
mov dword [rsp + 0x9c], eax
je 0x14000f927
xor esi, esi
xor ebx, ebx
lea r12, [rsp + 0xc0]
lea r14, [rsp + 0xe0]
mov r13, qword [rbp + 0x20]
mov r9, rdi
mov r8d, 1
mov rcx, r12
mov edx, 4
add r13, rsi
mov eax, dword [r13 + 0xc]
mov dword [rsp + 0xc0], eax
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f6f0
mov eax, dword [r13 + 0x10]
mov r9, rdi
mov r8d, 1
mov rcx, r14
mov edx, 4
mov dword [rsp + 0xe0], eax
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f6f0
add ebx, 1
add rsi, 0x28
cmp ebx, dword [rbp + 8]
jb 0x14000f8c0
mov edx, dword [rsp + 0x34]
xor r8d, r8d
mov rcx, rdi
call sub.msvcrt.dll_fseek
lea rcx, [rsp + 0x90]
mov r9, rdi
mov r8d, 1
mov edx, 0x10
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x14000f6f0
xor eax, eax
jmp 0x14000e8b0
imul rax, r13, 0x68
jmp 0x14000f824
mov eax, dword [rbp + 8]
test eax, eax
jne 0x14000ecc7
jmp 0x14000f7cb
mov eax, 0xfffffff8
jmp 0x14000e8b0
imul rax, r15, 0x68
jmp 0x14000e851