Function at 0x100c40a0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1018b571
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x101f9224]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0x44], 0
je 0x100c4478
mov esi, dword [ebp + 8]
test esi, esi
js 0x100c4478
mov eax, dword [edi]
call dword [eax + 0x18]
cmp esi, eax
jge 0x100c4478
test esi, esi
jne 0x100c4184
mov esi, dword [edi + 0x30]
test esi, esi
jne 0x100c416e
push 0x38
call fcn.10175e29
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x100c4169
mov eax, dword [0x101a96a0]
sub esp, 0x10
mov ecx, esp
push 0
push dword [edi + 0x44]
mov dword [ecx], eax
mov eax, dword [0x101a96a4]
mov dword [ecx + 4], eax
mov eax, dword [0x101a96a8]
mov dword [ecx + 8], eax
mov eax, dword [0x101a96ac]
mov dword [ecx + 0xc], eax
mov ecx, esi
call fcn.100c3a30
mov dword [esi], vtable.SEHeadlineProvider.0
mov eax, esi
mov dword [esi + 4], vtable.SEHeadlineProvider.1.0
mov dword [edi + 0x30], esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor esi, esi
mov dword [edi + 0x30], esi
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp esi, 1
jne 0x100c421f
mov esi, dword [edi + 0x34]
test esi, esi
jne 0x100c4209
push 0x38
call fcn.10175e29
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
mov dword [ebp - 4], 1
test esi, esi
je 0x100c4204
mov eax, dword [0x101a96b0]
sub esp, 0x10
mov ecx, esp
push 1
push dword [edi + 0x44]
mov dword [ecx], eax
mov eax, dword [0x101a96b4]
mov dword [ecx + 4], eax
mov eax, dword [0x101a96b8]
mov dword [ecx + 8], eax
mov eax, dword [0x101a96bc]
mov dword [ecx + 0xc], eax
mov ecx, esi
call fcn.100c3a30
mov dword [esi], vtable.SEDiagramProvider.0
mov eax, esi
mov dword [esi + 4], vtable.SEDiagramProvider.1.0
mov dword [edi + 0x34], esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor esi, esi
mov dword [edi + 0x34], esi
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp esi, 2
jne 0x100c42ba
mov esi, dword [edi + 0x38]
test esi, esi
jne 0x100c42a4
push 0x38
call fcn.10175e29
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
mov dword [ebp - 4], 2
test esi, esi
je 0x100c429f
mov eax, dword [0x101a96c0]
sub esp, 0x10
mov ecx, esp
push 2
push dword [edi + 0x44]
mov dword [ecx], eax
mov eax, dword [0x101a96c4]
mov dword [ecx + 4], eax
mov eax, dword [0x101a96c8]
mov dword [ecx + 8], eax
mov eax, dword [0x101a96cc]
mov dword [ecx + 0xc], eax
mov ecx, esi
call fcn.100c3a30
mov dword [esi], vtable.SETableProvider.0
mov eax, esi
mov dword [esi + 4], vtable.SETableProvider.1.0
mov dword [edi + 0x38], esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor esi, esi
mov dword [edi + 0x38], esi
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp esi, 3
jne 0x100c4397
mov ebx, dword [edi + 0x3c]
test ebx, ebx
jne 0x100c4381
push 0x44
call fcn.10175e29
mov ebx, eax
add esp, 4
mov dword [ebp - 0x10], ebx
mov dword [ebp - 4], esi
test ebx, ebx
je 0x100c437c
mov eax, dword [0x101a96d0]
sub esp, 0x10
mov ecx, esp
push esi
push dword [edi + 0x44]
mov dword [ecx], eax
mov eax, dword [0x101a96d4]
mov dword [ecx + 4], eax
mov eax, dword [0x101a96d8]
mov dword [ecx + 8], eax
mov eax, dword [0x101a96dc]
mov dword [ecx + 0xc], eax
mov ecx, ebx
call fcn.100c3a30
mov dword [ebx], vtable.SEGraphicProvider.0
mov dword [ebx + 4], vtable.SEGraphicProvider.1.0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
lea eax, [ebp + 8]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebx + 0x38]
mov dword [ebp + 8], 7
call fcn.100c35c0
lea eax, [ebp + 8]
mov dword [ebp + 8], 8
push eax
lea ecx, [ebx + 0x38]
call fcn.100c35c0
mov dword [edi + 0x3c], ebx
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor ebx, ebx
mov dword [edi + 0x3c], ebx
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp esi, 4
jne 0x100c4478
mov ebx, dword [edi + 0x40]
test ebx, ebx
jne 0x100c4462
push 0x44
call fcn.10175e29
mov ebx, eax
add esp, 4
mov dword [ebp - 0x10], ebx
mov dword [ebp - 4], 6
test ebx, ebx
je 0x100c445d
mov eax, dword [0x101a96e0]
sub esp, 0x10
mov ecx, esp
push esi
push dword [edi + 0x44]
mov dword [ecx], eax
mov eax, dword [0x101a96e4]
mov dword [ecx + 4], eax
mov eax, dword [0x101a96e8]
mov dword [ecx + 8], eax
mov eax, dword [0x101a96ec]
mov dword [ecx + 0xc], eax
mov ecx, ebx
call fcn.100c3a30
mov dword [ebx], vtable.SEFieldProvider.0
mov dword [ebx + 4], vtable.SEFieldProvider.1.0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
lea eax, [ebp + 8]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebx + 0x38]
mov dword [ebp + 8], 0xa
call fcn.100c35c0
lea eax, [ebp + 8]
mov dword [ebp + 8], 0x13
push eax
lea ecx, [ebx + 0x38]
call fcn.100c35c0
mov dword [edi + 0x40], ebx
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor ebx, ebx
mov dword [edi + 0x40], ebx
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc