Function at 0x4c5064
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov ebx, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4c533f
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0xc]
mov eax, ebx
call fcn.0040b0e0
mov edx, dword [ebp - 0xc]
mov eax, 0x4c5358
call fcn.00404f28
test eax, eax
jle 0x4c50af
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004c5db8
jmp 0x4c5329
xor edx, edx
push ebp
push 0x4c531f
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x487f3c]
call fcn.0048a864
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x330]
call fcn.00491a74
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x334]
call fcn.0047e958
xor edx, edx
push ebp
push 0x4c530e
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x330]
mov edx, dword [ebp - 8]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x334]
mov edx, dword [ebp - 8]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
mov edx, dword [ebp - 8]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x33c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x330]
mov dword [edx + 0x70], eax
mov cl, 1
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.0048aa10
mov eax, dword [ebp - 4]
add eax, 0x368
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x1c]
call fcn.0040495c
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 8]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
mov ebx, dword [eax]
call dword [ebx + 0x2c]
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x330]
call fcn.00491c2c
mov edi, eax
dec edi
test edi, edi
jl 0x4c51b1
inc edi
xor esi, esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x330]
mov edx, esi
call fcn.00491c34
cmp byte [eax + 0x10], 0
je 0x4c51ad
mov bl, 1
jmp 0x4c51b1
inc esi
dec edi
jne 0x4c5193
test bl, bl
je 0x4c51d1
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 8]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x33c]
mov ebx, dword [eax]
call dword [ebx + 0x2c]
jmp 0x4c51e3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x33c]
xor ecx, ecx
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.00470588
mov eax, dword [ebp - 4]
call fcn.004c5a64
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004c58ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00499b84
mov eax, dword [ebp - 4]
cmp dword [eax + 0x368], 0
je 0x4c52ad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
add eax, 0x318
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x368]
call fcn.0040495c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov dl, 1
call fcn.0049a6fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov byte [eax + 0x31e], 1
xor edx, edx
push ebp
push 0x4c5288
push dword fs:[edx]
mov dword fs:[edx], esp
call fcn.00499910
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00499c4c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c52ad
mov eax, dword [ebp - 4]
mov byte [eax + 0x35c], 1
mov eax, dword [ebp - 4]
call fcn.004c67e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x328]
mov edx, dword [eax + 0x228]
cmp edx, dword [eax + 0x224]
jne 0x4c52e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
xor edx, edx
call fcn.004368ac
jmp 0x4c52f8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
mov dl, 1
call fcn.004368ac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c5315
lea eax, [ebp - 8]
call fcn.004109f4
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c5346
lea eax, [ebp - 0xc]
call fcn.00404908
ret