Function at 0x4573c0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x516488
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x56c3c0]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov dword [esp + 0x28], ecx
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
xor edi, edi
mov dword [esp + 0x30], esi
or ebp, 0xffffffff
lea esp, [esp]
lea ecx, [esp + 0x34]
call fcn.00466c30
lea eax, [esp + 0x2c]
push eax
push str.esafenet_cdgout_20111226
lea ecx, [esp + 0x3c]
mov dword [esp + 0x50], esi
mov dword [esp + 0x34], esi
call fcn.00466ee0
test eax, eax
je 0x457445
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x18304]
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
cmp esi, 0x41
jle 0x457443
cmp esi, 0x5a
jle 0x45745e
xor esi, esi
push 0x64
call ebx
lea ecx, [esp + 0x34]
mov dword [esp + 0x48], ebp
call fcn.00466c50
inc edi
cmp edi, 0x64
jl 0x457400
jmp 0x45747f
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x40c], esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x30], 1
mov dword [esp + 0x48], ebp
call fcn.00466c50
xor esi, esi
push str.IsWow64Process
push 0x53f174
mov dword [esp + 0x34], esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x4574ae
lea edx, [esp + 0x2c]
push edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
cmp dword [esp + 0x2c], 0
je 0x45757a
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
jmp 0x4574c4
jmp 0x4574c8
lea ebx, [ecx + 0x796f]
xor ebx, 0x501
or ebx, 0x781a
add ebx, 0x12
jmp 0x4574e0
lea edx, [ebx - 0xc]
and edx, 0x14
or edx, 0x199d6a
mov eax, 0x110
sub eax, edx
mov dword [esp + 0x2c], eax
jmp 0x4574fa
mov edx, ecx
and edx, 0x3844
xor edx, eax
or edx, 0x41ab
mov edi, 0x796f
sub edi, edx
jmp 0x457515
jmp 0x457518
jmp 0x45751c
jmp 0x457520
lea eax, [edi + edi*8]
add eax, eax
cdq
mov ebp, 0x18
idiv ebp
lea esi, [edi + ecx - 0x123]
and esi, 0x332
lea eax, [edi + 0x422b]
and edx, 0x154
xor esi, edx
mov edx, edi
sub edx, ecx
and esi, ebx
xor esi, eax
add edx, 0x332
lea eax, [edi - 0x3f55]
and edx, eax
or esi, edx
mov edx, 0x332
shl edx, cl
add edi, 0xffffbe31
and edi, edx
and edi, dword [esp + 0x2c]
or esi, edi
jmp 0x457768
mov dword [esp + 0x24], 0x110
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebp, eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], 0x8456
mov dword [esp + 0x1c], 0x4287
mov dword [esp + 0x18], 0x332
mov dword [esp + 0x14], 0x3678
mov dword [esp + 0x20], 0x12
jmp 0x4575b9
pushaw
mov eax, dword [esp + 0x38]
jmp 0x4575c3
mov ebx, dword [esp + 0x2c]
jmp 0x4575ca
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
jmp 0x4575da
mov edi, dword [esp + 0x28]
and eax, ebx
jmp 0x4575e4
or eax, esi
and ebx, dword [esp + 0x3c]
jmp 0x4575ee
add ebx, eax
sub ecx, eax
sub esi, eax
mov dword [esp + 0x34], ebx
jmp 0x4575fb
add edi, esi
and ebx, eax
jmp 0x457604
xor esi, edi
add esi, ebx
jmp 0x45760b
sub ecx, esi
add edi, ebx
jmp 0x457613
xor ecx, edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x2c], eax
jmp 0x457621
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], esi
jmp 0x457630
popaw
jmp 0x457635
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
lea edx, [ecx + eax]
mov eax, dword [esp + 0x14]
add esi, eax
and edx, esi
lea esi, [eax + eax*8]
add esi, esi
and esi, 0x23
xor edx, esi
and ecx, eax
or edx, ecx
or edx, dword [esp + 0x1c]
add eax, edx
mov dword [esp + 0x14], eax
jmp 0x457668
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x28]
lea ecx, [eax + ebp]
xor edx, ecx
mov ecx, dword [esp + 0x20]
add eax, ecx
xor eax, 0x19b
or edx, eax
add ecx, edx
mov dword [esp + 0x20], ecx
jmp 0x457693
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
sub ecx, dword [esp + 0x1c]
lea edx, [ecx + eax + 5]
and edx, eax
mov eax, dword [esp + 0x14]
imul eax, eax, 0xd8
sar eax, 2
or edx, eax
sub dword [esp + 0x24], edx
jmp 0x4576bb
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, eax
and ecx, ebp
xor ecx, dword [esp + 0x24]
add edx, 0x12
xor edx, dword [esp + 0x18]
or ecx, edx
sub eax, ecx
mov dword [esp + 0x14], eax
jmp 0x4576de
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
add eax, dword [esp + 0x1c]
mov ecx, ebp
shl edx, cl
and eax, edx
and dword [esp + 0x24], eax
jmp 0x4576fb
mov esi, dword [esp + 0x28]
mov eax, esi
cdq
idiv dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea eax, [ecx + ecx*8]
add eax, eax
mov edi, edx
cdq
mov ebx, 0x18
idiv ebx
mov eax, dword [esp + 0x1c]
add ecx, eax
add ecx, esi
add ecx, ebp
and ecx, dword [esp + 0x18]
and edi, edx
xor edi, ecx
and dword [esp + 0x20], edi
jmp 0x457733
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, ecx
sub esi, dword [esp + 0x1c]
mov edx, ecx
add esi, eax
sub edx, ebp
add edx, eax
mov eax, dword [esp + 0x28]
and esi, edx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor eax, dword [esp + 0x20]
or esi, eax
or dword [esp + 0x24], esi
jmp 0x457764
mov esi, dword [esp + 0x24]
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push esi
call edi
push eax
call fcn.00402fc0
add esp, 8
push 1
call edi
push eax
call fcn.00403c80
add esp, 8
call edi
push eax
call fcn.00403d70
mov eax, dword [esp + 0x34]
add esp, 4
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 4