Function at 0x4010f0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x418
mov eax, dword [0x6ce36c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x6f03d0], 0
je 0x401113
xor eax, eax
jmp 0x40134a
push 0x208
lea eax, [ebp - 0x410]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0
push 0
lea ecx, [ebp - 0x208]
push ecx
lea edx, [ebp - 0x418]
push edx
lea eax, [ebp - 0x410]
push eax
call fcn.004caafb
add esp, 0x14
push 0x6993fc
lea ecx, [ebp - 0x208]
push ecx
lea edx, [ebp - 0x418]
push edx
push str._s_s_s
push 0x104
lea eax, [ebp - 0x410]
push eax
call fcn.004caaf6
add esp, 0x18
lea ecx, [ebp - 0x410]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x6f03d0], eax
cmp dword [0x6f03d0], 0
jne 0x401199
mov eax, 1
jmp 0x40134a
push str.GGS4OpenDevice
mov edx, dword [0x6f03d0]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f0380], eax
push str.GGS4CloseDevice
mov eax, dword [0x6f03d0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f0384], eax
push str.GGS4AddDlsW
mov ecx, dword [0x6f03d0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f0388], eax
push str.GGS4AddDlsA
mov edx, dword [0x6f03d0]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f038c], eax
push str.GGS4Play
mov eax, dword [0x6f03d0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f0390], eax
push str.GGS4Stop
mov ecx, dword [0x6f03d0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f0394], eax
push str.GGS4Pause
mov edx, dword [0x6f03d0]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f0398], eax
push str.GGS4Restart
mov eax, dword [0x6f03d0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f039c], eax
push str.GGS4SetMasterTempo
mov ecx, dword [0x6f03d0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f03a0], eax
push str.GGS4SetMasterVolume
mov edx, dword [0x6f03d0]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f03a4], eax
push str.GGS4SetMasterPitch
mov eax, dword [0x6f03d0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f03a8], eax
push str.GGS4GetPlayerStatus
mov ecx, dword [0x6f03d0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f03ac], eax
push str.GGS4AddListFromFileW
mov edx, dword [0x6f03d0]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f03b0], eax
push str.GGS4AddListFromFileA
mov eax, dword [0x6f03d0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f03b4], eax
push str.GGS4AddListFromMemory
mov ecx, dword [0x6f03d0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f03b8], eax
push str.GGS4DeleteListItem
mov edx, dword [0x6f03d0]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f03bc], eax
push str.GGS4ClearList
mov eax, dword [0x6f03d0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f03c0], eax
push str.GGS4EnumList
mov ecx, dword [0x6f03d0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f03c4], eax
push str.GGS4GetSmfInformation
mov edx, dword [0x6f03d0]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6f03c8], eax
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004cac87
mov esp, ebp
pop ebp
ret