Function at 0x4757c4
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x4c
mov ebx, eax
mov eax, dword [0xb20588]
cmp byte [eax + 0x1778], 0
jne 0x4757e8
cmp dword [eax + 0x17f8], 2
jne 0x475898
add eax, 0x349c
mov eax, dword [eax]
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
mov eax, dword [0xb2058c]
fstp qword [eax + 0x60]
add eax, 0x40
sub esp, 0xc
push eax
call fcn.00737a5c
add esp, 0x10
test al, al
je 0x475884
mov esi, dword [0xb2058c]
lea eax, [esi + 0xa4]
sub esp, 4
push 0xa4
push 0
push eax
call fcn.0080778b
add esp, 0x10
mov dword [esi + 0xa0], 2
mov eax, dword [0xb20584]
call fcn.006036e8
mov ecx, dword [0xb2058c]
mov dword [ecx + 0x144], eax
add ecx, 0xa0
sub esp, 0xc
push ecx
call fcn.0042620c
add esp, 0x10
test eax, eax
je 0x4758a2
mov eax, str.Unable_to_initialize_the_ASIO_driver
call fcn.004394b4
sub esp, 0xc
push dword [0xb7a790]
call fcn.00737d0c
add esp, 0x10
jmp 0x47588e
mov eax, str.Unable_to_load_the_currently_selected_ASIO_driver...
call fcn.004394b4
xor eax, eax
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret
add eax, 0x3490
jmp 0x4757ed
mov eax, dword [0xb20584]
call fcn.00451e38
mov eax, dword [0xb20584]
mov ecx, dword [0xb20588]
mov edx, dword [ecx + 0x3498]
call fcn.0044c95c
mov esi, dword [0xb20584]
mov ecx, dword [0xb2058c]
mov dl, byte [esi + 0x2f1a90]
test dl, dl
je 0x47599f
cmp byte [esi + 0x2f1aa4], 0
je 0x4759d4
cmp byte [esi + 0x2f1ab8], 0
je 0x4759fb
cmp byte [esi + 0x2f1acc], 0
je 0x475a22
cmp byte [esi + 0x2f1ae0], 0
je 0x475a49
cmp byte [esi + 0x2f1af4], 0
je 0x475a70
cmp byte [esi + 0x2f1b08], 0
je 0x475a97
cmp byte [esi + 0x2f1b1c], 0
je 0x475abe
cmp byte [esi + 0x2f1b30], 0
je 0x475ae5
cmp byte [esi + 0x2f1b44], 0
je 0x475b08
cmp byte [esi + 0x2f1b58], 0
je 0x475b2b
cmp byte [esi + 0x2f1b6c], 0
je 0x475b4e
cmp byte [esi + 0x2f1b80], 0
jne 0x475c6b
mov eax, dword [esi + 0x2f1b74]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fld qword [ecx + 0x60]
fucompp
fnstsw ax
sahf
jne 0x475c6b
jnp 0x475b70
jmp 0x475c6b
mov eax, dword [esi + 0x2f1a84]
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
fld qword [ecx + 0x60]
fucompp
fnstsw ax
sahf
jne 0x4758dc
jp 0x4758dc
mov dword [ecx + 0x64], 0x40e77000
mov dword [ecx + 0x60], 0
jmp 0x475b88
mov eax, dword [esi + 0x2f1a98]
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fld qword [ecx + 0x60]
fucompp
fnstsw ax
sahf
jne 0x4758e9
jnp 0x475b70
jmp 0x4758e9
mov eax, dword [esi + 0x2f1aac]
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
fld qword [ecx + 0x60]
fucompp
fnstsw ax
sahf
jne 0x4758f6
jnp 0x475b70
jmp 0x4758f6
mov eax, dword [esi + 0x2f1ac0]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fld qword [ecx + 0x60]
fucompp
fnstsw ax
sahf
jne 0x475903
jnp 0x475b70
jmp 0x475903
mov eax, dword [esi + 0x2f1ad4]
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fld qword [ecx + 0x60]
fucompp
fnstsw ax
sahf
jne 0x475910
jnp 0x475b70
jmp 0x475910
mov eax, dword [esi + 0x2f1ae8]
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fld qword [ecx + 0x60]
fucompp
fnstsw ax
sahf
jne 0x47591d
jnp 0x475b70
jmp 0x47591d
mov eax, dword [esi + 0x2f1afc]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fld qword [ecx + 0x60]
fucompp
fnstsw ax
sahf
jne 0x47592a
jnp 0x475b70
jmp 0x47592a
mov eax, dword [esi + 0x2f1b10]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fld qword [ecx + 0x60]
fucompp
fnstsw ax
sahf
jne 0x475937
jnp 0x475b70
jmp 0x475937
mov eax, dword [esi + 0x2f1b24]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fld qword [ecx + 0x60]
fucompp
fnstsw ax
sahf
jne 0x475944
jnp 0x475b70
jmp 0x475944
mov eax, dword [esi + 0x2f1b38]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fld qword [ecx + 0x60]
fucompp
fnstsw ax
sahf
jne 0x475951
jnp 0x475b70
jmp 0x475951
mov eax, dword [esi + 0x2f1b4c]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fld qword [ecx + 0x60]
fucompp
fnstsw ax
sahf
jne 0x47595e
jnp 0x475b70
jmp 0x47595e
mov eax, dword [esi + 0x2f1b60]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fld qword [ecx + 0x60]
fucompp
fnstsw ax
sahf
jne 0x47596b
jp 0x47596b
xor eax, eax
test dl, dl
mov dword [ecx + 0x64], 0x40e77000
mov dword [ecx + 0x60], 0
jne 0x475c38
mov eax, 1
cmp byte [esi + 0x2f1aa4], 0
jne 0x475c38
mov eax, 2
cmp byte [esi + 0x2f1ab8], 0
jne 0x475c38
mov eax, 3
cmp byte [esi + 0x2f1acc], 0
jne 0x475c38
mov eax, 4
cmp byte [esi + 0x2f1ae0], 0
jne 0x475c38
mov eax, 5
cmp byte [esi + 0x2f1af4], 0
jne 0x475c38
mov eax, 6
cmp byte [esi + 0x2f1b08], 0
jne 0x475c38
mov eax, 7
cmp byte [esi + 0x2f1b1c], 0
jne 0x475c38
mov eax, 8
cmp byte [esi + 0x2f1b30], 0
jne 0x475c38
mov eax, 9
cmp byte [esi + 0x2f1b44], 0
jne 0x475c38
mov eax, 0xa
cmp byte [esi + 0x2f1b58], 0
jne 0x475c38
mov eax, 0xb
cmp byte [esi + 0x2f1b6c], 0
jne 0x475c38
mov eax, 0xc
cmp byte [esi + 0x2f1b80], 0
je 0x475c6b
shl eax, 2
lea edi, [eax + eax*4]
mov edx, dword [esi + edi + 0x2f1a84]
xor ecx, ecx
mov eax, esi
call fcn.0044ac14
mov eax, dword [0xb20584]
mov eax, dword [eax + edi + 0x2f1a84]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov ecx, dword [0xb2058c]
fstp qword [ecx + 0x60]
mov dword [ecx + 0x88], 0x404054
mov dword [ecx + 0x8c], 0x404338
mov dword [ecx + 0x90], 0x40433c
mov dword [ecx + 0x94], fcn.00404068
call fcn.00737940
test eax, eax
mov eax, dword [0xb2058c]
sete byte [eax + 0x168]
lea ecx, [eax + 0x148]
add eax, 0x14c
sub esp, 8
push eax
push ecx
call fcn.00737734
add esp, 0x10
test eax, eax
je 0x475ccc
mov eax, str.Error_when_querying_number_of_channels...
jmp 0x475889
mov eax, dword [0xb2058c]
mov edx, dword [eax + 0x148]
mov ecx, dword [eax + 0x14c]
mov dword [eax + 0x68], edx
mov dword [eax + 0x6c], ecx
test edx, edx
jle 0x475d27
xor esi, esi
mov edi, 0x57c
nop word [eax + eax]
mov dword [eax + edi], esi
mov dword [eax + edi + 4], 1
lea eax, [eax + edi]
sub esp, 0xc
push eax
call fcn.00737854
add esp, 0x10
test eax, eax
jne 0x475da2
inc esi
mov eax, dword [0xb2058c]
add edi, 0x34
cmp esi, dword [eax + 0x68]
jl 0x475cf4
mov ecx, dword [eax + 0x6c]
test ecx, ecx
jle 0x475d70
xor esi, esi
nop dword [eax]
mov ecx, dword [eax + 0x68]
add ecx, esi
imul ecx, ecx, 0x34
lea edx, [eax + ecx + 0x57c]
mov dword [eax + ecx + 0x57c], esi
mov dword [eax + ecx + 0x580], 0
sub esp, 0xc
push edx
call fcn.00737854
add esp, 0x10
test eax, eax
jne 0x475dac
inc esi
mov eax, dword [0xb2058c]
cmp esi, dword [eax + 0x6c]
jl 0x475d34
lea ecx, [eax + 0x150]
lea edx, [eax + 0x154]
lea esi, [eax + 0x158]
lea eax, [eax + 0x15c]
push eax
push esi
push edx
push ecx
call fcn.007377ac
add esp, 0x10
test eax, eax
je 0x475db6
mov eax, str.Error_when_querying_buffer_size...
jmp 0x475889
mov eax, str.Error_when_querying_input_channel_info...
jmp 0x475889
mov eax, str.Error_when_querying_output_channel_info...
jmp 0x475889
mov eax, dword [0xb2058c]
test bl, bl
jne 0x475dd1
mov ecx, dword [eax + 0x158]
mov edx, dword [0xb20588]
mov dword [edx + 0x1780], ecx
add eax, 0xa0
call fcn.00476010
test eax, eax
je 0x475e04
mov eax, str.Error_when_creating_buffers...
call fcn.004394b4
call fcn.007376c0
sub esp, 0xc
push dword [0xb7a790]
call fcn.00737d0c
add esp, 0x10
jmp 0x47588e
mov eax, dword [0xb2058c]
mov dword [eax + 0x80], 0xffffffff
mov dword [eax + 0x7c], 0xffffffff
mov dword [eax + 0x78], 0xffffffff
mov dword [eax + 0x74], 0xffffffff
mov edx, dword [eax + 0x6c]
add edx, dword [eax + 0x68]
jle 0x475e9b
lea ecx, [eax + 0x74]
mov dword [esp + 0xc], ecx
lea edi, [eax + 0x17c]
xor ebx, ebx
mov dword [esp + 8], 0xffffffff
mov ecx, 0xffffffff
mov esi, 0xffffffff
mov ebp, 0xffffffff
cmp dword [edi], 0
je 0x475e6a
test ebp, ebp
js 0x475e81
test esi, esi
jns 0x475e91
mov dword [eax + 0x78], ebx
mov esi, ebx
jmp 0x475e91
test ecx, ecx
js 0x475e8c
cmp dword [esp + 8], 0
jns 0x475e91
mov dword [eax + 0x80], ebx
mov dword [esp + 8], ebx
jmp 0x475e91
mov ebp, dword [esp + 0xc]
mov dword [ebp], ebx
mov ebp, ebx
jmp 0x475e91
mov dword [eax + 0x7c], ebx
mov ecx, ebx
inc ebx
add edi, 0x10
cmp ebx, edx
jl 0x475e56
jmp 0x475ea0
mov ecx, 0xffffffff
mov esi, dword [eax + 0x58c]
lea edi, [esi - 0x10]
mov edx, 4
cmp edi, 5
jae 0x475eba
mov edx, dword [esi*4 + str.Error_when_creating_buffers...]
mov dword [eax + 0x70], edx
shl ecx, 4
imul edx, dword [eax + 0x158]
sub esp, 4
push edx
push 0
push dword [eax + ecx + 0x184]
call fcn.0080778b
add esp, 0x10
mov eax, dword [0xb2058c]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x7c]
shl edx, 4
imul ecx, dword [eax + 0x158]
sub esp, 4
push ecx
push 0
push dword [eax + edx + 0x188]
call fcn.0080778b
add esp, 0x10
mov eax, dword [0xb2058c]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x80]
shl edx, 4
imul ecx, dword [eax + 0x158]
sub esp, 4
push ecx
push 0
push dword [eax + edx + 0x184]
call fcn.0080778b
add esp, 0x10
mov eax, dword [0xb2058c]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x80]
shl edx, 4
imul ecx, dword [eax + 0x158]
sub esp, 4
push ecx
push 0
push dword [eax + edx + 0x188]
call fcn.0080778b
add esp, 0x10
mov eax, dword [0xb2058c]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x74]
shl edx, 4
imul ecx, dword [eax + 0x158]
sub esp, 4
push ecx
push 0
push dword [eax + edx + 0x184]
call fcn.0080778b
add esp, 0x10
mov eax, dword [0xb2058c]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x74]
shl edx, 4
imul ecx, dword [eax + 0x158]
sub esp, 4
push ecx
push 0
push dword [eax + edx + 0x188]
call fcn.0080778b
add esp, 0x10
mov eax, dword [0xb2058c]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x78]
shl edx, 4
imul ecx, dword [eax + 0x158]
sub esp, 4
push ecx
push 0
push dword [eax + edx + 0x184]
call fcn.0080778b
add esp, 0x10
mov eax, dword [0xb2058c]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x78]
shl edx, 4
imul ecx, dword [eax + 0x158]
sub esp, 4
push ecx
push 0
push dword [eax + edx + 0x188]
call fcn.0080778b
add esp, 0x10
mov al, 1
jmp 0x475890