Function at 0x100a3ac0
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [0x100ec590], 0
je 0x100a3ad3
xor eax, eax
mov esp, ebp
pop ebp
ret
cmp dword [0x100ec518], 0
jne 0x100a3b22
cmp dword [0x100ec4dc], 0
mov eax, 0x100bc448
mov ecx, 0x100bc46c
cmove ecx, eax
movups xmm0, xmmword [ecx + 0xc]
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
movups xmmword [0x100ec51c], xmm0
mov dword [0x100ec514], eax
movq xmm0, qword [ecx + 0x1c]
mov eax, dword [ecx + 8]
mov dword [0x100ec510], edx
movq qword [0x100ec52c], xmm0
mov dword [0x100ec518], eax
jmp 0x100a3b28
mov edx, dword [0x100ec510]
push edi
call edx
mov edi, eax
test edi, edi
jne 0x100a3f96
push ebx
cmp dword [0x100ec4dc], eax
jne 0x100a3b42
xor ebx, ebx
jmp 0x100a3b5d
push 2
call dword [0x100ec518]
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100a3b5d
push ebx
call dword [0x100ec520]
add esp, 4
cmp dword [0x100ec59c], 0
push esi
mov dword [0x100ec598], 1
jne 0x100a3c95
cmp dword [0x100ec4f0], 0
jne 0x100a3b8d
push 0x100bc428
push 4
call fcn.100a3690
add esp, 8
cmp dword [0x100ec4dc], 0
xorps xmm0, xmm0
movups xmmword [0x100efb40], xmm0
movups xmmword [0x100efb50], xmm0
movq qword [0x100efb60], xmm0
je 0x100a3bbf
push 3
call dword [0x100ec518]
add esp, 4
mov dword [0x100efb40], eax
mov ecx, dword [0x100ec570]
test ecx, ecx
je 0x100a3c14
mov esi, dword [0x100ec574]
cmp esi, 0x64
jl 0x100a3c14
mov edx, dword [0x100ec578]
test edx, edx
jle 0x100a3c14
mov dword [0x100efb60], edx
and esi, 0xfffffff8
dec edx
mov dword [0x100ec574], esi
mov dword [0x100efb5c], ecx
test edx, edx
jle 0x100a3c04
lea eax, [ecx + esi]
mov dword [ecx], eax
mov ecx, eax
sub edx, 1
jne 0x100a3bf8
lea eax, [ecx + 4]
mov dword [ecx], 0
mov dword [0x100efb58], eax
jmp 0x100a3c3c
mov dword [0x100efb58], 0
mov dword [0x100ec570], 0
mov dword [0x100ec574], 0
mov dword [0x100ec578], 0
cmp dword [0x100ec57c], 0
je 0x100a3c5a
cmp dword [0x100ec580], 0x200
jl 0x100a3c5a
cmp dword [0x100ec584], 1
jge 0x100a3c78
mov dword [0x100ec57c], 0
mov dword [0x100ec580], 0
mov dword [0x100ec584], 0
push dword [0x100ec50c]
call dword [0x100ec504]
mov edi, eax
add esp, 4
test edi, edi
je 0x100a3c95
mov ecx, dword [0x100ec5a4]
jmp 0x100a3cc1
mov ecx, dword [0x100ec5a4]
mov dword [0x100ec59c], 1
test ecx, ecx
jne 0x100a3cbb
cmp dword [0x100ec4dc], ecx
jne 0x100a3dd7
mov dword [0x100ec5a4], ecx
inc dword [0x100ec5a8]
test ebx, ebx
je 0x100a3cd5
push ebx
call dword [0x100ec528]
mov ecx, dword [0x100ec5a4]
add esp, 4
test edi, edi
jne 0x100a3f94
test ecx, ecx
je 0x100a3cf1
push ecx
call dword [0x100ec520]
mov ecx, dword [0x100ec5a4]
add esp, 4
cmp dword [0x100ec590], 0
jne 0x100a3f37
cmp dword [0x100ec594], 0
jne 0x100a3f37
push 0x5c
push 0
push 0x100ef9d8
mov dword [0x100ec594], 1
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
call fcn.1008a760
cmp dword [0x100ec5a0], 0
jne 0x100a3d66
mov eax, dword [0x100ec538]
test eax, eax
jne 0x100a3d51
push 0x100bb83c
push 0xe
call fcn.100a3690
mov eax, dword [0x100ec538]
add esp, 8
push dword [0x100ec534]
call eax
mov edi, eax
add esp, 4
test edi, edi
jne 0x100a3f27
mov dword [0x100ec5a0], 1
call fcn.100a3ac0
test eax, eax
jne 0x100a3f22
push 0xa
call fcn.10083bd0
add esp, 4
test eax, eax
je 0x100a3f22
push eax
call fcn.10041cd0
add esp, 4
mov dword [0x100efe00], 0
xorps xmm0, xmm0
movups xmmword [0x100efde0], xmm0
push 0x100efde0
movups xmmword [0x100efdf0], xmm0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
call fcn.100a3ac0
test eax, eax
jne 0x100a3e84
cmp dword [0x100ec4dc], eax
jne 0x100a3e07
xor esi, esi
jmp 0x100a3e22
push 1
call dword [0x100ec518]
add esp, 4
mov ecx, eax
cmp dword [0x100ec4dc], 0
mov dword [0x100ec5a4], ecx
je 0x100a3cbb
test ecx, ecx
jne 0x100a3cbb
lea edi, [eax + 7]
jmp 0x100a3cc1
push 2
call dword [0x100ec518]
mov esi, eax
add esp, 4
test esi, esi
je 0x100a3e22
push esi
call dword [0x100ec520]
add esp, 4
mov edx, dword [0x100efa34]
cmp edx, 0x100ec718
jne 0x100a3e38
mov edx, dword [0x100ec724]
jmp 0x100a3e66
test edx, edx
je 0x100a3e66
mov eax, dword [edx + 0xc]
mov ecx, edx
test eax, eax
je 0x100a3e55
cmp eax, 0x100ec718
je 0x100a3e55
mov ecx, eax
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x100a3e45
cmp dword [ecx + 0xc], 0x100ec718
jne 0x100a3e66
mov eax, dword [0x100ec724]
mov dword [ecx + 0xc], eax
mov dword [0x100ec724], edx
mov dword [0x100efa34], 0x100ec718
test esi, esi
je 0x100a3e84
push esi
call dword [0x100ec528]
add esp, 4
mov esi, dword [0x100ec584]
xor edi, edi
mov ecx, dword [0x100ec57c]
cmp dword [0x100efd94], edi
je 0x100a3f16
mov edx, dword [0x100ec580]
and edx, 0xfffffff8
mov dword [0x100efdb0], esi
mov dword [ebp - 4], edx
mov dword [0x100efd98], edx
mov dword [0x100efd9c], esi
cmp esi, 0x5a
jle 0x100a3ec9
mov dword [0x100efda0], 0xa
jmp 0x100a3ee3
mov eax, 0x66666667
imul esi
sar edx, 2
mov eax, edx
inc edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 4]
mov dword [0x100efda0], eax
xor eax, eax
mov dword [0x100efda4], ecx
mov dword [0x100efdb4], eax
mov dword [0x100efdb8], eax
test esi, esi
je 0x100a3f10
nop dword [eax]
mov dword [ecx], eax
mov eax, ecx
add ecx, edx
mov dword [0x100efdb4], eax
sub esi, 1
jne 0x100a3f00
mov dword [0x100efda8], ecx
mov dword [0x100ec590], 1
jmp 0x100a3f27
mov edi, 7
mov ecx, dword [0x100ec5a4]
mov dword [0x100ec594], 0
test ecx, ecx
je 0x100a3f4b
push ecx
call dword [0x100ec528]
mov ecx, dword [0x100ec5a4]
add esp, 4
test ebx, ebx
je 0x100a3f5f
push ebx
call dword [0x100ec520]
mov ecx, dword [0x100ec5a4]
add esp, 4
mov eax, dword [0x100ec5a8]
dec eax
mov dword [0x100ec5a8], eax
test eax, eax
jg 0x100a3f86
test ecx, ecx
je 0x100a3f7c
push ecx
call dword [0x100ec51c]
add esp, 4
mov dword [0x100ec5a4], 0
test ebx, ebx
je 0x100a3f94
push ebx
call dword [0x100ec528]
add esp, 4
pop esi
pop ebx
mov eax, edi
pop edi
mov esp, ebp
pop ebp
ret