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

Disassembly:
sub esp, 0x88
mov eax, dword [str.ff_]
push esi
push edi
mov dword [0x4b0aac], eax
call dword [sym.imp.M2DXFX.dll_public:_static_int___cdecl_DXSound::CDGetVolume_void_]
mov dword [esp + 8], eax
fild dword [esp + 8]
fmul dword [0x45c7c4]
fstp dword [0x4b0ab0]
call dword [sym.imp.M2DXFX.dll_public:_static_int___cdecl_DXSound::GetVolume_void_]
mov dword [esp + 8], eax
mov ecx, dword [0x4bc2c0]
fild dword [esp + 8]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x28], 1
fmul dword [0x45c7c4]
mov dword [esp + 0x58], 0x4300199a
mov dword [esp + 0x54], 0x4300199a
mov dword [esp + 0x50], 0x4300199a
mov dword [esp + 0x4c], 0x4300199a
fstp dword [0x4b0ab4]
fld dword [0x4b0920]
fmul dword [0x45c638]
fstp dword [esp + 0xc]
fld dword [0x45c65c]
fsub dword [esp + 0xc]
fst dword [esp + 0x2c]
fild dword [0x4734f8]
fmul dword [0x45c680]
fst dword [esp + 0x1c]
fsub dword [0x45c7c0]
fst dword [esp + 0x14]
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
fstp dword [esp + 0x30]
fld dword [esp + 0x1c]
fsub dword [0x45c7bc]
mov dword [esp + 0x48], eax
fst dword [esp + 0x40]
fld dword [esp + 0xc]
fadd dword [0x45c65c]
fsub dword [0x45c6b0]
fst dword [esp + 0xc]
fstp dword [esp + 0x34]
mov edx, dword [esp + 0xc]
fstp dword [esp + 0x44]
mov dword [esp + 0x38], edx
call fcn.00433130
mov eax, dword [0x4b0aa8]
xor edi, edi
mov dword [esp + 0x18], edi
add esp, 4
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edx
mov dword [esp + 0x54], 0x4300199a
mov dword [esp + 0x50], 0x4300199a
mov dword [esp + 0x4c], 0x4300199a
mov dword [esp + 0x48], 0x4300199a
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x10], ecx
or ecx, 0xffffffff
fild qword [esp + 0x10]
xor esi, esi
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ecx
fadd dword [0x45c638]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 8], esi
fst dword [esp + 0x70]
fst dword [esp + 0x6c]
fst dword [esp + 0x74]
fstp dword [esp + 0x68]
jmp 0x43b756
mov eax, dword [0x4b0aa8]
fld dword [0x4b0920]
fmul dword [0x45c638]
mov edx, dword [esi*4 + 0x4b0928]
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], edi
fsub dword [0x45c7a0]
fld st(0)
fst dword [esp + 0x2c]
fstp dword [esp + 0x28]
fld dword [esi*4 + 0x4b0aac]
fmul dword [0x45c668]
faddp st(1)
fst dword [esp + 0x34]
fstp dword [esp + 0x30]
fild dword [esp + 8]
fmul dword [0x45c680]
fld st(0)
fsub dword [0x45c79c]
fst dword [esp + 0x44]
fstp dword [esp + 0x38]
fsub dword [0x45c798]
fst dword [esp + 0x40]
fstp dword [esp + 0x3c]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x10], ecx
fild qword [esp + 0x10]
fadd dword [0x45c638]
fst dword [esp + 0x5c]
fstp dword [esp + 0x58]
fld dword [esi*4 + 0x4b0aac]
fmul dword [0x45c6f4]
mov edx, dword [eax + 0x2c]
lea eax, [esp + 0x20]
mov dword [esp + 0x18], edx
push eax
fiadd dword [esp + 0x1c]
fadd dword [0x45c638]
fst dword [esp + 0x68]
fstp dword [esp + 0x64]
call fcn.00433130
add esp, 4
inc esi
cmp esi, 3
mov dword [esp + 8], esi
jl 0x43b751
mov ecx, dword [str.ff_]
push ecx
call fcn.0043b5a0
call dword [sym.imp.M2DXFX.dll_public:_static_int___cdecl_DXInput::ResetConfiguration_void_]
push edi
call dword [sym.imp.M2DXFX.dll_DXInputGetKBStick]
mov ecx, dword [0x4734f8]
add esp, 8
cmp ecx, 3
mov dword [esp + 0xc], eax
jge 0x43b89b
fld dword [ecx*4 + 0x4b0aac]
test al, 2
je 0x43b85a
fadd dword [0x45c7b8]
test al, 1
je 0x43b864
fsub dword [0x45c7b8]
fld dword [0x45c65c]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x43b87d
fstp st(0)
fld dword [0x45c65c]
jmp 0x43b894
fld dword [0x45c690]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43b894
fstp st(0)
fld dword [0x45c690]
fstp dword [ecx*4 + 0x4b0aac]
cmp ecx, 2
push edi
push 0x5622
jne 0x43b8aa
push 0x64
jmp 0x43b8ab
push edi
push 1
call dword [sym.imp.M2DXFX.dll_public:_static_int___cdecl_DXSound::ModifyOveride_int__int__int__int_]
mov eax, dword [esp + 0x1c]
add esp, 0x10
test ah, 2
je 0x43b8e2
cmp dword [0x4bc2c8], edi
jne 0x43b8d8
mov ecx, dword [0x4734f8]
cmp ecx, edi
jle 0x43b8d8
dec ecx
mov dword [0x4734f8], ecx
mov dword [0x4bc2c8], 1
test ah, 4
je 0x43b90b
cmp dword [0x4bc2c8], edi
jne 0x43b901
mov ecx, dword [0x4734f8]
cmp ecx, 4
jge 0x43b901
inc ecx
mov dword [0x4734f8], ecx
mov dword [0x4bc2c8], 1
test ah, 6
jne 0x43b916
mov dword [0x4bc2c8], edi
test eax, 0x40000
je 0x43b991
mov eax, dword [0x4734f8]
sub eax, 3
je 0x43b97f
dec eax
jne 0x43b991
mov dword [0x4a9edc], edi
mov eax, 0x4a9d44
mov ecx, 6
cmp byte [eax], 1
jne 0x43b94a
mov byte [eax + 1], 1
mov byte [eax], 2
mov byte [eax + 2], 2
add eax, 4
dec ecx
jne 0x43b93a
call dword [sym.imp.M2DXFX.dll_public:_static_int___cdecl_DXSound::UnMuteAll_void_]
push edi
call fcn.0042d4c0
lea edx, [esp + 0x10]
push edi
push edx
mov dword [0x4734f8], 3
mov dword [esp + 0x18], 0x40000000
call dword [sym.imp.M2DXFX.dll_public:_static_int___cdecl_DXInput::Write_void___unsigned_long_int_]
add esp, 0xc
jmp 0x43b991
mov dword [0x4a9edc], edi
call dword [sym.imp.M2DXFX.dll_public:_static_int___cdecl_DXInput::SetConfiguration_void_]
call dword [sym.imp.M2DXFX.dll_public:_static_int___cdecl_DXSound::UnMuteAll_void_]
fld dword [0x4b0ab0]
fmul dword [0x45c7b4]
mov eax, dword [0x4b0aac]
mov ecx, dword [0x4b0ab0]
mov edx, dword [0x4b0ab4]
mov dword [str.ff_], eax
mov dword [0x4734f0], ecx
mov dword [0x4734f4], edx
call fcn.004474b4
push eax
call dword [sym.imp.M2DXFX.dll_public:_static_int___cdecl_DXSound::CDSetVolume_int_]
fld dword [0x4b0ab4]
fmul dword [0x45c7b4]
call fcn.004474b4
push eax
call dword [sym.imp.M2DXFX.dll_public:_static_int___cdecl_DXSound::SetVolume_int_]
add esp, 8
pop edi
pop esi
add esp, 0x88
ret