Function at 0x45e4e8
Capabilities:
Check os version

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff64
mov esi, eax
mov edi, 0x462bd0
mov dword [esp], 0
mov dword [esp + 4], 0
mov edx, 0x45eb18
mov eax, edi
call fcn.00408a24
lea eax, [esp + 8]
xor ecx, ecx
mov edx, 0x94
call fcn.00406d78
mov dword [esp + 8], 0x94
lea eax, [esp + 8]
push eax
call sub.kernel32.dll_GetVersionExA
cmp dword [esp + 0x18], 2
jne 0x45e55b
mov eax, esi
call fcn.0045d2b0
mov eax, esi
call fcn.0045dfb4
mov eax, esi
call fcn.0045d904
mov eax, esi
call fcn.0045d4dc
jmp 0x45e578
xor ebp, ebp
xor ebx, ebx
jmp 0x45e56a
mov eax, esi
call fcn.0045ddc0
mov ebx, eax
cmp ebp, 0xa
jge 0x45e578
test bl, bl
jne 0x45e578
cmp byte [edi], 0
je 0x45e561
cmp byte [edi], 0
jbe 0x45ea43
xor esi, esi
mov edx, 0x45eb1c
mov eax, edi
mov ecx, 4
call fcn.00408ae8
test eax, eax
jne 0x45ea2f
add esi, 5
jmp 0x45ea2f
cmp bl, 0x2d
jne 0x45e5af
inc esi
jmp 0x45ea2f
push 0
push 0xa
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
call fcn.00404f44
mov dword [esp], eax
mov dword [esp + 4], edx
movzx eax, byte [edi + esi]
add eax, 0xffffffd0
cmp eax, 0x4a
ja case.0x45e5de.58
movzx eax, byte [eax + 0x45e5e5]
jmp dword [eax*4 + 0x45e630]
mov eax, dword [esp]
mov edx, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 1
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 2
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 3
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 4
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 5
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 6
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 7
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 8
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 9
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0xa
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0xb
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0xc
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0xd
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0xe
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0xf
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x10
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x11
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x12
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x13
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x14
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x15
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x16
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x17
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x18
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x19
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x1a
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x1b
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x1c
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x1d
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x1e
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x1f
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x20
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x21
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x22
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp case.0x45e5de.58
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x23
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
inc esi
movzx ebx, byte [edi + esi]
test bl, bl
je 0x45ea43
cmp esi, 0x400
jl 0x45e5a4
push 0
push 0x5f5e100
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
call fcn.00404f68
mov dword [esp], eax
mov dword [esp + 4], edx
mov edx, 0x45eb24
mov eax, 0x462fd0
call fcn.00408b68
test eax, eax
je 0x45ea89
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x11e1a300
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp 0x45eb08
mov edx, 0x45eb2c
mov eax, 0x462fd0
call fcn.00408b68
test eax, eax
jne 0x45eaaf
mov edx, 0x45eb34
mov eax, 0x462fd0
call fcn.00408b68
test eax, eax
je 0x45eac7
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x17d78400
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp 0x45eb08
mov edx, 0x45eb3c
mov eax, 0x462fd0
call fcn.00408b68
test eax, eax
je 0x45eaf2
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x1dcd6500
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
jmp 0x45eb08
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, 0x23c34600
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp]
add esp, 0x9c
pop ebp
pop edi
pop esi
pop ebx
ret