Function at 0x403cc0
Capabilities:
Check if file exists
Enumerate files on windows
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x528
lea rax, [rdx + 8]
lea rbp, [rdx + 0x18]
mov rsi, rcx
mov rbx, rdx
movq xmm1, rax
lea rdi, [rdx + 0x28]
movq xmm2, rbp
xor ecx, ecx
movddup xmm0, xmm1
movq xmm3, rdi
mov qword [rsp + 0x38], rax
movups xmmword [rdx + 8], xmm0
movddup xmm0, xmm2
movups xmmword [rdx + 0x18], xmm0
movddup xmm0, xmm3
movups xmmword [rdx + 0x28], xmm0
call qword [sym.imp.ole32.dll_CoInitialize]
test byte [section..data], 8
jne 0x404090
mov rcx, rbx
xor r13d, r13d
call sym.create_temp_directory
mov r14, rax
test rax, rax
je 0x403e29
mov rdx, rax
mov rcx, rsi
call sym.extract_cabinet
mov r13d, eax
test eax, eax
jne 0x403e40
test byte [section..data], 2
jne 0x4043e8
xor r13d, r13d
mov r12, qword [rbx + 8]
mov r15, qword [sym.imp.ucrtbase.dll_free]
mov r14, qword [rsp + 0x38]
mov rdx, qword [r12]
mov rsi, rdx
cmp qword [rsp + 0x38], r12
jne 0x403d8b
jmp 0x403dbe
mov rdx, rsi
mov rax, qword [r12 + 8]
mov qword [rdx + 8], rax
mov rdx, qword [r12]
mov qword [rax], rdx
mov rcx, qword [r12 + 0x10]
call sym.delete_directory
mov rcx, qword [r12 + 0x10]
call r15
mov rcx, r12
mov r12, rsi
call r15
mov rsi, qword [rsi]
cmp r14, r12
jne 0x403d88
mov rcx, qword [rbx + 0x18]
mov rdx, qword [rcx]
mov rsi, rdx
cmp rbp, rcx
jne 0x403dd3
jmp 0x403df1
mov rdx, rsi
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rdx, qword [rcx]
mov qword [rax], rdx
call sym.free_assembly
mov rcx, rsi
mov rsi, qword [rsi]
cmp rbp, rcx
jne 0x403dd0
mov rcx, qword [rbx + 0x28]
mov rdx, qword [rcx]
mov rbx, rdx
cmp rdi, rcx
jne 0x403e0b
jmp 0x403e29
mov rdx, rbx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rdx, qword [rcx]
mov qword [rax], rdx
call sym.free_dependency
mov rcx, rbx
mov rbx, qword [rbx]
cmp rdi, rcx
jne 0x403e08
mov eax, r13d
add rsp, 0x528
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, str..cab
mov rcx, r14
call sym.path_combine.part.0
mov r12, rax
test rax, rax
je 0x403d60
mov rcx, rax
mov rax, qword [sym.imp.kernel32.dll_FindFirstFileW]
lea rsi, [rsp + 0x80]
mov rdx, rsi
mov qword [rsp + 0x48], rax
call rax
mov r15, qword [sym.imp.ucrtbase.dll_free]
mov rcx, r12
mov r13, rax
call r15
cmp r13, 0xffffffffffffffff
je 0x403f66
mov rax, qword [sym.imp.kernel32.dll_FindNextFileW]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], rbp
mov rbp, rbx
mov qword [rsp + 0x40], r15
mov rbx, rax
mov r15, r14
test byte [rsp + 0x80], 0x10
jne 0x403f38
lea r12, [rsp + 0xac]
lea rdx, str.WSUSSCAN.cab
mov rcx, r12
call qword [sym.imp.ucrtbase.dll__wcsicmp]
test eax, eax
je 0x403f38
mov rdx, r12
mov rcx, r15
call sym.path_combine.part.0
mov r12, rax
test rax, rax
je 0x403f38
test byte [section..data], 8
jne 0x4049e0
mov rcx, rbp
call sym.create_temp_directory
mov rdi, rax
test rax, rax
je 0x404770
mov rdx, rax
mov rcx, r12
call sym.extract_cabinet
test eax, eax
jne 0x404538
test byte [section..data], 2
jne 0x4057c8
mov rax, qword [rsp + 0x40]
mov rcx, r12
call rax
nop dword [rax]
mov rdx, rsi
mov rcx, r13
call rbx
test eax, eax
jne 0x403eb0
mov r14, r15
mov rbx, rbp
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov r15, qword [rsp + 0x40]
mov rcx, r13
call qword [sym.imp.kernel32.dll_FindClose]
lea rdx, str..xml
mov rcx, r14
call sym.path_combine.part.0
mov r13, rax
test rax, rax
je 0x403d60
mov rcx, rax
mov rdx, rsi
mov rax, qword [rsp + 0x48]
call rax
mov rcx, r13
mov r12, rax
call r15
cmp r12, 0xffffffffffffffff
je 0x404011
mov qword [rsp + 0x40], r15
mov r13, qword [sym.imp.kernel32.dll_FindNextFileW]
nop dword [rax]
test byte [rsp + 0x80], 0x10
jne 0x403ffb
lea rdx, [rsp + 0xac]
mov rcx, r14
call sym.path_combine.part.0
mov r15, rax
test rax, rax
je 0x403ffb
mov rdx, rdi
mov rcx, rax
call sym.load_update
test eax, eax
jne 0x403ff1
lea rax, section..data
test byte [rax], 2
jne 0x404e48
mov rax, qword [rsp + 0x40]
mov rcx, r15
call rax
mov rdx, rsi
mov rcx, r12
call r13
test eax, eax
jne 0x403fb0
mov rcx, r12
call qword [sym.imp.kernel32.dll_FindClose]
test byte [section..data], 8
jne 0x404ad0
mov rsi, qword [rbx + 0x28]
cmp rdi, rsi
je 0x405208
mov rax, qword [rbx + 0x18]
cmp rbp, rax
je 0x4041f4
nop dword [rax + rax]
mov dword [rax + 0x10], 0
mov rax, qword [rax]
cmp rbp, rax
jne 0x404040
mov rsi, qword [rbx + 0x28]
cmp rdi, rsi
jne 0x4041f4
mov rax, qword [rbx + 0x18]
cmp rbp, rax
jne 0x404890
nop dword [rax]
test byte [section..data], 8
jne 0x404c59
mov r13d, 1
jmp 0x403d63
lea rax, [0x0040d020]
test rsi, rsi
je 0x4041bc
mov rax, rsi
shr rax, 0x10
je 0x404320
mov rdx, 0xffffffffffffffff
mov rcx, rsi
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, [0x0040d027]
test r8d, r8d
jne 0x4041bc
cmp word [rsi], 0
je 0x404e1c
xor eax, eax
nop dword [rax]
mov ecx, eax
add rax, 1
cmp word [rsi + rax*2], 0
jne 0x4040e0
mov edx, 0x224c
mov r8, rsi
lea r10, str.0123456789abcdefcabinet_copy_file
mov word [rsp + 0x2d0], dx
lea r9, [rsp + 0x3f2]
lea rdx, [rsp + 0x2d2]
jmp 0x404156
cmp ax, 9
je 0x404338
cmp ax, 0xa
jne 0x404373
mov r15d, 0x6e5c
add rdx, 2
mov word [rdx - 2], r15w
nop dword [rax + rax]
lea eax, [rcx - 1]
test ecx, ecx
jle 0x404190
cmp rdx, r9
ja 0x404190
mov ecx, eax
movzx eax, word [r8]
add r8, 2
cmp ax, 0xd
je 0x404350
jbe 0x404120
cmp ax, 0x22
je 0x4043d0
cmp ax, 0x5c
jne 0x404364
mov r11d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x404148
mov byte [rdx], 0x22
test eax, eax
jle 0x404e39
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea rcx, [rsp + 0x2d0]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.Processing_msu_file__s_n
lea r8, str.install_msu
mov ecx, 3
lea rdx, section..data
call sym.wine_dbg_log.constprop.0
jmp 0x403d26
mov rsi, qword [rsi]
cmp rdi, rsi
je 0x404880
lea rdx, [rsi + 0x10]
mov r8d, 1
mov rcx, rbp
call sym.install_assembly
test eax, eax
jne 0x4041e8
mov r13d, eax
test byte [section..data], 2
je 0x403d60
mov rsi, qword [rsi + 0x10]
lea rax, [0x0040d020]
test rsi, rsi
je 0x4058fe
mov rax, rsi
shr rax, 0x10
je 0x405e16
mov rdx, 0xffffffffffffffff
mov rcx, rsi
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, [0x0040d027]
test r8d, r8d
jne 0x4058fe
cmp word [rsi], 0
je 0x405e7c
xor eax, eax
nop word [rax + rax]
mov ecx, eax
add rax, 1
cmp word [rsi + rax*2], 0
jne 0x404270
mov r11d, 0x224c
lea rdx, [rsp + 0x2d2]
lea r8, [rsp + 0x3f2]
mov word [rsp + 0x2d0], r11w
lea r9, str.0123456789abcdefcabinet_copy_file
jmp 0x4042e6
cmp ax, 9
je 0x405c28
cmp ax, 0xa
jne 0x405c4b
mov r15d, 0x6e5c
add rdx, 2
mov word [rdx - 2], r15w
nop dword [rax + rax]
lea eax, [rcx - 1]
cmp rdx, r8
ja 0x4058d2
test ecx, ecx
jle 0x4058d2
mov ecx, eax
movzx eax, word [rsi]
add rsi, 2
cmp ax, 0xd
je 0x405c0e
jbe 0x4042a8
cmp ax, 0x22
je 0x405ca8
cmp ax, 0x5c
jne 0x405c3c
mov r10d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x4042d0
movzx edx, si
lea rcx, [0x0040d01a]
call sym.wine_dbg_sprintf.constprop.0
jmp 0x4041bc
mov r13d, 0x745c
add rdx, 2
mov word [rdx - 2], r13w
jmp 0x404148
mov r14d, 0x725c
add rdx, 2
mov word [rdx - 2], r14w
jmp 0x404148
lea r11d, [rax - 0x20]
cmp r11w, 0x5e
jbe 0x404870
mov r11d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r11w, 0xc
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rdx - 4], r11b
mov r11d, eax
shr r11w, 8
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rdx - 3], r11b
mov r11d, eax
and eax, 0xf
shr r11w, 4
movzx eax, byte [r10 + rax]
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rdx - 1], al
mov byte [rdx - 2], r11b
jmp 0x404148
mov r12d, 0x225c
add rdx, 2
mov word [rdx - 2], r12w
jmp 0x404148
lea rax, [0x0040d020]
test rsi, rsi
je 0x40450c
mov rax, rsi
shr rax, 0x10
je 0x405138
mov rdx, 0xffffffffffffffff
mov rcx, rsi
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, [0x0040d027]
test r8d, r8d
jne 0x40450c
cmp word [rsi], 0
je 0x405a43
xor eax, eax
nop dword [rax]
mov ecx, eax
add rax, 1
cmp word [rsi + rax*2], 0
jne 0x404438
mov r12d, 0x224c
lea rdx, [rsp + 0x2d2]
lea r8, [rsp + 0x3f2]
mov word [rsp + 0x2d0], r12w
lea r9, str.0123456789abcdefcabinet_copy_file
jmp 0x4044a6
cmp ax, 9
je 0x404d70
cmp ax, 0xa
jne 0x404d93
mov r15d, 0x6e5c
add rdx, 2
mov word [rdx - 2], r15w
nop dword [rax + rax]
lea eax, [rcx - 1]
cmp rdx, r8
ja 0x4044e0
test ecx, ecx
jle 0x4044e0
mov ecx, eax
movzx eax, word [rsi]
add rsi, 2
cmp ax, 0xd
je 0x404e08
jbe 0x404470
cmp ax, 0x22
je 0x404df0
cmp ax, 0x5c
jne 0x404d84
mov r10d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x404498
mov byte [rdx], 0x22
test eax, eax
jle 0x405a62
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea rcx, [rsp + 0x2d0]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.Failed_to_extract__s_n
lea r8, str.install_msu
mov ecx, 1
lea rdx, section..data
call sym.wine_dbg_log.constprop.1
jmp 0x403d63
lea rdx, str._manifest_.cix.xml
mov rcx, rdi
call sym.path_combine.part.0
mov r14, rax
test rax, rax
je 0x404770
mov rcx, rax
call qword [sym.imp.kernel32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4045ab
test byte [section..data], 1
je 0x4045ab
xor ecx, ecx
lea r9, str.Cabinet_uses_proprietary_msdelta_file_compression_which_is_not__yet__supported_n
lea r8, str.load_assemblies_from_cab
lea rdx, section..data
call sym.wine_dbg_log.constprop.1
test byte [section..data], 1
je 0x4045ab
lea r9, str.Installation_of_msu_file_will_most_likely_fail_n
lea r8, str.load_assemblies_from_cab
xor ecx, ecx
lea rdx, section..data
call sym.wine_dbg_log.constprop.1
mov rax, qword [rsp + 0x40]
mov rcx, r14
call rax
mov rcx, rdi
lea rdx, [0x0040d00c]
call sym.path_combine.part.0
mov rcx, rax
test rax, rax
je 0x404770
lea rdx, [rsp + 0x2d0]
mov qword [rsp + 0x60], rax
mov r10, qword [rsp + 0x48]
mov qword [rsp + 0x68], rdx
call r10
mov rcx, qword [rsp + 0x60]
mov r14, rax
mov rax, qword [rsp + 0x40]
call rax
cmp r14, 0xffffffffffffffff
je 0x403f2a
mov qword [rsp + 0x78], r12
lea rax, [rsp + 0x2fc]
mov qword [rsp + 0x60], r15
mov r15, qword [rsp + 0x68]
mov qword [rsp + 0x70], r13
mov r13, rax
nop word [rax + rax]
mov r12d, dword [rsp + 0x2d0]
and r12d, 0x10
jne 0x4046ee
movzx ecx, word [rsp + 0x2fc]
test cx, cx
je 0x405b2e
mov rax, r13
nop
add rax, 2
cmp word [rax], 0
jne 0x404650
sub rax, r13
sar rax, 1
mov r9d, eax
lea rdx, str..manifest
nop word [rax + rax]
add rdx, 2
cmp word [rdx], 0
jne 0x404670
lea r11, str..manifest
sub rdx, r11
sar rdx, 1
cmp r9d, edx
jb 0x404cf0
mov edx, edx
mov eax, eax
sub rax, rdx
mov rdx, r11
lea rcx, [r13 + rax*2]
call qword [sym.imp.ucrtbase.dll__wcsicmp]
test eax, eax
jne 0x404ce6
mov rdx, r13
mov rcx, rdi
call sym.path_combine.part.0
mov r12, rax
test rax, rax
je 0x4046ee
mov rcx, rax
call sym.load_manifest
test rax, rax
je 0x4046e4
mov rdx, qword [rsp + 0x50]
mov qword [rax], rdx
mov rdx, qword [rbp + 0x20]
mov qword [rax + 8], rdx
mov qword [rdx], rax
mov qword [rbp + 0x20], rax
mov rax, qword [rsp + 0x40]
mov rcx, r12
call rax
mov rdx, r15
mov rcx, r14
call rbx
test eax, eax
jne 0x404628
mov r15, qword [rsp + 0x60]
mov r13, qword [rsp + 0x70]
mov rcx, r14
mov r12, qword [rsp + 0x78]
call qword [sym.imp.kernel32.dll_FindClose]
jmp 0x403f2a
mov byte [rdx], 0x22
test eax, eax
jle 0x405e54
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea rcx, [rsp + 0x2d0]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.Failed_to_extract__s_n
lea r8, str.load_assemblies_from_cab
mov ecx, 1
lea rdx, section..data
call sym.wine_dbg_log.constprop.1
nop dword [rax + rax]
test byte [section..data], 2
je 0x403f2a
mov rax, r12
shr rax, 0x10
je 0x405bee
mov rdx, 0xffffffffffffffff
mov rcx, r12
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, [0x0040d027]
test r8d, r8d
jne 0x404fb0
cmp word [r12], 0
je 0x405df0
xor eax, eax
nop dword [rax + rax]
mov ecx, eax
add rax, 1
cmp word [r12 + rax*2], 0
jne 0x4047c0
mov r14d, 0x224c
mov r8, r12
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], r14w
lea r9, [rsp + 0x3f2]
jmp 0x404836
cmp ax, 9
je 0x4058c0
cmp ax, 0xa
jne 0x405962
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea eax, [rcx - 1]
test ecx, ecx
jle 0x404f84
cmp rdx, r9
ja 0x404f84
mov ecx, eax
movzx eax, word [r8]
add r8, 2
cmp ax, 0xd
je 0x4059d8
jbe 0x4047f8
cmp ax, 0x22
je 0x4059c0
cmp ax, 0x5c
jne 0x405953
mov r10d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x404820
mov byte [rdx], al
add rdx, 1
jmp 0x404148
mov rax, qword [rbx + 0x18]
cmp rbp, rax
je 0x40489f
nop dword [rax]
mov dword [rax + 0x10], 0
mov rax, qword [rax]
cmp rbp, rax
jne 0x404890
mov rsi, qword [rbx + 0x28]
cmp rdi, rsi
jne 0x4048bc
jmp 0x404070
mov rsi, qword [rsi]
cmp rdi, rsi
je 0x404070
xor r8d, r8d
lea rdx, [rsi + 0x10]
mov rcx, rbp
call sym.install_assembly
test eax, eax
jne 0x4048b0
mov r13d, eax
test byte [section..data], 2
je 0x403d60
mov rsi, qword [rsi + 0x10]
lea rax, [0x0040d020]
test rsi, rsi
je 0x405b71
mov rax, rsi
shr rax, 0x10
je 0x405e5d
mov rdx, 0xffffffffffffffff
mov rcx, rsi
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, [0x0040d027]
test r8d, r8d
jne 0x405b71
cmp word [rsi], 0
je 0x405e9f
xor eax, eax
nop
mov ecx, eax
add rax, 1
cmp word [rsi + rax*2], 0
jne 0x404930
mov r10d, 0x224c
lea rdx, [rsp + 0x2d2]
lea r9, str.0123456789abcdefcabinet_copy_file
mov word [rsp + 0x2d0], r10w
lea r8, [rsp + 0x3f2]
jmp 0x4049a6
cmp ax, 9
je 0x405d67
cmp ax, 0xa
jne 0x405d88
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea eax, [rcx - 1]
test ecx, ecx
jle 0x405b43
cmp rdx, r8
ja 0x405b43
mov ecx, eax
movzx eax, word [rsi]
add rsi, 2
cmp ax, 0xd
je 0x405d55
jbe 0x404968
cmp ax, 0x22
je 0x405dde
cmp ax, 0x5c
jne 0x405d79
mov eax, 0x5c5c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404990
shr rax, 0x10
je 0x404c20
mov rdx, 0xffffffffffffffff
mov rcx, r12
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, [0x0040d027]
test r8d, r8d
jne 0x404c30
cmp word [r12], 0
je 0x405bc6
xor eax, eax
nop dword [rax + rax]
mov ecx, eax
add rax, 1
cmp word [r12 + rax*2], 0
jne 0x404a20
mov r8d, 0x224c
lea rdx, [rsp + 0x2d2]
lea r9, [rsp + 0x3f2]
mov word [rsp + 0x2d0], r8w
mov r8, r12
jmp 0x404a96
cmp ax, 9
je 0x405078
cmp ax, 0xa
jne 0x404fe8
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea eax, [rcx - 1]
cmp rdx, r9
ja 0x405250
test ecx, ecx
jle 0x405250
mov ecx, eax
movzx eax, word [r8]
add r8, 2
cmp ax, 0xd
je 0x405060
jbe 0x404a58
cmp ax, 0x22
je 0x405048
cmp ax, 0x5c
jne 0x404fd9
mov r10d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x404a80
lea rcx, section..data
call sym.__wine_dbg_get_channel_flags
test al, 8
je 0x40401e
movzx eax, byte [section..data]
test al, 8
jne 0x405281
mov r13, qword [rbx + 0x28]
cmp rdi, r13
je 0x4052e3
lea rsi, [0x0040d020]
lea r14, str.0123456789abcdefcabinet_copy_file
jmp 0x404b1d
mov r13, qword [r13]
cmp rdi, r13
je 0x4052c0
mov edx, eax
and edx, 8
je 0x404b10
mov r12, qword [r13 + 0x10]
mov rax, rsi
test r12, r12
je 0x404cae
mov rax, r12
shr rax, 0x10
je 0x405a18
mov rdx, 0xffffffffffffffff
mov rcx, r12
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, [0x0040d027]
test r8d, r8d
jne 0x404cae
cmp word [r12], 0
je 0x405ce2
xor eax, eax
nop word [rax + rax]
mov ecx, eax
add rax, 1
cmp word [r12 + rax*2], 0
jne 0x404b78
mov eax, 0x224c
lea rdx, [rsp + 0x2d2]
lea r8, [rsp + 0x3f2]
mov word [rsp + 0x2d0], ax
jmp 0x404be6
cmp ax, 9
je 0x405108
cmp ax, 0xa
jne 0x405099
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea eax, [rcx - 1]
test ecx, ecx
jle 0x404c80
cmp rdx, r8
ja 0x404c80
mov ecx, eax
movzx eax, word [r12]
add r12, 2
cmp ax, 0xd
je 0x4050f0
jbe 0x404ba8
cmp ax, 0x22
je 0x405120
cmp ax, 0x5c
jne 0x40508a
mov eax, 0x5c5c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404bd0
movzx edx, r12w
lea rcx, [0x0040d01a]
call sym.wine_dbg_sprintf.constprop.0
mov qword [rsp + 0x20], rax
lea r9, str.Processing_cab_file__s_n
lea r8, str.load_assemblies_from_cab
mov ecx, 3
lea rdx, section..data
call sym.wine_dbg_log.constprop.0
jmp 0x403ef6
lea r9, str.Installation_finished_n
lea r8, str.install_msu
mov ecx, 3
lea rdx, section..data
call sym.wine_dbg_log.constprop.0
jmp 0x40407d
mov byte [rdx], 0x22
test eax, eax
jle 0x405cff
mov r15d, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], r15w
mov byte [rax], 0
lea rcx, [rsp + 0x2d0]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea rdx, section..data
lea r9, str.___s_n
mov ecx, 3
lea r8, str.install_msu
call sym.wine_dbg_log.constprop.0
lea rax, section..data
movzx eax, byte [rax]
mov edx, eax
and edx, 8
jmp 0x404b10
movzx ecx, word [rsp + 0x2fc]
nop
test cx, cx
je 0x405d4e
mov rax, r13
nop dword [rax]
add rax, 2
cmp word [rax], 0
jne 0x404d00
sub rax, r13
sar rax, 1
mov r12d, eax
lea rdx, str..mum
nop word [rax + rax]
add rdx, 2
cmp word [rdx], 0
jne 0x404d20
lea rcx, str..mum
sub rdx, rcx
sar rdx, 1
cmp r12d, edx
jb 0x4046ee
mov edx, edx
mov eax, eax
sub rax, rdx
lea rdx, str..mum
lea rcx, [r13 + rax*2]
call qword [sym.imp.ucrtbase.dll__wcsicmp]
test eax, eax
je 0x4046ad
jmp 0x4046ee
mov r12d, 0x745c
add rdx, 2
mov word [rdx - 2], r12w
jmp 0x404498
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x405240
mov r10d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r10w, 0xc
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 4], r10b
mov r10d, eax
shr r10w, 8
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 3], r10b
mov r10d, eax
and eax, 0xf
shr r10w, 4
movzx eax, byte [r9 + rax]
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 1], al
mov byte [rdx - 2], r10b
jmp 0x404498
mov r11d, 0x225c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x404498
mov r14d, 0x725c
add rdx, 2
mov word [rdx - 2], r14w
jmp 0x404498
mov eax, 0x224c
mov byte [rsp + 0x2d2], 0x22
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], ax
lea rax, [rdx + 1]
jmp 0x4041ac
mov rax, r15
shr rax, 0x10
je 0x405a6b
mov rdx, 0xffffffffffffffff
mov rcx, r15
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, [0x0040d027]
test r8d, r8d
jne 0x404f5b
cmp word [r15], 0
je 0x405d08
xor eax, eax
nop dword [rax]
mov ecx, eax
add rax, 1
cmp word [r15 + rax*2], 0
jne 0x404e88
mov eax, 0x224c
mov r8, r15
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], ax
lea r9, [rsp + 0x3f2]
jmp 0x404ef6
cmp ax, 9
je 0x405168
cmp ax, 0xa
jne 0x405189
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea eax, [rcx - 1]
test ecx, ecx
jle 0x404f2f
cmp rdx, r9
ja 0x404f2f
mov ecx, eax
movzx eax, word [r8]
add r8, 2
cmp ax, 0xd
je 0x405150
jbe 0x404ec0
cmp ax, 0x22
je 0x4051f0
cmp ax, 0x5c
jne 0x40517a
mov r10d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x404ee8
mov byte [rdx], 0x22
test eax, eax
jle 0x405d25
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea rcx, [rsp + 0x2d0]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.Failed_to_load_all_updates_from__s__ignoring_n
lea r8, str.install_msu
mov ecx, 1
lea rdx, section..data
call sym.wine_dbg_log.constprop.1
jmp 0x403ff1
mov byte [rdx], 0x22
test eax, eax
jle 0x405e0d
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea rcx, [rsp + 0x2d0]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.Failed_to_load_all_manifests_from__s__ignoring_n
lea r8, str.install_msu
mov ecx, 1
lea rdx, section..data
call sym.wine_dbg_log.constprop.1
jmp 0x403f2a
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x4059f0
mov r10d, eax
lea rdi, str.0123456789abcdefcabinet_copy_file
mov byte [rdx], 0x5c
add rdx, 5
shr r10w, 0xc
and r10d, 0xf
movzx r10d, byte [rdi + r10]
mov byte [rdx - 4], r10b
mov r10d, eax
shr r10w, 8
and r10d, 0xf
movzx r10d, byte [rdi + r10]
mov byte [rdx - 3], r10b
mov r10d, eax
and eax, 0xf
shr r10w, 4
movzx eax, byte [rdi + rax]
and r10d, 0xf
movzx r10d, byte [rdi + r10]
mov byte [rdx - 1], al
mov byte [rdx - 2], r10b
jmp 0x404a80
mov r11d, 0x225c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x404a80
mov r14d, 0x725c
add rdx, 2
mov word [rdx - 2], r14w
jmp 0x404a80
mov edi, 0x745c
add rdx, 2
mov word [rdx - 2], di
jmp 0x404a80
lea r9d, [rax - 0x20]
cmp r9w, 0x5e
jbe 0x405a38
mov r9d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r9w, 0xc
and r9d, 0xf
movzx r9d, byte [r14 + r9]
mov byte [rdx - 4], r9b
mov r9d, eax
shr r9w, 8
and r9d, 0xf
movzx r9d, byte [r14 + r9]
mov byte [rdx - 3], r9b
mov r9d, eax
and eax, 0xf
shr r9w, 4
movzx eax, byte [r14 + rax]
and r9d, 0xf
movzx r9d, byte [r14 + r9]
mov byte [rdx - 1], al
mov byte [rdx - 2], r9b
jmp 0x404bd0
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404bd0
mov eax, 0x745c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404bd0
mov eax, 0x225c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404bd0
movzx edx, si
lea rcx, [0x0040d01a]
call sym.wine_dbg_sprintf.constprop.0
jmp 0x40450c
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404ee8
mov eax, 0x745c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404ee8
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x405b38
mov r10d, eax
lea r11, str.0123456789abcdefcabinet_copy_file
mov byte [rdx], 0x5c
add rdx, 5
shr r10w, 0xc
and r10d, 0xf
movzx r10d, byte [r11 + r10]
mov byte [rdx - 4], r10b
mov r10d, eax
shr r10w, 8
and r10d, 0xf
movzx r10d, byte [r11 + r10]
mov byte [rdx - 3], r10b
mov r10d, eax
and eax, 0xf
shr r10w, 4
movzx eax, byte [r11 + rax]
and r10d, 0xf
movzx r10d, byte [r11 + r10]
mov byte [rdx - 1], al
mov byte [rdx - 2], r10b
jmp 0x404ee8
mov r11d, 0x225c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x404ee8
test byte [section..data], 2
je 0x403d60
lea r9, str.No_updates_found__probably_incompatible_MSU_file_format__n
lea r8, str.install_msu
mov ecx, 1
lea rdx, section..data
call sym.wine_dbg_log.constprop.1
jmp 0x403d60
mov byte [rdx], al
add rdx, 1
jmp 0x404498
mov byte [rdx], 0x22
test eax, eax
jle 0x405be5
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea rcx, [rsp + 0x2d0]
call sym.__wine_dbg_strdup
jmp 0x404c30
lea rdx, section..data
lea r9, str.List_of_updates:_n
mov ecx, 3
lea r8, str.install_msu
call sym.wine_dbg_log.constprop.0
movzx eax, byte [section..data]
mov r13, qword [rbx + 0x28]
mov edx, eax
and edx, 8
cmp rdi, r13
jne 0x404b00
nop dword [rax]
test dl, dl
je 0x4052e3
lea r9, str.List_of_manifests__with_dependencies_:_n
lea r8, str.install_msu
mov ecx, 3
lea rdx, section..data
call sym.wine_dbg_log.constprop.0
mov r12, qword [rbx + 0x18]
cmp rbp, r12
je 0x40401e
mov qword [rsp + 0x578], rbx
lea r13, str.0123456789abcdefcabinet_copy_file
nop
lea rax, section..data
test byte [rax], 8
jne 0x4055c0
mov rbx, qword [r12 + 0x50]
lea rsi, [r12 + 0x50]
lea r14, [0x0040d020]
cmp rsi, rbx
jne 0x40533c
jmp 0x40549c
mov rbx, qword [rbx]
cmp rbx, rsi
je 0x40549c
lea rax, section..data
test byte [rax], 8
je 0x405330
mov r15, qword [rbx + 0x10]
mov rax, r14
test r15, r15
je 0x40546c
mov rax, r15
shr rax, 0x10
je 0x405570
mov rdx, 0xffffffffffffffff
mov rcx, r15
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, [0x0040d027]
test r8d, r8d
jne 0x40546c
cmp word [r15], 0
je 0x405598
xor eax, eax
nop dword [rax]
mov ecx, eax
add rax, 1
cmp word [r15 + rax*2], 0
jne 0x405398
mov r8d, 0x224c
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], r8w
lea r8, [rsp + 0x3f2]
jmp 0x405406
cmp ax, 9
je 0x405540
cmp ax, 0xa
jne 0x4054e1
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea eax, [rcx - 1]
test ecx, ecx
jle 0x405440
cmp rdx, r8
ja 0x405440
mov ecx, eax
movzx eax, word [r15]
add r15, 2
cmp ax, 0xd
je 0x4054c0
jbe 0x4053d0
cmp ax, 0x22
je 0x405558
cmp ax, 0x5c
jne 0x4054d2
mov r9d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r9w
jmp 0x4053f8
mov byte [rdx], 0x22
test eax, eax
jle 0x4055b7
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea rcx, [rsp + 0x2d0]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str._______s_n
lea r8, str.install_msu
mov ecx, 3
lea rdx, section..data
call sym.wine_dbg_log.constprop.0
mov rbx, qword [rbx]
cmp rbx, rsi
jne 0x40533c
mov r12, qword [r12]
cmp rbp, r12
jne 0x405300
mov rbx, qword [rsp + 0x578]
jmp 0x40401e
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x4053f8
lea r9d, [rax - 0x20]
cmp r9w, 0x5e
jbe 0x405588
mov r9d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r9w, 0xc
and r9d, 0xf
movzx r9d, byte [r13 + r9]
mov byte [rdx - 4], r9b
mov r9d, eax
shr r9w, 8
and r9d, 0xf
movzx r9d, byte [r13 + r9]
mov byte [rdx - 3], r9b
mov r9d, eax
and eax, 0xf
shr r9w, 4
movzx eax, byte [r13 + rax]
and r9d, 0xf
movzx r9d, byte [r13 + r9]
mov byte [rdx - 1], al
mov byte [rdx - 2], r9b
jmp 0x4053f8
mov r11d, 0x745c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x4053f8
mov r10d, 0x225c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x4053f8
movzx edx, r15w
lea rcx, [0x0040d01a]
call sym.wine_dbg_sprintf.constprop.0
jmp 0x40546c
mov byte [rdx], al
add rdx, 1
jmp 0x4053f8
mov r9d, 0x224c
mov byte [rsp + 0x2d2], 0x22
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], r9w
lea rax, [rdx + 1]
jmp 0x40545c
mov rsi, qword [r12 + 0x28]
lea rax, [0x0040d020]
test rsi, rsi
je 0x4056ec
mov rax, rsi
shr rax, 0x10
je 0x405a00
mov rdx, 0xffffffffffffffff
mov rcx, rsi
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, [0x0040d027]
test r8d, r8d
jne 0x4056ec
cmp word [rsi], 0
je 0x405cbc
xor eax, eax
nop dword [rax]
mov ecx, eax
add rax, 1
cmp word [rsi + rax*2], 0
jne 0x405618
mov eax, 0x224c
lea rdx, [rsp + 0x2d2]
lea r8, [rsp + 0x3f2]
mov word [rsp + 0x2d0], ax
jmp 0x40567e
cmp ax, 9
je 0x405730
cmp ax, 0xa
jne 0x405753
mov r14d, 0x6e5c
add rdx, 2
mov word [rdx - 2], r14w
nop dword [rax + rax]
lea eax, [rcx - 1]
cmp rdx, r8
ja 0x4056c0
test ecx, ecx
jle 0x4056c0
mov ecx, eax
movzx eax, word [rsi]
add rsi, 2
cmp ax, 0xd
je 0x405718
jbe 0x405648
cmp ax, 0x22
je 0x4057b0
cmp ax, 0x5c
jne 0x405744
mov r9d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r9w
jmp 0x405670
mov byte [rdx], 0x22
test eax, eax
jle 0x405cd9
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea rcx, [rsp + 0x2d0]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.___s_n
lea r8, str.install_msu
mov ecx, 3
lea rdx, section..data
call sym.wine_dbg_log.constprop.0
jmp 0x405310
mov ebx, 0x725c
add rdx, 2
mov word [rdx - 2], bx
jmp 0x405670
mov r11d, 0x745c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x405670
lea r9d, [rax - 0x20]
cmp r9w, 0x5e
jbe 0x405a2d
mov r9d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r9w, 0xc
and r9d, 0xf
movzx r9d, byte [r13 + r9]
mov byte [rdx - 4], r9b
mov r9d, eax
shr r9w, 8
and r9d, 0xf
movzx r9d, byte [r13 + r9]
mov byte [rdx - 3], r9b
mov r9d, eax
and eax, 0xf
shr r9w, 4
movzx eax, byte [r13 + rax]
and r9d, 0xf
movzx r9d, byte [r13 + r9]
mov byte [rdx - 1], al
mov byte [rdx - 2], r9b
jmp 0x405670
mov r10d, 0x225c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x405670
mov rax, r12
shr rax, 0x10
je 0x405d2e
mov rdx, 0xffffffffffffffff
mov rcx, r12
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, [0x0040d027]
test r8d, r8d
jne 0x404747
cmp word [r12], 0
je 0x405e35
xor eax, eax
nop word cs:[rax + rax]
mov ecx, eax
add rax, 1
cmp word [r12 + rax*2], 0
jne 0x405810
mov r11d, 0x224c
mov r8, r12
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], r11w
lea r9, [rsp + 0x3f2]
jmp 0x405886
cmp ax, 9
je 0x405b08
cmp ax, 0xa
jne 0x405a8f
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea eax, [rcx - 1]
cmp rdx, r9
ja 0x40471b
test ecx, ecx
jle 0x40471b
mov ecx, eax
movzx eax, word [r8]
add r8, 2
cmp ax, 0xd
je 0x405b1a
jbe 0x405848
cmp ax, 0x22
je 0x405af0
cmp ax, 0x5c
jne 0x405a80
mov r10d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x405870
mov edi, 0x745c
add rdx, 2
mov word [rdx - 2], di
jmp 0x404820
mov byte [rdx], 0x22
test eax, eax
jle 0x405e96
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea rcx, [rsp + 0x2d0]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.Failed_to_install_update__s_n
lea r8, str.install_updates
mov ecx, 1
lea rdx, section..data
call sym.wine_dbg_log.constprop.1
test byte [section..data], 2
je 0x403d60
lea r9, str.Dry_run_failed__aborting_installation_n
lea r8, str.install_msu
mov ecx, 1
lea rdx, section..data
call sym.wine_dbg_log.constprop.1
jmp 0x403d63
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x405c03
mov r10d, eax
lea rdi, str.0123456789abcdefcabinet_copy_file
mov byte [rdx], 0x5c
add rdx, 5
shr r10w, 0xc
and r10d, 0xf
movzx r10d, byte [rdi + r10]
mov byte [rdx - 4], r10b
mov r10d, eax
shr r10w, 8
and r10d, 0xf
movzx r10d, byte [rdi + r10]
mov byte [rdx - 3], r10b
mov r10d, eax
and eax, 0xf
shr r10w, 4
movzx eax, byte [rdi + rax]
and r10d, 0xf
movzx r10d, byte [rdi + r10]
mov byte [rdx - 1], al
mov byte [rdx - 2], r10b
jmp 0x404820
mov r11d, 0x225c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x404820
mov r14d, 0x725c
add rdx, 2
mov word [rdx - 2], r14w
jmp 0x404820
mov byte [rdx], al
add rdx, 1
jmp 0x404a80
movzx edx, si
lea rcx, [0x0040d01a]
call sym.wine_dbg_sprintf.constprop.0
jmp 0x4056ec
movzx edx, r12w
lea rcx, [0x0040d01a]
call sym.wine_dbg_sprintf.constprop.0
jmp 0x404cae
mov byte [rdx], al
add rdx, 1
jmp 0x405670
mov byte [rdx], al
add rdx, 1
jmp 0x404bd0
mov r14d, 0x224c
mov byte [rsp + 0x2d2], 0x22
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], r14w
lea rax, [rdx + 1]
jmp 0x4044fc
movzx edx, r15w
lea rcx, [0x0040d01a]
call sym.wine_dbg_sprintf.constprop.0
jmp 0x404f5b
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x405d43
mov r10d, eax
lea rdi, str.0123456789abcdefcabinet_copy_file
mov byte [rdx], 0x5c
add rdx, 5
shr r10w, 0xc
and r10d, 0xf
movzx r10d, byte [rdi + r10]
mov byte [rdx - 4], r10b
mov r10d, eax
shr r10w, 8
and r10d, 0xf
movzx r10d, byte [rdi + r10]
mov byte [rdx - 3], r10b
mov r10d, eax
and eax, 0xf
shr r10w, 4
movzx eax, byte [rdi + rax]
and r10d, 0xf
movzx r10d, byte [rdi + r10]
mov byte [rdx - 1], al
mov byte [rdx - 2], r10b
jmp 0x405870
mov r11d, 0x225c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x405870
mov edi, 0x745c
add rdx, 2
mov word [rdx - 2], di
jmp 0x405870
mov r14d, 0x725c
add rdx, 2
mov word [rdx - 2], r14w
jmp 0x405870
xor r9d, r9d
xor eax, eax
jmp 0x404663
mov byte [rdx], al
add rdx, 1
jmp 0x404ee8
mov byte [rdx], 0x22
test eax, eax
jle 0x405eb9
mov r15d, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], r15w
mov byte [rax], 0
lea rcx, [rsp + 0x2d0]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.Failed_to_install_update__s_n
lea r8, str.install_updates
mov ecx, 1
lea rdx, section..data
call sym.wine_dbg_log.constprop.1
test byte [section..data], 2
je 0x403d60
lea r9, str.Installation_failed_n
lea r8, str.install_msu
mov ecx, 1
lea rdx, section..data
call sym.wine_dbg_log.constprop.1
jmp 0x403d63
mov r9d, 0x224c
mov byte [rsp + 0x2d2], 0x22
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], r9w
lea rax, [rdx + 1]
jmp 0x40526c
movzx edx, r12w
lea rcx, [0x0040d01a]
call sym.wine_dbg_sprintf.constprop.0
jmp 0x404fb0
mov byte [rdx], al
add rdx, 1
jmp 0x404820
mov r14d, 0x725c
add rdx, 2
mov word [rdx - 2], r14w
jmp 0x4042d0
mov r12d, 0x745c
add rdx, 2
mov word [rdx - 2], r12w
jmp 0x4042d0
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x405e2a
mov r10d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r10w, 0xc
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 4], r10b
mov r10d, eax
shr r10w, 8
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 3], r10b
mov r10d, eax
and eax, 0xf
shr r10w, 4
movzx eax, byte [r9 + rax]
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 1], al
mov byte [rdx - 2], r10b
jmp 0x4042d0
mov r11d, 0x225c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x4042d0
mov byte [rsp + 0x2d2], 0x22
mov edx, 0x224c
mov word [rsp + 0x2d0], dx
lea rdx, [rsp + 0x2d2]
lea rax, [rdx + 1]
jmp 0x4056dc
mov eax, 0x224c
mov byte [rsp + 0x2d2], 0x22
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], ax
lea rax, [rdx + 1]
jmp 0x404c9e
mov eax, 0x224c
mov byte [rsp + 0x2d2], 0x22
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], ax
lea rax, [rdx + 1]
jmp 0x404f4b
movzx edx, r12w
lea rcx, [0x0040d01a]
call sym.wine_dbg_sprintf.constprop.0
jmp 0x404747
mov byte [rdx], al
add rdx, 1
jmp 0x405870
xor eax, eax
jmp 0x404d13
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404990
mov eax, 0x745c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404990
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x405e71
mov r10d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r10w, 0xc
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 4], r10b
mov r10d, eax
shr r10w, 8
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 3], r10b
mov r10d, eax
and eax, 0xf
shr r10w, 4
movzx eax, byte [r9 + rax]
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 1], al
mov byte [rdx - 2], r10b
jmp 0x404990
mov eax, 0x225c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404990
mov edi, 0x224c
mov byte [rsp + 0x2d2], 0x22
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], di
lea rax, [rdx + 1]
jmp 0x404fa0
movzx edx, si
lea rcx, [0x0040d01a]
call sym.wine_dbg_sprintf.constprop.0
jmp 0x4058fe
mov byte [rdx], al
add rdx, 1
jmp 0x4042d0
mov r10d, 0x224c
mov byte [rsp + 0x2d2], 0x22
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], r10w
lea rax, [rdx + 1]
jmp 0x404737
movzx edx, si
lea rcx, [0x0040d01a]
call sym.wine_dbg_sprintf.constprop.0
jmp 0x405b71
mov byte [rdx], al
add rdx, 1
jmp 0x404990
mov byte [rsp + 0x2d2], 0x22
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], 0x224c
lea rax, [rdx + 1]
jmp 0x4058ee
mov byte [rsp + 0x2d2], 0x22
lea rdx, [rsp + 0x2d2]
mov word [rsp + 0x2d0], 0x224c
lea rax, [rdx + 1]
jmp 0x405b61