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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x596835
mov eax, dword fs:[0]
push eax
sub esp, 0x24c
mov eax, dword [0x634384]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push 1
call fcn.00440920
add esp, 4
test al, al
je 0x4bf548
cmp byte [esi + 0xe4], 0
jne 0x4befcb
mov byte [esi + 0xe4], 1
call fcn.004917e0
mov ecx, eax
call fcn.004f3260
test al, al
je 0x4bee5e
push 0
push 0x42
push 1
push 0x6428b4
call fcn.00440860
add esp, 0x10
jmp 0x4befcb
lea eax, [ebp - 0x1a8]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
push 0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.004a42e0
add esp, 0x10
lea ecx, [ebp - 0x3c]
push str._lu_
call fcn.004343a0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x180], ecx
lea ecx, [ebp - 0x180]
push ecx
mov ecx, eax
call fcn.00440d50
lea ecx, [ebp - 0xcc]
push ecx
mov ecx, eax
call fcn.00446720
mov edi, eax
mov byte [ebp - 4], 1
cmp dword [edi + 0x14], 0x10
jb 0x4beed1
mov edi, dword [edi]
push str._lu_
lea ecx, [ebp - 0x16c]
call fcn.004343a0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0x170], ecx
lea ecx, [ebp - 0x170]
push ecx
mov ecx, eax
call fcn.00440d50
lea ecx, [ebp - 0xb4]
push ecx
mov ecx, eax
call fcn.00446720
mov esi, eax
mov byte [ebp - 4], 3
cmp dword [esi + 0x14], 0x10
jb 0x4bef1b
mov esi, dword [esi]
push str._lu_
lea ecx, [ebp - 0x150]
call fcn.004343a0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x194]
push ecx
mov ecx, eax
call fcn.00440d50
lea ecx, [ebp - 0x134]
push ecx
mov ecx, eax
call fcn.00446720
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 0x10
jb 0x4bef57
mov eax, dword [eax]
lea ecx, [ebp - 0x20]
push ecx
push edi
push esi
push eax
push 4
push 0x43
push 1
push 0x6428b4
call fcn.00440860
add esp, 0x20
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x134]
call fcn.004100d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x150]
call fcn.0041ba60
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb4]
call fcn.004100d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x16c]
call fcn.0041ba60
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xcc]
call fcn.004100d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.0041ba60
push 0x5ae018
lea ecx, [ebp - 0x3c]
call fcn.004343a0
mov esi, eax
mov dword [ebp - 4], 9
call fcn.004917e0
mov ecx, eax
call fcn.004f3130
mov dword [ebp - 0x170], eax
mov ecx, esi
lea eax, [ebp - 0x170]
push eax
call fcn.00440d50
lea ecx, [ebp - 0x9c]
push ecx
mov ecx, eax
call fcn.00434790
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3c]
call fcn.0041ba60
push str._lu_
lea ecx, [ebp - 0x3c]
call fcn.004343a0
mov edi, eax
mov byte [ebp - 4], 0xd
call fcn.004917e0
lea esi, [eax + 0xf8]
lea ecx, [esi + 4]
lock bts dword [ecx], 0
jb 0x4bf059
mov ecx, dword [esi + 8]
call fcn.004ed240
push esi
lea ecx, [esi + 0xc]
push ecx
mov ecx, eax
call fcn.00432160
mov dword [esi], eax
mov eax, dword [esi]
mov ecx, edi
shr eax, 0x14
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0x170]
push eax
call fcn.00440d50
lea ecx, [ebp - 0x84]
push ecx
mov ecx, eax
call fcn.00434790
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x3c]
call fcn.0041ba60
push str._lu_
lea ecx, [ebp - 0x3c]
call fcn.004343a0
mov esi, eax
mov byte [ebp - 4], 0x11
call fcn.004917e0
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
shrd ecx, edx, 0x14
shr edx, 0x14
mov dword [ebp - 0x178], ecx
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x174], edx
call fcn.00433330
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x258]
push 1
push 3
call fcn.00435440
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x11c]
push dword [esi + 0x18]
push esi
call fcn.004333c0
test al, al
je 0x4bf16e
lea eax, [ebp - 0x11c]
mov ecx, esi
push eax
lea eax, [ebp - 0x258]
push eax
call fcn.004345c0
lea ecx, [ebp - 0x11c]
call fcn.00433c70
lea ecx, [ebp - 0x248]
test al, al
je 0x4bf127
lea eax, [ebp - 0x178]
cdq
push edx
push eax
jmp 0x4bf133
push dword [ebp - 0x174]
push dword [ebp - 0x178]
call fcn.00441420
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0x258]
call fcn.00435340
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x11c]
push ecx
push eax
mov ecx, esi
call fcn.00434580
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xcc]
call fcn.0041ba60
jmp 0x4bf1c4
push dword [ebp - 0x174]
lea ecx, [ebp - 0x248]
push dword [ebp - 0x178]
call fcn.00441420
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x258]
call fcn.00435340
mov byte [ebp - 4], 0x15
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4bf1a6
mov eax, dword [eax]
push ecx
push eax
mov ecx, esi
call fcn.00437860
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xb4]
call fcn.0041ba60
mov eax, dword [esi + 0x10]
mov dword [esi + 0x18], eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x258]
call fcn.00434c80
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xe8]
call fcn.0041ba60
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x11c]
call fcn.0041ba60
lea eax, [ebp - 0x6c]
mov ecx, esi
push eax
call fcn.00434790
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x3c]
call fcn.0041ba60
call fcn.004917e0
mov ecx, eax
call fcn.004f3230
lea edi, [ebp - 0x6c]
test al, al
je 0x4bf287
cmp dword [ebp - 0x58], 0x10
cmovae edi, dword [ebp - 0x6c]
call fcn.004917e0
lea ecx, [eax + 0x23c]
call fcn.004a6910
mov esi, eax
cmp dword [esi + 0x14], 8
jb 0x4bf23d
mov esi, dword [esi]
call fcn.004917e0
lea ecx, [eax + 0x274]
call fcn.004a6910
mov edx, eax
cmp dword [edx + 0x14], 8
jb 0x4bf257
mov edx, dword [edx]
cmp dword [ebp - 0x70], 0x10
lea ecx, [ebp - 0x84]
push edi
cmovae ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x9c]
cmp dword [ebp - 0x88], 0x10
push esi
cmovae eax, dword [ebp - 0x9c]
push edx
push ecx
push eax
push 5
push 0x13
jmp 0x4bf2f1
cmp dword [ebp - 0x58], 0x10
cmovae edi, dword [ebp - 0x6c]
call fcn.004917e0
lea ecx, [eax + 0x23c]
call fcn.004a6910
mov esi, eax
cmp dword [esi + 0x14], 8
jb 0x4bf2a9
mov esi, dword [esi]
call fcn.004917e0
lea ecx, [eax + 0x274]
call fcn.004a6910
mov edx, eax
cmp dword [edx + 0x14], 8
jb 0x4bf2c3
mov edx, dword [edx]
cmp dword [ebp - 0x70], 0x10
lea ecx, [ebp - 0x84]
push edi
cmovae ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x9c]
cmp dword [ebp - 0x88], 0x10
push esi
cmovae eax, dword [ebp - 0x9c]
push edx
push ecx
push eax
push 5
push 0x14
push 1
push 0x6428b4
call fcn.00440860
mov eax, dword [0x633dd0]
add esp, 0x24
sub esp, 0x18
mov ecx, esp
push 1
mov dword [ecx], eax
mov eax, dword [0x633dd4]
mov dword [ecx + 4], eax
mov eax, dword [0x633dd8]
mov dword [ecx + 8], eax
mov eax, dword [0x633ddc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x633de0]
push 0x3d
mov dword [ecx + 0x10], eax
mov eax, dword [0x633de4]
push 1
push 0x6428b4
mov dword [ecx + 0x14], eax
call fcn.00440860
add esp, 0x28
call fcn.004917e0
lea esi, [eax + 0x8c]
lea eax, [esi + 4]
lock bts dword [eax], 0
jb 0x4bf372
mov ecx, dword [esi + 8]
call fcn.004ed240
push esi
lea ecx, [esi + 0xc]
push ecx
mov ecx, eax
call fcn.00432290
mov byte [esi], al
cmp byte [esi], 0
mov edi, 0x5b3b9c
mov eax, edi
mov ebx, 0x5b3ba4
cmove eax, ebx
push eax
push 1
push 0x3a
push 1
push 0x6428b4
call fcn.00440860
add esp, 0x14
call fcn.004917e0
lea esi, [eax + 0xb0]
lea eax, [esi + 4]
lock bts dword [eax], 0
jb 0x4bf3c3
mov ecx, dword [esi + 8]
call fcn.004ed240
push esi
lea ecx, [esi + 0xc]
push ecx
mov ecx, eax
call fcn.00432290
mov byte [esi], al
cmp byte [esi], 0
mov eax, edi
cmove eax, ebx
push eax
push 1
push 0x55
push 1
push 0x6428b4
call fcn.00440860
add esp, 0x14
call fcn.004917e0
lea esi, [eax + 0x164]
lea eax, [esi + 4]
lock bts dword [eax], 0
jb 0x4bf40a
mov ecx, dword [esi + 8]
call fcn.004ed240
push esi
lea ecx, [esi + 0xc]
push ecx
mov ecx, eax
call fcn.00432290
mov byte [esi], al
cmp byte [esi], 0
cmove edi, ebx
push edi
push 1
push 0xbe
push 1
push 0x6428b4
call fcn.00440860
add esp, 0x14
call fcn.004917e0
lea esi, [eax + 0xd4]
lea eax, [esi + 4]
lock bts dword [eax], 0
jb 0x4bf452
mov ecx, dword [esi + 8]
call fcn.004ed240
push esi
lea ecx, [esi + 0xc]
push ecx
mov ecx, eax
call fcn.00432290
mov byte [esi], al
cmp byte [esi], 0
je 0x4bf45d
push 0
push 0x3e
jmp 0x4bf46f
call dword [sym.imp.KERNEL32.dll_GetVersion]
push 0
cmp al, 5
jne 0x4bf46d
push 0x44
jmp 0x4bf46f
push 0x3f
push 1
push 0x6428b4
call fcn.00440860
add esp, 0x10
lea ecx, [ebp - 0x3c]
push 0x5b2a8c
call fcn.004343a0
mov edi, eax
mov byte [ebp - 4], 0x1b
call fcn.004917e0
lea esi, [eax + 0x218]
lea ecx, [esi + 4]
lock bts dword [ecx], 0
jb 0x4bf4bc
mov ecx, dword [esi + 8]
call fcn.004ed240
push esi
lea ecx, [esi + 0xc]
push ecx
mov ecx, eax
call fcn.00432160
mov dword [esi], eax
push esi
mov ecx, edi
call fcn.00440d50
lea ecx, [ebp - 0x54]
push ecx
mov ecx, eax
call fcn.00434790
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x3c]
call fcn.0041ba60
cmp byte [ebp + 8], 0
lea eax, [ebp - 0x54]
je 0x4bf4f3
cmp dword [ebp - 0x40], 0x10
cmovae eax, dword [ebp - 0x54]
push eax
push 1
push 0x78
jmp 0x4bf500
cmp dword [ebp - 0x40], 0x10
cmovae eax, dword [ebp - 0x54]
push eax
push 1
push 0x79
push 1
push 0x6428b4
call fcn.00440860
add esp, 0x14
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x54]
call fcn.004100d0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x6c]
call fcn.004100d0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x84]
call fcn.004100d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.004100d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005395e6
mov esp, ebp
pop ebp
ret 4