Function at 0x10097910
Capabilities:
Get system information on windows

Disassembly:
sub esp, 0x74
push ebx
push esi
push edi
test esi, esi
test eax, 0x2f9d
test al, al
mov ecx, ecx
mov ah, ah
test ecx, ecx
test eax, 0x7dfd
test eax, eax
mov al, al
test esi, esi
push ecx
pop ecx
mov esi, esi
lea eax, [esp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemInfo]
push ebx
pop ebx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x10], ecx
mov edi, edi
mov ebx, dword [sym.imp.KERNEL32.DLL_GetSystemTimeAsFileTime]
lea edx, [esp + 0x1c]
push edx
call ebx
push ebx
pop ebx
mov edi, dword [esp + 0x84]
push 0
push 0
push edi
push 0
push 0x400
call fcn.100648d0
add esp, 0x14
mov esi, eax
mov bh, bh
test esi, esi
jne 0x10097989
pop edi
pop esi
mov eax, 0xfa
pop ebx
add esp, 0x74
ret
push ebp
mov ebp, dword [sym.imp.KERNEL32.DLL_GetProcessTimes]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x3c]
push eax
push esi
call ebp
test eax, eax
jne 0x100979c3
push esi
call fcn.100486c0
add esp, 4
push ebx
pop ebx
pop ebp
pop edi
pop esi
mov eax, 0xfa
pop ebx
add esp, 0x74
ret
test esi, esi
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x50], ecx
push eax
pop eax
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x54], edx
test cl, cl
test esi, esi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
push eax
pop eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ecx
test cl, cl
test esi, esi
mov edx, dword [esp + 0x20]
mov dword [esp + 0x58], edx
push eax
pop eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x5c], eax
test cl, cl
push eax
pop eax
mov ch, ch
push esi
call fcn.100486c0
add esp, 4
mov bh, bh
push 0x3e8
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov bl, bl
push 0
push 0
push edi
push 0
push 0x400
call fcn.100648d0
mov esi, eax
add esp, 0x14
mov dword [esp + 0x10], esi
mov edx, edx
test esi, esi
je 0x10097a6a
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x3c]
push ecx
push esi
call ebp
test eax, eax
jne 0x10097a77
push esi
call fcn.100486c0
add esp, 4
test eax, 0x1968
pop ebp
pop edi
pop esi
mov eax, 0xfa
pop ebx
add esp, 0x74
ret
lea edx, [esp + 0x20]
push edx
call ebx
mov eax, eax
test esi, esi
mov eax, dword [esp + 0x28]
mov dword [esp + 0x40], eax
push eax
pop eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x44], ecx
test cl, cl
test esi, esi
mov esi, dword [esp + 0x18]
push eax
pop eax
mov edi, dword [esp + 0x1c]
test cl, cl
test esi, esi
mov ebx, dword [esp + 0x20]
push eax
pop eax
mov ebp, dword [esp + 0x24]
test cl, cl
mov edx, dword [esp + 0x10]
push edx
call fcn.100486c0
add esp, 4
mov dh, dh
mov ah, ah
mov eax, dword [esp + 0x14]
add esi, dword [esp + 0x40]
cdq
adc edi, dword [esp + 0x44]
push edx
push eax
push edi
push esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
call fcn.10104290
mov ecx, dword [esp + 0x4c]
mov esi, eax
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x50]
mov edi, edx
mov edx, dword [esp + 0x3c]
adc ecx, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x3c]
push edx
push ecx
push eax
call fcn.10104290
fnstcw word [esp + 0x10]
sub esi, eax
sbb edi, edx
sub ebx, dword [esp + 0x58]
mov dword [esp + 0x50], esi
sbb ebp, dword [esp + 0x5c]
mov dword [esp + 0x54], edi
fild qword [esp + 0x50]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebp
fild qword [esp + 0x58]
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x14], eax
fdivp st(1)
pop ebp
pop edi
pop esi
pop ebx
fmul qword [0x101656f0]
fldcw word [esp + 4]
fistp qword [esp + 0x48]
mov eax, dword [esp + 0x48]
fldcw word [esp]
add esp, 0x74
ret