Function at 0x100dadd0
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
mov eax, dword [0x101e6040]
xor eax, esp
mov dword [esp + 0x50], eax
push ebx
push esi
push edi
lea eax, [esp + 0x34]
mov ebx, ecx
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x20], ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessAffinityMask]
test eax, eax
je 0x100dae73
mov esi, dword [esp + 0x30]
test esi, esi
je 0x100dae73
xor edi, edi
xor ebx, ebx
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov eax, 2
lea ecx, [eax - 2]
mov edx, esi
shr edx, cl
lea ecx, [eax - 1]
and edx, 1
add edi, edx
mov edx, esi
shr edx, cl
mov ecx, eax
and edx, 1
add dword [esp + 0x10], edx
mov edx, esi
shr edx, cl
lea ecx, [eax + 1]
and edx, 1
add eax, 4
add dword [esp + 0xc], edx
mov edx, esi
shr edx, cl
and edx, 1
lea ecx, [eax - 2]
add ebx, edx
cmp ecx, 0x20
jb 0x100dae23
mov ecx, dword [esp + 0xc]
add ecx, ebx
mov ebx, dword [esp + 0x1c]
add ecx, dword [esp + 0x10]
add ecx, edi
jmp 0x100dae82
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [esp + 0x4c]
mov dword [ebx], ecx
mov dword [ebx + 4], ecx
lea ecx, [esp + 0x30]
mov byte [ebx + 8], 0
mov dword [esp + 0x30], 0x40000000
mov dword [esp + 0x34], 0
mov dword [ebx + 0x20], 0x40000000
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x10], 0x40000000
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0x40000000
mov dword [ebx + 0x1c], 0
call fcn.1011c4c0
mov byte [ebx + 9], al
test al, al
je 0x100db077
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ecx
mov dword [ebx + 0x20], edi
mov dword [ebx + 0x24], ecx
test ecx, ecx
jne 0x100dafae
cmp edi, 0x70000000
ja 0x100dafae
cmp ecx, 0x3333333
ja 0x100daf1d
jb 0x100dafbd
cmp edi, 0x33333333
jbe 0x100dafbd
mov eax, edi
mov ebx, 0xe147ae15
mul ebx
mov eax, edi
mov esi, edx
mov edx, 0x47ae147a
mul edx
mov edi, eax
mov dword [esp + 0x18], edx
mov eax, ecx
mul ebx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x34]
mov edx, 0x47ae147a
mul edx
add ecx, esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x14], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x18]
adc ecx, 0
xor eax, eax
add ebx, ecx
mov ecx, dword [esp + 0x14]
adc eax, eax
add ecx, ebx
mov ebx, dword [esp + 0x34]
mov edi, ebx
adc edx, eax
mov eax, esi
sub eax, ecx
sbb edi, edx
shrd eax, edi, 1
shr edi, 1
add eax, ecx
adc edi, edx
shrd eax, edi, 6
shr edi, 6
mov dword [esp + 0xc], eax
mov ecx, edi
shld ecx, eax, 2
shl eax, 2
add dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
adc edi, ecx
shld edi, eax, 4
shl eax, 4
jmp 0x100db051
mov edi, 0x70000000
xor ecx, ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ecx
mov eax, edi
mov ebx, ecx
shld ecx, eax, 2
shl eax, 2
add edi, eax
adc ebx, ecx
mov ecx, 0xe147ae15
shld ebx, edi, 4
shl edi, 4
mov eax, edi
mov dword [esp + 0xc], edi
mul ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x30], eax
mov esi, edx
mov eax, edi
mov edx, 0x47ae147a
mul edx
mov edi, eax
mov dword [esp + 0x20], edx
mov eax, ebx
mul ecx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x10]
mov edx, 0x47ae147a
mul edx
add ecx, esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x30], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
adc ecx, 0
xor eax, eax
add ebx, ecx
mov ecx, dword [esp + 0x30]
adc eax, eax
add ecx, ebx
mov ebx, dword [esp + 0x14]
adc edx, eax
mov eax, dword [esp + 0xc]
sub eax, ecx
sbb edi, edx
shrd eax, edi, 1
shr edi, 1
add eax, ecx
adc edi, edx
shrd eax, edi, 6
shr edi, 6
mov edx, dword [esp + 0x1c]
shrd esi, ebx, 5
shr ebx, 5
mov dword [edx + 0x10], eax
mov ecx, ebx
mov eax, esi
mov dword [edx + 0x14], edi
shld ecx, eax, 4
shl eax, 4
add eax, esi
mov dword [edx + 0x18], eax
adc ecx, ebx
mov dword [edx + 0x1c], ecx
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10151433
mov esp, ebp
pop ebp
ret