Function at 0x777b08
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeb8
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov edi, edx
mov esi, eax
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x777b26
xor eax, eax
mov dword [ebx], eax
xor eax, eax
mov dword [esi], eax
xor eax, eax
mov dword [edi], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax], edx
mov eax, ebx
call fcn.0040a490
mov byte [ebp - 5], 0
lea eax, [ebp - 0x124]
xor ecx, ecx
mov edx, 0x11c
call fcn.00407d34
mov dword [ebp - 0x124], 0x11c
lea eax, [ebp - 0x124]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je case.0x777c3e.7
mov eax, dword [ebp - 0x120]
mov dword [esi], eax
mov eax, dword [ebp - 0x11c]
mov dword [edi], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x118]
mov dword [eax], edx
cmp word [ebp - 0x10], 0
je 0x777ba6
mov eax, ebx
lea edx, [ebp - 0x110]
mov ecx, pe_nt_image_headers32
call fcn.0040b42c
jmp 0x777bad
mov eax, ebx
call fcn.0040a490
lea eax, [ebp - 0x148]
xor ecx, ecx
mov edx, 0x24
call fcn.00407d34
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetSystemInfo
mov eax, dword [ebp - 0x114]
sub eax, 1
jb 0x777be0
je 0x777be9
dec eax
je 0x777c2c
jmp case.0x777c3e.7
mov byte [ebp - 5], 2
jmp case.0x777c3e.7
mov eax, dword [ebp - 0x120]
sub eax, 4
jne case.0x777c3e.7
mov eax, dword [ebp - 0x11c]
sub eax, 1
jae case.0x777c3e.7
movzx eax, word [ebp - 0x110]
cmp ax, 0x42
je 0x777c1a
cmp ax, 0x43
jne 0x777c23
mov byte [ebp - 5], 4
jmp case.0x777c3e.7
mov byte [ebp - 5], 3
jmp case.0x777c3e.7
mov eax, dword [ebp - 0x120]
add eax, 0xfffffffd
cmp eax, 7
ja case.0x777c3e.7
jmp dword [eax*4 + 0x777c45]
mov byte [ebp - 5], 8
jmp case.0x777c3e.7
movzx eax, byte [ebp - 0xa]
dec al
je 0x777c7f
sub al, 2
je 0x777c88
jmp case.0x777c3e.7
mov byte [ebp - 5], 9
jmp case.0x777c3e.7
mov byte [ebp - 5], 0xa
jmp case.0x777c3e.7
mov eax, dword [ebp - 0x11c]
sub eax, 1
jb 0x777ca6
je 0x777caf
dec eax
je 0x777cb8
jmp case.0x777c3e.7
mov byte [ebp - 5], 0xb
jmp case.0x777c3e.7
mov byte [ebp - 5], 0xc
jmp case.0x777c3e.7
cmp word [ebp - 0xc], 0x8000
jne 0x777cd3
cmp word [ebp - 0x148], 9
jne 0x777cd3
mov byte [ebp - 5], 0xd
jmp case.0x777c3e.7
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x777ce7
mov byte [ebp - 5], 0xf
jmp case.0x777c3e.7
mov byte [ebp - 5], 0x10
jmp case.0x777c3e.7
mov eax, dword [ebp - 0x11c]
sub eax, 1
jb 0x777d05
je 0x777d17
dec eax
je 0x777d29
dec eax
je 0x777d3b
jmp case.0x777c3e.7
cmp byte [ebp - 0xa], 1
jne 0x777d11
mov byte [ebp - 5], 0x11
jmp case.0x777c3e.7
mov byte [ebp - 5], 0x12
jmp case.0x777c3e.7
cmp byte [ebp - 0xa], 1
jne 0x777d23
mov byte [ebp - 5], 0x14
jmp case.0x777c3e.7
mov byte [ebp - 5], 0x13
jmp case.0x777c3e.7
cmp byte [ebp - 0xa], 1
jne 0x777d35
mov byte [ebp - 5], 0x15
jmp case.0x777c3e.7
mov byte [ebp - 5], 0x16
jmp case.0x777c3e.7
cmp byte [ebp - 0xa], 1
jne 0x777d47
mov byte [ebp - 5], 0x17
jmp case.0x777c3e.7
mov byte [ebp - 5], 0x18
jmp case.0x777c3e.7
mov eax, dword [ebp - 0x11c]
sub eax, 1
jae case.0x777c3e.7
cmp byte [ebp - 0xa], 1
jne 0x777d74
mov eax, dword [0x7b86f8]
cmp byte [eax], 0
je 0x777d6e
mov byte [ebp - 5], 0x1b
jmp case.0x777c3e.7
mov byte [ebp - 5], 0x19
jmp case.0x777c3e.7
mov byte [ebp - 5], 0x1a
movzx eax, byte [ebp - 5]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4