Function at 0x53bb30
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x460
mov eax, dword [0x6aae14]
xor eax, esp
mov dword [esp + 0x45c], eax
push ebx
push esi
mov esi, dword [esp + 0x46c]
xor ebx, ebx
push 0x90
lea eax, [esp + 0x38]
push ebx
push eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ebx
call fcn.005dfd60
add esp, 0xc
call fcn.004d8f30
mov dword [esp + 8], eax
cmp esi, ebx
jne 0x53bb91
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x45c]
xor ecx, esp
call fcn.005dfbbe
add esp, 0x460
ret
push edi
mov byte [esi], bl
call fcn.004d9b00
mov edi, dword [sym.imp.KERNEL32.dll_GetVersionExA]
lea ecx, [esp + 0x34]
test eax, eax
je 0x53bbcc
push ebx
push ecx
call fcn.004f4a40
test eax, eax
jne 0x53bbea
push 0x94
lea edx, [esp + 0x38]
push ebx
push edx
call fcn.005dfd60
add esp, 0xc
lea eax, [esp + 0x34]
push eax
jmp 0x53bbe0
push 0x94
push ebx
push ecx
call fcn.005dfd60
add esp, 0xc
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x38], 0x94
call edi
push 0x103
lea eax, [esp + 0x161]
push ebx
push eax
mov byte [esp + 0x168], bl
call fcn.005dfd60
push 0x103
lea ecx, [esp + 0x375]
push ebx
push ecx
mov byte [esp + 0x37c], bl
call fcn.005dfd60
push 0x103
lea edx, [esp + 0x27d]
push ebx
push edx
mov byte [esp + 0x284], bl
call fcn.005dfd60
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x44]
push eax
push ebx
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x60]
push edx
push ebx
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x74]
push ebx
push ecx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
xor esi, esi
call fcn.004d9f10
mov ecx, 1
add esp, 0x50
cmp dword [esp + 0x28], ecx
jne 0x53bcb8
mov edx, dword [str.2000]
mov al, byte [0x65331c]
mov esi, ecx
mov dword [esp + 0x15c], edx
mov byte [esp + 0x160], al
jmp 0x53bdc5
cmp dword [esp + 0x24], ecx
jne 0x53bce3
mov esi, 2
mov dx, word [0x653314]
mov al, byte [0x653316]
mov word [esp + 0x15c], dx
mov byte [esp + 0x15e], al
jmp 0x53bdc5
cmp dword [esp + 0x1c], ecx
jne 0x53bd17
mov esi, 2
cmp dword [esp + 0xc], esi
jle 0x53bcc3
mov edx, dword [str.2003]
mov al, byte [0x653310]
mov esi, 3
mov dword [esp + 0x15c], edx
mov byte [esp + 0x160], al
jmp 0x53bdc5
cmp dword [esp + 0x14], ecx
jne 0x53bdc5
mov ecx, dword [str.Vista]
mov dx, word [0x61d720]
mov esi, 4
mov dword [esp + 0x15c], ecx
mov word [esp + 0x160], dx
call fcn.004d8f30
cmp eax, 2
jle 0x53bd6c
mov eax, dword [str.2008]
mov cl, byte [0x653308]
mov esi, 5
mov dword [esp + 0x15c], eax
mov byte [esp + 0x160], cl
jmp 0x53bdc0
push 0x90
lea edx, [esp + 0xd0]
push ebx
push edx
call fcn.005dfd60
add esp, 0xc
lea eax, [esp + 0xc8]
push eax
mov dword [esp + 0xcc], 0x94
call edi
cmp dword [esp + 0xd0], 1
jne 0x53bdc0
mov ecx, dword [str.Win7]
mov dl, byte [0x653300]
mov esi, 6
mov dword [esp + 0x15c], ecx
mov byte [esp + 0x160], dl
mov ecx, 1
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
cmp dword [esp + 0x18], ecx
jne 0x53bdf0
mov edx, dword [str.Win7]
mov dword [esp + 0x15c], edx
mov dl, byte [0x653300]
mov esi, 6
jmp 0x53bedd
cmp dword [esp + 0x20], ecx
jne 0x53bee4
mov esi, 5
cmp edi, 6
jne 0x53bea6
cmp eax, ebx
jne 0x53be24
mov edx, dword [str.2008]
mov dword [esp + 0x15c], edx
mov dl, byte [0x653308]
jmp 0x53bedd
cmp eax, ecx
jne 0x53be56
mov edx, dword [str.2008R2]
mov dword [esp + 0x15c], edx
mov dx, word [0x6532f8]
mov word [esp + 0x160], dx
mov dl, byte [0x6532fa]
mov byte [esp + 0x162], dl
jmp 0x53bee4
cmp eax, 2
jne 0x53be73
mov edx, dword [str.2012]
mov dword [esp + 0x15c], edx
mov dl, byte [0x6532f0]
lea esi, [eax + 6]
jmp 0x53bedd
cmp eax, 3
jne 0x53bee4
mov edx, dword [str.2012R2]
mov dword [esp + 0x15c], edx
mov dx, word [0x6532e8]
mov word [esp + 0x160], dx
mov dl, byte [0x6532ea]
mov byte [esp + 0x162], dl
lea esi, [eax + 5]
jmp 0x53bee4
cmp edi, 0xa
jb 0x53bee4
cmp dword [esp + 0x40], 0x44c0
jae 0x53beca
mov edx, dword [str.2016]
mov dword [esp + 0x15c], edx
mov dl, byte [0x6532e0]
jmp 0x53bedd
mov edx, dword [str.2019]
mov dword [esp + 0x15c], edx
mov dl, byte [0x6532d8]
mov byte [esp + 0x160], dl
cmp dword [esp + 0x10], ecx
jne 0x53bf2f
mov esi, 7
cmp edi, 6
jne 0x53bf16
cmp eax, 3
jne 0x53bf16
mov eax, dword [str.Win81]
mov cx, word [0x6532d0]
mov dword [esp + 0x15c], eax
mov word [esp + 0x160], cx
jmp 0x53bf2f
mov edx, dword [str.Win8]
mov al, byte [0x6532c8]
mov dword [esp + 0x15c], edx
mov byte [esp + 0x160], al
call fcn.004f79d0
pop edi
test eax, eax
je 0x53bf63
cmp dword [esp + 8], 2
jg 0x53bf63
mov ecx, dword [str.Win10]
mov dx, word [0x6532c0]
mov dword [esp + 0x158], ecx
mov word [esp + 0x15c], dx
mov esi, 9
jmp 0x53bf6b
cmp esi, ebx
jle 0x53bffe
cmp byte [esp + 0x158], bl
je 0x53bffe
call fcn.004d9710
cmp eax, 1
jne 0x53bf8d
mov dword [esp + 0x360], 0x343678
lea eax, [esp + 8]
push ebx
push eax
mov dword [esp + 0x10], ebx
call fcn.004d97f0
mov eax, dword [esp + 0x10]
add esp, 8
cmp ax, bx
jbe 0x53bfc5
movzx ecx, ax
push ecx
lea edx, [esp + 0x260]
push str.SP_d
push edx
call fcn.005dfb23
mov eax, dword [esp + 0x14]
add esp, 0xc
cmp esi, 1
jne 0x53bfd0
cmp ax, 4
jb 0x53bffc
lea eax, [esp + 0x25c]
push eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x364]
push ecx
lea edx, [esp + 0x160]
push edx
push 0x647ed0
push eax
call fcn.005dfb23
add esp, 0x14
jmp 0x53bffe
xor esi, esi
mov ecx, dword [esp + 0x464]
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.005dfbbe
add esp, 0x460
ret