Function at 0x445ba0
Capabilities:
Check for peb beingdebugged flag
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c26ad
mov eax, dword fs:[0]
push eax
sub esp, 0x7f8
mov eax, dword [0x4e98d0]
xor eax, ebp
mov dword [ebp - 0x18], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0xd], 1
call fcn.00489eb0
mov eax, dword [0x4e7064]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [0x4e7390]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [0x4e7394]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
push 0x4447b0
call fcn.0049939e
add esp, 4
mov eax, dword [0x4ffc64]
mov ecx, dword [0x4ffc64]
mov edx, dword [eax + 0x78]
xor edx, dword [ecx + 0x3c]
push edx
call dword [0x4e7074]
push eax
push 0x4ebf84
push 0x104
lea eax, [ebp - 0x124]
push eax
call fcn.00498e08
add esp, 0x14
lea ecx, [ebp - 0x124]
push ecx
push 0
push 0x1f0001
call dword [0x4e70b0]
test eax, eax
je 0x445c64
mov byte [ebp - 0xd], 0
movzx edx, byte [ebp - 0xd]
test edx, edx
je 0x445e33
mov eax, dword [0x4ffc64]
mov ecx, dword [0x4ffc64]
mov edx, dword [eax + 0x18]
xor edx, dword [ecx + 0x20]
mov eax, dword [0x4ffc64]
xor edx, dword [eax + 0x80]
and edx, 0x20
je 0x445e33
mov ecx, dword [0x4ffc64]
mov edx, dword [0x4ffc64]
mov eax, dword [ecx + 4]
xor eax, dword [edx + 0x74]
mov ecx, dword [0x4ffc64]
xor eax, dword [ecx + 0x78]
push eax
push 0x4ebf7c
push 0x104
lea edx, [ebp - 0x124]
push edx
call fcn.00498e08
add esp, 0x10
lea eax, [ebp - 0x124]
push eax
push 0
push 0
call dword [0x4e7034]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0x445e33
call dword [0x4e702c]
cmp eax, 0xb7
jne 0x445e33
push 0x7530
mov ecx, dword [ebp - 0x12c]
push ecx
call dword [0x4e70ac]
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x445d30
cmp dword [ebp - 0x130], 0x80
jne 0x445e29
mov edx, dword [0x4ffc64]
mov eax, dword [0x4ffc64]
mov ecx, dword [edx + 4]
xor ecx, dword [eax + 0x74]
mov edx, dword [0x4ffc64]
xor ecx, dword [edx + 0x78]
push ecx
push 0x4ebf74
push 0x104
lea eax, [ebp - 0x124]
push eax
call fcn.00498e08
add esp, 0x10
mov dword [ebp - 0x138], 0
jmp 0x445d7f
mov ecx, dword [ebp - 0x138]
add ecx, 1
mov dword [ebp - 0x138], ecx
cmp dword [ebp - 0x138], 0x12c
jge 0x445db8
lea edx, [ebp - 0x124]
push edx
push 0x4ebf68
call dword [0x4e7398]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
je 0x445dae
jmp 0x445db8
push 0x64
call dword [0x4e723c]
jmp 0x445d70
cmp dword [ebp - 0x134], 0
je 0x445e1c
mov eax, dword [0x4ffc64]
mov ecx, dword [0x4ffc64]
mov edx, dword [eax + 4]
xor edx, dword [ecx + 0x74]
mov eax, dword [0x4ffc64]
xor edx, dword [eax + 0x78]
mov dword [ebp - 0x144], edx
mov ecx, dword [0x4ffa08]
push ecx
call fcn.004942b0
add esp, 4
add eax, 1
mov dword [ebp - 0x140], eax
mov edx, dword [0x4ffa08]
mov dword [ebp - 0x13c], edx
lea eax, [ebp - 0x144]
push eax
push 0
push 0x4a
mov ecx, dword [ebp - 0x134]
push ecx
call dword [0x4e73ac]
mov edx, dword [ebp - 0x12c]
push edx
call dword [0x4e70a8]
mov eax, 1
jmp 0x446427
push 1
call fcn.00446440
add esp, 4
movzx eax, byte [ebp - 0xd]
test eax, eax
je 0x4461bf
mov ecx, dword [0x4ffc64]
mov edx, dword [0x4ffc64]
mov eax, dword [ecx + 0x18]
xor eax, dword [edx + 0x20]
mov ecx, dword [0x4ffc64]
xor eax, dword [ecx + 0x80]
and eax, 0x40
jne 0x4461bf
push 0x200
lea edx, [ebp - 0x344]
push edx
push 0x4ebf60
call dword [0x4e7098]
test eax, eax
jne 0x4461bf
push 0xc8
push 0x23
lea eax, [ebp - 0x344]
push eax
call fcn.004954e0
add esp, 0xc
mov byte [ebp - 0x27c], 0
mov dword [ebp - 0x448], 1
jmp 0x445ec7
mov ecx, dword [ebp - 0x448]
add ecx, 1
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0x40
jg 0x445f06
mov edx, dword [ebp - 0x448]
push edx
push 0x4ebf58
push 0x100
lea eax, [ebp - 0x444]
push eax
call fcn.00498e08
add esp, 0x10
lea ecx, [ebp - 0x344]
push ecx
lea edx, [ebp - 0x444]
push edx
call dword [0x4e7070]
jmp 0x445eb8
mov eax, dword [0x4ffc64]
mov ecx, dword [0x4ffc64]
mov edx, dword [eax + 0x18]
xor edx, dword [ecx + 0x20]
mov eax, dword [0x4ffc64]
xor edx, dword [eax + 0x80]
and edx, 0x10
jne 0x4461bf
lea ecx, [ebp - 0x624]
push ecx
call fcn.0046fa30
add esp, 4
mov dword [ebp - 4], 0
lea edx, [ebp - 0x708]
push edx
call fcn.0042f2e0
add esp, 4
mov dword [ebp - 0x7f8], eax
mov eax, dword [ebp - 0x7f8]
mov dword [ebp - 0x7fc], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x7fc]
push ecx
lea ecx, [ebp - 0x4ac]
call fcn.00469ab0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x708]
call fcn.00427870
cmp dword [0x4ffa00], 1
jne 0x445fbc
cmp dword [ebp - 0x618], 0
jne 0x445fbc
lea ecx, [ebp - 0x4ac]
call fcn.0046a770
movzx edx, al
test edx, edx
jne 0x445fbc
lea ecx, [ebp - 0x4ac]
call fcn.0046a310
mov dword [ebp - 0x618], eax
push 0
lea eax, [ebp - 0x644]
push eax
call fcn.0046f310
add esp, 8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x644]
call fcn.00433740
movzx ecx, al
test ecx, ecx
je 0x446028
mov dword [ebp - 0x70c], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x644]
call fcn.00427870
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4ac]
call fcn.004276c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x624]
call fcn.00433240
mov eax, dword [ebp - 0x70c]
jmp 0x446427
lea edx, [ebp - 0x78c]
push edx
call fcn.0046fc50
add esp, 4
mov dword [ebp - 0x800], eax
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x804], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x804]
push ecx
lea ecx, [ebp - 0x770]
call fcn.0042fa40
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x644]
call fcn.00433700
push eax
lea ecx, [ebp - 0x7ec]
call fcn.0042fa40
mov byte [ebp - 4], 7
lea edx, [ebp - 0x4bc]
push edx
lea eax, [ebp - 0x624]
push eax
push 0x5007c0
push 0x5007c0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x770]
push ecx
lea edx, [ebp - 0x7ec]
push edx
call fcn.0046f530
add esp, 0x28
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x70d], al
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x7ec]
call fcn.004276c0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x770]
call fcn.004276c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78c]
call fcn.0043f9a0
movzx eax, byte [ebp - 0x70d]
test eax, eax
je 0x446168
mov dword [0x4ffb40], 6
call dword [0x4e702c]
push eax
push 0x4ebf38
push 0x100
push 0x4ffb48
call fcn.00498e08
add esp, 0x10
mov dword [ebp - 0x7f0], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x644]
call fcn.00427870
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4ac]
call fcn.004276c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x624]
call fcn.00433240
mov eax, dword [ebp - 0x7f0]
jmp 0x446427
push 0x2710
mov ecx, dword [ebp - 0x4bc]
push ecx
call dword [0x4e73bc]
mov dword [ebp - 0x7f4], 1
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x644]
call fcn.00427870
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4ac]
call fcn.004276c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x624]
call fcn.00433240
mov eax, dword [ebp - 0x7f4]
jmp 0x446427
mov edx, dword [0x4ffc64]
mov eax, dword [0x4ffc64]
mov ecx, dword [edx + 0x18]
xor ecx, dword [eax + 0x20]
mov edx, dword [0x4ffc64]
xor ecx, dword [edx + 0x80]
and ecx, 0x10
je 0x446379
mov eax, dword [0x4ffc64]
mov ecx, dword [0x4ffc64]
mov edx, dword [eax + 0x78]
xor edx, dword [ecx + 0x3c]
push edx
call dword [0x4e7074]
push eax
push 0x4ebf84
push 0x104
lea eax, [ebp - 0x124]
push eax
call fcn.00498e08
add esp, 0x14
lea ecx, [ebp - 0x124]
push ecx
push 0
push 0x1f0001
call dword [0x4e70b0]
test eax, eax
jne 0x446377
push 1
call dword [0x4e7234]
push eax
call dword [0x4e7238]
mov byte [ebp - 0x645], 0
push 0x4eb94c
call dword [0x4e7090]
mov dword [ebp - 0x64c], eax
cmp dword [ebp - 0x64c], 0
je 0x446295
push 0x4ebf24
mov edx, dword [ebp - 0x64c]
push edx
call dword [0x4e708c]
mov dword [ebp - 0x6e8], eax
cmp dword [ebp - 0x6e8], 0
je 0x446295
call dword [ebp - 0x6e8]
test eax, eax
je 0x446295
mov byte [ebp - 0x645], 1
mov dword [ebp - 0x6e4], 0x94
lea eax, [ebp - 0x6e4]
push eax
call dword [0x4e7088]
cmp dword [ebp - 0x6d4], 2
jne 0x4462c7
mov eax, dword fs:[0x30]
movzx eax, byte [eax + 2]
or al, al
jne 0x4462d3
jmp 0x4462da
mov eax, dword fs:[0x20]
or eax, eax
jne 0x4462d3
jmp 0x4462da
mov byte [0x4ffa2c], 1
movzx ecx, byte [ebp - 0x645]
test ecx, ecx
je 0x446318
call dword [0x4e7074]
push eax
push 0x4ebf1c
push 0x104
lea edx, [ebp - 0x124]
push edx
call fcn.00498e08
add esp, 0x10
lea eax, [ebp - 0x124]
push eax
push 0
push 0
call dword [0x4e7034]
jmp 0x446377
cmp dword [0x4ffa00], 0
sete cl
push ecx
call fcn.004326c0
add esp, 4
movzx edx, al
test edx, edx
jne 0x446363
mov dword [0x4ffb40], 6
call dword [0x4e702c]
push eax
push 0x4ebf0c
push 0x100
push 0x4ffb48
call fcn.00498e08
add esp, 0x10
xor eax, eax
jmp 0x446427
push 0
call fcn.00446440
add esp, 4
mov eax, 1
jmp 0x446427
jmp 0x4463af
push 0
push 0x4eb958
call dword [0x4e7070]
mov eax, dword [0x4ffc64]
mov ecx, dword [0x4ffc64]
mov edx, dword [eax + 0x8c]
xor edx, dword [ecx + 0x20]
mov eax, dword [0x4ffc64]
xor edx, dword [eax + 0x80]
and edx, 2
je 0x4463af
call fcn.00467b10
call fcn.004447e0
mov dword [ebp - 0x128], eax
push 0
call fcn.00446440
add esp, 4
push 0
call fcn.0049939e
add esp, 4
cmp dword [ebp - 0x128], 1
jne 0x4463eb
push 0x4ffa00
call dword [0x4ffa28]
add esp, 4
mov dword [ebp - 0x128], eax
push 0x4447b0
call fcn.0049939e
add esp, 4
cmp dword [0x4ffa24], 0
je 0x446407
call dword [0x4ffa24]
cmp dword [0x4ffb38], 0
je 0x446421
push 0
push 0
mov ecx, dword [0x4ffb34]
push ecx
call dword [0x4ffb38]
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004948e2
mov esp, ebp
pop ebp
ret