Function at 0x1000c400
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa8
mov eax, dword [0x1006fe14]
push ebx
mov bl, 0xff
push ebp
xor ebp, ebp
push esi
xor esi, esi
cmp eax, ebp
push edi
mov dword [esp + 0x14], esi
mov byte [0x10072920], bl
mov byte [0x10072921], bl
mov byte [0x10072922], 0
mov byte [0x10072923], 0
mov byte [0x10072924], 0
mov byte [0x10072925], 3
mov byte [0x10072926], 0
mov byte [0x10072927], 0
mov byte [0x10072928], 1
mov byte [0x10072929], 5
mov byte [0x1007292a], 1
mov byte [0x1007292b], 1
mov byte [0x1007292c], 0
mov byte [0x1007292d], 0x28
mov byte [0x1007292e], bl
mov byte [0x1007292f], bl
mov byte [0x10072930], bl
mov byte [0x10072931], bl
mov byte [0x10072932], bl
mov byte [0x10072933], bl
mov byte [0x10072934], 0
mov byte [0x10072935], 0
mov byte [0x10072936], bl
mov byte [0x10072937], 0
mov byte [0x10072938], 0
mov byte [0x10072939], bl
mov word [0x1007293a], 0x50
mov dword [0x1007293c], ebp
mov dword [0x10072940], ebp
mov dword [0x10072944], ebp
mov dword [0x10072948], ebp
mov byte [0x10072470], bl
mov byte [0x10072471], bl
mov byte [0x10072472], 0
mov byte [0x10072473], 0
mov byte [0x10072474], 0
mov byte [0x10072475], bl
mov byte [0x10072476], 0
mov byte [0x10072477], bl
mov byte [0x10072478], bl
mov byte [0x10072479], bl
mov byte [0x1007247a], bl
mov byte [0x1007247b], bl
mov byte [0x1007247c], bl
je 0x1000ca5d
xor eax, eax
mov dword [esp + 0x20], 0x94
mov ecx, 0x24
lea edi, [esp + 0x24]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [esp + 0x30], 2
jne 0x1000c578
cmp dword [esp + 0x24], 4
je 0x1000ca5d
call fcn.10001091
cmp al, bl
je 0x1000ca5d
mov cx, word [0x100725c0]
movzx eax, al
cmp eax, 4
mov ebx, 9
ja case.default.0x1000c59d
jmp dword [eax*4 + 0x1000ca68]
cmp cx, 6
jne 0x1000c5f4
mov byte [0x10072921], 0xa
mov edi, dword [esp + 0x14]
movzx eax, byte [0x10072921]
dec eax
cmp eax, ebx
mov dword [0x10072968], 0x100011cc
mov dword [0x10072978], 0x10001465
mov dword [0x10072974], 0x10001384
mov dword [0x10072970], 0x1000107d
ja case.default.0x1000c5ed
jmp dword [eax*4 + 0x1000ca7c]
cmp cx, 3
je 0x1000c61d
cmp cx, 7
je 0x1000c61d
cmp cx, 5
jne 0x1000c60f
mov byte [0x10072921], 4
jmp 0x1000c67d
cmp cx, 1
jne 0x1000c61d
mov byte [0x10072921], cl
jmp 0x1000c67d
mov byte [0x10072921], 2
jmp case.default.0x1000c59d
mov byte [0x10072921], 3
jmp case.default.0x1000c59d
cmp cx, 6
jne 0x1000c640
mov byte [0x10072921], bl
jmp 0x1000c72c
mov byte [0x10072921], 5
jmp case.default.0x1000c59d
mov ax, word [0x100725c2]
cmp ax, 0x514c
je 0x1000c664
cmp ax, 0x4242
je 0x1000c664
mov byte [0x10072921], 8
jmp case.default.0x1000c59d
mov byte [0x10072921], bl
jmp case.default.0x1000c59d
mov byte [0x10072921], 7
cmp cx, 6
je 0x1000c720
push 0xa0
call fcn.10001573
push 0xd0
mov dword [esp + 0x24], eax
call fcn.10001573
mov dword [esp + 0x20], eax
mov al, byte [0x10072921]
add esp, 8
cmp al, 6
je 0x1000c6b1
cmp al, 5
je 0x1000c6b1
cmp al, 7
je 0x1000c6b1
cmp al, 8
jne 0x1000c6c2
push 0xbc
call fcn.10001573
add esp, 4
mov edi, eax
jmp 0x1000c6c6
mov edi, dword [esp + 0x14]
push 0xa0
call fcn.10001573
or eax, 0x8000000
push eax
push 0xa0
call fcn.10001564
mov al, byte [0x10072921]
add esp, 0xc
cmp al, 3
jne 0x1000c5b5
cmp dword [0x1006fe54], ebp
jne 0x1000ca5d
push 2
call fcn.10001096
add esp, 4
mov byte [0x10072928], 1
mov byte [0x10072929], 0
mov byte [0x1007292a], 0
jmp 0x1000c5b5
cmp byte [0x10072921], bl
jne 0x1000c5b1
push 0x90
call fcn.10001573
push 0x94
mov dword [esp + 0x20], eax
call fcn.10001573
add esp, 8
mov edi, eax
jmp 0x1000c5b5
push ebp
call fcn.10001573
push 0x7c
mov esi, eax
call fcn.10001573
and eax, 0x7fffffff
push eax
push 0x7c
call fcn.10001564
push esi
push ebp
call fcn.10001564
push 0xfc60
call fcn.10001573
and eax, 0x7fffffff
push eax
push 0xfc60
call fcn.10001564
mov esi, dword [esp + 0x38]
add esp, 0x24
mov dword [0x10072964], 0x100015eb
mov dword [0x1007296c], 0x100010eb
jmp case.default.0x1000c5ed
mov dword [0x10072964], 0x100015f5
mov dword [0x1007296c], 0x100010f0
jmp case.default.0x1000c5ed
mov dword [0x10072964], 0x100015ff
mov dword [0x1007296c], 0x100010fa
mov dword [0x10072968], 0x100017d0
mov dword [0x10072978], 0x100011b8
mov dword [0x10072974], 0x10001307
mov dword [0x10072970], 0x10001136
jmp case.default.0x1000c5ed
push 0x40
push 0xbe
mov dword [0x10072964], 0x100015ff
mov dword [0x1007296c], 0x100010fa
call fcn.10001262
add esp, 8
jmp case.default.0x1000c5ed
push 0x40
push 0xbe
mov dword [0x10072964], 0x100015f5
mov dword [0x1007296c], 0x100010f0
call fcn.10001262
add esp, 8
jmp case.default.0x1000c5ed
push 0xc0
push 0xbe
mov dword [0x10072964], 0x10001069
mov dword [0x1007296c], 0x10001771
call fcn.10001262
add esp, 8
jmp case.default.0x1000c5ed
mov dword [0x10072964], 0x1000106e
mov dword [0x1007296c], 0x10001776
jmp case.default.0x1000c5ed
mov dword [0x10072964], 0x10001064
mov dword [0x1007296c], 0x10001785
jmp case.default.0x1000c5ed
mov dword [0x10072968], 0x100013e3
mov dword [0x10072978], 0x100011d6
mov dword [0x10072974], 0x10001361
mov dword [0x10072970], 0x100013d4
jmp case.default.0x1000c5ed
mov dword [0x10072964], 0x10001208
mov dword [0x1007296c], 0x100012d5
call fcn.100016d1
test eax, eax
je 0x1000c8f5
mov esi, 1
call fcn.1000100a
test eax, eax
je 0x1000c903
mov esi, 1
call fcn.10001677
test eax, eax
je 0x1000c911
mov esi, 1
call fcn.10001258
test eax, eax
je 0x1000c924
mov esi, 1
call fcn.100013a2
cmp word [0x100725c0], 6
mov cl, byte [0x10072933]
mov al, byte [0x10072934]
mov dl, byte [0x10072920]
mov byte [0x10072470], cl
mov cl, byte [0x10072935]
mov byte [0x10072472], al
mov al, byte [0x10072936]
mov byte [0x10072471], dl
mov dl, byte [0x10072937]
mov byte [0x10072473], cl
mov cl, byte [0x10072938]
mov byte [0x10072475], al
mov al, byte [0x1007292e]
mov byte [0x10072474], dl
mov dl, byte [0x10072939]
mov byte [0x10072476], cl
mov cl, byte [0x1007292f]
mov byte [0x10072478], al
mov al, byte [0x10072931]
mov byte [0x10072477], dl
mov dl, byte [0x10072930]
mov byte [0x10072479], cl
mov cl, byte [0x10072932]
mov byte [0x1007247b], al
mov al, byte [0x10072921]
mov byte [0x1007247a], dl
mov byte [0x1007247c], cl
je 0x1000ca28
cmp al, 3
jne 0x1000c9d0
call fcn.10001104
mov edx, dword [esp + 0x1c]
push edx
push 0xa0
call fcn.10001564
mov eax, dword [esp + 0x20]
push eax
push 0xd0
call fcn.10001564
mov al, byte [0x10072921]
add esp, 0x10
cmp al, 6
je 0x1000ca06
cmp al, 5
je 0x1000ca06
cmp al, 7
je 0x1000ca06
cmp al, 8
jne 0x1000ca49
push edi
push 0xbc
call fcn.10001564
add esp, 8
mov dword [0x1006fe28], 1
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp al, bl
jne 0x1000ca49
mov ecx, dword [esp + 0x18]
push ecx
push 0x90
call fcn.10001564
push edi
push 0x94
call fcn.10001564
add esp, 0x10
mov dword [0x1006fe28], 1
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
xor eax, eax
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret