Function at 0x5c4470
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
lea esp, [esp - 0x284]
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x18], 0
xor eax, eax
push fcn.005c4400
push ebp
push 0x415340
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x14]
xor edx, edx
call fcn.00408f40
mov word [ebp - 0x10], 0xffff
lea esi, [esi]
add word [ebp - 0x10], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41c]
mov edx, dword [eax + 0x7c]
movzx eax, word [ebp - 0x10]
shl eax, 6
cmp byte [edx + eax + 4], 0
je 0x5c4568
push 0
lea eax, [ebp - 0x18]
call fcn.00403c20
push 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41c]
mov edx, dword [eax + 0x7c]
movzx eax, word [ebp - 0x10]
shl eax, 6
mov edx, dword [edx + eax + 0x30]
mov ecx, 0x68d2d0
lea eax, [ebp - 0x18]
call fcn.00409040
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x14]
call fcn.00409040
mov esi, esi
cmp word [ebp - 0x10], 1
jb 0x5c4508
cmp dword [ebp - 0x14], 0
je 0x5c4590
mov edx, dword [ebp - 0x14]
test edx, edx
je 0x5c4580
mov edx, dword [edx - 4]
sub edx, 1
lea eax, [ebp - 0x14]
xor cx, cx
call fcn.00409be0
mov esi, esi
push 0
lea eax, [ebp - 0x68]
call fcn.00403c20
push 0xff
mov eax, dword [ebp - 4]
lea ecx, [ebp - 0x168]
mov edx, 0xffffffff
call fcn.00405260
lea ecx, [ebp - 0x68]
xor dx, dx
lea eax, [ebp - 0x168]
call fcn.004097c0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x68]
call fcn.0040a5e0
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x64], eax
mov eax, 0x68d01c
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x16c]
call fcn.00403c20
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41c]
mov edx, dword [eax + 0x7c]
mov eax, dword [ebp - 4]
shl eax, 6
mov eax, dword [edx + eax + 0x38]
mov dword [ebp - 0x6c], eax
push 0xff
lea ecx, [ebp - 0x26c]
mov edx, 0xffffffff
mov eax, dword [ebp - 0x6c]
call fcn.00405260
lea ecx, [ebp - 0x16c]
xor dx, dx
lea eax, [ebp - 0x26c]
call fcn.004097c0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x16c]
call fcn.0040a5e0
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x5c], eax
mov eax, 0x68d01c
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41c]
mov edx, dword [eax + 0x7c]
mov eax, dword [ebp - 4]
shl eax, 6
mov eax, dword [edx + eax + 0x30]
mov dword [ebp - 0x54], eax
mov eax, 0x68d01c
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41c]
mov edx, dword [eax + 0x7c]
mov eax, dword [ebp - 4]
shl eax, 6
push dword [edx + eax + 0xc]
push dword [edx + eax + 8]
lea edx, [ebp - 0x270]
xor al, al
call fcn.005bcb50
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x4c], eax
mov eax, 0x68d01c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41c]
mov edx, dword [eax + 0x7c]
mov eax, dword [ebp - 4]
shl eax, 6
push dword [edx + eax + 0x14]
push dword [edx + eax + 0x10]
lea edx, [ebp - 0x274]
xor al, al
call fcn.005bcb50
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x44], eax
mov eax, 0x68d01c
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41c]
mov edx, dword [eax + 0x7c]
mov eax, dword [ebp - 4]
shl eax, 6
push dword [edx + eax + 0x24]
push dword [edx + eax + 0x20]
lea edx, [ebp - 0x278]
xor al, al
call fcn.005bcb50
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x3c], eax
mov eax, 0x68d01c
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x27c]
call fcn.00403c20
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41c]
mov edx, dword [eax + 0x7c]
mov eax, dword [ebp - 4]
shl eax, 6
mov al, byte [edx + eax + 6]
xor ecx, ecx
mov edx, 1
call fcn.005b8580
mov dword [ebp - 0x6c], eax
push 0xff
lea ecx, [ebp - 0x26c]
mov edx, 0xffffffff
mov eax, dword [ebp - 0x6c]
call fcn.00405260
lea ecx, [ebp - 0x27c]
xor dx, dx
lea eax, [ebp - 0x26c]
call fcn.004097c0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x27c]
call fcn.0040a5e0
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x34], eax
mov eax, 0x68d01c
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x280]
call fcn.00403c20
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41c]
mov edx, dword [eax + 0x7c]
mov eax, dword [ebp - 4]
shl eax, 6
mov al, byte [edx + eax + 5]
xor ecx, ecx
mov edx, 1
call fcn.005b8580
mov dword [ebp - 0x6c], eax
push 0xff
lea ecx, [ebp - 0x26c]
mov edx, 0xffffffff
mov eax, dword [ebp - 0x6c]
call fcn.00405260
lea ecx, [ebp - 0x280]
xor dx, dx
lea eax, [ebp - 0x26c]
call fcn.004097c0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x280]
call fcn.0040a5e0
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x2c], eax
mov eax, 0x68d01c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov eax, 0x68d01c
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41c]
mov edx, dword [eax + 0x7c]
mov eax, dword [ebp - 4]
shl eax, 6
push dword [edx + eax + 0x1c]
push dword [edx + eax + 0x18]
lea edx, [ebp - 0x284]
xor al, al
call fcn.005bcb50
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 0xc]
mov ecx, 0x12
call fcn.004092d0
xor eax, eax
pop edx
add esp, 0xc
mov dword fs:[eax], edx
mov eax, ebp
call fcn.005c4400
mov esp, ebp
pop ebp
ret