Function at 0x101e00e7
Capabilities:
Get file version info

Disassembly:
push 0x770
mov eax, 0x1034168c
call fcn.102f77e7
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 0x40]
push esi
call fcn.101c9d96
test al, al
jne 0x101e0149
cmp dword [esi + 0x18], 8
jb 0x101e0111
mov esi, dword [esi + 4]
jmp 0x101e0114
add esi, 4
push esi
push 0x100280d8
lea eax, [ebp - 0x134]
push 0x14
push eax
call fcn.10161ac8
add esp, 0x10
push 0x43
pop ecx
mov esi, eax
lea edi, [ebp - 0x240]
rep movsd dword es:[edi], dword [esi]
push 0x103495b0
lea eax, [ebp - 0x240]
push eax
call fcn.102f72b2
xor eax, eax
push 8
pop ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], eax
cmp dword [esi + 0x18], ebx
jb 0x101e0167
mov eax, dword [esi + 4]
jmp 0x101e016a
lea eax, [esi + 4]
lea ecx, [ebp - 0x18]
push ecx
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov edi, eax
test edi, edi
ja 0x101e01bd
cmp dword [esi + 0x18], ebx
jb 0x101e0184
mov esi, dword [esi + 4]
jmp 0x101e0187
add esi, 4
push esi
push 0x100280d8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.101b70ff
add esp, 0x10
push 0x43
pop ecx
mov esi, eax
lea edi, [ebp - 0x564]
rep movsd dword es:[edi], dword [esi]
push 0x103495b0
lea eax, [ebp - 0x564]
jmp 0x101e0143
push 1
push 0x95
push 0x100280ac
push edi
call fcn.101d30b3
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x101e021c
cmp dword [esi + 0x18], ebx
jb 0x101e01e0
mov esi, dword [esi + 4]
jmp 0x101e01e3
add esi, 4
push esi
push 0x10028050
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.101b70ff
add esp, 0x10
push 0x43
pop ecx
mov esi, eax
lea edi, [ebp - 0x458]
rep movsd dword es:[edi], dword [esi]
push 0x103495b0
lea eax, [ebp - 0x458]
jmp 0x101e0143
cmp dword [esi + 0x18], ebx
jb 0x101e0226
mov eax, dword [esi + 4]
jmp 0x101e0229
lea eax, [esi + 4]
push dword [ebp - 0x14]
push edi
push dword [ebp - 0x18]
push eax
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
jne 0x101e0280
cmp dword [esi + 0x18], ebx
jb 0x101e0244
mov esi, dword [esi + 4]
jmp 0x101e0247
add esi, 4
push esi
push 0x10028000
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.101b70ff
add esp, 0x10
push 0x43
pop ecx
mov esi, eax
lea edi, [ebp - 0x670]
rep movsd dword es:[edi], dword [esi]
push 0x103495b0
lea eax, [ebp - 0x670]
jmp 0x101e0143
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
push 0x10003b00
push dword [ebp - 0x14]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
jne 0x101e02df
cmp dword [esi + 0x18], ebx
jb 0x101e02a3
mov esi, dword [esi + 4]
jmp 0x101e02a6
add esi, 4
push esi
push 0x10027fb0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x77c]
push eax
call fcn.101b70ff
add esp, 0x10
push 0x43
pop ecx
mov esi, eax
lea edi, [ebp - 0x34c]
rep movsd dword es:[edi], dword [esi]
push 0x103495b0
lea eax, [ebp - 0x34c]
jmp 0x101e0143
push 0x30
call fcn.102f724d
pop ecx
mov ecx, eax
mov dword [ebp - 0x28], ecx
mov byte [ebp - 4], 1
test ecx, ecx
je 0x101e0312
mov eax, dword [ebp - 0x1c]
movzx edx, word [eax + 0xc]
push edx
movzx edx, word [eax + 0xe]
push edx
movzx edx, word [eax + 8]
movzx eax, word [eax + 0xa]
push edx
push eax
call fcn.101da92b
jmp 0x101e0314
xor eax, eax
mov ecx, dword [ebp - 0x24]
push eax
add ecx, 0x78
mov byte [ebp - 4], 0
call fcn.101d3d3e
push dword [ebp - 0x14]
call fcn.101d308b
call fcn.102f788c
ret