Function at 0x1002d636
Capabilities:
Check os version

Disassembly:
push ecx
push ecx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x18]
push edi
mov edi, 0x11c
push edi
xor ebp, ebp
push ebp
push esi
call fcn.10031d30
add esp, 0xc
push 2
pop eax
xor ebx, ebx
inc ebx
push ebx
push eax
push ebp
mov dword [esi], edi
mov edi, dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
push ebp
mov dword [esi + 0x10], eax
call edi
push ebx
push ebx
push edx
push eax
call edi
push edx
push eax
push 3
mov dword [esi + 8], ebp
mov ebp, dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
push esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esi + 4], 5
call ebp
cmp eax, ebx
jne 0x1002d734
push ebx
push 0x20
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
and word [esi + 0x114], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
push dword [esp + 0x14]
push dword [esp + 0x14]
push 0x23
push esi
call ebp
cmp eax, ebx
je 0x1002d6dc
inc word [esi + 0x114]
cmp word [esi + 0x114], 0xa
jb 0x1002d6b3
xor eax, eax
jmp 0x1002dd6d
push ebx
push 0x40
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
push edx
mov edi, eax
push edi
push 0x63
push esi
mov dword [esp + 0x24], edx
mov word [esi + 0x118], 0x80
call ebp
cmp eax, ebx
jne 0x1002d70a
mov eax, ebx
jmp 0x1002dd6d
push dword [esp + 0x14]
mov word [esi + 0x118], 2
push edi
push 0x63
push esi
call ebp
cmp eax, ebx
mov eax, ebx
je 0x1002dd6d
and word [esi + 0x118], 0
jmp 0x1002dd6d
push 0x11c
push 0
push esi
call fcn.10031d30
add esp, 0xc
push 2
pop eax
push ebx
push eax
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], eax
call edi
push ebx
push ebx
push edx
push eax
call edi
push edx
push eax
push 3
push esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esi + 4], 5
mov dword [esi + 8], ebx
call ebp
cmp eax, ebx
jne 0x1002d7dc
push ebx
push 0x20
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
and word [esi + 0x114], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
push dword [esp + 0x14]
push dword [esp + 0x14]
push 0x23
push esi
call ebp
cmp eax, ebx
je 0x1002d7bf
inc word [esi + 0x114]
cmp word [esi + 0x114], 0xa
jb 0x1002d798
jmp 0x1002d6d5
push ebx
push 0x40
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
push edx
mov word [esi + 0x118], 0x200
push eax
jmp 0x1002d718
push 0x11c
push 0
push esi
call fcn.10031d30
add esp, 0xc
push 2
pop eax
push ebx
push eax
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], eax
call edi
push ebx
push ebx
push edx
push eax
call edi
push edx
push eax
push 3
push esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esi + 4], 5
mov dword [esi + 8], 2
call ebp
cmp eax, ebx
jne 0x1002d991
push ebx
push 0x80
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
push edx
push eax
push 0x83
push esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov byte [esi + 0x11a], bl
call ebp
cmp eax, ebx
push ebx
push 0x20
push dword [esp + 0x1c]
push dword [esp + 0x1c]
jne 0x1002d89d
call edi
and word [esi + 0x114], 0
mov edi, eax
mov dword [esp + 0x14], edx
push dword [esp + 0x14]
push edi
push 0xa3
push esi
call ebp
cmp eax, ebx
je 0x1002d703
inc word [esi + 0x114]
cmp word [esi + 0x114], 0xa
jb 0x1002d872
jmp 0x1002d703
mov byte [esi + 0x11a], 3
call edi
and word [esi + 0x114], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
push dword [esp + 0x14]
push dword [esp + 0x14]
push 0xa3
push esi
call ebp
cmp eax, ebx
je 0x1002d8e0
inc word [esi + 0x114]
cmp word [esi + 0x114], 0xa
jb 0x1002d8b6
jmp 0x1002d6d5
push ebx
push 0x40
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
and word [esi + 0x118], 0
push edx
push eax
mov edi, 0xe3
push edi
push esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
call ebp
cmp eax, ebx
jne 0x1002d920
push 0x59
mov byte [esi + 0x11a], 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
jmp 0x1002d703
push dword [esp + 0x14]
mov word [esi + 0x118], 2
push dword [esp + 0x14]
push edi
push esi
call ebp
cmp eax, ebx
je 0x1002d703
push dword [esp + 0x14]
mov word [esi + 0x118], 0x80
push dword [esp + 0x14]
push edi
push esi
call ebp
cmp eax, ebx
je 0x1002d703
push dword [esp + 0x14]
mov word [esi + 0x118], 0x400
push dword [esp + 0x14]
push edi
push esi
call ebp
cmp eax, ebx
je 0x1002d703
mov word [esi + 0x118], 0x800
push dword [esp + 0x14]
push dword [esp + 0x14]
push edi
push esi
call ebp
jmp 0x1002d703
push 0x11c
push 0
push esi
call fcn.10031d30
add esp, 0xc
push 2
pop eax
push ebx
push eax
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], eax
call edi
push ebx
push ebx
push edx
push eax
call edi
and dword [esi + 8], 0
push edx
push eax
push 3
push esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esi + 4], 6
call ebp
cmp eax, ebx
jne 0x1002db19
push ebx
push 0x20
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
and word [esi + 0x114], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], 0x23
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x24]
push esi
call ebp
cmp eax, ebx
jne 0x1002da62
push ebx
push 0x80
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
or dword [esp + 0x1c], 0x80
push edx
push eax
push dword [esp + 0x24]
mov dword [esp + 0x1c], eax
push esi
mov dword [esp + 0x24], edx
mov byte [esi + 0x11a], bl
call ebp
cmp eax, ebx
je 0x1002da78
push dword [esp + 0x14]
mov byte [esi + 0x11a], 3
push dword [esp + 0x14]
push dword [esp + 0x24]
push esi
call ebp
cmp eax, ebx
je 0x1002dac0
inc word [esi + 0x114]
cmp word [esi + 0x114], 0xa
jb 0x1002da02
jmp 0x1002d6d5
push ebx
push 0x40
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
or dword [esp + 0x1c], 0x40
and word [esi + 0x118], 0
push edx
mov edi, eax
push edi
push dword [esp + 0x24]
mov dword [esp + 0x20], edx
push esi
call ebp
cmp eax, ebx
je 0x1002d703
mov word [esi + 0x118], 0x200
push dword [esp + 0x14]
push edi
push dword [esp + 0x24]
jmp 0x1002d989
push ebx
push 0x40
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
or dword [esp + 0x1c], 0x40
and word [esi + 0x118], 0
push edx
mov edi, eax
push edi
push dword [esp + 0x24]
mov dword [esp + 0x20], edx
push esi
call ebp
cmp eax, ebx
je 0x1002d703
push dword [esp + 0x14]
mov word [esi + 0x118], 2
push edi
push dword [esp + 0x24]
push esi
call ebp
cmp eax, ebx
je 0x1002d703
mov word [esi + 0x118], 0x80
jmp 0x1002dab2
push 0x11c
push 0
push esi
call fcn.10031d30
add esp, 0xc
push 2
pop eax
push ebx
push eax
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], eax
call edi
push ebx
push ebx
push edx
push eax
call edi
push edx
push eax
push 3
push esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esi + 4], 6
mov dword [esi + 8], ebx
call ebp
cmp eax, ebx
jne 0x1002dbb4
push ebx
push 0x20
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
and word [esi + 0x114], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
push dword [esp + 0x14]
push dword [esp + 0x14]
push 0x23
push esi
call ebp
cmp eax, ebx
je 0x1002dc43
inc word [esi + 0x114]
cmp word [esi + 0x114], 0xa
jb 0x1002db7d
jmp 0x1002d6d5
mov byte [esi + 0x11a], 3
jmp 0x1002d980
push 0x11c
push 0
push esi
call fcn.10031d30
add esp, 0xc
push 2
pop eax
push ebx
push eax
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], eax
call edi
push ebx
push ebx
push edx
push eax
call edi
push edx
push eax
push 3
push esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esi + 4], 6
mov dword [esi + 8], 2
call ebp
cmp eax, ebx
jne 0x1002dc79
push ebx
push 0x20
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
and word [esi + 0x114], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
push dword [esp + 0x14]
push dword [esp + 0x14]
push 0x23
push esi
call ebp
cmp eax, ebx
je 0x1002dc43
inc word [esi + 0x114]
cmp word [esi + 0x114], 0xa
jb 0x1002dc1c
jmp 0x1002d6d5
push ebx
push 0x80
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
push edx
push eax
mov edi, 0xa3
push edi
push esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
mov byte [esi + 0x11a], bl
call ebp
cmp eax, ebx
jne 0x1002dba8
jmp 0x1002d703
push 0x11c
push 0
push esi
call fcn.10031d30
add esp, 0xc
push 2
pop eax
push ebx
push eax
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], eax
call edi
push ebx
push ebx
push edx
push eax
call edi
push 3
pop ecx
push edx
push eax
push ecx
push esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esi + 4], 6
mov dword [esi + 8], ecx
call ebp
cmp eax, ebx
jne 0x1002dd28
push ebx
push 0x20
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
and word [esi + 0x114], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
push dword [esp + 0x14]
push dword [esp + 0x14]
push 0x23
push esi
call ebp
cmp eax, ebx
je 0x1002dd06
inc word [esi + 0x114]
cmp word [esi + 0x114], 0xa
jb 0x1002dcdf
jmp 0x1002d6d5
push ebx
push 0x80
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call edi
push edx
push eax
mov byte [esi + 0x11a], bl
push 0xa3
jmp 0x1002d989
push 0x11c
push 0
push esi
call fcn.10031d30
add esp, 0xc
push 2
pop eax
push 3
push eax
push 0
push 6
mov dword [esi], 0x11c
mov dword [esi + 0x10], eax
call edi
push 3
push ebx
push edx
push eax
call edi
push 3
pop ecx
push edx
push eax
push ecx
push esi
mov dword [esi + 4], 6
mov dword [esi + 8], ecx
call ebp
dec eax
neg eax
sbb eax, eax
inc eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
ret 4