Function at 0x5cd290
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7348eb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x78
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push edi
mov dword [ebp - 0x10], ebx
mov eax, dword [esi + 2]
mov edx, dword [esi + 0x16]
movsx ecx, word [esi + 0xe]
mov dword [ebp - 0x84], eax
xor eax, eax
mov al, byte [esi + 0x31]
mov dword [ebp - 0x80], ecx
movsx ecx, word [esi + 6]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x5c], ecx
movsx eax, word [esi + 0x10]
movsx ecx, word [esi + 0x12]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
movsx eax, word [esi + 0x14]
movsx ecx, word [esi + 0xa]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x48], ecx
movsx eax, word [esi + 8]
movsx ecx, word [esi + 0xc]
mov dword [ebp - 0x4c], eax
xor eax, eax
mov al, byte [esi + 0x30]
mov dword [ebp - 0x44], ecx
movsx ecx, word [esi + 0x1a]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
movsx eax, word [esi + 0x1c]
movsx ecx, word [esi + 0x1e]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
movsx eax, word [esi + 0x20]
movsx ecx, word [esi + 0x22]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
movsx eax, word [esi + 0x24]
mov ecx, dword [esi + 0x26]
mov dword [ebp - 0x28], eax
movsx eax, word [esi + 0x2a]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
movsx eax, word [esi + 0x2e]
movsx ecx, word [esi + 0x2c]
mov dword [ebp - 0x18], eax
xor eax, eax
mov al, byte [esi + 0x33]
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov edi, eax
mov cl, byte [esi + 0x32]
and eax, 0x3f
shr edi, 6
shl ecx, 2
or edi, ecx
xor ecx, ecx
mov cl, byte [esi + 0x34]
mov dword [ebp - 0x74], edi
mov edi, ecx
and ecx, 0xf
shr edi, 4
shl eax, 4
or edi, eax
xor eax, eax
mov al, byte [esi + 0x35]
mov dword [ebp - 0x70], edi
mov edi, eax
and eax, 3
shr edi, 2
shl ecx, 6
or edi, ecx
mov dword [ebp - 0x78], edx
shl eax, 8
xor ecx, ecx
mov dword [ebp - 0x64], edi
mov cl, byte [esi + 0x36]
or eax, ecx
push edx
mov dword [ebp - 0x60], eax
xor eax, eax
mov al, byte [esi + 0x37]
mov ecx, eax
and eax, 0xf
shr ecx, 4
mov dword [ebp - 0x6c], ecx
mov ecx, 0x83a9e0
mov dword [ebp - 0x68], eax
call fcn.006ce880
mov edx, dword [esi + 2]
mov ecx, dword [ebx + 0xb4]
push edx
call fcn.00529760
mov edi, eax
test edi, edi
je 0x5cd4f2
mov eax, dword [edi]
push 0
lea ecx, [ebp - 0x84]
push 0
push ecx
push 5
push 0
mov ecx, edi
call dword [eax + 8]
mov ecx, edi
call fcn.00591350
cmp eax, 0x2d
jle 0x5cd429
mov ecx, edi
call fcn.00591350
cmp eax, 0xfa0
jge 0x5cd429
movsx eax, word [esi + 0x1c]
movsx edx, word [esi + 0x1e]
shl eax, 0x10
or eax, edx
jbe 0x5cd429
movsx ecx, word [esi + 0x1a]
mov edx, dword [edi]
push ecx
push eax
mov ecx, edi
call dword [edx + 0x98]
cmp dword [ebp - 0x58], 0x64
jne 0x5cd46c
mov edx, dword [0x83bf78]
mov eax, dword [esi + 2]
cmp edx, eax
mov eax, dword [ebp - 0x50]
jne 0x5cd444
mov dword [0x83bfa0], eax
test eax, eax
je 0x5cd46c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x9c]
test eax, eax
jne 0x5cd46c
mov ecx, dword [ebp - 0x50]
push ecx
mov ecx, 0x83a9e0
call fcn.006f49d0
push eax
mov ecx, edi
call fcn.0058e390
mov ecx, 0x83a9e0
call fcn.006f59b0
test eax, eax
je 0x5cd735
cmp dword [ebp - 0x58], 0x64
je 0x5cd735
mov eax, dword [edi + 0x134]
test eax, eax
jne 0x5cd735
mov ecx, edi
call fcn.00591350
push eax
mov ecx, 0x83a9e0
call fcn.006f59a0
test eax, eax
jne 0x5cd4dc
mov ecx, edi
call fcn.00591350
push eax
mov ecx, 0x83a9e0
call fcn.006f5a70
test eax, eax
je 0x5cd735
movsx edx, word [esi + 0x2a]
mov eax, dword [esi + 0x26]
push edx
push eax
push edi
mov ecx, ebx
call fcn.005b6060
jmp 0x5cd735
movsx ecx, word [esi + 0x2a]
mov edx, dword [esi + 0x26]
push ecx
push edx
push edi
mov ecx, ebx
call fcn.005b6060
jmp 0x5cd735
mov ax, word [esi + 0xe]
cmp ax, 0x2d
jl 0x5cd502
cmp ax, 0xfa0
jl 0x5cd514
movsx eax, ax
push eax
mov ecx, 0x83a9e0
call fcn.006f5b20
test eax, eax
je 0x5cd563
mov ecx, dword [esi + 2]
push ecx
mov ecx, 0x83a9e0
call fcn.006f8a80
test eax, eax
mov edi, 1
je 0x5cd531
mov dword [0x83e254], edi
mov edx, dword [esi + 2]
mov ecx, 0x83a9e0
push edx
call fcn.006f8ab0
test eax, eax
je 0x5cd549
mov dword [0x83e2f8], edi
movsx eax, word [esi + 0xe]
push eax
mov ecx, ebx
call fcn.005b1bd0
mov edi, eax
mov dword [ebp - 0x7c], 0
mov dword [ebp + 8], edi
jmp 0x5cd595
push 0x3e4
call fcn.00711d5b
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov dword [ebp - 4], 0
je 0x5cd587
mov ecx, eax
call fcn.00621c70
jmp 0x5cd589
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp + 8], eax
mov edi, eax
test edi, edi
je 0x5cd5cb
cmp dword [ebp - 0x58], 0x64
jne 0x5cd5cb
mov ecx, dword [0x83bf78]
mov eax, dword [esi + 2]
cmp ecx, eax
mov eax, dword [ebp - 0x50]
jne 0x5cd5b4
mov dword [0x83bfa0], eax
test eax, eax
je 0x5cd5cb
push eax
mov ecx, 0x83a9e0
call fcn.006f49d0
push eax
mov ecx, edi
call fcn.0058e390
mov edi, dword [ebx + 0xb4]
mov ebx, dword [edi + 0xc]
add edi, 8
push 0xc
mov edx, dword [ebx + 4]
mov dword [ebp - 0x14], edx
call fcn.00711d5b
add esp, 4
mov ecx, ebx
test ebx, ebx
jne 0x5cd5ef
mov ecx, eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x5cd5fa
mov ecx, eax
mov dword [eax + 4], ecx
mov dword [ebx + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
add eax, 8
test eax, eax
je 0x5cd611
mov edx, dword [ebp + 8]
mov dword [eax], edx
mov edx, dword [edi + 8]
mov eax, dword [ebp - 0x10]
inc edx
push 0xc
mov dword [edi + 8], edx
mov edi, dword [eax + 0xb4]
add edi, 0x14
mov ebx, dword [edi + 4]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x14], ecx
call fcn.00711d5b
add esp, 4
mov ecx, ebx
test ebx, ebx
jne 0x5cd63f
mov ecx, eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x5cd64a
mov ecx, eax
mov dword [eax + 4], ecx
mov dword [ebx + 4], eax
mov edx, dword [eax + 4]
mov ebx, dword [ebp + 8]
mov dword [edx], eax
add eax, 8
test eax, eax
je 0x5cd661
mov dword [eax], ebx
mov edx, dword [edi + 8]
push 0
inc edx
lea ecx, [ebp - 0x84]
push 0
mov dword [edi + 8], edx
mov eax, dword [ebx]
push ecx
push 6
push 0
mov ecx, ebx
call dword [eax + 8]
mov ecx, ebx
call fcn.00591350
cmp eax, 0x2d
jle 0x5cd6cb
mov ecx, ebx
call fcn.00591350
cmp eax, 0xfa0
jge 0x5cd6cb
movsx edi, word [esi + 0x1c]
movsx edx, word [esi + 0x1e]
movsx eax, word [esi + 0x1a]
shl edi, 0x10
or edi, edx
mov dword [ebp + 8], eax
jbe 0x5cd6cb
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x9c]
test eax, eax
jne 0x5cd6cb
mov ecx, dword [ebp + 8]
mov eax, dword [ebx]
push ecx
push edi
mov ecx, ebx
call dword [eax + 0x98]
mov ecx, 0x83a9e0
call fcn.006f59b0
test eax, eax
je 0x5cd732
cmp dword [ebp - 0x58], 0x64
je 0x5cd732
mov eax, dword [ebx + 0x134]
test eax, eax
jne 0x5cd732
mov ecx, ebx
call fcn.00591350
push eax
mov ecx, 0x83a9e0
call fcn.006f59a0
test eax, eax
jne 0x5cd720
mov ecx, ebx
call fcn.00591350
push eax
mov ecx, 0x83a9e0
call fcn.006f5a70
test eax, eax
je 0x5cd732
movsx edx, word [esi + 0x2a]
mov eax, dword [esi + 0x26]
push edx
push eax
jmp 0x5cd729
movsx ecx, word [esi + 0x2a]
mov edx, dword [esi + 0x26]
push ecx
push edx
mov ecx, dword [ebp - 0x10]
push ebx
call fcn.005b6060
mov ebx, dword [ebp - 0x10]
movsx eax, word [esi + 0x2e]
movsx ecx, word [esi + 0x3a]
movsx edx, word [esi + 0xc]
push eax
mov eax, dword [esi + 2]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0060e0a0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4