Function at 0x4c897c
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 0x4c9027
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x5b
mov eax, ebx
mov ecx, 1
mov edx, dword [0x4c811c]
call fcn.0040629c
add esp, 4
push 0x5b
mov eax, 0x4d4484
mov ecx, 1
mov edx, dword [0x4bfd84]
call fcn.0040629c
add esp, 4
mov eax, dword [ebx]
mov edx, 0x4c9040
call fcn.00404adc
mov eax, dword [ebx]
add eax, 4
mov edx, 0x4c9054
call fcn.00404adc
mov eax, dword [ebx]
add eax, 8
mov edx, 0x4c9068
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xc
mov edx, 0x4c9078
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x10
mov edx, 0x4c9090
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x14
mov edx, 0x4c90a0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x18
mov edx, 0x4c90b4
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x1c
mov edx, 0x4c90cc
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x20
mov edx, 0x4c90e8
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x24
mov edx, 0x4c90fc
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x28
mov edx, 0x4c910c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x2c
mov edx, 0x4c9120
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x30
mov edx, 0x4c9134
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x34
mov edx, 0x4c9148
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x38
mov edx, 0x4c9158
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x3c
mov edx, 0x4c9174
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x40
mov edx, 0x4c9184
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x44
mov edx, 0x4c9194
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x48
mov edx, 0x4c91a4
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x4c
mov edx, 0x4c91d8
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x50
mov edx, 0x4c91f4
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x54
mov edx, 0x4c9208
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x58
mov edx, 0x4c9238
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x5c
mov edx, 0x4c9284
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x60
mov edx, 0x4c9320
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x64
mov edx, 0x4c934c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x68
mov edx, 0x4c9360
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x6c
mov edx, 0x4c9370
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x70
mov edx, 0x4c939c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x74
mov edx, 0x4c9418
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x78
mov edx, 0x4c942c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x7c
mov edx, 0x4c9444
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x80
mov edx, 0x4c9470
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x84
mov edx, 0x4c94e0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x88
mov edx, 0x4c950c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x8c
mov edx, 0x4c9554
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x90
mov edx, 0x4c9588
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x94
mov edx, 0x4c959c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x98
mov edx, 0x4c95e0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x9c
mov edx, 0x4c95fc
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xa0
mov edx, 0x4c9624
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xa4
mov edx, 0x4c9648
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xa8
mov edx, 0x4c9668
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xac
mov edx, 0x4c96a8
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xb0
mov edx, 0x4c96e4
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xb4
mov edx, 0x4c970c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xb8
mov edx, 0x4c972c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xbc
mov edx, 0x4c9744
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xc0
mov edx, 0x4c9754
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xc4
mov edx, 0x4c9770
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xc8
mov edx, 0x4c9784
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xcc
mov edx, 0x4c9794
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xd0
mov edx, 0x4c97bc
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xd4
mov edx, 0x4c97cc
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xd8
mov edx, 0x4c97e0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xdc
mov edx, 0x4c97f0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xe0
mov edx, 0x4c981c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xe4
mov edx, 0x4c982c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xe8
mov edx, 0x4c9874
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xec
mov edx, 0x4c9884
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xf0
mov edx, 0x4c989c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xf4
mov edx, 0x4c98c8
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xf8
mov edx, 0x4c9910
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0xfc
mov edx, 0x4c99c8
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x100
mov edx, 0x4c99e8
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x104
mov edx, 0x4c9a2c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x108
mov edx, 0x4c9a3c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x10c
mov edx, 0x4c9a4c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x110
mov edx, 0x4c9b2c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x114
mov edx, 0x4c9b40
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x118
mov edx, 0x4c9b50
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x11c
mov edx, 0x4c9b60
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x120
mov edx, 0x4c9b70
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x124
mov edx, 0x4c9b98
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x128
mov edx, 0x4c9bc0
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x12c
mov edx, 0x4c9bd4
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x130
mov edx, 0x4c9be8
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x134
mov edx, 0x4c9bfc
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x138
mov edx, 0x4c9c64
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x13c
mov edx, 0x4c9d08
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x140
mov edx, 0x4c9d1c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x144
mov edx, 0x4c9d6c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x148
mov edx, 0x4c9d88
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x14c
mov edx, 0x4c9d94
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x150
mov edx, 0x4c9dcc
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x154
mov edx, 0x4c9de4
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x158
mov edx, 0x4c9df4
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x15c
mov edx, 0x4c9e14
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x160
mov edx, 0x4c9e3c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x164
mov edx, 0x4c9f0c
call fcn.00404adc
mov eax, dword [ebx]
add eax, 0x168
mov edx, 0x4c9f24
call fcn.00404adc
mov eax, dword [ebx]
call fcn.004060c0
dec eax
test eax, eax
jb 0x4c9011
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.0049cacc
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 0x4c900b
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 0x4c8fe9
inc esi
dec dword [ebp - 8]
jne 0x4c8fa8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c902e
lea eax, [ebp - 4]
call fcn.00404a88
ret