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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x451a52
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2ea4
call fcn.00418810
mov eax, dword [0x46fc68]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
fldz
fstp qword [ebp - 0xc0]
fld qword [0x469080]
fstp qword [ebp - 0xb8]
fld qword [0x469078]
fstp qword [ebp - 0xb0]
fld qword [0x469070]
fstp qword [ebp - 0xa8]
fld qword [0x469068]
fstp qword [ebp - 0xa0]
mov dword [ebp - 0x3c], 0
push 0x104
lea eax, [ebp - 0x2d0]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
je 0x43146f
lea ecx, [ebp - 0x2d0]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov dword [ebp - 0x4e0], eax
lea edx, [ebp - 0x2d0]
push edx
push 0x476104
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [0x45c8a0]
push eax
lea ecx, [ebp - 0x2d0]
push ecx
lea edx, [ebp - 0x4d8]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0x4dc], eax
lea eax, [ebp - 0x4d8]
push eax
push 0
push 0x45cb60
mov ecx, dword [0x45c8c8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x475f1c], eax
jmp 0x431479
mov dword [0x475f1c], 0
push 0x104
lea edx, [ebp - 0x6f0]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x4e4], eax
cmp dword [ebp - 0x4e4], 0
je 0x431503
lea eax, [ebp - 0x6f0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov dword [ebp - 0x900], eax
lea ecx, [ebp - 0x6f0]
push ecx
push 0x476104
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edx, dword [0x45c8a0]
push edx
lea eax, [ebp - 0x6f0]
push eax
lea ecx, [ebp - 0x8f8]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0x8fc], eax
lea edx, [ebp - 0x8f8]
push edx
push 0
push str.DelayBeforeStartASIOInMilliseconds
mov eax, dword [str.ASIO]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x475f20], eax
jmp 0x43150d
mov dword [0x475f20], 0
push 0x104
lea ecx, [ebp - 0xb10]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x904], eax
cmp dword [ebp - 0x904], 0
je 0x4315bc
lea edx, [ebp - 0xb10]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov dword [ebp - 0xd20], eax
lea eax, [ebp - 0xb10]
push eax
push 0x476104
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ecx, dword [0x45c8a0]
push ecx
lea edx, [ebp - 0xb10]
push edx
lea eax, [ebp - 0xd18]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0xd1c], eax
lea ecx, [ebp - 0xd18]
push ecx
push 0
push 0x45cbc0
mov edx, dword [0x45c96c]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x475f24], eax
lea eax, [ebp - 0xd18]
push eax
push 0
push str.AdditionalBufferingQueueInMilliseconds
mov ecx, dword [0x45c96c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x475f28], eax
jmp 0x4315d0
mov dword [0x475f24], 0
mov dword [0x475f28], 0
push 0x104
lea edx, [ebp - 0xf30]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0xd24], eax
cmp dword [ebp - 0xd24], 0
je 0x4316e6
lea eax, [ebp - 0xf30]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov dword [ebp - 0x1140], eax
lea ecx, [ebp - 0xf30]
push ecx
push 0x476104
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edx, dword [0x45c8a0]
push edx
lea eax, [ebp - 0xf30]
push eax
lea ecx, [ebp - 0x1138]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0x113c], eax
lea edx, [ebp - 0x1138]
push edx
push 0
push 0x45cabc
mov eax, dword [0x45c8e8]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x475f2c], eax
lea ecx, [ebp - 0x1138]
push ecx
push 0
push str.SaveWhatUHear
mov edx, dword [0x45c8e8]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x475f30], eax
lea eax, [ebp - 0x1138]
push eax
push 0
push 0x45cc5c
mov ecx, dword [0x45c8e8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x475fcc], eax
lea edx, [ebp - 0x1138]
push edx
push 0
push 0x45cc84
mov eax, dword [0x45c8e8]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x476068], eax
cmp dword [0x476068], 0
jne 0x4316e4
lea ecx, [ebp - 0x1138]
push ecx
push 0
push 0x45cca8
mov edx, dword [0x45c8e8]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x476068], eax
jmp 0x43170e
mov dword [0x475f2c], 0
mov dword [0x475f30], 0
mov dword [0x475fcc], 0
mov dword [0x476068], 0
push 0x104
lea eax, [ebp - 0x1350]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x1144], eax
cmp dword [ebp - 0x1144], 0
je 0x431829
lea ecx, [ebp - 0x1350]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov dword [ebp - 0x1560], eax
lea edx, [ebp - 0x1350]
push edx
push 0x476104
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [0x45c8a0]
push eax
lea ecx, [ebp - 0x1350]
push ecx
lea edx, [ebp - 0x1558]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0x155c], eax
lea eax, [ebp - 0x1558]
push eax
push 0
push str.SaveIntoLogFile
mov ecx, dword [0x45c930]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
je 0x4317db
mov edx, dword [0x45c908]
push edx
lea eax, [ebp - 0x1350]
push eax
lea ecx, [ebp - 0x1770]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0x1568], eax
lea edx, [ebp - 0x1770]
push edx
call fcn.00405910
add esp, 4
mov dword [0x47630c], eax
jmp 0x4317e5
mov dword [0x47630c], 0
lea eax, [ebp - 0x1558]
push eax
push 0
push str.WriteASIOWhatUHearTimingInfo
mov ecx, dword [0x45c930]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
je 0x43181d
mov edx, dword [ebp - 0x1564]
mov dword [0x476310], edx
jmp 0x431827
mov dword [0x476310], 0
jmp 0x43183d
mov dword [0x47630c], 0
mov dword [0x476310], 0
cmp dword [0x474b98], 0
je 0x431850
mov eax, 0x64
jmp 0x433203
cmp dword [ebp + 0x10], 0xffffffff
jne 0x4318b7
push 0x4686fc
lea eax, [ebp + 0x20]
push eax
call fcn.00401020
add esp, 8
test eax, eax
je 0x431874
mov dword [ebp + 0x10], 0x19
jmp 0x4318b7
push 0x46870c
lea ecx, [ebp + 0x20]
push ecx
call fcn.00401020
add esp, 8
test eax, eax
je 0x431892
mov dword [ebp + 0x10], 0x20
jmp 0x4318b7
push 0x46871c
lea edx, [ebp + 0x20]
push edx
call fcn.00401020
add esp, 8
test eax, eax
je 0x4318b0
mov dword [ebp + 0x10], 0x20
jmp 0x4318b7
mov dword [ebp + 0x10], 0x19
cmp dword [ebp + 0x14], 0xffffffff
jne 0x4318c6
mov dword [ebp + 0x14], 2
jmp 0x4318dc
cmp dword [ebp + 0x14], 0
je 0x4318d2
cmp dword [ebp + 0x14], 1
jne 0x4318dc
mov eax, 3
jmp 0x433203
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x5c], 3
push 0x46870c
lea eax, [ebp + 0x20]
push eax
call fcn.00401020
add esp, 8
test eax, eax
je 0x43190a
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x5c], ecx
jmp 0x431925
push 0x46871c
lea edx, [ebp + 0x20]
push edx
call fcn.00401020
add esp, 8
test eax, eax
je 0x431925
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x15], 0
mov byte [ebp - 0x42], 0
mov byte [ebp - 0x49], 0
mov byte [ebp - 0x41], 0
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x48], ecx
push 0
push 0
mov edx, dword [ebp - 0x48]
push edx
call fcn.0043b7d0
add esp, 0xc
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x431977
mov eax, dword [ebp - 0x58]
push eax
call fcn.0044f550
add esp, 4
mov byte [ebp - 0x42], al
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.0043b7a0
add esp, 4
mov dword [ebp - 0x1774], eax
jmp 0x431981
mov eax, 6
jmp 0x433203
movzx edx, byte [ebp - 0x42]
test edx, edx
jne 0x431993
mov dword [ebp - 0x94], 0x8889000f
cmp dword [ebp - 0x94], 0
jge 0x4319a1
jmp 0x432dcc
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00435250
add esp, 8
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x4319ca
mov dword [ebp - 0x94], 0x80070057
cmp dword [ebp - 0x94], 0
jge 0x4319d8
jmp 0x432dcc
push 0x474c88
call fcn.0042cf20
add esp, 4
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x4319fe
mov dword [ebp - 0x94], 0x80004005
cmp dword [ebp - 0x94], 0
jge 0x431a0c
jmp 0x432dcc
mov edx, dword [ebp - 0x3c]
sub esp, 8
fld qword [ebp + edx*8 - 0xc0]
fstp qword [esp]
push 0x474c88
call fcn.0042d980
add esp, 0xc
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
je 0x431a3c
mov dword [ebp - 0x94], 0x80004005
cmp dword [ebp - 0x94], 0
jge 0x431a4a
jmp 0x432dcc
push 0x46870c
lea eax, [ebp + 0x20]
push eax
call fcn.00401020
add esp, 8
test eax, eax
je 0x431a72
fld qword [0x469080]
fcomp qword [0x474d48]
fnstsw ax
test ah, 0x44
jp 0x431aa2
push 0x46871c
lea ecx, [ebp + 0x20]
push ecx
call fcn.00401020
add esp, 8
test eax, eax
je 0x431b36
fld qword [0x469080]
fcomp qword [0x474d48]
fnstsw ax
test ah, 0x44
jnp 0x431b36
mov dword [ebp - 0x1790], 0
xor edx, edx
mov dword [ebp - 0x178c], edx
mov dword [ebp - 0x1788], edx
mov dword [ebp - 0x1784], edx
mov dword [ebp - 0x1780], edx
mov dword [ebp - 0x177c], edx
mov dword [ebp - 0x1778], edx
mov dword [ebp - 0x1790], 1
mov dword [ebp - 0x178c], 1
lea eax, [ebp - 0x1790]
push eax
push 0xcc523bef
call fcn.0042cbf0
add esp, 8
cmp eax, 0x3f4847a0
jne 0x431b36
sub esp, 8
fld qword [0x469080]
fstp qword [esp]
call fcn.0042cd60
add esp, 8
test eax, eax
jne 0x431b36
push 0x474d48
call fcn.0042cd90
add esp, 4
test eax, eax
jne 0x431b2c
jmp 0x431b36
mov dword [ebp - 0x94], 0x80004005
cmp dword [ebp - 0x94], 0
jge 0x431b44
jmp 0x432dcc
mov ecx, dword [ebp + 0x18]
and ecx, 0x80000000
je 0x431bc2
mov edx, dword [ebp + 0x10]
cmp edx, dword [ebp - 0x5c]
jb 0x431b88
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x2e4c], eax
mov dword [ebp - 0x2e48], 0
fild qword [ebp - 0x2e4c]
fmul qword [0x474d48]
fdiv qword [0x469060]
call fcn.00418360
mov dword [0x476314], eax
jmp 0x431bbd
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x2e54], ecx
mov dword [ebp - 0x2e50], 0
fild qword [ebp - 0x2e54]
fmul qword [0x474d48]
fdiv qword [0x469060]
call fcn.00418360
mov dword [0x476314], eax
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x5c], edx
jmp 0x431cdf
mov eax, dword [ebp + 0x18]
and eax, 0x40000000
je 0x431c24
cmp dword [ebp + 0x10], 5
jae 0x431c03
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x2e5c], ecx
mov dword [ebp - 0x2e58], 0
fild qword [ebp - 0x2e5c]
fmul qword [0x474d48]
fdiv qword [0x469060]
call fcn.00418360
mov dword [0x476314], eax
jmp 0x431c1f
fld qword [0x469058]
fmul qword [0x474d48]
fdiv qword [0x469060]
call fcn.00418360
mov dword [0x476314], eax
jmp 0x431cdf
push 0x46870c
lea edx, [ebp + 0x20]
push edx
call fcn.00401020
add esp, 8
test eax, eax
je 0x431c6a
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2e64], eax
mov dword [ebp - 0x2e60], 0
fild qword [ebp - 0x2e64]
fmul qword [0x474d48]
fdiv qword [0x469060]
call fcn.00418360
mov dword [0x476314], eax
jmp 0x431cdf
push 0x46871c
lea ecx, [ebp + 0x20]
push ecx
call fcn.00401020
add esp, 8
test eax, eax
je 0x431cb0
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x2e6c], edx
mov dword [ebp - 0x2e68], 0
fild qword [ebp - 0x2e6c]
fmul qword [0x474d48]
fdiv qword [0x469060]
call fcn.00418360
mov dword [0x476314], eax
jmp 0x431cdf
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2e74], eax
mov dword [ebp - 0x2e70], 0
fild qword [ebp - 0x2e74]
fmul qword [0x474d48]
fdiv qword [0x469060]
call fcn.00418360
mov dword [0x476314], eax
mov ecx, dword [0x476314]
cmp ecx, dword [0x474d38]
jge 0x431d4f
mov edx, dword [0x474d38]
imul edx, edx, 0x3e8
mov dword [ebp - 0x2e78], edx
fild dword [ebp - 0x2e78]
fdiv qword [0x474d48]
fnstcw word [ebp - 0x2e7a]
movzx eax, word [ebp - 0x2e7a]
or eax, 0xc00
mov dword [ebp - 0x2e80], eax
fldcw word [ebp - 0x2e80]
fistp qword [ebp - 0x2e88]
fldcw word [ebp - 0x2e7a]
mov eax, dword [ebp - 0x2e88]
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x474d38]
mov dword [0x474d40], ecx
jmp 0x431df5
mov edx, dword [0x476314]
cmp edx, dword [0x474d3c]
jle 0x431dbb
mov eax, dword [0x474d3c]
imul eax, eax, 0x3e8
mov dword [ebp - 0x2e8c], eax
fild dword [ebp - 0x2e8c]
fdiv qword [0x474d48]
fnstcw word [ebp - 0x2e8e]
movzx eax, word [ebp - 0x2e8e]
or eax, 0xc00
mov dword [ebp - 0x2e94], eax
fldcw word [ebp - 0x2e94]
fistp qword [ebp - 0x2e9c]
fldcw word [ebp - 0x2e8e]
mov ecx, dword [ebp - 0x2e9c]
mov dword [ebp - 0x5c], ecx
mov edx, dword [0x474d3c]
mov dword [0x474d40], edx
jmp 0x431df5
mov eax, dword [0x476314]
cdq
idiv dword [0x474d44]
test edx, edx
jne 0x431dd7
mov eax, dword [0x476314]
mov dword [0x474d40], eax
jmp 0x431df5
mov eax, dword [0x476314]
cdq
idiv dword [0x474d44]
imul eax, dword [0x474d44]
add eax, dword [0x474d44]
mov dword [0x474d40], eax
mov eax, 0x1f4
xor edx, edx
div dword [ebp - 0x5c]
mov dword [0x476390], eax
mov dword [0x474768], 0x4312e0
mov dword [0x47476c], 0x42d270
mov dword [0x474770], 0x42d170
mov dword [0x474774], 0x42e590
push 0x474c88
call fcn.0042d510
add esp, 4
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x431e79
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x1794], 5
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x1794]
jb 0x431e6d
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x94], 0x80004005
jmp 0x431e7d
mov byte [ebp - 0x15], 1
cmp dword [ebp - 0x94], 0
jge 0x431e8b
jmp 0x432dcc
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x50]
push ecx
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xc4]
push ecx
push 0x475164
mov edx, dword [0x474d5c]
push edx
call fcn.00434aa0
add esp, 0x1c
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jge 0x431eca
jmp 0x432dcc
mov eax, dword [ebp - 0xc4]
mov dword [0x476318], eax
mov ecx, dword [ebp - 0x40]
mov dword [0x47631c], ecx
mov dword [0x476348], 0
movzx eax, word [ebp - 0x60]
cdq
and edx, 7
add eax, edx
sar eax, 3
imul eax, dword [0x474d40]
imul eax, dword [0x476318]
push eax
call fcn.00408907
add esp, 4
mov dword [ebp - 0x2e24], eax
mov edx, dword [ebp - 0x2e24]
mov dword [0x476348], edx
mov eax, 0xfffe
mov word [ebp - 0x88], ax
mov cx, word [ebp - 0xc4]
mov word [ebp - 0x86], cx
mov dx, word [ebp - 0x60]
mov word [ebp - 0x7a], dx
movzx eax, word [ebp - 0x7a]
movzx ecx, word [ebp - 0x86]
imul eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov word [ebp - 0x7c], ax
fld qword [0x474d48]
fnstcw word [ebp - 0x2e9e]
movzx eax, word [ebp - 0x2e9e]
or eax, 0xc00
mov dword [ebp - 0x2ea4], eax
fldcw word [ebp - 0x2ea4]
fistp qword [ebp - 0x2eac]
fldcw word [ebp - 0x2e9e]
mov edx, dword [ebp - 0x2eac]
mov dword [ebp - 0x84], edx
movzx eax, word [ebp - 0x7c]
imul eax, dword [ebp - 0x84]
mov dword [ebp - 0x80], eax
mov ecx, 0x16
mov word [ebp - 0x78], cx
mov dx, word [ebp - 0x50]
mov word [ebp - 0x76], dx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x64], ecx
mov ecx, 0xa
lea esi, [ebp - 0x88]
mov edi, 0x476320
rep movsd dword es:[edi], dword [esi]
cmp dword [0x475f1c], 0
je 0x432003
push str.ASIO_wave_format
lea edx, [ebp - 0x88]
push edx
call fcn.0042e160
add esp, 8
cmp dword [0x475f30], 0
je 0x432126
push str.WhatUHear.wav
push 0x476104
lea eax, [ebp - 0x19a8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0x1798], eax
cmp dword [0x475f2c], 0
jne 0x432053
lea ecx, [ebp - 0x19a8]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x432053
mov dword [ebp - 0x179c], 0x80004005
jmp 0x432073
push 0
lea edx, [ebp - 0x88]
push edx
lea eax, [ebp - 0x19a8]
push eax
mov ecx, 0x475f34
call fcn.0043c000
mov dword [ebp - 0x179c], eax
cmp dword [ebp - 0x179c], 0
je 0x432126
mov dword [ebp - 0x1bb4], 1
jmp 0x43209b
mov ecx, dword [ebp - 0x1bb4]
add ecx, 1
mov dword [ebp - 0x1bb4], ecx
mov edx, dword [ebp - 0x1bb4]
push edx
push 0x45cd7c
lea eax, [ebp - 0x1bb0]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea ecx, [ebp - 0x1bb0]
push ecx
push 0x476104
lea edx, [ebp - 0x19a8]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0x1bb8], eax
cmp dword [0x475f2c], 0
jne 0x4320f2
lea eax, [ebp - 0x19a8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4320f2
jmp 0x43208c
push 0
lea ecx, [ebp - 0x88]
push ecx
lea edx, [ebp - 0x19a8]
push edx
mov ecx, 0x475f34
call fcn.0043c000
mov dword [ebp - 0x179c], eax
cmp dword [ebp - 0x179c], 0
jne 0x43211f
jmp 0x432126
jmp 0x432126
push 0x46870c
push 0x4763ec
call fcn.00401020
add esp, 8
test eax, eax
je 0x4322df
push 0x45cda0
lea eax, [ebp - 0x1dc0]
push eax
push 0x26
push 0
call fcn.0043d000
add esp, 0x10
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jge 0x43216c
jmp 0x432dcc
mov dword [ebp - 4], 0
push 1
lea ecx, [ebp - 0x1dc0]
push ecx
call fcn.00425fb0
add esp, 8
mov dword [ebp - 0x2eb0], eax
mov edx, dword [ebp - 0x2eb0]
mov dword [ebp - 0x1dd0], edx
jmp 0x4321af
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1dd0], 0
jne 0x4321d7
mov dword [ebp - 0x94], 0x80096004
cmp dword [ebp - 0x94], 0
jge 0x4321d7
jmp 0x432dcc
mov dword [ebp - 0x1dcc], 0
mov dword [ebp - 0x1dc8], 0
push 0x47641c
push 0
lea ecx, [ebp - 0x1dc0]
push ecx
push 0
push 0
push 0x46874c
mov edx, dword [ebp - 0x1dc8]
push edx
mov eax, dword [ebp - 0x1dcc]
push eax
push 0x46873c
call fcn.0042b200
mov dword [ebp - 0x1dc4], eax
cmp dword [ebp - 0x1dc4], 0
je 0x432241
mov dword [ebp - 0x94], 0x80004005
cmp dword [ebp - 0x94], 0
jge 0x432241
jmp 0x432dcc
push 0x476424
lea ecx, [ebp - 0x38]
push ecx
mov edx, dword [0x47641c]
push edx
mov eax, dword [0x47641c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
call edx
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jge 0x432271
jmp 0x432dcc
mov eax, dword [0x47641c]
push eax
mov ecx, dword [0x47641c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jge 0x432298
jmp 0x432dcc
mov ecx, dword [0x476424]
push ecx
call fcn.00408907
add esp, 4
mov dword [ebp - 0x2e28], eax
mov edx, dword [ebp - 0x2e28]
mov dword [0x476428], edx
cmp dword [0x476428], 0
jne 0x4322cc
mov dword [ebp - 0x94], 0x8007000e
cmp dword [ebp - 0x94], 0
jge 0x4322da
jmp 0x432dcc
jmp 0x4324a0
push 0x46871c
push 0x4763ec
call fcn.00401020
add esp, 8
test eax, eax
je 0x4324a0
push 0x45cdbc
lea eax, [ebp - 0x1fe0]
push eax
push 0x26
push 0
call fcn.0043d000
add esp, 0x10
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jge 0x432325
jmp 0x432dcc
mov dword [ebp - 4], 2
push 1
lea ecx, [ebp - 0x1fe0]
push ecx
call fcn.00425fb0
add esp, 8
mov dword [ebp - 0x2eb4], eax
mov edx, dword [ebp - 0x2eb4]
mov dword [ebp - 0x1ff0], edx
jmp 0x432368
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1ff0], 0
jne 0x432390
mov dword [ebp - 0x94], 0x80096004
cmp dword [ebp - 0x94], 0
jge 0x432390
jmp 0x432dcc
mov dword [ebp - 0x1fec], 0
mov dword [ebp - 0x1fe8], 0
push 0x476420
push 0
lea ecx, [ebp - 0x1fe0]
push ecx
push 0
push 0
push 0x46876c
mov edx, dword [ebp - 0x1fe8]
push edx
mov eax, dword [ebp - 0x1fec]
push eax
push 0x46875c
call fcn.0042b200
mov dword [ebp - 0x1fe4], eax
cmp dword [ebp - 0x1fe4], 0
je 0x4323fa
mov dword [ebp - 0x94], 0x80004005
cmp dword [ebp - 0x94], 0
jge 0x4323fa
jmp 0x432dcc
push 0x476424
lea ecx, [ebp - 0x38]
push ecx
mov edx, dword [0x476420]
push edx
mov eax, dword [0x476420]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
call edx
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jge 0x43242a
jmp 0x432dcc
mov eax, dword [0x476420]
push eax
mov ecx, dword [0x476420]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jge 0x432451
jmp 0x432dcc
mov ecx, dword [ebp + 0x10]
imul ecx, ecx, 3
shr ecx, 5
add ecx, 1
imul ecx, dword [0x476424]
push ecx
call fcn.00408907
add esp, 4
mov dword [ebp - 0x2e2c], eax
mov edx, dword [ebp - 0x2e2c]
mov dword [0x476428], edx
cmp dword [0x476428], 0
jne 0x432492
mov dword [ebp - 0x94], 0x8007000e
cmp dword [ebp - 0x94], 0
jge 0x4324a0
jmp 0x432dcc
mov byte [0x475f18], 0
mov eax, dword [ebp + 0x18]
and eax, 0x80000000
je 0x432539
push 0x476364
push 0x476360
push 0x47635c
push 0x476358
push 0x47638c
push 0x476388
push 0x475f18
mov ecx, dword [0x47642c]
push ecx
mov edx, dword [0x476420]
push edx
mov eax, dword [0x47641c]
push eax
mov ecx, dword [0x476424]
push ecx
mov edx, dword [0x476428]
push edx
sub esp, 0x34
mov ecx, 0xd
lea esi, [ebp + 0x1c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x476390]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x88]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.004360f0
add esp, 0x7c
mov dword [ebp - 0x94], eax
jmp 0x4326b9
mov eax, dword [ebp + 0x18]
and eax, 0x40000000
je 0x432638
lea ecx, [ebp - 0x2004]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.ole32.dll_CLSIDFromString]
mov dword [ebp - 0x94], eax
push 0x476364
push 0x476360
push 0x47635c
push 0x476358
push 0x4763a0
push 0x47639c
push 0x476398
push 0x476394
mov eax, dword [0x47642c]
push eax
sub esp, 0x34
mov ecx, 0xd
lea esi, [ebp + 0x1c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x10]
shl ecx, 1
push ecx
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x2004]
push ecx
call fcn.00435d10
add esp, 0x68
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jne 0x432633
mov edx, dword [0x47635c]
mov eax, dword [edx + 8]
imul eax, eax, 0xc8
xor edx, edx
mov ecx, 0x3e8
div ecx
mov dword [0x4763a8], eax
mov edx, dword [0x4763a8]
push edx
call fcn.00408907
add esp, 4
mov dword [ebp - 0x2e30], eax
mov eax, dword [ebp - 0x2e30]
mov dword [0x4763a4], eax
mov ecx, dword [0x4763a8]
push ecx
push 0
mov edx, dword [0x4763a4]
push edx
call fcn.004168a0
add esp, 0xc
mov dword [0x4763b0], 0
mov dword [0x4763ac], 0
jmp 0x4326b9
push 0x476364
push 0x476360
push 0x47635c
push 0x476358
push 0x476354
push 0x476350
push 0x475f18
mov eax, dword [0x475f28]
push eax
mov ecx, dword [0x47642c]
push ecx
mov edx, dword [0x475f24]
push edx
mov eax, dword [0x476420]
push eax
mov ecx, dword [0x47641c]
push ecx
mov edx, dword [0x476424]
push edx
mov eax, dword [0x476428]
push eax
sub esp, 0x34
mov ecx, 0xd
lea esi, [ebp + 0x1c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00436850
add esp, 0x7c
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jge 0x4326c7
jmp 0x432dcc
cmp dword [0x476310], 0
je 0x43271e
mov edx, dword [0x476358]
push edx
push str.BufferLengthOut:__d_r_n
lea eax, [ebp - 0x2088]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [0x47630c], 0
je 0x432711
lea ecx, [ebp - 0x2088]
push ecx
mov edx, dword [0x47630c]
push edx
call fcn.00405a10
add esp, 8
mov dword [ebp - 0x208c], eax
lea eax, [ebp - 0x2088]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x46870c
push 0x4763ec
call fcn.00401020
add esp, 8
test eax, eax
je 0x43285f
cmp dword [0x476068], 0
je 0x43285a
push 0x45cdf0
push 0x476104
lea ecx, [ebp - 0x22a0]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0x2090], eax
cmp dword [0x475f2c], 0
jne 0x432788
lea edx, [ebp - 0x22a0]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x432788
mov dword [ebp - 0x2094], 0x80004005
jmp 0x4327a7
push 0
mov eax, dword [0x47635c]
push eax
lea ecx, [ebp - 0x22a0]
push ecx
mov ecx, 0x47606c
call fcn.0043c000
mov dword [ebp - 0x2094], eax
cmp dword [ebp - 0x2094], 0
je 0x43285a
mov dword [ebp - 0x24ac], 1
jmp 0x4327cf
mov edx, dword [ebp - 0x24ac]
add edx, 1
mov dword [ebp - 0x24ac], edx
mov eax, dword [ebp - 0x24ac]
push eax
push 0x45ce10
lea ecx, [ebp - 0x24a8]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea edx, [ebp - 0x24a8]
push edx
push 0x476104
lea eax, [ebp - 0x22a0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0x24b0], eax
cmp dword [0x475f2c], 0
jne 0x432826
lea ecx, [ebp - 0x22a0]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x432826
jmp 0x4327c0
push 0
mov edx, dword [0x47635c]
push edx
lea eax, [ebp - 0x22a0]
push eax
mov ecx, 0x47606c
call fcn.0043c000
mov dword [ebp - 0x2094], eax
cmp dword [ebp - 0x2094], 0
jne 0x432853
jmp 0x43285a
jmp 0x43285a
jmp 0x43299b
push 0x46871c
push 0x4763ec
call fcn.00401020
add esp, 8
test eax, eax
je 0x43299b
cmp dword [0x476068], 0
je 0x43299b
push 0x45ce34
push 0x476104
lea ecx, [ebp - 0x26c0]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0x24b4], eax
cmp dword [0x475f2c], 0
jne 0x4328c9
lea edx, [ebp - 0x26c0]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4328c9
mov dword [ebp - 0x24b8], 0x80004005
jmp 0x4328e8
push 0
mov eax, dword [0x47635c]
push eax
lea ecx, [ebp - 0x26c0]
push ecx
mov ecx, 0x47606c
call fcn.0043c000
mov dword [ebp - 0x24b8], eax
cmp dword [ebp - 0x24b8], 0
je 0x43299b
mov dword [ebp - 0x28cc], 1
jmp 0x432910
mov edx, dword [ebp - 0x28cc]
add edx, 1
mov dword [ebp - 0x28cc], edx
mov eax, dword [ebp - 0x28cc]
push eax
push 0x45ce54
lea ecx, [ebp - 0x28c8]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea edx, [ebp - 0x28c8]
push edx
push 0x476104
lea eax, [ebp - 0x26c0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0x28d0], eax
cmp dword [0x475f2c], 0
jne 0x432967
lea ecx, [ebp - 0x26c0]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x432967
jmp 0x432901
push 0
mov edx, dword [0x47635c]
push edx
lea eax, [ebp - 0x26c0]
push eax
mov ecx, 0x47606c
call fcn.0043c000
mov dword [ebp - 0x24b8], eax
cmp dword [ebp - 0x24b8], 0
jne 0x432994
jmp 0x43299b
jmp 0x43299b
cmp dword [0x476360], 0
je 0x4329ca
cmp dword [0x476364], 0
je 0x4329ca
cmp dword [0x475f1c], 0
je 0x4329ca
push str.Converted_format
mov ecx, dword [0x476364]
push ecx
call fcn.0042e160
add esp, 8
cmp dword [0x47635c], 0
je 0x4329f0
cmp dword [0x475f1c], 0
je 0x4329f0
push 0x45cea0
mov edx, dword [0x47635c]
push edx
call fcn.0042e160
add esp, 8
cmp dword [0x476360], 0
je 0x432be4
mov dword [0x476384], 0
mov dword [ebp - 0x28d4], 0x476320
push 0
mov eax, dword [0x476364]
push eax
mov ecx, dword [ebp - 0x28d4]
push ecx
mov ecx, 0x476368
call fcn.00439070
mov dword [ebp - 0x28d8], eax
cmp dword [ebp - 0x28d8], 0
jne 0x432bda
mov byte [ebp - 0x49], 1
push 0x476380
movzx edx, word [0x47632c]
imul edx, dword [0x474d40]
push edx
mov ecx, 0x476368
call fcn.00438c20
mov dword [ebp - 0x28d8], eax
cmp dword [ebp - 0x28d8], 0
jne 0x432bce
mov eax, dword [0x476380]
push eax
call fcn.00408907
add esp, 4
mov dword [ebp - 0x2e34], eax
mov ecx, dword [ebp - 0x2e34]
mov dword [0x476384], ecx
cmp dword [0x476384], 0
jne 0x432aaa
mov dword [ebp - 0x94], 0x8007000e
jmp 0x432bcc
cmp dword [0x475fcc], 0
je 0x432bcc
push 0x45cec4
push 0x476104
lea edx, [ebp - 0x2ae8]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0x28dc], eax
cmp dword [0x475f2c], 0
jne 0x432afa
lea eax, [ebp - 0x2ae8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x432afa
mov dword [ebp - 0x28e0], 0x80004005
jmp 0x432b1a
push 0
mov ecx, dword [0x476364]
push ecx
lea edx, [ebp - 0x2ae8]
push edx
mov ecx, 0x475fd0
call fcn.0043c000
mov dword [ebp - 0x28e0], eax
cmp dword [ebp - 0x28e0], 0
je 0x432bcc
mov dword [ebp - 0x2cf4], 1
jmp 0x432b42
mov eax, dword [ebp - 0x2cf4]
add eax, 1
mov dword [ebp - 0x2cf4], eax
mov ecx, dword [ebp - 0x2cf4]
push ecx
push 0x45ceec
lea edx, [ebp - 0x2cf0]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x2cf0]
push eax
push 0x476104
lea ecx, [ebp - 0x2ae8]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov dword [ebp - 0x2cf8], eax
cmp dword [0x475f2c], 0
jne 0x432b99
lea edx, [ebp - 0x2ae8]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x432b99
jmp 0x432b33
push 0
mov eax, dword [0x476364]
push eax
lea ecx, [ebp - 0x2ae8]
push ecx
mov ecx, 0x475fd0
call fcn.0043c000
mov dword [ebp - 0x28e0], eax
cmp dword [ebp - 0x28e0], 0
jne 0x432bc5
jmp 0x432bcc
jmp 0x432bcc
jmp 0x432bd8
mov dword [ebp - 0x94], 0x88890008
jmp 0x432be4
mov dword [ebp - 0x94], 0x88890008
cmp dword [ebp - 0x94], 0
jge 0x432bf2
jmp 0x432dcc
mov edx, dword [ebp + 0x18]
and edx, 0x80000000
je 0x432c09
mov dword [0x47634c], 2
jmp 0x432c29
mov eax, dword [ebp + 0x18]
and eax, 0x40000000
je 0x432c1f
mov dword [0x47634c], 3
jmp 0x432c29
mov dword [0x47634c], 1
mov ecx, dword [ebp + 0x18]
and ecx, 0x80000000
je 0x432c5c
mov edx, dword [0x476388]
push edx
call dword [sym.imp.WINMM.dll_waveOutRestart]
mov dword [ebp - 0x2cfc], eax
cmp dword [ebp - 0x2cfc], 0
je 0x432c5a
mov dword [ebp - 0x94], 0x80004005
jmp 0x432ca1
mov eax, dword [ebp + 0x18]
and eax, 0x40000000
je 0x432c88
push 1
push 0
push 0
mov ecx, dword [0x476398]
push ecx
mov edx, dword [0x476398]
mov eax, dword [edx]
mov ecx, dword [eax + 0x30]
call ecx
mov dword [ebp - 0x94], eax
jmp 0x432ca1
mov edx, dword [0x476350]
push edx
mov eax, dword [0x476350]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x28]
call edx
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jge 0x432caf
jmp 0x432dcc
mov byte [ebp - 0x41], 1
mov byte [0x475f19], 0
mov byte [0x475f1a], 0
cmp dword [0x475f20], 0
je 0x432cd6
mov eax, dword [0x475f20]
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x476310], 0
je 0x432d38
call fcn.0042d020
mov dword [ebp - 0x2d84], eax
mov ecx, dword [ebp - 0x2d84]
push ecx
push str.Time_before_ASIOStart___lu_r_n
lea edx, [ebp - 0x2d80]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [0x47630c], 0
je 0x432d2b
lea eax, [ebp - 0x2d80]
push eax
mov ecx, dword [0x47630c]
push ecx
call fcn.00405a10
add esp, 8
mov dword [ebp - 0x2d88], eax
lea edx, [ebp - 0x2d80]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call fcn.0042cef0
mov dword [ebp - 0x90], eax
cmp dword [0x476310], 0
je 0x432da4
call fcn.0042d020
mov dword [ebp - 0x2e0c], eax
mov eax, dword [ebp - 0x2e0c]
push eax
push str.Time_after_ASIOStart___lu_r_n
lea ecx, [ebp - 0x2e08]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [0x47630c], 0
je 0x432d97
lea edx, [ebp - 0x2e08]
push edx
mov eax, dword [0x47630c]
push eax
call fcn.00405a10
add esp, 8
mov dword [ebp - 0x2e10], eax
lea ecx, [ebp - 0x2e08]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [ebp - 0x90], 0
je 0x432db7
mov dword [ebp - 0x94], 0x80004005
cmp dword [ebp - 0x94], 0
jge 0x432dc2
jmp 0x432dcc
mov edx, dword [ebp + 0x50]
mov eax, dword [0x474b98]
mov dword [edx], eax
cmp dword [ebp - 0x94], 0
je 0x433201
mov byte [0x475f18], 1
cmp dword [0x475fcc], 0
je 0x432dfc
cmp dword [0x476360], 0
je 0x432dfc
mov ecx, 0x475fd0
call fcn.0043bb10
cmp dword [0x476068], 0
je 0x432e47
push 0x46870c
push 0x4763ec
call fcn.00401020
add esp, 8
test eax, eax
je 0x432e27
mov ecx, 0x47606c
call fcn.0043bb10
jmp 0x432e47
push 0x46871c
push 0x4763ec
call fcn.00401020
add esp, 8
test eax, eax
je 0x432e47
mov ecx, 0x47606c
call fcn.0043bb10
cmp dword [0x475f30], 0
je 0x432e5a
mov ecx, 0x475f34
call fcn.0043bb10
cmp dword [0x47641c], 0
je 0x432ea5
mov ecx, dword [0x47641c]
push ecx
mov edx, dword [0x47641c]
mov eax, dword [edx]
mov ecx, dword [eax + 0x20]
call ecx
mov dword [ebp - 0x2e14], eax
mov edx, dword [0x47641c]
push edx
mov eax, dword [0x47641c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
call edx
mov dword [ebp - 0x2e14], eax
mov dword [0x47641c], 0
call fcn.0042aaa0
cmp dword [0x476420], 0
je 0x432ef0
mov eax, dword [0x476420]
push eax
mov ecx, dword [0x476420]
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x2e18], eax
mov ecx, dword [0x476420]
push ecx
mov edx, dword [0x476420]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
call ecx
mov dword [ebp - 0x2e18], eax
mov dword [0x476420], 0
call fcn.0042aaa0
cmp dword [0x476428], 0
je 0x432f1e
mov edx, dword [0x476428]
mov dword [ebp - 0x2e38], edx
mov eax, dword [ebp - 0x2e38]
push eax
call fcn.00408912
add esp, 4
mov dword [0x476428], 0
movzx ecx, byte [ebp - 0x41]
test ecx, ecx
je 0x432f72
mov edx, dword [ebp + 0x18]
and edx, 0x80000000
je 0x432f3f
mov eax, dword [0x476388]
push eax
call dword [sym.imp.WINMM.dll_waveOutReset]
jmp 0x432f72
mov ecx, dword [ebp + 0x18]
and ecx, 0x40000000
je 0x432f5f
mov edx, dword [0x476398]
push edx
mov eax, dword [0x476398]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
call edx
jmp 0x432f72
mov eax, dword [0x476350]
push eax
mov ecx, dword [0x476350]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
call eax
cmp dword [0x476384], 0
je 0x432fa0
mov ecx, dword [0x476384]
mov dword [ebp - 0x2e3c], ecx
mov edx, dword [ebp - 0x2e3c]
push edx
call fcn.00408912
add esp, 4
mov dword [0x476384], 0
movzx eax, byte [ebp - 0x49]
test eax, eax
je 0x432fb2
mov ecx, 0x476368
call fcn.00438e20
mov ecx, dword [ebp + 0x18]
and ecx, 0x80000000
je 0x432fdf
mov edx, dword [0x476390]
push edx
push 0x47638c
mov eax, dword [0x476388]
push eax
call fcn.00434840
add esp, 0xc
mov dword [ebp - 0x2e1c], eax
jmp 0x433006
cmp dword [0x476354], 0
je 0x433006
mov ecx, dword [0x476354]
push ecx
mov edx, dword [0x476354]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
call ecx
mov dword [0x476354], 0
mov edx, dword [0x47635c]
push edx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [0x47635c], 0
mov eax, dword [0x476364]
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [0x476364], 0
mov ecx, dword [ebp + 0x18]
and ecx, 0x80000000
je 0x433050
mov edx, dword [0x476388]
push edx
call dword [sym.imp.WINMM.dll_waveOutClose]
jmp 0x4330e9
mov eax, dword [ebp + 0x18]
and eax, 0x40000000
je 0x4330c3
cmp dword [0x476398], 0
je 0x433081
mov ecx, dword [0x476398]
push ecx
mov edx, dword [0x476398]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
call ecx
mov dword [0x476398], 0
cmp dword [0x476394], 0
je 0x4330a7
mov edx, dword [0x476394]
push edx
mov eax, dword [0x476394]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
call edx
mov dword [0x476394], 0
mov eax, dword [0x4763a4]
mov dword [ebp - 0x2e40], eax
mov ecx, dword [ebp - 0x2e40]
push ecx
call fcn.00408912
add esp, 4
jmp 0x4330e9
cmp dword [0x476350], 0
je 0x4330e9
mov edx, dword [0x476350]
push edx
mov eax, dword [0x476350]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
call edx
mov dword [0x476350], 0
cmp dword [0x476348], 0
je 0x433116
mov eax, dword [0x476348]
mov dword [ebp - 0x2e44], eax
mov ecx, dword [ebp - 0x2e44]
push ecx
call fcn.00408912
add esp, 4
mov dword [0x476348], 0
movzx edx, byte [ebp - 0x15]
test edx, edx
je 0x433123
call fcn.0042cc20
movzx eax, byte [ebp - 0x42]
test eax, eax
je 0x43313b
call fcn.0042cff0
call fcn.0044f500
mov byte [ebp - 0x2e1d], al
cmp dword [ebp - 0x3c], 0
je 0x433146
jmp 0x4313e5
cmp dword [ebp - 0x94], 0x8889000a
jne 0x433161
mov eax, 0x64
jmp 0x433203
cmp dword [ebp - 0x94], 0x88890008
jne 0x43317c
mov eax, 0x65
jmp 0x433203
cmp dword [ebp - 0x94], 0x88890004
jne 0x433191
mov eax, 0x66
jmp 0x433203
cmp dword [ebp - 0x94], 0x8889000e
jne 0x4331a6
mov eax, 0x67
jmp 0x433203
cmp dword [ebp - 0x94], 0x8889000f
jne 0x4331bb
mov eax, 0x68
jmp 0x433203
cmp dword [ebp - 0x94], 0x80070057
jne 0x4331d0
mov eax, 3
jmp 0x433203
cmp dword [ebp - 0x94], 0x80096004
jne 0x4331e5
mov eax, 0x1f4
jmp 0x433203
cmp dword [ebp - 0x94], 0x80004021
jne 0x4331fa
mov eax, 0x258
jmp 0x433203
mov eax, 2
jmp 0x433203
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004148bc
mov esp, ebp
pop ebp
ret