Function at 0x6af86290
Capabilities:
Get common file path
Get file version info
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, str.d3d8.dll
push esi
mov esi, 0x104
push ebx
lea eax, [ebp - 0xa20]
sub esp, 0xb9c
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetSystemDirectoryW]
lea eax, [ebp - 0xa20]
mov dword [ebp - 0xb6c], edi
shr eax, 0x10
mov dword [ebp - 0xb84], eax
lea eax, [ebp - 0x818]
shr eax, 0x10
mov dword [ebp - 0xb88], eax
xor eax, eax
mov dword [ebp - 0xb70], eax
sub esp, 8
nop
lea esi, [esi]
mov eax, dword [ebp - 0xb70]
mov ecx, 0x6af8c7ec
mov ebx, 5
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xb56]
mov dword [esp], eax
call sym._swprintf
lea eax, [ebp - 0xb56]
call sym._allocate_information_node
test eax, eax
mov ebx, eax
je 0x6af86e18
test byte [0x6af8a03c], 8
jne 0x6af86868
cmp word [ebp - 0xa20], 0
je 0x6af86ae6
lea eax, [ebp - 0xa20]
add eax, 2
cmp word [eax], 0
jne 0x6af86350
lea ecx, [ebp - 0xa20]
sub eax, ecx
sar eax, 1
mov ecx, dword [ebp - 0xb6c]
cmp word [ecx], 0
je 0x6af86395
mov edx, ecx
jmp 0x6af86380
add edx, 2
cmp word [edx], 0
jne 0x6af86380
mov esi, dword [ebp - 0xb6c]
sub edx, esi
sar edx, 1
add eax, edx
lea eax, [eax + eax + 4]
xor ecx, ecx
mov edi, dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov edx, dword fs:[0x18]
mov eax, dword [edx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
sub esp, 0xc
test eax, eax
mov esi, eax
je 0x6af86c7f
xor eax, eax
lea esi, [esi]
movzx edx, word [ebp + eax - 0xa20]
mov word [esi + eax], dx
add eax, 2
test edx, edx
jne 0x6af863d0
cmp word [esi], 0
mov edx, esi
je 0x6af863f9
nop
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x6af863f0
xor eax, eax
nop
lea esi, [esi]
movzx ecx, word [eax + 0x6af8d15c]
mov word [edx + eax], cx
add eax, 2
test ecx, ecx
jne 0x6af86400
cmp word [esi], 0
mov edx, esi
je 0x6af86429
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x6af86420
xor eax, eax
nop
lea esi, [esi]
mov ecx, dword [ebp - 0xb6c]
movzx ecx, word [ecx + eax]
mov word [edx + eax], cx
add eax, 2
test ecx, ecx
jne 0x6af86430
mov dword [esp], esi
lea eax, [ebp - 0xb64]
mov dword [esp + 4], eax
call sym._GetFileVersionInfoSizeW_8
sub esp, 8
test eax, eax
mov edx, eax
je 0x6af86850
mov dword [esp + 8], edx
mov dword [ebp - 0xb74], edx
mov edx, 8
mov dword [esp + 4], edx
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
mov dword [ebp - 0xb78], eax
sub esp, 0xc
test eax, eax
je 0x6af86c30
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0xb74]
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], edx
call sym._GetFileVersionInfoW_16
mov dword [ebp - 0xb80], eax
sub esp, 0x10
test eax, eax
jne 0x6af86d18
mov eax, 0x6af8d160
call sym._allocate_property_information
test eax, eax
mov edi, eax
je 0x6af86c30
mov dword [esp], esi
call sym._SysAllocString_4
sub esp, 4
test eax, eax
je 0x6af86c25
mov dword [edi + 0x18], eax
lea eax, [ebx + 0x18]
mov word [edi + 0x10], 8
mov dword [edi], eax
mov dword [ebp - 0xb74], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 4], eax
mov dword [eax], edi
mov eax, str.szName
inc dword [ebx + 0x20]
mov dword [ebx + 0x1c], edi
call sym._allocate_property_information
mov dword [ebp - 0xb7c], eax
test eax, eax
je 0x6af86c30
mov eax, dword [ebp - 0xb6c]
mov dword [esp], eax
call sym._SysAllocString_4
mov edx, dword [ebp - 0xb7c]
sub esp, 4
test eax, eax
je 0x6af8705d
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0xb74]
mov word [edx + 0x10], 8
mov dword [edx], eax
mov eax, dword [ebx + 0x1c]
mov dword [edx + 4], eax
mov dword [eax], edx
mov eax, str.bExists
inc dword [ebx + 0x20]
mov dword [ebx + 0x1c], edx
call sym._allocate_property_information
test eax, eax
je 0x6af86c30
mov word [eax + 0x10], 0xb
mov edi, dword [ebp - 0xb80]
test edi, edi
je 0x6af86b78
mov word [eax + 0x18], 0xffff
mov ecx, dword [ebp - 0xb74]
mov dword [eax], ecx
mov edx, dword [ebx + 0x1c]
mov dword [eax + 4], edx
mov dword [edx], eax
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0xb5c]
inc dword [ebx + 0x20]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
movzx ecx, dx
mov dword [esp + 0x18], ecx
shr edx, 0x10
mov dword [esp + 0x14], edx
movzx edx, ax
mov dword [esp + 0x10], edx
shr eax, 0x10
mov dword [esp + 0xc], eax
mov eax, str._u._02u._04u._04u
mov dword [esp + 8], eax
mov eax, 0x400
mov dword [esp + 4], eax
lea eax, [ebp - 0x818]
mov dword [esp], eax
call sym._swprintf
test byte [0x6af8a03c], 8
jne 0x6af86e50
mov eax, str.szVersion
call sym._allocate_property_information
test eax, eax
mov edi, eax
je 0x6af86c30
lea eax, [ebp - 0x818]
mov dword [esp], eax
call sym._SysAllocString_4
sub esp, 4
test eax, eax
je 0x6af86c25
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0xb74]
mov word [edi + 0x10], 8
mov dword [edi], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 4], eax
mov dword [eax], edi
mov eax, str.szAttributes
inc dword [ebx + 0x20]
mov dword [ebx + 0x1c], edi
call sym._allocate_property_information
test eax, eax
mov edi, eax
je 0x6af86c30
mov dword [esp], str.Final_Retail
call sym._SysAllocString_4
sub esp, 4
test eax, eax
je 0x6af86c25
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0xb74]
mov word [edi + 0x10], 8
mov dword [edi], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 4], eax
mov dword [eax], edi
mov eax, str.szLanguageEnglish
inc dword [ebx + 0x20]
mov dword [ebx + 0x1c], edi
call sym._allocate_property_information
test eax, eax
mov edi, eax
je 0x6af86c30
mov dword [esp], str.English
call sym._SysAllocString_4
sub esp, 4
test eax, eax
je 0x6af86c25
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0xb74]
mov word [edi + 0x10], 8
mov dword [edi], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 4], eax
mov dword [eax], edi
mov dword [ebx + 0x1c], edi
mov eax, dword [ebp - 0xb5c]
inc dword [ebx + 0x20]
mov edi, dword [eax + 0x2c]
mov eax, str.dwFileTimeHigh
call sym._allocate_property_information
test eax, eax
je 0x6af86c30
mov dword [eax + 0x18], edi
mov ecx, dword [ebp - 0xb74]
mov word [eax + 0x10], 0x13
mov dword [eax], ecx
mov edx, dword [ebx + 0x1c]
mov dword [eax + 4], edx
mov dword [edx], eax
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0xb5c]
inc dword [ebx + 0x20]
mov edi, dword [eax + 0x30]
mov eax, str.dwFileTimeLow
call sym._allocate_property_information
test eax, eax
je 0x6af86c30
mov dword [eax + 0x18], edi
mov ecx, dword [ebp - 0xb74]
mov word [eax + 0x10], 0x13
mov dword [eax], ecx
mov edx, dword [ebx + 0x1c]
mov dword [eax + 4], edx
mov dword [edx], eax
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0xb5c]
inc dword [ebx + 0x20]
mov edx, dword [eax + 0x18]
mov edi, dword [eax + 0x1c]
mov eax, str.bBeta
mov dword [ebp - 0xb7c], edx
call sym._allocate_property_information
test eax, eax
je 0x6af86c30
mov word [eax + 0x10], 0xb
mov edx, dword [ebp - 0xb7c]
mov ecx, dword [ebp - 0xb74]
and edx, edi
mov dword [eax], ecx
shl edx, 0x1e
sar edx, 0x1f
mov word [eax + 0x18], dx
mov edx, dword [ebx + 0x1c]
mov dword [eax + 4], edx
mov dword [edx], eax
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0xb5c]
inc dword [ebx + 0x20]
mov edx, dword [eax + 0x18]
mov edi, dword [eax + 0x1c]
mov eax, str.bDebug
mov dword [ebp - 0xb7c], edx
call sym._allocate_property_information
test eax, eax
je 0x6af87069
mov word [eax + 0x10], 0xb
mov edx, dword [ebp - 0xb7c]
mov ecx, dword [ebp - 0xb74]
and edx, edi
mov dword [eax], ecx
and edx, 1
neg edx
mov word [eax + 0x18], dx
mov edx, dword [ebx + 0x1c]
mov edi, dword fs:[0x18]
mov dword [eax + 4], edx
mov dword [edx], eax
mov edx, dword [sym.imp.kernel32.dll_HeapFree]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0xb78]
inc dword [ebx + 0x20]
mov dword [ebp - 0xb74], edx
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edx
xor eax, eax
mov edx, dword [ebp - 0xb74]
sub esp, 0xc
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edx
sub esp, 0xc
jmp 0x6af86be3
xor eax, eax
mov dword [ebp - 0xb80], eax
xor eax, eax
mov dword [ebp - 0xb78], eax
jmp 0x6af864c6
mov edx, dword [ebp - 0xb84]
test edx, edx
je 0x6af86d60
mov eax, 0xffffffff
mov dword [esp + 4], eax
lea eax, [ebp - 0xa20]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x6af86dd0
cmp word [ebp - 0xa20], 0
je 0x6af86df0
mov esi, esi
lea edi, [edi]
mov edx, eax
cmp word [ebp + edx*2 - 0xa1e], 0
lea eax, [eax + 1]
jne 0x6af868b0
lea ecx, [ebp - 0xb4a]
mov eax, 0x224c
mov word [ebp - 0xb4c], ax
lea esi, [ebp - 0xa20]
mov dword [ebp - 0xb74], ebx
jmp 0x6af8690d
cmp eax, 9
je 0x6af86b00
cmp eax, 0xa
jne 0x6af86b1a
mov word [ecx], 0x6e5c
add ecx, 2
lea edi, [ebp - 0xa2a]
lea eax, [edx - 1]
cmp ecx, edi
ja 0x6af86950
test edx, edx
jle 0x6af86950
mov edx, eax
movzx eax, word [esi]
add esi, 2
cmp eax, 0xd
je 0x6af86af0
jbe 0x6af868e0
cmp eax, 0x22
je 0x6af86b68
cmp eax, 0x5c
jne 0x6af86b0d
mov word [ecx], 0x5c5c
lea edi, [ebp - 0xa2a]
add ecx, 2
lea eax, [edx - 1]
cmp ecx, edi
jbe 0x6af86907
lea esi, [esi]
lea edi, [edi]
mov byte [ecx], 0x22
test eax, eax
mov ebx, dword [ebp - 0xb74]
jle 0x6af86e09
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0xb4c]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [ebp - 0xb74], eax
mov eax, dword [ebp - 0xb6c]
shr eax, 0x10
je 0x6af86d98
mov esi, dword [ebp - 0xb6c]
mov eax, 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x6af86de0
cmp word [esi], 0
je 0x6af86e28
mov ecx, esi
lea esi, [esi]
lea edi, [edi]
mov edx, eax
cmp word [ecx + edx*2 + 2], 0
lea eax, [eax + 1]
jne 0x6af869d0
mov dword [ebp - 0xb78], ebx
lea ecx, [ebp - 0xb4a]
mov esi, 0x224c
mov word [ebp - 0xb4c], si
mov esi, dword [ebp - 0xb6c]
jmp 0x6af86a33
cmp eax, 9
je 0x6af86d08
cmp eax, 0xa
jne 0x6af86caa
mov word [ecx], 0x6e5c
add ecx, 2
lea esi, [esi]
lea eax, [edx - 1]
test edx, edx
jle 0x6af86a70
lea edi, [ebp - 0xa2a]
cmp ecx, edi
ja 0x6af86a70
mov edx, eax
movzx eax, word [esi]
add esi, 2
cmp eax, 0xd
je 0x6af86c90
jbe 0x6af86a00
cmp eax, 0x22
je 0x6af86cf8
cmp eax, 0x5c
jne 0x6af86c9d
mov word [ecx], 0x5c5c
lea eax, [edx - 1]
add ecx, 2
test edx, edx
jg 0x6af86a27
lea esi, [esi]
lea edi, [edi]
mov byte [ecx], 0x22
test eax, eax
mov ebx, dword [ebp - 0xb78]
jle 0x6af86e41
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0xb4c]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x14], eax
mov ecx, dword [ebp - 0xb74]
mov eax, str.fill_file_description
mov dword [esp + 8], eax
mov edi, str.Filling_container__p_for__s_in__s_n
mov eax, 0x6af8a03c
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x18], ecx
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
cmp word [ebp - 0xa20], 0
jne 0x6af8634a
xor eax, eax
jmp 0x6af86363
mov word [ecx], 0x725c
add ecx, 2
jmp 0x6af868fa
mov word [ecx], 0x745c
add ecx, 2
jmp 0x6af868fa
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x6af86db8
mov byte [ecx], 0x5c
mov edi, eax
add ecx, 5
shr edi, 0xc
movzx ebx, byte [edi + str.0123456789abcdeffill_filter_container]
mov edi, eax
shr edi, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdeffill_filter_container]
mov edi, eax
shr edi, 4
and eax, 0xf
and edi, 0xf
movzx eax, byte [eax + str.0123456789abcdeffill_filter_container]
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdeffill_filter_container]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x6af868fa
mov word [ecx], 0x225c
add ecx, 2
jmp 0x6af868fa
mov word [eax + 0x18], 0
mov ecx, dword [ebp - 0xb74]
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
mov dword [eax], ecx
mov edx, dword [ebx + 0x1c]
mov dword [eax + 4], edx
mov dword [edx], eax
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0xb78]
inc dword [ebx + 0x20]
mov edx, dword fs:[0x18]
mov dword [ebp - 0xb74], edx
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [edx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
mov edx, dword [ebp - 0xb74]
xor eax, eax
sub esp, 0xc
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [edx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
sub esp, 0xc
mov eax, dword [ebp + 8]
add eax, 0xc
mov dword [ebx], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [ebx + 4], eax
mov dword [eax], ebx
mov eax, dword [ebp + 8]
inc dword [eax + 0x14]
mov dword [eax + 0x10], ebx
inc dword [ebp - 0xb70]
add dword [ebp - 0xb6c], 0x1e
mov eax, dword [ebp - 0xb70]
cmp eax, 0x14
jne 0x6af862f0
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, edi
call sym._free_property_information
lea esi, [esi]
mov eax, dword [ebp - 0xb78]
xor ecx, ecx
mov dword [esp + 4], ecx
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword fs:[0x18]
mov dword [ebp - 0xb74], edx
mov dword [esp + 8], eax
mov eax, dword [edx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
mov edx, dword [ebp - 0xb74]
sub esp, 0xc
mov dword [esp + 8], esi
xor esi, esi
mov dword [esp + 4], esi
mov eax, dword [edx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
sub esp, 0xc
mov eax, ebx
call sym._free_information_tree.part.0
jmp 0x6af86bff
mov word [ecx], 0x725c
add ecx, 2
jmp 0x6af86a20
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x6af86dc0
mov byte [ecx], 0x5c
mov edi, eax
add ecx, 5
shr edi, 0xc
movzx ebx, byte [edi + str.0123456789abcdeffill_filter_container]
mov edi, eax
shr edi, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdeffill_filter_container]
mov edi, eax
shr edi, 4
and eax, 0xf
and edi, 0xf
movzx eax, byte [eax + str.0123456789abcdeffill_filter_container]
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdeffill_filter_container]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x6af86a20
mov word [ecx], 0x225c
add ecx, 2
jmp 0x6af86a20
mov word [ecx], 0x745c
add ecx, 2
jmp 0x6af86a20
lea eax, [ebp - 0xb60]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xb5c]
mov dword [esp + 8], eax
mov eax, 0x6af8d15c
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb78]
mov dword [esp], eax
call sym._VerQueryValueW_16
sub esp, 0x10
test eax, eax
setne al
movzx eax, al
mov dword [ebp - 0xb80], eax
jmp 0x6af864c6
mov dword [esp], str._04x
lea eax, [ebp - 0xa20]
mov dword [ebp - 0xb74], eax
movzx eax, word [ebp - 0xb74]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_2
mov dword [ebp - 0xb74], eax
mov eax, dword [ebp - 0xb6c]
shr eax, 0x10
jne 0x6af86994
mov dword [esp], str._04x
movzx eax, word [ebp - 0xb6c]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_2
jmp 0x6af86a9f
mov byte [ecx], al
inc ecx
jmp 0x6af868fa
mov byte [ecx], al
inc ecx
jmp 0x6af86a20
mov eax, str._invalid_
mov dword [ebp - 0xb74], eax
jmp 0x6af86985
mov eax, str._invalid_
jmp 0x6af86a9f
mov byte [ebp - 0xb4a], 0x22
lea ecx, [ebp - 0xb4a]
mov edx, 0x224c
mov word [ebp - 0xb4c], dx
lea eax, [ecx + 1]
jmp 0x6af8696e
lea esp, [ebp - 0xc]
mov eax, 0x8007000e
pop ebx
pop esi
pop edi
pop ebp
ret
mov byte [ebp - 0xb4a], 0x22
mov ecx, 0x224c
mov word [ebp - 0xb4c], cx
lea ecx, [ebp - 0xb4a]
lea eax, [ecx + 1]
jmp 0x6af86a8e
mov ecx, dword [ebp - 0xb88]
test ecx, ecx
je 0x6af86f20
lea eax, [ebp - 0x818]
mov edx, 0xffffffff
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x6af87035
cmp word [ebp - 0x818], 0
je 0x6af8703f
nop
mov ecx, eax
cmp word [ebp + ecx*2 - 0x816], 0
lea eax, [eax + 1]
jne 0x6af86e90
lea edi, [ebp - 0xb4a]
mov eax, 0x224c
mov word [ebp - 0xb4c], ax
lea edx, [ebp - 0x818]
mov dword [ebp - 0xb7c], ebx
jmp 0x6af86efb
cmp eax, 9
je 0x6af86fe0
cmp eax, 0xa
jne 0x6af86f92
mov word [edi], 0x6e5c
add edi, 2
lea esi, [esi]
lea eax, [ecx - 1]
test ecx, ecx
jle 0x6af86ffd
lea ecx, [ebp - 0xa2a]
cmp edi, ecx
ja 0x6af86ffd
mov ecx, eax
movzx eax, word [edx]
add edx, 2
cmp eax, 0xd
je 0x6af86f78
jbe 0x6af86ec0
cmp eax, 0x22
je 0x6af86ff0
cmp eax, 0x5c
jne 0x6af86f85
mov word [edi], 0x5c5c
add edi, 2
jmp 0x6af86ee0
mov dword [esp], str._04x
lea eax, [ebp - 0x818]
mov dword [ebp - 0xb7c], eax
movzx eax, word [ebp - 0xb7c]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_2
mov dword [esp + 0x10], eax
mov eax, str.Found_version_as___s__n
mov dword [esp + 0xc], eax
mov eax, str.fill_file_description
mov dword [esp + 8], eax
mov eax, 0x6af8a03c
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x6af865fc
mov word [edi], 0x725c
add edi, 2
jmp 0x6af86ee0
lea ebx, [eax - 0x20]
cmp bx, 0x5e
jbe 0x6af8702d
mov byte [edi], 0x5c
mov ebx, eax
add edi, 5
shr ebx, 0xc
movzx ebx, byte [ebx + str.0123456789abcdeffill_filter_container]
mov byte [edi - 4], bl
mov ebx, eax
shr ebx, 8
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdeffill_filter_container]
mov byte [edi - 3], bl
mov ebx, eax
and eax, 0xf
shr ebx, 4
movzx eax, byte [eax + str.0123456789abcdeffill_filter_container]
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdeffill_filter_container]
mov byte [edi - 1], al
mov byte [edi - 2], bl
jmp 0x6af86ee0
mov word [edi], 0x745c
add edi, 2
jmp 0x6af86ee0
mov word [edi], 0x225c
add edi, 2
jmp 0x6af86ee0
mov byte [edi], 0x22
test eax, eax
mov ebx, dword [ebp - 0xb7c]
jle 0x6af87058
mov word [edi + 1], 0x2e2e
lea eax, [edi + 4]
mov byte [edi + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0xb4c]
mov dword [esp], eax
call sym.___wine_dbg_strdup
jmp 0x6af86f43
mov byte [edi], al
inc edi
jmp 0x6af86ee0
mov eax, str._invalid_
jmp 0x6af86f43
mov byte [ebp - 0xb4a], 0x22
mov edi, 0x224c
mov word [ebp - 0xb4c], di
lea edi, [ebp - 0xb4a]
lea eax, [edi + 1]
jmp 0x6af87017
mov eax, edx
call sym._free_property_information
jmp 0x6af86c30
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb78]
mov edi, dword fs:[0x18]
mov edx, dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 0xb74], edx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edx
mov edx, dword [ebp - 0xb74]
sub esp, 0xc
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edx
sub esp, 0xc
jmp 0x6af86c7f