Function at 0x4d31f4
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 0x4d3501
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, 0x4d3518
call fcn.0040504c
push 0
mov ecx, 0x4d3528
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a22fc
mov edx, dword [ebx + 0x11c]
mov dword [edx + 4], eax
push 0
mov ecx, 0x4d353c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a22fc
mov edx, dword [ebx + 0x11c]
mov dword [edx + 0xc], eax
push 0
mov ecx, 0x4d3550
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a22fc
mov edx, dword [ebx + 0x11c]
mov dword [edx + 8], eax
push 0
mov ecx, 0x4d3564
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a22fc
mov edx, dword [ebx + 0x11c]
mov dword [edx + 0x10], eax
push 0
mov ecx, 0x4d357c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a22fc
mov esi, dword [ebx + 0x11c]
mov dword [esi + 0x18], eax
push 0
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x4d358c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a21cc
mov ecx, dword [ebp - 0xc]
mov edx, dword [esi + 0x14]
mov eax, ebx
call fcn.004d1d34
push 0
mov ecx, 0x4d359c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a22fc
mov esi, dword [ebx + 0x11c]
mov dword [esi + 0x1c], eax
push 0
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x4d35ac
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a21cc
mov ecx, dword [ebp - 0x10]
mov edx, dword [esi + 0x44]
mov eax, ebx
call fcn.004d1d34
push 0
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x4d35c0
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a21cc
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x11c]
mov edx, dword [eax + 0x48]
mov eax, ebx
call fcn.004d1d34
push 0xffffffffffffffff
mov ecx, 0x4d35d4
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a22fc
mov edx, dword [ebx + 0x11c]
mov dword [edx + 0x2c], eax
push 0xffffffffffffffff
mov ecx, 0x4d35ec
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a22fc
mov edx, dword [ebx + 0x11c]
mov dword [edx + 0x30], eax
push 0xffffffffffffffff
mov ecx, 0x4d3604
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a22fc
mov edx, dword [ebx + 0x11c]
mov dword [edx + 0x34], eax
push 0
mov ecx, 0x4d361c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a22fc
mov edx, dword [ebx + 0x11c]
mov dword [edx + 0x4c], eax
push 0
mov ecx, 0x4d3638
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a22fc
mov esi, dword [ebx + 0x11c]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x1c], 1
jle 0x4d33c3
xor eax, eax
mov dword [esi + 0x1c], eax
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x4d3654
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a21cc
cmp dword [ebp - 8], 0
je 0x4d33eb
mov eax, dword [ebx + 0x11c]
mov byte [eax + 0x54], 1
jmp 0x4d33f5
mov eax, dword [ebx + 0x11c]
mov byte [eax + 0x54], 0
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x4d366c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a21cc
cmp dword [ebp - 8], 0
je 0x4d341d
mov eax, dword [ebx + 0x11c]
mov byte [eax + 0x55], 1
jmp 0x4d3427
mov eax, dword [ebx + 0x11c]
mov byte [eax + 0x55], 0
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x4d3688
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a21cc
cmp dword [ebp - 8], 0
je 0x4d344f
mov eax, dword [ebx + 0x11c]
mov byte [eax + 0x56], 1
jmp 0x4d3459
mov eax, dword [ebx + 0x11c]
mov byte [eax + 0x56], 0
push 0
lea eax, [ebp - 0x18]
push eax
mov ecx, 0x4d3654
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a21cc
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebx + 0xb8]
mov eax, ebx
call fcn.004d4624
mov edx, dword [ebx + 0x11c]
mov dword [edx + 0x38], eax
push 0
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0x4d366c
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a21cc
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebx + 0xb8]
mov eax, ebx
call fcn.004d4624
mov edx, dword [ebx + 0x11c]
mov dword [edx + 0x3c], eax
push 0
lea eax, [ebp - 0x20]
push eax
mov ecx, 0x4d3688
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x34]
call fcn.004a21cc
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebx + 0xb8]
mov eax, ebx
call fcn.004d4624
mov edx, dword [ebx + 0x11c]
mov dword [edx + 0x40], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d3508
lea eax, [ebp - 0x20]
mov edx, 8
call fcn.00404fd8
ret