Function at 0x1800013f4
Capabilities:
Get common file path
Link many functions at runtime

Disassembly:
push rsi
sub rsp, 0x130
xor rax, rax
mov qword [rsp + 0x78], rax
lea rsi, [rsp + 0x20]
mov rdx, 0x100
mov rcx, rsi
call sub.KERNEL32.dll_GetSystemDirectoryA
test rax, rax
je 0x180002d07
lea r8, section..data
mov rdx, 0x100
mov rcx, rsi
call fcn.1800013b0
mov rcx, rsi
call sub.KERNEL32.dll_LoadLibraryA
mov qword [rsi + 0x100], rax
test rax, rax
je 0x180002d07
lea rdx, str.CloseDriver
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010b44], rax
lea rdx, str.DefDriverProc
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010b4c], rax
lea rdx, str.DriverCallback
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010b54], rax
lea rdx, str.DrvGetModuleHandle
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010b5c], rax
lea rdx, str.GetDriverModuleHandle
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010b64], rax
lea rdx, str.OpenDriver
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010b6c], rax
lea rdx, str.PlaySound
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010b74], rax
lea rdx, str.PlaySoundA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010b7c], rax
lea rdx, str.PlaySoundW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010b84], rax
lea rdx, str.SendDriverMessage
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010b8c], rax
lea rdx, str.WOWAppExit
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010b94], rax
lea rdx, str.auxGetDevCapsA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010b9c], rax
lea rdx, str.auxGetDevCapsW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010ba4], rax
lea rdx, str.auxGetNumDevs
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010bac], rax
lea rdx, str.auxGetVolume
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010bb4], rax
lea rdx, str.auxOutMessage
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010bbc], rax
lea rdx, str.auxSetVolume
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010bc4], rax
lea rdx, str.joyConfigChanged
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010bcc], rax
lea rdx, str.joyGetDevCapsA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010bd4], rax
lea rdx, str.joyGetDevCapsW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010bdc], rax
lea rdx, str.joyGetNumDevs
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010be4], rax
lea rdx, str.joyGetPos
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010bec], rax
lea rdx, str.joyGetPosEx
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010bf4], rax
lea rdx, str.joyGetThreshold
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010bfc], rax
lea rdx, str.joyReleaseCapture
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c04], rax
lea rdx, str.joySetCapture
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c0c], rax
lea rdx, str.joySetThreshold
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c14], rax
lea rdx, str.mciDriverNotify
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c1c], rax
lea rdx, str.mciDriverYield
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c24], rax
lea rdx, str.mciExecute
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c2c], rax
lea rdx, str.mciFreeCommandResource
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c34], rax
lea rdx, str.mciGetCreatorTask
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c3c], rax
lea rdx, str.mciGetDeviceIDA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c44], rax
lea rdx, str.mciGetDeviceIDFromElementIDA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c4c], rax
lea rdx, str.mciGetDeviceIDFromElementIDW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c54], rax
lea rdx, str.mciGetDeviceIDW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c5c], rax
lea rdx, str.mciGetDriverData
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c64], rax
lea rdx, str.mciGetErrorStringA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c6c], rax
lea rdx, str.mciGetErrorStringW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c74], rax
lea rdx, str.mciGetYieldProc
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c7c], rax
lea rdx, str.mciLoadCommandResource
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c84], rax
lea rdx, str.mciSendCommandA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c8c], rax
lea rdx, str.mciSendCommandW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c94], rax
lea rdx, str.mciSendStringA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010c9c], rax
lea rdx, str.mciSendStringW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010ca4], rax
lea rdx, str.mciSetDriverData
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010cac], rax
lea rdx, str.mciSetYieldProc
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010cb4], rax
lea rdx, str.midiConnect
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010cbc], rax
lea rdx, str.midiDisconnect
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010cc4], rax
lea rdx, str.midiInAddBuffer
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010ccc], rax
lea rdx, str.midiInClose
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010cd4], rax
lea rdx, str.midiInGetDevCapsA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010cdc], rax
lea rdx, str.midiInGetDevCapsW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010ce4], rax
lea rdx, str.midiInGetErrorTextA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010cec], rax
lea rdx, str.midiInGetErrorTextW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010cf4], rax
lea rdx, str.midiInGetID
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010cfc], rax
lea rdx, str.midiInGetNumDevs
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d04], rax
lea rdx, str.midiInMessage
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d0c], rax
lea rdx, str.midiInOpen
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d14], rax
lea rdx, str.midiInPrepareHeader
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d1c], rax
lea rdx, str.midiInReset
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d24], rax
lea rdx, str.midiInStart
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d2c], rax
lea rdx, str.midiInStop
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d34], rax
lea rdx, str.midiInUnprepareHeader
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d3c], rax
lea rdx, str.midiOutCacheDrumPatches
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d44], rax
lea rdx, str.midiOutCachePatches
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d4c], rax
lea rdx, str.midiOutClose
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d54], rax
lea rdx, str.midiOutGetDevCapsA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d5c], rax
lea rdx, str.midiOutGetDevCapsW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d64], rax
lea rdx, str.midiOutGetErrorTextA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d6c], rax
lea rdx, str.midiOutGetErrorTextW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d74], rax
lea rdx, str.midiOutGetID
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d7c], rax
lea rdx, str.midiOutGetNumDevs
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d84], rax
lea rdx, str.midiOutGetVolume
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d8c], rax
lea rdx, str.midiOutLongMsg
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d94], rax
lea rdx, str.midiOutMessage
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010d9c], rax
lea rdx, str.midiOutOpen
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010da4], rax
lea rdx, str.midiOutPrepareHeader
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010dac], rax
lea rdx, str.midiOutReset
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010db4], rax
lea rdx, str.midiOutSetVolume
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010dbc], rax
lea rdx, str.midiOutShortMsg
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010dc4], rax
lea rdx, str.midiOutUnprepareHeader
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010dcc], rax
lea rdx, str.midiStreamClose
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010dd4], rax
lea rdx, str.midiStreamOpen
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010ddc], rax
lea rdx, str.midiStreamOut
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010de4], rax
lea rdx, str.midiStreamPause
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010dec], rax
lea rdx, str.midiStreamPosition
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010df4], rax
lea rdx, str.midiStreamProperty
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010dfc], rax
lea rdx, str.midiStreamRestart
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e04], rax
lea rdx, str.midiStreamStop
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e0c], rax
lea rdx, str.mixerClose
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e14], rax
lea rdx, str.mixerGetControlDetailsA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e1c], rax
lea rdx, str.mixerGetControlDetailsW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e24], rax
lea rdx, str.mixerGetDevCapsA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e2c], rax
lea rdx, str.mixerGetDevCapsW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e34], rax
lea rdx, str.mixerGetID
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e3c], rax
lea rdx, str.mixerGetLineControlsA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e44], rax
lea rdx, str.mixerGetLineControlsW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e4c], rax
lea rdx, str.mixerGetLineInfoA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e54], rax
lea rdx, str.mixerGetLineInfoW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e5c], rax
lea rdx, str.mixerGetNumDevs
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e64], rax
lea rdx, str.mixerMessage
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e6c], rax
lea rdx, str.mixerOpen
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e74], rax
lea rdx, str.mixerSetControlDetails
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e7c], rax
lea rdx, str.mmDrvInstall
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e84], rax
lea rdx, str.mmGetCurrentTask
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e8c], rax
lea rdx, str.mmTaskBlock
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e94], rax
lea rdx, str.mmTaskCreate
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010e9c], rax
lea rdx, str.mmTaskSignal
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010ea4], rax
lea rdx, str.mmTaskYield
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010eac], rax
lea rdx, str.mmioAdvance
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010eb4], rax
lea rdx, str.mmioAscend
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010ebc], rax
lea rdx, str.mmioClose
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010ec4], rax
lea rdx, str.mmioCreateChunk
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010ecc], rax
lea rdx, str.mmioDescend
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010ed4], rax
lea rdx, str.mmioFlush
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010edc], rax
lea rdx, str.mmioGetInfo
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010ee4], rax
lea rdx, str.mmioInstallIOProcA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010eec], rax
lea rdx, str.mmioInstallIOProcW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010ef4], rax
lea rdx, str.mmioOpenA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010efc], rax
lea rdx, str.mmioOpenW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010f04], rax
lea rdx, str.mmioRead
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010f0c], rax
lea rdx, str.mmioRenameA
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010f14], rax
lea rdx, str.mmioRenameW
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010f1c], rax
lea rdx, str.mmioSeek
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010f24], rax
lea rdx, str.mmioSendMessage
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov qword [0x180010f2c], rax
lea rdx, str.mmioSetBuffer
mov rcx, qword [rsi + 0x100]
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x180002d07
mov rax, qword [rsp + 0x78]
add rsp, 0x130
pop rsi
ret