Function at 0x100b28b
Capabilities:
Check if file exists
Get file attributes
Get file version info
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x258
mov eax, dword [0x101200c]
push ebx
push esi
xor ebx, ebx
inc ebx
push ebx
xor esi, esi
push 0x1005c68
mov dword [ebp - 4], eax
mov word [ebp - 0x14], 4
mov word [ebp - 0x12], 0x48
mov word [ebp - 0x10], 0x83a
mov word [ebp - 0xe], si
mov word [ebp - 0xc], 4
mov word [ebp - 0xa], 0x48
mov word [ebp - 8], 0xc26
mov word [ebp - 6], si
mov dword [ebp - 0x230], ebx
call fcn.0100d0a2
mov eax, dword [0x1016c6c]
dec eax
jne 0x100b699
test byte [0x1016c5c], 2
je 0x100b699
lea eax, [ebp - 0x24]
push eax
push esi
call fcn.0100ca9f
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0100c817
cmp eax, esi
mov dword [ebp - 0x24c], eax
je 0x100b324
mov dword [ebp - 0x248], ebx
jmp 0x100b337
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0100c817
mov dword [ebp - 0x248], eax
push edi
push esi
mov edi, 0x104
push edi
lea eax, [ebp - 0x128]
push eax
push 0x10057f4
call fcn.01006f8a
test eax, eax
je 0x100b597
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x100b597
push ebx
push 0x1005c54
call fcn.0100d0a2
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x128]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov ebx, eax
cmp ebx, esi
je 0x100b594
push ebx
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, esi
mov dword [ebp - 0x240], eax
je 0x100b594
push eax
push ebx
push esi
lea eax, [ebp - 0x128]
push eax
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x100b57c
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x250]
push eax
push 0x1005c38
push dword [ebp - 0x240]
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x100b57c
push 4
pop ebx
cmp dword [ebp - 0x244], ebx
jb 0x100b57c
mov eax, dword [ebp - 0x250]
movzx ecx, word [eax + 2]
movzx eax, word [eax]
push ecx
push eax
push 0x1005c10
lea eax, [ebp - 0x22c]
push edi
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x22c]
push eax
push dword [ebp - 0x240]
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x100b57c
cmp dword [ebp - 0x244], esi
je 0x100b57c
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x254]
call fcn.0100ca44
cmp word [ebp - 0x1c], 8
jne 0x100b48f
cmp word [ebp - 0x1a], 5
jne 0x100b534
push esi
push 0x1005c0c
call fcn.0100d0a2
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x230], eax
jmp 0x100b53f
cmp word [ebp - 0x1c], 9
jb 0x100b534
push esi
push 0x1005c04
call fcn.0100d0a2
mov eax, dword [ebp - 0x24c]
cmp eax, esi
mov dword [ebp - 0x230], eax
jne 0x100b547
lea eax, [ebp - 0x234]
push eax
push 1
push esi
push dword [0x1016bc0]
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x100b554
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x238]
push eax
push esi
push esi
push 0x1005600
push dword [ebp - 0x234]
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x23c], ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x100b526
cmp dword [ebp - 0x238], esi
jbe 0x100b526
push esi
push 0x1005bf0
call fcn.0100d0a2
mov dword [ebp - 0x230], 1
push dword [ebp - 0x234]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x100b53f
push esi
push 0x1005bec
call fcn.0100d0a2
cmp dword [ebp - 0x230], esi
je 0x100b554
push esi
push 0x1005bd8
call fcn.0100d0a2
jmp 0x100b57c
push esi
push 0x1005bbc
call fcn.0100d0a2
push edi
push 0x30
push 0x4b6
push esi
call fcn.0100d141
cmp eax, 6
jne 0x100b57c
mov dword [ebp - 0x230], 1
push dword [ebp - 0x240]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x230], esi
je 0x100b698
xor ebx, ebx
inc ebx
push esi
push edi
lea eax, [ebp - 0x128]
push eax
push 0x10057e8
call fcn.01006f8a
test eax, eax
je 0x100b698
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x100b698
push ebx
push 0x1005ba8
call fcn.0100d0a2
mov eax, dword [ebp - 0x24c]
cmp eax, esi
mov dword [ebp - 0x230], eax
jne 0x100b667
lea eax, [ebp - 0x234]
push eax
push ebx
push esi
push dword [0x1016bc0]
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x100b674
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x238]
push eax
push esi
push esi
push 0x100560c
push dword [ebp - 0x234]
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x23c], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x100b653
cmp dword [ebp - 0x238], esi
jbe 0x100b653
push esi
push 0x1005b90
call fcn.0100d0a2
mov dword [ebp - 0x230], ebx
push dword [ebp - 0x234]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x230], esi
je 0x100b674
push esi
push 0x1005b80
call fcn.0100d0a2
jmp 0x100b698
push esi
push 0x1005b68
call fcn.0100d0a2
push edi
push 0x30
push 0x410
push esi
call fcn.0100d141
cmp eax, 6
jne 0x100b698
mov dword [ebp - 0x230], ebx
pop edi
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x230]
pop esi
pop ebx
call fcn.0100d528
leave
ret