Function at 0x10b3dc30
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10e23320
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push ebx
xor ebx, ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov esi, dword [esp + 0x60]
push ebx
lea eax, [esp + 0x2c]
push eax
push str.ClassName
push esi
mov dword [esp + 0x68], ebx
call fcn.109bb350
mov ecx, dword [edi + 0x90]
add esp, 0x10
cmp ecx, ebx
je 0x10b3dcd2
lea edx, [esp + 0x28]
push edx
call fcn.10b3c640
test eax, eax
jne 0x10b3dcd2
lea ecx, [esp + 0x28]
mov dword [esp + 0x58], 0xffffffff
call fcn.10b36760
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
add esp, 0x50
ret 4
push ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
push ebx
lea eax, [esp + 0x18]
push eax
push str.FriendlyName
push esi
mov byte [esp + 0x6c], 1
call fcn.109bb350
add esp, 0x10
test eax, eax
je 0x10b3dd8a
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
lea ecx, [esp + 0x20]
push ecx
push 0x10e476d4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x64], 2
call fcn.109d51d0
cmp dword [esp + 0x24], 2
jle 0x10b3dd7c
mov eax, dword [esp + 0x20]
cmp dword [eax + 4], ebx
je 0x10b3dd38
mov ebp, dword [eax]
jmp 0x10b3dd3d
mov ebp, 0x10e43c3c
cmp dword [eax + 0x1c], ebx
je 0x10b3dd47
mov edi, dword [eax + 0x18]
jmp 0x10b3dd4c
mov edi, 0x10e43c3c
cmp dword [eax + 0x10], ebx
je 0x10b3dd56
mov esi, dword [eax + 0xc]
jmp 0x10b3dd5b
mov esi, 0x10e43c3c
push 1
call fcn.109c2d50
push eax
push ebp
push edi
push esi
call fcn.109bb470
add esp, 0x14
push eax
lea ecx, [esp + 0x3c]
call fcn.10905740
mov esi, dword [esp + 0x64]
lea ecx, [esp + 0x20]
mov byte [esp + 0x5c], 1
call fcn.10914b10
push ebx
lea edx, [esp + 0x18]
push edx
push 0x10e65dd0
push esi
call fcn.109bb350
add esp, 0x10
test eax, eax
je 0x10b3de30
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
lea eax, [esp + 0x20]
push eax
push 0x10e476d4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x64], 3
call fcn.109d51d0
cmp dword [esp + 0x24], 2
jle 0x10b3de22
mov eax, dword [esp + 0x20]
cmp dword [eax + 4], ebx
je 0x10b3ddde
mov ebp, dword [eax]
jmp 0x10b3dde3
mov ebp, 0x10e43c3c
cmp dword [eax + 0x1c], ebx
je 0x10b3dded
mov edi, dword [eax + 0x18]
jmp 0x10b3ddf2
mov edi, 0x10e43c3c
cmp dword [eax + 0x10], ebx
je 0x10b3ddfc
mov esi, dword [eax + 0xc]
jmp 0x10b3de01
mov esi, 0x10e43c3c
push 1
call fcn.109c2d50
push eax
push ebp
push edi
push esi
call fcn.109bb470
add esp, 0x14
push eax
lea ecx, [esp + 0x48]
call fcn.10905740
mov esi, dword [esp + 0x64]
lea ecx, [esp + 0x20]
mov byte [esp + 0x5c], 1
call fcn.10914b10
mov eax, dword [esp + 0x3c]
cmp eax, ebx
pop ebp
je 0x10b3de3e
dec eax
cmp eax, ebx
jne 0x10b3de52
push ebx
lea ecx, [esp + 0x38]
push ecx
push str.FallbackName
push esi
call fcn.109bb350
add esp, 0x10
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x10b3de5f
dec eax
cmp eax, ebx
jne 0x10b3de73
push ebx
lea edx, [esp + 0x44]
push edx
push str.FallbackDesc
push esi
call fcn.109bb350
add esp, 0x10
mov esi, dword [esp + 0xc]
push 1
add esi, 0x5c
push 0x28
mov ecx, esi
call fcn.10923200
lea edx, [eax + eax*4]
mov dword [esp + 0x4c], eax
mov eax, dword [esi]
lea ecx, [esp + 0x28]
push ecx
lea ecx, [eax + edx*8]
call fcn.10b37170
lea ecx, [esp + 0x10]
mov byte [esp + 0x58], bl
call fcn.10902a90
lea ecx, [esp + 0x28]
mov dword [esp + 0x58], 0xffffffff
call fcn.10b36760
mov ecx, dword [esp + 0x50]
pop edi
pop esi
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x50
ret 4