Function at 0x10024020
Capabilities:
Contain obfuscated stackstrings
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x10027949
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x130
push ebx
push ebp
push esi
push edi
mov ecx, 0x10031cb0
mov esi, str.SOFTWAREMicrosoftWindowsCurrentVersion
mov byte [esp + 0x17], 0
call fcn.10026340
mov ecx, 0x10031d78
mov esi, str.SOFTWAREMicrosoftWindows_NTCurrentVersion
call fcn.10026340
mov ecx, 0x10032098
mov esi, str.HARDWAREDESCRIPTIONSystemBIOS
call fcn.10026340
mov ecx, 0x10031e40
mov esi, str.ProductId
call fcn.10026340
mov edi, 0x72
mov ebx, 0x65
mov ecx, 0x10032868
mov esi, 0x10032548
mov dword [0x1003256c], edi
mov dword [0x10032568], 0x6f
mov dword [0x10032564], 0x64
mov dword [0x10032560], 0x6e
mov dword [0x1003255c], ebx
mov dword [0x10032558], 0x56
mov dword [0x10032554], 0x53
mov dword [0x10032550], 0x4f
mov dword [0x1003254c], 0x49
mov dword [0x10032548], 0x42
call fcn.10026340
mov eax, 0x6c
mov dword [0x1003217c], eax
mov dword [0x10032174], eax
mov dword [0x10032170], eax
mov eax, 0x61
mov ecx, 0x10032480
mov esi, 0x10032160
mov dword [0x10032180], 0x73
mov dword [0x10032178], ebx
mov dword [0x1003216c], eax
mov dword [0x10032168], edi
mov dword [0x10032164], eax
mov dword [0x10032160], 0x50
call fcn.10026340
mov al, 0x33
mov bl, 0x32
mov dl, 0x30
mov cl, 0x36
mov byte [esp + 0x47], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x2e], al
mov byte [esp + 0x40], al
mov byte [esp + 0x3e], al
mov byte [esp + 0x37], 0x31
mov byte [esp + 0x35], al
mov byte [esp + 0x3c], al
mov byte [esp + 0x2d], cl
mov byte [esp + 0x4d], dl
mov byte [esp + 0x43], 0x64
mov byte [esp + 0x3b], 0x37
mov byte [esp + 0x38], al
mov byte [esp + 0x33], 0x64
mov byte [esp + 0x45], bl
mov byte [esp + 0x3f], al
mov byte [esp + 0x30], al
mov byte [esp + 0x31], 0x34
mov byte [esp + 0x3d], dl
mov byte [esp + 0x48], al
mov byte [esp + 0x41], 0x37
mov byte [esp + 0x32], bl
mov byte [esp + 0x36], al
mov byte [esp + 0x2f], 0x34
mov byte [esp + 0x39], 0x37
mov byte [esp + 0x42], bl
mov byte [esp + 0x49], 0x35
mov byte [esp + 0x4a], al
mov byte [esp + 0x4e], 0
mov byte [esp + 0x34], al
mov byte [esp + 0x4c], al
mov byte [esp + 0x2c], al
mov byte [esp + 0x4b], 0x31
mov byte [esp + 0x46], al
mov byte [esp + 0x44], al
mov byte [esp + 0x64], al
mov byte [esp + 0x58], al
mov byte [esp + 0x54], al
mov byte [esp + 0x5e], al
mov byte [esp + 0x72], 0
mov byte [esp + 0x56], bl
mov byte [esp + 0x5c], al
mov byte [esp + 0x65], 0x35
mov byte [esp + 0x52], al
mov byte [esp + 0x70], al
mov byte [esp + 0x59], 0x38
mov byte [esp + 0x6d], cl
mov byte [esp + 0x66], bl
mov byte [esp + 0x62], al
mov byte [esp + 0x5a], al
mov byte [esp + 0x60], al
mov byte [esp + 0x67], 0x64
mov byte [esp + 0x68], al
mov byte [esp + 0x6b], bl
mov byte [esp + 0x61], 0x39
mov byte [esp + 0x50], al
mov byte [esp + 0x69], bl
mov byte [esp + 0x63], 0x35
mov byte [esp + 0x71], 0x34
mov byte [esp + 0x5b], 0x34
mov byte [esp + 0x6a], al
mov byte [esp + 0x55], 0x37
mov byte [esp + 0x57], 0x64
mov byte [esp + 0x51], al
mov byte [esp + 0x6f], 0x31
mov byte [esp + 0x6c], al
mov byte [esp + 0x53], al
mov byte [esp + 0x5f], 0x39
mov byte [esp + 0x6e], al
mov byte [esp + 0x5d], bl
mov byte [esp + 0x96], 0
mov byte [esp + 0x77], 0x34
mov byte [esp + 0x86], al
mov byte [esp + 0x81], 0x37
mov byte [esp + 0x90], al
mov byte [esp + 0x95], dl
mov byte [esp + 0x7c], al
mov byte [esp + 0x78], al
mov byte [esp + 0x89], 0x34
mov byte [esp + 0x8b], 0x64
mov byte [esp + 0x80], al
mov byte [esp + 0x79], dl
mov byte [esp + 0x92], al
mov byte [esp + 0x8f], al
mov byte [esp + 0x7f], cl
mov byte [esp + 0x74], al
mov byte [esp + 0x7d], bl
mov byte [esp + 0x84], al
mov byte [esp + 0x7a], bl
mov byte [esp + 0x8d], bl
mov byte [esp + 0x75], cl
mov byte [esp + 0x8c], al
mov byte [esp + 0x7e], al
mov byte [esp + 0x83], al
mov byte [esp + 0x88], al
mov byte [esp + 0x8a], bl
mov byte [esp + 0x82], al
mov byte [esp + 0x93], 0x35
mov byte [esp + 0x91], 0x39
mov byte [esp + 0x76], al
mov byte [esp + 0x8e], al
mov byte [esp + 0x85], dl
mov byte [esp + 0x87], cl
mov byte [esp + 0x94], al
mov byte [esp + 0x7b], 0x64
mov byte [esp + 0x1c], cl
mov byte [esp + 0x1d], 0x34
mov byte [esp + 0x1f], 0x37
mov byte [esp + 0x1e], 0x38
mov byte [esp + 0x21], 0
mov byte [esp + 0x20], 0x2d
sub esp, 0x1c
mov ecx, esp
xor ebp, ebp
lea esi, [esp + 0x48]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebp
mov dword [esp + 0x34], esp
mov byte [ecx + 4], 0
lea edi, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10024394
sub esi, edi
push esi
lea eax, [esp + 0x4c]
push eax
call fcn.100035b0
lea ecx, [esp + 0xd0]
push ecx
call fcn.100270b0
push eax
lea ecx, [esp + 0x40]
lea edi, [esp + 0xbc]
mov dword [esp + 0x16c], ebp
call fcn.10004190
add esp, 0x24
mov byte [esp + 0x148], 2
cmp dword [esp + 0xcc], 0x10
jb 0x100243f2
mov edx, dword [esp + 0xb8]
push edx
call fcn.100065ea
add esp, 4
sub esp, 0x1c
mov eax, 0xf
mov esi, esp
mov dword [esi + 0x18], eax
mov dword [esp + 0xe8], eax
lea eax, [esp + 0x6c]
mov dword [esi + 0x14], ebp
mov dword [esp + 0xe4], ebp
mov byte [esp + 0xd4], 0
mov dword [esp + 0x34], esp
mov byte [esi + 4], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10024427
sub eax, edx
push eax
lea eax, [esp + 0x70]
push eax
mov ecx, esi
call fcn.100035b0
lea ecx, [esp + 0xec]
push ecx
call fcn.100270b0
push eax
lea ecx, [esp + 0x40]
lea edi, [esp + 0x148]
mov byte [esp + 0x16c], 3
call fcn.10004190
add esp, 0x24
mov byte [esp + 0x148], 5
cmp dword [esp + 0xe8], 0x10
jb 0x10024488
mov edx, dword [esp + 0xd4]
push edx
call fcn.100065ea
add esp, 4
sub esp, 0x1c
mov eax, 0xf
mov ecx, esp
mov byte [esp + 0x43], 0x34
mov byte [esp + 0x45], 0
mov byte [esp + 0x40], 0x35
mov byte [esp + 0x41], bl
mov byte [esp + 0x44], 0x2d
mov byte [esp + 0x42], 0x37
mov dword [ecx + 0x18], eax
mov dword [esp + 0x104], eax
lea eax, [esp + 0x90]
mov dword [ecx + 0x14], ebp
mov dword [esp + 0x100], ebp
mov byte [esp + 0xf0], 0
mov dword [esp + 0x34], esp
mov byte [ecx + 4], 0
lea esi, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100244e0
sub eax, esi
push eax
lea eax, [esp + 0x94]
push eax
call fcn.100035b0
lea ecx, [esp + 0x124]
push ecx
call fcn.100270b0
push eax
lea ecx, [esp + 0x48]
lea edi, [esp + 0x110]
mov byte [esp + 0x16c], 6
call fcn.10004190
add esp, 0x24
mov bl, 8
mov edi, 0x10
mov byte [esp + 0x148], bl
cmp dword [esp + 0x120], edi
jb 0x10024547
mov edx, dword [esp + 0x10c]
push edx
call fcn.100065ea
add esp, 4
push 0x10031b20
push 0x10031e40
mov esi, 0xf
push 0x10031cb0
mov dword [esp + 0x12c], esi
mov dword [esp + 0x128], ebp
mov byte [esp + 0x118], 0
call fcn.10025f40
add esp, 0xc
test al, al
je 0x100246ec
cmp byte [0x10031b20], 0x37
jne 0x100246b9
lea eax, [esp + 0x1c]
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], ebp
mov byte [esp + 0xb8], 0
lea edx, [eax + 1]
jmp 0x100245b0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100245b0
sub eax, edx
push eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0xbc]
call fcn.100035b0
sub esp, 0x1c
mov byte [esp + 0x164], 9
mov ecx, esp
mov dword [ecx + 0x18], esi
lea eax, [esp + 0x48]
mov dword [ecx + 0x14], ebp
mov dword [esp + 0x34], esp
mov byte [ecx + 4], 0
lea esi, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100245f0
sub eax, esi
push eax
lea edx, [esp + 0x4c]
push edx
call fcn.100035b0
lea eax, [esp + 0xec]
push eax
call fcn.100270b0
add esp, 0x20
push ebp
push eax
or eax, 0xffffffff
lea esi, [esp + 0xbc]
mov byte [esp + 0x150], 0xa
call fcn.10002bb0
cmp dword [esp + 0xe8], edi
jb 0x10024646
mov ecx, dword [esp + 0xd4]
push ecx
call fcn.100065ea
add esp, 4
mov esi, dword [esp + 0xcc]
cmp esi, edi
mov edi, dword [esp + 0xb8]
mov edx, edi
jae 0x10024661
lea edx, [esp + 0xb8]
mov ecx, 0x10031b21
call fcn.10026d80
test eax, eax
jne 0x10024674
mov byte [esp + 0x17], 1
cmp dword [esp + 0xb0], 0x10
mov edx, dword [esp + 0x9c]
jae 0x1002468c
lea edx, [esp + 0x9c]
mov ecx, 0x10031b21
call fcn.10026d80
test eax, eax
jne 0x1002469f
mov byte [esp + 0x17], 1
mov byte [esp + 0x148], bl
cmp esi, 0x10
jb 0x100246b4
push edi
call fcn.100065ea
add esp, 4
mov edi, 0x10
cmp byte [0x10031b20], 0x35
jne 0x100246ec
mov edx, dword [esp + 0x9c]
cmp dword [esp + 0xb0], edi
jae 0x100246d9
lea edx, [esp + 0x9c]
mov ecx, 0x10031b21
call fcn.10026d80
test eax, eax
jne 0x100246ec
mov byte [esp + 0x17], 1
push 0x10031b20
push 0x10031e40
push 0x10031d78
call fcn.10025f40
add esp, 0xc
test al, al
je 0x1002478f
mov al, byte [0x10031b20]
cmp al, 0x37
jne 0x10024761
mov esi, dword [esp + 0xb0]
cmp esi, edi
mov edi, dword [esp + 0x9c]
mov edx, edi
jae 0x1002472f
lea edx, [esp + 0x9c]
mov ecx, 0x10031b21
call fcn.10026d80
test eax, eax
jne 0x10024742
mov byte [esp + 0x17], 1
mov edx, edi
cmp esi, 0x10
jae 0x10024750
lea edx, [esp + 0x9c]
mov ecx, 0x10031b21
call fcn.10026d80
mov edi, 0x10
jmp 0x10024786
cmp al, 0x35
jne 0x1002478f
mov edx, dword [esp + 0x9c]
cmp dword [esp + 0xb0], edi
jae 0x1002477c
lea edx, [esp + 0x9c]
mov ecx, 0x10031b21
call fcn.10026d80
test eax, eax
jne 0x1002478f
mov byte [esp + 0x17], 1
push 0x10031b20
push 0x10032868
push 0x10032098
call fcn.10025f40
add esp, 0xc
test al, al
je 0x100247f7
push 9
mov ecx, 0x10032480
mov edx, 0x10031b20
call fcn.10026da0
add esp, 4
test eax, eax
jne 0x100247c7
mov byte [esp + 0x17], 1
push 3
lea ecx, [esp + 0x1c]
mov edx, 0x10031b20
mov byte [esp + 0x1c], 0x58
mov byte [esp + 0x1d], 0x65
mov byte [esp + 0x1f], 0
mov byte [esp + 0x1e], 0x6e
call fcn.10026da0
add esp, 4
test eax, eax
jne 0x100247f7
mov byte [esp + 0x17], 1
cmp dword [esp + 0x104], edi
jb 0x10024810
mov edx, dword [esp + 0xf0]
push edx
call fcn.100065ea
add esp, 4
mov esi, 0xf
mov dword [esp + 0x104], esi
mov dword [esp + 0x100], ebp
mov byte [esp + 0xf0], 0
cmp dword [esp + 0x13c], edi
jb 0x10024844
mov eax, dword [esp + 0x128]
push eax
call fcn.100065ea
add esp, 4
mov dword [esp + 0x13c], esi
mov dword [esp + 0x138], ebp
mov byte [esp + 0x128], 0
cmp dword [esp + 0xb0], edi
jb 0x10024873
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.100065ea
add esp, 4
mov ecx, dword [esp + 0x140]
mov al, byte [esp + 0x17]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x13c
ret