Function at 0x5973c8
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff44
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa0], edx
mov esi, eax
xor eax, eax
push ebp
push 0x5977ab
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
call fcn.00404834
lea eax, [ebp - 0x9c]
mov edx, 0x9c
call fcn.00407ec4
mov dword [ebp - 0x9c], 0x9c
lea eax, [ebp - 0x9c]
push eax
call sub.kernel32.dll_GetVersionExA_1
mov ebx, eax
test bl, bl
jne 0x59744f
mov dword [ebp - 0x9c], 0x94
lea eax, [ebp - 0x9c]
push eax
call sub.kernel32.dll_GetVersionExA_1
test al, al
je 0x59778d
mov eax, dword [ebp - 0x8c]
sub eax, 1
jb 0x597781
je 0x5976f6
dec eax
jne 0x59778d
cmp dword [ebp - 0x98], 5
jne 0x597489
cmp dword [ebp - 0x94], 2
jne 0x597489
mov eax, esi
mov edx, 0x5977c4
call fcn.00404888
cmp dword [ebp - 0x98], 5
jne 0x5974a7
cmp dword [ebp - 0x94], 1
jne 0x5974a7
mov eax, esi
mov edx, 0x5977f4
call fcn.00404888
mov edi, dword [ebp - 0x98]
cmp edi, 5
jne 0x5974c7
cmp dword [ebp - 0x94], 0
jne 0x5974c7
mov eax, esi
mov edx, 0x597814
call fcn.00404888
cmp edi, 4
ja 0x5974d8
mov eax, esi
mov edx, 0x597834
call fcn.00404888
test bl, bl
je 0x597631
mov al, byte [ebp - 2]
cmp al, 1
jne 0x59752d
cmp edi, 4
jne 0x5974fd
mov eax, esi
mov edx, 0x597854
call fcn.00404af4
jmp 0x59764b
mov ax, word [ebp - 4]
and ax, 0x200
cmp ax, 2
jne 0x59751c
mov eax, esi
mov edx, 0x597870
call fcn.00404af4
jmp 0x59764b
mov eax, esi
mov edx, 0x597888
call fcn.00404af4
jmp 0x59764b
cmp al, 3
jne 0x59764b
cmp dword [ebp - 0x98], 5
jne 0x5975af
cmp dword [ebp - 0x94], 2
jne 0x5975af
mov ax, word [ebp - 4]
mov edx, eax
and dx, 0x80
cmp dx, 0x80
jne 0x59756a
mov eax, esi
mov edx, 0x5978a0
call fcn.00404af4
jmp 0x59764b
mov edx, eax
and dx, 2
cmp dx, 2
jne 0x597587
mov eax, esi
mov edx, 0x5978bc
call fcn.00404af4
jmp 0x59764b
cmp ax, 0x400
jne 0x59759e
mov eax, esi
mov edx, 0x5978d8
call fcn.00404af4
jmp 0x59764b
mov eax, esi
mov edx, 0x5978f0
call fcn.00404af4
jmp 0x59764b
cmp dword [ebp - 0x98], 5
jne 0x597607
cmp dword [ebp - 0x94], 0
jne 0x597607
mov ax, word [ebp - 4]
mov edx, eax
and dx, 0x80
cmp dx, 0x80
jne 0x5975e1
mov eax, esi
mov edx, 0x59790c
call fcn.00404af4
jmp 0x59764b
and ax, 2
cmp ax, 2
jne 0x5975f9
mov eax, esi
mov edx, 0x597928
call fcn.00404af4
jmp 0x59764b
mov eax, esi
mov edx, 0x597944
call fcn.00404af4
jmp 0x59764b
mov ax, word [ebp - 4]
and ax, 2
cmp ax, 2
jne 0x597623
mov eax, esi
mov edx, 0x597954
call fcn.00404af4
jmp 0x59764b
mov eax, esi
mov edx, 0x59797c
call fcn.00404af4
jmp 0x59764b
push ebp
lea eax, [ebp - 0xa0]
call fcn.00597078
pop ecx
mov edx, dword [ebp - 0xa0]
mov eax, esi
call fcn.00404af4
cmp dword [ebp - 0x98], 4
jne 0x59769d
lea eax, [ebp - 0xa4]
lea edx, [ebp - 0x88]
mov ecx, 0x80
call fcn.00404a9c
mov eax, dword [ebp - 0xa4]
mov edx, 0x597990
call fcn.00409294
test al, al
je 0x59769d
push ebp
lea eax, [ebp - 0xa8]
call fcn.005972b8
pop ecx
mov edx, dword [ebp - 0xa8]
mov eax, esi
call fcn.00404af4
jmp 0x59778d
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x88]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 6
mov eax, dword [ebp - 0x90]
and eax, 0xffff
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xbc]
mov ecx, 1
mov eax, 0x5979a8
call fcn.0040a834
mov edx, dword [ebp - 0xac]
mov eax, esi
call fcn.00404af4
jmp 0x59778d
cmp dword [ebp - 0x98], 4
jne 0x59772e
cmp dword [ebp - 0x94], 0
jne 0x59772e
mov eax, esi
mov edx, 0x5979c0
call fcn.00404888
mov al, byte [ebp - 0x87]
cmp al, 0x43
je 0x597722
cmp al, 0x42
jne 0x59772e
mov eax, esi
mov edx, 0x5979e0
call fcn.00404af4
cmp dword [ebp - 0x98], 4
jne 0x597761
cmp dword [ebp - 0x94], 0xa
jne 0x597761
mov eax, esi
mov edx, 0x5979f0
call fcn.00404888
cmp byte [ebp - 0x87], 0x41
jne 0x597761
mov eax, esi
mov edx, 0x597a10
call fcn.00404af4
cmp dword [ebp - 0x98], 4
jne 0x59778d
cmp dword [ebp - 0x94], 0x5a
jne 0x59778d
mov eax, esi
mov edx, 0x597a1c
call fcn.00404888
jmp 0x59778d
mov eax, esi
mov edx, 0x597a4c
call fcn.00404888
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5977b2
lea eax, [ebp - 0xac]
mov edx, 4
call fcn.00404858
ret