Function at 0x4857dc
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Get ntdll base address
Get number of processors
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 8], ebx
test dl, dl
je 0x4857f6
add esp, 0xfffffff0
call fcn.00403150
mov byte [ebp - 1], dl
mov esi, eax
xor eax, eax
push ebp
push 0x48656a
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, esi
call fcn.004159f0
lea eax, [esi + 0x54]
mov edx, 0x48659c
call fcn.00403a58
test byte [esi + 0x20], 0x10
je 0x48585e
xor ecx, ecx
mov dl, 1
mov eax, dword [0x481790]
call fcn.00481d10
mov ebx, eax
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x4865ac
mov edx, 0x4865c0
mov eax, ebx
call fcn.00481d60
mov edx, dword [ebp - 8]
lea eax, [esi + 0x5c]
call fcn.00403a58
mov eax, ebx
call fcn.00402e50
mov byte [esi + 0x60], 1
mov byte [esi + 0x62], 1
mov dword [esi + 0x64], 0x79e
mov dword [esi + 0x68], 0x10000
mov dl, 1
mov eax, dword [0x4821f8]
call fcn.00402e20
mov ebx, eax
mov dword [esi + 0x4c], ebx
lea eax, [ebx + 4]
mov edx, 0x4865e8
call fcn.00403a58
lea eax, [ebx + 8]
mov edx, 0x486600
call fcn.00403a58
lea eax, [ebx + 0x10]
mov edx, 0x486630
call fcn.00403a58
lea eax, [ebx + 0x14]
mov edx, 0x486644
call fcn.00403a58
lea eax, [ebx + 0x18]
mov edx, 0x486660
call fcn.00403a58
lea eax, [ebx + 0x1c]
mov edx, 0x486674
call fcn.00403a58
lea eax, [ebx + 0x20]
mov edx, 0x4866c0
call fcn.00403a58
lea eax, [ebx + 0x24]
mov edx, 0x4866d4
call fcn.00403a58
lea eax, [ebx + 0x28]
mov edx, 0x4866e8
call fcn.00403a58
lea eax, [ebx + 0x2c]
mov edx, 0x4866f8
call fcn.00403a58
lea eax, [ebx + 0x30]
mov edx, 0x48670c
call fcn.00403a58
lea eax, [ebx + 0x34]
mov edx, 0x486724
call fcn.00403a58
lea eax, [ebx + 0x40]
mov edx, 0x48673c
call fcn.00403a58
lea eax, [ebx + 0x44]
mov edx, 0x48674c
call fcn.00403a58
lea eax, [ebx + 0x48]
mov edx, 0x48673c
call fcn.00403a58
lea eax, [ebx + 0x38]
mov edx, 0x48675c
call fcn.00403a58
lea eax, [ebx + 0x3c]
mov edx, 0x486784
call fcn.00403a58
lea eax, [ebx + 0x4c]
mov edx, 0x4867ac
call fcn.00403a58
lea eax, [ebx + 0x50]
mov edx, 0x4867d4
call fcn.00403a58
lea eax, [ebx + 0x54]
mov edx, 0x4867fc
call fcn.00403a58
lea eax, [ebx + 0x58]
mov edx, 0x48682c
call fcn.00403a58
lea eax, [ebx + 0x5c]
mov edx, 0x486840
call fcn.00403a58
lea eax, [ebx + 0x60]
mov edx, 0x486854
call fcn.00403a58
lea eax, [ebx + 0x64]
mov edx, 0x48686c
call fcn.00403a58
lea eax, [ebx + 0x68]
mov edx, 0x486890
call fcn.00403a58
lea eax, [ebx + 0x6c]
mov edx, 0x4868a4
call fcn.00403a58
lea eax, [ebx + 0x70]
mov edx, 0x4868dc
call fcn.00403a58
lea eax, [ebx + 0x74]
mov edx, 0x4868f4
call fcn.00403a58
lea eax, [ebx + 0x78]
mov edx, 0x486918
call fcn.00403a58
lea eax, [ebx + 0x7c]
mov edx, 0x486938
call fcn.00403a58
lea eax, [ebx + 0x80]
mov edx, 0x486950
call fcn.00403a58
lea eax, [ebx + 0x84]
mov edx, 0x486974
call fcn.00403a58
lea eax, [ebx + 0x88]
mov edx, 0x486994
call fcn.00403a58
lea eax, [ebx + 0x8c]
mov edx, 0x4869d4
call fcn.00403a58
lea eax, [ebx + 0x90]
mov edx, 0x486890
call fcn.00403a58
lea eax, [ebx + 0x94]
mov edx, 0x4869e4
call fcn.00403a58
lea eax, [ebx + 0x98]
call fcn.00403a04
lea eax, [ebx + 0x9c]
mov edx, 0x4869f4
call fcn.00403a58
lea eax, [ebx + 0xa0]
mov edx, 0x486a04
call fcn.00403a58
lea eax, [ebx + 0xa4]
mov edx, 0x486a30
call fcn.00403a58
lea eax, [ebx + 0xc]
mov edx, 0x486a6c
call fcn.00403a58
mov dl, 1
mov eax, dword [0x483de0]
call fcn.00402e20
mov ebx, eax
mov dword [esi + 0x50], ebx
lea eax, [ebx + 4]
mov edx, 0x486a78
call fcn.00403a58
lea eax, [ebx + 8]
mov edx, 0x486aac
call fcn.00403a58
lea eax, [ebx + 0xc]
mov edx, 0x486ae8
call fcn.00403a58
lea eax, [ebx + 0x10]
mov edx, 0x486b10
call fcn.00403a58
lea eax, [ebx + 0x14]
mov edx, 0x486b30
call fcn.00403a58
lea eax, [ebx + 0x18]
mov edx, 0x486b50
call fcn.00403a58
lea eax, [ebx + 0x1c]
mov edx, 0x486b7c
call fcn.00403a58
lea eax, [ebx + 0x20]
mov edx, 0x486ba4
call fcn.00403a58
lea eax, [ebx + 0x24]
mov edx, 0x486be4
call fcn.00403a58
lea eax, [ebx + 0x28]
mov edx, 0x486c28
call fcn.00403a58
lea eax, [ebx + 0x2c]
mov edx, 0x486c50
call fcn.00403a58
lea eax, [ebx + 0x30]
mov edx, 0x486c80
call fcn.00403a58
lea eax, [ebx + 0x34]
mov edx, 0x486cac
call fcn.00403a58
lea eax, [ebx + 0x38]
mov edx, 0x486ce0
call fcn.00403a58
lea eax, [ebx + 0x3c]
mov edx, 0x486d14
call fcn.00403a58
lea eax, [ebx + 0x40]
mov edx, 0x486d64
call fcn.00403a58
lea eax, [ebx + 0x44]
mov edx, 0x486d9c
call fcn.00403a58
lea eax, [ebx + 0x48]
mov edx, 0x486dd4
call fcn.00403a58
lea eax, [ebx + 0x4c]
mov edx, 0x486e0c
call fcn.00403a58
lea eax, [ebx + 0x50]
mov edx, 0x486e48
call fcn.00403a58
lea eax, [ebx + 0x54]
mov edx, 0x486e84
call fcn.00403a58
lea eax, [ebx + 0x58]
mov edx, 0x486ec0
call fcn.00403a58
lea eax, [ebx + 0x5c]
mov edx, 0x486ef8
call fcn.00403a58
lea eax, [ebx + 0x60]
mov edx, 0x486f2c
call fcn.00403a58
lea eax, [ebx + 0x64]
mov edx, 0x486f3c
call fcn.00403a58
lea eax, [ebx + 0x68]
mov edx, 0x486f5c
call fcn.00403a58
lea eax, [ebx + 0x6c]
mov edx, 0x486f7c
call fcn.00403a58
lea eax, [ebx + 0x70]
mov edx, 0x486f9c
call fcn.00403a58
lea eax, [ebx + 0x74]
mov edx, 0x486fd0
call fcn.00403a58
lea eax, [ebx + 0x78]
mov edx, 0x486ff4
call fcn.00403a58
lea eax, [ebx + 0x7c]
mov edx, 0x48700c
call fcn.00403a58
lea eax, [ebx + 0x80]
mov edx, 0x487030
call fcn.00403a58
lea eax, [ebx + 0x84]
mov edx, 0x487058
call fcn.00403a58
lea eax, [ebx + 0x88]
mov edx, 0x487080
call fcn.00403a58
lea eax, [ebx + 0x8c]
mov edx, 0x487098
call fcn.00403a58
lea eax, [ebx + 0x90]
mov edx, 0x4870c4
call fcn.00403a58
lea eax, [ebx + 0x94]
mov edx, 0x4870f8
call fcn.00403a58
mov dl, 1
mov eax, dword [0x482ab0]
call fcn.00402e20
mov edi, eax
mov dword [ebx + 0x98], edi
lea eax, [edi + 4]
mov edx, 0x48710c
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 8
mov edx, 0x48711c
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0xc
mov edx, 0x48712c
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x10
mov edx, 0x487140
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x14
mov edx, 0x487158
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x18
mov edx, 0x487168
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x1c
mov edx, 0x48717c
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x20
mov edx, 0x48718c
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x24
mov edx, 0x48719c
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x28
mov edx, 0x4871ac
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x2c
mov edx, 0x4871bc
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x30
mov edx, 0x4871cc
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x34
mov edx, 0x4871dc
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x38
mov edx, 0x4871ec
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x3c
mov edx, 0x487200
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x40
mov edx, 0x487210
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x44
mov edx, 0x487224
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x48
mov edx, 0x487238
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x4c
mov edx, 0x48724c
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x50
mov edx, 0x487264
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x54
mov edx, 0x487274
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x5c
mov edx, 0x487284
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x60
mov edx, 0x487294
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x64
mov edx, 0x4872a8
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x68
mov edx, 0x4872bc
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x6c
mov edx, 0x4872d0
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x70
mov edx, 0x4872e4
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x78
mov edx, 0x4872f4
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x7c
mov edx, 0x487304
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x80
mov edx, 0x48731c
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x84
mov edx, 0x487330
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x74
mov edx, 0x487340
call fcn.00403a58
mov eax, dword [ebx + 0x98]
add eax, 0x88
mov edx, 0x487350
call fcn.00403a58
mov dl, 1
mov eax, dword [0x4831c0]
call fcn.00402e20
mov edi, eax
mov dword [ebx + 0x9c], edi
lea eax, [edi + 4]
mov edx, 0x48718c
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 8
mov edx, 0x487284
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0xc
mov edx, 0x4871ac
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0x10
mov edx, 0x4871bc
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0x14
mov edx, 0x4871cc
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0x18
mov edx, 0x4872f4
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0x1c
mov edx, 0x487304
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0x20
mov edx, 0x487360
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0x24
mov edx, 0x487370
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0x28
mov edx, 0x487380
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0x2c
mov edx, 0x487394
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0x30
mov edx, 0x487330
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0x34
mov edx, 0x4873a8
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0x38
mov edx, 0x4873b8
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0x3c
mov edx, 0x4873cc
call fcn.00403a58
mov eax, dword [ebx + 0x9c]
add eax, 0x40
mov edx, 0x48724c
call fcn.00403a58
lea eax, [ebx + 0xa8]
mov edx, 0x4873e8
call fcn.00403a58
lea eax, [ebx + 0xac]
mov edx, 0x4873f4
call fcn.00403a58
mov dl, 1
mov eax, dword [0x483578]
call fcn.00402e20
mov edi, eax
mov dword [ebx + 0xa0], edi
lea eax, [edi + 4]
mov edx, 0x487400
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 8
mov edx, 0x487414
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0xc
mov edx, 0x487428
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x10
mov edx, 0x487438
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x14
mov edx, 0x487448
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x18
mov edx, 0x48745c
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x28
mov edx, 0x487470
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x2c
mov edx, 0x487480
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x30
mov edx, 0x487490
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x34
mov edx, 0x4874a0
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x38
mov edx, 0x4874b8
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x1c
mov edx, 0x4874c4
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x20
mov edx, 0x4874e0
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x24
mov edx, 0x4874fc
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x3c
mov edx, 0x487528
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x40
mov edx, 0x487550
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x44
mov edx, 0x487560
call fcn.00403a58
mov eax, dword [ebx + 0xa0]
add eax, 0x48
mov edx, 0x487570
call fcn.00403a58
mov dl, 1
mov eax, dword [0x483b14]
call fcn.00402e20
mov edi, eax
mov dword [ebx + 0xa4], edi
lea eax, [edi + 4]
mov edx, 0x487580
call fcn.00403a58
mov eax, dword [ebx + 0xa4]
add eax, 8
mov edx, 0x48758c
call fcn.00403a58
mov eax, dword [ebx + 0xa4]
add eax, 0xc
mov edx, 0x4875a8
call fcn.00403a58
mov eax, dword [ebx + 0xa4]
add eax, 0x10
mov edx, 0x4875b4
call fcn.00403a58
mov eax, dword [ebx + 0xa4]
add eax, 0x14
mov edx, 0x4875c4
call fcn.00403a58
mov eax, dword [ebx + 0xa4]
add eax, 0x18
mov edx, 0x4875d8
call fcn.00403a58
mov eax, dword [ebx + 0xa4]
add eax, 0x1c
mov edx, 0x4875f8
call fcn.00403a58
mov eax, dword [ebx + 0xa4]
add eax, 0x20
mov edx, 0x487624
call fcn.00403a58
mov eax, dword [ebx + 0xa4]
add eax, 0x24
mov edx, 0x487644
call fcn.00403a58
mov eax, dword [ebx + 0xa4]
add eax, 0x28
mov edx, 0x48766c
call fcn.00403a58
mov dl, 1
mov eax, dword [0x485254]
call fcn.00487bcc
mov dword [esi + 0x28], eax
mov dl, 1
mov eax, dword [0x485198]
call fcn.00402e20
mov ebx, eax
mov dword [esi + 0x24], ebx
mov byte [ebx + 4], 1
mov dl, 1
mov eax, dword [0x48488c]
call fcn.00402e20
mov ebx, eax
mov dword [esi + 0x34], ebx
lea eax, [ebx + 4]
mov edx, 0x487688
call fcn.00403a58
lea eax, [ebx + 8]
mov edx, 0x48769c
call fcn.00403a58
mov dl, 1
mov eax, dword [0x48468c]
call fcn.00402e20
mov ebx, eax
mov dword [esi + 0x2c], ebx
lea eax, [ebx + 4]
mov edx, 0x4876b8
call fcn.00403a58
lea eax, [ebx + 8]
mov edx, 0x4876d4
call fcn.00403a58
lea eax, [ebx + 0xc]
mov edx, 0x4876ec
call fcn.00403a58
lea eax, [ebx + 0x10]
mov edx, 0x487700
call fcn.00403a58
lea eax, [ebx + 0x14]
mov edx, 0x487710
call fcn.00403a58
lea eax, [ebx + 0x18]
mov edx, 0x48771c
call fcn.00403a58
lea eax, [ebx + 0x1c]
mov edx, 0x48774c
call fcn.00403a58
mov dl, 1
mov eax, dword [0x484994]
call fcn.00402e20
mov ebx, eax
mov dword [esi + 0x30], ebx
lea eax, [ebx + 4]
mov edx, 0x486854
call fcn.00403a58
lea eax, [ebx + 8]
mov edx, 0x48777c
call fcn.00403a58
lea eax, [ebx + 0xc]
mov edx, 0x487794
call fcn.00403a58
lea eax, [ebx + 0x10]
mov edx, 0x4868dc
call fcn.00403a58
lea eax, [ebx + 0x14]
mov edx, 0x4868f4
call fcn.00403a58
lea eax, [ebx + 0x18]
mov edx, 0x4877ac
call fcn.00403a58
lea eax, [ebx + 0x1c]
mov edx, 0x4869f4
call fcn.00403a58
lea eax, [ebx + 0x20]
mov edx, 0x4877cc
call fcn.00403a58
lea eax, [ebx + 0x24]
mov edx, 0x4877dc
call fcn.00403a58
lea eax, [ebx + 0x28]
mov edx, 0x4877ec
call fcn.00403a58
lea eax, [ebx + 0x2c]
mov edx, 0x48686c
call fcn.00403a58
lea eax, [ebx + 0x30]
mov edx, 0x486950
call fcn.00403a58
lea eax, [ebx + 0x34]
mov edx, 0x4877fc
call fcn.00403a58
lea eax, [ebx + 0x38]
mov edx, 0x487834
call fcn.00403a58
lea eax, [ebx + 0x3c]
mov edx, 0x487874
call fcn.00403a58
lea eax, [ebx + 0x40]
mov edx, 0x4878ac
call fcn.00403a58
lea eax, [ebx + 0x44]
mov edx, 0x4878c8
call fcn.00403a58
lea eax, [ebx + 0x48]
mov edx, 0x4878f4
call fcn.00403a58
mov dl, 1
mov eax, dword [0x481ef4]
call fcn.00402e20
mov ebx, eax
mov dword [esi + 0x48], ebx
lea eax, [ebx + 4]
mov edx, 0x48791c
call fcn.00403a58
lea eax, [ebx + 8]
mov edx, 0x487944
call fcn.00403a58
lea eax, [ebx + 0xc]
mov edx, 0x48796c
call fcn.00403a58
lea eax, [ebx + 0x10]
mov edx, 0x487988
call fcn.00403a58
lea eax, [ebx + 0x14]
mov edx, 0x4879a8
call fcn.00403a58
lea eax, [ebx + 0x18]
mov edx, 0x4879ec
call fcn.00403a58
lea eax, [ebx + 0x1c]
mov edx, 0x487a30
call fcn.00403a58
lea eax, [ebx + 0x20]
mov edx, 0x487a4c
call fcn.00403a58
lea eax, [ebx + 0x24]
mov edx, 0x487a74
call fcn.00403a58
lea eax, [ebx + 0x28]
mov edx, 0x487aac
call fcn.00403a58
lea eax, [ebx + 0x2c]
mov edx, 0x4879ec
call fcn.00403a58
mov byte [esi + 0x38], 1
lea eax, [esi + 0x3c]
mov edx, 0x487ae0
call fcn.00403a58
lea eax, [esi + 0x40]
mov edx, 0x4877ec
call fcn.00403a58
lea eax, [esi + 0x58]
call fcn.00403a04
mov byte [esi + 0x61], 0
mov al, byte [0x487ae4]
mov byte [esi + 0x39], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x486571
lea eax, [ebp - 8]
call fcn.00403a04
ret