Function at 0x10004b10
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10055e78
mov eax, dword fs:[0]
push eax
sub esp, 0xdc
mov eax, dword [0x10076008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 4], 0
mov dword [ebp - 0x90], 2
mov byte [ebp - 0x89], 0
lea ecx, [ebp - 0x28]
call fcn.10005620
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.10005620
mov byte [ebp - 4], 2
movzx eax, byte [ebp + 8]
test eax, eax
je 0x10004b83
mov dword [ebp - 0x90], 0x63
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x98], 0
lea ecx, [ebp + 0xc]
call fcn.10005340
movzx ecx, al
test ecx, ecx
je 0x10004d14
mov dl, byte [ebp + 0x24]
mov byte [ebp - 0x89], dl
movsx eax, byte [ebp - 0x89]
test eax, eax
jne 0x10004c10
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0xb0], ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.10005450
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.10005450
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005450
mov eax, dword [ebp - 0xb0]
jmp 0x100050f5
movsx edx, byte [ebp - 0x89]
push edx
push 0x100670c0
lea eax, [ebp - 0x58]
push eax
call fcn.1002eaa0
add esp, 0xc
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
push ecx
lea ecx, [ebp - 0x28]
call fcn.100054a0
lea ecx, [ebp - 0x58]
call fcn.10005450
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xdc], esp
lea edx, [ebp - 0x28]
push edx
call fcn.10005670
call fcn.10009b10
add esp, 0x18
mov byte [ebp - 0x99], al
movzx eax, byte [ebp - 0x99]
test eax, eax
jne 0x10004ca9
movsx ecx, byte [ebp - 0x89]
push ecx
push 0x10067128
lea edx, [ebp - 0x70]
push edx
call fcn.1002eaa0
add esp, 0xc
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x28]
call fcn.100054a0
lea ecx, [ebp - 0x70]
call fcn.10005450
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xe0], esp
lea edx, [ebp - 0x28]
push edx
call fcn.10005670
call fcn.10009b10
add esp, 0x18
mov byte [ebp - 0x9a], al
movzx eax, byte [ebp - 0x9a]
test eax, eax
jne 0x10004d12
movsx ecx, byte [ebp - 0x89]
push ecx
push 0x10067170
lea edx, [ebp - 0x88]
push edx
call fcn.1002eaa0
add esp, 0xc
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x28]
call fcn.100054a0
lea ecx, [ebp - 0x88]
call fcn.10005450
jmp 0x10004d20
lea ecx, [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x28]
call fcn.100053e0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xe4], esp
lea edx, [ebp - 0x28]
push edx
call fcn.10005670
call fcn.10009b10
add esp, 0x18
mov byte [ebp - 0x9b], al
movzx eax, byte [ebp - 0x9b]
test eax, eax
jne 0x10004d98
push str._INF__Files_Not_Found
call fcn.100098e0
add esp, 4
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0xc0], ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.10005450
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.10005450
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005450
mov eax, dword [ebp - 0xc0]
jmp 0x100050f5
lea edx, [ebp - 0xa8]
push edx
lea ecx, [ebp - 0x28]
call fcn.10005370
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jne 0x10004e08
push str._INF__GetFileVersionInfoSizeW_Failed
call fcn.100098e0
add esp, 4
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xc4], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.10005450
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.10005450
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005450
mov eax, dword [ebp - 0xc4]
jmp 0x100050f5
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.10040d8d
add esp, 4
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
jne 0x10004e71
push str._INF__malloc_Failed
call fcn.100098e0
add esp, 4
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0xc8], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.10005450
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.10005450
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005450
mov eax, dword [ebp - 0xc8]
jmp 0x100050f5
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp - 0xa4]
push ecx
mov edx, dword [ebp - 0xa8]
push edx
lea ecx, [ebp - 0x28]
call fcn.10005370
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
jne 0x10004ef3
push str._INF__GetFileVersionInfoW_Failed
call fcn.100098e0
add esp, 4
mov eax, dword [ebp - 0xa0]
push eax
call fcn.1003f538
add esp, 4
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0xcc], ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.10005450
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.10005450
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005450
mov eax, dword [ebp - 0xcc]
jmp 0x100050f5
lea edx, [ebp - 0xe8]
push edx
lea eax, [ebp - 0xac]
push eax
push 0x1006716c
mov ecx, dword [ebp - 0xa0]
push ecx
call dword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
jne 0x10004f71
push str._INF__VerQueryValueW_Failed
call fcn.100098e0
add esp, 4
mov edx, dword [ebp - 0xa0]
push edx
call fcn.1003f538
add esp, 4
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xd0], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.10005450
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.10005450
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005450
mov eax, dword [ebp - 0xd0]
jmp 0x100050f5
mov ecx, dword [ebp - 0xac]
mov edx, dword [ecx + 0x10]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0xac]
mov edx, dword [ecx + 0x10]
and edx, 0xffff
movzx eax, dx
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.1003f538
add esp, 4
mov edx, dword [ebp - 0x98]
push edx
mov eax, dword [ebp - 0x94]
push eax
push str._INF__Windows_Major___d__Minor___d
call fcn.100098e0
add esp, 0xc
cmp dword [ebp - 0x94], 4
jne 0x10004fe6
mov dword [ebp - 0x90], 2
jmp 0x100050bc
cmp dword [ebp - 0x94], 5
jne 0x10005007
cmp dword [ebp - 0x98], 0
jne 0x10005007
mov dword [ebp - 0x90], 3
jmp 0x100050bc
cmp dword [ebp - 0x94], 5
jne 0x10005028
cmp dword [ebp - 0x98], 1
jne 0x10005028
mov dword [ebp - 0x90], 4
jmp 0x100050bc
cmp dword [ebp - 0x94], 6
jne 0x10005046
cmp dword [ebp - 0x98], 0
jne 0x10005046
mov dword [ebp - 0x90], 5
jmp 0x100050bc
cmp dword [ebp - 0x94], 6
jne 0x10005064
cmp dword [ebp - 0x98], 1
jne 0x10005064
mov dword [ebp - 0x90], 6
jmp 0x100050bc
cmp dword [ebp - 0x94], 6
jne 0x10005082
cmp dword [ebp - 0x98], 2
jne 0x10005082
mov dword [ebp - 0x90], 7
jmp 0x100050bc
cmp dword [ebp - 0x94], 6
jne 0x100050a0
cmp dword [ebp - 0x98], 3
jne 0x100050a0
mov dword [ebp - 0x90], 8
jmp 0x100050bc
cmp dword [ebp - 0x94], 0xa
jne 0x100050bc
cmp dword [ebp - 0x98], 0
jne 0x100050bc
mov dword [ebp - 0x90], 9
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0xd4], ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.10005450
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.10005450
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005450
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002fa64
mov esp, ebp
pop ebp
ret 0x20