Function at 0x4048c0
Capabilities:
Check if file exists
Get file attributes
Get process heap flags

Disassembly:
push ebp
push edi
push esi
mov esi, edx
push ebx
mov ebx, eax
lea eax, [edx + 8]
sub esp, 0x4fc
mov dword [edx + 0xc], eax
mov dword [edx + 8], eax
mov dword [esp + 0x20], eax
lea eax, [edx + 0x10]
mov dword [edx + 0x14], eax
mov dword [edx + 0x10], eax
mov dword [esp + 0x2c], eax
lea eax, [edx + 0x18]
mov dword [edx + 0x1c], eax
mov dword [edx + 0x18], eax
mov dword [esp], 0
mov dword [esp + 0x28], eax
call sym._CoInitialize_4
sub esp, 4
test byte [section..data], 8
jne 0x404d40
mov eax, esi
call dbg.create_temp_directory
mov dword [esp + 0x24], 0
mov ebp, eax
test eax, eax
je 0x404a28
mov edx, eax
mov eax, ebx
call dbg.extract_cabinet
mov dword [esp + 0x24], eax
test eax, eax
jne 0x404a40
test byte [section..data], 2
jne 0x404f18
mov dword [esp + 0x24], 0
mov edi, dword [esi + 8]
mov eax, dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword fs:[0x18]
mov dword [esp + 0x30], eax
mov ebp, dword [edi]
cmp dword [esp + 0x20], edi
je 0x4049d5
mov dword [esp + 0x34], esi
mov esi, ebp
mov ebp, edi
mov edi, dword [esp + 0x30]
lea esi, [esi]
nop
mov eax, dword [ebp + 4]
mov dword [esi + 4], eax
mov dword [eax], esi
mov eax, dword [ebp + 8]
call sym._delete_directory.isra.0
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
sub esp, 0xc
mov dword [esp + 8], ebp
mov ebp, esi
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
mov esi, dword [esi]
sub esp, 0xc
cmp dword [esp + 0x20], ebp
jne 0x404980
mov esi, dword [esp + 0x34]
mov eax, dword [esi + 0x10]
mov edi, dword [esp + 0x2c]
mov ebx, dword [eax]
cmp dword [esp + 0x2c], eax
je 0x404a00
lea esi, [esi]
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
mov dword [edx], ebx
mov dword [esp], eax
call dbg.free_assembly
mov eax, ebx
mov ebx, dword [ebx]
cmp edi, eax
jne 0x4049e8
mov eax, dword [esi + 0x18]
mov esi, dword [esp + 0x28]
mov ebx, dword [eax]
cmp dword [esp + 0x28], eax
je 0x404a28
nop
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
mov dword [edx], ebx
mov dword [esp], eax
call sym._free_dependency
mov eax, ebx
mov ebx, dword [ebx]
cmp esi, eax
jne 0x404a10
mov eax, dword [esp + 0x24]
add esp, 0x4fc
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, str..cab
mov eax, ebp
call sym._path_combine.part.0
mov ebx, eax
test eax, eax
je 0x40494c
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_FindFirstFileW]
lea edi, [esp + 0x50]
mov dword [esp + 4], edi
mov dword [esp + 0x40], eax
call eax
mov ecx, dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 8
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp + 0x24], eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ecx
sub esp, 0xc
cmp dword [esp + 0x24], 0xffffffff
je 0x404b90
mov eax, dword [sym.imp.kernel32.dll_FindNextFileW]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ebp
mov ebp, eax
lea esi, [esi]
nop
test byte [esp + 0x50], 0x10
jne 0x404b60
lea ebx, [esp + 0x7c]
mov dword [esp + 4], str.WSUSSCAN.cab
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll__wcsicmp]
test eax, eax
je 0x404b60
mov eax, dword [esp + 0x3c]
mov edx, ebx
call sym._path_combine.part.0
mov esi, eax
test eax, eax
je 0x404b60
test byte [section..data], 8
jne 0x405400
mov eax, dword [esp + 0x38]
call dbg.create_temp_directory
mov ebx, eax
test eax, eax
je 0x4052f0
mov edx, eax
mov eax, esi
call dbg.extract_cabinet
test eax, eax
jne 0x405090
test byte [section..data], 2
jne 0x4060b1
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
call eax
sub esp, 0xc
lea esi, [esi]
nop
mov eax, dword [esp + 0x24]
mov dword [esp + 4], edi
mov dword [esp], eax
call ebp
sub esp, 8
test eax, eax
jne 0x404ac0
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindClose]
sub esp, 4
mov edx, str..xml
mov eax, ebp
call sym._path_combine.part.0
mov ebx, eax
test eax, eax
je 0x40494c
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], edi
call eax
sub esp, 8
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], 0
mov dword [esp + 0x24], eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ecx
sub esp, 0xc
cmp dword [esp + 0x24], 0xffffffff
je 0x404c7d
mov eax, dword [sym.imp.kernel32.dll_FindNextFileW]
mov dword [esp + 0x38], esi
mov esi, eax
lea esi, [esi]
test byte [esp + 0x50], 0x10
jne 0x404c55
lea edx, [esp + 0x7c]
mov eax, ebp
call sym._path_combine.part.0
mov ebx, eax
test eax, eax
je 0x404c55
mov eax, dword [esp + 0x28]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dbg.load_update
test eax, eax
jne 0x404c31
test byte [section..data], 2
jne 0x405785
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
call eax
sub esp, 0xc
mov eax, dword [esp + 0x24]
mov dword [esp + 4], edi
mov dword [esp], eax
call esi
sub esp, 8
test eax, eax
jne 0x404bf8
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindClose]
sub esp, 4
test byte [section..data], 8
jne 0x4054f1
mov eax, dword [esp + 0x28]
cmp eax, dword [esi + 0x18]
je 0x405b80
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0x2c]
cmp dword [esp + 0x2c], eax
je 0x404cb5
lea esi, [esi]
mov dword [eax + 8], 0
mov eax, dword [eax]
cmp edx, eax
jne 0x404ca8
mov edx, 1
mov eax, esi
call dbg.install_updates
mov dword [esp + 0x24], eax
test eax, eax
je 0x4058c3
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0x2c]
cmp dword [esp + 0x2c], eax
je 0x404ced
lea esi, [esi]
mov dword [eax + 8], 0
mov eax, dword [eax]
cmp edx, eax
jne 0x404ce0
xor edx, edx
mov eax, esi
call dbg.install_updates
mov dword [esp + 0x24], eax
test eax, eax
je 0x405b4a
mov dword [esp + 0x24], 1
test byte [section..data], 8
je 0x404954
mov dword [esp + 0xc], str.Installation_finished_n
mov dword [esp + 8], global___FUNCTION__.8
mov dword [esp + 4], 0x40a000
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x404954
test ebx, ebx
je 0x4054e7
mov eax, ebx
shr eax, 0x10
je 0x404e30
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, eax
sub esp, 8
mov eax, 0x40b00d
test ecx, ecx
jne 0x404e43
movzx eax, word [ebx]
test ax, ax
je 0x405761
lea esi, [esi]
mov edx, ecx
lea ecx, [ecx + 1]
cmp word [ebx + edx*2 + 2], 0
jne 0x404d88
mov ecx, 0x224c
lea edi, [esp + 0x3c2]
mov dword [esp + 0x30], ebx
mov ebp, ebx
mov word [esp + 0x2a0], cx
lea ecx, [esp + 0x2a2]
mov dword [esp + 0x24], edi
jmp 0x404dfb
cmp ax, 9
je 0x404e88
cmp ax, 0xa
jne 0x404ea6
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea edi, [edx - 1]
cmp ecx, dword [esp + 0x24]
ja 0x405058
test edx, edx
jle 0x405058
movzx eax, word [ebp]
mov edx, edi
add ebp, 2
cmp ax, 0xd
je 0x404e70
jbe 0x404dc0
cmp ax, 0x22
je 0x404f00
cmp ax, 0x5c
jne 0x404e99
mov ebx, 0x5c5c
add ecx, 2
mov word [ecx - 2], bx
jmp 0x404de0
movzx eax, bx
mov dword [esp], section..rdata
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Processing_msu_file__s_n
mov dword [esp + 8], global___FUNCTION__.8
mov dword [esp + 4], 0x40a000
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x404911
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x404de0
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x404de0
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x4053f0
mov edi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdefcabinet_copy_file]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefcabinet_copy_file]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdefcabinet_copy_file]
and edi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefcabinet_copy_file]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x404de0
mov edi, 0x225c
add ecx, 2
mov word [ecx - 2], di
jmp 0x404de0
test ebx, ebx
je 0x406221
mov eax, ebx
shr eax, 0x10
je 0x405a99
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, eax
sub esp, 8
mov eax, 0x40b00d
test ecx, ecx
jne 0x405024
movzx eax, word [ebx]
test ax, ax
je 0x406284
lea esi, [esi]
mov edx, ecx
lea ecx, [ecx + 1]
cmp word [ebx + edx*2 + 2], 0
jne 0x404f60
mov ecx, 0x224c
mov dword [esp + 0x30], ebx
lea ebp, [esp + 0x3c2]
mov word [esp + 0x2a0], cx
lea ecx, [esp + 0x2a2]
jmp 0x404fc4
cmp ax, 9
je 0x4056d0
cmp ax, 0xa
jne 0x4056ff
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea edi, [edx - 1]
cmp ecx, ebp
ja 0x404ff7
test edx, edx
jle 0x404ff7
mov eax, dword [esp + 0x30]
mov edx, edi
movzx eax, word [eax]
add dword [esp + 0x30], 2
cmp ax, 0xd
je 0x4056e1
jbe 0x404f90
cmp ax, 0x22
je 0x405750
cmp ax, 0x5c
jne 0x4056f2
mov ebx, 0x5c5c
add ecx, 2
mov word [ecx - 2], bx
jmp 0x404fb0
mov byte [ecx], 0x22
test edi, edi
jle 0x4062a0
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [esp + 0x2a0]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Failed_to_extract__s_n
mov dword [esp + 8], global___FUNCTION__.8
mov dword [esp + 4], 0x40a000
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0
jmp 0x404954
mov byte [ecx], 0x22
mov ebx, dword [esp + 0x30]
test edi, edi
jle 0x40577d
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [esp + 0x2a0]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
jmp 0x404e43
mov edx, str._manifest_.cix.xml
mov eax, ebx
call sym._path_combine.part.0
test eax, eax
je 0x4052f0
mov dword [esp], eax
mov dword [esp + 0x34], eax
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
sub esp, 4
cmp eax, 0xffffffff
mov edx, dword [esp + 0x34]
je 0x40511f
test byte [section..data], 1
je 0x40511f
mov dword [esp + 0xc], str.Cabinet_uses_proprietary_msdelta_file_compression_which_is_not__yet__supported_n
mov dword [esp + 8], str.load_assemblies_from_cab
mov dword [esp + 4], 0x40a000
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0
test byte [section..data], 1
mov edx, dword [esp + 0x34]
je 0x40511f
mov dword [esp + 0xc], str.Installation_of_msu_file_will_most_likely_fail_n
mov dword [esp + 8], str.load_assemblies_from_cab
mov dword [esp + 4], 0x40a000
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [esp + 0x34], eax
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edx
mov edx, 0x40b01c
mov eax, ebx
sub esp, 0xc
call sym._path_combine.part.0
test eax, eax
je 0x4052f0
lea ecx, [esp + 0x2a0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x44], eax
call ecx
sub esp, 8
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], 0
mov dword [esp + 0x48], eax
mov dword [esp + 8], edx
mov eax, dword [ecx + 0x30]
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edx
sub esp, 0xc
mov eax, dword [esp + 0x48]
cmp eax, 0xffffffff
je 0x404b33
mov dword [esp + 0x4c], esi
mov esi, eax
lea esi, [esi]
nop
test byte [esp + 0x2a0], 0x10
jne 0x405258
mov edx, str..manifest
lea eax, [esp + 0x2cc]
call dbg.str_ends_with
test eax, eax
jne 0x4051f0
mov edx, str..mum
lea eax, [esp + 0x2cc]
call dbg.str_ends_with
test eax, eax
je 0x405258
lea edx, [esp + 0x2cc]
mov eax, ebx
call sym._path_combine.part.0
test eax, eax
je 0x405258
mov dword [esp], eax
mov dword [esp + 0x44], eax
call dbg.load_manifest
mov edx, dword [esp + 0x44]
test eax, eax
je 0x405236
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 0x14]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 0x14]
mov dword [ecx], eax
mov ecx, dword [esp + 0x38]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
call eax
sub esp, 0xc
lea eax, [esp + 0x2a0]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebp
sub esp, 8
test eax, eax
jne 0x4051b8
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindClose]
sub esp, 4
jmp 0x404b33
mov byte [ebx], 0x22
mov esi, dword [esp + 0x44]
test eax, eax
jle 0x4064cb
mov edx, 0x2e2e
mov byte [ebx + 3], 0x2e
lea eax, [ebx + 4]
mov word [ebx + 1], dx
mov byte [eax], 0
lea eax, [esp + 0x2a0]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.Failed_to_extract__s_n
mov dword [esp + 8], str.load_assemblies_from_cab
mov dword [esp + 4], 0x40a000
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0
lea esi, [esi]
nop
test byte [section..data], 2
je 0x404b33
mov eax, esi
shr eax, 0x10
je 0x406395
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x40b00d
sub esp, 8
test eax, eax
jne 0x4059cd
cmp word [esi], 0
je 0x40648b
lea esi, [esi]
nop
mov edx, eax
lea eax, [eax + 1]
cmp word [esi + edx*2 + 2], 0
jne 0x405338
mov eax, 0x224c
mov dword [esp + 0x44], esi
lea ecx, [esp + 0x2a2]
mov word [esp + 0x2a0], ax
mov dword [esp + 0x34], esi
jmp 0x4053ac
cmp ax, 9
je 0x406210
cmp ax, 0xa
jne 0x4061a4
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea esi, [esi]
nop
lea eax, [edx - 1]
test edx, edx
jle 0x40599a
lea esi, [esp + 0x3c2]
cmp ecx, esi
ja 0x40599a
mov edx, eax
add dword [esp + 0x34], 2
mov eax, dword [esp + 0x34]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x40622b
jbe 0x405368
cmp ax, 0x22
je 0x4061f5
cmp ax, 0x5c
jne 0x406197
mov ebx, 0x5c5c
add ecx, 2
mov word [ecx - 2], bx
jmp 0x405390
mov byte [ecx], al
add ecx, 1
jmp 0x404de0
shr eax, 0x10
je 0x40561c
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x40b00d
sub esp, 8
test eax, eax
jne 0x405631
cmp word [esi], 0
je 0x40635d
lea esi, [esi]
mov edx, eax
lea eax, [eax + 1]
cmp word [esi + edx*2 + 2], 0
jne 0x405438
mov ebx, 0x224c
mov dword [esp + 0x44], esi
lea ecx, [esp + 0x2a2]
mov word [esp + 0x2a0], bx
mov dword [esp + 0x34], esi
jmp 0x4054ac
cmp ax, 9
je 0x405978
cmp ax, 0xa
jne 0x405906
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea esi, [esi]
nop
lea esi, [esp + 0x3c2]
lea eax, [edx - 1]
cmp ecx, esi
ja 0x405bc0
test edx, edx
jle 0x405bc0
mov edx, eax
add dword [esp + 0x34], 2
mov eax, dword [esp + 0x34]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x405989
jbe 0x405468
cmp ax, 0x22
je 0x405960
cmp ax, 0x5c
jne 0x4058f9
mov ebx, 0x5c5c
add ecx, 2
mov word [ecx - 2], bx
jmp 0x405490
mov eax, 0x40b006
jmp 0x404e43
mov dword [esp], section..data
call sym.___wine_dbg_get_channel_flags
test al, 8
je 0x404c8a
movzx eax, byte [section..data]
test al, 8
jne 0x406425
mov edi, dword [esi + 0x18]
cmp dword [esp + 0x28], edi
je 0x405c24
mov dword [esp + 0x30], esi
lea ebp, [esp + 0x3c2]
jmp 0x40553c
mov edi, dword [edi]
cmp dword [esp + 0x28], edi
je 0x405bf8
mov edx, eax
and edx, 8
je 0x405530
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x406381
mov eax, ebx
shr eax, 0x10
je 0x40623c
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x40b00d
sub esp, 8
test eax, eax
jne 0x40568d
cmp word [ebx], 0
je 0x4063dd
lea esi, [esi]
mov edx, eax
lea eax, [eax + 1]
cmp word [ebx + edx*2 + 2], 0
jne 0x405588
mov esi, 0x224c
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0x2a2]
mov word [esp + 0x2a0], si
jmp 0x4055e1
cmp ax, 9
je 0x405a88
cmp ax, 0xa
jne 0x405a18
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea eax, [edx - 1]
test edx, edx
jle 0x40565e
cmp ecx, ebp
ja 0x40565e
mov edx, eax
add dword [esp + 0x24], 2
mov eax, dword [esp + 0x24]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x4059fa
jbe 0x4055b0
cmp ax, 0x22
je 0x405a70
cmp ax, 0x5c
jne 0x405a0b
mov ebx, 0x5c5c
add ecx, 2
mov word [ecx - 2], bx
jmp 0x4055d0
movzx eax, si
mov dword [esp], section..rdata
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
mov edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.Processing_cab_file__s_n
mov dword [esp + 8], str.load_assemblies_from_cab
mov dword [esp + 4], 0x40a000
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x404b02
mov byte [ecx], 0x22
test eax, eax
jle 0x4063f9
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [esp + 0x2a0]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.___s_n
mov dword [esp + 8], global___FUNCTION__.8
mov dword [esp + 4], 0x40a000
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
movzx eax, byte [section..data]
mov edx, eax
and edx, 8
jmp 0x405530
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x404fb0
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x404fb0
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x405bb6
mov edi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdefcabinet_copy_file]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefcabinet_copy_file]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdefcabinet_copy_file]
and edi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefcabinet_copy_file]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x404fb0
mov edi, 0x225c
add ecx, 2
mov word [ecx - 2], di
jmp 0x404fb0
mov eax, 0x224c
mov byte [esp + 0x2a2], 0x22
lea ecx, [esp + 0x2a2]
mov word [esp + 0x2a0], ax
lea eax, [ecx + 1]
jmp 0x405077
mov eax, ebx
shr eax, 0x10
je 0x4062a8
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x40b00d
sub esp, 8
test eax, eax
jne 0x405896
cmp word [ebx], 0
je 0x406401
lea esi, [esi]
nop
mov edx, eax
lea eax, [eax + 1]
cmp word [ebx + edx*2 + 2], 0
jne 0x4057c0
mov ecx, 0x224c
mov dword [esp + 0x3c], ebp
mov word [esp + 0x2a0], cx
lea ecx, [esp + 0x2a2]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x34], ebx
jmp 0x405824
cmp ax, 9
je 0x405b28
cmp ax, 0xa
jne 0x405abe
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea eax, [edx - 1]
test edx, edx
jle 0x40585f
lea edx, [esp + 0x3c2]
cmp ecx, edx
ja 0x40585f
mov edx, eax
add dword [esp + 0x34], 2
mov eax, dword [esp + 0x34]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x405b39
jbe 0x4057f0
cmp ax, 0x22
je 0x405b10
cmp ax, 0x5c
jne 0x405ab1
mov ebx, 0x5c5c
add ecx, 2
mov word [ecx - 2], bx
jmp 0x405810
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
mov byte [ecx], 0x22
test eax, eax
jle 0x40641d
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [esp + 0x2a0]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.Failed_to_load_all_updates_from__s__ignoring_n
mov dword [esp + 8], global___FUNCTION__.8
mov dword [esp + 4], 0x40a000
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0
jmp 0x404c31
test byte [section..data], 2
je 0x40494c
mov dword [esp + 0xc], str.Dry_run_failed__aborting_installation_n
mov dword [esp + 8], global___FUNCTION__.8
mov dword [esp + 4], 0x40a000
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0
jmp 0x404954
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x406206
mov esi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr si, 0xc
movzx esi, si
movzx ebx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdefcabinet_copy_file]
and esi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x405490
mov esi, 0x225c
add ecx, 2
mov word [ecx - 2], si
jmp 0x405490
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x405490
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x405490
mov byte [ecx], 0x22
mov esi, dword [esp + 0x44]
test eax, eax
jle 0x4064a7
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [esp + 0x2a0]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.Failed_to_load_all_manifests_from__s__ignoring_n
mov dword [esp + 8], global___FUNCTION__.8
mov dword [esp + 4], 0x40a000
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0
jmp 0x404b33
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x4055d0
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x406270
mov esi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr si, 0xc
movzx esi, si
movzx ebx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdefcabinet_copy_file]
and esi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x4055d0
mov esi, 0x225c
add ecx, 2
mov word [ecx - 2], si
jmp 0x4055d0
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x4055d0
movzx ebx, bx
mov dword [esp], section..rdata
mov dword [esp + 4], ebx
call sym._wine_dbg_sprintf.constprop.0
jmp 0x405024
lea ebp, [eax - 0x20]
cmp bp, 0x5e
jbe 0x406353
mov ebp, eax
mov byte [ecx], 0x5c
add ecx, 5
shr bp, 0xc
movzx ebp, bp
movzx ebx, byte [ebp + str.0123456789abcdefcabinet_copy_file]
mov ebp, eax
shr bp, 8
and ebp, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [ebp + str.0123456789abcdefcabinet_copy_file]
mov ebp, eax
and eax, 0xf
shr bp, 4
movzx eax, byte [eax + str.0123456789abcdefcabinet_copy_file]
and ebp, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [ebp + str.0123456789abcdefcabinet_copy_file]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x405810
mov ebp, 0x225c
add ecx, 2
mov word [ecx - 2], bp
jmp 0x405810
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x405810
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x405810
test byte [section..data], 2
je 0x40494c
mov dword [esp + 0xc], str.Installation_failed_n
mov dword [esp + 8], global___FUNCTION__.8
mov dword [esp + 4], 0x40a000
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0
jmp 0x404954
test byte [section..data], 2
je 0x40494c
mov dword [esp + 0xc], str.No_updates_found__probably_incompatible_MSU_file_format__n
mov dword [esp + 8], global___FUNCTION__.8
mov dword [esp + 4], 0x40a000
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0
jmp 0x40494c
mov byte [ecx], al
add ecx, 1
jmp 0x404fb0
mov byte [ecx], 0x22
mov esi, dword [esp + 0x44]
test eax, eax
jle 0x406379
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [esp + 0x2a0]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov edx, eax
jmp 0x405631
mov esi, dword [esp + 0x30]
test dl, dl
je 0x405c24
mov dword [esp + 0xc], str.List_of_manifests__with_dependencies_:_n
mov dword [esp + 8], global___FUNCTION__.8
mov dword [esp + 4], 0x40a000
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov eax, dword [esi + 0x10]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x2c], eax
je 0x404c8a
mov dword [esp + 0x30], esi
lea esi, [esi]
test byte [section..data], 8
jne 0x405ee0
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 0x28]
lea esi, [eax + 0x28]
cmp edi, esi
jne 0x405c6a
jmp 0x405db2
mov edi, dword [edi]
cmp edi, esi
je 0x405db2
test byte [section..data], 8
je 0x405c60
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x405ea8
mov eax, ebx
shr eax, 0x10
je 0x405e78
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x40b00d
sub esp, 8
test eax, eax
jne 0x405d80
cmp word [ebx], 0
je 0x405eb2
lea esi, [esi]
mov edx, eax
lea eax, [eax + 1]
cmp word [ebx + edx*2 + 2], 0
jne 0x405cb8
mov eax, 0x224c
lea ebp, [esp + 0x2a2]
mov word [esp + 0x2a0], ax
jmp 0x405d14
cmp ax, 9
je 0x405de8
cmp ax, 0xa
jne 0x405e06
mov eax, 0x6e5c
add ebp, 2
mov word [ebp - 2], ax
lea ecx, [esp + 0x3c2]
lea eax, [edx - 1]
cmp ebp, ecx
ja 0x405d50
test edx, edx
jle 0x405d50
mov edx, eax
movzx eax, word [ebx]
add ebx, 2
cmp ax, 0xd
je 0x405dd0
jbe 0x405ce0
cmp ax, 0x22
je 0x405e60
cmp ax, 0x5c
jne 0x405df9
mov ecx, 0x5c5c
add ebp, 2
mov word [ebp - 2], cx
jmp 0x405d00
mov byte [ebp], 0x22
test eax, eax
jle 0x405ece
mov edx, 0x2e2e
mov byte [ebp + 3], 0x2e
lea eax, [ebp + 4]
mov word [ebp + 1], dx
mov byte [eax], 0
lea eax, [esp + 0x2a0]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str._______s_n
mov dword [esp + 8], global___FUNCTION__.8
mov dword [esp + 4], 0x40a000
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov edi, dword [edi]
cmp edi, esi
jne 0x405c6a
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x2c], eax
jne 0x405c40
mov esi, dword [esp + 0x30]
jmp 0x404c8a
mov eax, 0x725c
add ebp, 2
mov word [ebp - 2], ax
jmp 0x405d00
mov eax, 0x745c
add ebp, 2
mov word [ebp - 2], ax
jmp 0x405d00
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x405e98
mov ecx, eax
mov byte [ebp], 0x5c
add ebp, 5
shr cx, 0xc
movzx ecx, cx
movzx ecx, byte [ecx + str.0123456789abcdefcabinet_copy_file]
mov byte [ebp - 4], cl
mov ecx, eax
shr cx, 8
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefcabinet_copy_file]
mov byte [ebp - 3], cl
mov ecx, eax
and eax, 0xf
shr cx, 4
movzx eax, byte [eax + str.0123456789abcdefcabinet_copy_file]
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefcabinet_copy_file]
mov byte [ebp - 1], al
mov byte [ebp - 2], cl
jmp 0x405d00
mov eax, 0x225c
add ebp, 2
mov word [ebp - 2], ax
jmp 0x405d00
movzx ebx, bx
mov dword [esp], section..rdata
mov dword [esp + 4], ebx
call sym._wine_dbg_sprintf.constprop.0
mov edx, eax
jmp 0x405d80
mov byte [ebp], al
add ebp, 1
jmp 0x405d00
mov edx, 0x40b006
jmp 0x405d80
mov eax, 0x224c
mov byte [esp + 0x2a2], 0x22
lea ebp, [esp + 0x2a2]
mov word [esp + 0x2a0], ax
lea eax, [ebp + 1]
jmp 0x405d6c
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x40638b
mov eax, ebx
shr eax, 0x10
je 0x406256
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x40b00d
sub esp, 8
test eax, eax
jne 0x405fe8
cmp word [ebx], 0
je 0x4063b9
lea esi, [esi]
mov edx, eax
lea eax, [eax + 1]
cmp word [ebx + edx*2 + 2], 0
jne 0x405f28
mov ebp, 0x224c
lea ecx, [esp + 0x2a2]
mov word [esp + 0x2a0], bp
mov ebp, ebx
jmp 0x405f84
cmp ax, 9
je 0x406030
cmp ax, 0xa
jne 0x40604e
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea eax, [edx - 1]
test edx, edx
jle 0x405fb9
lea edi, [esp + 0x3c2]
cmp ecx, edi
ja 0x405fb9
mov edx, eax
movzx eax, word [ebp]
add ebp, 2
cmp ax, 0xd
je 0x406015
jbe 0x405f50
cmp ax, 0x22
je 0x4060a0
cmp ax, 0x5c
jne 0x406041
mov ebx, 0x5c5c
add ecx, 2
mov word [ecx - 2], bx
jmp 0x405f70
mov byte [ecx], 0x22
test eax, eax
jle 0x4063d5
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [esp + 0x2a0]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.___s_n
mov dword [esp + 8], global___FUNCTION__.8
mov dword [esp + 4], 0x40a000
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x405c4d
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x405f70
mov edi, 0x745c
add ecx, 2
mov word [ecx - 2], di
jmp 0x405f70
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x40627a
mov esi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr si, 0xc
movzx esi, si
movzx ebx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdefcabinet_copy_file]
and esi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x405f70
mov esi, 0x225c
add ecx, 2
mov word [ecx - 2], si
jmp 0x405f70
mov eax, esi
shr eax, 0x10
je 0x406467
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x40b00d
sub esp, 8
test eax, eax
jne 0x4052bf
cmp word [esi], 0
je 0x4064af
lea esi, [esi]
nop
mov edx, eax
lea eax, [eax + 1]
cmp word [esi + edx*2 + 2], 0
jne 0x4060f0
mov eax, 0x224c
mov dword [esp + 0x44], esi
lea ebx, [esp + 0x2a2]
mov word [esp + 0x2a0], ax
mov dword [esp + 0x34], esi
jmp 0x40615c
cmp ax, 9
je 0x406342
cmp ax, 0xa
jne 0x4062e0
mov eax, 0x6e5c
add ebx, 2
mov word [ebx - 2], ax
lea esi, [esi]
nop
lea ecx, [esp + 0x3c2]
lea eax, [edx - 1]
cmp ebx, ecx
ja 0x40528c
test edx, edx
jle 0x40528c
mov edx, eax
add dword [esp + 0x34], 2
mov eax, dword [esp + 0x34]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x4062c2
jbe 0x40611b
cmp ax, 0x22
je 0x406331
cmp ax, 0x5c
jne 0x4062d3
mov ecx, 0x5c5c
add ebx, 2
mov word [ebx - 2], cx
jmp 0x406140
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x4063af
mov esi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr si, 0xc
movzx esi, si
movzx ebx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdefcabinet_copy_file]
and esi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x405390
mov esi, 0x225c
add ecx, 2
mov word [ecx - 2], si
jmp 0x405390
mov byte [ecx], al
add ecx, 1
jmp 0x405490
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x405390
mov eax, 0x40b006
jmp 0x405024
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x405390
movzx ebx, bx
mov dword [esp], section..rdata
mov dword [esp + 4], ebx
call sym._wine_dbg_sprintf.constprop.0
mov edx, eax
jmp 0x40568d
movzx ebx, bx
mov dword [esp], section..rdata
mov dword [esp + 4], ebx
call sym._wine_dbg_sprintf.constprop.0
mov edx, eax
jmp 0x405fe8
mov byte [ecx], al
add ecx, 1
jmp 0x4055d0
mov byte [ecx], al
add ecx, 1
jmp 0x405f70
mov ebx, 0x224c
mov byte [esp + 0x2a2], 0x22
lea ecx, [esp + 0x2a2]
mov word [esp + 0x2a0], bx
lea eax, [ecx + 1]
jmp 0x405012
movzx eax, bx
mov dword [esp], section..rdata
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
mov edx, eax
jmp 0x405896
mov eax, 0x725c
add ebx, 2
mov word [ebx - 2], ax
jmp 0x406140
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x406481
mov esi, eax
mov byte [ebx], 0x5c
add ebx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [ebx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdefcabinet_copy_file]
and esi, 0xf
mov byte [ebx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdefcabinet_copy_file]
mov byte [ebx - 1], al
mov byte [ebx - 2], cl
jmp 0x406140
mov esi, 0x225c
add ebx, 2
mov word [ebx - 2], si
jmp 0x406140
mov eax, 0x745c
add ebx, 2
mov word [ebx - 2], ax
jmp 0x406140
mov byte [ecx], al
add ecx, 1
jmp 0x405810
mov eax, 0x224c
mov byte [esp + 0x2a2], 0x22
lea ecx, [esp + 0x2a2]
mov word [esp + 0x2a0], ax
lea eax, [ecx + 1]
jmp 0x405bdf
mov edx, 0x40b006
jmp 0x40568d
mov edx, 0x40b006
jmp 0x405fe8
movzx eax, si
mov dword [esp], section..rdata
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
mov edx, eax
jmp 0x4059cd
mov byte [ecx], al
add ecx, 1
jmp 0x405390
mov edi, 0x224c
mov byte [esp + 0x2a2], 0x22
lea ecx, [esp + 0x2a2]
mov word [esp + 0x2a0], di
lea eax, [ecx + 1]
jmp 0x405fd4
mov ebx, 0x224c
mov byte [esp + 0x2a2], 0x22
lea ecx, [esp + 0x2a2]
mov word [esp + 0x2a0], bx
lea eax, [ecx + 1]
jmp 0x405679
mov edx, 0x224c
mov byte [esp + 0x2a2], 0x22
lea ecx, [esp + 0x2a2]
mov word [esp + 0x2a0], dx
lea eax, [ecx + 1]
jmp 0x405882
mov dword [esp + 0xc], str.List_of_updates:_n
mov dword [esp + 8], global___FUNCTION__.8
mov dword [esp + 4], 0x40a000
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
movzx eax, byte [section..data]
mov edi, dword [esi + 0x18]
mov edx, eax
and edx, 8
cmp dword [esp + 0x28], edi
jne 0x405521
jmp 0x405bfc
movzx eax, si
mov dword [esp], section..rdata
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
mov edx, eax
jmp 0x4052bf
mov byte [ebx], al
add ebx, 1
jmp 0x406140
mov eax, 0x224c
mov byte [esp + 0x2a2], 0x22
lea ecx, [esp + 0x2a2]
mov word [esp + 0x2a0], ax
lea eax, [ecx + 1]
jmp 0x4059b9
mov eax, 0x224c
mov byte [esp + 0x2a2], 0x22
lea ebx, [esp + 0x2a2]
mov word [esp + 0x2a0], ax
lea eax, [ebx + 1]
jmp 0x4052ab