Function at 0x51f514
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xe
push 0
push 0
dec ecx
jne 0x51f51c
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405878
mov ebx, 0x5511f0
xor eax, eax
push ebp
push 0x51fe01
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x28]
mov ecx, 0x51fe18
mov edx, dword [ebp - 4]
call fcn.00405710
mov ecx, dword [ebp - 0x28]
mov dl, 1
mov eax, dword [0x47cdf4]
call fcn.0047ceac
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x51fb8e
push dword fs:[eax]
mov dword fs:[eax], esp
movzx eax, byte [ebx]
push eax
mov ecx, 0x51fe30
mov edx, 0x51fe48
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 1]
push eax
mov edx, 0x51fe48
mov ecx, 0x51fe5c
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 2]
push eax
mov edx, 0x51fe48
mov ecx, 0x51fe74
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 3]
push eax
mov edx, 0x51fe48
mov ecx, 0x51fe8c
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 4]
push eax
mov edx, 0x51fe48
mov ecx, 0x51fea0
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 5]
push eax
mov edx, 0x51fe48
mov ecx, 0x51feb8
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
movzx eax, byte [ebx + 6]
push eax
mov edx, 0x51fe48
mov ecx, 0x51fed0
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 7]
push eax
mov edx, 0x51fe48
mov ecx, 0x51fee8
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 8]
push eax
mov edx, 0x51fe48
mov ecx, 0x51ff00
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 9]
push eax
mov edx, 0x51fe48
mov ecx, 0x51ff18
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0xa]
push eax
mov edx, 0x51fe48
mov ecx, 0x51ff30
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0xb]
push eax
mov edx, 0x51fe48
mov ecx, 0x51ff48
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0xc]
push eax
mov edx, 0x51fe48
mov ecx, 0x51ff60
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0xd]
push eax
mov edx, 0x51fe48
mov ecx, 0x51ff74
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0xe]
push eax
mov edx, 0x51fe48
mov ecx, 0x51ff88
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0xf]
push eax
mov edx, 0x51fe48
mov ecx, 0x51ff9c
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0x10]
push eax
mov edx, 0x51fe48
mov ecx, 0x51ffb0
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0x11]
push eax
mov edx, 0x51fe48
mov ecx, 0x51ffc4
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0x12]
push eax
mov edx, 0x51fe48
mov ecx, 0x51ffd8
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0x13]
push eax
mov edx, 0x51fe48
mov ecx, 0x51ffec
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0x14]
push eax
mov edx, 0x51fe48
mov ecx, 0x520000
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0x15]
push eax
mov edx, 0x51fe48
mov ecx, 0x520014
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0x16]
push eax
mov edx, 0x51fe48
mov ecx, 0x520028
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0x17]
push eax
mov edx, 0x51fe48
mov ecx, 0x52003c
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0x18]
push eax
mov edx, 0x51fe48
mov ecx, 0x520050
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0x19]
push eax
mov edx, 0x51fe48
mov ecx, 0x520068
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0x1a]
push eax
mov edx, 0x51fe48
mov ecx, 0x520084
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
movzx eax, byte [ebx + 0x1b]
push eax
mov edx, 0x51fe48
mov ecx, 0x52009c
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
mov eax, dword [ebx + 0x1c]
push eax
mov edx, 0x51fe48
mov ecx, 0x5200b0
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
movzx eax, byte [ebx + 0x20]
push eax
mov edx, 0x51fe48
mov ecx, 0x5200c8
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
lea eax, [ebp - 0x2c]
lea edx, [ebx + 0x21]
call fcn.00405640
mov eax, dword [ebp - 0x2c]
push eax
mov edx, 0x51fe48
mov ecx, 0x5200d8
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 4]
mov eax, dword [ebx + 0x30]
push eax
mov edx, 0x51fe48
mov ecx, 0x5200ec
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebx + 0x34]
push eax
mov edx, 0x51fe48
mov ecx, 0x520100
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
movzx eax, byte [ebx + 0x38]
push eax
mov edx, 0x51fe48
mov ecx, 0x520114
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
lea eax, [ebp - 0x30]
lea edx, [ebx + 0x39]
call fcn.00405640
mov eax, dword [ebp - 0x30]
push eax
mov edx, 0x51fe48
mov ecx, 0x520128
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 4]
mov eax, dword [ebx + 0x48]
push eax
mov edx, 0x51fe48
mov ecx, 0x520140
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebx + 0x4c]
push eax
mov edx, 0x51fe48
mov ecx, 0x520158
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
movzx eax, byte [ebx + 0x50]
push eax
mov edx, 0x51fe48
mov ecx, 0x520174
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
lea eax, [ebp - 0x34]
lea edx, [ebx + 0x51]
call fcn.00405640
mov eax, dword [ebp - 0x34]
push eax
mov edx, 0x51fe48
mov ecx, 0x520184
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 4]
mov eax, dword [ebx + 0x60]
push eax
mov edx, 0x51fe48
mov ecx, 0x520198
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebx + 0x64]
push eax
mov edx, 0x51fe48
mov ecx, 0x5201ac
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
movzx eax, byte [ebx + 0x38]
push eax
mov edx, 0x51fe48
mov ecx, 0x5201c0
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
lea eax, [ebp - 0x38]
lea edx, [ebx + 0x69]
call fcn.00405640
mov eax, dword [ebp - 0x38]
push eax
mov edx, 0x51fe48
mov ecx, 0x5201d4
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 4]
mov eax, dword [ebx + 0x78]
push eax
mov edx, 0x51fe48
mov ecx, 0x5201ec
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebx + 0x7c]
push eax
mov edx, 0x51fe48
mov ecx, 0x520204
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
movzx eax, byte [ebx + 0x80]
push eax
mov edx, 0x51fe48
mov ecx, 0x520220
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
lea eax, [ebp - 0x3c]
lea edx, [ebx + 0x81]
call fcn.00405640
mov eax, dword [ebp - 0x3c]
push eax
mov edx, 0x51fe48
mov ecx, 0x520238
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 4]
mov eax, dword [ebx + 0x94]
push eax
mov edx, 0x51fe48
mov ecx, 0x520254
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebx + 0x90]
push eax
mov edx, 0x51fe48
mov ecx, 0x520270
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
movzx eax, byte [ebx + 0x99]
push eax
mov edx, 0x51fe48
mov ecx, 0x52028c
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0x9a]
push eax
mov edx, 0x51fe48
mov ecx, 0x5202a0
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0x9b]
push eax
mov edx, 0x51fe48
mov ecx, 0x5202b4
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0xa0]
push eax
mov edx, 0x51fe48
mov ecx, 0x5202cc
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0xa1]
push eax
mov edx, 0x51fe48
mov ecx, 0x5202e0
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0xa2]
push eax
mov edx, 0x51fe48
mov ecx, 0x5202f4
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0xa3]
push eax
mov edx, 0x51fe48
mov ecx, 0x520308
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0xa4]
push eax
mov edx, 0x51fe48
mov ecx, 0x520320
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0xa5]
push eax
mov edx, 0x51fe48
mov ecx, 0x520334
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
mov eax, dword [ebx + 0xa8]
push eax
mov edx, 0x51fe48
mov ecx, 0x52034c
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebx + 0xac]
push eax
mov edx, 0x51fe48
mov ecx, 0x520368
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
movzx eax, byte [ebx + 0xb1]
push eax
mov edx, 0x51fe48
mov ecx, 0x520384
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x14]
movzx eax, byte [ebx + 0xb2]
push eax
mov edx, 0x51fe48
mov ecx, 0x52039c
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0xc]
movzx eax, byte [ebx + 0xb0]
push eax
mov edx, 0x51fe48
mov ecx, 0x5203b4
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0x14]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51fb95
mov eax, dword [ebp - 0x1c]
call fcn.004043d8
ret