Function at 0x10027e50
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1007e461
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x100a6204]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x20], 0
call fcn.10008280
mov ecx, eax
test ecx, ecx
je 0x100282da
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
mov dword [ebp - 4], 0
cmp dword [0x100a509c], 0
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x20], 1
je 0x10027f51
push str.ntdll.dll
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
call eax
mov edi, eax
test edi, edi
je 0x10027f42
push str.RtlGetNtVersionNumbers
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10027f1d
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x18]
push ecx
call eax
movzx eax, word [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 1
push edi
call ebx
cmp dword [ebp - 0x14], 0
je 0x10027f42
cmp dword [ebp - 0x18], 5
jne 0x10027f42
mov eax, dword [0x100a79b0]
mov ecx, 1
cmp dword [ebp - 0x1c], 1
cmove eax, ecx
mov dword [0x100a79b0], eax
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x100a509c], 0
cmp dword [0x100a79b0], 0
je 0x10027f66
push 2
push 0x10087684
jmp 0x100282bf
cmp dword [0x100a50dc], 0
je 0x10027ff7
push str.ntdll.dll
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], 0
call eax
mov edi, eax
test edi, edi
je 0x10027fed
push str.RtlGetNtVersionNumbers
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10027fc8
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x18]
push ecx
call eax
movzx eax, word [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 1
push edi
call ebx
cmp dword [ebp - 0x1c], 0
je 0x10027fed
cmp dword [ebp - 0x18], 6
jne 0x10027fed
mov eax, dword [0x100a79f4]
mov ecx, 1
cmp dword [ebp - 0x14], 0
cmove eax, ecx
mov dword [0x100a79f4], eax
mov dword [0x100a50dc], 0
cmp dword [0x100a79f4], 0
je 0x1002800c
push 5
push str.vista
jmp 0x100282bf
cmp dword [0x100a50e0], 0
je 0x100280a1
push str.ntdll.dll
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
je 0x10028097
push str.RtlGetNtVersionNumbers
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10028072
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x18]
push ecx
call eax
movzx eax, word [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 1
push edi
call ebx
cmp dword [ebp - 0x1c], 0
je 0x10028097
cmp dword [ebp - 0x18], 6
jne 0x10028097
mov eax, dword [0x100a79f8]
mov ecx, 1
cmp dword [ebp - 0x14], 1
cmove eax, ecx
mov dword [0x100a79f8], eax
mov dword [0x100a50e0], 0
cmp dword [0x100a79f8], 0
je 0x100280b6
push 4
push str.win7
jmp 0x100282bf
cmp dword [0x100a50e4], 0
je 0x1002814b
push str.ntdll.dll
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
je 0x10028141
push str.RtlGetNtVersionNumbers
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1002811c
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x18]
push ecx
call eax
movzx eax, word [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 1
push edi
call ebx
cmp dword [ebp - 0x1c], 0
je 0x10028141
cmp dword [ebp - 0x18], 6
jne 0x10028141
mov eax, dword [0x100a79fc]
mov ecx, 1
cmp dword [ebp - 0x14], 2
cmove eax, ecx
mov dword [0x100a79fc], eax
mov dword [0x100a50e4], 0
cmp dword [0x100a79fc], 0
je 0x10028160
push 4
push str.win8
jmp 0x100282bf
cmp dword [0x100a50e8], 0
je 0x100281f5
push str.ntdll.dll
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
je 0x100281eb
push str.RtlGetNtVersionNumbers
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x100281c6
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x18]
push ecx
call eax
movzx eax, word [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 1
push edi
call ebx
cmp dword [ebp - 0x1c], 0
je 0x100281eb
cmp dword [ebp - 0x18], 6
jne 0x100281eb
mov eax, dword [0x100a7a00]
mov ecx, 1
cmp dword [ebp - 0x14], 3
cmove eax, ecx
mov dword [0x100a7a00], eax
mov dword [0x100a50e8], 0
cmp dword [0x100a7a00], 0
je 0x1002820a
push 6
push str.win8.1
jmp 0x100282bf
cmp dword [0x100a50ec], 0
je 0x100282a8
push str.ntdll.dll
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
je 0x1002829e
push str.RtlGetNtVersionNumbers
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10028270
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x18]
push ecx
call eax
movzx eax, word [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 1
push edi
call ebx
cmp dword [ebp - 0x1c], 0
je 0x1002829e
mov eax, dword [ebp - 0x18]
cmp eax, 6
jne 0x10028289
cmp dword [ebp - 0x14], 4
je 0x10028294
jmp 0x1002829e
cmp eax, 0xa
jne 0x1002829e
cmp dword [ebp - 0x14], 0
jne 0x1002829e
mov dword [0x100a7a04], 1
mov dword [0x100a50ec], 0
cmp dword [0x100a7a04], 0
push 5
je 0x100282ba
push str.win10
jmp 0x100282bf
push str.other
mov ecx, esi
call fcn.1000f980
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.100074c0
int3