Function at 0x10080010
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101dcf10
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
push edi
mov eax, dword [0x1025e344]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
xor esi, esi
mov eax, dword [str.Windows10]
test eax, eax
je 0x10080451
push eax
push dword [ebp + 8]
call fcn.101a8c54
add esp, 8
test eax, eax
jne 0x100800ee
cmp dword [0x1025e160], esi
je 0x100800e3
push str.ntdll.dll
mov dword [ebp - 0x14], esi
xor edi, edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x100800d9
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x100800af
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x14]
push ecx
call eax
movzx eax, word [ebp - 0x10]
mov edi, 1
mov dword [ebp - 0x10], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x100800d9
mov eax, dword [ebp - 0x14]
cmp eax, 6
jne 0x100800ca
cmp dword [ebp - 0x18], 4
je 0x100800cf
jmp 0x100800d9
cmp eax, 0xa
jb 0x100800d9
mov dword [0x10268b68], 1
mov dword [0x1025e160], 0
mov esi, dword [0x10268b68]
jmp 0x1008041c
mov eax, dword [str.Windows8]
test eax, eax
je 0x1008045b
push eax
push dword [ebp + 8]
call fcn.101a8c54
add esp, 8
test eax, eax
jne 0x10080197
cmp dword [0x1025e22c], esi
je 0x1008018c
push str.ntdll.dll
mov dword [ebp - 0x18], esi
xor edi, edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x10080182
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1008015d
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 edi, 1
mov dword [ebp - 0x10], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x10080182
cmp dword [ebp - 0x18], 6
jne 0x10080176
cmp dword [ebp - 0x14], 2
jae 0x10080178
jmp 0x10080182
jbe 0x10080182
mov dword [0x10268b94], 1
mov dword [0x1025e22c], 0
mov esi, dword [0x10268b94]
jmp 0x1008041c
mov eax, dword [str.WindowsVista]
test eax, eax
je 0x10080465
push eax
push dword [ebp + 8]
call fcn.101a8c54
add esp, 8
test eax, eax
jne 0x1008023c
cmp dword [0x1025e094], esi
je 0x10080231
push str.ntdll.dll
mov dword [ebp - 0x18], esi
xor edi, edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x10080227
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10080206
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 edi, 1
mov dword [ebp - 0x10], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x10080227
mov eax, dword [0x10268af0]
mov ecx, 1
cmp dword [ebp - 0x18], 6
cmovae eax, ecx
mov dword [0x10268af0], eax
mov dword [0x1025e094], 0
mov esi, dword [0x10268af0]
jmp 0x1008041c
mov eax, dword [str.Windows8.1]
test eax, eax
je 0x1008046f
push eax
push dword [ebp + 8]
call fcn.101a8c54
add esp, 8
test eax, eax
jne 0x100802e5
cmp dword [0x1025e234], esi
je 0x100802da
push str.ntdll.dll
mov dword [ebp - 0x18], esi
xor edi, edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x100802d0
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x100802ab
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 edi, 1
mov dword [ebp - 0x10], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x100802d0
cmp dword [ebp - 0x18], 6
jne 0x100802c4
cmp dword [ebp - 0x14], 3
jae 0x100802c6
jmp 0x100802d0
jbe 0x100802d0
mov dword [0x10268b9c], 1
mov dword [0x1025e234], 0
mov esi, dword [0x10268b9c]
jmp 0x1008041c
push dword [0x1025e200]
lea ecx, [ebp + 8]
call fcn.1000ce60
test eax, eax
jne 0x10080383
cmp dword [0x1025e224], esi
je 0x10080378
push str.ntdll.dll
mov dword [ebp - 0x18], esi
xor edi, edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x1008036e
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10080349
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 edi, 1
mov dword [ebp - 0x10], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x1008036e
cmp dword [ebp - 0x18], 6
jne 0x10080362
cmp dword [ebp - 0x14], 1
jae 0x10080364
jmp 0x1008036e
jbe 0x1008036e
mov dword [0x10268b8c], 1
mov dword [0x1025e224], 0
mov esi, dword [0x10268b8c]
jmp 0x1008041c
push dword [0x1025e208]
lea ecx, [ebp + 8]
call fcn.1000ce60
test eax, eax
jne 0x1008041c
cmp dword [0x1025e218], esi
je 0x10080416
push str.ntdll.dll
mov dword [ebp - 0x18], esi
xor edi, edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x1008040c
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x100803e7
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 edi, 1
mov dword [ebp - 0x10], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x1008040c
cmp dword [ebp - 0x18], 5
jne 0x10080400
cmp dword [ebp - 0x14], 1
jae 0x10080402
jmp 0x1008040c
jbe 0x1008040c
mov dword [0x10268b80], 1
mov dword [0x1025e218], 0
mov esi, dword [0x10268b80]
mov dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov edi, dword [ebp + 8]
add edi, 0xfffffff0
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x1008043e
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.10004040
push 0x80004005
call fcn.10004040
push 0x80004005
call fcn.10004040
push 0x80004005
call fcn.10004040
int3