Function at 0x1000d1a0
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, edx
sub esp, 0xa8
mov dword [ebp - 0x94], edx
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x8c], eax
lea eax, [ebx*4]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x98], ecx
mov eax, dword [edx + ebx*4]
cmp eax, 1
ja 0x1000d2e2
sub eax, 1
jne 0x1000d403
lea esi, [esi]
xor ebx, ebx
mov esi, dword [sym.imp.kernel32.dll_GetSystemInfo]
mov ecx, ebx
mov edi, dword [ebp - 0x90]
mov ebx, dword [ebp - 0x8c]
jmp 0x1000d20d
mov edx, dword [ebx + 0x18]
add ecx, 1
add edx, edi
cmp dword [edx], 1
jne 0x1000d23b
mov eax, dword [0x10076044]
cmp eax, 0xffffffff
je 0x1000d2f0
cmp ecx, eax
jl 0x1000d200
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_Sleep]
mov edx, dword [ebx + 0x18]
xor ecx, ecx
sub esp, 4
add edx, edi
cmp dword [edx], 1
je 0x1000d20d
xor eax, eax
mov ecx, 1
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0x1000d3e0
lea eax, [ebp - 0x64]
mov dword [ebp - 0x60], 0x10075150
mov dword [esp + 4], eax
lea eax, [ebp - 0x54]
mov dword [esp], eax
call fcn.100751d0
test eax, eax
jne 0x1000d410
lea eax, [ebp - 0x64]
mov edx, dword fs:[0]
mov dword [eax], edx
mov dword fs:[0], eax
mov esi, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x94]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x18]
test edx, edx
jne 0x1000d340
mov edi, dword [ebp - 0x98]
mov ecx, eax
shl edi, cl
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call dword [eax]
mov dword [ebx], eax
mov eax, dword [ebp - 0x64]
mov dword fs:[0], eax
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + edi]
test eax, eax
je 0x1000d390
cmp eax, 1
jbe 0x1000d1e8
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp - 0x88]
mov dword [ebp - 0x9c], ecx
mov dword [esp], eax
call esi
mov ecx, dword [ebp - 0x9c]
sub esp, 4
cmp dword [ebp - 0x74], 1
jbe 0x1000d328
mov dword [0x10076044], 0xfa0
mov eax, 0xfa0
jmp 0x1000d21b
mov dword [0x10076044], 0
jmp 0x1000d21f
mov edi, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
mov ecx, edi
shl edx, cl
mov ecx, dword [ebp - 0x90]
lea esi, [ebx + ecx]
cmp edi, eax
jae 0x1000d370
mov eax, dword [ebx]
lea eax, [eax + edx*4]
mov dword [esi], eax
jmp 0x1000d2b6
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call dword [eax]
mov dword [esi], eax
jmp 0x1000d2b6
test byte [0x10076188], 8
jne 0x1000d3a8
mov dword [esp], str.Index_is_inside_segment_which_failed_to_be_allocated
call fcn.10012b20
lea esi, [esi]
mov dword [esp + 0x14], 2
mov eax, dword [ebp - 0x8c]
mov dword [esp + 0xc], 0x10080035
mov dword [esp + 8], str._vector_base_v4__Internal_throw_exception
mov dword [esp + 4], 0x10076188
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.1000cf10
jmp 0x1000d399
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0x90]
mov eax, dword [edx + eax]
cmp eax, 1
jbe 0x1000d1dc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x90]
add edx, eax
jmp 0x1000d23b
mov eax, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x94]
mov eax, dword [eax + 0x18]
mov dword [eax + ebx*4], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.msvcr110.dll__CxxThrowException
lea esi, [esi]