Function at 0x10080480
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 0x100808d7
push eax
push dword [ebp + 8]
call fcn.101a8c54
add esp, 8
test eax, eax
jne 0x10080568
cmp dword [0x1025e238], esi
je 0x1008055d
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 0x10080553
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10080523
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 0x10080553
mov eax, dword [ebp - 0x18]
cmp eax, 6
jne 0x1008053e
cmp dword [ebp - 0x14], 4
je 0x10080549
jmp 0x10080553
cmp eax, 0xa
jne 0x10080553
cmp dword [ebp - 0x14], 0
jne 0x10080553
mov dword [0x10268ba0], 1
mov dword [0x1025e238], 0
mov esi, dword [0x10268ba0]
jmp 0x100808a2
mov eax, dword [str.Windows8]
test eax, eax
je 0x100808e1
push eax
push dword [ebp + 8]
call fcn.101a8c54
add esp, 8
test eax, eax
jne 0x10080613
cmp dword [0x1025e228], esi
je 0x10080608
push str.ntdll.dll
mov dword [ebp - 0x18], esi
xor edi, edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x100805fe
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x100805d7
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x18]
push ecx
call eax
movzx eax, word [ebp - 0x14]
mov edi, 1
mov dword [ebp - 0x14], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x100805fe
cmp dword [ebp - 0x18], 6
jne 0x100805fe
mov eax, dword [0x10268b90]
mov ecx, 1
cmp dword [ebp - 0x10], 2
cmove eax, ecx
mov dword [0x10268b90], eax
mov dword [0x1025e228], 0
mov esi, dword [0x10268b90]
jmp 0x100808a2
mov eax, dword [str.WindowsVista]
test eax, eax
je 0x100808eb
push eax
push dword [ebp + 8]
call fcn.101a8c54
add esp, 8
test eax, eax
jne 0x100806be
cmp dword [0x1025e21c], esi
je 0x100806b3
push str.ntdll.dll
mov dword [ebp - 0x18], esi
xor edi, edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x100806a9
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10080682
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x18]
push ecx
call eax
movzx eax, word [ebp - 0x14]
mov edi, 1
mov dword [ebp - 0x14], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x100806a9
cmp dword [ebp - 0x18], 6
jne 0x100806a9
mov eax, dword [0x10268b84]
mov ecx, 1
cmp dword [ebp - 0x10], 0
cmove eax, ecx
mov dword [0x10268b84], eax
mov dword [0x1025e21c], 0
mov esi, dword [0x10268b84]
jmp 0x100808a2
mov eax, dword [str.Windows8.1]
test eax, eax
je 0x100808f5
push eax
push dword [ebp + 8]
call fcn.101a8c54
add esp, 8
test eax, eax
jne 0x10080769
cmp dword [0x1025e230], esi
je 0x1008075e
push str.ntdll.dll
mov dword [ebp - 0x18], esi
xor edi, edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x10080754
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1008072d
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x18]
push ecx
call eax
movzx eax, word [ebp - 0x14]
mov edi, 1
mov dword [ebp - 0x14], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x10080754
cmp dword [ebp - 0x18], 6
jne 0x10080754
mov eax, dword [0x10268b98]
mov ecx, 1
cmp dword [ebp - 0x10], 3
cmove eax, ecx
mov dword [0x10268b98], eax
mov dword [0x1025e230], 0
mov esi, dword [0x10268b98]
jmp 0x100808a2
push dword [0x1025e200]
lea ecx, [ebp + 8]
call fcn.1000ce60
test eax, eax
jne 0x10080808
cmp dword [0x1025e220], esi
je 0x100807fd
push str.ntdll.dll
mov dword [ebp - 0x18], esi
xor edi, edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x100807f3
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x100807cd
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x18]
push ecx
call eax
movzx eax, word [ebp - 0x14]
mov edi, 1
mov dword [ebp - 0x14], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x100807f3
cmp dword [ebp - 0x18], 6
jne 0x100807f3
mov eax, dword [0x10268b88]
mov ecx, 1
cmp dword [ebp - 0x10], ecx
cmove eax, ecx
mov dword [0x10268b88], eax
mov dword [0x1025e220], 0
mov esi, dword [0x10268b88]
jmp 0x100808a2
push dword [0x1025e208]
lea ecx, [ebp + 8]
call fcn.1000ce60
test eax, eax
jne 0x100808a2
cmp dword [0x1025e214], esi
je 0x1008089c
push str.ntdll.dll
mov dword [ebp - 0x18], esi
xor edi, edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x10080892
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1008086c
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x18]
push ecx
call eax
movzx eax, word [ebp - 0x14]
mov edi, 1
mov dword [ebp - 0x14], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x10080892
cmp dword [ebp - 0x18], 5
jne 0x10080892
mov eax, dword [0x10268b7c]
mov ecx, 1
cmp dword [ebp - 0x10], ecx
cmove eax, ecx
mov dword [0x10268b7c], eax
mov dword [0x1025e214], 0
mov esi, dword [0x10268b7c]
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 0x100808c4
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