Function at 0x578c30
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 0x578c4a
add esp, 0xfffffff0
call fcn.00403f5c
mov byte [ebp - 1], dl
mov esi, eax
xor eax, eax
push ebp
push 0x579a05
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, esi
call fcn.004288d8
lea eax, [esi + 0x60]
mov edx, 0x579a34
call fcn.00404b40
test byte [esi + 0x1c], 0x10
je 0x578cb2
xor ecx, ecx
mov dl, 1
mov eax, dword [0x44a974]
call fcn.0044b37c
mov ebx, eax
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x579a48
mov edx, 0x579a5c
mov eax, ebx
call fcn.0044b410
mov edx, dword [ebp - 8]
lea eax, [esi + 0x68]
call fcn.00404b40
mov eax, ebx
call fcn.00403bf8
mov byte [esi + 0x6c], 1
mov byte [esi + 0x6f], 1
mov dword [esi + 0x70], 0x79e
mov dword [esi + 0x74], 0x10000
mov dl, 1
mov eax, dword [0x5754e8]
call fcn.00403bc8
mov ebx, eax
mov dword [esi + 0x58], ebx
lea eax, [ebx + 4]
mov edx, 0x579a84
call fcn.00404b40
lea eax, [ebx + 8]
mov edx, 0x579a9c
call fcn.00404b40
lea eax, [ebx + 0x10]
mov edx, 0x579acc
call fcn.00404b40
lea eax, [ebx + 0x14]
mov edx, 0x579ae0
call fcn.00404b40
lea eax, [ebx + 0x18]
mov edx, 0x579afc
call fcn.00404b40
lea eax, [ebx + 0x1c]
mov edx, 0x579b10
call fcn.00404b40
lea eax, [ebx + 0x20]
mov edx, 0x579b5c
call fcn.00404b40
lea eax, [ebx + 0x24]
mov edx, 0x579b70
call fcn.00404b40
lea eax, [ebx + 0x28]
mov edx, 0x579b84
call fcn.00404b40
lea eax, [ebx + 0x2c]
mov edx, 0x579b94
call fcn.00404b40
lea eax, [ebx + 0x30]
mov edx, 0x579ba8
call fcn.00404b40
lea eax, [ebx + 0x34]
mov edx, 0x579bc0
call fcn.00404b40
lea eax, [ebx + 0x40]
mov edx, 0x579bd8
call fcn.00404b40
lea eax, [ebx + 0x44]
mov edx, 0x579be8
call fcn.00404b40
lea eax, [ebx + 0x48]
mov edx, 0x579bd8
call fcn.00404b40
lea eax, [ebx + 0x38]
mov edx, 0x579bf8
call fcn.00404b40
lea eax, [ebx + 0x3c]
mov edx, 0x579c20
call fcn.00404b40
lea eax, [ebx + 0x4c]
mov edx, 0x579c48
call fcn.00404b40
lea eax, [ebx + 0x50]
mov edx, 0x579c70
call fcn.00404b40
lea eax, [ebx + 0x54]
mov edx, 0x579c98
call fcn.00404b40
lea eax, [ebx + 0x58]
mov edx, 0x579cc8
call fcn.00404b40
lea eax, [ebx + 0x5c]
mov edx, 0x579cdc
call fcn.00404b40
lea eax, [ebx + 0x60]
mov edx, 0x579cf0
call fcn.00404b40
lea eax, [ebx + 0x64]
mov edx, 0x579d08
call fcn.00404b40
lea eax, [ebx + 0x68]
mov edx, 0x579d2c
call fcn.00404b40
lea eax, [ebx + 0x6c]
mov edx, 0x579d40
call fcn.00404b40
lea eax, [ebx + 0x70]
mov edx, 0x579d78
call fcn.00404b40
lea eax, [ebx + 0x74]
mov edx, 0x579d90
call fcn.00404b40
lea eax, [ebx + 0x78]
mov edx, 0x579db4
call fcn.00404b40
lea eax, [ebx + 0x7c]
mov edx, 0x579dd4
call fcn.00404b40
lea eax, [ebx + 0x80]
mov edx, 0x579dec
call fcn.00404b40
lea eax, [ebx + 0x84]
mov edx, 0x579e10
call fcn.00404b40
lea eax, [ebx + 0x88]
mov edx, 0x579e30
call fcn.00404b40
lea eax, [ebx + 0x8c]
mov edx, 0x579e70
call fcn.00404b40
lea eax, [ebx + 0x90]
mov edx, 0x579d2c
call fcn.00404b40
lea eax, [ebx + 0x94]
mov edx, 0x579e80
call fcn.00404b40
lea eax, [ebx + 0x98]
call fcn.00404aec
lea eax, [ebx + 0x9c]
mov edx, 0x579e90
call fcn.00404b40
lea eax, [ebx + 0xa0]
mov edx, 0x579ea0
call fcn.00404b40
lea eax, [ebx + 0xa4]
mov edx, 0x579ecc
call fcn.00404b40
lea eax, [ebx + 0xc]
mov edx, 0x579f08
call fcn.00404b40
mov dl, 1
mov eax, dword [0x57713c]
call fcn.00403bc8
mov ebx, eax
mov dword [esi + 0x5c], ebx
lea eax, [ebx + 4]
mov edx, 0x579f14
call fcn.00404b40
lea eax, [ebx + 8]
mov edx, 0x579f48
call fcn.00404b40
lea eax, [ebx + 0xc]
mov edx, 0x579f84
call fcn.00404b40
lea eax, [ebx + 0x10]
mov edx, 0x579fac
call fcn.00404b40
lea eax, [ebx + 0x14]
mov edx, 0x579fcc
call fcn.00404b40
lea eax, [ebx + 0x18]
mov edx, 0x579fec
call fcn.00404b40
lea eax, [ebx + 0x1c]
mov edx, 0x57a018
call fcn.00404b40
lea eax, [ebx + 0x20]
mov edx, 0x57a040
call fcn.00404b40
lea eax, [ebx + 0x24]
mov edx, 0x57a080
call fcn.00404b40
lea eax, [ebx + 0x28]
mov edx, 0x57a0c4
call fcn.00404b40
lea eax, [ebx + 0x2c]
mov edx, 0x57a0ec
call fcn.00404b40
lea eax, [ebx + 0x30]
mov edx, 0x57a11c
call fcn.00404b40
lea eax, [ebx + 0x34]
mov edx, 0x57a148
call fcn.00404b40
lea eax, [ebx + 0x38]
mov edx, 0x57a17c
call fcn.00404b40
lea eax, [ebx + 0x3c]
mov edx, 0x57a1b0
call fcn.00404b40
lea eax, [ebx + 0x40]
mov edx, 0x57a200
call fcn.00404b40
lea eax, [ebx + 0x44]
mov edx, 0x57a238
call fcn.00404b40
lea eax, [ebx + 0x48]
mov edx, 0x57a270
call fcn.00404b40
lea eax, [ebx + 0x4c]
mov edx, 0x57a2a8
call fcn.00404b40
lea eax, [ebx + 0x50]
mov edx, 0x57a2e4
call fcn.00404b40
lea eax, [ebx + 0x54]
mov edx, 0x57a320
call fcn.00404b40
lea eax, [ebx + 0x58]
mov edx, 0x57a35c
call fcn.00404b40
lea eax, [ebx + 0x5c]
mov edx, 0x57a398
call fcn.00404b40
lea eax, [ebx + 0x60]
mov edx, 0x57a3d0
call fcn.00404b40
lea eax, [ebx + 0x64]
mov edx, 0x57a404
call fcn.00404b40
lea eax, [ebx + 0x68]
mov edx, 0x57a414
call fcn.00404b40
lea eax, [ebx + 0x6c]
mov edx, 0x57a434
call fcn.00404b40
lea eax, [ebx + 0x70]
mov edx, 0x57a454
call fcn.00404b40
lea eax, [ebx + 0x74]
mov edx, 0x57a474
call fcn.00404b40
lea eax, [ebx + 0x78]
mov edx, 0x57a4a8
call fcn.00404b40
lea eax, [ebx + 0x7c]
mov edx, 0x57a4cc
call fcn.00404b40
lea eax, [ebx + 0x80]
mov edx, 0x57a4e4
call fcn.00404b40
lea eax, [ebx + 0x84]
mov edx, 0x57a508
call fcn.00404b40
lea eax, [ebx + 0x88]
mov edx, 0x57a530
call fcn.00404b40
lea eax, [ebx + 0x8c]
mov edx, 0x57a558
call fcn.00404b40
lea eax, [ebx + 0x90]
mov edx, 0x57a570
call fcn.00404b40
lea eax, [ebx + 0x94]
mov edx, 0x57a59c
call fcn.00404b40
lea eax, [ebx + 0x98]
mov edx, 0x57a5d0
call fcn.00404b40
mov dl, 1
mov eax, dword [0x575da0]
call fcn.00403bc8
mov edi, eax
mov dword [ebx + 0x9c], edi
lea eax, [edi + 4]
mov edx, 0x57a5e4
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 8
mov edx, 0x57a5f4
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0xc
mov edx, 0x57a604
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x10
mov edx, 0x57a618
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x14
mov edx, 0x57a630
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x18
mov edx, 0x57a640
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x1c
mov edx, 0x57a654
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x20
mov edx, 0x57a664
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x24
mov edx, 0x57a674
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x28
mov edx, 0x57a684
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x2c
mov edx, 0x57a694
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x30
mov edx, 0x57a6a4
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x34
mov edx, 0x57a6b4
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x38
mov edx, 0x57a6c4
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x3c
mov edx, 0x57a6d8
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x40
mov edx, 0x57a6e8
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x44
mov edx, 0x57a6fc
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x48
mov edx, 0x57a710
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x4c
mov edx, 0x57a724
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x50
mov edx, 0x57a73c
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x54
mov edx, 0x57a74c
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x5c
mov edx, 0x57a75c
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x60
mov edx, 0x57a76c
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x64
mov edx, 0x57a780
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x68
mov edx, 0x57a794
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x6c
mov edx, 0x57a7a8
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x70
mov edx, 0x57a7bc
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x78
mov edx, 0x57a7cc
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x7c
mov edx, 0x57a7dc
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x80
mov edx, 0x57a7f4
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x84
mov edx, 0x57a808
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x74
mov edx, 0x57a818
call fcn.00404b40
mov eax, dword [ebx + 0x9c]
add eax, 0x88
mov edx, 0x57a828
call fcn.00404b40
mov dl, 1
mov eax, dword [0x5764b0]
call fcn.00403bc8
mov edi, eax
mov dword [ebx + 0xa0], edi
lea eax, [edi + 4]
mov edx, 0x57a664
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 8
mov edx, 0x57a75c
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0xc
mov edx, 0x57a684
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x10
mov edx, 0x57a694
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x14
mov edx, 0x57a6a4
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x18
mov edx, 0x57a7cc
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x1c
mov edx, 0x57a7dc
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x20
mov edx, 0x57a838
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x24
mov edx, 0x57a848
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x28
mov edx, 0x57a858
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x2c
mov edx, 0x57a86c
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x30
mov edx, 0x57a808
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x34
mov edx, 0x57a880
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x38
mov edx, 0x57a890
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x3c
mov edx, 0x57a8a4
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x44
mov edx, 0x57a8c0
call fcn.00404b40
mov eax, dword [ebx + 0xa0]
add eax, 0x40
mov edx, 0x57a724
call fcn.00404b40
lea eax, [ebx + 0xac]
mov edx, 0x57a8dc
call fcn.00404b40
lea eax, [ebx + 0xb0]
mov edx, 0x57a8e8
call fcn.00404b40
mov dl, 1
mov eax, dword [0x5768a4]
call fcn.00403bc8
mov edi, eax
mov dword [ebx + 0xa4], edi
lea eax, [edi + 4]
mov edx, 0x57a8f4
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 8
mov edx, 0x57a908
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0xc
mov edx, 0x57a91c
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x10
mov edx, 0x57a92c
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x14
mov edx, 0x57a93c
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x18
mov edx, 0x57a950
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x28
mov edx, 0x57a964
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x2c
mov edx, 0x57a974
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x30
mov edx, 0x57a984
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x34
mov edx, 0x57a994
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x38
mov edx, 0x57a9ac
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x1c
mov edx, 0x57a9b8
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x20
mov edx, 0x57a9d4
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x24
mov edx, 0x57a9f0
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x3c
mov edx, 0x57aa1c
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x40
mov edx, 0x57aa44
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x44
mov edx, 0x57aa54
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x48
mov edx, 0x57aa64
call fcn.00404b40
mov eax, dword [ebx + 0xa4]
add eax, 0x4c
mov edx, 0x57aa74
call fcn.00404b40
mov dl, 1
mov eax, dword [0x576e70]
call fcn.00403bc8
mov edi, eax
mov dword [ebx + 0xa8], edi
lea eax, [edi + 4]
mov edx, 0x57aa84
call fcn.00404b40
mov eax, dword [ebx + 0xa8]
add eax, 8
mov edx, 0x57aa90
call fcn.00404b40
mov eax, dword [ebx + 0xa8]
add eax, 0xc
mov edx, 0x57aaac
call fcn.00404b40
mov eax, dword [ebx + 0xa8]
add eax, 0x10
mov edx, 0x57aab8
call fcn.00404b40
mov eax, dword [ebx + 0xa8]
add eax, 0x14
mov edx, 0x57aac8
call fcn.00404b40
mov eax, dword [ebx + 0xa8]
add eax, 0x18
mov edx, 0x57aadc
call fcn.00404b40
mov eax, dword [ebx + 0xa8]
add eax, 0x1c
mov edx, 0x57aafc
call fcn.00404b40
mov eax, dword [ebx + 0xa8]
add eax, 0x20
mov edx, 0x57ab28
call fcn.00404b40
mov eax, dword [ebx + 0xa8]
add eax, 0x24
mov edx, 0x57ab48
call fcn.00404b40
mov eax, dword [ebx + 0xa8]
add eax, 0x28
mov edx, 0x57ab70
call fcn.00404b40
mov dl, 1
mov eax, dword [0x578610]
call fcn.0057b0e0
mov dword [esi + 0x34], eax
mov dl, 1
mov eax, dword [0x578554]
call fcn.00403bc8
mov ebx, eax
mov dword [esi + 0x30], ebx
mov byte [ebx + 4], 1
mov dl, 1
mov eax, dword [0x577c1c]
call fcn.00403bc8
mov ebx, eax
mov dword [esi + 0x40], ebx
lea eax, [ebx + 4]
mov edx, 0x57ab8c
call fcn.00404b40
lea eax, [ebx + 8]
mov edx, 0x57aba0
call fcn.00404b40
mov dl, 1
mov eax, dword [0x577a1c]
call fcn.00403bc8
mov ebx, eax
mov dword [esi + 0x38], ebx
lea eax, [ebx + 4]
mov edx, 0x57abbc
call fcn.00404b40
lea eax, [ebx + 8]
mov edx, 0x57abd8
call fcn.00404b40
lea eax, [ebx + 0xc]
mov edx, 0x57abf0
call fcn.00404b40
lea eax, [ebx + 0x10]
mov edx, 0x57ac04
call fcn.00404b40
lea eax, [ebx + 0x14]
mov edx, 0x57ac14
call fcn.00404b40
lea eax, [ebx + 0x18]
mov edx, 0x57ac20
call fcn.00404b40
lea eax, [ebx + 0x1c]
mov edx, 0x57ac50
call fcn.00404b40
mov dl, 1
mov eax, dword [0x577d24]
call fcn.00403bc8
mov ebx, eax
mov dword [esi + 0x3c], ebx
lea eax, [ebx + 4]
mov edx, 0x579cf0
call fcn.00404b40
lea eax, [ebx + 8]
mov edx, 0x57ac80
call fcn.00404b40
lea eax, [ebx + 0xc]
mov edx, 0x57ac98
call fcn.00404b40
lea eax, [ebx + 0x10]
mov edx, 0x579d78
call fcn.00404b40
lea eax, [ebx + 0x14]
mov edx, 0x579d90
call fcn.00404b40
lea eax, [ebx + 0x18]
mov edx, 0x57acb0
call fcn.00404b40
lea eax, [ebx + 0x1c]
mov edx, 0x579e90
call fcn.00404b40
lea eax, [ebx + 0x20]
mov edx, 0x57acd0
call fcn.00404b40
lea eax, [ebx + 0x24]
mov edx, 0x57ace0
call fcn.00404b40
lea eax, [ebx + 0x28]
mov edx, 0x57acf0
call fcn.00404b40
lea eax, [ebx + 0x2c]
mov edx, 0x57ad00
call fcn.00404b40
lea eax, [ebx + 0x30]
mov edx, 0x579d08
call fcn.00404b40
lea eax, [ebx + 0x34]
mov edx, 0x579dec
call fcn.00404b40
lea eax, [ebx + 0x38]
mov edx, 0x57ad10
call fcn.00404b40
lea eax, [ebx + 0x3c]
mov edx, 0x57ad48
call fcn.00404b40
lea eax, [ebx + 0x40]
mov edx, 0x57ad88
call fcn.00404b40
lea eax, [ebx + 0x44]
mov edx, 0x57adc0
call fcn.00404b40
lea eax, [ebx + 0x48]
mov edx, 0x57addc
call fcn.00404b40
lea eax, [ebx + 0x4c]
mov edx, 0x57ae08
call fcn.00404b40
mov dl, 1
mov eax, dword [0x5751e4]
call fcn.00403bc8
mov ebx, eax
mov dword [esi + 0x54], ebx
lea eax, [ebx + 4]
mov edx, 0x57ae30
call fcn.00404b40
lea eax, [ebx + 8]
mov edx, 0x57ae58
call fcn.00404b40
lea eax, [ebx + 0xc]
mov edx, 0x57ae80
call fcn.00404b40
lea eax, [ebx + 0x10]
mov edx, 0x57ae9c
call fcn.00404b40
lea eax, [ebx + 0x14]
mov edx, 0x57aebc
call fcn.00404b40
lea eax, [ebx + 0x18]
mov edx, 0x57af00
call fcn.00404b40
lea eax, [ebx + 0x1c]
mov edx, 0x57af44
call fcn.00404b40
lea eax, [ebx + 0x20]
mov edx, 0x57af60
call fcn.00404b40
lea eax, [ebx + 0x24]
mov edx, 0x57af88
call fcn.00404b40
lea eax, [ebx + 0x28]
mov edx, 0x57afc0
call fcn.00404b40
lea eax, [ebx + 0x2c]
mov edx, 0x57af00
call fcn.00404b40
mov byte [esi + 0x44], 1
lea eax, [esi + 0x48]
mov edx, 0x57aff4
call fcn.00404b40
lea eax, [esi + 0x4c]
mov edx, 0x57acf0
call fcn.00404b40
lea eax, [esi + 0x64]
call fcn.00404aec
mov byte [esi + 0x6d], 0
mov byte [esi + 0x6e], 1
mov al, byte [0x57aff8]
mov byte [esi + 0x45], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x579a0c
lea eax, [ebp - 8]
call fcn.00404aec
ret