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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7354cb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8c
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
xor ecx, ecx
push edi
movsx eax, word [esi + 0x10]
mov edx, dword [esi + 2]
mov cl, byte [esi + 0x31]
mov dword [ebp - 0x94], eax
lea eax, [esi + 2]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x90], ecx
movsx eax, word [esi + 6]
xor ecx, ecx
mov dword [ebp - 0x80], eax
mov cl, byte [esi + 0x35]
xor eax, eax
mov al, byte [esi + 0x36]
mov dword [ebp - 0x7c], ecx
movsx ecx, word [esi + 0x12]
mov dword [ebp - 0x78], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], eax
movsx ecx, word [esi + 0x18]
movsx eax, word [esi + 0xa]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x60], eax
movsx ecx, word [esi + 8]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x5c], eax
xor ecx, ecx
movsx eax, word [esi + 0x1a]
mov cl, byte [esi + 0x30]
mov dword [ebp - 0x50], eax
movsx eax, word [esi + 0x1e]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x48], eax
movsx ecx, word [esi + 0x1c]
movsx eax, word [esi + 0x22]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x40], eax
movsx ecx, word [esi + 0x20]
movsx eax, word [esi + 0x28]
mov dword [ebp - 0x44], ecx
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], eax
movsx ecx, word [esi + 0x2a]
mov eax, dword [esi + 0x2c]
xor edi, edi
mov dword [ebp - 0x30], eax
xor eax, eax
mov al, byte [esi + 0x33]
mov dword [ebp - 0x34], ecx
xor ecx, ecx
mov dword [ebp - 0x54], edi
mov cl, byte [esi + 0x32]
mov dword [ebp - 0x68], edi
mov edi, eax
and eax, 0x3f
shr edi, 6
shl ecx, 2
or edi, ecx
xor ecx, ecx
mov cl, byte [esi + 0x34]
mov dword [ebp - 0x8c], edi
mov edi, ecx
and ecx, 0xf
shr edi, 4
shl eax, 4
or edi, eax
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebx + 0xb4]
push edx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x88], edi
call fcn.00529760
mov edi, eax
test edi, edi
je 0x5e1ce2
mov dx, word [esi + 0x39]
mov word [edi + 0xe8], dx
mov ax, word [esi + 0x37]
mov word [edi + 0x1c0], ax
mov eax, dword [ebp - 0x74]
cmp eax, 0x64
jne 0x5e1c46
mov edx, dword [ebp - 0x10]
mov ecx, dword [0x83bf78]
mov eax, dword [edx]
cmp ecx, eax
mov eax, dword [ebp - 0x6c]
jne 0x5e1c2f
mov dword [0x83bfa0], eax
test eax, eax
je 0x5e1c46
push eax
mov ecx, 0x83a9e0
call fcn.006f49d0
push eax
mov ecx, edi
call fcn.0058e390
mov eax, dword [edi]
push 0
lea ecx, [ebp - 0x98]
push 0
push ecx
push 0x7c
push 0
mov ecx, edi
call dword [eax + 8]
mov ecx, 0x83a9e0
call fcn.006f59b0
test eax, eax
je 0x5e200a
cmp dword [ebp - 0x74], 0x64
je 0x5e200a
mov eax, dword [edi + 0x134]
test eax, eax
jne 0x5e200a
mov ecx, edi
call fcn.00591350
push eax
mov ecx, 0x83a9e0
call fcn.006f59a0
test eax, eax
jne 0x5e1ccc
mov ecx, edi
call fcn.00591350
push eax
mov ecx, 0x83a9e0
call fcn.006f5a70
test eax, eax
je 0x5e200a
movsx edx, word [esi + 0x28]
mov eax, dword [esi + 0x24]
push edx
push eax
push edi
mov ecx, ebx
call fcn.005b6060
jmp 0x5e200a
movsx ecx, word [esi + 0x28]
mov edx, dword [esi + 0x24]
push ecx
push edx
push edi
mov ecx, ebx
call fcn.005b6060
jmp 0x5e200a
mov ax, word [esi + 0x10]
mov dword [ebp - 0x1c], 0
cmp ax, 0x2d
jl 0x5e1cf9
cmp ax, 0xfa0
jl 0x5e1d0b
movsx eax, ax
push eax
mov ecx, 0x83a9e0
call fcn.006f5b20
test eax, eax
je 0x5e1d5f
mov edi, dword [ebp - 0x10]
mov ecx, dword [edi]
push ecx
mov ecx, 0x83a9e0
call fcn.006f8a80
test eax, eax
je 0x5e1d29
mov dword [0x83e254], 1
mov edx, dword [edi]
mov ecx, 0x83a9e0
push edx
call fcn.006f8ab0
test eax, eax
je 0x5e1d44
mov dword [0x83e2f8], 1
movsx eax, word [esi + 0x10]
push eax
mov ecx, ebx
call fcn.005b1bd0
mov dword [ebp + 8], eax
mov dword [ebp - 0x90], 0
jmp 0x5e1d99
push 0x3e4
mov dword [ebp - 0x1c], 1
call fcn.00711d5b
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
mov dword [ebp - 4], 0
je 0x5e1d8a
mov ecx, eax
call fcn.00621c70
jmp 0x5e1d8c
xor eax, eax
mov edi, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp + 8], eax
test eax, eax
je 0x5e1dd3
cmp dword [ebp - 0x74], 0x64
jne 0x5e1dd3
mov ecx, dword [0x83bf78]
mov edx, dword [edi]
cmp ecx, edx
mov ecx, dword [ebp - 0x6c]
jne 0x5e1db8
mov dword [0x83bfa0], ecx
test ecx, ecx
je 0x5e1dd3
push ecx
mov ecx, 0x83a9e0
call fcn.006f49d0
mov ecx, dword [ebp + 8]
push eax
call fcn.0058e390
mov eax, dword [ebp + 8]
mov edi, dword [ebx + 0xb4]
mov dword [ebp - 0x14], eax
mov ebx, dword [edi + 0xc]
add edi, 8
push 0xc
mov edx, dword [ebx + 4]
mov dword [ebp - 0x20], edx
call fcn.00711d5b
add esp, 4
mov ecx, ebx
test ebx, ebx
jne 0x5e1dfa
mov ecx, eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x5e1e05
mov ecx, eax
mov dword [eax + 4], ecx
mov dword [ebx + 4], eax
mov ecx, dword [eax + 4]
lea edx, [ebp - 0x14]
push edx
mov dword [ecx], eax
add eax, 8
push eax
call fcn.0052a890
mov edx, dword [edi + 8]
mov eax, dword [ebp - 0x18]
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, 0xc
mov ecx, ebx
test ebx, ebx
jne 0x5e1e4b
mov ecx, eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x5e1e56
mov ecx, eax
mov dword [eax + 4], ecx
mov dword [ebx + 4], eax
mov edx, dword [eax + 4]
lea ecx, [ebp + 8]
push ecx
mov dword [edx], eax
add eax, 8
push eax
call fcn.00600450
mov ecx, dword [edi + 8]
add esp, 8
inc ecx
lea eax, [ebp - 0x98]
mov dword [edi + 8], ecx
mov ecx, dword [ebp + 8]
push 0
push 2
mov edx, dword [ecx]
push eax
push 0x79
push 0
call dword [edx + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
mov cx, word [esi + 0x37]
test eax, eax
mov word [edx + 0x1c0], cx
je 0x5e1f0e
mov ecx, dword [ebp + 8]
mov ax, word [esi + 0x39]
mov edx, dword [ebp - 0x10]
mov word [ecx + 0xe8], ax
mov eax, dword [edx]
push eax
call fcn.005317a0
add esp, 4
test al, al
jne 0x5e1f0e
mov ecx, dword [esi + 0xc]
push ecx
call fcn.006dddd0
add esp, 4
test al, al
jne 0x5e1f0e
push 0
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x2c]
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0x28], 0
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x24], 0
mov dword [edx], eax
mov eax, dword [ebp - 0x24]
push 0x158
mov dword [edx + 4], ecx
mov ecx, dword [ebp + 8]
mov dword [edx + 8], eax
call fcn.0058f300
mov ecx, 0x83a9e0
call fcn.006f59b0
test eax, eax
je 0x5e1f6f
cmp dword [ebp - 0x74], 0x64
je 0x5e1f6f
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x134]
test eax, eax
jne 0x5e1f6f
call fcn.00591350
push eax
mov ecx, 0x83a9e0
call fcn.006f59a0
test eax, eax
jne 0x5e1f5a
mov ecx, dword [ebp + 8]
call fcn.00591350
push eax
mov ecx, 0x83a9e0
call fcn.006f5a70
test eax, eax
je 0x5e1f6f
movsx ecx, word [esi + 0x28]
mov edx, dword [esi + 0x24]
mov eax, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x18]
push edx
push eax
call fcn.005b6060
mov eax, dword [ebp + 8]
test eax, eax
je 0x5e2007
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [edi + 0x1c4]
lea ebx, [edi + 0x1c0]
mov dword [ebp - 0x1c], ecx
mov ecx, ebx
call fcn.005bd9f0
mov ecx, dword [ebx + 4]
mov ebx, dword [ebp - 0x10]
cmp eax, ecx
mov dword [ebp - 0x14], eax
je 0x5e1fb0
mov edx, dword [ebx]
cmp edx, dword [eax + 0xc]
jb 0x5e1fb0
lea eax, [ebp - 0x14]
jmp 0x5e1fb6
mov dword [ebp - 0x20], ecx
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax]
cmp edx, ecx
jne 0x5e1ffd
mov edx, dword [edi + 0x1d4]
add edi, 0x1d0
push ebx
mov ecx, edi
mov dword [ebp - 0x1c], edx
call fcn.005bd9f0
mov edi, dword [edi + 4]
mov dword [ebp - 0x14], eax
cmp eax, edi
je 0x5e1fee
mov ecx, dword [ebx]
mov edx, dword [eax + 0xc]
cmp ecx, edx
jb 0x5e1fee
lea eax, [ebp - 0x14]
jmp 0x5e1ff4
mov dword [ebp - 0x20], edi
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax]
cmp ecx, edx
je 0x5e2007
mov ecx, dword [ebp + 8]
push 1
call fcn.00593e90
mov ebx, dword [ebp - 0x18]
mov eax, dword [esi + 0x2c]
mov edx, dword [esi + 0xc]
movsx ecx, word [esi + 0x37]
push eax
mov eax, dword [ebp - 0x10]
push ecx
push edx
mov ecx, dword [eax]
push ecx
mov ecx, ebx
call fcn.0060e0a0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4