Function at 0x10084b60
Capabilities:
Check os version

Disassembly:
sub esp, 0x364
mov eax, dword [0x10189710]
xor eax, esp
mov dword [esp + 0x360], eax
push ebx
push esi
push edi
push 0x103
xor ebx, ebx
lea eax, [esp + 0x26d]
push ebx
push eax
mov esi, ecx
call fcn.1012e060
push 0x103
lea ecx, [esp + 0x175]
push ebx
push ecx
mov byte [esp + 0x17c], bl
call fcn.1012e060
push 0x90
lea edx, [esp + 0x5c]
push ebx
push edx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x60], ebx
call fcn.1012e060
add esp, 0x24
mov byte [esi], bl
mov byte [esp + 0x268], bl
cmp dword [0x101c8674], ebx
jne 0x10084c20
mov dword [0x101c8674], 1
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, eax
js 0x10084c20
cmp al, 6
jb 0x10084c20
mov dword [0x101c8678], 1
jmp 0x10084c28
cmp dword [0x101c8678], ebx
je 0x10084c51
xor edx, edx
lea ecx, [esp + 0x3c]
call fcn.1005a1e0
test eax, eax
jne 0x10084c77
push 0x94
lea eax, [esp + 0x40]
push ebx
push eax
call fcn.1012e060
add esp, 0xc
lea ecx, [esp + 0x3c]
push ecx
jmp 0x10084c69
push 0x94
lea edx, [esp + 0x40]
push ebx
push edx
call fcn.1012e060
add esp, 0xc
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x40], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
call fcn.1006b040
lea ecx, [esp + 0xc]
push ecx
mov edi, eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x3c]
push edx
lea ebx, [esp + 0x54]
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x48]
mov dword [esp + 0x58], edi
call fcn.1006bdc0
add esp, 0x20
cmp dword [0x1019395c], 0xffffffff
jne 0x10084ce8
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x1019395c
xor ebx, ebx
xor edx, edx
xor ecx, ecx
call fcn.1006bdc0
add esp, 0x20
cmp dword [esp + 0x30], 0
mov byte [esi], 0
je 0x10084d2b
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10084cf7
sub eax, edx
cmp eax, 0x104
jge 0x10084d22
mov edx, str.Windows_95
lea esp, [esp]
mov cl, byte [edx]
test cl, cl
je 0x10084d22
mov byte [eax + esi], cl
inc eax
inc edx
cmp eax, 0x104
jl 0x10084d10
mov byte [eax + esi], 0
jmp 0x10084f41
cmp dword [esp + 0x14], 0
je 0x10084d3c
push str.Windows_98
jmp 0x10084f34
cmp dword [esp + 0x28], 0
je 0x10084d4d
push 0x1016d970
jmp 0x10084f34
cmp dword [esp + 0x1c], 0
je 0x10084d5e
push str.Windows_ME
jmp 0x10084f34
cmp dword [esp + 0x2c], 0
je 0x10084d9d
test edi, edi
mov edi, 0x104
je 0x10084d78
push str.Windows_XP_Pro_x64
jmp 0x10084f39
push 0x1016d9a0
call fcn.10068740
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x360]
xor ecx, esp
call fcn.10127db1
add esp, 0x364
ret
cmp dword [esp + 0x24], 0
je 0x10084db8
call fcn.100677f0
cmp eax, 2
jle 0x10084d65
push str.Windows_2003
jmp 0x10084f34
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0xc]
test ebx, ebx
jne 0x10084de9
cmp dword [esp + 0x10], 0
jne 0x10084de9
test edi, edi
jne 0x10084de9
cmp dword [esp + 0x18], edi
jne 0x10084de9
cmp dword [esp + 0x20], edi
je 0x10084f41
push str.Windows_NT
jmp 0x10084f34
call fcn.100677f0
cmp eax, 2
jle 0x10084ee4
cmp dword [esp + 0x40], 6
jne 0x10084e1f
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x10084e10
push 0x1016d9bc
jmp 0x10084f34
cmp eax, 1
jne 0x10084e1f
push 0x1016d9cc
jmp 0x10084f34
push 0x90
lea eax, [esp + 0xd8]
push 0
push eax
mov dword [esp + 0xdc], 0
call fcn.1012e060
add esp, 0xc
xor edx, edx
lea ecx, [esp + 0xd0]
call fcn.1005a1e0
cmp eax, 1
jne 0x10084ebc
mov eax, dword [esp + 0xd8]
cmp eax, 2
jne 0x10084e6a
push 0x1016d9dc
jmp 0x10084f34
cmp eax, 3
jne 0x10084e79
push 0x1016d9ec
jmp 0x10084f34
cmp dword [esp + 0xd4], 0xa
jb 0x10084f41
mov eax, dword [esp + 0xdc]
cmp eax, 0x44c0
jae 0x10084e9f
push 0x1016d9fc
jmp 0x10084f34
mov edi, 0x104
cmp eax, 0x4c30
jae 0x10084eb5
push 0x1016da0c
jmp 0x10084f39
push 0x1016da1c
jmp 0x10084f39
mov eax, dword [esp + 0x44]
cmp eax, 2
jne 0x10084ecc
push 0x1016d9dc
jmp 0x10084f34
mov edi, 0x104
cmp eax, 3
jne 0x10084edd
push 0x1016d9ec
jmp 0x10084f39
push 0x1016d9fc
jmp 0x10084f39
test edi, edi
je 0x10084f24
call fcn.1006ba70
test eax, eax
je 0x10084ef8
push 0x1016da2c
jmp 0x10084f34
call fcn.1006ba40
test eax, eax
je 0x10084f08
push 0x1015b048
jmp 0x10084f34
call fcn.1006b820
mov edi, 0x104
test eax, eax
je 0x10084f1d
push 0x1015b020
jmp 0x10084f39
push 0x1015b034
jmp 0x10084f39
test ebx, ebx
je 0x10084f2f
push 0x1016da38
jmp 0x10084f34
push 0x1015aff4
mov edi, 0x104
call fcn.10068740
add esp, 4
cmp dword [esp + 0x38], 0
je 0x10084f54
push str._64_Bit
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x36c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10127db1
add esp, 0x364
ret