Function at 0x10c07990
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x10e28110
push eax
mov eax, dword [0x112362ec]
mov dword fs:[0], esp
sub esp, 0x2c
push ebx
push ebp
push esi
xor ebx, ebx
cmp eax, ebx
push edi
mov edi, ecx
mov esi, 0x20
jne 0x10c07a17
push ebx
push ecx
mov eax, esp
mov dword [eax], ebx
cmp dword [0x110b961c], ebx
mov dword [esp + 0x18], esp
jne 0x10c079e7
push 0x10e44b40
call fcn.10a99cc0
add esp, 4
mov dword [0x110b961c], eax
call fcn.10a97c80
mov eax, dword [0x110b961c]
push 0xffffffffffffffff
push eax
call fcn.10a9a920
mov ecx, dword [0x110b84a0]
add esp, 0x10
push 0x112362ec
mov dword [0x112362ec], eax
call fcn.10a1dec0
mov eax, dword [0x112362ec]
or dword [eax + 0xd4], esi
mov edx, dword [0x112362ec]
mov ecx, dword [edi + 0x10]
mov dword [edx + 0x48], ecx
mov ecx, dword [0x112362ec]
mov eax, dword [edi + 0xc]
mov dword [ecx + 0x4c], eax
mov dl, byte [edi + 0x14]
mov eax, dword [0x112362ec]
mov byte [eax + 0x50], dl
mov cl, byte [edi + 0x18]
mov edx, dword [0x112362ec]
mov byte [edx + 0x51], cl
mov eax, dword [0x112362ec]
mov ebp, dword [eax + 0xd4]
or ebp, esi
mov esi, dword [esp + 0x50]
mov dword [eax + 0xd4], ebp
mov eax, dword [0x112362ec]
mov ecx, dword [edi + 0x1c]
mov ebp, dword [eax + 0xd4]
shl ecx, 6
xor ecx, ebp
and ecx, 0x40
mov edx, ebp
xor edx, ecx
mov dword [eax + 0xd4], edx
mov edx, dword [esi]
mov ecx, esi
call dword [edx]
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x60], esp
push ebx
mov ecx, eax
mov dword [esp + 0x28], 0
mov edx, dword [esp + 0x28]
mov dword [ecx], edx
push ebx
mov dword [esp + 0x30], 0
mov edx, dword [esp + 0x30]
mov dword [ecx + 4], edx
push ebx
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x38]
mov dword [ecx + 8], edx
push 1
mov dword [eax + 0xc], ebx
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x24]
mov eax, dword [0x112362ec]
mov edx, dword [esi]
push ebx
push ebx
push ebx
push eax
mov ecx, esi
call dword [edx + 0x3c]
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x48]
mov eax, dword [edi + 0x24]
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], 0x10eab3e8
mov dword [esp + 0x30], edi
mov edx, dword [edi + 0xc]
xor eax, eax
cmp edx, ebx
setne al
lea eax, [eax*8 + 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x28]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x20], 0x10eab2e0
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], eax
mov byte [esp + 0x44], 1
mov edx, dword [esi]
lea eax, [esp + 0x2c]
push eax
push ebx
mov ecx, esi
call dword [edx + 0x50]
mov edx, dword [esi]
push eax
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call dword [edx + 0x58]
mov ecx, eax
mov eax, dword [edi + 0x24]
cdq
idiv dword [edi + 0x20]
mov ebp, dword [esi]
dec eax
push eax
mov eax, 0xaaaaaaab
mul dword [edi + 0x28]
push ebx
shr edx, 2
push edx
push ecx
push ebx
mov ecx, esi
call dword [ebp + 0x5c]
mov eax, dword [0x110bb4b0]
mov ecx, dword [0x110bb600]
mov ebx, dword [eax + ecx*4]
mov edx, dword [edi + 8]
add ebx, edx
mov dword [eax + ecx*4], ebx
mov ecx, dword [0x110bb4b0]
mov ebx, dword [0x110bb604]
mov eax, 0xaaaaaaab
mul dword [edi + 0x28]
mov eax, dword [ecx + ebx*4]
shr edx, 2
add eax, edx
mov dword [ecx + ebx*4], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x38
ret 8