Function at 0x10002c70
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1e34
call fcn.1000b940
mov dword [ebp - 0x1e34], ecx
mov eax, dword [ebp - 0x1e34]
mov byte [eax], 0
mov ecx, dword [ebp - 0x1e34]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x1e34]
mov byte [edx + 8], 0
mov eax, dword [ebp - 0x1e34]
mov byte [eax + 9], 0
mov ecx, dword [ebp - 0x1e34]
mov byte [ecx + 0xa], 0
mov edx, dword [ebp - 0x1e34]
mov byte [edx + 0xb], 0
mov eax, dword [ebp - 0x1e34]
add eax, 0x20
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x3a8]
mov dword [ecx + 0x100], 0x80000002
xor edx, edx
je 0x10002cf3
push 0
mov eax, dword [ebp - 0x3a8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [ebp - 0x1e34]
mov edx, dword [ebp + 0xc]
mov dword [ecx + 0x124], edx
mov eax, dword [ebp - 0x1e34]
mov dword [eax + 0x42c], 0
mov ecx, dword [ebp - 0x1e34]
mov byte [ecx + 0x430], 0
mov edx, dword [ebp - 0x1e34]
mov dword [edx + 0x434], 0
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x438
call fcn.100078d0
mov ecx, dword [ebp - 0x1e34]
add ecx, 0xb1c
call fcn.100078d0
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x1200
call fcn.100078d0
mov eax, dword [ebp - 0x1e34]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x18e4], ecx
push 0x1000e080
lea ecx, [ebp - 0x300]
call fcn.10002a50
mov dword [ebp - 0xc8c], eax
cmp dword [ebp - 0xc8c], 0
je 0x10002da7
mov edx, dword [ebp - 0xc8c]
push edx
mov eax, dword [ebp - 0x1e34]
add eax, 0x20
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str.___7vz:_19_930j__2
lea ecx, [ebp - 0x300]
call fcn.10002a50
mov dword [ebp - 0x155c], eax
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x438
mov dword [ebp - 0x1558], ecx
mov edx, dword [ebp - 0x155c]
push edx
mov eax, dword [ebp - 0x1558]
mov ecx, dword [eax + 0x1e4]
imul ecx, ecx, 0xff
mov edx, dword [ebp - 0x1558]
lea eax, [edx + ecx + 0x1e8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [ebp - 0x1558]
mov edx, dword [ecx + 0x1e4]
add edx, 1
mov eax, dword [ebp - 0x1558]
mov dword [eax + 0x1e4], edx
push 0x1000e2f8
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x128
call fcn.10002a50
mov dword [ebp - 0x1e2c], eax
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x438
mov dword [ebp - 0x1e28], ecx
mov edx, dword [ebp - 0x1e2c]
push edx
mov eax, dword [ebp - 0x1e28]
mov ecx, dword [eax + 0x1e4]
imul ecx, ecx, 0xff
mov edx, dword [ebp - 0x1e28]
lea eax, [edx + ecx + 0x1e8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [ebp - 0x1e28]
mov edx, dword [ecx + 0x1e4]
add edx, 1
mov eax, dword [ebp - 0x1e28]
mov dword [eax + 0x1e4], edx
push 0x10
mov ecx, dword [ebp - 0x1e34]
add ecx, 0xc
push ecx
call fcn.1000ac30
add esp, 8
mov ecx, dword [ebp - 0x1e34]
call fcn.10006560
mov edx, dword [ebp - 0x1e34]
mov byte [edx + 0x1c], 0
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x20
call fcn.10007880
movzx eax, al
test eax, eax
jne 0x10002ee5
mov ecx, dword [ebp - 0x1e34]
mov byte [ecx + 0x1c], 1
mov edx, dword [ebp - 0x1e34]
mov dword [edx + 0x120], 0x80000001
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
sbb eax, eax
neg eax
mov ecx, dword [ebp - 0x1e34]
mov byte [ecx + 8], al
mov edx, dword [ebp - 0x1e34]
movzx eax, byte [edx + 8]
test eax, eax
je 0x10002f4f
push 0x9c
lea ecx, [ebp - 0x3a0]
push ecx
call fcn.1000ac30
add esp, 8
mov dword [ebp - 0x3a0], 0x9c
lea edx, [ebp - 0x3a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x10002f4f
xor eax, eax
cmp dword [ebp - 0x39c], 6
sete al
mov ecx, dword [ebp - 0x1e34]
mov byte [ecx + 9], al
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov ecx, dword [ebp - 0x1e34]
mov dword [ecx + 0x428], eax
mov edx, dword [ebp - 0x1e34]
add edx, 0x42c
push edx
push 0x1000e2c0
lea ecx, [ebp - 0x300]
call fcn.10002a50
push eax
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x20
call fcn.100077d0
movzx eax, al
test eax, eax
jne 0x10003042
mov ecx, dword [ebp - 0x1e34]
call fcn.10005fc0
mov ecx, dword [ebp - 0x1e34]
mov dword [ecx + 0x42c], eax
mov edx, dword [ebp - 0x1e34]
mov byte [edx + 0x430], 1
mov eax, dword [ebp - 0x1e34]
mov ecx, dword [eax + 0x42c]
push ecx
push 0x1000e2c0
lea ecx, [ebp - 0x300]
call fcn.10002a50
push eax
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x20
call fcn.10007830
lea eax, [ebp - 0x3a4]
push eax
push 0x1000e2c0
lea ecx, [ebp - 0x300]
call fcn.10002a50
push eax
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x20
call fcn.100077d0
push 0x1000e370
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x128
call fcn.10002a50
push eax
mov edx, dword [ebp - 0x1e34]
add edx, 0x20
push edx
mov ecx, dword [ebp - 0x1e34]
call fcn.10006990
push 0x1000e31c
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x128
call fcn.10002a50
push eax
mov eax, dword [ebp - 0x1e34]
add eax, 0x20
push eax
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x438
call fcn.10007950
push 0x1000e324
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x128
call fcn.10002a50
push eax
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x20
push ecx
mov ecx, dword [ebp - 0x1e34]
add ecx, 0xb1c
call fcn.10007950
push 0x1000e32c
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x128
call fcn.10002a50
push eax
mov edx, dword [ebp - 0x1e34]
add edx, 0x20
push edx
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x1200
call fcn.10007950
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x1e34]
add ecx, 0x18e8
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [ebp - 0x1e34]
mov dword [edx + 0x19ec], 0
mov eax, dword [ebp - 0x1e34]
mov esp, ebp
pop ebp
ret 8