Function at 0x19e0140
Capabilities:
Access peb ldr_data

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, edx
push edi
mov edi, ecx
movzx eax, word [esi]
and byte [esi + 2], 0xf8
mov byte [esi + 7], 0
test byte [edi + 0x40], 0x40
mov dword [ebp - 4], eax
jne 0x19e02c1
mov eax, dword [edi + 0xcc]
xor eax, dword [0x1ac8490]
jne 0x19e0259
lea ecx, [esi + 0x101f]
mov edx, 0xfffff000
and ecx, edx
lea eax, [esi + 0x28]
mov dword [ebp - 8], ecx
cmp ecx, eax
je 0x19e0276
movzx eax, word [esi]
add eax, 0xfffffffe
lea eax, [esi + eax*8]
and eax, edx
cmp eax, ecx
jbe 0x19e0259
sub eax, ecx
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push 0x4000
push eax
lea eax, [ebp - 8]
push eax
push 0xffffffffffffffff
call fcn.01a22b40
mov ebx, eax
cmp ebx, 0xc0000045
je 0x1a3eed3
mov eax, dword fs:[0x30]
test ebx, ebx
js 0x19e0284
mov eax, dword [eax + 0x50]
mov ebx, 0x7ffe0380
test eax, eax
jne 0x19e02e0
mov eax, ebx
cmp byte [eax], 0
jne 0x19e02fc
mov eax, dword [ebp - 4]
add dword [edi + 0x234], eax
inc dword [edi + 0x210]
mov eax, dword fs:[0x30]
inc dword [edi + 0x230]
inc dword [edi + 0x220]
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x19e03c8
mov eax, ebx
cmp byte [eax], 0
jne 0x19e0323
mov eax, dword fs:[0x30]
mov ebx, 0x7ffe038a
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x19e0364
mov eax, ebx
cmp byte [eax], 0
jne 0x19e0380
mov al, byte [esi + 2]
and al, 0x13
or al, 8
mov byte [esi + 2], al
cmp dword [edi + 0x4c], 0
je 0x19e026f
mov al, byte [esi + 1]
xor al, byte [esi + 2]
xor al, byte [esi]
mov byte [esi + 3], al
mov eax, dword [edi + 0x50]
xor dword [esi], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ecx, 0x1000
mov dword [ebp - 8], ecx
jmp 0x19e0194
cmp dword [eax + 0xc], 0
je 0x19e03b9
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
add eax, 0x2c
push eax
push 0x19b4db0
call fcn.019dafb0
pop ecx
pop ecx
push dword [ebp - 4]
push dword [ebp - 8]
push edi
push ebx
push 0x19b4df8
call fcn.019dafb0
add esp, 0x14
jmp 0x19e0259
push 0xfeeefeee
lea eax, [eax*8 - 0x10]
push eax
lea eax, [esi + 0x10]
push eax
call fcn.01a36650
or byte [esi + 2], 4
jmp 0x19e0167
cmp dword [eax], 0
je 0x19e01ec
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x19e01ee
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x19e01f7
mov edx, dword [ebp - 8]
mov ecx, edi
push 7
push dword [ebp - 4]
call fcn.01a92eda
jmp 0x19e01f7
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x19e022e
call fcn.019f1a00
test eax, eax
jne 0x1a3ef14
movzx eax, byte [ebx]
mov ecx, edi
mov edx, dword [ebp - 8]
push eax
mov eax, dword [edi + 0x74]
push 0
push 0
shl eax, 3
push eax
push dword [ebp - 4]
call fcn.01a92df0
jmp 0x19e022e
cmp dword [eax], 0
je 0x19e0244
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x230
jmp 0x19e0246
call fcn.019f1a00
test eax, eax
je 0x19e0398
mov eax, dword fs:[0x30]
mov ebx, dword [eax + 0x50]
add ebx, 0x230
movzx eax, byte [ebx]
mov ecx, edi
mov edx, dword [ebp - 8]
push eax
mov eax, dword [edi + 0x74]
push 0
push 0
shl eax, 3
push eax
push dword [ebp - 4]
call fcn.01a92df0
jmp 0x19e024f
push 0x19b4dbc
call fcn.019dafb0
jmp 0x19e02a9
cmp dword [eax], 0
je 0x19e0223
jmp 0x1a3ef01
push dword [ebp - 4]
push dword [ebp - 8]
call fcn.01a85220
test al, al
je 0x19e01ce
push 0x4000
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
push 0xffffffffffffffff
call fcn.01a22b40
mov ebx, eax
jmp 0x19e01ce
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x19e0225
mov eax, dword fs:[0x30]
mov ebx, dword [eax + 0x50]
add ebx, 0x226
jmp 0x19e0343