Function at 0x14009f9d0
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2f8]
sub rsp, 0x3d0
mov qword [rbp + 0x250], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1404a90f8]
xor rax, rsp
mov qword [rbp + 0x2c8], rax
mov rbx, rdx
mov r13, rcx
mov qword [rbp + 0x258], rcx
lea rax, str.WAV_file
mov qword [rbp + 0x1d0], rax
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x1d8]
call fcn.1400461b0
lea rax, vtable.juce::AudioFormatReader.0
mov qword [r13], rax
xor edi, edi
mov qword [r13 + 8], rdi
mov dword [r13 + 0x10], edi
mov qword [r13 + 0x18], rdi
mov dword [r13 + 0x20], edi
mov byte [r13 + 0x24], dil
lea r12, [r13 + 0x28]
mov qword [r12], rdi
mov dword [r12 + 8], edi
mov dword [r12 + 0x10], edi
mov qword [r12 + 0x18], rdi
mov dword [r12 + 0x20], edi
mov dword [r12 + 0x28], edi
mov byte [r12 + 0x30], 1
mov qword [r13 + 0x60], rbx
mov rax, qword [rbp + 0x1d8]
mov qword [r13 + 0x68], rax
lea rcx, [rax - 0x10]
lea rdx, [0x1402901c8]
cmp rcx, rdx
je 0x14009fab0
mov eax, 1
lock xadd dword [rcx], eax
cmp rcx, rdx
je 0x14009fac5
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x14009fac5
call fcn.1400bd658
lea rax, vtable.juce::WavAudioFormatReader.0
mov qword [r13], rax
mov qword [r13 + 0x70], rdi
mov qword [r13 + 0x78], rdi
mov qword [r13 + 0x80], rdi
mov qword [r13 + 0x88], rdi
mov dword [r13 + 0x90], edi
mov word [r13 + 0x94], 0
mov qword [r13 + 0x98], rdi
mov qword [r13 + 0xb0], 4
mov dword [r13 + 0xb8], 0xffffffff
mov byte [r13 + 0xbc], 0
mov qword [r13 + 0xa0], rdi
mov qword [r13 + 0xa8], rdi
mov r14, rdi
mov qword [rsp + 0x70], rdi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x2c], edi
mov dword [rsp + 0x48], edi
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0xa8]
mov qword [rbp + 0x160], rax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
cmp eax, 0x34364652
jne 0x14009fb7f
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
mov edx, 4
call qword [rax + 0xb8]
mov byte [r13 + 0x94], 1
jmp 0x14009fbac
cmp eax, 0x46464952
jne 0x1400a1011
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r14d, eax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0xa8]
add r14, rax
mov qword [rsp + 0x70], r14
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0xa8]
mov rsi, rax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
cmp eax, 0x45564157
jne 0x1400a0f89
cmp byte [r13 + 0x94], 0
je 0x14009fc4d
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
cmp eax, 0x34367364
jne 0x14009fc4d
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
cmp eax, 0x1c
jb 0x1400a1011
mov rcx, qword [r13 + 0x60]
mov ebx, eax
mov rax, qword [rcx]
call qword [rax + 0xa8]
mov edi, ebx
and edi, 1
add rax, rbx
add rdi, rax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x50]
lea r14, [rsi + rax]
mov qword [rsp + 0x70], r14
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov qword [r13 + 0x88], rax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 0xb0]
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0xa8]
cmp rax, r14
jae 0x1400a0f89
lea rdi, str.CueLabel
lea rsi, str.CueNote
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
test al, al
jne 0x1400a0e30
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov ebx, eax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r15d, eax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0xa8]
mov ecx, r15d
and ecx, 1
add rax, r15
add rcx, rax
mov qword [rsp + 0x20], rcx
cmp ebx, 0x20746d66
jne 0x1400a005f
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x30]
movzx ebx, ax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x30]
movsx ecx, ax
mov dword [r13 + 0x20], ecx
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [r13 + 8], xmm0
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r14d, eax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
mov edx, 2
call qword [rax + 0xb8]
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x30]
movsx ecx, ax
mov dword [r13 + 0x10], ecx
cmp ecx, 0x40
jbe 0x14009fd57
cvttsd2si ecx, qword [r13 + 8]
mov eax, r14d
cdq
idiv ecx
mov dword [r13 + 0x90], eax
lea eax, [rax*8]
xor edx, edx
div dword [r13 + 0x20]
mov dword [r13 + 0x10], eax
jmp 0x14009fd66
imul ecx, dword [r13 + 0x20]
shr ecx, 3
mov dword [r13 + 0x90], ecx
cmp bx, 3
jne 0x14009fd76
mov byte [r13 + 0x24], 1
jmp 0x1400a0ddc
mov eax, 0xfffe
cmp bx, ax
jne 0x1400a001b
cmp r15d, 0x28
jae 0x14009fd9a
mov dword [r13 + 0x90], 0
jmp 0x1400a0ddc
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
mov edx, 4
call qword [rax + 0xb8]
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r14d, eax
lea rax, str.ChannelMask
mov qword [rbp + 0x1e0], rax
lea rdx, [rbp + 0x1e0]
lea rcx, [rsp + 0x60]
call fcn.1400461b0
nop
mov edx, r14d
lea rcx, [rsp + 0x68]
call fcn.140162f60
mov rbx, qword [rsp + 0x60]
mov qword [rbp + 0x1e8], rbx
xor r9d, r9d
movzx r8d, byte [r12 + 0x30]
lea rdx, [rbp + 0x1e8]
mov rcx, r12
call fcn.14018c4a0
test eax, eax
js 0x14009fe21
lea rcx, [r12 + 0x18]
lea r8, [rsp + 0x68]
mov edx, eax
call fcn.1400415f0
jmp 0x14009fe94
mov eax, dword [r12 + 0x10]
inc eax
cmp eax, dword [r12 + 8]
jle 0x14009fe4a
mov ecx, eax
test eax, eax
jns 0x14009fe38
lea ecx, [rax + 1]
sar ecx, 1
lea edx, [rax + 8]
add edx, ecx
and edx, 0xfffffff8
mov rcx, r12
call fcn.140030760
movsxd rcx, dword [r12 + 0x10]
lea eax, [rcx + 1]
mov dword [r12 + 0x10], eax
mov rax, qword [r12]
lea rdx, [rax + rcx*8]
test rdx, rdx
je 0x14009fe85
mov qword [rdx], rbx
lea rcx, [rbx - 0x10]
lea rax, [0x1402901c8]
cmp rcx, rax
je 0x14009fe85
mov eax, 1
lock xadd dword [rcx], eax
mov rbx, qword [rsp + 0x60]
lea rcx, [r12 + 0x18]
lea rdx, [rsp + 0x68]
call fcn.140030020
mov rcx, qword [rsp + 0x68]
add rcx, 0xfffffffffffffff0
lea r15, [0x1402901c8]
cmp rcx, r15
je 0x14009febe
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x14009feb9
call fcn.1400bd658
mov rbx, qword [rsp + 0x60]
lea rcx, [rbx - 0x10]
cmp rcx, r15
je 0x14009fed7
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x14009fed7
call fcn.1400bd658
mov r8d, dword [r13 + 0x20]
mov edx, r14d
lea rcx, [rbp + 0x280]
call fcn.1400a1390
mov rdx, rax
mov rcx, qword [r13 + 0x98]
mov qword [rbp + 0x260], rcx
mov rax, qword [rax]
mov qword [r13 + 0x98], rax
mov qword [rdx], rcx
movups xmm0, xmmword [rdx + 8]
movups xmmword [r13 + 0xa0], xmm0
mov rax, qword [rdx + 0x18]
mov qword [r13 + 0xb0], rax
mov eax, dword [rdx + 0x20]
mov dword [r13 + 0xb8], eax
movzx eax, byte [rdx + 0x24]
mov byte [r13 + 0xbc], al
mov rcx, qword [rbp + 0x280]
call fcn.1400c1bd0
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov dword [rbp + 0x270], eax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov word [rbp + 0x274], ax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov word [rbp + 0x276], ax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
mov r8d, 8
lea rdx, [rbp + 0x278]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov rcx, qword [rbp + 0x270]
mov rax, rcx
mov rdx, qword [rbp + 0x278]
sub rax, qword [0x14040a9d8]
jne 0x14009ffad
mov rax, rdx
sub rax, qword [0x14040a9e0]
test rax, rax
sete al
test al, al
je 0x14009ffc1
mov byte [r13 + 0x24], 1
jmp 0x1400a0ddc
mov rax, rcx
sub rax, qword [0x14040a9c0]
jne 0x14009ffd7
mov rax, rdx
sub rax, qword [0x14040a9c8]
test rax, rax
sete al
xor al, 1
je 0x1400a0ddc
sub rcx, qword [0x14040a9b0]
jne 0x14009fff8
mov rcx, rdx
sub rcx, qword [0x14040a9b8]
test rcx, rcx
sete al
xor al, 1
mov rdx, qword [rsp + 0x20]
je 0x1400a0de1
mov dword [r13 + 0x90], 0
jmp 0x1400a0de1
movzx eax, bx
mov ecx, 0x674f
sub ax, cx
cmp ax, 2
jbe 0x1400a0e07
movzx eax, bx
mov ecx, 0x676f
sub ax, cx
cmp ax, 2
jbe 0x1400a0e07
cmp bx, 1
je 0x1400a0ddc
mov dword [r13 + 0x90], 0
jmp 0x1400a0ddc
cmp ebx, 0x61746164
jne 0x1400a00b3
cmp byte [r13 + 0x94], 0
jne 0x1400a0078
mov qword [r13 + 0x88], r15
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0xa8]
mov qword [r13 + 0x80], rax
movsxd rax, dword [r13 + 0x90]
test eax, eax
jle 0x1400a00a8
mov rcx, rax
mov rax, qword [r13 + 0x88]
cqo
idiv rcx
jmp 0x1400a00aa
xor eax, eax
mov qword [r13 + 0x18], rax
jmp 0x1400a0ddc
cmp ebx, 0x74786562
jne 0x1400a0123
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0xa8]
mov qword [r13 + 0x70], rax
mov qword [r13 + 0x78], r15
lea rbx, [r15 + 1]
xor ecx, ecx
call fcn.1400c1bd0
mov r14d, 0x25b
cmp rbx, r14
cmovb rbx, r14
mov edx, 1
mov rcx, rbx
call fcn.1400c1bc0
mov rbx, rax
mov qword [rbp + 0x268], rax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
mov r8d, r15d
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov r8d, r15d
mov rdx, r12
mov rcx, rbx
call fcn.14009c920
nop
jmp 0x1400a0dd4
cmp ebx, 0x6c706d73
jne 0x1400a017c
lea rbx, [r15 + 1]
xor ecx, ecx
call fcn.1400c1bd0
cmp rbx, 0x3c
mov eax, 0x3c
cmovb rbx, rax
lea edx, [rax - 0x3b]
mov rcx, rbx
call fcn.1400c1bc0
mov rbx, rax
mov qword [rbp + 0x208], rax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
mov r8d, r15d
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov r8d, r15d
mov rdx, r12
mov rcx, rbx
call fcn.14009d400
nop
jmp 0x1400a0dd4
cmp ebx, 0x74736e69
je 0x1400a0d8b
cmp ebx, 0x54534e49
je 0x1400a0d8b
cmp ebx, 0x20657563
jne 0x1400a01ed
lea rbx, [r15 + 1]
xor ecx, ecx
call fcn.1400c1bd0
cmp rbx, 0x1c
mov eax, 0x1c
cmovb rbx, rax
lea edx, [rax - 0x1b]
mov rcx, rbx
call fcn.1400c1bc0
mov rbx, rax
mov qword [rbp + 0x210], rax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
mov r8d, r15d
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov r8d, r15d
mov rdx, r12
mov rcx, rbx
call fcn.14009e3f0
nop
jmp 0x1400a0dd4
cmp ebx, 0x6c6d7861
jne 0x1400a0261
xor ebx, ebx
mov qword [rbp + 0x68], rbx
mov qword [rbp + 0x70], rbx
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
mov r8, r15
lea rdx, [rbp + 0x68]
call qword [rax + 0xa0]
lea rdx, [rbp + 0xa8]
lea rcx, [rbp + 0x68]
call fcn.14017b300
nop
mov rdx, rax
mov rcx, r12
call fcn.14020b650
nop
mov rcx, qword [rbp + 0xa8]
add rcx, 0xfffffffffffffff0
lea rax, [0x1402901c8]
cmp rcx, rax
je 0x1400a0258
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a0258
call fcn.1400bd658
nop
mov rcx, qword [rbp + 0x68]
jmp 0x1400a0dd7
cmp ebx, 0x5453494c
jne 0x1400a0c70
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
cmp eax, 0x6f666e69
je 0x1400a0c5a
cmp eax, 0x4f464e49
je 0x1400a0c5a
cmp eax, 0x6c746461
jne 0x1400a0ddc
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0xa8]
mov rdx, qword [rsp + 0x20]
cmp rax, rdx
jge 0x1400a0de1
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r14d, eax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov ebx, eax
mov dword [rsp + 0x50], eax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0xa8]
mov rcx, rax
mov eax, ebx
and eax, 1
add eax, ebx
add rcx, rax
mov qword [rbp + 0x138], rcx
cmp r14d, 0x6c62616c
je 0x1400a089d
cmp r14d, 0x65746f6e
je 0x1400a089d
cmp r14d, 0x7478746c
jne 0x1400a0c29
mov ebx, dword [rsp + 0x48]
mov edx, ebx
lea rcx, [rbp - 0x78]
call fcn.140162f60
nop
lea r8, [rbp - 0x78]
lea rdx, str.CueRegion
lea rcx, [rsp + 0x40]
call fcn.14018d730
nop
inc ebx
mov dword [rsp + 0x48], ebx
mov rcx, qword [rbp - 0x78]
add rcx, 0xfffffffffffffff0
lea rax, [0x1402901c8]
cmp rcx, rax
je 0x1400a0368
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a0368
call fcn.1400bd658
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov ebx, eax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r14d, eax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r15d, eax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r12d, eax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov dword [rbp - 0x80], eax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov dword [rsp + 0x78], eax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov dword [rsp + 0x58], eax
mov edx, dword [rsp + 0x50]
add edx, 0xffffffec
xor eax, eax
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x80], rax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
movsxd r8, edx
lea rdx, [rbp + 0x78]
call qword [rax + 0xa0]
mov edx, ebx
lea rcx, [rbp - 0x68]
call fcn.140162e80
nop
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x70], rax
lea rbx, [rax - 0x10]
lea rax, [0x1402901c8]
cmp rbx, rax
je 0x1400a041a
mov eax, 1
lock xadd dword [rbx], eax
lea r8, str.Identifier
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0xb0]
call fcn.140185a50
lea r8, [rbp - 0x68]
mov rdx, rax
lea rcx, [r13 + 0x28]
call fcn.1401741f0
mov rcx, qword [rbp + 0xb0]
add rcx, 0xfffffffffffffff0
lea rax, [0x1402901c8]
cmp rcx, rax
je 0x1400a0469
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a0469
call fcn.1400bd658
nop
mov rcx, qword [rbp - 0x68]
add rcx, 0xfffffffffffffff0
lea rax, [0x1402901c8]
cmp rcx, rax
je 0x1400a048d
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a048d
call fcn.1400bd658
mov edx, r14d
lea rcx, [rbp - 0x58]
call fcn.140162e80
nop
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x60], rax
lea rax, [0x1402901c8]
cmp rbx, rax
je 0x1400a04b8
mov eax, 1
lock xadd dword [rbx], eax
lea r8, str.SampleLength
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0xb8]
call fcn.140185a50
lea r8, [rbp - 0x58]
mov rdx, rax
lea rcx, [r13 + 0x28]
call fcn.1401741f0
mov rcx, qword [rbp + 0xb8]
add rcx, 0xfffffffffffffff0
lea rax, [0x1402901c8]
cmp rcx, rax
je 0x1400a0507
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a0507
call fcn.1400bd658
nop
mov rcx, qword [rbp - 0x58]
add rcx, 0xfffffffffffffff0
lea rax, [0x1402901c8]
cmp rcx, rax
je 0x1400a052b
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a052b
call fcn.1400bd658
mov edx, r15d
lea rcx, [rbp - 0x48]
call fcn.140162e80
nop
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x50], rax
lea r15, [0x1402901c8]
cmp rbx, r15
je 0x1400a0556
mov eax, 1
lock xadd dword [rbx], eax
lea r8, str.Purpose
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xc0]
call fcn.140185a50
lea r8, [rbp - 0x48]
mov rdx, rax
lea rcx, [r13 + 0x28]
call fcn.1401741f0
mov rcx, qword [rbp + 0xc0]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a059e
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a059e
call fcn.1400bd658
nop
mov rcx, qword [rbp - 0x48]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a05bb
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a05bb
call fcn.1400bd658
movzx edx, r12w
lea rcx, [rbp - 0x38]
call fcn.140162e80
nop
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
cmp rbx, r15
je 0x1400a05e0
mov eax, 1
lock xadd dword [rbx], eax
lea r8, str.Country
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0xc8]
call fcn.140185a50
lea r8, [rbp - 0x38]
mov rdx, rax
lea r12, [r13 + 0x28]
mov rcx, r12
call fcn.1401741f0
mov rcx, qword [rbp + 0xc8]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a062b
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a062b
call fcn.1400bd658
nop
mov rcx, qword [rbp - 0x38]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a0648
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a0648
call fcn.1400bd658
movzx edx, word [rbp - 0x80]
lea rcx, [rbp - 0x28]
call fcn.140162e80
nop
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x30], rax
cmp rbx, r15
je 0x1400a066d
mov eax, 1
lock xadd dword [rbx], eax
lea r8, str.Language
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0xd0]
call fcn.140185a50
lea r8, [rbp - 0x28]
mov rdx, rax
mov rcx, r12
call fcn.1401741f0
mov rcx, qword [rbp + 0xd0]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a06b4
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a06b4
call fcn.1400bd658
nop
mov rcx, qword [rbp - 0x28]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a06d1
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a06d1
call fcn.1400bd658
movzx edx, word [rsp + 0x78]
lea rcx, [rbp - 0x18]
call fcn.140162e80
nop
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x20], rax
cmp rbx, r15
je 0x1400a06f7
mov eax, 1
lock xadd dword [rbx], eax
lea r8, str.Dialect
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0xd8]
call fcn.140185a50
lea r8, [rbp - 0x18]
mov rdx, rax
mov rcx, r12
call fcn.1401741f0
mov rcx, qword [rbp + 0xd8]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a073e
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a073e
call fcn.1400bd658
nop
mov rcx, qword [rbp - 0x18]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a075b
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a075b
call fcn.1400bd658
movzx edx, word [rsp + 0x58]
lea rcx, [rbp - 8]
call fcn.140162e80
nop
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x10], rax
cmp rbx, r15
je 0x1400a0781
mov eax, 1
lock xadd dword [rbx], eax
lea r8, str.CodePage
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0xe0]
call fcn.140185a50
lea r8, [rbp - 8]
mov rdx, rax
mov rcx, r12
call fcn.1401741f0
mov rcx, qword [rbp + 0xe0]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a07c8
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a07c8
call fcn.1400bd658
nop
mov rcx, qword [rbp - 8]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a07e5
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a07e5
call fcn.1400bd658
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x78]
call fcn.14017b300
mov r14, rax
mov rax, qword [rsp + 0x40]
mov qword [rbp], rax
cmp rbx, r15
je 0x1400a080f
mov eax, 1
lock xadd dword [rbx], eax
lea r8, str.Text
lea rdx, [rbp]
lea rcx, [rbp + 0xe8]
call fcn.140185a50
mov r8, r14
mov rdx, rax
mov rcx, r12
call fcn.1401741f0
mov rcx, qword [rbp + 0xe8]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a0855
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a0855
call fcn.1400bd658
nop
mov rcx, qword [rbp + 0xf0]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a0876
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a0876
call fcn.1400bd658
nop
mov rcx, qword [rbp + 0x78]
call fcn.1400c1bd0
nop
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0xf8]
call fcn.140002cc0
jmp 0x1400a0c29
lea rcx, [0x1402901d8]
mov rbx, rcx
mov qword [rsp + 0x38], rcx
cmp r14d, 0x6c62616c
jne 0x1400a099d
mov qword [rbp + 0x218], rdi
lea rax, [0x1404318c0]
sub eax, edi
test eax, eax
jle 0x1400a0920
or r14, 0xffffffffffffffff
inc r14
cmp byte [rcx + r14], 0
jne 0x1400a08d1
mov qword [rbp + 0x100], rcx
movsxd r15, eax
lea r8, [r15 + 1]
add r8, r14
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x220]
call fcn.14003e200
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
movsxd r14, r14d
add r14, rbx
mov r8, r15
mov rdx, rdi
mov rcx, r14
call fcn.1400c0020
mov byte [r14 + r15], 0
mov edx, dword [rsp + 0x2c]
lea rcx, [rbp + 0x2b8]
call fcn.140178550
mov r12, rax
lea rax, [rbp + 0x2b8]
sub eax, r12d
test eax, eax
jle 0x1400a0994
or r14, 0xffffffffffffffff
inc r14
cmp byte [rbx + r14], 0
jne 0x1400a0945
mov qword [rbp + 0x108], rbx
movsxd r15, eax
lea r8, [r15 + 1]
add r8, r14
lea rdx, [rbp + 0x108]
lea rcx, [rbp + 0x228]
call fcn.14003e200
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
movsxd r14, r14d
add r14, rbx
mov r8, r15
mov rdx, r12
mov rcx, r14
call fcn.1400c0020
mov byte [r14 + r15], 0
inc dword [rsp + 0x2c]
jmp 0x1400a0a89
cmp r14d, 0x65746f6e
jne 0x1400a0a8d
mov qword [rbp + 0x230], rsi
lea rax, [0x1404318df]
sub eax, esi
test eax, eax
jle 0x1400a0a11
or r14, 0xffffffffffffffff
inc r14
cmp byte [rcx + r14], 0
jne 0x1400a09c2
mov qword [rbp + 0x110], rcx
movsxd r15, eax
lea r8, [r15 + 1]
add r8, r14
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x238]
call fcn.14003e200
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
movsxd r14, r14d
add r14, rbx
mov r8, r15
mov rdx, rsi
mov rcx, r14
call fcn.1400c0020
mov byte [r14 + r15], 0
mov edx, dword [rsp + 0x30]
lea rcx, [rbp + 0x2c8]
call fcn.140178550
mov r12, rax
lea rax, [rbp + 0x2c8]
sub eax, r12d
test eax, eax
jle 0x1400a0a85
or r14, 0xffffffffffffffff
inc r14
cmp byte [rbx + r14], 0
jne 0x1400a0a36
mov qword [rbp + 0x118], rbx
movsxd r15, eax
lea r8, [r15 + 1]
add r8, r14
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 0x240]
call fcn.14003e200
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
movsxd r14, r14d
add r14, rbx
mov r8, r15
mov rdx, r12
mov rcx, r14
call fcn.1400c0020
mov byte [r14 + r15], 0
inc dword [rsp + 0x30]
lea r12, [r13 + 0x28]
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r14d, eax
mov edx, dword [rsp + 0x50]
add edx, 0xfffffffc
xor eax, eax
mov qword [rbp + 0x88], rax
mov qword [rbp + 0x90], rax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
movsxd r8, edx
lea rdx, [rbp + 0x88]
call qword [rax + 0xa0]
mov edx, r14d
lea rcx, [rbp + 0x10]
call fcn.140162e80
nop
mov qword [rbp + 8], rbx
lea r14, [rbx - 0x10]
lea r15, [0x1402901c8]
cmp r14, r15
je 0x1400a0af8
mov eax, 1
lock xadd dword [r14], eax
mov rbx, qword [rsp + 0x38]
lea r8, str.Identifier
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x120]
call fcn.140185a50
lea r8, [rbp + 0x10]
mov rdx, rax
mov rcx, r12
call fcn.1401741f0
mov rcx, qword [rbp + 0x120]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a0b43
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a0b3e
call fcn.1400bd658
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rbp + 0x10]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a0b65
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a0b60
call fcn.1400bd658
mov rbx, qword [rsp + 0x38]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x88]
call fcn.14017b300
mov r15, rax
mov qword [rbp + 0x18], rbx
lea rax, [0x1402901c8]
cmp r14, rax
je 0x1400a0b95
mov eax, 1
lock xadd dword [r14], eax
lea r8, str.Text
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x128]
call fcn.140185a50
mov r8, r15
mov rdx, rax
mov rcx, r12
call fcn.1401741f0
mov rcx, qword [rbp + 0x128]
add rcx, 0xfffffffffffffff0
lea r15, [0x1402901c8]
cmp rcx, r15
je 0x1400a0be2
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a0be2
call fcn.1400bd658
nop
mov rcx, qword [rbp + 0x130]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1400a0c03
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1400a0c03
call fcn.1400bd658
nop
mov rcx, qword [rbp + 0x88]
call fcn.1400c1bd0
nop
cmp r14, r15
je 0x1400a0c29
or eax, 0xffffffff
lock xadd dword [r14], eax
test eax, eax
jne 0x1400a0c29
mov rcx, r14
call fcn.1400bd658
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
mov rdx, qword [rbp + 0x138]
call qword [rax + 0xb0]
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0xa8]
cmp rax, qword [rsp + 0x20]
jl 0x1400a02b3
jmp 0x1400a0ddc
mov r8, qword [rsp + 0x20]
mov rdx, qword [r13 + 0x60]
mov rcx, r12
call fcn.14020bd10
jmp 0x1400a0ddc
cmp ebx, 0x64696361
jne 0x1400a0cc1
mov rcx, qword [r13 + 0x60]
xor eax, eax
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x1f8], rax
mov qword [rbp + 0x200], rax
mov rax, qword [rcx]
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetElement
cmp r15, r8
cmovb r8d, r15d
lea rdx, [rbp + 0x1f0]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov rdx, r12
lea rcx, [rbp + 0x1f0]
call fcn.14009f0e0
jmp 0x1400a0ddc
cmp ebx, 0x6e6b7254
jne 0x1400a0d71
xor eax, eax
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xa0], rax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
mov r8, r15
lea rdx, [rbp + 0x98]
call qword [rax + 0xa0]
lea rax, str.tracktion_loop_info
mov qword [rbp + 0x140], rax
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x20]
call fcn.1400461b0
nop
lea rdx, [rbp + 0x148]
lea rcx, [rbp + 0x98]
call fcn.14017b300
mov r8, rax
lea rdx, [rbp + 0x20]
mov rcx, r12
call fcn.1401741f0
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x150], rax
lea rcx, [rbp + 0x150]
call fcn.140002cc0
nop
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x158], rax
lea rcx, [rbp + 0x158]
call fcn.140002cc0
nop
mov rcx, qword [rbp + 0x98]
jmp 0x1400a0dd7
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0xa8]
cmp qword [rsp + 0x20], rax
jle 0x1400a0e30
jmp 0x1400a0ddc
lea rbx, [r15 + 1]
xor ecx, ecx
call fcn.1400c1bd0
cmp rbx, 7
mov eax, 7
cmovb rbx, rax
lea edx, [rax - 6]
mov rcx, rbx
call fcn.1400c1bc0
mov rbx, rax
mov qword [rbp + 0x248], rax
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
mov r8d, r15d
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov rdx, r12
mov rcx, rbx
call fcn.14009df30
nop
mov rcx, rbx
call fcn.1400c1bd0
mov rdx, qword [rsp + 0x20]
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0xb0]
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0xa8]
cmp rax, qword [rsp + 0x70]
jae 0x1400a0e30
jmp 0x14009fc71
mov byte [r13 + 0x95], 1
mov qword [r13 + 8], 0
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
mov rdx, qword [rbp + 0x160]
call qword [rax + 0xb0]
jmp 0x1400a1011
mov r14d, dword [rsp + 0x2c]
test r14d, r14d
jle 0x1400a0ea4
lea rax, str.NumCueLabels
mov qword [rbp + 0x168], rax
lea rdx, [rbp + 0x168]
lea rcx, [rbp + 0x30]
call fcn.1400461b0
nop
mov edx, r14d
lea rcx, [rbp + 0x28]
call fcn.140162f60
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x30]
mov rcx, r12
call fcn.1401741f0
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x170], rax
lea rcx, [rbp + 0x170]
call fcn.140002cc0
nop
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x178], rax
lea rcx, [rbp + 0x178]
call fcn.140002cc0
mov r15d, dword [rsp + 0x30]
test r15d, r15d
jle 0x1400a0f18
lea rax, str.NumCueNotes
mov qword [rbp + 0x180], rax
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x40]
call fcn.1400461b0
nop
mov edx, r15d
lea rcx, [rbp + 0x38]
call fcn.140162f60
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x40]
mov rcx, r12
call fcn.1401741f0
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x188], rax
lea rcx, [rbp + 0x188]
call fcn.140002cc0
nop
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x190], rax
lea rcx, [rbp + 0x190]
call fcn.140002cc0
mov ebx, dword [rsp + 0x48]
test ebx, ebx
jle 0x1400a0f89
lea rax, str.NumCueRegions
mov qword [rbp + 0x198], rax
lea rdx, [rbp + 0x198]
lea rcx, [rbp + 0x50]
call fcn.1400461b0
nop
mov edx, ebx
lea rcx, [rbp + 0x48]
call fcn.140162f60
lea r8, [rbp + 0x48]
lea rdx, [rbp + 0x50]
mov rcx, r12
call fcn.1401741f0
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x1a0], rax
lea rcx, [rbp + 0x1a0]
call fcn.140002cc0
nop
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x1a8], rax
lea rcx, [rbp + 0x1a8]
call fcn.140002cc0
cmp dword [r13 + 0x38], 0
jle 0x1400a1011
lea rax, [0x140431aa8]
mov qword [rbp + 0x1b0], rax
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x60]
call fcn.1400461b0
nop
lea rax, str.MetaDataSource
mov qword [rbp + 0x1b8], rax
lea rdx, [rbp + 0x1b8]
lea rcx, [rbp + 0x58]
call fcn.1400461b0
lea r8, [rbp + 0x60]
lea rdx, [rbp + 0x58]
mov rcx, r12
call fcn.1401741f0
mov rcx, qword [rbp + 0x58]
mov qword [rbp + 0x1c0], rcx
lea rcx, [rbp + 0x1c0]
call fcn.140002cc0
nop
mov rcx, qword [rbp + 0x60]
mov qword [rbp + 0x1c8], rcx
lea rcx, [rbp + 0x1c8]
call fcn.140002cc0
nop
mov rax, r13
mov rcx, qword [rbp + 0x2c8]
xor rcx, rsp
call fcn.1400bd5f0
lea r11, [rsp + 0x3d0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret