Function at 0x1003ab90
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100506c8
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x2ac
mov eax, dword [0x1005b030]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2b4], ecx
mov eax, dword [ebp - 0x2b4]
cmp dword [eax + 0x1351c], 0
je 0x1003abde
xor eax, eax
jmp 0x1003b2ec
lea ecx, [ebp - 0x30]
call fcn.10007390
mov dword [ebp - 4], 0
mov dword [ebp - 0xd0], 0x94
mov cx, word [0x10054d30]
mov word [ebp - 0x34], cx
mov ecx, 7
mov esi, 0x10054d10
lea edi, [ebp - 0x270]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor edx, edx
mov word [ebp - 0x253], dx
mov byte [ebp - 0x251], dl
mov ecx, 7
mov esi, 0x10054cf4
lea edi, [ebp - 0x250]
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [ebp - 0x234], eax
mov ecx, 6
mov esi, 0x10054cd8
lea edi, [ebp - 0x230]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor ecx, ecx
mov dword [ebp - 0x216], ecx
mov word [ebp - 0x212], cx
mov edx, dword [0x10054cc0]
mov dword [ebp - 0x210], edx
mov eax, dword [0x10054cc4]
mov dword [ebp - 0x20c], eax
mov ecx, dword [0x10054cc8]
mov dword [ebp - 0x208], ecx
mov edx, dword [0x10054ccc]
mov dword [ebp - 0x204], edx
mov eax, dword [0x10054cd0]
mov dword [ebp - 0x200], eax
mov ecx, dword [0x10054cd4]
mov dword [ebp - 0x1fc], ecx
xor edx, edx
mov dword [ebp - 0x1f8], edx
mov dword [ebp - 0x1f4], edx
mov ecx, 6
mov esi, 0x10054ca4
lea edi, [ebp - 0x1f0]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor eax, eax
mov dword [ebp - 0x1d6], eax
mov word [ebp - 0x1d2], ax
mov ecx, 6
mov esi, 0x10054c88
lea edi, [ebp - 0x1d0]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov dword [ebp - 0x1b5], ecx
mov byte [ebp - 0x1b1], cl
mov edx, dword [0x10054c78]
mov dword [ebp - 0x1b0], edx
mov eax, dword [0x10054c7c]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [0x10054c80]
mov dword [ebp - 0x1a8], ecx
mov dl, byte [0x10054c84]
mov byte [ebp - 0x1a4], dl
xor eax, eax
mov dword [ebp - 0x1a3], eax
mov dword [ebp - 0x19f], eax
mov dword [ebp - 0x19b], eax
mov dword [ebp - 0x197], eax
mov word [ebp - 0x193], ax
mov byte [ebp - 0x191], al
mov ecx, dword [0x10054c60]
mov dword [ebp - 0x190], ecx
mov edx, dword [0x10054c64]
mov dword [ebp - 0x18c], edx
mov eax, dword [0x10054c68]
mov dword [ebp - 0x188], eax
mov ecx, dword [0x10054c6c]
mov dword [ebp - 0x184], ecx
mov edx, dword [0x10054c70]
mov dword [ebp - 0x180], edx
mov eax, dword [0x10054c74]
mov dword [ebp - 0x17c], eax
xor ecx, ecx
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x174], ecx
mov edx, dword [0x10054c48]
mov dword [ebp - 0x170], edx
mov eax, dword [0x10054c4c]
mov dword [ebp - 0x16c], eax
mov ecx, dword [0x10054c50]
mov dword [ebp - 0x168], ecx
mov edx, dword [0x10054c54]
mov dword [ebp - 0x164], edx
mov eax, dword [0x10054c58]
mov dword [ebp - 0x160], eax
mov ecx, dword [0x10054c5c]
mov dword [ebp - 0x15c], ecx
xor edx, edx
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x154], edx
mov eax, dword [0x10054c30]
mov dword [ebp - 0x150], eax
mov ecx, dword [0x10054c34]
mov dword [ebp - 0x14c], ecx
mov edx, dword [0x10054c38]
mov dword [ebp - 0x148], edx
mov eax, dword [0x10054c3c]
mov dword [ebp - 0x144], eax
mov ecx, dword [0x10054c40]
mov dword [ebp - 0x140], ecx
mov edx, dword [0x10054c44]
mov dword [ebp - 0x13c], edx
xor eax, eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov ecx, dword [0x10054c1c]
mov dword [ebp - 0x130], ecx
mov edx, dword [0x10054c20]
mov dword [ebp - 0x12c], edx
mov eax, dword [0x10054c24]
mov dword [ebp - 0x128], eax
mov ecx, dword [0x10054c28]
mov dword [ebp - 0x124], ecx
mov edx, dword [0x10054c2c]
mov dword [ebp - 0x120], edx
xor eax, eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
mov ecx, dword [0x10054c0c]
mov dword [ebp - 0x110], ecx
mov edx, dword [0x10054c10]
mov dword [ebp - 0x10c], edx
mov eax, dword [0x10054c14]
mov dword [ebp - 0x108], eax
mov cl, byte [0x10054c18]
mov byte [ebp - 0x104], cl
xor edx, edx
mov dword [ebp - 0x103], edx
mov dword [ebp - 0xff], edx
mov dword [ebp - 0xfb], edx
mov dword [ebp - 0xf7], edx
mov word [ebp - 0xf3], dx
mov byte [ebp - 0xf1], dl
mov eax, dword [0x10054c00]
mov dword [ebp - 0xf0], eax
mov ecx, dword [0x10054c04]
mov dword [ebp - 0xec], ecx
mov dx, word [0x10054c08]
mov word [ebp - 0xe8], dx
xor eax, eax
mov dword [ebp - 0xe6], eax
mov dword [ebp - 0xe2], eax
mov dword [ebp - 0xde], eax
mov dword [ebp - 0xda], eax
mov dword [ebp - 0xd6], eax
mov word [ebp - 0xd2], ax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0
jne 0x1003b02d
lea edx, [ebp - 0x34]
push edx
mov ecx, dword [ebp - 0x2b4]
add ecx, 0x136c8
call fcn.10035220
mov dword [ebp - 0x278], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.10001b30
mov eax, dword [ebp - 0x278]
jmp 0x1003b2ec
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x2b8], eax
mov ecx, dword [ebp - 0x2b8]
mov dword [ebp - 0x2bc], ecx
cmp dword [ebp - 0x2bc], 0
je 0x1003b1eb
sub dword [ebp - 0x2bc], 1
je 0x1003b168
sub dword [ebp - 0x2bc], 1
je 0x1003b06d
jmp 0x1003b1fc
cmp dword [ebp - 0xcc], 4
ja 0x1003b0a6
cmp dword [ebp - 0xc8], 0x33
jne 0x1003b08e
lea edx, [ebp - 0x26e]
push edx
lea ecx, [ebp - 0x30]
call fcn.10035220
cmp dword [ebp - 0xc8], 0
jne 0x1003b0a6
lea eax, [ebp - 0x24e]
push eax
lea ecx, [ebp - 0x30]
call fcn.10035220
cmp dword [ebp - 0xcc], 5
jne 0x1003b0f7
cmp dword [ebp - 0xc8], 0
jne 0x1003b0c7
lea ecx, [ebp - 0x22e]
push ecx
lea ecx, [ebp - 0x30]
call fcn.10035220
cmp dword [ebp - 0xc8], 1
jne 0x1003b0df
lea edx, [ebp - 0x20e]
push edx
lea ecx, [ebp - 0x30]
call fcn.10035220
cmp dword [ebp - 0xc8], 2
jne 0x1003b0f7
lea eax, [ebp - 0x1ee]
push eax
lea ecx, [ebp - 0x30]
call fcn.10035220
cmp dword [ebp - 0xcc], 6
jne 0x1003b14a
cmp dword [ebp - 0xc8], 0
jne 0x1003b118
lea ecx, [ebp - 0x1ce]
push ecx
lea ecx, [ebp - 0x30]
call fcn.10035220
cmp dword [ebp - 0xc8], 1
jne 0x1003b132
lea edx, [ebp - 0x1ae]
push edx
lea ecx, [ebp - 0x30]
call fcn.10035220
jmp 0x1003b14a
cmp dword [ebp - 0xc8], 2
jne 0x1003b14a
lea eax, [ebp - 0x10e]
push eax
lea ecx, [ebp - 0x30]
call fcn.10035220
push 0x20
lea ecx, [ebp - 0x30]
call fcn.10034a00
lea ecx, [ebp - 0xbc]
push ecx
lea ecx, [ebp - 0x30]
call fcn.10035d00
jmp 0x1003b20b
cmp dword [ebp - 0xc4], 0x3b6
jb 0x1003b180
cmp dword [ebp - 0xc4], 0x438
jbe 0x1003b18c
cmp dword [ebp - 0xc4], 0x438
jbe 0x1003b19b
lea edx, [ebp - 0x18e]
push edx
lea ecx, [ebp - 0x30]
call fcn.10035220
cmp dword [ebp - 0xc4], 0x7ce
jb 0x1003b1b3
cmp dword [ebp - 0xc4], 0x887
jbe 0x1003b1bf
cmp dword [ebp - 0xc4], 0x887
jbe 0x1003b1ce
lea eax, [ebp - 0x16e]
push eax
lea ecx, [ebp - 0x30]
call fcn.10035220
cmp dword [ebp - 0xc4], 0xbb8
jne 0x1003b1e9
lea ecx, [ebp - 0x14e]
push ecx
lea ecx, [ebp - 0x30]
call fcn.10035220
jmp 0x1003b20b
lea edx, [ebp - 0x12e]
push edx
lea ecx, [ebp - 0x30]
call fcn.10035220
jmp 0x1003b20b
lea eax, [ebp - 0xee]
push eax
lea ecx, [ebp - 0x30]
call fcn.10035220
jmp 0x1003b21a
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x2b4]
add ecx, 0x136c8
call fcn.1000b170
mov dword [ebp - 0x27c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.10001b30
mov eax, dword [ebp - 0x27c]
jmp 0x1003b2ec
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1001a52f
mov esp, ebp
pop ebp
ret