Function at 0x100277e0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b9570
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x100d0008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [ebp - 0x30], ebx
call fcn.10026ad0
mov ecx, dword [0x100f4898]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x100f489c]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov dword [0x100e31b8], eax
call fcn.100afb30
call fcn.1009fd40
mov ecx, 0x100e32d8
call fcn.100296d0
call fcn.1001b9a0
mov esi, 0x100d00d4
mov ecx, esi
call fcn.10026cc0
add esi, 0x47c
cmp esi, 0x100e1fd4
jne 0x10027853
mov ecx, 0x100f974c
call fcn.10029630
mov ecx, 0x100f9760
call fcn.10029630
mov ecx, dword [0x100f4898]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
mov edi, eax
mov dword [0x100f4900], edi
test edi, edi
je 0x10027a7f
mov eax, dword [0x100f4cc4]
mov dword [0x100f4cc4], ebx
test eax, eax
je 0x100278e4
push fcn.10019190
lea esi, [eax - 4]
mov dword [ebp - 4], 0
push dword [esi]
push 4
push eax
call fcn.100b7926
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100b78e8
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov edi, dword [0x100f4900]
mov eax, dword [0x100f4cbc]
test eax, eax
je 0x100278fb
mov ecx, dword [0x100f4cc0]
mov dword [eax], ecx
mov edi, dword [0x100f4900]
mov dword [0x100f4cc0], 0
mov dword [0x100f4cc8], 0
mov byte [0x100f4ccc], 0
mov dword [0x100f4cbc], edi
mov eax, dword [edi]
mov dword [0x100f4cc0], eax
test eax, eax
je 0x10027a02
xor esi, esi
nop dword [eax]
mov eax, dword [0x100f4cc0]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x1002795f
mov eax, dword [0x100f4784]
lea edx, [ebp - 0x2c]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1002795f
mov eax, dword [ebp - 0x18]
test al, 1
jne 0x1002795f
test eax, 0x100
jne 0x1002795f
inc esi
jmp 0x10027930
mov dword [0x100f4cc8], esi
test esi, esi
je 0x100279f2
lea edx, [esi + 1]
lea ecx, [ebp - 0x30]
call fcn.10029d30
push eax
mov ecx, 0x100f4cc4
call fcn.10029580
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x100279b6
push fcn.10019190
lea esi, [eax - 4]
mov dword [ebp - 4], 1
push dword [esi]
push 4
push eax
call fcn.100b7926
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100b78e8
add esp, 8
mov esi, dword [0x100f4cc4]
test esi, esi
je 0x100279f2
mov eax, dword [0x100f4cc8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x100f4cc0]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, 0x2a
add esi, 4
mov dword [edi], esi
mov byte [0x100f4ccc], 1
jmp 0x10027a07
cmp byte [0x100f4ccc], 0
je 0x10027a02
mov eax, 0x2a
jmp 0x10027a07
mov eax, 0x29
cmp dword [0x100f4cc0], 0
je 0x10027a4f
mov esi, dword [0x100f4cc4]
test esi, esi
je 0x10027a4f
cmp eax, dword [0x100f4cc8]
ja 0x10027a4f
mov dword [esi + eax*4], 0x100ab170
mov eax, dword [0x100f4cc0]
mov ecx, dword [eax + 0xa4]
neg ecx
sbb ecx, ecx
add ecx, 2
mov ebx, ecx
mov eax, ecx
and ebx, 0xfffffffd
and al, 2
cmove ebx, ecx
test bl, 1
je 0x10027a4f
and ebx, 0xfffffffe
xor eax, eax
cmp byte [0x100f4ccc], al
setne al
add eax, 0x30
cmp dword [0x100f4cc0], 0
je 0x10027a7f
mov esi, dword [0x100f4cc4]
test esi, esi
je 0x10027a7f
cmp eax, dword [0x100f4cc8]
ja 0x10027a7f
mov dword [esi + eax*4], 0x100ab0e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100b78d7
mov esp, ebp
pop ebp
ret