Function at 0x1000c401
Capabilities:
Get process heap flags

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff8
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, edi
sub esp, 0x48
mov eax, dword [edi]
movzx ecx, byte [0x10010068]
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 4]
and ecx, 8
mov edi, dword [edi + 0x10]
mov dword [ebp - 0x20], eax
jne 0x1000c030
cmp edx, 0xa
jbe 0x1000c018
lea eax, [edx - 0x6001]
cmp eax, 0x51
ja case.0x1000c085.24578
jmp dword [eax*4 + 0x1001371c]
test edx, edx
je case.0x1000c085.24578
sub edx, 3
cmp edx, 7
ja case.0x1000c5f4.5
jmp dword [edx*4 + 0x10013864]
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], esi
mov dword [ebp - 0x24], edx
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0xc], str.__08Ix__p__u__08Ix__08Ix___n
mov dword [esp + 8], str.PCM_DriverProc
mov dword [esp + 4], 0x10010068
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.1000b080
mov edx, dword [ebp - 0x24]
cmp edx, 0xa
jbe 0x1000c5e0
lea eax, [edx - 0x6001]
cmp eax, 0x51
ja case.0x1000c085.24578
jmp dword [eax*4 + 0x10013884]
mov dword [ebx + 0x10], edi
mov dword [ebx + 0xc], esi
mov dword [ebx + 8], edx
mov eax, dword [ebp - 0x20]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
jmp dword [sym.imp.winmm.dll_DefDriverProc]
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Wine_Driver
mov dword [esp + 4], str.MSACM_PCM_filter__
mov dword [esp], 0
call dword [sym.imp.user32.dll_MessageBoxA]
sub esp, 0x10
mov eax, 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret 0x14
test byte [0x10010068], 4
je case.0x1000c085.24596
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], str.Unsupported_query__08lx_n
mov dword [esp + 8], str.PCM_FormatDetails
mov dword [esp + 4], 0x10010068
mov dword [esp], 2
call fcn.1000b080
lea esi, [esi]
mov eax, 8
jmp 0x1000c0e5
mov eax, 2
jmp 0x1000c0e5
test byte [0x10010068], 8
je case.0x1000c028.3
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.__p___p__n
mov dword [esp + 8], str.PCM_drvOpen
mov dword [esp + 4], 0x10010068
mov dword [esp], 3
call fcn.1000b080
test edi, edi
je case.0x1000c5f4.5
cmp dword [edi + 4], 0x63647561
jne case.0x1000c085.24577
mov edx, dword [edi + 8]
xor eax, eax
test edx, edx
sete al
jmp 0x1000c0e5
test byte [0x10010068], 8
jne 0x1000c7b0
movdqa xmm0, xmmword [0x10013ef0]
mov eax, 0x63647561
xor edx, edx
mov dword [esi + 0xc], 0x260001
mov dword [esi + 4], eax
lea eax, [esi + 0x28]
mov ebx, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov dword [esi + 8], edx
movups xmmword [esi + 0x10], xmm0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esp + 0x14], 0x20
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.MS_PCM
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
lea eax, [esi + 0x68]
sub esp, 0x18
mov dword [esp + 0x14], pe_nt_image_headers32
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.Wine_PCM_converter
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
lea eax, [esi + 0x168]
sub esp, 0x18
mov dword [esp + 0x14], 0x50
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.Brought_to_you_by_the_Wine_team...
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
lea eax, [esi + 0x208]
sub esp, 0x18
mov dword [esp + 0x14], pe_nt_image_headers32
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.Refer_to_LICENSE_file
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
xor eax, eax
sub esp, 0x18
mov word [esi + 0x308], ax
xor eax, eax
jmp 0x1000c0e5
test byte [0x10010068], 8
jne 0x1000c6e0
cmp edi, 1
je 0x1000c968
cmp edi, 2
je 0x1000ccd0
test edi, edi
jne 0x1000cc90
mov eax, dword [esi + 4]
test eax, eax
jne 0x1000c972
movdqa xmm0, xmmword [0x10013f00]
xor edi, edi
mov dword [esi + 0x14], 0x24
xor eax, eax
mov word [esi + 0x18], di
movups xmmword [esi + 4], xmm0
jmp 0x1000c0e5
movzx ecx, byte [0x10010068]
and ecx, 8
mov eax, dword [esi + 0x20]
xor edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 4]
movzx ebx, word [eax + 0xc]
mov eax, dword [edi + 0x10]
div ebx
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 8]
movzx ebx, word [eax + 0xc]
mov eax, dword [edi + 0x20]
div ebx
mov dword [ebp - 0x14], eax
test cl, cl
jne 0x1000c7e0
mov eax, dword [edi + 0x2c]
test eax, 0xffffffcb
je 0x1000c3a0
test byte [0x10010068], 1
je 0x1000c3a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Unsupported_fdwConvert___08lx___ignoring_it_n
mov dword [esp + 8], str.PCM_StreamConvert
mov dword [esp + 4], 0x10010068
mov dword [esp], 0
call fcn.1000b080
lea esi, [esi]
nop
mov edx, dword [edi + 0x1c]
mov eax, dword [edi + 0xc]
test byte [esi + 0x1c], 1
jne 0x1000c600
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
cmp ebx, ecx
jae 0x1000cc80
mov dword [ebp - 0x14], ebx
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov dword [esp], eax
mov eax, dword [ebp - 0x1c]
call dword [eax]
mov eax, dword [esi + 4]
movzx eax, word [eax + 0xc]
imul eax, dword [ebp - 0x18]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 8]
movzx eax, word [eax + 0xc]
imul eax, dword [ebp - 0x14]
mov dword [edi + 0x24], eax
xor eax, eax
jmp 0x1000c0e5
test byte [0x10010068], 8
jne 0x1000c6b0
mov edx, dword [esi + 0x20]
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
xor eax, eax
sub esp, 0xc
jmp 0x1000c0e5
test byte [0x10010068], 8
jne 0x1000c780
mov ebx, dword [esi + 0x18]
and ebx, 2
mov dword [ebp - 0x1c], ebx
jne 0x1000cfb9
mov eax, dword [esi + 4]
movzx edx, word [eax + 0xe]
cmp dx, 0x10
je 0x1000c990
cmp dx, 0x18
je 0x1000ccf0
cmp dx, 8
je 0x1000cce0
test byte [0x10010068], 1
je case.0x1000c085.24596
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.Unsupported_source_bit_depth:__u_n
mov dword [esp + 8], str.PCM_StreamOpen
mov dword [esp + 4], 0x10010068
mov dword [esp], 0
call fcn.1000b080
jmp case.0x1000c085.24596
test byte [0x10010068], 8
jne 0x1000c750
cmp dword [esi + 0xc], 0xf
jbe 0x1000c9f8
cmp dword [esi + 0x14], 0xf
jbe 0x1000c9f8
mov eax, dword [esi + 8]
call fcn.1000bf30
cmp eax, 0xffffffff
je 0x1000c9f8
mov eax, dword [esi + 4]
test eax, 0x20000
jne 0x1000c4fd
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x10]
movzx edx, word [edx + 2]
mov word [eax + 2], dx
mov eax, dword [esi + 4]
test eax, 0x40000
jne 0x1000c513
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x10]
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
mov eax, dword [esi + 4]
test eax, 0x80000
jne 0x1000c52b
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x10]
movzx edx, word [edx + 0xe]
mov word [eax + 0xe], dx
mov eax, dword [esi + 4]
test eax, 0x10000
jne 0x1000cd40
mov eax, dword [esi + 8]
movzx eax, word [eax]
cmp ax, 1
jne 0x1000ce8a
mov eax, dword [esi + 0x10]
mov edx, 1
mov word [eax], dx
mov eax, dword [esi + 0x10]
call fcn.1000bf30
cmp eax, 0xffffffff
je 0x1000c9f8
mov edx, dword [esi + 0x10]
movzx eax, word [edx + 2]
movzx ecx, word [edx + 0xe]
imul eax, ecx
sar eax, 3
mov word [edx + 0xc], ax
mov eax, dword [esi + 0x10]
movzx edx, word [eax + 0xc]
imul edx, dword [eax + 4]
mov dword [eax + 8], edx
xor eax, eax
jmp 0x1000c0e5
test byte [0x10010068], 8
jne 0x1000c718
test edi, edi
je 0x1000c638
cmp edi, 1
jne 0x1000c0f8
mov eax, dword [esi + 0x10]
call fcn.1000bf30
cmp eax, 0xffffffff
je 0x1000cf1f
mov eax, 1
mov edx, 2
xor ecx, ecx
mov dword [esi + 0x14], 0x10
mov dword [esi + 8], eax
xor eax, eax
mov dword [esi + 0xc], edx
mov word [esi + 0x18], cx
jmp 0x1000c0e5
test edx, edx
je case.0x1000c085.24578
sub edx, 3
cmp edx, 7
ja case.0x1000c5f4.5
jmp dword [edx*4 + 0x100139cc]
lea ecx, [ebp - 0x14]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov edx, dword [esi + 8]
mov edx, dword [edx + 4]
mov dword [esp + 4], eax
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x18]
mov dword [esp + 8], edx
mov eax, dword [esi + 4]
mov eax, dword [eax + 4]
mov dword [esp], eax
mov eax, dword [ebp - 0x1c]
call dword [eax]
jmp 0x1000c3d1
cmp dword [esi + 4], 0x23
ja 0x1000cf9c
mov eax, dword [esi + 0x10]
mov ebx, 1
mov word [eax], bx
mov eax, dword [esi + 4]
mov edx, dword [esi + 0x10]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x10013d40]
mov word [edx + 2], ax
mov eax, dword [esi + 4]
mov edx, dword [esi + 0x10]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x10013d48]
mov dword [edx + 4], eax
mov eax, dword [esi + 4]
mov edx, dword [esi + 0x10]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x10013d44]
mov word [edx + 0xe], ax
mov edx, dword [esi + 0x10]
movzx eax, word [edx + 2]
movzx ecx, word [edx + 0xe]
imul eax, ecx
sar eax, 3
mov word [edx + 0xc], ax
mov eax, dword [esi + 0x10]
movzx edx, word [eax + 0xc]
imul edx, dword [eax + 4]
mov dword [eax + 8], edx
jmp 0x1000c5bb
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x1001330e
mov dword [esp + 8], str.PCM_StreamClose
mov dword [esp + 4], 0x10010068
mov dword [esp], 3
call fcn.1000b080
jmp case.0x1000c00a.24653
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.__p___08lx__n
mov dword [esp + 8], str.PCM_FormatTagDetails
mov dword [esp + 4], 0x10010068
mov dword [esp], 3
call fcn.1000b080
jmp case.0x1000c00a.24601
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.__p___08lx__n
mov dword [esp + 8], str.PCM_FormatDetails
mov dword [esp + 4], 0x10010068
mov dword [esp], 3
call fcn.1000b080
jmp case.0x1000c00a.24602
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x1001330e
mov dword [esp + 8], str.PCM_FormatSuggest
mov dword [esp + 4], 0x10010068
mov dword [esp], 3
call fcn.1000b080
jmp case.0x1000c00a.24603
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x1001330e
mov dword [esp + 8], str.PCM_StreamOpen
mov dword [esp + 4], 0x10010068
mov dword [esp], 3
call fcn.1000b080
jmp case.0x1000c00a.24652
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x1001330e
mov dword [esp + 8], str.PCM_DriverDetails
mov dword [esp + 4], 0x10010068
mov dword [esp], 3
call fcn.1000b080
jmp case.0x1000c00a.24586
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.__p___p__n
mov dword [esp + 8], str.PCM_StreamConvert
mov dword [esp + 4], 0x10010068
mov dword [esp], 3
call fcn.1000b080
test byte [0x10010068], 8
je 0x1000c35c
mov eax, dword [edi + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 0xc], str.nsrc_ld_adsh__cbSrcLength_ld_n
mov dword [esp + 8], str.PCM_StreamConvert
mov dword [esp + 4], 0x10010068
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.1000b080
test byte [0x10010068], 8
je 0x1000c35c
mov eax, dword [edi + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [esp + 0xc], str.ndst_ld_adsh__cbDstLength_ld_n
mov dword [esp + 8], str.PCM_StreamConvert
mov dword [esp + 4], 0x10010068
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.1000b080
test byte [0x10010068], 8
je 0x1000c35c
mov eax, dword [esi + 4]
movzx edx, word [eax + 0x10]
mov dword [esp + 0x28], edx
movzx edx, word [eax + 0xe]
mov dword [esp + 0x24], edx
movzx edx, word [eax + 0xc]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x18], edx
movzx edx, word [eax + 2]
mov dword [esp + 0x14], edx
movzx eax, word [eax]
mov dword [esp + 0xc], 0x100135f4
mov dword [esp + 8], str.PCM_StreamConvert
mov dword [esp + 4], 0x10010068
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.1000b080
test byte [0x10010068], 8
je 0x1000c35c
mov eax, dword [esi + 8]
movzx edx, word [eax + 0x10]
mov dword [esp + 0x28], edx
movzx edx, word [eax + 0xe]
mov dword [esp + 0x24], edx
movzx edx, word [eax + 0xc]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x18], edx
movzx edx, word [eax + 2]
mov dword [esp + 0x14], edx
movzx eax, word [eax]
mov dword [esp + 0xc], 0x10013670
mov dword [esp + 8], str.PCM_StreamConvert
mov dword [esp + 4], 0x10010068
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.1000b080
jmp 0x1000c35c
cmp dword [esi + 8], 1
je 0x1000c302
test byte [0x10010068], 4
jne 0x1000cec4
mov eax, 0x200
jmp 0x1000c0e5
mov edi, 0xc
mov ecx, dword [esi + 8]
movzx edx, word [ecx + 0xe]
cmp dx, 0x10
je 0x1000ce70
cmp dx, 0x18
je 0x1000ce20
cmp dx, 8
je 0x1000cd90
test byte [0x10010068], 1
je case.0x1000c085.24596
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.Unsupported_destination_bit_depth:__u_n
mov dword [esp + 8], str.PCM_StreamOpen
mov dword [esp + 4], 0x10010068
mov dword [esp], 0
call fcn.1000b080
jmp case.0x1000c085.24596
test byte [0x10010068], 4
je 0x1000c97f
mov dword [esp + 0xc], str.not_possible_n
mov dword [esp + 8], str.PCM_FormatSuggest
mov dword [esp + 4], 0x10010068
mov dword [esp], 2
call fcn.1000b080
jmp 0x1000c97f
test byte [0x10010068], 8
je case.0x1000c5f4.5
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0xc], str.__ld__n
mov dword [esp + 8], str.PCM_drvClose
mov dword [esp + 4], 0x10010068
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.1000b080
jmp case.0x1000c5f4.5
mov eax, dword [esi + 4]
movzx edx, word [eax + 0xc]
mov eax, dword [esi + 8]
neg edx
movzx ebx, word [eax + 0xc]
neg ebx
mov eax, dword [edi + 4]
test eax, eax
je 0x1000cbd0
cmp eax, 1
jne 0x1000cb90
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
and ebx, dword [edi + 0xc]
mov eax, dword [eax + 8]
mov ecx, dword [ecx + 8]
test eax, eax
je 0x1000cfd6
pxor xmm1, xmm1
pxor xmm0, xmm0
pxor xmm2, xmm2
pxor xmm5, xmm5
add eax, 0x80000000
add ebx, 0x80000000
movsd xmm3, qword [0x10013f10]
cvtsi2sd xmm1, eax
lea eax, [ecx - 0x80000000]
cvtsi2sd xmm2, eax
cvtsi2sd xmm0, ebx
addsd xmm1, xmm3
addsd xmm2, xmm3
addsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
subsd xmm0, qword [0x10013f18]
divsd xmm0, xmm1
movddup xmm1, xmm3
movapd xmm2, xmm1
movsd xmm5, xmm0
movapd xmm0, xmm1
cmplepd xmm2, xmm5
andpd xmm0, xmm2
subpd xmm5, xmm0
pslld xmm2, 0x1f
cvttpd2dq xmm5, xmm5
pxor xmm5, xmm2
movd eax, xmm5
and eax, edx
mov dword [edi + 8], eax
xor eax, eax
jmp 0x1000c0e5
mov eax, dword [esi + 4]
movzx edx, word [eax + 0xc]
mov eax, dword [esi + 8]
neg edx
movzx ebx, word [eax + 0xc]
neg ebx
test byte [0x10010068], 8
je 0x1000ca7f
mov dword [ebp - 0x1c], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.__p___p__n
mov dword [esp + 8], str.PCM_StreamSize
mov dword [esp + 4], 0x10010068
mov dword [esp], 3
call fcn.1000b080
mov edx, dword [ebp - 0x1c]
jmp 0x1000ca7f
test byte [0x10010068], 4
je case.0x1000c085.24596
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Unsupported_query__08lx_n
mov dword [esp + 8], str.PCM_StreamSize
mov dword [esp + 4], 0x10010068
mov dword [esp], 2
call fcn.1000b080
jmp case.0x1000c085.24596
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
and edx, dword [edi + 8]
mov eax, dword [eax + 8]
mov ecx, dword [ecx + 8]
test eax, eax
je 0x1000cfd6
pxor xmm1, xmm1
pxor xmm0, xmm0
pxor xmm2, xmm2
pxor xmm6, xmm6
add eax, 0x80000000
add edx, 0x80000000
movsd xmm3, qword [0x10013f10]
cvtsi2sd xmm1, eax
lea eax, [ecx - 0x80000000]
cvtsi2sd xmm2, eax
cvtsi2sd xmm0, edx
addsd xmm1, xmm3
addsd xmm2, xmm3
addsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
subsd xmm0, qword [0x10013f18]
divsd xmm0, xmm1
movddup xmm1, xmm3
movapd xmm2, xmm1
movsd xmm6, xmm0
movapd xmm0, xmm1
cmplepd xmm2, xmm6
andpd xmm0, xmm2
subpd xmm6, xmm0
pslld xmm2, 0x1f
cvttpd2dq xmm6, xmm6
pxor xmm6, xmm2
movd eax, xmm6
and eax, ebx
mov dword [edi + 0xc], eax
xor eax, eax
jmp 0x1000c0e5
mov dword [ebp - 0x18], ecx
mov ebx, ecx
jmp 0x1000c3c1
test byte [0x10010068], 4
je case.0x1000c085.24596
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], str.Unsupported_query__08lx_n
mov dword [esp + 8], str.PCM_FormatTagDetails
mov dword [esp + 4], 0x10010068
mov dword [esp], 2
call fcn.1000b080
jmp case.0x1000c085.24596
cmp dword [esi + 8], 1
jbe 0x1000c302
jmp 0x1000c972
xor edi, edi
jmp 0x1000c995
movzx edx, word [eax + 2]
mov edi, 0x18
movzx ecx, word [eax + 0xc]
lea edx, [edx + edx*2]
cmp ecx, edx
je 0x1000c995
test byte [0x10010068], 1
je case.0x1000c085.24596
mov dword [esp + 0xc], str.Source:_24_bit_samples_must_be_packed_n
mov dword [esp + 8], str.PCM_StreamOpen
mov dword [esp + 4], 0x10010068
mov dword [esp], 0
call fcn.1000b080
jmp case.0x1000c085.24596
mov eax, dword [esi + 0x10]
movzx edx, word [eax]
cmp dx, 1
je 0x1000c554
test byte [0x10010068], 4
je 0x1000c97f
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.destination_format_0x_x_not_supported_n
mov dword [esp + 8], str.PCM_FormatSuggest
mov dword [esp + 4], 0x10010068
mov dword [esp], 2
call fcn.1000b080
jmp 0x1000c97f
movzx edx, word [ecx + 2]
cmp word [eax + 2], 1
jne 0x1000cd9e
add edi, 2
xor eax, eax
cmp dx, 1
mov dword [esp + 8], 4
sete al
mov dword [esp + 4], 0
add edi, eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov edx, eax
test eax, eax
je 0x1000cf92
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov ebx, dword [ecx + 4]
cmp dword [eax + 4], ebx
je 0x1000ce7c
mov edi, dword [edi*4 + 0x10013c00]
mov dword [ebp - 0x1c], 1
mov dword [edx], edi
test edi, edi
je 0x1000ceed
movd xmm0, dword [ebp - 0x1c]
movd xmm4, edx
xor eax, eax
punpckldq xmm0, xmm4
movq qword [esi + 0x1c], xmm0
jmp 0x1000c0e5
movzx edx, word [ecx + 2]
add edi, 8
movzx ebx, word [ecx + 0xc]
movzx ecx, dx
lea ecx, [ecx + ecx*2]
cmp ebx, ecx
je 0x1000cd94
test byte [0x10010068], 1
je case.0x1000c085.24596
mov dword [esp + 0xc], str.Destination:_24_bit_samples_must_be_packed_n
mov dword [esp + 8], str.PCM_StreamOpen
mov dword [esp + 4], 0x10010068
mov dword [esp], 0
call fcn.1000b080
jmp case.0x1000c085.24596
movzx edx, word [ecx + 2]
add edi, 4
jmp 0x1000cd94
mov edi, dword [edi*4 + 0x10013ca0]
mov dword [edx], edi
jmp 0x1000cdfd
test byte [0x10010068], 4
je 0x1000c97f
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.source_format_0x_x_not_supported_n
mov dword [esp + 8], str.PCM_FormatSuggest
mov dword [esp + 4], 0x10010068
mov dword [esp], 2
call fcn.1000b080
jmp 0x1000c97f
mov dword [esp + 0xc], str.not_possible_n
mov dword [esp + 8], str.PCM_FormatTagDetails
mov dword [esp + 4], 0x10010068
mov dword [esp], 2
call fcn.1000b080
jmp 0x1000c97f
test byte [0x10010068], 1
jne 0x1000cf55
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
jmp case.0x1000c085.24596
test byte [0x10010068], 4
je 0x1000c97f
mov dword [esp + 0xc], str.not_possible_n
mov dword [esp + 8], str.PCM_FormatDetails
mov dword [esp + 4], 0x10010068
mov dword [esp], 2
call fcn.1000b080
jmp 0x1000c97f
movzx ecx, word [ecx + 0xe]
mov dword [ebp - 0x1c], edx
mov dword [esp + 0x14], ecx
movzx eax, word [eax + 0xe]
mov dword [esp + 0xc], str.Unimplemented_conversion_from__u_____u_bps_n
mov dword [esp + 8], str.PCM_StreamOpen
mov dword [esp + 4], 0x10010068
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp], eax
call fcn.1000b080
mov edx, dword [ebp - 0x1c]
jmp 0x1000cef6
mov eax, 7
jmp 0x1000c0e5
mov dword [esp + 8], 0x421
mov dword [esp + 4], str._Users_gcenx_Documents_GitHub_old_codeweavers_wine_dlls_msacm32_pcmconverter.c
mov dword [esp], str.afd__dwFormatIndex___ARRAY_SIZE_PCM_Formats_
call dword [sym.imp.ucrtbase.dll__assert]
mov dword [esp + 8], 0x47a
mov dword [esp + 4], str._Users_gcenx_Documents_GitHub_old_codeweavers_wine_dlls_msacm32_pcmconverter.c
mov dword [esp], str.__adsi__fdwOpen__ACM_STREAMOPENF_ASYNC_
call dword [sym.imp.ucrtbase.dll__assert]
mov dword [esp + 8], 0x4d1
mov dword [esp + 4], str._Users_gcenx_Documents_GitHub_old_codeweavers_wine_dlls_msacm32_pcmconverter.c
mov dword [esp], 0x100135b0
call dword [sym.imp.ucrtbase.dll__assert]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop