Function at 0x4c8760
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Get number of processors
Get process heap flags
Get process heap force flags
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 4], eax
mov ebx, 0x4d4480
xor eax, eax
push ebp
push 0x4c8e0b
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x5b
mov eax, ebx
mov ecx, 1
mov edx, dword [0x4c7f00]
call fcn.0040629c
add esp, 4
push 0x5b
mov eax, 0x4d4484
mov ecx, 1
mov edx, dword [0x4bf898]
call fcn.0040629c
add esp, 4
mov eax, dword [ebx]
mov edx, 0x4c8e24
call fcn.00404adc
mov eax, dword [ebx]
add eax, 4
mov edx, 0x4c8e38
call fcn.00404adc
mov eax, dword [ebx]
add eax, 8
mov edx, 0x4c8e4c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xc
mov edx, 0x4c8e5c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x10
mov edx, 0x4c8e74
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x14
mov edx, 0x4c8e84
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x18
mov edx, 0x4c8e98
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x1c
mov edx, 0x4c8eb0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x20
mov edx, 0x4c8ecc
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x24
mov edx, 0x4c8ee0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x28
mov edx, 0x4c8ef0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x2c
mov edx, 0x4c8f04
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x30
mov edx, 0x4c8f18
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x34
mov edx, 0x4c8f2c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x38
mov edx, 0x4c8f3c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x3c
mov edx, 0x4c8f58
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x40
mov edx, 0x4c8f68
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x44
mov edx, 0x4c8f78
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x48
mov edx, 0x4c8f88
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x4c
mov edx, 0x4c8fbc
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x50
mov edx, 0x4c8fd8
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x54
mov edx, 0x4c8fec
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x58
mov edx, 0x4c901c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x5c
mov edx, 0x4c9068
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x60
mov edx, 0x4c9104
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x64
mov edx, 0x4c9130
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x68
mov edx, 0x4c9144
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x6c
mov edx, 0x4c9154
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x70
mov edx, 0x4c9180
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x74
mov edx, 0x4c91fc
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x78
mov edx, 0x4c9210
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x7c
mov edx, 0x4c9228
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x80
mov edx, 0x4c9254
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x84
mov edx, 0x4c92c4
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x88
mov edx, 0x4c92f0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x8c
mov edx, 0x4c9338
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x90
mov edx, 0x4c936c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x94
mov edx, 0x4c9380
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x98
mov edx, 0x4c93c4
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x9c
mov edx, 0x4c93e0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xa0
mov edx, 0x4c9408
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xa4
mov edx, 0x4c942c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xa8
mov edx, 0x4c944c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xac
mov edx, 0x4c948c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xb0
mov edx, 0x4c94c8
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xb4
mov edx, 0x4c94f0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xb8
mov edx, 0x4c9510
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xbc
mov edx, 0x4c9528
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xc0
mov edx, 0x4c9538
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xc4
mov edx, 0x4c9554
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xc8
mov edx, 0x4c9568
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xcc
mov edx, 0x4c9578
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xd0
mov edx, 0x4c95a0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xd4
mov edx, 0x4c95b0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xd8
mov edx, 0x4c95c4
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xdc
mov edx, 0x4c95d4
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xe0
mov edx, 0x4c9600
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xe4
mov edx, 0x4c9610
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xe8
mov edx, 0x4c9658
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xec
mov edx, 0x4c9668
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xf0
mov edx, 0x4c9680
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xf4
mov edx, 0x4c96ac
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xf8
mov edx, 0x4c96f4
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xfc
mov edx, 0x4c97ac
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x100
mov edx, 0x4c97cc
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x104
mov edx, 0x4c9810
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x108
mov edx, 0x4c9820
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x10c
mov edx, 0x4c9830
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x110
mov edx, 0x4c9910
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x114
mov edx, 0x4c9924
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x118
mov edx, 0x4c9934
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x11c
mov edx, 0x4c9944
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x120
mov edx, 0x4c9954
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x124
mov edx, 0x4c997c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x128
mov edx, 0x4c99a4
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x12c
mov edx, 0x4c99b8
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x130
mov edx, 0x4c99cc
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x134
mov edx, 0x4c99e0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x138
mov edx, 0x4c9a48
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x13c
mov edx, 0x4c9aec
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x140
mov edx, 0x4c9b00
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x144
mov edx, 0x4c9b50
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x148
mov edx, 0x4c9b6c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x14c
mov edx, 0x4c9b78
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x150
mov edx, 0x4c9bb0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x154
mov edx, 0x4c9bc8
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x158
mov edx, 0x4c9bd8
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x15c
mov edx, 0x4c9bf8
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x160
mov edx, 0x4c9c20
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x164
mov edx, 0x4c9cf0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x168
mov edx, 0x4c9d08
call fcn.00404adc
mov eax, dword [ebx]
call fcn.004060c0
dec eax
test eax, eax
jb 0x4c8df5
inc eax
mov dword [ebp - 8], eax
xor esi, esi
mov eax, dword [ebx]
mov edx, dword [eax + esi*4]
mov eax, esi
inc eax
lea ecx, [ebp - 4]
call fcn.0049ca94
mov eax, dword [ebx]
mov eax, dword [eax + esi*4]
call fcn.00404d58
mov edx, eax
mov eax, dword [0x4d4484]
lea eax, [eax + esi*4]
call fcn.00405784
mov eax, dword [0x4d4484]
mov eax, dword [eax + esi*4]
call fcn.0040541c
mov edx, eax
test edx, edx
jbe 0x4c8def
mov eax, 1
mov ecx, dword [0x4d4484]
mov ecx, dword [ecx + esi*4]
mov edi, dword [ebp - 4]
movzx edi, byte [edi + eax - 1]
mov di, word [edi*2 + 0x4d21f4]
mov word [ecx + eax*2 - 2], di
inc eax
dec edx
jne 0x4c8dcd
inc esi
dec dword [ebp - 8]
jne 0x4c8d8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c8e12
lea eax, [ebp - 4]
call fcn.00404a88
ret