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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4dc850
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
mov edx, dword [ebp + 8]
mov eax, dword [0x51ae08]
push ebx
mov ebx, ecx
mov cl, 1
cmp cl, byte [edx + 2]
mov dword [esp + 0xc], eax
sbb eax, eax
and eax, dword [0x51ae0c]
push esi
xor esi, esi
push edi
mov dword [esp + 0x1c], eax
mov byte [esp + 0xf], 0
mov dword [esp + 0x18], 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], esi
mov byte [esp + 0x44], cl
mov dword [esp + 0x10], esi
mov edi, ebx
movzx eax, word [edi]
cmp eax, 0x20
je 0x480842
cmp eax, 9
jne 0x480847
add edi, 2
jmp 0x480835
cmp word [edi], 0x2a
jne 0x48091f
movzx eax, word [edi + 2]
add edi, 2
push eax
call fcn.004cb3ba
add esp, 4
cmp eax, 0x47
je 0x48086d
mov byte [esp + 0xf], 1
jmp 0x4808d5
push 0xe
push 0x50cac0
call fcn.004a4b10
add esp, 4
push eax
push edi
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne 0x4808a2
add edi, 0x1c
cmp dword [esp + 0x10], esi
je 0x480898
mov byte [esp + 0xf], 1
mov dword [esp + 0x10], 2
jmp 0x4808d5
push 7
push 0x50caf0
call fcn.004a4b10
add esp, 4
push eax
push edi
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne 0x4808d5
add edi, 0xe
cmp dword [esp + 0x10], esi
je 0x4808cd
mov byte [esp + 0xf], 1
mov dword [esp + 0x10], 1
cmp edi, esi
je 0x48090d
movzx eax, word [edi]
cmp ax, si
je 0x48090d
movzx edx, ax
mov ecx, 0x4ebd9c
mov eax, 0x20
mov edi, edi
cmp dx, ax
je 0x480966
movzx eax, word [ecx + 2]
add ecx, 2
cmp ax, si
jne 0x4808f0
movzx eax, word [edi + 2]
add edi, 2
cmp ax, si
jne 0x4808e1
mov ebx, 0x4ec878
lea eax, [esp + 0x2c]
call fcn.00414350
mov ebx, eax
xor esi, esi
mov edx, dword [0x51e6d0]
mov eax, edx
lea edi, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x480930
mov ecx, dword [ebp + 0x14]
sub eax, edi
sar eax, 1
mov edi, eax
push edi
push edx
push ecx
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne 0x4809c7
mov edx, dword [ebp + 0x14]
movzx eax, word [edx + edi*2]
cmp eax, 0x31
jne 0x48098e
push 0x50a6d8
jmp 0x4809bc
lea ebx, [edi + 2]
mov edi, ebx
jmp 0x480970
movzx eax, word [edi]
cmp eax, 0x20
je 0x48097d
cmp eax, 9
jne 0x480982
add edi, 2
jmp 0x480970
cmp word [edi], 0x2a
je 0x480851
jmp 0x48091f
cmp eax, 0x32
jne 0x48099a
push 0x509d38
jmp 0x4809bc
cmp eax, 0x33
jne 0x4809a6
push 0x4f0410
jmp 0x4809bc
cmp eax, 0x34
jne 0x4809b2
push 0x4ef0b8
jmp 0x4809bc
cmp eax, 0x35
jne 0x4809c7
push 0x4f1650
call fcn.004a4b10
add esp, 4
mov dword [ebp + 0x14], eax
cmp byte [esp + 0xf], 0
jne 0x480b7d
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 0x17]
test al, al
jne 0x4809e3
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 2
je 0x480b7d
mov edi, dword [ebp + 0xc]
cmp dword [edi], 0x4034b50
mov dword [esp + 0x18], esi
je 0x480a1f
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
call fcn.00498710
add esp, 4
test al, al
je 0x480a1f
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x480a1f
cmp dword [eax], 0x4034b50
jne 0x480a1f
mov edi, eax
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x10]
push edx
push ebx
push eax
push edi
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0x34]
push edx
call fcn.0047dd70
mov ebx, eax
add esp, 0x18
cmp ebx, 0x64
jne 0x480a9d
mov edi, dword [esp + 0x30]
cmp edi, esi
je 0x480a66
mov eax, dword [esp + 0x2c]
push eax
push esi
push edi
call fcn.004d2f90
add esp, 0xc
push edi
call fcn.004ca991
add esp, 4
mov esi, dword [esp + 0x24]
test esi, esi
je 0x480a87
mov ecx, dword [esp + 0x20]
push ecx
push 0
push esi
call fcn.004d2f90
add esp, 0xc
push esi
call fcn.004ca991
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp ebx, esi
jne 0x480b81
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
cmp eax, esi
je 0x480aba
push 0x18
push esi
push edi
call fcn.00401590
mov ebx, dword [esp + 0x14]
mov ecx, ebx
call fcn.0041acb0
cmp dword [esp + 0x10], esi
je 0x480ad7
lea edx, [esp + 0x20]
call fcn.00414ea0
push eax
jmp 0x480ad8
push edi
mov edi, dword [esp + 0x28]
mov eax, ebx
call fcn.0046c490
cmp byte [ebx + 0x17], 0
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], esi
jne 0x480afa
mov eax, dword [ebx + 0xc]
jmp 0x480afc
mov eax, ebx
cmp byte [eax + 0x17], 2
jne 0x480b40
cmp dword [0x51c0a8], esi
je 0x480b40
mov ecx, 0x51c09c
call fcn.004049a0
cmp eax, esi
jne 0x480b44
lea ecx, [esp + 0x2c]
call fcn.00413fb0
lea ecx, [esp + 0x20]
call fcn.00413fb0
xor eax, eax
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
and byte [eax + 0x15], 0x86
mov eax, dword [0x51b6d0]
push 0x18
push esi
push esi
call fcn.00401590
lea ecx, [esp + 0x2c]
call fcn.00413fb0
lea ecx, [esp + 0x20]
call fcn.00413fb0
mov eax, 1
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
call fcn.0041acb0
mov ecx, dword [esp + 0x1c]
cmp ecx, esi
je 0x480b97
call fcn.0041acb0
mov edx, dword [ebp + 8]
push ebx
push edx
call fcn.0042dc30
mov ebx, dword [esp + 0x30]
mov edi, eax
cmp ebx, esi
je 0x480bc3
mov eax, dword [esp + 0x2c]
push eax
push esi
push ebx
call fcn.004d2f90
add esp, 0xc
push ebx
call fcn.004ca991
add esp, 4
mov ebx, dword [esp + 0x24]
cmp ebx, esi
je 0x480be3
mov ecx, dword [esp + 0x20]
push ecx
push esi
push ebx
call fcn.004d2f90
add esp, 0xc
push ebx
call fcn.004ca991
add esp, 4
mov ecx, dword [esp + 0x3c]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10