Function at 0x412f20
Capabilities:
Check if file exists
Print debug messages
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4338d0
mov eax, dword fs:[0]
push eax
sub esp, 0x840
mov eax, dword [0x442abc]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
fldz
mov eax, dword [ebp + 8]
fstp qword [ebp - 0x844]
mov dword [ebp - 0x800], ecx
fld qword [0x43d908]
mov ecx, 0xd
fstp qword [ebp - 0x83c]
lea esi, [ebp + 0x18]
fld qword [0x43d900]
lea edi, [ebp - 0x7c4]
fstp qword [ebp - 0x834]
mov dword [ebp - 0x810], eax
fld qword [0x43d8f8]
rep movsd dword es:[edi], dword [esi]
fstp qword [ebp - 0x82c]
fld qword [0x43d8f0]
fstp qword [ebp - 0x824]
mov dword [ebp - 0x818], edx
mov dword [ebp - 0x7fc], 0
push 0x104
lea eax, [ebp - 0x224]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
mov ebx, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
je 0x41302e
lea ecx, [ebp - 0x224]
push ecx
call ebx
lea edx, [ebp - 0x224]
push edx
push 0x448484
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push str.CTAudMon.ini
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x42c]
push ecx
call edi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea edx, [ebp - 0x42c]
push edx
push 0
push str.AudioFormat
push str.OutputDebugString
call esi
mov dword [0x44829c], eax
jmp 0x413044
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [0x44829c], 0
push 0x104
lea eax, [ebp - 0x224]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x4130a8
lea ecx, [ebp - 0x224]
push ecx
call ebx
lea edx, [ebp - 0x224]
push edx
push 0x448484
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.CTAudMon.ini
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x42c]
push ecx
call edi
lea edx, [ebp - 0x42c]
push edx
push 0
push str.DelayBeforeStartASIOInMilliseconds
push str.ASIO
call esi
mov dword [0x4482a0], eax
jmp 0x4130b2
mov dword [0x4482a0], 0
push 0x104
lea eax, [ebp - 0x224]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x41312b
lea ecx, [ebp - 0x224]
push ecx
call ebx
lea edx, [ebp - 0x224]
push edx
push 0x448484
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.CTAudMon.ini
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x42c]
push ecx
call edi
lea edx, [ebp - 0x42c]
push edx
push 0
push str.AlwaysUseExclusiveMode
push str.WASAPIOutput
call esi
mov dword [0x4482a4], eax
lea eax, [ebp - 0x42c]
push eax
push 0
push str.AdditionalBufferingQueueInMilliseconds
push str.WASAPIOutput
call esi
jmp 0x413132
xor eax, eax
mov dword [0x4482a4], eax
push 0x104
lea ecx, [ebp - 0x42c]
push ecx
push 0
mov dword [0x4482a8], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x413205
lea edx, [ebp - 0x42c]
push edx
call ebx
lea eax, [ebp - 0x42c]
push eax
push 0x448484
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.CTAudMon.ini
lea ecx, [ebp - 0x42c]
push ecx
lea edx, [ebp - 0x224]
push edx
call edi
lea eax, [ebp - 0x224]
push eax
push 0
push str.OverwriteExisting
push str.SaveAudioFile
call esi
lea ecx, [ebp - 0x224]
push ecx
push 0
push str.SaveWhatUHear
push str.SaveAudioFile
mov dword [0x4482ac], eax
call esi
lea edx, [ebp - 0x224]
push edx
push 0
push str.SaveConvertedFormat
push str.SaveAudioFile
mov dword [0x4482b0], eax
call esi
mov dword [0x44834c], eax
lea eax, [ebp - 0x224]
push eax
push 0
push str.SaveEncodedFormat
push str.SaveAudioFile
call esi
test eax, eax
mov dword [0x4483e8], eax
jne 0x41321b
lea ecx, [ebp - 0x224]
push ecx
push eax
push str.SaveEncodedDolbyDigitalLive
push str.SaveAudioFile
call esi
jmp 0x413216
xor eax, eax
mov dword [0x4482ac], eax
mov dword [0x4482b0], eax
mov dword [0x44834c], eax
mov dword [0x4483e8], eax
push 0x104
lea edx, [ebp - 0x224]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x4132c8
lea eax, [ebp - 0x224]
push eax
call ebx
lea ecx, [ebp - 0x224]
push ecx
push 0x448484
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.CTAudMon.ini
lea edx, [ebp - 0x224]
push edx
lea eax, [ebp - 0x42c]
push eax
call edi
lea ecx, [ebp - 0x42c]
push ecx
push 0
push str.SaveIntoLogFile
push str.WriteDebugLogFile
call esi
test eax, eax
je 0x4132a7
push str.CTAudMon.log
lea edx, [ebp - 0x224]
push edx
lea eax, [ebp - 0x734]
push eax
call edi
lea ecx, [ebp - 0x734]
call fcn.00407580
mov dword [0x44868c], eax
jmp 0x4132b1
mov dword [0x44868c], 0
lea ecx, [ebp - 0x42c]
push ecx
push 0
push str.WriteASIOWhatUHearTimingInfo
push str.WriteDebugLogFile
call esi
jmp 0x4132cf
xor eax, eax
mov dword [0x44868c], eax
cmp dword [0x446ff8], 0
mov dword [0x448690], eax
je 0x4132e7
mov eax, 0x64
jmp 0x4147bb
cmp dword [ebp + 0xc], 0xffffffff
jne 0x413350
lea edx, [ebp - 0x7c0]
push 0x43bc7c
push edx
call section..text
add esp, 8
test eax, eax
je 0x41330e
mov dword [ebp + 0xc], 0x19
jmp 0x413350
lea eax, [ebp - 0x7c0]
push 0x43bc8c
push eax
call section..text
add esp, 8
test eax, eax
je 0x41332f
mov dword [ebp + 0xc], 0x20
jmp 0x413350
lea ecx, [ebp - 0x7c0]
push 0x43bc9c
push ecx
call section..text
add esp, 8
neg eax
sbb eax, eax
and eax, 7
add eax, 0x19
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x10]
cmp eax, 0xffffffff
jne 0x413361
mov dword [ebp + 0x10], 2
jmp 0x413372
test eax, eax
je 0x4147b6
cmp eax, 1
je 0x4147b6
lea edx, [ebp - 0x7c0]
push 0x43bc8c
push edx
mov dword [ebp - 0x7e8], 3
call section..text
add esp, 8
test eax, eax
je 0x41339f
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x7e8], eax
jmp 0x4133c0
lea ecx, [ebp - 0x7c0]
push 0x43bc9c
push ecx
call section..text
add esp, 8
test eax, eax
je 0x4133c0
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x7e8], edx
mov ebx, dword [ebp - 0x810]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push ebx
push 0
push 0
mov byte [ebp - 0x7ec], 0
mov byte [ebp - 0x7e9], 0
mov byte [ebp - 0x7ea], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
test edi, edi
jle 0x413433
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
test esi, esi
je 0x413433
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push ebx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
push esi
jg 0x41343d
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, 6
jmp 0x4147bb
call fcn.00417b70
add esp, 4
push esi
push 0
mov byte [ebp - 0x7eb], al
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp byte [ebp - 0x7eb], 0
jne 0x413473
mov dword [ebp - 0x7e8], 0x8889000f
jmp 0x4144a6
lea edi, [ebp - 0x7d4]
mov esi, ebx
call fcn.00411fe0
test eax, eax
je 0x413493
mov dword [ebp - 0x7e8], 0x80070057
jmp 0x4144a6
mov eax, 0x447008
call fcn.00417a60
test eax, eax
je 0x4134b0
mov dword [ebp - 0x7e8], 0x80004005
jmp 0x4144a6
mov edi, dword [ebp - 0x7fc]
fld qword [ebp + edi*8 - 0x844]
sub esp, 8
fstp qword [esp]
push 0x447008
call fcn.00414ec0
add esp, 0xc
test eax, eax
je 0x4134e3
mov dword [ebp - 0x7e8], 0x80004005
jmp 0x4144a6
lea eax, [ebp - 0x7c0]
push 0x43bc8c
push eax
call section..text
add esp, 8
test eax, eax
je 0x413514
fld qword [0x43d908]
fld qword [0x4470c8]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x41354b
fstp st(0)
lea ecx, [ebp - 0x7c0]
push 0x43bc9c
push ecx
call section..text
add esp, 8
test eax, eax
je 0x4135dd
fld qword [0x43d908]
fld qword [0x4470c8]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x4135e3
mov ecx, dword [0x446ff4]
xor eax, eax
test ecx, ecx
mov dword [ebp - 0x774], eax
mov dword [ebp - 0x770], eax
mov dword [ebp - 0x76c], eax
mov dword [ebp - 0x768], eax
mov dword [ebp - 0x764], eax
mov dword [ebp - 0x760], eax
mov eax, 1
mov dword [ebp - 0x778], eax
mov dword [ebp - 0x774], eax
je 0x4135e3
mov edx, dword [ecx]
fstp st(0)
mov edx, dword [edx + 0x58]
lea eax, [ebp - 0x778]
push eax
push 0xcc523bef
call edx
cmp eax, 0x3f4847a0
jne 0x4135dd
fld qword [0x43d908]
sub esp, 8
fstp qword [esp]
call fcn.00417b40
add esp, 8
test eax, eax
jne 0x4135dd
mov edx, 0x4470c8
call fcn.00417b20
test eax, eax
je 0x4135dd
mov dword [ebp - 0x7e8], 0x80004005
jmp 0x4144a6
fld qword [0x4470c8]
mov ecx, dword [ebp + 0x14]
mov eax, ecx
and eax, 0x80000000
mov dword [ebp - 0x808], eax
je 0x41364f
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x7e8]
cmp esi, eax
jb 0x41361f
mov dword [ebp - 0x7f0], eax
fild dword [ebp - 0x7f0]
test eax, eax
jge 0x413618
fadd qword [0x437360]
fmul st(1)
jmp 0x4136ca
mov eax, esi
test eax, eax
mov dword [ebp - 0x7f0], eax
fild dword [ebp - 0x7f0]
jge 0x413637
fadd qword [0x437360]
fmul st(1)
fdiv qword [0x43d8e8]
call fcn.00423570
mov dword [ebp - 0x7e8], esi
jmp 0x4136d5
test ecx, 0x40000000
je 0x413677
mov eax, dword [ebp + 0xc]
cmp eax, 5
jae 0x41366d
mov dword [ebp - 0x7f0], eax
fild dword [ebp - 0x7f0]
jmp 0x41360e
fld qword [0x43d8e0]
fmul st(1)
jmp 0x4136ca
lea ecx, [ebp - 0x7c0]
fstp st(0)
push 0x43bc8c
push ecx
call section..text
add esp, 8
test eax, eax
jne 0x4136b0
lea eax, [ebp - 0x7c0]
push 0x43bc9c
push eax
call section..text
add esp, 8
test eax, eax
je 0x4136b0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jmp 0x4136b5
mov edx, dword [ebp + 0xc]
test edx, edx
fild dword [ebp + 0xc]
jge 0x4136c0
fadd qword [0x437360]
fld qword [0x4470c8]
fmul st(1), st(0)
fxch st(1)
fdiv qword [0x43d8e8]
call fcn.00423570
mov edx, dword [0x4470b8]
mov ecx, eax
cmp ecx, edx
mov dword [0x448694], ecx
jge 0x413738
mov eax, edx
imul eax, eax, 0x3e8
mov dword [ebp - 0x7e8], eax
mov dword [0x4470c0], edx
fild dword [ebp - 0x7e8]
fnstcw word [ebp - 0x7e6]
movzx eax, word [ebp - 0x7e6]
fdivrp st(1)
or eax, 0xc00
mov dword [ebp - 0x7f0], eax
fldcw word [ebp - 0x7f0]
fistp qword [ebp - 0x7f4]
mov ecx, dword [ebp - 0x7f4]
fldcw word [ebp - 0x7e6]
jmp 0x4137ba
mov edx, dword [0x4470bc]
cmp ecx, edx
jle 0x413790
mov ecx, edx
fnstcw word [ebp - 0x7e6]
imul ecx, ecx, 0x3e8
movzx eax, word [ebp - 0x7e6]
mov dword [ebp - 0x7f0], ecx
or eax, 0xc00
mov dword [0x4470c0], edx
fild dword [ebp - 0x7f0]
mov dword [ebp - 0x7f0], eax
fdivrp st(1)
fldcw word [ebp - 0x7f0]
fistp qword [ebp - 0x7f4]
mov ecx, dword [ebp - 0x7f4]
fldcw word [ebp - 0x7e6]
jmp 0x4137ba
mov esi, dword [0x4470c4]
fstp st(0)
mov eax, ecx
cdq
idiv esi
test edx, edx
jne 0x4137a9
mov dword [0x4470c0], ecx
jmp 0x4137b4
add eax, 1
imul eax, esi
mov dword [0x4470c0], eax
mov ecx, dword [ebp - 0x7e8]
xor edx, edx
mov eax, 0x1f4
div ecx
push 0x447008
mov dword [0x446fd0], 0x416fc0
mov dword [0x446fd4], 0x417060
mov dword [0x446fd8], 0x417070
mov dword [0x446fdc], 0x415100
mov dword [0x448710], eax
call fcn.00417120
add esp, 4
test eax, eax
je 0x413828
add edi, 1
cmp edi, 5
mov dword [ebp - 0x7fc], edi
jb 0x413819
mov dword [ebp - 0x7fc], 0
mov dword [ebp - 0x7e8], 0x80004005
jmp 0x4144a6
lea edx, [ebp - 0x804]
push edx
mov edx, dword [0x4470dc]
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x814]
push ecx
push edx
lea ecx, [ebp - 0x788]
lea ebx, [ebp - 0x80c]
mov eax, 0x4474e4
mov byte [ebp - 0x7ec], 1
call fcn.00410d30
add esp, 0x10
test eax, eax
mov dword [ebp - 0x7e8], eax
jl 0x414499
movzx edi, word [ebp - 0x7f8]
mov esi, dword [ebp - 0x814]
mov ebx, dword [ebp - 0x80c]
mov eax, edi
shr eax, 3
imul eax, esi
imul eax, dword [0x4470c0]
push eax
mov dword [0x448698], esi
mov dword [0x44869c], ebx
mov dword [0x4486c8], 0
call fcn.00418930
mov cx, word [ebp - 0x7f8]
mov dword [0x4486c8], eax
fld qword [0x4470c8]
movzx eax, si
fnstcw word [ebp - 0x7e6]
imul eax, edi
cdq
and edx, 7
add eax, edx
mov word [ebp - 0x74e], cx
mov ecx, eax
movzx eax, word [ebp - 0x7e6]
or eax, 0xc00
mov dword [ebp - 0x7f0], eax
sar ecx, 3
movzx edx, cx
fldcw word [ebp - 0x7f0]
mov word [ebp - 0x750], cx
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x744], ecx
mov ecx, dword [ebp - 0x77c]
fistp qword [ebp - 0x7f4]
mov eax, dword [ebp - 0x7f4]
mov dword [ebp - 0x758], eax
mov word [ebp - 0x75a], si
mov dword [ebp - 0x738], ecx
mov ecx, 0xa
fldcw word [ebp - 0x7e6]
imul edx, eax
mov ax, word [ebp - 0x804]
mov dword [ebp - 0x754], edx
mov edx, dword [ebp - 0x784]
mov word [ebp - 0x74a], ax
mov eax, dword [ebp - 0x780]
lea esi, [ebp - 0x75c]
mov edi, 0x4486a0
mov word [ebp - 0x75c], 0xfffe
mov word [ebp - 0x74c], 0x16
mov dword [ebp - 0x748], ebx
mov dword [ebp - 0x740], edx
mov dword [ebp - 0x73c], eax
add esp, 4
rep movsd dword es:[edi], dword [esi]
cmp dword [0x44829c], 0
je 0x4139b1
push str.ASIO_wave_format
lea ecx, [ebp - 0x75c]
call fcn.00412920
add esp, 4
cmp dword [0x4482b0], 0
je 0x413aab
mov edi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push str.WhatUHear.wav
push 0x448484
lea edx, [ebp - 0x224]
push edx
call edi
cmp dword [0x4482ac], 0
jne 0x4139f1
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x413a10
lea ecx, [ebp - 0x75c]
push ecx
lea eax, [ebp - 0x224]
mov ecx, 0x4482b4
call fcn.0040de50
test eax, eax
je 0x413aab
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
mov esi, 1
push esi
lea edx, [ebp - 0x42c]
push str.WhatUHear__d.wav
push edx
call ebx
add esp, 0xc
lea eax, [ebp - 0x42c]
push eax
push 0x448484
lea ecx, [ebp - 0x224]
push ecx
call edi
cmp dword [0x4482ac], 0
jne 0x413a94
jmp 0x413a50
lea edx, [ebp - 0x224]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x413a94
add esi, 1
push esi
lea eax, [ebp - 0x42c]
push str.WhatUHear__d.wav
push eax
call ebx
add esp, 0xc
lea ecx, [ebp - 0x42c]
push ecx
push 0x448484
lea edx, [ebp - 0x224]
push edx
call edi
cmp dword [0x4482ac], 0
je 0x413a50
lea eax, [ebp - 0x75c]
push eax
lea eax, [ebp - 0x224]
mov ecx, 0x4482b4
call fcn.0040de50
push 0x43bc8c
push 0x44876c
call section..text
add esp, 8
test eax, eax
je 0x413bbc
mov ecx, str.CTDDLEnc.dll
lea esi, [ebp - 0x42c]
call fcn.00407880
test eax, eax
mov dword [ebp - 0x7e8], eax
jl 0x414499
mov ecx, esi
push 1
push ecx
mov dword [ebp - 4], 0
call fcn.00430db0
add esp, 8
test eax, eax
mov dword [ebp - 4], 0xffffffff
jne 0x413b1e
mov dword [ebp - 0x7e8], 0x80096004
jmp 0x4144a6
lea edx, [ebp - 0x42c]
push edx
push 0x44879c
push 0x43bccc
push 0
push 0
push 0x43bcbc
call fcn.00432230
test eax, eax
je 0x413b50
mov dword [ebp - 0x7e8], 0x80004005
jmp 0x4144a6
mov eax, dword [0x44879c]
mov ecx, dword [eax]
push 0x4487a4
lea edx, [ebp - 0x7d4]
push edx
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
mov dword [ebp - 0x7e8], eax
jl 0x414499
mov eax, dword [0x44879c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
push eax
call edx
test eax, eax
mov dword [ebp - 0x7e8], eax
jl 0x414499
mov eax, dword [0x4487a4]
push eax
call fcn.00418930
add esp, 4
test eax, eax
mov dword [0x4487a8], eax
jne 0x413cd7
mov dword [ebp - 0x7e8], 0x8007000e
jmp 0x4144a6
push 0x43bc9c
push 0x44876c
call section..text
add esp, 8
test eax, eax
je 0x413cd7
mov ecx, str.CTDTSIEn.dll
lea esi, [ebp - 0x42c]
call fcn.00407880
test eax, eax
mov dword [ebp - 0x7e8], eax
jl 0x414499
mov ecx, esi
push 1
push ecx
mov dword [ebp - 4], 2
call fcn.00430db0
add esp, 8
test eax, eax
mov dword [ebp - 4], 0xffffffff
jne 0x413c2f
mov dword [ebp - 0x7e8], 0x80096004
jmp 0x4144a6
lea edx, [ebp - 0x42c]
push edx
push 0x4487a0
push 0x43bcec
push 0
push 0
push 0x43bcdc
call fcn.00432230
test eax, eax
je 0x413c61
mov dword [ebp - 0x7e8], 0x80004005
jmp 0x4144a6
mov eax, dword [0x4487a0]
mov ecx, dword [eax]
push 0x4487a4
lea edx, [ebp - 0x7d4]
push edx
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
mov dword [ebp - 0x7e8], eax
jl 0x414499
mov eax, dword [0x4487a0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
push eax
call edx
test eax, eax
mov dword [ebp - 0x7e8], eax
jl 0x414499
mov ebx, dword [ebp + 0xc]
lea eax, [ebx + ebx*2]
shr eax, 5
add eax, 1
imul eax, dword [0x4487a4]
push eax
call fcn.00418930
add esp, 4
test eax, eax
mov dword [0x4487a8], eax
jne 0x413cda
mov dword [ebp - 0x7e8], 0x8007000e
jmp 0x4144a6
mov ebx, dword [ebp + 0xc]
cmp dword [ebp - 0x808], 0
mov byte [0x448298], 0
je 0x413d61
mov ecx, dword [0x4487ac]
mov edx, dword [0x44879c]
mov eax, dword [0x4487a4]
push 0x4486e4
push 0x4486e0
push 0x4486dc
push 0x44870c
push 0x448708
push 0x448298
push ecx
mov ecx, dword [0x4487a8]
push edx
mov edx, dword [0x448710]
push eax
mov eax, dword [ebp + 0x10]
push ecx
sub esp, 0x34
mov edi, esp
push edx
mov edx, dword [0x4487a0]
push eax
mov ecx, 0xd
lea esi, [ebp - 0x7c4]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x75c]
push ebx
push ecx
mov ecx, dword [ebp - 0x800]
call fcn.00411a10
add esp, 0x6c
jmp 0x413eb4
test dword [ebp + 0x14], 0x40000000
je 0x413e37
mov eax, dword [ebp - 0x800]
lea edx, [ebp - 0x7e4]
push edx
push eax
call dword [sym.imp.ole32.dll_CLSIDFromString]
mov ecx, dword [0x4487ac]
push 0x4486e4
push 0x4486e0
push 0x4486dc
push 0x44871c
push 0x448718
push 0x448714
push ecx
sub esp, 0x34
mov edi, esp
lea edx, [ebx + ebx]
push edx
mov ecx, 0xd
lea esi, [ebp - 0x7c4]
lea eax, [ebp - 0x7e4]
rep movsd dword es:[edi], dword [esi]
push ebx
push eax
mov edx, 0x448720
lea ecx, [ebp - 0x75c]
call fcn.00412290
add esp, 0x5c
test eax, eax
mov dword [ebp - 0x7e8], eax
jne 0x413eba
mov ecx, dword [0x4486dc]
mov edx, dword [ecx + 8]
imul edx, edx, 0xc8
mov eax, 0x10624dd3
mul edx
shr edx, 6
push edx
mov dword [0x448728], edx
call fcn.00418930
mov ecx, dword [0x448728]
add esp, 4
push ecx
xor esi, esi
push esi
push eax
mov dword [0x448724], eax
call fcn.00422e90
add esp, 0xc
mov dword [0x448730], esi
mov dword [0x44872c], esi
jmp 0x413eba
mov edx, dword [0x4482a8]
mov eax, dword [0x4487ac]
mov ecx, dword [0x4482a4]
push 0x4486e4
push 0x4486e0
push 0x4486dc
push 0x4486d8
push 0x4486d4
push 0x4486d0
push 0x448298
push edx
mov edx, dword [0x4487a0]
push eax
mov eax, dword [0x4487a4]
push ecx
mov ecx, dword [0x4487a8]
push edx
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x800]
push ecx
sub esp, 0x34
mov edi, esp
push edx
mov edx, dword [0x44879c]
mov ecx, 0xd
lea esi, [ebp - 0x7c4]
rep movsd dword es:[edi], dword [esi]
push ebx
push eax
lea ecx, [ebp - 0x75c]
call fcn.00411300
add esp, 0x74
mov dword [ebp - 0x7e8], eax
cmp dword [ebp - 0x7e8], 0
jl 0x4144a6
cmp dword [0x448690], 0
je 0x413f11
mov ecx, dword [0x4486d8]
push ecx
lea edx, [ebp - 0x4ac]
push str.BufferLengthOut:__d_r_n
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x44868c]
add esp, 0xc
test eax, eax
je 0x413f04
push eax
lea esi, [ebp - 0x4ac]
call fcn.00407690
add esp, 4
lea eax, [ebp - 0x4ac]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x43bc8c
push 0x44876c
call section..text
add esp, 8
test eax, eax
je 0x414020
cmp dword [0x4483e8], 0
je 0x41413b
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push str.EncodedDDL.wav
push 0x448484
lea ecx, [ebp - 0x224]
push ecx
call ebx
cmp dword [0x4482ac], 0
jne 0x413f6b
lea edx, [ebp - 0x224]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x413f89
mov eax, dword [0x4486dc]
push eax
lea eax, [ebp - 0x224]
mov ecx, 0x4483ec
call fcn.0040de50
test eax, eax
je 0x41413b
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
mov esi, 1
push esi
lea ecx, [ebp - 0x42c]
push str.EncodedDDL__d.wav
push ecx
call edi
add esp, 0xc
lea edx, [ebp - 0x42c]
push edx
push 0x448484
lea eax, [ebp - 0x224]
push eax
call ebx
cmp dword [0x4482ac], 0
jne 0x414014
jmp 0x413fd0
lea ecx, [ebp - 0x224]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x414014
add esi, 1
push esi
lea edx, [ebp - 0x42c]
push str.EncodedDDL__d.wav
push edx
call edi
add esp, 0xc
lea eax, [ebp - 0x42c]
push eax
push 0x448484
lea ecx, [ebp - 0x224]
push ecx
call ebx
cmp dword [0x4482ac], 0
je 0x413fd0
mov edx, dword [0x4486dc]
push edx
jmp 0x41412b
push 0x43bc9c
push 0x44876c
call section..text
add esp, 8
test eax, eax
je 0x41413b
cmp dword [0x4483e8], 0
je 0x41413b
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push str.EncodedDTSI.wav
push 0x448484
lea eax, [ebp - 0x224]
push eax
call ebx
cmp dword [0x4482ac], 0
jne 0x41407a
lea ecx, [ebp - 0x224]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x414099
mov edx, dword [0x4486dc]
push edx
lea eax, [ebp - 0x224]
mov ecx, 0x4483ec
call fcn.0040de50
test eax, eax
je 0x41413b
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
mov esi, 1
push esi
lea eax, [ebp - 0x42c]
push str.EncodedDTSI__d.wav
push eax
call edi
add esp, 0xc
lea ecx, [ebp - 0x42c]
push ecx
push 0x448484
lea edx, [ebp - 0x224]
push edx
call ebx
cmp dword [0x4482ac], 0
jne 0x414124
jmp 0x4140e0
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x414124
add esi, 1
push esi
lea ecx, [ebp - 0x42c]
push str.EncodedDTSI__d.wav
push ecx
call edi
add esp, 0xc
lea edx, [ebp - 0x42c]
push edx
push 0x448484
lea eax, [ebp - 0x224]
push eax
call ebx
cmp dword [0x4482ac], 0
je 0x4140e0
mov ecx, dword [0x4486dc]
push ecx
lea eax, [ebp - 0x224]
mov ecx, 0x4483ec
call fcn.0040de50
cmp dword [0x4486e0], 0
je 0x414164
mov ecx, dword [0x4486e4]
test ecx, ecx
je 0x414164
cmp dword [0x44829c], 0
je 0x414164
push str.Converted_format
call fcn.00412920
add esp, 4
mov ecx, dword [0x4486dc]
test ecx, ecx
je 0x414184
cmp dword [0x44829c], 0
je 0x414184
push str.Client_Out_format
call fcn.00412920
add esp, 4
cmp dword [0x4486e0], 0
je 0x41430b
mov ecx, dword [0x4486e4]
push 0x4486a0
mov ebx, 0x4486e8
mov dword [0x448704], 0
call fcn.0040e610
test eax, eax
jne 0x414321
movzx edx, word [0x4486ac]
imul edx, dword [0x4470c0]
push 0x448700
mov esi, ebx
mov byte [ebp - 0x7e9], 1
call fcn.0040e8c0
test eax, eax
jne 0x414321
mov edx, dword [0x448700]
push edx
call fcn.00418930
add esp, 4
test eax, eax
mov dword [0x448704], eax
jne 0x414208
mov dword [ebp - 0x7e8], 0x8007000e
jmp 0x4144a6
cmp dword [0x44834c], 0
je 0x41430b
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push str.ConvertedFormat.wav
push 0x448484
lea eax, [ebp - 0x224]
push eax
call ebx
cmp dword [0x4482ac], 0
jne 0x414248
lea ecx, [ebp - 0x224]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41426d
mov edx, dword [0x4486e4]
push edx
lea eax, [ebp - 0x224]
mov ecx, 0x448350
call fcn.0040de50
test eax, eax
je 0x41430b
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
mov esi, 1
push esi
lea eax, [ebp - 0x42c]
push str.ConvertedFormat__d.wav
push eax
call edi
add esp, 0xc
lea ecx, [ebp - 0x42c]
push ecx
push 0x448484
lea edx, [ebp - 0x224]
push edx
call ebx
cmp dword [0x4482ac], 0
jne 0x4142f4
jmp 0x4142b0
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4142f4
add esi, 1
push esi
lea ecx, [ebp - 0x42c]
push str.ConvertedFormat__d.wav
push ecx
call edi
add esp, 0xc
lea edx, [ebp - 0x42c]
push edx
push 0x448484
lea eax, [ebp - 0x224]
push eax
call ebx
cmp dword [0x4482ac], 0
je 0x4142b0
mov ecx, dword [0x4486e4]
push ecx
lea eax, [ebp - 0x224]
mov ecx, 0x448350
call fcn.0040de50
mov eax, dword [ebp - 0x808]
test eax, eax
je 0x414330
mov dword [0x4486cc], 2
jmp 0x414348
mov dword [ebp - 0x7e8], 0x88890008
jmp 0x4144a6
mov edx, dword [ebp + 0x14]
and edx, 0x40000000
or edx, 0x20000000
shr edx, 0x1d
mov dword [0x4486cc], edx
test eax, eax
je 0x41436b
mov eax, dword [0x448708]
push eax
call dword [sym.imp.WINMM.dll_waveOutRestart]
test eax, eax
je 0x41439c
mov dword [ebp - 0x7e8], 0x80004005
jmp 0x4144a6
test dword [ebp + 0x14], 0x40000000
je 0x414389
mov eax, dword [0x448718]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x30]
push 1
push 0
push 0
push eax
call edx
jmp 0x414396
mov eax, dword [0x4486d0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x28]
push eax
call edx
mov dword [ebp - 0x7e8], eax
cmp dword [ebp - 0x7e8], 0
jl 0x4144a6
mov eax, dword [0x4482a0]
test eax, eax
mov byte [ebp - 0x7ea], 1
mov byte [0x448299], 0
mov byte [0x44829a], 0
je 0x4143ce
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x448690], 0
je 0x414418
call dword [sym.imp.WINMM.dll_timeGetTime]
push eax
lea eax, [ebp - 0x4ac]
push str.Time_before_ASIOStart___lu_r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x44868c]
add esp, 0xc
test eax, eax
je 0x41440b
push eax
lea esi, [ebp - 0x4ac]
call fcn.00407690
add esp, 4
lea ecx, [ebp - 0x4ac]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [0x446ff4]
test ecx, ecx
jne 0x414429
mov edi, 0xfffffc18
jmp 0x414432
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
mov edi, eax
cmp dword [0x448690], 0
je 0x41447c
call dword [sym.imp.WINMM.dll_timeGetTime]
push eax
lea ecx, [ebp - 0x52c]
push str.Time_after_ASIOStart___lu_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x44868c]
add esp, 0xc
test eax, eax
je 0x41446f
push eax
lea esi, [ebp - 0x52c]
call fcn.00407690
add esp, 4
lea edx, [ebp - 0x52c]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
test edi, edi
je 0x41448c
mov dword [ebp - 0x7e8], 0x80004005
jmp 0x4144a6
mov eax, dword [0x446ff8]
mov ecx, dword [ebp - 0x818]
mov dword [ecx], eax
cmp dword [ebp - 0x7e8], 0
je 0x4147b2
xor ebx, ebx
cmp dword [0x44834c], ebx
mov byte [0x448298], 1
je 0x4144c9
cmp dword [0x4486e0], ebx
je 0x4144c9
mov esi, 0x448350
call fcn.0040df70
cmp dword [0x4483e8], ebx
je 0x414507
push 0x43bc8c
push 0x44876c
call section..text
add esp, 8
test eax, eax
jne 0x4144fd
push 0x43bc9c
push 0x44876c
call section..text
add esp, 8
test eax, eax
je 0x414507
mov esi, 0x4483ec
call fcn.0040df70
cmp dword [0x4482b0], ebx
je 0x414519
mov esi, 0x4482b4
call fcn.0040df70
mov eax, dword [0x44879c]
cmp eax, ebx
je 0x414542
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x20]
call eax
mov eax, dword [0x44879c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [0x44879c], ebx
call fcn.00432080
mov eax, dword [0x4487a0]
cmp eax, ebx
je 0x41456b
mov ecx, dword [eax]
mov edx, dword [ecx + 0x20]
push eax
call edx
mov eax, dword [0x4487a0]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [0x4487a0], ebx
call fcn.00432080
mov eax, dword [0x4487a8]
cmp eax, ebx
je 0x414583
push eax
call fcn.00418935
add esp, 4
mov dword [0x4487a8], ebx
cmp byte [ebp - 0x7ea], 0
mov edi, dword [ebp + 0x14]
je 0x4145c2
test edi, edi
jns 0x4145a1
mov eax, dword [0x448708]
push eax
call dword [sym.imp.WINMM.dll_waveOutReset]
jmp 0x4145c2
test edi, 0x40000000
je 0x4145b5
mov eax, dword [0x448718]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
jmp 0x4145bf
mov eax, dword [0x4486d0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x2c]
push eax
call edx
mov eax, dword [0x448704]
cmp eax, ebx
je 0x4145da
push eax
call fcn.00418935
add esp, 4
mov dword [0x448704], ebx
cmp byte [ebp - 0x7e9], 0
je 0x4145ed
mov esi, 0x4486e8
call fcn.0040ea90
mov esi, edi
and esi, 0x80000000
je 0x414612
mov eax, dword [0x448708]
mov ebx, dword [0x448710]
push 0x44870c
push eax
call fcn.00410b10
add esp, 8
jmp 0x414629
mov eax, dword [0x4486d4]
cmp eax, ebx
je 0x414629
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [0x4486d4], ebx
mov eax, dword [0x4486dc]
mov edi, dword [sym.imp.ole32.dll_CoTaskMemFree]
push eax
call edi
mov ecx, dword [0x4486e4]
xor ebx, ebx
push ecx
mov dword [0x4486dc], ebx
call edi
cmp esi, ebx
mov dword [0x4486e4], ebx
je 0x414661
mov edx, dword [0x448708]
push edx
call dword [sym.imp.WINMM.dll_waveOutClose]
jmp 0x4146bf
test dword [ebp + 0x14], 0x40000000
je 0x4146a8
mov eax, dword [0x448718]
cmp eax, ebx
je 0x414681
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [0x448718], ebx
mov eax, dword [0x448714]
cmp eax, ebx
je 0x414698
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [0x448714], ebx
mov eax, dword [0x448724]
push eax
call fcn.00418935
add esp, 4
jmp 0x4146bf
mov eax, dword [0x4486d0]
cmp eax, ebx
je 0x4146bf
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [0x4486d0], ebx
mov eax, dword [0x4486c8]
cmp eax, ebx
je 0x4146d7
push eax
call fcn.00418935
add esp, 4
mov dword [0x4486c8], ebx
cmp byte [ebp - 0x7ec], 0
mov ecx, dword [0x446ff4]
je 0x4146f7
cmp ecx, ebx
je 0x4146f7
mov eax, dword [ecx]
mov edx, dword [eax + 0x50]
call edx
mov ecx, dword [0x446ff4]
cmp byte [ebp - 0x7eb], 0
je 0x414732
cmp ecx, ebx
je 0x41470f
mov edi, dword [0x446ff8]
call fcn.00417e00
mov edi, dword [0x446ff8]
test edi, edi
mov dword [0x446ff4], 0
je 0x414732
call fcn.00417c30
mov dword [0x446ff8], 0
cmp dword [ebp - 0x7fc], 0
jne 0x412fb8
mov eax, dword [ebp - 0x7e8]
cmp eax, 0x8889000a
je 0x4132dd
cmp eax, 0x88890008
jne 0x41475e
mov eax, 0x65
jmp 0x4147bb
cmp eax, 0x88890004
jne 0x41476c
mov eax, 0x66
jmp 0x4147bb
cmp eax, 0x8889000e
jne 0x41477a
mov eax, 0x67
jmp 0x4147bb
cmp eax, 0x8889000f
jne 0x414788
mov eax, 0x68
jmp 0x4147bb
cmp eax, 0x80070057
je 0x4147b6
cmp eax, 0x80096004
jne 0x41479d
mov eax, 0x1f4
jmp 0x4147bb
sub eax, 0x80004021
neg eax
sbb eax, eax
and eax, 0xfffffdaa
add eax, 0x258
jmp 0x4147bb
xor eax, eax
jmp 0x4147bb
mov eax, 3
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004217dd
mov esp, ebp
pop ebp
ret