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

Disassembly:
push 0xffffffffffffffff
push 0x10014840
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, 0x1001d8e8
mov esi, str.SOFTWAREMicrosoftWindowsCurrentVersion
mov byte [esp + 0x17], 0
call fcn.10010c20
mov ecx, 0x1001d9b0
mov esi, str.SOFTWAREMicrosoftWindows_NTCurrentVersion
call fcn.10010c20
mov ecx, 0x1001dcd0
mov esi, str.HARDWAREDESCRIPTIONSystemBIOS
call fcn.10010c20
mov ecx, 0x1001da78
mov esi, str.ProductId
call fcn.10010c20
mov edi, 0x72
mov ebx, 0x65
mov ecx, 0x1001e4a0
mov esi, 0x1001e180
mov dword [0x1001e1a4], edi
mov dword [0x1001e1a0], 0x6f
mov dword [0x1001e19c], 0x64
mov dword [0x1001e198], 0x6e
mov dword [0x1001e194], ebx
mov dword [0x1001e190], 0x56
mov dword [0x1001e18c], 0x53
mov dword [0x1001e188], 0x4f
mov dword [0x1001e184], 0x49
mov dword [0x1001e180], 0x42
call fcn.10010c20
mov eax, 0x6c
mov dword [0x1001ddb4], eax
mov dword [0x1001ddac], eax
mov dword [0x1001dda8], eax
mov eax, 0x61
mov ecx, 0x1001e0b8
mov esi, 0x1001dd98
mov dword [0x1001ddb8], 0x73
mov dword [0x1001ddb0], ebx
mov dword [0x1001dda4], eax
mov dword [0x1001dda0], edi
mov dword [0x1001dd9c], eax
mov dword [0x1001dd98], 0x50
call fcn.10010c20
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 0x10013d14
sub esi, edi
push esi
lea eax, [esp + 0x4c]
push eax
call fcn.10002cb0
lea ecx, [esp + 0xd0]
push ecx
call fcn.10012dd0
push eax
lea ecx, [esp + 0x40]
lea edi, [esp + 0xbc]
mov dword [esp + 0x16c], ebp
call fcn.10003470
add esp, 0x24
mov byte [esp + 0x148], 2
cmp dword [esp + 0xcc], 0x10
jb 0x10013d72
mov edx, dword [esp + 0xb8]
push edx
call fcn.10004a40
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 0x10013da7
sub eax, edx
push eax
lea eax, [esp + 0x70]
push eax
mov ecx, esi
call fcn.10002cb0
lea ecx, [esp + 0xec]
push ecx
call fcn.10012dd0
push eax
lea ecx, [esp + 0x40]
lea edi, [esp + 0x148]
mov byte [esp + 0x16c], 3
call fcn.10003470
add esp, 0x24
mov byte [esp + 0x148], 5
cmp dword [esp + 0xe8], 0x10
jb 0x10013e08
mov edx, dword [esp + 0xd4]
push edx
call fcn.10004a40
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 0x10013e60
sub eax, esi
push eax
lea eax, [esp + 0x94]
push eax
call fcn.10002cb0
lea ecx, [esp + 0x124]
push ecx
call fcn.10012dd0
push eax
lea ecx, [esp + 0x48]
lea edi, [esp + 0x110]
mov byte [esp + 0x16c], 6
call fcn.10003470
add esp, 0x24
mov bl, 8
mov edi, 0x10
mov byte [esp + 0x148], bl
cmp dword [esp + 0x120], edi
jb 0x10013ec7
mov edx, dword [esp + 0x10c]
push edx
call fcn.10004a40
add esp, 4
push 0x1001d758
push 0x1001da78
mov esi, 0xf
push 0x1001d8e8
mov dword [esp + 0x12c], esi
mov dword [esp + 0x128], ebp
mov byte [esp + 0x118], 0
call fcn.10012c10
add esp, 0xc
test al, al
je 0x1001406c
cmp byte [0x1001d758], 0x37
jne 0x10014039
lea eax, [esp + 0x1c]
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], ebp
mov byte [esp + 0xb8], 0
lea edx, [eax + 1]
jmp 0x10013f30
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10013f30
sub eax, edx
push eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0xbc]
call fcn.10002cb0
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 0x10013f70
sub eax, esi
push eax
lea edx, [esp + 0x4c]
push edx
call fcn.10002cb0
lea eax, [esp + 0xec]
push eax
call fcn.10012dd0
add esp, 0x20
push ebp
push eax
or eax, 0xffffffff
lea esi, [esp + 0xbc]
mov byte [esp + 0x150], 0xa
call fcn.10002600
cmp dword [esp + 0xe8], edi
jb 0x10013fc6
mov ecx, dword [esp + 0xd4]
push ecx
call fcn.10004a40
add esp, 4
mov esi, dword [esp + 0xcc]
cmp esi, edi
mov edi, dword [esp + 0xb8]
mov edx, edi
jae 0x10013fe1
lea edx, [esp + 0xb8]
mov ecx, 0x1001d759
call fcn.10013140
test eax, eax
jne 0x10013ff4
mov byte [esp + 0x17], 1
cmp dword [esp + 0xb0], 0x10
mov edx, dword [esp + 0x9c]
jae 0x1001400c
lea edx, [esp + 0x9c]
mov ecx, 0x1001d759
call fcn.10013140
test eax, eax
jne 0x1001401f
mov byte [esp + 0x17], 1
mov byte [esp + 0x148], bl
cmp esi, 0x10
jb 0x10014034
push edi
call fcn.10004a40
add esp, 4
mov edi, 0x10
cmp byte [0x1001d758], 0x35
jne 0x1001406c
mov edx, dword [esp + 0x9c]
cmp dword [esp + 0xb0], edi
jae 0x10014059
lea edx, [esp + 0x9c]
mov ecx, 0x1001d759
call fcn.10013140
test eax, eax
jne 0x1001406c
mov byte [esp + 0x17], 1
push 0x1001d758
push 0x1001da78
push 0x1001d9b0
call fcn.10012c10
add esp, 0xc
test al, al
je 0x1001410f
mov al, byte [0x1001d758]
cmp al, 0x37
jne 0x100140e1
mov esi, dword [esp + 0xb0]
cmp esi, edi
mov edi, dword [esp + 0x9c]
mov edx, edi
jae 0x100140af
lea edx, [esp + 0x9c]
mov ecx, 0x1001d759
call fcn.10013140
test eax, eax
jne 0x100140c2
mov byte [esp + 0x17], 1
mov edx, edi
cmp esi, 0x10
jae 0x100140d0
lea edx, [esp + 0x9c]
mov ecx, 0x1001d759
call fcn.10013140
mov edi, 0x10
jmp 0x10014106
cmp al, 0x35
jne 0x1001410f
mov edx, dword [esp + 0x9c]
cmp dword [esp + 0xb0], edi
jae 0x100140fc
lea edx, [esp + 0x9c]
mov ecx, 0x1001d759
call fcn.10013140
test eax, eax
jne 0x1001410f
mov byte [esp + 0x17], 1
push 0x1001d758
push 0x1001e4a0
push 0x1001dcd0
call fcn.10012c10
add esp, 0xc
test al, al
je 0x10014177
push 9
mov ecx, 0x1001e0b8
mov edx, 0x1001d758
call fcn.10011450
add esp, 4
test eax, eax
jne 0x10014147
mov byte [esp + 0x17], 1
push 3
lea ecx, [esp + 0x1c]
mov edx, 0x1001d758
mov byte [esp + 0x1c], 0x58
mov byte [esp + 0x1d], 0x65
mov byte [esp + 0x1f], 0
mov byte [esp + 0x1e], 0x6e
call fcn.10011450
add esp, 4
test eax, eax
jne 0x10014177
mov byte [esp + 0x17], 1
cmp dword [esp + 0x104], edi
jb 0x10014190
mov edx, dword [esp + 0xf0]
push edx
call fcn.10004a40
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 0x100141c4
mov eax, dword [esp + 0x128]
push eax
call fcn.10004a40
add esp, 4
mov dword [esp + 0x13c], esi
mov dword [esp + 0x138], ebp
mov byte [esp + 0x128], 0
cmp dword [esp + 0xb0], edi
jb 0x100141f3
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.10004a40
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