Function at 0x14006def8
Capabilities:
Link many functions at runtime

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x638]
sub rsp, 0x710
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1400fe008]
xor rax, rsp
mov qword [rbp + 0x560], rax
mov eax, dword [0x1404c5720]
xor edi, edi
lea r15d, [rdi + 1]
test eax, eax
jne 0x14006df94
call fcn.140062dd0
mov rax, qword [0x1404c6198]
test rax, rax
je 0x14006df94
mov ecx, r15d
call rax
cmp qword [0x14014c850], rdi
je 0x14006dfa5
or eax, 0xffffffff
jmp 0x14006eb30
or esi, 0xffffffff
lea r13, [0x14014d648]
lea r12d, [rsi + 0x31]
lea rbx, [0x14014c850]
mov r10d, 2
lea r8, [0x140101e90]
lea rdx, str.X3DAudio1_7.dll
lea r11d, [r10 + 2]
mov ecx, dword [0x14012c4dc]
lea r14d, [r10 + 0x26]
test ecx, ecx
je 0x14006e074
sub ecx, r15d
je 0x14006dff2
cmp ecx, r15d
jne 0x14006ecec
xor edx, edx
mov dword [0x14014d6c0], edi
lea rax, [0x14014c808]
lea r9, [0x140101f70]
mov qword [rsp + 0x20], rax
lea rcx, [0x140101fa0]
lea r8d, [rdx + 3]
call qword [0x1404c5a88]
test eax, eax
js 0x14006e069
xor edx, edx
lea rax, [0x14014c810]
lea r9, [0x140101f80]
mov qword [rsp + 0x20], rax
lea rcx, [0x140101fd0]
lea r8d, [rdx + 3]
call qword [0x1404c5a88]
test eax, eax
jns 0x14006e6fe
mov rcx, qword [0x14014c808]
test rcx, rcx
je 0x14006e069
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov qword [0x14014c808], rdi
mov dword [0x14012c4dc], edi
jmp 0x14006dfba
cmp dword [0x14014d6c8], edi
je 0x14006e454
mov eax, dword [0x14014d630]
mov ecx, 0xac44
test eax, eax
mov dword [0x14012c538], r15d
xorps xmm0, xmm0
mov dword [0x14014d6a8], edi
cmovne ecx, dword [0x14014d638]
movups xmmword [rsp + 0x68], xmm0
mov dword [rsp + 0x76], pe_nt_image_headers64
mov dword [rsp + 0x68], 0x20001
lea r8d, [rcx*4]
mov word [rsp + 0x74], r11w
mov dword [rsp + 0x70], r8d
mov dword [rsp + 0x6c], ecx
je 0x14006e0dc
mov edx, dword [0x14014d634]
test edx, edx
jg 0x14006e0e6
mov eax, 0x88888889
mul ecx
shr edx, 4
movups xmmword [0x14014d58c], xmm0
mov r9d, 0x16
mov dword [0x14014d590], ecx
movups xmmword [0x14014d59c], xmm0
mov dword [0x14014d59a], 0x160010
xor ecx, ecx
movups xmm0, xmmword [0x140101e70]
lea eax, [r9 - 6]
mov dword [0x14014d58c], 0x2fffe
mov word [0x14014d598], r11w
mov dword [0x14014d594], r8d
movups xmm1, xmmword [0x14014d58c]
mov word [0x14014d59e], ax
mov qword [0x14012c4fc], rax
mov dword [0x14014d63c], edx
mov dword [0x14014d5a0], 3
movdqu xmmword [0x14014d5a4], xmm0
mov word [0x14012c4f8], r9w
movups xmmword [0x14012c4e8], xmm1
mov dword [0x14012c504], edi
call fcn.1400219b8
test eax, eax
js 0x14006e443
mov dword [rsp + 0x28], 0x30000
lea r9, [0x14006f5e8]
lea r8, [rsp + 0x68]
mov qword [rsp + 0x20], rdi
or edx, 0xffffffff
lea rcx, [0x14014d640]
call qword [0x1404c5778]
test eax, eax
jne 0x14006e443
movzx r9d, word [rsp + 0x74]
lea rdx, [0x14014d664]
mov rcx, r13
lea r8d, [rax + 2]
xorps xmm0, xmm0
mov eax, r9d
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm0
add rcx, r12
imul eax, dword [0x14014d63c]
mov dword [rdx], r15d
mov dword [rdx - 0x14], eax
add rdx, r12
sub r8, r15
jne 0x14006e1c4
mov eax, dword [0x14014d650]
lea r8, str.WindowsDxSoundWin.cpp
mov r9d, 0x7fc
lea ecx, [rax + rax]
call fcn.140057880
mov ecx, dword [0x14014d650]
add rcx, rax
mov qword [0x14014d648], rax
mov qword [0x14014d678], rcx
test rax, rax
jne 0x14006e24a
mov rcx, qword [0x14014d640]
call qword [0x1404c57a0]
mov rcx, qword [0x14014d640]
call qword [0x1404c5780]
mov qword [0x14014d640], rdi
jmp 0x14006e443
mov ebx, edi
mov rcx, qword [0x14014d640]
mov r8d, r12d
movsxd rax, ebx
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, r13
call qword [0x1404c5788]
test eax, eax
jne 0x14006e3e2
add ebx, r15d
lea r10d, [rax + 2]
cmp ebx, r10d
jl 0x14006e24c
mov ebx, edi
mov r14, r13
cmp ebx, r10d
jge 0x14006e46f
movzx edx, word [0x14014d59a]
movzx r8d, word [0x14014d598]
mov r9d, dword [0x14014d63c]
mov rcx, qword [r14]
shr rdx, 3
add rdx, qword [r14]
call fcn.140021a2c
mov rcx, qword [0x14014d640]
mov r8d, r12d
movsxd rax, ebx
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, r13
call qword [0x1404c5798]
test eax, eax
jne 0x14006e2df
add ebx, r15d
lea r10d, [rax + 2]
add r14, r12
jmp 0x14006e283
mov rcx, qword [0x14014d640]
call qword [0x1404c57a0]
mov rcx, qword [0x14014d640]
mov r8d, r12d
mov rdx, r13
call qword [0x1404c5790]
mov rcx, qword [0x14014d640]
lea rdx, [0x14014d678]
mov r8d, r12d
call qword [0x1404c5790]
mov rcx, qword [0x14014d640]
call qword [0x1404c5780]
mov rbx, qword [0x14014d648]
mov qword [0x14014d640], rdi
test rbx, rbx
je 0x14006e3cb
cmp dword [0x140245388], edi
jne 0x14006e355
lea rcx, [0x140245390]
call fcn.1400715c4
mov dword [0x140245388], r15d
mov r8d, 0x1b5
lea rdx, str.DxMemory.cpp
lea rcx, [0x140245390]
call fcn.140071650
cmp dword [0x140234b44], r15d
jne 0x14006e37c
call fcn.140057ce0
mov eax, dword [rbx - 4]
mov rdx, rbx
sub rdx, rax
cmp dword [rdx], 0x4d454d44
je 0x14006e395
or dword [0], 0xffffffff
test byte [rdx + 0x16], 4
jne 0x14006e3a3
or dword [0], 0xffffffff
mov rax, qword [rdx + 0x38]
mov rcx, rbx
sub qword [0x140234b30], rax
xor edx, edx
sub dword [0x140234b38], r15d
call fcn.140093ca4
lea rcx, [0x140245390]
call fcn.140071700
mov rax, r13
lea rcx, [0x14014d6a8]
mov qword [rax], rdi
add rax, r12
cmp rax, rcx
jl 0x14006e3d5
jmp 0x14006e43c
mov rcx, qword [0x14014d640]
call qword [0x1404c57a0]
cmp ebx, r15d
jne 0x14006e407
mov rcx, qword [0x14014d640]
mov r8d, r12d
mov rdx, r13
call qword [0x1404c5790]
mov rcx, qword [0x14014d640]
call qword [0x1404c5780]
mov rcx, qword [0x14014d648]
mov qword [0x14014d640], rdi
call fcn.140057b9c
mov rax, r13
lea rcx, [0x14014d6a8]
mov qword [rax], rdi
add rax, r12
cmp rax, rcx
jl 0x14006e431
lea rbx, [0x14014c850]
mov dword [0x14014d6c8], edi
mov dword [0x14012c538], edi
jmp 0x14006dfba
cmp dword [0x14014d6c4], edi
jne 0x14006e47b
call fcn.14006d288
test eax, eax
js 0x14006dfba
mov r10d, 2
mov qword [0x14014c850], r15
jmp 0x14006ecec
cmp dword [0x14014d6c0], edi
je 0x14006eae4
lea rax, [0x140101e80]
mov qword [rbp - 0x70], rdx
xorps xmm0, xmm0
mov qword [rsp + 0x70], rax
lea rcx, str.XAudio2_8.dll
mov qword [rbp - 0x68], rdi
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x68], r8
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x14014c818], rax
test rax, rax
je 0x14006e5b6
lea rdx, str.XAudio2Create
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14014c818]
lea rdx, str.CreateAudioVolumeMeter
mov qword [0x14014c820], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14014c818]
lea rdx, str.CreateAudioReverb
mov qword [0x14014c828], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14014c818]
lea rdx, str.X3DAudioInitialize
mov qword [0x14014c830], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14014c818]
lea rdx, str.X3DAudioCalculate
mov qword [0x14014c840], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r8d, esi
xor edx, edx
mov rcx, rbx
mov qword [0x14014c848], rax
call qword [0x14014c820]
test eax, eax
js 0x14006e597
mov rcx, qword [0x14014c850]
lea rdx, [0x14014d508]
mov r9d, dword [0x14012b7d8]
xor r8d, r8d
mov dword [rsp + 0x38], 6
mov qword [rsp + 0x30], rdi
mov rax, qword [rcx]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
call qword [rax + 0x38]
test eax, eax
jns 0x14006e874
mov rcx, qword [0x14014c850]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov qword [0x14014c850], rdi
mov dword [0x14014d6c0], edi
jmp 0x14006dfba
mov rbx, rdi
lea rax, [0x140101e90]
lea r14, [0x14014c850]
xor edx, edx
mov qword [rsp + 0x20], r14
lea r9, [0x140101fc0]
mov rcx, rax
lea r8d, [rdx + 0x17]
call qword [0x1404c5a88]
test eax, eax
jns 0x14006e5f9
add rbx, r15
mov rax, rbx
add rax, rax
mov rax, qword [rsp + rax*8 + 0x68]
test rax, rax
jne 0x14006e5c7
add rbx, rbx
cmp qword [rsp + rbx*8 + 0x68], rdi
je 0x14006e6ec
mov rcx, qword [0x14014c850]
mov r8d, esi
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x28]
test eax, eax
js 0x14006e6df
mov rbx, rdi
lea rcx, str.X3DAudio1_7.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x14014c838], rax
test rax, rax
jne 0x14006e653
add rbx, r15
mov rcx, qword [rbp + rbx*8 - 0x70]
test rcx, rcx
jne 0x14006e62b
test rax, rax
je 0x14006e6df
lea rdx, str.X3DAudioInitialize
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14014c838]
lea rdx, str.X3DAudioCalculate
mov qword [0x14014c840], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14014c850]
lea rdx, [0x14014d500]
mov r9d, dword [0x14012b7d8]
xor r8d, r8d
mov qword [0x14014c848], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rcx]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
call qword [rax + 0x50]
test eax, eax
jns 0x14006e8a5
mov rcx, qword [0x14014c838]
test rcx, rcx
je 0x14006e6df
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x14014c840], rdi
mov qword [0x14014c848], rdi
mov qword [0x14014c838], rdi
mov rcx, qword [0x14014c850]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov qword [0x14014c850], rdi
mov dword [0x14014d6c0], edi
jmp 0x14006dfb3
lea rax, [rsp + 0x48]
mov r8d, r15d
lea r9, [0x140101f50]
mov qword [rsp + 0x20], rax
xor edx, edx
lea rcx, [0x140101f20]
call qword [0x1404c5a88]
test eax, eax
jns 0x14006e72f
call fcn.140019390
jmp 0x14006eb2e
mov rcx, qword [rsp + 0x48]
lea r8, [rsp + 0x50]
lea rdx, [0x140101f90]
mov rax, qword [rcx]
call qword [rax]
test eax, eax
jns 0x14006e756
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
jmp 0x14006e725
mov ebx, 0x134
lea rcx, [rbp + 0x20]
mov r8d, ebx
xor edx, edx
call fcn.1400bfdc0
mov dword [rbp + 0x20], ebx
xor edx, edx
mov ebx, edi
jmp 0x14006e78c
lea r8, [rbp + 0x54]
mov edx, 0x106
lea rcx, [rbp + 0x450]
call fcn.14005510c
add ebx, r15d
mov edx, ebx
mov rcx, qword [rsp + 0x50]
lea r8, [rbp + 0x20]
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp eax, r15d
jne 0x14006e772
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [0x14014c810]
lea rdx, [rsp + 0x68]
xor eax, eax
mov qword [rsp + 0x38], rdx
cmp dword [0x14012c4dc], 2
lea rdx, [rsp + 0x48]
mov qword [rbp - 0x78], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
lea r8d, [rax + 0x3f]
mov dword [rsp + 0x68], r14d
mov dword [rsp + 0x30], r8d
lea r14d, [r8 - 0x37]
movups xmmword [rsp + 0x78], xmm0
mov dword [rsp + 0x74], r8d
mov eax, r15d
cmove eax, r14d
mov dword [rsp + 0x6c], r15d
mov dword [rsp + 0x70], 5
lea r8, [0x14014c850]
mov dword [rsp + 0x7c], 0xac44
xor r9d, r9d
mov qword [0x14014c850], rdi
mov qword [rsp + 0x48], rdi
mov r10, qword [rcx]
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], eax
call qword [r10 + 0x160]
test eax, eax
jne 0x14006e725
mov rcx, qword [0x14014c810]
lea r9d, [r14 - 4]
lea r8, [0x14012c4e4]
lea rdx, [0x140101eb0]
mov rax, qword [rcx]
call qword [rax + 0x108]
jmp 0x14006ece6
lea rsi, [0x1400e7280]
mov r14d, 0x1e
lea rbx, [0x14014ce70]
mov rdx, rbx
mov rcx, rsi
call fcn.14006cec0
add rbx, 0x38
add rsi, 0x34
sub r14, r15
jne 0x14006e888
jmp 0x14006ead8
movaps xmm14, xmmword [0x1400f3d80]
lea rsi, [0x1400e7280]
movsd xmm12, qword [0x1400f3d30]
lea r12, [0x14012b7d0]
movsd xmm11, qword [0x1400f3b90]
mov r14d, 8
movss xmm6, dword [0x1400f3cc8]
mov rbx, rdi
movss xmm10, dword [0x1400f3cb8]
movss xmm7, dword [0x1400f3cb4]
movss xmm9, dword [0x1400f3c88]
lea r13d, [r14 - 0x10]
movss xmm8, dword [0x1400f3c84]
movss xmm13, dword [0x1400f3c8c]
movss xmm15, dword [0x1400f3c50]
movq xmm1, qword [rbx + rsi + 4]
cvtdq2ps xmm2, xmm1
mov dword [rbx + r12 + 0x21091], 0x1b060605
mov byte [rbx + r12 + 0x21095], 0x1b
mov dword [rbx + r12 + 0x210b8], 0x42c80000
mov byte [rbx + r12 + 0x21099], 4
movss xmm1, dword [rbx + rsi + 0x14]
comiss xmm1, dword [0x1400f3ac0]
mov byte [rbx + r12 + 0x2109b], 6
divps xmm2, xmm14
cvtps2pd xmm0, xmm1
movss dword [rbx + r12 + 0x210a0], xmm2
shufps xmm2, xmm2, 0x55
movss dword [rbx + r12 + 0x210a4], xmm2
jb 0x14006e9be
call fcn.1400c4270
mulsd xmm0, xmm12
mov ecx, r14d
cvttsd2si edx, xmm0
movss xmm0, dword [rbx + rsi + 0x10]
mulss xmm0, dword [rbx + rsi + 0x14]
cmp edx, r13d
cmovl edx, r13d
test edx, edx
lea eax, [r14 + rdx]
mov dl, r14b
movzx eax, al
cmovs ecx, eax
mov byte [rbx + r12 + 0x21098], cl
jmp 0x14006e9f0
call fcn.1400c4270
mulsd xmm0, xmm11
mov edx, r14d
mov byte [rbx + r12 + 0x21098], r14b
cvttsd2si ecx, xmm0
movss xmm0, dword [rbx + rsi + 0x10]
cmp ecx, r13d
cmovl ecx, r13d
test ecx, ecx
lea eax, [r14 + rcx]
movzx eax, al
cmovs edx, eax
mov byte [rbx + r12 + 0x2109a], dl
movss dword [rbx + r12 + 0x210b0], xmm0
movss xmm1, dword [rbx + rsi + 0x1c]
mulss xmm1, xmm6
comiss xmm1, xmm10
jb 0x14006ea17
movaps xmm0, xmm7
jmp 0x14006ea23
movss xmm0, dword [0x1400f3ac0]
maxss xmm0, xmm1
cvttss2si rax, xmm0
movss xmm0, dword [rbx + rsi + 0x24]
mulss xmm0, xmm6
mov dword [rbx + r12 + 0x2108c], eax
comiss xmm0, xmm9
jb 0x14006ea44
movaps xmm0, xmm8
cvttss2si eax, xmm0
movd xmm0, dword [rbx + rsi + 0x18]
cvtdq2ps xmm0, xmm0
mov byte [rbx + r12 + 0x21090], al
divss xmm0, xmm13
movss dword [rbx + r12 + 0x210a8], xmm0
movd xmm0, dword [rbx + rsi + 0x20]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm13
movss dword [rbx + r12 + 0x210ac], xmm0
movss xmm0, dword [rbx + rsi + 0x28]
mulss xmm0, xmm15
divss xmm0, xmm13
cvttss2si eax, xmm0
mov byte [rbx + r12 + 0x21096], al
mov byte [rbx + r12 + 0x21097], al
mov eax, dword [rbx + rsi + 0x2c]
mov dword [rbx + r12 + 0x210b4], eax
mov eax, dword [rbx + rsi + 0x30]
mov dword [rbx + r12 + 0x2109c], eax
mov eax, dword [rbx + rsi]
mov dword [rbx + r12 + 0x21088], eax
add rbx, 0x34
cmp rbx, 0x618
jl 0x14006e917
mov dword [0x14012c53c], r15d
jmp 0x14006ece6
xor edx, edx
mov qword [rsp + 0x20], rbx
lea r9, [0x140101f10]
lea rcx, [0x140101ef0]
lea r8d, [rdx + 0x17]
call qword [0x1404c5a88]
test eax, eax
js 0x14006eb27
mov rcx, qword [0x14014c850]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
jns 0x14006eb98
mov rcx, qword [0x14014c850]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov qword [0x14014c850], rdi
mov eax, esi
mov rcx, qword [rbp + 0x560]
xor rcx, rsp
call fcn.1400bdaf0
lea r11, [rsp + 0x710]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rax, qword [0x14014c850]
mov rbx, qword [rax]
call qword [0x1404c5b68]
mov rcx, qword [0x14014c850]
mov r8d, 2
mov rdx, rax
call qword [rbx + r12]
test eax, eax
jne 0x14006eb1a
xor eax, eax
lea r8, [0x14014d6b0]
mov qword [rbp - 0x78], rax
lea rdx, [rsp + 0x68]
mov eax, dword [0x14014d6cc]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
neg eax
mov dword [rsp + 0x68], r14d
movups xmmword [rsp + 0x78], xmm0
sbb ecx, ecx
mov r14d, 8
and ecx, r14d
xor r9d, r9d
add ecx, r15d
mov dword [rsp + 0x6c], ecx
mov rcx, qword [0x14014c850]
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
jne 0x14006eb1a
xor edx, edx
lea r8d, [r14 + 0x58]
lea rcx, [rbp - 0x40]
call fcn.1400bfdc0
mov rcx, qword [0x14014c850]
lea rdx, [rbp - 0x40]
mov dword [rbp - 0x40], 0x60
mov rax, qword [rcx]
call qword [rax + 0x20]
mov r8d, dword [rbp - 0x3c]
mov r10d, 0xac44
mov r9d, r8d
xorps xmm0, xmm0
and r9d, 2
cmp dword [rbp - 0x34], r10d
movups xmmword [rbp - 0x58], xmm0
cmovb r10d, dword [rbp - 0x34]
and r8d, r14d
xor eax, eax
mov word [rbp - 0x58], r15w
mov word [rbp - 0x48], ax
mov eax, r9d
neg eax
mov dword [rbp - 0x54], r10d
mov eax, r8d
sbb dx, dx
neg dx
add dx, r15w
neg eax
mov word [rbp - 0x56], dx
mov eax, r8d
sbb cx, cx
and cx, r14w
add cx, r14w
mov word [rbp - 0x4a], cx
neg eax
movzx eax, dx
lea rdx, [rbp - 0x58]
sbb cx, cx
neg cx
add cx, r15w
movzx ecx, cx
imul ecx, eax
neg r8d
mov word [rbp - 0x4c], cx
sbb ecx, ecx
neg ecx
add ecx, r15d
neg r9d
sbb eax, eax
neg eax
add eax, r15d
imul ecx, eax
imul ecx, r10d
mov dword [rbp - 0x50], ecx
mov rcx, qword [0x14014d6b0]
mov rax, qword [rcx]
call qword [rax + 0x70]
mov r10d, 2
cmp dword [0x14014d6c8], edi
jne 0x14006efc8
cmp dword [0x14014d6c4], edi
je 0x14006efc8
cmp dword [0x14014d6c0], edi
je 0x14006ed9c
cmp qword [0x14014c818], rdi
jne 0x14006ed47
mov rcx, qword [0x14014c850]
lea r8, [rbp + 0x20]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x20]
movzx eax, word [rbp + 0x426]
mov ecx, dword [rbp + 0x438]
mov dword [0x14012b7d4], eax
mov dword [0x14014d51c], ecx
jmp 0x14006ed82
mov rcx, qword [0x14014d508]
lea rdx, [0x14014d51c]
mov rax, qword [rcx]
call qword [rax + 0x98]
mov ecx, dword [0x14014d51c]
mov eax, edi
mov dword [0x14012b7d4], edi
bt ecx, eax
jae 0x14006ed7a
add edi, r15d
mov dword [0x14012b7d4], edi
add eax, r15d
cmp eax, 0x20
jl 0x14006ed6c
movss xmm1, dword [0x1400f3cbc]
lea r8, [0x14014d520]
call qword [0x14014c840]
jmp 0x14006efc8
xor eax, eax
lea r8, [0x14014d6b8]
mov qword [rbp - 0x78], rax
lea rdx, [rsp + 0x68]
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
lea ebx, [rax + 0x28]
mov dword [rbp - 0x62], pe_nt_image_headers64
mov eax, dword [0x14014d6cc]
movups xmmword [rsp + 0x68], xmm0
neg eax
mov dword [rbp - 0x70], 0x10001
movups xmmword [rsp + 0x78], xmm0
sbb ecx, ecx
mov dword [rbp - 0x6c], 0x5622
and ecx, 6
mov word [rbp - 0x64], r10w
add ecx, r10d
mov dword [rbp - 0x68], 0xac44
or ecx, 0x180e0
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0x6c], ecx
lea rax, [rbp - 0x70]
mov rcx, qword [0x14014c850]
xor r9d, r9d
mov dword [rsp + 0x70], 0x4650
mov qword [rsp + 0x78], rax
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
je 0x14006ee97
xor eax, eax
lea r8, [0x14014d6b8]
mov qword [rbp - 0x78], rax
lea rdx, [rsp + 0x68]
mov eax, dword [0x14014d6cc]
xorps xmm0, xmm0
neg eax
movzx eax, word [rbp - 0x64]
sbb ecx, ecx
xor r9d, r9d
movups xmmword [rsp + 0x68], xmm0
and ecx, 6
mov dword [rsp + 0x68], ebx
add ecx, 0xc2
mov dword [rsp + 0x6c], ecx
imul ecx, eax, 0x2328
lea rax, [rbp - 0x70]
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x70], ecx
mov rcx, qword [0x14014c850]
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
je 0x14006ee97
mov qword [0x14014d6b8], rdi
jmp 0x14006ef5b
mov rcx, qword [0x14014d6b8]
lea rdx, [rsp + 0x40]
mov r8d, dword [rsp + 0x70]
lea r9, [rsp + 0x60]
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x58]
mov rax, qword [rcx]
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x44]
mov qword [rsp + 0x20], rdx
xor edx, edx
call qword [rax + 0x58]
test eax, eax
je 0x14006eeea
mov rcx, qword [0x14014d6b8]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov qword [0x14014d6b8], rdi
mov r8d, dword [rsp + 0x44]
test r8, r8
je 0x14006ef00
mov rcx, qword [rsp + 0x60]
xor edx, edx
call fcn.1400bfdc0
mov r9, qword [rsp + 0x58]
test r9, r9
je 0x14006ef23
mov r8d, dword [rsp + 0x40]
test r8, r8
je 0x14006ef23
xor edx, edx
mov rcx, r9
call fcn.1400bfdc0
mov r9, qword [rsp + 0x58]
mov rcx, qword [0x14014d6b8]
mov eax, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x60]
mov r10, qword [rcx]
mov dword [rsp + 0x20], eax
call qword [r10 + 0x98]
mov rcx, qword [0x14014d6b8]
mov r9d, r15d
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x60]
mov rbx, qword [0x14014c850]
test rbx, rbx
je 0x14006efc8
xor edx, edx
lea rcx, [rbp - 0x40]
lea r8d, [rdx + 0x60]
call fcn.1400bfdc0
mov dword [rbp - 0x40], 0x60
lea rdx, [rbp - 0x40]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
lea rcx, str.DSound.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
je 0x14006efc8
lea rdx, str.DirectSoundEnumerateW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14006efbf
xor edx, edx
lea rcx, [fcn.14004187c]
call rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
movups xmm1, xmmword [0x1400e7928]
and dword [0x14014d56c], 0
lea rax, [0x14014d534]
movups xmm0, xmmword [0x1400e7918]
and dword [0x14014d580], 0
and dword [0x14014d554], 0
and dword [0x14014d558], 0
and dword [0x14014d560], 0
and dword [0x14014d568], 0
movups xmmword [0x14014d544], xmm1
mov qword [0x14014d584], rax
xor eax, eax
xorps xmm1, xmm1
mov dword [0x14014d55c], 0x3f800000
movaps xmmword [0x14014d570], xmm1
movups xmmword [0x14014d534], xmm0
mov dword [0x14014d564], 0x3f800000
jmp 0x14006eb30