Function at 0x4781f4
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 0x478501
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, 0x478518
call fcn.0040407c
push 0
mov ecx, 0x478528
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004593c4
mov edx, dword [ebx + 0xec]
mov dword [edx + 4], eax
push 0
mov ecx, 0x47853c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004593c4
mov edx, dword [ebx + 0xec]
mov dword [edx + 0xc], eax
push 0
mov ecx, 0x478550
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004593c4
mov edx, dword [ebx + 0xec]
mov dword [edx + 8], eax
push 0
mov ecx, 0x478564
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004593c4
mov edx, dword [ebx + 0xec]
mov dword [edx + 0x10], eax
push 0
mov ecx, 0x47857c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004593c4
mov esi, dword [ebx + 0xec]
mov dword [esi + 0x18], eax
push 0
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x47858c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.00459294
mov ecx, dword [ebp - 0xc]
mov edx, dword [esi + 0x14]
mov eax, ebx
call fcn.00476d60
push 0
mov ecx, 0x47859c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004593c4
mov esi, dword [ebx + 0xec]
mov dword [esi + 0x1c], eax
push 0
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x4785ac
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.00459294
mov ecx, dword [ebp - 0x10]
mov edx, dword [esi + 0x44]
mov eax, ebx
call fcn.00476d60
push 0
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x4785c0
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.00459294
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0xec]
mov edx, dword [eax + 0x48]
mov eax, ebx
call fcn.00476d60
push 0xffffffffffffffff
mov ecx, 0x4785d4
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004593c4
mov edx, dword [ebx + 0xec]
mov dword [edx + 0x2c], eax
push 0xffffffffffffffff
mov ecx, 0x4785ec
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004593c4
mov edx, dword [ebx + 0xec]
mov dword [edx + 0x30], eax
push 0xffffffffffffffff
mov ecx, 0x478604
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004593c4
mov edx, dword [ebx + 0xec]
mov dword [edx + 0x34], eax
push 0
mov ecx, 0x47861c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004593c4
mov edx, dword [ebx + 0xec]
mov dword [edx + 0x4c], eax
push 0
mov ecx, 0x478638
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004593c4
mov esi, dword [ebx + 0xec]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x1c], 1
jle 0x4783c3
xor eax, eax
mov dword [esi + 0x1c], eax
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x478654
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.00459294
cmp dword [ebp - 8], 0
je 0x4783eb
mov eax, dword [ebx + 0xec]
mov byte [eax + 0x54], 1
jmp 0x4783f5
mov eax, dword [ebx + 0xec]
mov byte [eax + 0x54], 0
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x47866c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.00459294
cmp dword [ebp - 8], 0
je 0x47841d
mov eax, dword [ebx + 0xec]
mov byte [eax + 0x55], 1
jmp 0x478427
mov eax, dword [ebx + 0xec]
mov byte [eax + 0x55], 0
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x478688
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.00459294
cmp dword [ebp - 8], 0
je 0x47844f
mov eax, dword [ebx + 0xec]
mov byte [eax + 0x56], 1
jmp 0x478459
mov eax, dword [ebx + 0xec]
mov byte [eax + 0x56], 0
push 0
lea eax, [ebp - 0x18]
push eax
mov ecx, 0x478654
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.00459294
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebx + 0xa0]
mov eax, ebx
call fcn.004793e0
mov edx, dword [ebx + 0xec]
mov dword [edx + 0x38], eax
push 0
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0x47866c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.00459294
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebx + 0xa0]
mov eax, ebx
call fcn.004793e0
mov edx, dword [ebx + 0xec]
mov dword [edx + 0x3c], eax
push 0
lea eax, [ebp - 0x20]
push eax
mov ecx, 0x478688
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.00459294
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebx + 0xa0]
mov eax, ebx
call fcn.004793e0
mov edx, dword [ebx + 0xec]
mov dword [edx + 0x40], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x478508
lea eax, [ebp - 0x20]
mov edx, 8
call fcn.00404008
ret