Function at 0x464f60
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
push ebx
push esi
xor ecx, ecx
mov dword [ebp - 0x30], ecx
test dl, dl
je 0x464f79
add esp, 0xfffffff0
call fcn.004030b0
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push 0x4652ff
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, esi
call fcn.00402d80
call fcn.00465618
cmp eax, 0xffffffff
jne 0x464fd3
mov byte [esi + 4], 0
mov byte [esi + 5], 0
lea eax, [esi + 8]
xor edx, edx
mov dl, byte [esi + 4]
mov edx, dword [edx*4 + 0x474cdc]
call fcn.00403a3c
lea eax, [esi + 0xc]
xor edx, edx
mov dl, byte [esi + 5]
mov edx, dword [edx*4 + 0x474cf0]
call fcn.00403a3c
jmp 0x4652e9
lea eax, [ebp - 0x30]
mov edx, 0x4784b0
mov ecx, 0x10
call fcn.00403c14
mov eax, dword [ebp - 0x30]
mov edx, 0x46532c
call fcn.00403d74
jne 0x464ffa
mov byte [esi + 4], 1
jmp 0x465073
lea eax, [ebp - 0x30]
mov edx, 0x4784b0
mov ecx, 0x10
call fcn.00403c14
mov eax, dword [ebp - 0x30]
mov edx, 0x465344
call fcn.00403d74
jne 0x465021
mov byte [esi + 4], 2
jmp 0x465073
lea eax, [ebp - 0x30]
mov edx, 0x4784b0
mov ecx, 0x10
call fcn.00403c14
mov eax, dword [ebp - 0x30]
mov edx, 0x46535c
call fcn.00403d74
jne 0x465048
mov byte [esi + 4], 3
jmp 0x465073
lea eax, [ebp - 0x30]
mov edx, 0x4784b0
mov ecx, 0x10
call fcn.00403c14
mov eax, dword [ebp - 0x30]
mov edx, 0x465374
call fcn.00403d74
jne 0x46506f
mov byte [esi + 4], 4
jmp 0x465073
mov byte [esi + 4], 0
lea eax, [esi + 8]
xor edx, edx
mov dl, byte [esi + 4]
mov edx, dword [edx*4 + 0x474cdc]
call fcn.00403a3c
xor eax, eax
mov al, byte [esi + 4]
cmp eax, 4
ja case.0x46515a.6
jmp dword [eax*4 + 0x46509c]
mov eax, dword [0x4784ac]
shr eax, 8
and eax, 0xf
sub eax, 4
je 0x4650cb
dec eax
je 0x4650d4
dec eax
je 0x46511a
jmp case.0x46515a.6
mov byte [esi + 5], 3
jmp case.0x46515a.6
mov eax, dword [0x4784ac]
shr eax, 4
and eax, 0xf
sub eax, 4
jb 0x4650f6
sub eax, 4
jb 0x4650ff
je 0x465108
dec eax
sub eax, 7
jb 0x465111
jmp case.0x46515a.6
mov byte [esi + 5], 4
jmp case.0x46515a.6
mov byte [esi + 5], 5
jmp case.0x46515a.6
mov byte [esi + 5], 6
jmp case.0x46515a.6
mov byte [esi + 5], 7
jmp case.0x46515a.6
mov byte [esi + 5], 8
jmp case.0x46515a.6
mov eax, dword [0x4784ac]
shr eax, 8
and eax, 0xf
sub eax, 4
je 0x465146
dec eax
je 0x4651cd
dec eax
je 0x4651ee
jmp case.0x46515a.6
mov eax, dword [0x4784ac]
shr eax, 4
and eax, 0xf
cmp eax, 8
ja case.0x46515a.6
jmp dword [eax*4 + 0x465161]
mov byte [esi + 5], 9
jmp case.0x46515a.6
mov byte [esi + 5], 9
jmp case.0x46515a.6
mov byte [esi + 5], 0xa
jmp case.0x46515a.6
mov byte [esi + 5], 0xb
jmp case.0x46515a.6
mov byte [esi + 5], 0xc
jmp case.0x46515a.6
mov byte [esi + 5], 0xd
jmp case.0x46515a.6
mov byte [esi + 5], 0xe
jmp case.0x46515a.6
mov byte [esi + 5], 0xf
jmp case.0x46515a.6
mov eax, dword [0x4784ac]
shr eax, 4
and eax, 0xf
dec eax
sub eax, 3
jb 0x4651e2
je 0x4651e8
jmp case.0x46515a.6
mov byte [esi + 5], 0x10
jmp case.0x46515a.6
mov byte [esi + 5], 0x11
jmp case.0x46515a.6
mov eax, dword [0x4784ac]
shr eax, 4
and eax, 0xf
cmp eax, 7
ja case.0x46515a.6
jmp dword [eax*4 + 0x465205]
mov byte [esi + 5], 0x10
jmp case.0x46515a.6
mov byte [esi + 5], 0x13
jmp case.0x46515a.6
mov byte [esi + 5], 0x13
jmp case.0x46515a.6
mov byte [esi + 5], 0x14
jmp case.0x46515a.6
mov byte [esi + 5], 0x15
jmp case.0x46515a.6
mov byte [esi + 5], 1
jmp case.0x46515a.6
mov byte [esi + 5], 2
jmp case.0x46515a.6
mov byte [esi + 5], 0
lea eax, [esi + 0xc]
xor edx, edx
mov dl, byte [esi + 5]
mov edx, dword [edx*4 + 0x474cf0]
call fcn.00403a3c
mov eax, dword [0x4784a4]
and eax, 0x10
cmp eax, 0x10
sete al
mov byte [esi + 0x10], al
xor eax, eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
cmp byte [esi + 0x10], 0
je 0x4652a1
lea eax, [ebp - 8]
call fcn.00465748
test al, al
je 0x4652a1
fild qword [ebp - 8]
fdiv dword [0x465384]
fstp qword [esi + 0x14]
wait
jmp 0x4652da
fild qword [ebp - 8]
fcomp dword [0x465388]
fnstsw ax
sahf
jne 0x4652b7
lea eax, [ebp - 8]
call fcn.00465804
fild qword [ebp - 8]
fcomp dword [0x465388]
fnstsw ax
sahf
jne 0x4652cd
lea eax, [ebp - 8]
call fcn.00465808
fild qword [ebp - 8]
fdiv dword [0x465384]
fstp qword [esi + 0x14]
wait
lea eax, [ebp - 0x2c]
push eax
call sub.KERNEL32.dll_GetSystemInfo
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x1c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x465306
lea eax, [ebp - 0x30]
call fcn.004039e8
ret