Function at 0x19dec25
Capabilities:
Access peb ldr_data

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x1acd344]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, edx
push ebx
push esi
push edi
mov edx, dword [eax]
mov edi, ecx
mov dword [ebp - 0x10], eax
call fcn.019df090
mov ecx, eax
lea esi, [edi + 0x8c]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x19deea0
cmp dword [0x1ac84ac], 1
mov edx, dword [ebp - 0x10]
jge 0x1a3e305
lea esi, [ecx - 8]
mov al, byte [esi + 6]
test al, al
jne 0x19dee5c
mov dword [ebp - 0xc], edi
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0xcc]
xor eax, dword [0x1ac8490]
mov dword [ebp - 8], eax
jne 0x1a3e362
mov eax, dword [ecx + 0x14]
mov ecx, eax
sub ecx, dword [edx]
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x6c]
shl eax, 3
cmp ecx, eax
jbe 0x19deea4
xor edx, edx
mov ecx, edi
inc edx
call fcn.019df147
push eax
push 0x1000
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push 0
push eax
push 0xffffffffffffffff
call fcn.01a22ac0
inc dword [edi + 0x20c]
test eax, eax
js 0x1a3e378
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x1a3e383
mov eax, 0x7ffe0380
cmp byte [eax], 0
jne 0x1a3e39f
xor edx, edx
cmp dword [edi + 0x4c], edx
je 0x19ded19
mov eax, dword [edi + 0x50]
xor dword [esi], eax
mov al, byte [esi + 2]
xor al, byte [esi + 1]
xor al, byte [esi]
cmp byte [esi + 3], al
jne 0x1a3e3c8
mov eax, dword [ebp - 0x14]
add eax, 8
mov byte [esi + 2], dl
mov byte [esi + 7], dl
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebx + 4]
mov ecx, dword [ecx]
cmp ecx, ebx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0xc]
jne 0x1a3e3d9
cmp dword [ebp - 8], eax
jne 0x1a3e3d9
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov dword [ebx], eax
mov dword [eax + 4], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ecx + 0x14], 0
je 0x19ded97
mov eax, dword [edi + 0xb8]
test eax, eax
jne 0x1a3e3f5
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ebx, dword [eax + 4]
cmp dword [edx], ebx
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0xc]
jne 0x1a3e439
cmp dword [edx], ecx
jne 0x1a3e439
mov dword [edx], eax
mov dword [eax + 4], edx
dec dword [ebx + 0x30]
mov eax, dword [ecx + 0x14]
shr eax, 0xc
sub dword [ebx + 0x2c], eax
mov eax, dword [ecx + 0x14]
add dword [edi + 0x1e8], eax
inc dword [edi + 0x1fc]
dec dword [edi + 0x1f8]
mov eax, dword [ecx + 0x14]
cmp eax, 0x7f000
jb 0x19dedc8
sub dword [edi + 0x1ec], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x14]
mov ebx, dword [ebp - 0xc]
cmp eax, dword [edx]
jbe 0x19deebc
push edx
mov edx, dword [edx]
sub eax, edx
push esi
push eax
mov eax, dword [ecx + 0x10]
add edx, 0xffffffe8
add eax, edx
mov ecx, edi
push eax
mov edx, ebx
call fcn.019deede
mov edx, dword [ebp - 0x10]
shl dword [edx], 3
xor ecx, ecx
mov byte [esi + 3], cl
mov edx, dword [ebx + 0x18]
cmp edx, ebx
jne 0x19dee7a
mov eax, dword fs:[0x30]
mov byte [esi + 6], cl
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x1a3e464
mov ebx, 0x7ffe0380
mov eax, ebx
cmp byte [eax], 0
jne 0x1a3e485
mov eax, dword fs:[0x30]
mov ebx, 0x7ffe038a
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x1a3e4ce
mov eax, ebx
cmp byte [eax], 0
jne 0x1a3e4ea
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01a24a40
mov esp, ebp
pop ebp
ret
movzx eax, al
mov ebx, esi
shl eax, 0x10
and ebx, 0xffff0000
sub ebx, eax
add ebx, 0x10000
mov dword [ebp - 0xc], ebx
jmp 0x19dec7c
mov eax, dword [ebp - 0xc]
mov ebx, esi
sub ebx, eax
shr ebx, 0x10
inc ebx
test ebx, ebx
jle 0x1a3e453
cmp ebx, 0xfe
jge 0x1a3e453
mov cl, bl
jmp 0x19dee04
xor eax, eax
jmp 0x19dee4b
mov eax, dword [edi + 0x5c]
mov ecx, dword [ebp - 8]
shl eax, 3
cmp ecx, eax
jae 0x19decaf
mov dword [edx], ecx
jmp 0x19decaf
mov eax, dword [ecx + 0x10]
add eax, dword [ecx + 0x14]
cmp eax, dword [ebx + 0x28]
jne 0x19deecf
mov eax, dword [ecx + 0x14]
jmp 0x19dedd9
movzx eax, word [esi]
mov ecx, dword [edx]
lea eax, [ecx + eax*8]
mov dword [edx], eax
jmp 0x19dedf8
mov eax, dword [ecx + 0x14]
cmp eax, dword [edx]
jae 0x19dec6b
mov eax, dword fs:[0x30]
cmp dword [eax + 0xc], 0
je 0x1a3e339
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
jmp 0x1a3e343
push 0x19b4dbc
call fcn.019dafb0
pop ecx
push 0x19cc82c
call fcn.019dafb0
pop ecx
xor ecx, ecx
inc ecx
call fcn.01a36019
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
jmp 0x19dec6b
push edx
lea ecx, [ebp - 0x1c]
push ecx
push edi
mov ecx, eax
call dword [0x1ac91d0]
call dword [ebp - 8]
jmp 0x19decd5
inc dword [edi + 0x214]
jmp 0x19deea0
cmp dword [eax], 0
je 0x19decee
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x19decf3
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x19decfc
mov eax, dword [ebp - 0x10]
mov ecx, edi
mov edx, dword [ebp - 0x1c]
push 2
push dword [eax]
call fcn.01a92d69
jmp 0x19decfc
push ecx
mov edx, esi
mov ecx, edi
call fcn.01a915a8
xor edx, edx
jmp 0x19ded19
push edx
push dword [ebp - 8]
xor edx, edx
push dword [ebp - 0x18]
push eax
push 0xc
pop ecx
call fcn.01a36033
mov ecx, dword [ebp - 0x14]
xor edx, edx
jmp 0x19ded60
mov ebx, dword [ecx + 0x14]
shr ebx, 0xc
mov dword [ebp - 8], ebx
jmp 0x1a3e412
mov ecx, dword [eax]
test ecx, ecx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x14]
je 0x1a3e419
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 8]
cmp ebx, dword [eax + 4]
jae 0x1a3e400
jmp 0x1a3e420
mov ebx, dword [eax + 4]
dec ebx
mov dword [ebp - 8], ebx
push dword [ecx + 0x14]
push dword [ebp - 8]
push ecx
push edx
mov edx, eax
mov ecx, edi
call fcn.019e0895
mov ecx, dword [ebp - 0x14]
jmp 0x19ded74
push 0
push dword [edx]
xor edx, edx
push dword [ebp - 0x18]
push ecx
push 0xc
pop ecx
call fcn.01a36033
mov ecx, dword [ebp - 0x14]
jmp 0x19ded97
push ecx
push ecx
push eax
push esi
push 3
pop ecx
call fcn.01a36033
jmp 0x19dee99
cmp dword [eax], 0
je 0x19dee18
mov eax, dword fs:[0x30]
mov ebx, 0x7ffe0380
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x19dee1f
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x19dee28
call fcn.019f1a00
test eax, eax
je 0x1a3e4b0
mov eax, dword fs:[0x30]
mov ebx, dword [eax + 0x50]
add ebx, 0x226
movzx eax, byte [ebx]
mov edx, esi
push eax
mov eax, dword [edi + 0x74]
mov ecx, edi
shl eax, 3
push eax
mov eax, dword [ebp - 0x10]
push dword [eax]
call fcn.01a92f61
jmp 0x19dee28
cmp dword [eax], 0
je 0x19dee3e
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x230
jmp 0x19dee40
call fcn.019f1a00
test eax, eax
je 0x1a3e502
mov eax, dword fs:[0x30]
mov ebx, dword [eax + 0x50]
add ebx, 0x230
movzx eax, byte [ebx]
mov edx, esi
mov ecx, dword [edi + 0x74]
push eax
mov eax, dword [ebp - 0x10]
shl ecx, 3
push ecx
mov ecx, edi
push dword [eax]
call fcn.01a92f61
jmp 0x19dee49