Function at 0x405e50
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push esi
mov edi, dword [esi + 4]
mov dword [ebp - 4], edi
mov eax, dword [edi + 0x14]
mov dword [ebp + 8], eax
call fcn.00424d90
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [ebp - 8], ebx
jne 0x405e86
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 4
push esi
mov dword [ebx], esi
mov dword [ebx + 0x1c], 0x406700
mov dword [ebx + 8], 0x406120
call fcn.00409020
add esp, 8
mov dword [ebx + 0x28], eax
test eax, eax
jne 0x405ebe
push ebx
push edi
call sub.ifcom60.dll_Ordinal_942
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
push eax
push ecx
call sub.UIW60.dll_Ordinal_1440
add esp, 8
mov edi, eax
xor eax, eax
mov dword [ebx + 0x2c], edi
push 0x32
push edi
push esi
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], 0x1b
mov dword [ebx + 0x54], 0x4bb620
call fcn.004230d0
add esp, 0xc
mov dword [ebx + 0x30], eax
push 0x33
push edi
push esi
call fcn.004230d0
add esp, 0xc
mov dword [ebx + 0x34], eax
push 0x34
push edi
push esi
call fcn.004230d0
add esp, 0xc
mov dword [ebx + 0x38], eax
xor ebx, ebx
mov ecx, dword [ebx*8 + 0x4b6608]
xor eax, eax
cmp ebx, 9
jne 0x405fb7
mov eax, dword [esi + 0x34]
shr eax, 0xe
and eax, 1
test ecx, ecx
je 0x405f54
mov edx, dword [esi + 0x34]
and edx, ecx
neg edx
sbb edx, edx
neg edx
push edx
push ebx
push edi
push esi
call fcn.004230d0
add esp, 0xc
push eax
push esi
call fcn.00422ee0
jmp 0x405f67
push eax
push ebx
push edi
push esi
call fcn.004230d0
add esp, 0xc
push eax
push esi
call fcn.00422f20
add esp, 0xc
inc ebx
cmp ebx, 0x1b
jle 0x405f15
mov ebx, dword [ebp - 8]
push ebx
push 0x424df0
push edi
push esi
call fcn.00422430
mov eax, dword [ebx + 0x28]
add esp, 0x10
push 0
push 4
push eax
push esi
call fcn.004082d0
mov esi, dword [ebp + 8]
add esp, 0x10
push edi
push esi
call sub.UIW60.dll_Ordinal_1421
mov ecx, dword [ebx + 0x28]
add esp, 8
push ecx
push esi
call sub.UIW60.dll_Ordinal_1454
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ebx, 8
jne 0x405fd1
mov eax, dword [esi + 0x34]
test ah, 0x40
jne 0x406032
not eax
shr eax, 0xd
and eax, 1
jmp 0x405f30
cmp ebx, 7
jne 0x405fe9
mov eax, dword [esi + 0x34]
test ah, 0x40
jne 0x406032
shr eax, 0xd
and eax, 1
jmp 0x405f30
cmp ebx, 0xc
jne 0x405ffc
mov eax, dword [esi + 0x34]
shr eax, 0x1b
and eax, 1
jmp 0x405f30
cmp ebx, 0xa
jne 0x406016
mov eax, dword [esi + 0x34]
test eax, 0x8000000
jne 0x406032
shr eax, 0x1a
and eax, 1
jmp 0x405f30
cmp ebx, 0xb
jne 0x406039
mov eax, dword [esi + 0x34]
test eax, 0x8000000
jne 0x406032
not eax
shr eax, 0x1a
and eax, 1
jmp 0x405f30
xor eax, eax
jmp 0x405f30
cmp ebx, 4
jne 0x406048
mov edx, dword [esi + 0x118]
push edx
push ebx
jmp 0x40607d
cmp ebx, 5
jne 0x40606d
xor eax, eax
mov al, byte [esi + 0x11c]
push eax
push ebx
push edi
push esi
call fcn.004230d0
add esp, 0xc
push eax
push esi
call fcn.00423090
jmp 0x405f67
cmp ebx, 6
jne 0x406093
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x2fc]
push edx
push ebx
push edi
push esi
call fcn.004230d0
add esp, 0xc
push eax
push esi
call fcn.00422e60
jmp 0x405f67
cmp ebx, 0x1b
jne 0x405f30
mov eax, dword [esi + 0x120]
push eax
push ebx
push edi
push esi
call fcn.004230d0
add esp, 0xc
push eax
push esi
call fcn.00422e60
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 4
jb 0x4060d0
call sub.CORE40.dll_Ordinal_225
cmp eax, 1
jne 0x405f6a
push 0x1b
push edi
push esi
call fcn.004230d0
mov ecx, dword [ebp + 8]
add esp, 0xc
push eax
push ecx
call sub.UIW60.dll_Ordinal_1432
add esp, 8
push 0x36
push edi
push esi
call fcn.004230d0
mov edx, dword [ebp + 8]
add esp, 0xc
push eax
push edx
call sub.UIW60.dll_Ordinal_1432
add esp, 8
push 0x6a
push edi
push esi
call fcn.004230d0
add esp, 0xc
push eax
mov eax, dword [ebp + 8]
push eax
call sub.UIW60.dll_Ordinal_1432
add esp, 8
jmp 0x405f6a