Function at 0x5aa614
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc0
mov ebx, dword [ebp + 8]
mov eax, dword [0x674014]
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp byte [ebx + 0xb], 0
mov eax, ebx
jns 0x5aa637
mov eax, dword [ebx]
push 0
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
je 0x5aa6ca
mov edi, eax
push eax
call fcn.005dc783
add esp, 4
mov esi, eax
cmp byte [ebx + 0xb], 0
mov eax, ebx
jns 0x5aa65e
mov eax, dword [ebx]
push esi
push edi
push 0
push eax
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x5aa785
xor eax, eax
dec eax
lea ecx, [ebp - 0xc4]
mov dword [ecx], eax
lea edx, [ebp - 0xc8]
mov dword [edx], eax
push edx
push ecx
push 0x61d944
push esi
call sub.VERSION.dll_VerQueryValueW
mov edi, eax
test eax, eax
je 0x5aa835
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xc4]
movups xmm0, xmmword [ecx]
movups xmm1, xmmword [ecx + 0x10]
movups xmmword [eax + 0x10], xmm1
mov edx, dword [ecx + 0x30]
mov dword [eax + 0x30], edx
movups xmm1, xmmword [ecx + 0x20]
movups xmmword [eax + 0x20], xmm1
movups xmmword [eax], xmm0
mov ecx, dword [eax + 0x18]
and dword [eax + 0x1c], ecx
jmp 0x5aa87c
push 1
call fcn.004b68d0
add esp, 4
test al, al
je 0x5aa77e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x715
je 0x5aa77e
call fcn.004b7210
lea ecx, [ebp - 0xb8]
push eax
push 1
push 0x1f
push str....._third_partycrashpadcrashpadutilwinmodule_version.cc
call fcn.004b73b0
lea eax, [ebp - 0xb0]
push 0x18
push str.GetFileVersionInfoSize:
push eax
call fcn.0041482a
add esp, 0xc
mov esi, eax
movzx eax, byte [ebx + 0xb]
test al, al
jns 0x5aa72c
mov eax, dword [ebx + 4]
mov ebx, dword [ebx]
lea edi, [ebp - 0xc4]
push eax
push ebx
push edi
call fcn.004c17a0
add esp, 0xc
movzx eax, byte [edi + 0xb]
test al, al
jns 0x5aa751
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xc4]
push eax
push edi
push esi
call fcn.0041482a
add esp, 0xc
cmp byte [ebp - 0xb9], 0
jns 0x5aa773
push dword [ebp - 0xc4]
call fcn.005dc756
add esp, 4
lea ecx, [ebp - 0xb8]
call fcn.004b7460
xor ebx, ebx
jmp 0x5aa88e
push 1
call fcn.004b68d0
add esp, 4
test al, al
je 0x5aa831
call fcn.004b7210
lea ecx, [ebp - 0xb8]
push eax
push 1
push 0x26
push str....._third_partycrashpadcrashpadutilwinmodule_version.cc
call fcn.004b73b0
lea eax, [ebp - 0xb0]
push 0x14
push str.GetFileVersionInfo:
push eax
call fcn.0041482a
add esp, 0xc
mov dword [ebp - 0xcc], eax
movzx eax, byte [ebx + 0xb]
test al, al
jns 0x5aa7da
mov eax, dword [ebx + 4]
mov ebx, dword [ebx]
lea edi, [ebp - 0xc4]
push eax
push ebx
push edi
call fcn.004c17a0
add esp, 0xc
movzx eax, byte [edi + 0xb]
test al, al
jns 0x5aa7ff
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xc4]
push eax
push edi
push dword [ebp - 0xcc]
call fcn.0041482a
add esp, 0xc
cmp byte [ebp - 0xb9], 0
jns 0x5aa826
push dword [ebp - 0xc4]
call fcn.005dc756
add esp, 4
lea ecx, [ebp - 0xb8]
call fcn.004b7460
xor ebx, ebx
jmp 0x5aa881
push 1
call fcn.004b68d0
add esp, 4
test al, al
je 0x5aa87c
call fcn.004b7210
lea ebx, [ebp - 0xb8]
mov ecx, ebx
push eax
push 1
push 0x30
push str....._third_partycrashpadcrashpadutilwinmodule_version.cc
call fcn.004b73b0
lea eax, [ebp - 0xb0]
push 0xd
push str.VerQueryValue
push eax
call fcn.0041482a
add esp, 0xc
mov ecx, ebx
call fcn.004b7460
test edi, edi
setne bl
test esi, esi
je 0x5aa88e
push esi
call fcn.005dc78c
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005dd6f3
mov eax, ebx
add esp, 0xc0
pop esi
pop edi
pop ebx
pop ebp
ret