Function at 0x4a4990
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x6000d0
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x30]
xor esi, esi
cmp edi, esi
mov ebp, ecx
je 0x4a4aad
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4a4aad
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x10], esi
cmp edi, esi
je 0x4a49ff
push edi
call fcn.005c7292
add esp, 4
test eax, eax
je 0x4a49ff
push 0x2e
push edi
call fcn.005c71e2
add esp, 8
cmp eax, esi
mov dword [esp + 0x10], eax
je 0x4a49ff
add eax, 2
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
cmp eax, esi
jle 0x4a4aad
mov eax, dword [ebp + 4]
add eax, esi
mov cl, byte [eax + 0x15]
test cl, cl
je 0x4a4a9c
mov edx, dword [eax + 0x18]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4a4a9c
mov ecx, dword [esp + 0x30]
push edx
push ecx
mov ecx, ebp
call fcn.004a4770
test al, al
je 0x4a4a9c
mov edx, dword [ebp + 4]
or ecx, 0xffffffff
xor eax, eax
mov edi, dword [edx + esi + 0xc]
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4a4bb4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4a4a9c
push eax
lea ecx, [esp + 0x1c]
call fcn.005e3979
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x24], 0
mov eax, dword [ecx + esi + 0xc]
mov ecx, ebp
push eax
push edx
call fcn.004a4770
test al, al
jne 0x4a4bf4
lea ecx, [esp + 0x18]
mov dword [esp + 0x24], 0xffffffff
call fcn.005e38b9
mov eax, dword [ebp + 8]
inc ebx
add esi, 0x1c
cmp ebx, eax
jl 0x4a4a0c
xor esi, esi
mov edi, dword [esp + 0x2c]
cmp edi, esi
je 0x4a4d00
push edi
call fcn.005c7292
add esp, 4
test eax, eax
je 0x4a4d00
push 0x2e
push edi
call fcn.005c71e2
add esp, 8
cmp eax, esi
je 0x4a4d00
add eax, 2
lea ecx, [esp + 0x14]
push eax
call fcn.005e3979
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x14]
cmp eax, esi
mov dword [esp + 0x24], 1
mov dword [esp + 0x30], esi
jle 0x4a4cef
mov dword [esp + 0x2c], esi
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
mov edi, ebx
mov esi, dword [eax + ecx + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
push edi
push ebx
push esi
call fcn.005cab90
add esp, 0xc
test eax, eax
jne 0x4a4b44
mov al, byte [edi + esi]
cmp al, 0x20
je 0x4a4c45
test al, al
je 0x4a4c45
push 0x6a23bc
push esi
call fcn.005c7380
lea edx, [edi + esi]
add esp, 8
cmp edx, eax
jbe 0x4a4b79
push 0x6a23bc
push esi
call fcn.005c7380
sub eax, esi
push eax
push ebx
push esi
call fcn.005cab90
add esp, 0x14
test eax, eax
je 0x4a4c9a
push 0x6a1efc
push esi
call fcn.005c7380
mov esi, eax
add esp, 8
test esi, esi
je 0x4a4b90
inc esi
jne 0x4a4b22
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebp + 8]
inc eax
add edx, 0x1c
cmp eax, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
jl 0x4a4b09
jmp 0x4a4cef
mov eax, dword [ebp + 4]
lea esi, [ebx*8]
sub esi, ebx
shl esi, 2
mov ecx, dword [eax + esi + 0x10]
push ecx
mov ecx, dword [esp + 0x38]
call fcn.005e3a69
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x38]
pop edi
mov eax, dword [edx + esi]
pop esi
mov dword [ecx], eax
pop ebp
mov al, 1
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 0x10
mov edx, dword [ebp + 4]
lea esi, [ebx*8]
mov ecx, dword [esp + 0x34]
sub esi, ebx
shl esi, 2
mov eax, dword [edx + esi + 0x10]
push eax
call fcn.005e3a69
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x24], 0xffffffff
mov ecx, dword [eax + esi]
mov dword [edx], ecx
lea ecx, [esp + 0x18]
call fcn.005e38b9
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x30]
lea esi, [eax*8]
sub esi, eax
mov eax, dword [ebp + 4]
shl esi, 2
lea ecx, [eax + esi + 4]
push ecx
mov ecx, dword [esp + 0x38]
call fcn.005e39f2
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x24], 0xffffffff
mov eax, dword [edx + esi]
mov dword [ecx], eax
lea ecx, [esp + 0x14]
call fcn.005e38b9
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x30]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x34]
lea esi, [eax*8]
sub esi, eax
shl esi, 2
lea eax, [edx + esi + 4]
push eax
call fcn.005e39f2
mov ecx, dword [ebp + 4]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x24], 0xffffffff
mov edx, dword [ecx + esi]
lea ecx, [esp + 0x14]
mov dword [eax], edx
call fcn.005e38b9
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 0x10
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0xffffffff
call fcn.005e38b9
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret 0x10