Function at 0x53da7c
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff48
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
xor eax, eax
push ebp
push 0x53dd45
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xb0]
xor ecx, ecx
mov edx, 0x9c
call fcn.004032dc
mov dword [ebp - 0xb0], 0x9c
lea eax, [ebp - 0xb0]
push eax
call sub.kernel32.dll_GetVersionExA_1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0xa0]
mov dword [eax], edx
lea eax, [ebp - 0xb8]
lea edx, [ebp - 0x9c]
mov ecx, 0x80
call fcn.00404960
mov eax, dword [ebp - 0xb8]
lea edx, [ebp - 0xb4]
call fcn.00409114
mov edx, dword [ebp - 0xb4]
mov eax, esi
call fcn.00404744
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xac]
mov dword [eax], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xa8]
mov dword [eax], edx
movzx eax, word [ebp - 0xa4]
mov edx, dword [ebp + 0x18]
mov dword [edx], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
push eax
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
push eax
mov eax, dword [esi]
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
xor edx, edx
mov dl, byte [ebp - 0x16]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
call fcn.0053de18
mov byte [ebp - 0xd], al
mov ax, word [0x53dd58]
mov word [ebx], ax
mov byte [edi], 0
cmp dword [ebp - 0xa0], 2
jne 0x53dd27
mov eax, dword [esi]
mov edx, 0x53dd64
call fcn.00404afc
jne 0x53dbfa
mov dl, 1
mov eax, dword [0x43b370]
call fcn.0043b470
mov dword [ebp - 0x14], eax
mov edx, 0x80000002
mov eax, dword [ebp - 0x14]
call fcn.0043b510
mov edx, 0x53dd7c
mov eax, dword [ebp - 0x14]
call fcn.0043b698
test al, al
je 0x53dbf2
mov edx, 0x53ddc4
mov eax, dword [ebp - 0x14]
call fcn.0043baf0
test al, al
je 0x53dbea
mov edx, 0x53ddc4
mov eax, dword [ebp - 0x14]
call fcn.0043b96c
dec eax
jne 0x53dbea
mov eax, esi
mov edx, 0x53ddd8
call fcn.00404744
mov eax, dword [ebp - 0x14]
call fcn.0043b4e0
mov eax, dword [ebp - 0x14]
call fcn.004038e8
mov al, byte [ebp - 0x16]
dec al
je 0x53dc0b
dec al
je 0x53dc10
dec al
je 0x53dc15
jmp 0x53dc18
mov byte [edi], 1
jmp 0x53dc18
mov byte [edi], 3
jmp 0x53dc18
mov byte [edi], 2
cmp dword [ebp - 0xac], 5
jb 0x53dc2a
cmp byte [ebp - 0x16], 2
jne 0x53dc2a
mov byte [edi], 2
mov si, word [ebp - 0x18]
test si, 1
je 0x53dc42
mov ax, word [ebx]
or ax, word [0x53dde8]
mov word [ebx], ax
test si, 2
je 0x53dc59
mov ax, word [ebx]
or ax, word [0x53ddec]
mov word [ebx], ax
mov byte [edi], 3
test si, 4
je 0x53dc6d
mov ax, word [ebx]
or ax, word [0x53ddf0]
mov word [ebx], ax
test si, 8
je 0x53dc81
mov ax, word [ebx]
or ax, word [0x53ddf4]
mov word [ebx], ax
test si, 0x10
je 0x53dc95
mov ax, word [ebx]
or ax, word [0x53ddf8]
mov word [ebx], ax
test si, 0x20
je 0x53dca9
mov ax, word [ebx]
or ax, word [0x53ddfc]
mov word [ebx], ax
test si, 0x40
je 0x53dcbd
mov ax, word [ebx]
or ax, word [0x53de00]
mov word [ebx], ax
test si, 0x80
je 0x53dcd4
mov ax, word [ebx]
or ax, word [0x53de04]
mov word [ebx], ax
mov byte [edi], 4
test si, 0x100
je 0x53dce8
mov ax, word [ebx]
or ax, word [0x53de08]
mov word [ebx], ax
test si, 0x200
je 0x53dcfc
mov ax, word [ebx]
or ax, word [0x53de0c]
mov word [ebx], ax
test si, 0x400
je 0x53dd13
mov ax, word [ebx]
or ax, word [0x53de10]
mov word [ebx], ax
mov byte [edi], 5
test si, 0x800
je 0x53dd27
mov ax, word [ebx]
or ax, word [0x53de14]
mov word [ebx], ax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x53dd4c
lea eax, [ebp - 0xb8]
mov edx, 2
call fcn.00404714
ret