Function at 0x10005230
Capabilities:
Check os version
Encrypt data using speck
Get number of processors
Resolve function by parsing pe exports

Disassembly:
xor ecx, ecx
cmp eax, ecx
jne 0x10005a6e
mov ax, word [ebp - 0x10]
mov word [ebp - 0x20], cx
mov word [ebp - 0x1e], cx
mov word [ebp - 0x1c], ax
mov word [ebp - 0x1a], cx
test byte [esi + 0x64], 4
je 0x1000bb43
lea eax, [ebp - 0x40]
push eax
push ecx
lea eax, [ebp - 0x50]
push eax
test byte [ebx + 4], 1
je 0x1000c8bb
mov ax, word [ebx + 0x80]
mov cx, word [ebp - 0x18]
call fcn.100046c9
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0x80], 0xffffffdd
jne 0x100052db
mov word [esi + 0x60], bx
mov eax, dword [0x1000e909]
push ecx
add eax, 0x2c0000
push eax
push dword [0x1000e409]
call dword [0x1000e108]
cmp eax, ebx
mov dword [esi + 0x58], eax
je 0x1000802a
movsx edi, word [ebp + 0x14]
movsx ecx, word [ebp + 0x16]
mov eax, dword [0x1000e9ad]
imul ecx, edi
shl ecx, 1
push ecx
add eax, 0x2c0000
push eax
push dword [0x1000eab6]
mov dword [ebp + 0x38], edi
call dword [0x1000e078]
cmp eax, ebx
mov dword [esi + 0x5c], eax
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0xbc], edx
mov edi, dword [ebp - 0x94]
or eax, dword [ebp - 0xc4]
sub esi, 0xc
add edx, 0xa636
add ecx, esi
add edi, dword [esi + 0x14]
mov dword [ebp - 0x94], edi
lea esi, [edx + esi*8 + 0x14a7]
mov byte [ebp - 0x64], 0x88
add dword [ebp - 0xa8], eax
mov edi, dword [ebp - 0x94]
cmp dword [ebp - 0x88], 0
je 0x10005364
xor esi, esi
lea eax, [ebp - 0xa08]
push eax
push 0x1000e9fd
push esi
call fcn.1000885a
test eax, eax
jge 0x10009294
lea eax, [ebp - 0xa08]
push eax
push 0x1000eb99
push esi
call fcn.100078b9
test eax, eax
jl 0x10005347
lea eax, [ebp - 0xa0c]
push eax
push 4
push 0x1000e2bb
mov ecx, dword [ebp - 0x98]
and eax, dword [ebp - 0xa8]
sub edi, 0x14
mov byte [ebp - 0x78], 0x92
mov ecx, dword [edi + 0xa8]
mov dword [ebp - 0x98], ecx
xor eax, dword [ebp - 0xbc]
xor ebx, dword [ebp - 0xc8]
or dword [ebp - 0xb0], ebx
cmp dword [ebp - 0x98], 0x5593de81
je 0x10005440
cmp dword [ebp - 0x88], 0x10000002
jne 0x100053eb
push eax
mov eax, dword [ebp + 8]
sub eax, dword [ebp - 0x78]
cmp dword [ebp - 0x88], 0x10000002
jne 0x1000549c
test al, 1
jne 0x100053e6
mov eax, 0x1000e638
push edi
push edi
or ax, 2
push 0x1000ea1a
mov word [ecx], ax
push dword [ebx]
call fcn.10009f63
test byte [ebx + 4], 2
jne 0x1000984d
cmp dword [0x1000e7fb], edi
je 0x1000543c
push dword [esi + 0x1a8]
call fcn.1000b42f
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe4], edi
mov eax, dword [esi + 0xb0]
lea edx, [ebp - 0x94]
push edx
call fcn.100045ea
xor esi, edi
cmp dword [ebp - 0x88], 0x10000002
jne 0x10005500
lea ecx, [ebp - 0x98]
push ecx
call fcn.100045ea
cmp dword [ebp - 0x80], 0x10000002
jne 0x10005533
movsx ax, byte [eax + 0x62]
mov ecx, dword [ebp + 0x18]
add dword [ebp + 0x18], 2
dec dword [ebp - 4]
mov word [ecx], ax
mov eax, dword [ebx + 0x10]
dec dword [eax + 0x20]
mov edi, dword [ebx + 0xc]
xor eax, eax
stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x70]
and edx, ebx
mov dword [ebp - 0xa0], ecx
or word [ebp - 0x78], 0x14f
cmp dword [ebp - 0x88], 0x10000002
jne 0x10005590
dec cx
xor ecx, ecx
mov cx, word [eax]
mov dword [ebp - 8], eax
movzx eax, byte [eax + 2]
and eax, 0xf
push dword [ebx + eax*4 + 0x1c8]
mov dword [ebp + 8], ecx
push dword [ebx + 0xc8]
call fcn.10004318
imul eax, dword [ebp + 0x10]
push ebx
call fcn.10008482
cmp word [ebx + 0x24], 0x50
mov edx, dword [ebp - 0xa0]
xor esi, edi
push dword [edx]
add esi, dword [ebp - 0xc4]
cmp dword [ebp - 0x88], 0x10000002
jne 0x1000c912