Function at 0x4a3110
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5fd910
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 0x4a322d
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4a322d
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x10], esi
cmp edi, esi
je 0x4a317f
push edi
call fcn.005c4b4a
add esp, 4
test eax, eax
je 0x4a317f
push 0x2e
push edi
call fcn.005c4a9a
add esp, 8
cmp eax, esi
mov dword [esp + 0x10], eax
je 0x4a317f
add eax, 2
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
cmp eax, esi
jle 0x4a322d
mov eax, dword [ebp + 4]
add eax, esi
mov cl, byte [eax + 0x15]
test cl, cl
je 0x4a321c
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 0x4a321c
mov ecx, dword [esp + 0x30]
push edx
push ecx
mov ecx, ebp
call fcn.004a2ef0
test al, al
je 0x4a321c
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 0x4a3334
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4a321c
push eax
lea ecx, [esp + 0x1c]
call fcn.005e124c
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.004a2ef0
test al, al
jne 0x4a3374
lea ecx, [esp + 0x18]
mov dword [esp + 0x24], 0xffffffff
call fcn.005e118c
mov eax, dword [ebp + 8]
inc ebx
add esi, 0x1c
cmp ebx, eax
jl 0x4a318c
xor esi, esi
mov edi, dword [esp + 0x2c]
cmp edi, esi
je 0x4a3480
push edi
call fcn.005c4b4a
add esp, 4
test eax, eax
je 0x4a3480
push 0x2e
push edi
call fcn.005c4a9a
add esp, 8
cmp eax, esi
je 0x4a3480
add eax, 2
lea ecx, [esp + 0x14]
push eax
call fcn.005e124c
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x14]
cmp eax, esi
mov dword [esp + 0x24], 1
mov dword [esp + 0x30], esi
jle 0x4a346f
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.005c8450
add esp, 0xc
test eax, eax
jne 0x4a32c4
mov al, byte [edi + esi]
cmp al, 0x20
je 0x4a33c5
test al, al
je 0x4a33c5
push 0x6a03ac
push esi
call fcn.005c4c40
lea edx, [edi + esi]
add esp, 8
cmp edx, eax
jbe 0x4a32f9
push 0x6a03ac
push esi
call fcn.005c4c40
sub eax, esi
push eax
push ebx
push esi
call fcn.005c8450
add esp, 0x14
test eax, eax
je 0x4a341a
push 0x69feec
push esi
call fcn.005c4c40
mov esi, eax
add esp, 8
test esi, esi
je 0x4a3310
inc esi
jne 0x4a32a2
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 0x4a3289
jmp 0x4a346f
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.005e133c
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.005e133c
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.005e118c
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.005e12c5
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.005e118c
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.005e12c5
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.005e118c
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.005e118c
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