Function at 0x10084510
Capabilities:
Get system information on windows

Disassembly:
sub esp, 0x74
push ebx
push esi
push edi
mov ah, ah
push ebx
pop ebx
mov ebp, ebp
mov edi, edi
mov ch, ch
test bl, bl
push edx
pop edx
push edx
pop edx
push eax
pop eax
test ah, ah
test ch, ch
test eax, 0x5902
lea eax, [esp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemInfo]
mov dh, dh
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x10], ecx
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.DLL_GetSystemTimeAsFileTime]
lea edx, [esp + 0x1c]
push edx
call ebx
mov esi, esi
mov edi, dword [esp + 0x84]
push 0
push 0
push edi
push 0
push 0x400
call fcn.1004d2d0
add esp, 0x14
mov esi, eax
test esi, esi
test esi, esi
jne 0x10084586
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 0x100845c0
push esi
call fcn.10032590
add esp, 4
test ecx, ecx
pop ebp
pop edi
pop esi
mov eax, 0xfa
pop ebx
add esp, 0x74
ret
mov eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x50], ecx
test edi, edi
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x54], edx
mov dl, dl
mov eax, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
test edi, edi
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ecx
mov dl, dl
mov eax, eax
mov edx, dword [esp + 0x20]
mov dword [esp + 0x58], edx
test edi, edi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x5c], eax
mov dl, dl
test edx, edx
push edx
pop edx
push esi
call fcn.10032590
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.1004d2d0
mov esi, eax
add esp, 0x14
mov dword [esp + 0x10], esi
mov dl, dl
test esi, esi
je 0x10084664
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 0x10084671
push esi
call fcn.10032590
add esp, 4
mov al, al
pop ebp
pop edi
pop esi
mov eax, 0xfa
pop ebx
add esp, 0x74
ret
lea edx, [esp + 0x20]
push edx
call ebx
push edx
pop edx
mov eax, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x40], eax
test edi, edi
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x44], ecx
mov dl, dl
mov eax, eax
mov esi, dword [esp + 0x18]
test edi, edi
mov edi, dword [esp + 0x1c]
mov dl, dl
mov eax, eax
mov ebx, dword [esp + 0x20]
test edi, edi
mov ebp, dword [esp + 0x24]
mov dl, dl
mov edx, dword [esp + 0x10]
push edx
call fcn.10032590
add esp, 4
test edx, edx
test cl, cl
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.100f6880
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.100f6880
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 [0x10159750]
fldcw word [esp + 4]
fistp qword [esp + 0x48]
mov eax, dword [esp + 0x48]
fldcw word [esp]
add esp, 0x74
ret