Function at 0x55e030
Capabilities:
Check os version
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x474
mov eax, dword [0x63b070]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x474]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemInfo]
push str.RtlGetVersion
push 0x5d4f38
mov dword [ebp - 0x220], 0x11c
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
push 0x110
mov esi, eax
lea eax, [ebp - 0x330]
push 0
push eax
call fcn.00577360
add esp, 0xc
mov dword [ebp - 0x334], 0x114
lea eax, [ebp - 0x334]
push eax
call esi
push 0x18
push str.unknown_OperatingSystem.
mov ecx, edi
mov esi, eax
call fcn.0055b330
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.DLL_GetVersionExW]
test eax, eax
je case.0x55e128.7
test esi, esi
jne case.0x55e128.7
push 0x100
lea eax, [ebp - 0x104]
push esi
push eax
call fcn.00577360
push dword [ebp - 0x218]
lea eax, [ebp - 0x104]
push dword [ebp - 0x21c]
push str._d__d
push eax
call fcn.0041aef0
lea eax, [ebp - 0x104]
push eax
call fcn.00475740
mov eax, dword [ebp - 0x330]
add esp, 0x20
add eax, 0xfffffffc
cmp eax, 6
ja case.0x55e128.7
mov esi, 0x5d5080
mov ecx, 0x5d508c
jmp dword [eax*4 + 0x55e380]
mov eax, dword [ebp - 0x32c]
test eax, eax
je 0x55e15f
cmp eax, 0xa
je 0x55e153
cmp eax, 0x5a
jne case.0x55e128.7
push 0x14
push 0x5d4fb4
jmp 0x55e367
push 0x14
push str.Microsoft_Windows_98
jmp 0x55e367
mov eax, dword [ebp - 0x210]
cmp eax, 2
jne 0x55e176
push 0x18
push str.Microsoft_Windows_NT_4.0
jmp 0x55e367
cmp eax, 1
jne case.0x55e128.7
push 0x14
push str.Microsoft_Windows_95
jmp 0x55e367
mov eax, dword [ebp - 0x32c]
sub eax, 0
je 0x55e201
sub eax, 1
je 0x55e1f5
sub eax, 1
jne case.0x55e128.7
cmp byte [ebp - 0x106], 1
jne 0x55e1c3
cmp word [ebp - 0x474], 9
jne 0x55e1c3
push 0x23
push 0x5d4fe8
jmp 0x55e367
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x59
call esi
test eax, eax
jne 0x55e1dd
push 0x13
push 0x5d500c
jmp 0x55e367
push 0x59
call esi
test eax, eax
je case.0x55e128.7
push 0x16
push 0x5d5020
jmp 0x55e367
push 0xa
push 0x5d4fdc
jmp 0x55e367
push 0xc
push 0x5d4fcc
jmp 0x55e367
mov eax, dword [ebp - 0x32c]
cmp eax, 3
ja case.default.0x55e21c
jmp dword [eax*4 + 0x55e39c]
cmp byte [ebp - 0x106], 1
jne 0x55e23d
mov ecx, 0xd
mov eax, 0x5d5038
push ecx
push eax
jmp 0x55e330
mov ecx, 0x13
mov eax, 0x5d5048
push ecx
push eax
jmp 0x55e330
cmp byte [ebp - 0x106], 1
jne 0x55e268
mov ecx, 9
mov eax, 0x5d505c
push ecx
push eax
jmp 0x55e330
mov ecx, 0x16
mov eax, 0x5d5068
push ecx
push eax
jmp 0x55e330
cmp byte [ebp - 0x106], 1
jne 0x55e309
push 0x118
lea eax, [ebp - 0x44c]
push 0
push eax
call fcn.00577360
add esp, 0xc
mov dword [ebp - 0x450], 0x11c
push str.RtlGetVersion
push 0x5d4f24
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x6416ec], eax
test eax, eax
je 0x55e2fb
lea ecx, [ebp - 0x450]
push ecx
call eax
test eax, eax
jne 0x55e2fb
cmp dword [ebp - 0x44c], 0xa
ja 0x55e2de
jb 0x55e2fb
cmp dword [ebp - 0x328], 0x55f0
mov ecx, 0x5d508c
mov eax, esi
cmovb eax, ecx
mov ecx, 0xa
push ecx
push eax
jmp 0x55e330
mov ecx, 9
mov eax, 0x5d5098
push ecx
push eax
jmp 0x55e330
mov ecx, 0x13
mov eax, 0x5d50a4
push ecx
push eax
jmp 0x55e330
cmp byte [ebp - 0x106], 1
jne 0x55e329
push 0xb
push 0x5d50b8
jmp 0x55e330
push 0x16
push str.Windows_Server_2012_R2
mov ecx, edi
call fcn.0055b330
mov ecx, 0x5d508c
cmp dword [ebp - 0x32c], 0
jne case.0x55e128.7
cmp byte [ebp - 0x106], 1
jne 0x55e360
cmp dword [ebp - 0x328], 0x55f0
push 0xa
cmovb esi, ecx
push esi
jmp 0x55e367
push 0x25
push str.Windows_Server_2016_Technical_Preview
mov ecx, edi
call fcn.0055b330
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.004a39ef
mov esp, ebp
pop ebp
ret 4