Function at 0x44ec60
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6275dd
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
mov eax, dword [0x6bae70]
xor eax, esp
mov dword [esp + 0xc8], eax
push ebx
push esi
push edi
mov eax, dword [0x6bae70]
xor eax, esp
push eax
lea eax, [esp + 0xe0]
mov dword fs:[0], eax
mov dword [esp + 0x2c], edx
mov ebx, ecx
mov dword [esp + 0x20], ebx
mov eax, dword [ebp + 0x10]
xor edi, edi
mov esi, dword [ebp + 8]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x28], eax
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], edi
mov byte [esp + 0x90], 0
mov dword [esp + 0xe8], edi
mov dword [esp + 0x5c], 0xf
mov dword [esp + 0x58], edi
mov byte [esp + 0x48], 0
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], edi
mov byte [esp + 0x30], 0
mov byte [esp + 0xe8], 2
cmp esi, dword [ebp + 0xc]
je case.default.0x44ed2f
lea edx, [edi + 1]
cmp edi, 8
je case.default.0x44ed2f
mov eax, esi
inc esi
mov al, byte [eax]
mov byte [esp + 0x18], al
cmp edi, 7
ja case.default.0x44ed2f
jmp dword [edi*4 + 0x44f1f8]
cmp al, 0xd
jne 0x44ed44
mov edi, 7
jmp 0x44f17e
movsx ecx, al
cmp ecx, 0x7f
ja 0x44f050
test al, al
js 0x44ed5d
cmp ecx, 0x1f
jle 0x44f050
cmp ecx, 0x7f
je 0x44f050
call fcn.00430dc0
test al, al
jne 0x44f050
push dword [esp + 0x18]
lea ecx, [esp + 0x4c]
call fcn.00499170
mov edi, 3
jmp 0x44f17e
cmp al, 0xd
jne 0x44eef2
push 1
call fcn.005d472b
mov edi, eax
mov dword [esp + 0x18], edi
push ecx
lea edx, [esp + 0x1c]
mov byte [esp + 0xf0], 3
mov ecx, esp
call fcn.00429a50
lea ecx, [esp + 0x50]
call fcn.0045a450
add esp, 8
mov byte [esp + 0xe8], 2
test edi, edi
je 0x44edde
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
test eax, eax
je 0x44edde
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push 1
call fcn.005d472b
mov edi, eax
mov dword [esp + 0x18], edi
push ecx
lea edx, [esp + 0x1c]
mov byte [esp + 0xf0], 4
mov ecx, esp
call fcn.00429a50
lea ecx, [esp + 0x38]
call fcn.0045a450
add esp, 8
mov byte [esp + 0xe8], 2
test edi, edi
je 0x44ee2a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
test eax, eax
je 0x44ee2a
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [esp + 0x24]
lea edx, [esp + 0x34]
push dword [esp + 0x30]
lea ecx, [esp + 0x50]
push ebx
call fcn.00432950
add esp, 0xc
lea eax, [esp + 0x30]
lea edx, [esp + 0x48]
lea ecx, [esp + 0x60]
push eax
call fcn.0045c100
add esp, 4
mov ecx, dword [esp + 0x28]
push eax
mov byte [esp + 0xec], 5
call fcn.00443440
mov byte [esp + 0xe8], 2
cmp dword [esp + 0x8c], 0x10
jb 0x44ee88
push dword [esp + 0x78]
call fcn.005e8fa6
add esp, 4
cmp dword [esp + 0x74], 0x10
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], 0
mov byte [esp + 0x78], 0
jb 0x44eeb6
push dword [esp + 0x60]
call fcn.005e8fa6
add esp, 4
cmp dword [esp + 0x5c], 0x10
lea eax, [esp + 0x48]
mov dword [esp + 0x58], 0
mov edi, 7
cmovae eax, dword [esp + 0x48]
mov byte [eax], 0
lea eax, [esp + 0x30]
cmp dword [esp + 0x44], 0x10
mov dword [esp + 0x40], 0
cmovae eax, dword [esp + 0x30]
mov byte [eax], 0
jmp 0x44f17e
cmp al, 0x20
je 0x44f017
cmp al, 9
je 0x44f017
movsx ecx, al
cmp ecx, 0x7f
ja 0x44f050
test al, al
js 0x44ef1b
cmp ecx, 0x1f
jle 0x44f050
cmp ecx, 0x7f
je 0x44f050
call fcn.00430dc0
test al, al
jne 0x44f050
push 1
call fcn.005d472b
mov dword [esp + 0x18], eax
push ecx
lea edx, [esp + 0x1c]
mov byte [esp + 0xf0], 6
mov ecx, esp
call fcn.00429a50
lea ecx, [esp + 0x50]
call fcn.0045a450
add esp, 8
mov byte [esp + 0xe8], 2
lea ecx, [esp + 0x14]
call fcn.004532d0
push 1
call fcn.005d472b
mov dword [esp + 0x18], eax
push ecx
lea edx, [esp + 0x1c]
mov byte [esp + 0xf0], 7
mov ecx, esp
call fcn.00429a50
lea ecx, [esp + 0x38]
call fcn.0045a450
add esp, 8
mov byte [esp + 0xe8], 2
lea ecx, [esp + 0x14]
call fcn.004532d0
push dword [esp + 0x24]
lea edx, [esp + 0x34]
push dword [esp + 0x30]
lea ecx, [esp + 0x50]
push ebx
call fcn.00432950
add esp, 0xc
lea eax, [esp + 0x30]
lea edx, [esp + 0x48]
lea ecx, [esp + 0xa8]
push eax
call fcn.0045c100
add esp, 4
mov ecx, dword [esp + 0x28]
push eax
mov byte [esp + 0xec], 8
call fcn.00443440
lea ecx, [esp + 0xa8]
mov byte [esp + 0xe8], 2
call fcn.00432780
lea ecx, [esp + 0x48]
call fcn.004418f0
lea ecx, [esp + 0x30]
call fcn.004418f0
jmp 0x44ed73
mov edi, 2
jmp 0x44f17e
cmp al, 0xd
jne 0x44f02f
mov edi, 6
jmp 0x44f17e
cmp al, 0x20
je 0x44f17e
cmp al, 9
je 0x44f17e
movsx eax, al
test eax, eax
js 0x44f04b
cmp eax, 0x1f
jle 0x44f050
cmp eax, 0x7f
jne 0x44f05a
mov edi, 8
jmp 0x44f17e
push dword [esp + 0x18]
lea ecx, [esp + 0x34]
mov edi, 5
call fcn.00499170
jmp 0x44f17e
cmp al, 0x3a
jne 0x44f07f
mov edi, 4
jmp 0x44f17e
movsx ecx, al
cmp ecx, 0x7f
ja 0x44f050
test al, al
js 0x44f090
cmp ecx, 0x1f
jle 0x44f050
cmp ecx, 0x7f
je 0x44f050
call fcn.00430dc0
test al, al
jne 0x44f050
push dword [esp + 0x18]
lea ecx, [esp + 0x4c]
call fcn.00499170
jmp 0x44f17e
cmp al, 0xd
jne 0x44f0be
mov edi, 6
jmp 0x44f17e
movsx eax, al
test eax, eax
js 0x44f0ca
cmp eax, 0x1f
jle 0x44f050
cmp eax, 0x7f
jne 0x44f0d7
lea edi, [eax - 0x77]
jmp 0x44f17e
cmp dword [esp + 0x44], 0x10
lea ecx, [esp + 0x30]
mov eax, dword [esp + 0x40]
cmovae ecx, dword [esp + 0x30]
add eax, ecx
cmp dword [esp + 0x44], 0x10
lea ecx, [esp + 0x30]
cmovae ecx, dword [esp + 0x30]
test eax, eax
je 0x44f0ff
sub eax, ecx
push dword [esp + 0x18]
lea ecx, [esp + 0x34]
push 1
push eax
call fcn.004990b0
mov ebx, dword [esp + 0x20]
mov edi, 5
jmp 0x44f17e
cmp al, 0xd
jne 0x44f125
mov edi, 6
jmp 0x44f17e
movsx ecx, al
test al, al
js 0x44f131
cmp ecx, 0x1f
jle case.0x44ed2f.6
cmp ecx, 0x7f
je case.0x44ed2f.6
cmp dword [esp + 0x44], 0x10
lea ecx, [esp + 0x30]
mov eax, dword [esp + 0x40]
cmovae ecx, dword [esp + 0x30]
add eax, ecx
cmp dword [esp + 0x44], 0x10
lea ecx, [esp + 0x30]
cmovae ecx, dword [esp + 0x30]
test eax, eax
je 0x44f15e
sub eax, ecx
push dword [esp + 0x18]
lea ecx, [esp + 0x34]
push 1
push eax
call fcn.004990b0
mov ebx, dword [esp + 0x20]
jmp 0x44f17e
cmp al, 0xa
mov edi, 8
cmove edi, edx
mov edx, 1
cmp esi, dword [ebp + 0xc]
jne 0x44ed14
xor bl, bl
cmp dword [esp + 0x44], 0x10
jb 0x44f1a1
push dword [esp + 0x30]
call fcn.005e8fa6
add esp, 4
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], 0
mov byte [esp + 0x30], 0
jb 0x44f1c9
push dword [esp + 0x48]
call fcn.005e8fa6
add esp, 4
mov al, bl
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc8]
xor ecx, esp
call fcn.005e9734
mov esp, ebp
pop ebp
ret
cmp al, 0xa
sete bl
jmp 0x44f18e