Function at 0x43077c
Capabilities:
Get system information on windows

Disassembly:
push 0x194
mov eax, 0x46d71f
call fcn.00439124
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x17c]
push eax
mov dword [ebp - 0x17c], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
test eax, eax
jne 0x4307bd
push 0x4837fa
mov ecx, edi
call fcn.00405060
jmp 0x430ad9
cmp dword [ebp - 0x17c], 0
lea eax, [ebp - 0x1a0]
push eax
je 0x4307d5
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
jmp 0x4307db
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 0x4837fa
lea ecx, [ebp - 0x28]
call fcn.00405060
xor ebx, ebx
push str.ntdll.dll
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x430ac9
push str.RtlGetVersion
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x430ac9
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x174], 0x11c
push ecx
call eax
test eax, eax
jne 0x430ac9
mov eax, dword [ebp - 0x170]
push 1
pop ecx
push 9
pop edx
sub eax, 4
je 0x43096d
sub eax, ecx
je 0x4308f9
sub eax, ecx
je 0x430892
sub eax, 4
je 0x43086b
push 0x472908
call fcn.004487f0
pop ecx
push eax
push 0x472908
jmp 0x4309b9
cmp dword [ebp - 0x16c], ebx
jne 0x430888
mov esi, str.Microsoft_Windows_10
mov eax, str.Microsoft_Windows_Server_2016
cmp byte [ebp - 0x5a], cl
cmovne esi, eax
jmp 0x4309b0
mov esi, 0x472908
jmp 0x4309b0
mov eax, dword [ebp - 0x16c]
sub eax, ebx
je 0x4308e0
sub eax, 1
je 0x4308d4
sub eax, 1
je 0x4308c8
sub eax, 1
jne 0x4309c1
cmp byte [ebp - 0x5a], cl
jne 0x4308be
mov esi, str.Microsoft_Windows_8.1
jmp 0x4309b0
mov esi, str.Microsoft_Windows_Server_2012_R2
jmp 0x4309b0
mov esi, str.Microsoft_Windows_8
mov eax, str.Microsoft_Windows_Server_2012
jmp 0x43087d
mov esi, str.Microsoft_Windows_7
mov eax, str.Microsoft_Windows_Server_2008_R2
jmp 0x43087d
cmp byte [ebp - 0x5a], cl
jne 0x4308ef
mov esi, str.Microsoft_Windows_Vista
jmp 0x4309b0
mov esi, str.Microsoft_Windows_Server_2008
jmp 0x4309b0
mov eax, dword [ebp - 0x16c]
sub eax, ebx
je 0x430966
sub eax, 1
je 0x43095f
sub eax, 1
jne 0x430855
cmp byte [ebp - 0x5a], cl
jne 0x430929
cmp word [ebp - 0x1a0], dx
jne 0x430929
mov esi, str.Microsoft_Windows_XP_Professional_x64_Edition
jmp 0x4309b0
mov eax, 0x8000
cmp word [ebp - 0x5c], ax
jne 0x43093b
mov esi, str.Microsoft_Windows_Home_Server
jmp 0x4309b0
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x59
call esi
test eax, eax
jne 0x430950
mov esi, str.Microsoft_Windows_Server_2003
jmp 0x4309b0
push 0x59
call esi
test eax, eax
je 0x4309c1
mov esi, str.Microsoft_Windows_Server_2003_R2
jmp 0x4309b0
mov esi, str.Microsoft_Windows_XP
jmp 0x4309b0
mov esi, str.Microsoft_Windows_2000
jmp 0x4309b0
mov eax, dword [ebp - 0x16c]
test eax, eax
je 0x430993
cmp eax, 0xa
je 0x43098c
cmp eax, 0x5a
jne 0x430855
mov esi, str.Microsoft_Windows_Me
jmp 0x4309b0
mov esi, str.Microsoft_Windows_98
jmp 0x4309b0
cmp dword [ebp - 0x164], 2
jne 0x4309a3
mov esi, str.Microsoft_Windows_NT_4.0
jmp 0x4309b0
cmp dword [ebp - 0x164], ecx
jne 0x4309c1
mov esi, str.Microsoft_Windows_95
push esi
call fcn.004487f0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00405800
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push 0x472908
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0044e150
pop ecx
pop ecx
test eax, eax
je 0x430ab4
cmp dword [ebp - 0x168], ebx
je 0x430a83
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x178]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.00423081
push dword [ebp - 0x168]
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 1
push dword [ebp - 0x178]
push str._s._u
push eax
call fcn.0040f9e0
add esp, 0x10
lea ecx, [ebp - 0x40]
push dword [ebp - 0x178]
call fcn.004048d0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00422fd8
mov esi, eax
lea eax, [ebp - 0x28]
pop ecx
pop ecx
cmp eax, esi
je 0x430a62
mov ecx, eax
call fcn.00405010
push esi
lea ecx, [ebp - 0x28]
call fcn.00404740
lea ecx, [ebp - 0x58]
call fcn.00405010
lea ecx, [ebp - 0x40]
call fcn.004054a0
mov ecx, dword [ebp - 0x178]
mov byte [ebp - 4], bl
lea ecx, [ecx - 0x10]
call fcn.004102c0
push 9
pop eax
cmp word [ebp - 0x1a0], ax
je 0x430a9e
cmp word [ebp - 0x1a0], 6
mov esi, 0x472b04
jne 0x430aa3
mov esi, 0x472b00
push esi
call fcn.004487f0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.004045e0
lea eax, [ebp - 0x28]
mov dword [edi], ebx
push eax
mov ecx, edi
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
call fcn.00404740
jmp 0x430ad1
push ebx
mov ecx, edi
call fcn.00405060
lea ecx, [ebp - 0x28]
call fcn.00405010
mov eax, edi
call fcn.004390d3
ret