Function at 0x51fdf0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
mov ebx, eax
xor eax, eax
push ebp
push 0x5200fd
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, 0x520114
call fcn.00404aa8
push 0
mov ecx, 0x520124
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ec03c
mov edx, dword [ebx + 0x108]
mov dword [edx + 4], eax
push 0
mov ecx, 0x520138
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ec03c
mov edx, dword [ebx + 0x108]
mov dword [edx + 0xc], eax
push 0
mov ecx, 0x52014c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ec03c
mov edx, dword [ebx + 0x108]
mov dword [edx + 8], eax
push 0
mov ecx, 0x520160
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ec03c
mov edx, dword [ebx + 0x108]
mov dword [edx + 0x10], eax
push 0
mov ecx, 0x520178
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ec03c
mov esi, dword [ebx + 0x108]
mov dword [esi + 0x18], eax
push 0
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x520188
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ebf0c
mov ecx, dword [ebp - 0xc]
mov edx, dword [esi + 0x14]
mov eax, ebx
call fcn.0051e970
push 0
mov ecx, 0x520198
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ec03c
mov esi, dword [ebx + 0x108]
mov dword [esi + 0x1c], eax
push 0
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x5201a8
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ebf0c
mov ecx, dword [ebp - 0x10]
mov edx, dword [esi + 0x44]
mov eax, ebx
call fcn.0051e970
push 0
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x5201bc
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ebf0c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x108]
mov edx, dword [eax + 0x48]
mov eax, ebx
call fcn.0051e970
push 0xffffffffffffffff
mov ecx, 0x5201d0
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ec03c
mov edx, dword [ebx + 0x108]
mov dword [edx + 0x2c], eax
push 0xffffffffffffffff
mov ecx, 0x5201e8
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ec03c
mov edx, dword [ebx + 0x108]
mov dword [edx + 0x30], eax
push 0xffffffffffffffff
mov ecx, 0x520200
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ec03c
mov edx, dword [ebx + 0x108]
mov dword [edx + 0x34], eax
push 0
mov ecx, 0x520218
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ec03c
mov edx, dword [ebx + 0x108]
mov dword [edx + 0x4c], eax
push 0
mov ecx, 0x520234
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ec03c
mov esi, dword [ebx + 0x108]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x1c], 1
jle 0x51ffbf
xor eax, eax
mov dword [esi + 0x1c], eax
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x520250
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ebf0c
cmp dword [ebp - 8], 0
je 0x51ffe7
mov eax, dword [ebx + 0x108]
mov byte [eax + 0x54], 1
jmp 0x51fff1
mov eax, dword [ebx + 0x108]
mov byte [eax + 0x54], 0
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x520268
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ebf0c
cmp dword [ebp - 8], 0
je 0x520019
mov eax, dword [ebx + 0x108]
mov byte [eax + 0x55], 1
jmp 0x520023
mov eax, dword [ebx + 0x108]
mov byte [eax + 0x55], 0
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x520284
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ebf0c
cmp dword [ebp - 8], 0
je 0x52004b
mov eax, dword [ebx + 0x108]
mov byte [eax + 0x56], 1
jmp 0x520055
mov eax, dword [ebx + 0x108]
mov byte [eax + 0x56], 0
push 0
lea eax, [ebp - 0x18]
push eax
mov ecx, 0x520250
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ebf0c
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebx + 0xb8]
mov eax, ebx
call fcn.00521298
mov edx, dword [ebx + 0x108]
mov dword [edx + 0x38], eax
push 0
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0x520268
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ebf0c
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebx + 0xb8]
mov eax, ebx
call fcn.00521298
mov edx, dword [ebx + 0x108]
mov dword [edx + 0x3c], eax
push 0
lea eax, [ebp - 0x20]
push eax
mov ecx, 0x520284
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call fcn.004ebf0c
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebx + 0xb8]
mov eax, ebx
call fcn.00521298
mov edx, dword [ebx + 0x108]
mov dword [edx + 0x40], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x520104
lea eax, [ebp - 0x20]
mov edx, 8
call fcn.00404a34
ret