Function at 0x51a150
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x5b49b8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebp
push esi
push edi
mov esi, ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x1c], 6
call fcn.0057600a
lea ecx, [esp + 0x28]
call fcn.0056d84c
lea ecx, [esp + 0x28]
call fcn.0056d798
lea ecx, [esp + 0x30]
call fcn.0057600a
lea ecx, [esp + 0x30]
call fcn.0056d84c
lea ecx, [esp + 0x30]
call fcn.0056d798
lea ecx, [esp + 0x2c]
call fcn.0057600a
lea ecx, [esp + 0x2c]
call fcn.0056d84c
lea ecx, [esp + 0x2c]
call fcn.0056d798
lea ecx, [esp + 0x34]
call fcn.0057600a
lea ecx, [esp + 0x34]
call fcn.0056d84c
lea ecx, [esp + 0x34]
call fcn.0056d798
mov eax, dword [esp + 0x34]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x51a23c
mov ebp, dword [esi + 0x168]
xor edi, edi
test ebp, ebp
jle 0x51a21b
mov ecx, dword [esi + 0x164]
mov edx, dword [esp + 0x34]
lea eax, [ecx + edi*4]
mov eax, dword [ecx + edi*4]
push eax
push edx
call fcn.0055724d
add esp, 8
test eax, eax
je 0x51a21b
inc edi
cmp edi, ebp
jl 0x51a1f8
cmp edi, ebp
jne 0x51a23c
mov eax, dword [esi + 0x168]
lea ecx, [esi + 0x160]
lea edx, [esp + 0x34]
push edx
push eax
call fcn.0056ff2b
inc dword [esi + 0x204]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x51a2f2
mov ebp, dword [esi + 0x12c]
xor edi, edi
test ebp, ebp
jle 0x51a27a
mov ecx, dword [esi + 0x128]
mov edx, dword [esp + 0x28]
lea eax, [ecx + edi*4]
mov eax, dword [ecx + edi*4]
push eax
push edx
call fcn.0055724d
add esp, 8
test eax, eax
je 0x51a27a
inc edi
cmp edi, ebp
jl 0x51a257
cmp edi, ebp
jne 0x51a29b
mov eax, dword [esi + 0x12c]
lea ecx, [esi + 0x124]
lea edx, [esp + 0x28]
push edx
push eax
call fcn.0056ff2b
inc dword [esi + 0x1f8]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x51a2f2
mov ebp, dword [esi + 0x1b8]
xor edi, edi
test ebp, ebp
jle 0x51a2d1
mov eax, dword [esi + 0x1b4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + edi*4]
mov eax, dword [eax]
push eax
push ecx
call fcn.0055724d
add esp, 8
test eax, eax
je 0x51a2d1
inc edi
cmp edi, ebp
jl 0x51a2af
cmp edi, ebp
jne 0x51a2f2
mov eax, dword [esi + 0x1b8]
lea ecx, [esi + 0x1b0]
lea edx, [esp + 0x28]
push edx
push eax
call fcn.0056ff2b
inc dword [esi + 0x214]
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x51a3a8
mov ebp, dword [esi + 0x154]
xor edi, edi
test ebp, ebp
jle 0x51a330
mov ecx, dword [esi + 0x150]
mov edx, dword [esp + 0x2c]
lea eax, [ecx + edi*4]
mov eax, dword [ecx + edi*4]
push eax
push edx
call fcn.0055724d
add esp, 8
test eax, eax
je 0x51a330
inc edi
cmp edi, ebp
jl 0x51a30d
cmp edi, ebp
jne 0x51a351
mov eax, dword [esi + 0x154]
lea ecx, [esi + 0x14c]
lea edx, [esp + 0x2c]
push edx
push eax
call fcn.0056ff2b
inc dword [esi + 0x200]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x51a3a8
mov ebp, dword [esi + 0x1e0]
xor edi, edi
test ebp, ebp
jle 0x51a387
mov eax, dword [esi + 0x1dc]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + edi*4]
mov eax, dword [eax]
push eax
push ecx
call fcn.0055724d
add esp, 8
test eax, eax
je 0x51a387
inc edi
cmp edi, ebp
jl 0x51a365
cmp edi, ebp
jne 0x51a3a8
mov eax, dword [esi + 0x1e0]
lea ecx, [esi + 0x1d8]
lea edx, [esp + 0x2c]
push edx
push eax
call fcn.0056ff2b
inc dword [esi + 0x21c]
mov eax, dword [esp + 0x30]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x51a45e
mov ebp, dword [esi + 0x140]
xor edi, edi
test ebp, ebp
jle 0x51a3e6
mov ecx, dword [esi + 0x13c]
mov edx, dword [esp + 0x30]
lea eax, [ecx + edi*4]
mov eax, dword [ecx + edi*4]
push eax
push edx
call fcn.0055724d
add esp, 8
test eax, eax
je 0x51a3e6
inc edi
cmp edi, ebp
jl 0x51a3c3
cmp edi, ebp
jne 0x51a407
mov eax, dword [esi + 0x140]
lea ecx, [esi + 0x138]
lea edx, [esp + 0x30]
push edx
push eax
call fcn.0056ff2b
inc dword [esi + 0x1fc]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x51a45e
mov ebp, dword [esi + 0x1cc]
xor edi, edi
test ebp, ebp
jle 0x51a43d
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esp + 0x30]
lea eax, [eax + edi*4]
mov eax, dword [eax]
push eax
push ecx
call fcn.0055724d
add esp, 8
test eax, eax
je 0x51a43d
inc edi
cmp edi, ebp
jl 0x51a41b
cmp edi, ebp
jne 0x51a45e
mov eax, dword [esi + 0x1cc]
lea ecx, [esi + 0x1c4]
lea edx, [esp + 0x30]
push edx
push eax
call fcn.0056ff2b
inc dword [esi + 0x218]
lea eax, [esp + 0x24]
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.00506060
add esp, 8
mov ebp, dword [esi + 0xf0]
xor edi, edi
test ebp, ebp
mov byte [esp + 0x1c], 7
jle 0x51a4a4
mov edx, dword [esi + 0xec]
lea eax, [edx + edi*4]
mov eax, dword [edx + edi*4]
push eax
mov eax, dword [esp + 0x14]
push eax
call fcn.0055724d
add esp, 8
test eax, eax
je 0x51a4a4
inc edi
cmp edi, ebp
jl 0x51a481
cmp edi, ebp
jne 0x51a4c5
mov eax, dword [esi + 0xf0]
lea ecx, [esi + 0xe8]
lea edx, [esp + 0x10]
push edx
push eax
call fcn.0056ff2b
inc dword [esi + 0x1ec]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x51a51c
mov ebp, dword [esi + 0x17c]
xor edi, edi
test ebp, ebp
jle 0x51a4fb
mov eax, dword [esi + 0x178]
mov ecx, dword [esp + 0x10]
lea eax, [eax + edi*4]
mov eax, dword [eax]
push eax
push ecx
call fcn.0055724d
add esp, 8
test eax, eax
je 0x51a4fb
inc edi
cmp edi, ebp
jl 0x51a4d9
cmp edi, ebp
jne 0x51a51c
mov eax, dword [esi + 0x17c]
lea ecx, [esi + 0x174]
lea edx, [esp + 0x10]
push edx
push eax
call fcn.0056ff2b
inc dword [esi + 0x208]
mov ebp, dword [esi + 0x104]
xor edi, edi
test ebp, ebp
jle 0x51a54a
mov eax, dword [esi + 0x100]
mov ecx, dword [esp + 0x24]
lea eax, [eax + edi*4]
mov eax, dword [eax]
push eax
push ecx
call fcn.0055724d
add esp, 8
test eax, eax
je 0x51a54a
inc edi
cmp edi, ebp
jl 0x51a528
cmp edi, ebp
jne 0x51a56b
mov eax, dword [esi + 0x104]
lea ecx, [esi + 0xfc]
lea edx, [esp + 0x24]
push edx
push eax
call fcn.0056ff2b
inc dword [esi + 0x1f0]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x51a5c2
mov ebp, dword [esi + 0x190]
xor edi, edi
test ebp, ebp
jle 0x51a5a1
mov eax, dword [esi + 0x18c]
mov ecx, dword [esp + 0x24]
lea eax, [eax + edi*4]
mov eax, dword [eax]
push eax
push ecx
call fcn.0055724d
add esp, 8
test eax, eax
je 0x51a5a1
inc edi
cmp edi, ebp
jl 0x51a57f
cmp edi, ebp
jne 0x51a5c2
mov eax, dword [esi + 0x190]
lea ecx, [esi + 0x188]
lea edx, [esp + 0x24]
push edx
push eax
call fcn.0056ff2b
inc dword [esi + 0x20c]
mov eax, dword [0x614cb0]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x1c], 8
mov eax, dword [ecx - 8]
test eax, eax
jne 0x51a5e9
lea edx, [esp + 0x24]
lea ecx, [esp + 0x40]
push edx
call fcn.00575c21
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [esp + 0x64]
mov edx, dword [0x64fe78]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x4c]
push 0
push eax
push ecx
mov ecx, dword [edx + 0xa448]
call fcn.004f6dc0
test eax, eax
jl 0x51a6d4
mov ebp, dword [esi + 0x118]
xor edi, edi
test ebp, ebp
jle 0x51a65c
mov eax, dword [esi + 0x114]
mov ecx, dword [esp + 0xc]
lea eax, [eax + edi*4]
mov eax, dword [eax]
push eax
push ecx
call fcn.0055724d
add esp, 8
test eax, eax
je 0x51a65c
inc edi
cmp edi, ebp
jl 0x51a63a
cmp edi, ebp
jne 0x51a67d
mov eax, dword [esi + 0x118]
lea ecx, [esi + 0x110]
lea edx, [esp + 0xc]
push edx
push eax
call fcn.0056ff2b
inc dword [esi + 0x1f4]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x51a6d4
mov ebp, dword [esi + 0x1a4]
xor edi, edi
test ebp, ebp
jle 0x51a6b3
mov eax, dword [esi + 0x1a0]
mov ecx, dword [esp + 0xc]
lea eax, [eax + edi*4]
mov eax, dword [eax]
push eax
push ecx
call fcn.0055724d
add esp, 8
test eax, eax
je 0x51a6b3
inc edi
cmp edi, ebp
jl 0x51a691
cmp edi, ebp
jne 0x51a6d4
mov eax, dword [esi + 0x1a4]
lea ecx, [esi + 0x19c]
lea edx, [esp + 0xc]
push edx
push eax
call fcn.0056ff2b
inc dword [esi + 0x210]
lea ecx, [esp + 0xc]
mov byte [esp + 0x1c], 7
call fcn.00575ae8
lea ecx, [esp + 0x10]
mov byte [esp + 0x1c], 6
call fcn.00575ae8
lea ecx, [esp + 0x24]
mov byte [esp + 0x1c], 5
call fcn.00575ae8
lea ecx, [esp + 0x28]
mov byte [esp + 0x1c], 4
call fcn.00575ae8
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1c], 3
call fcn.00575ae8
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c], 2
call fcn.00575ae8
lea ecx, [esp + 0x34]
mov byte [esp + 0x1c], 1
call fcn.00575ae8
lea ecx, [esp + 0x38]
mov byte [esp + 0x1c], 0
call fcn.00575ae8
lea ecx, [esp + 0x40]
mov dword [esp + 0x1c], 0xffffffff
call fcn.00575ae8
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x14
ret 0x20