Function at 0x412920
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x258
mov eax, dword [0x442abc]
xor eax, esp
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x25c]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push esi
push edi
push eax
mov esi, ecx
call ebx
push 0x43bdac
call ebx
movzx eax, word [esi]
cmp ax, 1
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
jne 0x412979
push str.WAVE_FORMAT_PCM
push 1
push 1
lea eax, [esp + 0x6c]
push str.__Format.wFormatTag_lu__0x_.4lX____s__r_n
push eax
call edi
add esp, 0x14
jmp 0x4129d9
cmp ax, 0x92
jne 0x41299f
push str.WAVE_FORMAT_DOLBY_AC3_SPDIF
push 0x92
push 0x92
lea ecx, [esp + 0x6c]
push str.__Format.wFormatTag_lu__0x_.4lX____s__r_n
push ecx
call edi
add esp, 0x14
jmp 0x4129d9
cmp ax, 0xfffe
jne 0x4129c5
push str.WAVE_FORMAT_EXTENSIBLE
push 0xfffe
push 0xfffe
lea edx, [esp + 0x6c]
push str.__Format.wFormatTag_lu__0x_.4lX____s__r_n
push edx
call edi
add esp, 0x14
jmp 0x4129d9
movzx eax, ax
push eax
push eax
lea eax, [esp + 0x68]
push str.__Format.wFormatTag_lu__0x_.4lX__r_n
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x60]
push ecx
call ebx
movzx edx, word [esi + 2]
push edx
lea eax, [esp + 0x64]
push str.__Format.nChannels_lu_r_n
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x60]
push ecx
call ebx
mov edx, dword [esi + 4]
push edx
lea eax, [esp + 0x64]
push str.__Format.nSamplesPerSec_lu_r_n
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x60]
push ecx
call ebx
mov edx, dword [esi + 8]
push edx
lea eax, [esp + 0x64]
push str.__Format.nAvgBytesPerSec_lu_r_n
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x60]
push ecx
call ebx
movzx edx, word [esi + 0xc]
push edx
lea eax, [esp + 0x64]
push str.__Format.nBlockAlign_lu_r_n
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x60]
push ecx
call ebx
movzx edx, word [esi + 0xe]
push edx
lea eax, [esp + 0x64]
push str.__Format.wBitsPerSample_lu_r_n
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x60]
push ecx
call ebx
movzx edx, word [esi + 0x10]
push edx
lea eax, [esp + 0x64]
push str.__Format.cbSize_lu_r_n
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x60]
push ecx
call ebx
cmp word [esi + 0x10], 2
jb 0x412ad8
movzx edx, word [esi + 0x12]
push edx
lea eax, [esp + 0x64]
push str.__Samples.wValidBitsPerSample_lu_r_n
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x60]
push ecx
call ebx
movzx edx, word [esi + 0x12]
push edx
lea eax, [esp + 0x64]
push str.__Samples.wSamplesPerBlock_lu_r_n
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x60]
push ecx
call ebx
movzx edx, word [esi + 0x12]
push edx
lea eax, [esp + 0x64]
push str.__Samples.wReserved_lu_r_n
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x60]
push ecx
call ebx
cmp word [esi + 0x10], 6
jb 0x412afa
mov eax, dword [esi + 0x14]
push eax
push eax
lea edx, [esp + 0x68]
push str.__dwChannelMask_lu__0x_.8lX__r_n
push edx
call edi
add esp, 0x10
lea eax, [esp + 0x60]
push eax
call ebx
cmp word [esi + 0x10], 0x16
jb 0x412bfa
lea ecx, [esp + 0xc]
push ecx
add esi, 0x18
push esi
mov dword [esp + 0x14], 0
call dword [sym.imp.ole32.dll_StringFromCLSID]
test eax, eax
jl 0x412bf3
mov edx, dword [esp + 0xc]
push edx
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ecx, dword [esp + 0xc]
push ecx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
push 0x43cd64
push esi
call section..text
add esp, 8
test eax, eax
je 0x412b74
push str.KSDATAFORMAT_SUBTYPE_PCM
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x68]
push str.__SubFormat_s___s__r_n
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x60]
push ecx
jmp 0x412bf8
push 0x43cd74
push esi
call section..text
add esp, 8
test eax, eax
je 0x412ba6
push str.KSDATAFORMAT_SUBTYPE_IEEE_FLOAT
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x68]
push str.__SubFormat_s___s__r_n
push edx
call edi
add esp, 0x10
lea ecx, [esp + 0x60]
push ecx
jmp 0x412bf8
push 0x43cda4
push esi
call section..text
add esp, 8
test eax, eax
je 0x412bd8
push str.KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x68]
push str.__SubFormat_s___s__r_n
push ecx
call edi
add esp, 0x10
lea ecx, [esp + 0x60]
push ecx
jmp 0x412bf8
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x64]
push str.__SubFormat_s_r_n
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x60]
push ecx
jmp 0x412bf8
push str.__SubFormatERROR_r_n
call ebx
mov ecx, dword [esp + 0x260]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004217dd
add esp, 0x258
ret