Function at 0x102eefb0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10038246
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1d8
mov eax, dword [0x10046638]
push ebx
push esi
push edi
push 0xb
mov ebx, ecx
mov edi, 0xf
xor esi, esi
push 0x1003a9b4
lea ecx, [esp + 0x18]
mov dword [esp + reloc.WINMM.dll_midiStreamOut], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], esi
mov byte [esp + 0x1c], 0
call fcn.102eee00
mov eax, dword [ebx]
push esi
push 0x100451b8
push 0x100451a0
push esi
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebx
mov dword [esp + reloc.WINMM.dll_midiStreamOut], esi
call dword [eax + 0xc]
push eax
call fcn.1030bd56
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
add esp, 0x14
cmp eax, 0x10
mov dword [esp + reloc.WINMM.dll_midiStreamOut], reloc.WINMM.dll_midiStreamOut
jb 0x102ef053
mov edx, dword [esp + 0x14]
push edx
call fcn.10319193
add esp, 4
mov dword [esp + 0x28], edi
xor eax, eax
mov byte [esp + 0xd0], 0
mov ecx, 0x40
lea edi, [esp + 0xd1]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0xd0]
push eax
push 0x104
mov dword [esp + 0x2c], esi
mov byte [esp + 0x1c], 0
call dword [0x1003a314]
push 0xffffffffffffffff
lea ecx, [esp + 0xd4]
push ecx
lea ecx, [esp + 0x88]
call fcn.102ff3e0
push 0x5c
lea ecx, [esp + 0x84]
mov dword [esp + reloc.WINMM.dll_midiStreamOut], 1
call fcn.102ff220
push 0x1003a9a0
lea ecx, [esp + 0x84]
call fcn.102ff080
mov byte [esp + 0x4c], 0
xor eax, eax
mov ecx, 0xc
lea edi, [esp + 0x4d]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x80]
stosb byte es:[edi], al
call fcn.102fed50
push eax
push 0x32
lea edx, [esp + 0x54]
push edx
push 0x1003a99c
push 0x1003a994
push 0x1003a98c
call dword [0x1003a318]
lea eax, [esp + 0x4c]
lea esi, reloc.WINMM.dll_midiStreamOut
push eax
mov ecx, esi
call fcn.102ff040
mov ecx, esi
call fcn.102fed30
test eax, eax
mov edi, dword [esp + 0xc]
je 0x102ef13b
mov ecx, dword [edi]
push 0x1003a984
push 4
push edi
call dword [ecx + 0x20]
add esp, 0xc
mov ecx, esi
call fcn.102fed40
test al, al
je 0x102ef1b2
xor edx, edx
mov dword [esp + 0x2d], edx
mov dword [esp + 0x31], edx
mov dword [esp + 0x35], edx
mov dword [esp + 0x39], edx
mov dword [esp + 0x3d], edx
mov dword [esp + 0x41], edx
mov dword [esp + 0x45], edx
lea eax, [esp + 0x2c]
mov word [esp + 0x49], dx
push 0x20
push eax
mov byte [esp + 0x34], 0
mov byte [esp + 0x53], dl
call fcn.10308240
add esp, 8
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call fcn.102ff040
mov ecx, esi
call fcn.102fed30
test eax, eax
jne 0x102ef1b2
mov edx, dword [ebp + 8]
push edx
mov ecx, ebx
call fcn.102ec370
test eax, eax
je 0x102ef1b2
mov ecx, esi
call fcn.102fed40
test al, al
jne 0x102ef146
mov ecx, esi
call fcn.102fed30
test eax, eax
je 0x102ef1cd
mov eax, dword [edi]
push 0x1003a97c
push 4
push edi
call dword [eax + 0x20]
add esp, 0xc
mov ecx, esi
call fcn.102fed40
test al, al
je 0x102ef21f
xor ecx, ecx
mov dword [esp + 0x2d], ecx
mov dword [esp + 0x31], ecx
mov dword [esp + 0x35], ecx
mov dword [esp + 0x39], ecx
mov dword [esp + 0x3d], ecx
mov dword [esp + 0x41], ecx
mov dword [esp + 0x45], ecx
lea edx, [esp + 0x2c]
mov word [esp + 0x49], cx
push 0x20
push edx
mov byte [esp + 0x34], 0
mov byte [esp + 0x53], cl
call fcn.10308240
add esp, 8
lea eax, [esp + 0x2c]
push eax
mov ecx, esi
call fcn.102ff040
mov ecx, esi
call fcn.102fed30
test eax, eax
je 0x102ef23a
mov ecx, dword [edi]
push 0x1003a974
push 4
push edi
call dword [ecx + 0x20]
add esp, 0xc
lea ecx, [esp + 0x80]
mov dword [esp + reloc.WINMM.dll_midiStreamOut], reloc.WINMM.dll_midiStreamOut
call fcn.102fece0
mov ecx, dword [esp + reloc.WINMM.dll_midiStreamOut]
mov dword fs:[0], ecx
mov ecx, dword [esp + reloc.WINMM.dll_midiStreamOut]
call fcn.1030b41a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4