Function at 0x100119c0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x1006b5d8]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
call fcn.100118c0
push 0x9c
mov edi, eax
lea eax, [ebp - 0x120]
push 0
push eax
call fcn.1003ae80
add esp, 0xc
lea ecx, [ebp - 0x120]
push ecx
mov dword [ebp - 0x120], 0x9c
call dword [sym.imp.kernel32.dll_GetVersionExA]
mov esi, dword [sym.imp.kernel32.dll_lstrcpy]
push 0x10058c8c
lea edx, [ebp - 0x84]
push edx
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 0
mov byte [eax + 0x1800], 1
mov ecx, dword [ebp - 0x110]
sub ecx, 0
je 0x10011c57
dec ecx
je 0x10011ba2
dec ecx
jne 0x10011c78
mov ecx, dword [ebp - 0x11c]
add ecx, 0xfffffffd
cmp ecx, 3
ja case.default.0x10011a5f
jmp dword [ecx*4 + 0x10011cd8]
push 0x10058c7c
lea eax, [ebp - 0x84]
push eax
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 3
mov byte [eax + 0x1800], 2
jmp 0x10011c78
push 0x10058c6c
lea ecx, [ebp - 0x84]
push ecx
jmp 0x10011a72
mov ecx, dword [ebp - 0x118]
sub ecx, 0
je 0x10011b18
dec ecx
je 0x10011ace
dec ecx
jne 0x10011c78
push 0x10058c48
lea edx, [ebp - 0x84]
push edx
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 7
jmp 0x10011c78
test dword [ebp - 0x88], 0x200
je 0x10011af9
push 0x10058c30
lea eax, [ebp - 0x84]
push eax
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 7
jmp 0x10011c78
push 0x10058c18
lea ecx, [ebp - 0x84]
push ecx
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 7
jmp 0x10011c78
push 0x10058c08
lea edx, [ebp - 0x84]
push edx
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 6
jmp 0x10011c78
mov eax, dword [ebp - 0x118]
sub eax, 0
je 0x10011b83
dec eax
je 0x10011b64
push 0x10058c8c
lea eax, [ebp - 0x84]
push eax
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 0xb
jmp 0x10011c78
push 0x10058bfc
lea ecx, [ebp - 0x84]
push ecx
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 0xa
jmp 0x10011c78
push 0x10058bec
lea edx, [ebp - 0x84]
push edx
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 9
jmp 0x10011c78
mov ecx, dword [ebp - 0x118]
test ecx, ecx
je 0x10011c3b
cmp ecx, 0xa
je 0x10011be4
cmp ecx, 0x5a
jne 0x10011c78
push 0x10058be0
lea ecx, [ebp - 0x84]
push ecx
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 4
mov byte [eax + 0x1800], 2
jmp 0x10011c78
lea edx, [ebp - 0x10c]
push edx
call dword [sym.imp.kernel32.dll_lstrlen]
test eax, eax
je 0x10011c18
push 0x10058bd0
lea eax, [ebp - 0x84]
push eax
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 5
mov byte [eax + 0x1800], 2
jmp 0x10011c78
push 0x10058bc4
lea ecx, [ebp - 0x84]
push ecx
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 5
mov byte [eax + 0x1800], 2
jmp 0x10011c78
push 0x10058bb8
lea edx, [ebp - 0x84]
push edx
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 2
jmp 0x10011c71
push 0x10058bac
lea eax, [ebp - 0x84]
push eax
call esi
mov eax, dword [0x1007e6bc]
mov byte [eax + 0x1c18], 1
mov byte [eax + 0x1800], 3
test edi, edi
je 0x10011c83
mov byte [eax + 0x1800], 2
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp - 0x118]
neg edi
sbb edi, edi
and edi, 0x20
add edi, 0x20
push edi
push ecx
mov ecx, dword [ebp - 0x11c]
push edx
push ecx
lea edx, [ebp - 0x10c]
push edx
lea ecx, [ebp - 0x84]
push ecx
push 0x10058b84
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [ebp - 4]
add esp, 0x20
pop edi
xor ecx, ebp
mov eax, 1
pop esi
call fcn.1003b1fb
mov esp, ebp
pop ebp
ret