Function at 0x100bfe8c
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1015ef00
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x44]
xor ebx, ebx
cmp eax, ebx
jne 0x100bfb24
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x48], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x54], reloc.WINMM.dll_midiStreamOut
pop esi
pop ebx
mov ecx, dword [esp + 8]
mov dword fs:[0], ecx
add esp, 0x14
ret
push ebp
xor ebp, ebp
cmp eax, 1
push edi
jne 0x100bfc4f
mov ecx, esi
call fcn.100bf657
test eax, eax
je 0x100bfb48
mov dword [esi + 0x54], reloc.WINMM.dll_midiStreamOut
jmp 0x100bfcd0
mov eax, dword [esi + 0xc]
cmp eax, 0xe
jne 0x100bfbb9
mov eax, dword [esi + 4]
mov eax, dword [eax - 0xc]
lea edi, [esi + 4]
dec eax
push eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, edi
call fcn.100a8227
push eax
mov ecx, edi
mov dword [esp + 0x24], ebx
call fcn.100a8917
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x20], reloc.WINMM.dll_midiStreamOut
lea edx, [eax + 0xc]
or ecx, reloc.WINMM.dll_midiStreamOut
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x100bfb99
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [esi + 8]
lea eax, [esi + 8]
push ecx
push 0x10169a68
push eax
call fcn.100a7277
mov edx, dword [esi + 0xc]
add esp, 0xc
mov dword [esi + 0x54], edx
jmp 0x100bfcd0
cmp eax, 0xf
jne 0x100bfc12
push 0x101684bc
mov dword [esi + 0x54], eax
lea edi, [esi + 4]
lea eax, [esp + 0x18]
push edi
push eax
call fcn.100b6b67
add esp, 0xc
push eax
mov ecx, edi
mov dword [esp + 0x24], 1
call fcn.100a89e7
lea ecx, [esp + 0x14]
mov dword [esp + 0x20], reloc.WINMM.dll_midiStreamOut
call fcn.100e4da7
mov ecx, dword [esi + 8]
lea eax, [esi + 8]
push ecx
push 0x10169a60
push eax
call fcn.100a7277
add esp, 0xc
jmp 0x100bfcd0
cmp eax, 0x9c
je 0x100bfc32
cmp eax, 0x1c
je 0x100bfc32
push ebx
push eax
mov ecx, esi
call fcn.100bf717
mov edx, dword [esi + 0xc]
mov dword [esi + 0x54], edx
jmp 0x100bfcd0
mov ecx, dword [esi + 8]
mov dword [esi + 0x54], eax
lea eax, [esi + 8]
push ecx
push 0x10169a58
push eax
call fcn.100a7277
add esp, 0xc
jmp 0x100bfcd0
cmp dword [esi + 0x48], ebx
jne 0x100bfcd0
cmp eax, 2
jne 0x100bfcaf
mov eax, dword [esi + 0xc]
cmp eax, 0x2a
je 0x100bfc9b
cmp eax, 0x36
je 0x100bfc9b
mov ecx, dword [esi + 0x10]
cmp ecx, 0x2a
je 0x100bfc8a
cmp ecx, 0x36
je 0x100bfc8a
push ebx
push eax
mov ecx, esi
call fcn.100bf717
mov edx, dword [esi + 0x10]
push ebx
push edx
mov ecx, esi
call fcn.100bf717
jmp 0x100bfcd0
push ebx
push eax
mov ecx, esi
call fcn.100bf717
mov eax, dword [esi + 0xc]
mov dword [esi + 0x54], eax
jmp 0x100bfcd0
mov ecx, dword [esi + 0x10]
push ebx
push ecx
mov ecx, esi
call fcn.100bf717
mov edx, dword [esi + 0x10]
mov dword [esi + 0x54], edx
jmp 0x100bfcd0
jle 0x100bfcd0
xor ebp, ebp
cmp eax, ebx
jle 0x100bfcd0
lea edi, [esi + 0xc]
mov eax, dword [edi]
push ebx
push eax
mov ecx, esi
call fcn.100bf717
mov eax, dword [esi + 0x44]
inc ebp
add edi, 4
cmp ebp, eax
jl 0x100bfcba
mov ebx, dword [esi + 0x48]
mov edi, dword [esi + 0x44]
cmp edi, ebx
jne 0x100bfcf1
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0xc]
push edx
mov ecx, esi
call fcn.100bf627
test eax, eax
jne 0x100bfe72
xor edx, edx
cmp ebx, edx
je 0x100bfe26
mov ecx, esi
call fcn.100bf657
test eax, eax
je 0x100bfdd3
cmp edi, 2
jne 0x100bfd70
mov ecx, dword [esi + 0xc]
cmp ecx, 0x2a
je 0x100bfd1c
cmp ecx, 0x36
jne 0x100bfd3d
mov eax, dword [esi + 0x54]
cmp eax, dword [esi + ebp*4 + 0xc]
je 0x100bfd3d
mov ecx, dword [esi + 0x10]
push 1
push ecx
mov ecx, esi
call fcn.100bf717
mov edx, dword [esi + 0x10]
mov dword [esi + 0x54], edx
jmp 0x100bfe24
mov eax, dword [esi + 0x10]
cmp eax, 0x2a
je 0x100bfd4e
cmp eax, 0x36
jne 0x100bfe24
mov eax, dword [esi + 0x54]
cmp eax, dword [esi + ebp*4 + 0xc]
je 0x100bfe24
push 1
push ecx
mov ecx, esi
call fcn.100bf717
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x54], ecx
jmp 0x100bfe24
jle 0x100bfe24
xor ebx, ebx
test edi, edi
jle 0x100bfe24
lea edi, [esi + 0xc]
lea esp, [esp]
mov eax, dword [esi + 0x48]
xor ecx, ecx
test eax, eax
jle 0x100bfda6
mov edx, dword [edi]
lea eax, [esi + 0x28]
mov edi, edi
cmp edx, dword [eax]
je 0x100bfdc6
mov ebp, dword [esi + 0x48]
inc ecx
add eax, 4
cmp ecx, ebp
jl 0x100bfd97
mov eax, dword [edi]
cmp eax, 0x2a
je 0x100bfdc6
cmp eax, 0x36
je 0x100bfdc6
cmp dword [esi + 0x54], eax
je 0x100bfdc6
push 1
push eax
mov ecx, esi
call fcn.100bf717
mov edx, dword [edi]
mov dword [esi + 0x54], edx
mov eax, dword [esi + 0x44]
inc ebx
add edi, 4
cmp ebx, eax
jl 0x100bfd87
jmp 0x100bfe24
xor ebx, ebx
test edi, edi
jle 0x100bfe24
lea edi, [esi + 0xc]
mov eax, dword [esi + 0x48]
xor ecx, ecx
test eax, eax
jle 0x100bfdf9
mov edx, dword [edi]
lea eax, [esi + 0x28]
cmp edx, dword [eax]
je 0x100bfe19
mov ebp, dword [esi + 0x48]
inc ecx
add eax, 4
cmp ecx, ebp
jl 0x100bfdea
mov eax, dword [edi]
cmp eax, 0x2a
je 0x100bfe19
cmp eax, 0x36
je 0x100bfe19
cmp dword [esi + 0x54], eax
je 0x100bfe19
push 0
push eax
mov ecx, esi
call fcn.100bf717
mov eax, dword [edi]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x44]
inc ebx
add edi, 4
cmp ebx, eax
jl 0x100bfddc
xor edx, edx
lea eax, [esi + 0x28]
mov dword [eax], edx
mov dword [esi + 0x2c], edx
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], edx
mov dword [esi + 0x38], edx
mov dword [esi + 0x3c], edx
mov dword [esi + 0x40], edx
mov edi, dword [esi + 0x44]
xor ecx, ecx
cmp edi, edx
jle 0x100bfe57
nop
mov edi, dword [eax - 0x1c]
mov dword [eax], edi
mov edi, dword [esi + 0x44]
inc ecx
add eax, 4
cmp ecx, edi
jl 0x100bfe47
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], edx
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], edx
mov ecx, dword [esp + 0x18]
pop edi
pop ebp
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret
mov eax, dword [0x101c7a60]
push esi
mov esi, ecx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
test eax, eax
jge 0x100bfea8
push 0x10169a70
push 2
call fcn.10143187
add esp, 8
lea edx, [esi + 0x44]
push edx
lea eax, [esi + 0xc]
push eax
call fcn.100bf2c7
add esp, 8
mov ecx, esi
pop esi
jmp 0x100bfab7