Function at 0x1009f6c0
Capabilities:
Get system information on windows

Disassembly:
sub esp, 0x74
push ebx
push esi
push edi
push eax
pop eax
push ebx
pop ebx
test esi, esi
mov al, al
test bl, bl
push ebx
pop ebx
test ecx, ecx
push eax
pop eax
mov bh, bh
test eax, eax
test eax, 0x361f
test ch, ch
lea eax, [esp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ch, ch
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x10], ecx
test bh, bh
mov ebx, dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea edx, [esp + 0x1c]
push edx
call ebx
test al, al
mov edi, dword [esp + 0x84]
push 0
push 0
push edi
push 0
push 0x400
call fcn.1006a100
add esp, 0x14
mov esi, eax
mov dh, dh
test esi, esi
jne 0x1009f736
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 0x1009f770
push esi
call fcn.1004de50
add esp, 4
test al, al
pop ebp
pop edi
pop esi
mov eax, 0xfa
pop ebx
add esp, 0x74
ret
test dl, dl
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x50], ecx
mov ebx, ebx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x54], edx
mov dl, dl
test dl, dl
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
mov ebx, ebx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ecx
mov dl, dl
test dl, dl
mov edx, dword [esp + 0x20]
mov dword [esp + 0x58], edx
mov ebx, ebx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x5c], eax
mov dl, dl
mov ebx, ebx
mov bh, bh
push esi
call fcn.1004de50
add esp, 4
mov dh, dh
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
test ch, ch
push 0
push 0
push edi
push 0
push 0x400
call fcn.1006a100
mov esi, eax
add esp, 0x14
mov dword [esp + 0x10], esi
mov edx, edx
test esi, esi
je 0x1009f814
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 0x1009f821
push esi
call fcn.1004de50
add esp, 4
mov cl, cl
pop ebp
pop edi
pop esi
mov eax, 0xfa
pop ebx
add esp, 0x74
ret
lea edx, [esp + 0x20]
push edx
call ebx
test cl, cl
test dl, dl
mov eax, dword [esp + 0x28]
mov dword [esp + 0x40], eax
mov ebx, ebx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x44], ecx
mov dl, dl
test dl, dl
mov esi, dword [esp + 0x18]
mov ebx, ebx
mov edi, dword [esp + 0x1c]
mov dl, dl
test dl, dl
mov ebx, dword [esp + 0x20]
mov ebx, ebx
mov ebp, dword [esp + 0x24]
mov dl, dl
mov edx, dword [esp + 0x10]
push edx
call fcn.1004de50
add esp, 4
test al, al
test ebx, ebx
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.1011a3a0
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.1011a3a0
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 [0x10181b58]
fldcw word [esp + 4]
fistp qword [esp + 0x48]
mov eax, dword [esp + 0x48]
fldcw word [esp]
add esp, 0x74
ret