Function at 0x4057dc
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x17c
mov eax, dword [sym.imp.QtCore4.dll_QString::shared_null]
mov dword [ebp - 0x24], eax
lock inc dword [eax]
setne dl
lea eax, [ebp - 0x44]
mov edx, dword [ebp + 0xc]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [method.QString.toAscii___const]
push edx
mov ebx, dword [ebp - 0x44]
lea eax, [ebp - 0x1b]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 8]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 4], eax
lea eax, [ebp - 0x28]
mov dword [esp], eax
call fcn.0040fdf4
lock dec dword [ebx]
setne al
test al, al
jne 0x405840
mov dword [esp], ebx
call dword [sym.imp.QtCore4.dll_qFree_void_]
lea edx, [ebp - 0x144]
mov dword [ebp - 0x15c], edx
mov ecx, 0x100
xor eax, eax
mov edi, edx
rep stosb byte es:[edi], al
mov dword [ebp - 0x2c], 0
lea eax, [ebp - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
sub esp, 8
mov ebx, eax
test eax, eax
je 0x4058c6
lea eax, [eax + 1]
mov dword [ebp - 0x14c], eax
mov dword [esp], eax
call fcn.00411dec
mov esi, eax
xor eax, eax
mov edi, esi
mov ecx, dword [ebp - 0x14c]
rep stosb byte es:[edi], al
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.VERSION.dll_GetFileVersionInfoA
sub esp, 0x10
test eax, eax
jne 0x405918
test esi, esi
je 0x4058c6
mov dword [esp], esi
call fcn.00411dd4
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
call dword [method.QString.fromAscii_helper_char_const__int_]
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov eax, dword [ebp - 0x28]
lea ebx, [eax - 0xc]
cmp ebx, 0x418a9c
jne 0x405a84
mov eax, dword [ebp - 0x24]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x40590b
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret 4
lea eax, [ebp - 0x19]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x418ea4
lea edi, [ebp - 0x30]
mov dword [esp], edi
call fcn.0040fda8
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0x38]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x34]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov dword [esp], esi
lea ebx, [ebp - 0x24]
call sub.VERSION.dll_VerQueryValueA
sub esp, 0x10
test eax, eax
jne 0x4059d0
test esi, esi
je 0x40596c
mov dword [esp], esi
call fcn.00411dd4
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
lea ebx, [ebp - 0x24]
call dword [method.QString.fromAscii_helper_char_const__int_]
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov eax, dword [ebp - 0x30]
lea ebx, [eax - 0xc]
cmp ebx, 0x418a9c
je 0x4058e0
cmp dword [0x43306c], 0
jne 0x405ac7
mov eax, dword [ebx + 8]
lea edx, [eax - 1]
mov dword [ebx + 8], edx
test eax, eax
jg 0x4058e0
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0040e87c
jmp 0x4058e0
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
movzx eax, dx
mov dword [esp + 0x14], eax
shr edx, 0x10
mov dword [esp + 0x10], edx
movzx eax, cx
mov dword [esp + 0xc], eax
shr ecx, 0x10
mov dword [esp + 8], ecx
mov dword [esp + 4], str._d._d._d._d
lea eax, [ebp - 0x144]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
test esi, esi
je 0x405a17
mov dword [esp], esi
call fcn.00411dd4
lea eax, [ebp - 0x1a]
mov dword [esp + 8], eax
lea edx, [ebp - 0x144]
mov dword [esp + 4], edx
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call fcn.0040fda8
mov eax, dword [ebp - 0x3c]
lea esi, [ebp - 0x40]
mov edx, dword [eax - 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], esi
lea ebx, [ebp - 0x24]
call dword [method.QString.fromAscii_char_const__int_]
push eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call dword [method.QString.operator_QString_const_]
mov dword [esp], esi
call fcn.0040c74c
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp + 8]
mov dword [edx], eax
lock inc dword [eax]
setne dl
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call fcn.00410358
jmp 0x405989
cmp dword [0x43306c], 0
jne 0x405ab2
mov eax, dword [ebx + 8]
lea edx, [eax - 1]
mov dword [ebx + 8], edx
test eax, eax
jg 0x4058f2
lea eax, [ebp - 0x1d]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0040e87c
jmp 0x4058f2
mov dword [esp + 4], 0xffffffff
sub eax, 4
mov dword [esp], eax
call fcn.0040c9bc
jmp 0x405a96
mov dword [esp + 4], 0xffffffff
sub eax, 4
mov dword [esp], eax
call fcn.0040c9bc
jmp 0x4059b1