Function at 0x4a1390
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5fb970
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 0x4a14ad
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4a14ad
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x10], esi
cmp edi, esi
je 0x4a13ff
push edi
call fcn.005c2c42
add esp, 4
test eax, eax
je 0x4a13ff
push 0x2e
push edi
call fcn.005c2b92
add esp, 8
cmp eax, esi
mov dword [esp + 0x10], eax
je 0x4a13ff
add eax, 2
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
cmp eax, esi
jle 0x4a14ad
mov eax, dword [ebp + 4]
add eax, esi
mov cl, byte [eax + 0x15]
test cl, cl
je 0x4a149c
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 0x4a149c
mov ecx, dword [esp + 0x30]
push edx
push ecx
mov ecx, ebp
call fcn.004a1170
test al, al
je 0x4a149c
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 0x4a15b4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4a149c
push eax
lea ecx, [esp + 0x1c]
call fcn.005df326
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.004a1170
test al, al
jne 0x4a15f4
lea ecx, [esp + 0x18]
mov dword [esp + 0x24], 0xffffffff
call fcn.005df266
mov eax, dword [ebp + 8]
inc ebx
add esi, 0x1c
cmp ebx, eax
jl 0x4a140c
xor esi, esi
mov edi, dword [esp + 0x2c]
cmp edi, esi
je 0x4a1700
push edi
call fcn.005c2c42
add esp, 4
test eax, eax
je 0x4a1700
push 0x2e
push edi
call fcn.005c2b92
add esp, 8
cmp eax, esi
je 0x4a1700
add eax, 2
lea ecx, [esp + 0x14]
push eax
call fcn.005df326
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x14]
cmp eax, esi
mov dword [esp + 0x24], 1
mov dword [esp + 0x30], esi
jle 0x4a16ef
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.005c6540
add esp, 0xc
test eax, eax
jne 0x4a1544
mov al, byte [edi + esi]
cmp al, 0x20
je 0x4a1645
test al, al
je 0x4a1645
push 0x69e3ac
push esi
call fcn.005c2d30
lea edx, [edi + esi]
add esp, 8
cmp edx, eax
jbe 0x4a1579
push 0x69e3ac
push esi
call fcn.005c2d30
sub eax, esi
push eax
push ebx
push esi
call fcn.005c6540
add esp, 0x14
test eax, eax
je 0x4a169a
push 0x69deec
push esi
call fcn.005c2d30
mov esi, eax
add esp, 8
test esi, esi
je 0x4a1590
inc esi
jne 0x4a1522
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 0x4a1509
jmp 0x4a16ef
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.005df416
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.005df416
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.005df266
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.005df39f
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.005df266
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.005df39f
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.005df266
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.005df266
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