Function at 0x407800
Capabilities:
Get system information on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x16c
mov eax, dword [esp + 0x180]
mov dword [esp], eax
call fcn.0042d660
sub esp, 4
call fcn.0042d6e0
mov dword [esp + 0x14], 0
lea esi, [esp + 0x20]
xor eax, eax
mov ecx, 9
mov edi, esi
rep stosd dword es:[edi], eax
mov dword [esp + 0x18], 0
lea ebp, [esp + 0x44]
mov ecx, 0x47
mov edi, ebp
rep stosd dword es:[edi], eax
mov dword [esp + 0x44], 0x11c
mov dword [esp + 4], str.ntdll.dll
mov dword [esp], 0xffffffff
call fcn.0041ace5
sub esp, 8
test eax, eax
je 0x407891
mov ebx, eax
mov dword [esp + 4], str.RtlGetVersion
mov dword [esp], eax
call fcn.0041ad3f
push ecx
push ecx
test eax, eax
jne 0x4078d9
mov dword [esp], ebx
call fcn.0041ad9b
push edx
call fcn.0042d740
mov dword [esp], str.ERROR
call fcn.0042daa0
sub esp, 4
call fcn.0042d890
mov ebx, eax
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.0042db00
sub esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.0042db00
sub esp, 4
mov eax, ebx
add esp, 0x16c
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.0041ae5b
push edi
push edi
mov dword [esp], ebx
call fcn.0041ad9b
push ebp
mov dword [esp], esi
call sub.KERNEL32.dll_GetSystemInfo
push eax
call fcn.0042d740
call fcn.0042d740
call fcn.0042d790
mov edx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], edx
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.0042bba0
sub esp, 0xc
mov dword [esp], 0x4e3dec
call fcn.0042daa0
push eax
call fcn.0042d740
call fcn.0042d740
call fcn.0042d790
mov edx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], edx
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.0042bba0
sub esp, 0xc
call fcn.0042d790
call fcn.0042d790
mov dword [esp + 4], eax
lea eax, [esp + 0x14]
mov dword [esp], eax
call fcn.0042da10
push eax
push eax
xor eax, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
lea eax, [esp + 0x1c]
mov dword [esp], eax
call fcn.0042d910
push eax
push eax
mov dword [esp + 4], 0x4e3224
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0042db30
test eax, eax
jne 0x407a0d
mov dword [esp + 4], 0x4e320c
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0042db30
test eax, eax
jne 0x407a4e
mov dword [esp + 4], 0x4e31d0
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0042db30
test eax, eax
je 0x407a66
movzx eax, byte [esp + 0x15e]
cmp esi, 9
jne 0x4079f5
sub al, 1
je 0x407a4e
mov dword [esp + 4], str.Windows_Server_2003
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push ecx
push ecx
jmp 0x407a23
mov dword [esp + 4], str.Windows_2000
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push esi
push esi
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0042db00
push eax
call fcn.0042d740
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.0042daa0
push edx
call fcn.0042d890
mov ebx, eax
jmp 0x4078ac
mov dword [esp + 4], str.Windows_XP
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push ebx
push ebx
jmp 0x407a23
mov dword [esp + 4], 0x4e36b4
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0042db30
test eax, eax
je 0x407abd
movzx eax, byte [esp + 0x15e]
sub al, 1
je 0x407aa2
mov dword [esp + 4], str.Windows_Server_2008
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push edx
push edx
jmp 0x407a23
mov dword [esp + 4], str.Windows_Vista
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push eax
push eax
jmp 0x407a23
mov dword [esp + 4], 0x4e36ac
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0042db30
test eax, eax
je 0x407afc
movzx eax, byte [esp + 0x15e]
sub al, 1
jne 0x407a8a
mov dword [esp + 4], str.Windows_7
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push eax
push eax
jmp 0x407a23
mov dword [esp + 4], 0x4e3624
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0042db30
test eax, eax
je 0x407b56
movzx eax, byte [esp + 0x15e]
sub al, 1
je 0x407b3b
mov dword [esp + 4], str.Windows_Server_2012
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push eax
push eax
jmp 0x407a23
mov dword [esp + 4], str.Windows_8
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push eax
push eax
jmp 0x407a23
mov dword [esp + 4], 0x4e361c
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0042db30
test eax, eax
jne 0x407b14
mov dword [esp + 4], str.10.0
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0042db30
test eax, eax
je 0x407a23
movzx eax, byte [esp + 0x15e]
sub al, 1
mov eax, dword [esp + 0x50]
je 0x407bda
cmp eax, 0x3839
je 0x407c17
mov eax, dword [esp + 0x50]
cmp eax, 0x4563
je 0x407c32
mov eax, dword [esp + 0x50]
cmp eax, 0x4f7c
je 0x407c4d
mov dword [esp + 4], str.Unknown
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push ebx
push ebx
jmp 0x407a23
cmp eax, 0x55ef
jg 0x407bfc
mov dword [esp + 4], str.Windows_10
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push eax
push eax
jmp 0x407a23
mov dword [esp + 4], str.Windows_11
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push ebp
push ebp
jmp 0x407a23
mov dword [esp + 4], str.Windows_Server_2016
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push edi
push edi
jmp 0x407a23
mov dword [esp + 4], str.Windows_Server_2019
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push esi
push esi
jmp 0x407a23
mov dword [esp + 4], str.Windows_Server_2022
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0042d960
push ecx
push ecx
jmp 0x407a23