Function at 0x1400089b0
Capabilities:
Query environment variable

Disassembly:
push r15
mov eax, 0x2208
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.14000fc00
sub rsp, rax
mov r13, rdx
mov r12, rcx
mov dword [rsp + 0x2260], r8d
lea rdx, [rsp + 0x74]
lea r8, [rsp + 0x78]
mov rcx, r13
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x74], 0xffffffff
mov qword [rsp + 0x80], 0
call sym.get_link_location.constprop.0
test eax, eax
je 0x140008d58
mov eax, dword [rsp + 0x74]
cmp eax, 0x19
mov dword [rsp + 0x64], eax
movzx eax, byte [global___dbch]
ja 0x140008e60
mov ebx, dword [rsp + 0x64]
mov rdx, 0xfffffffffdbef7ff
bt rdx, rbx
jb 0x140008e60
mov rbp, qword [rsp + 0x78]
lea r15, [rsp + 0x1a00]
test al, 8
jne 0x140009400
xor eax, eax
lea r14, [rsp + 0xa00]
mov r8d, 0x104
mov rcx, r12
mov word [rsp + 0xa00], ax
mov rax, qword [r12]
mov rdx, r14
call qword [rax + 0x40]
lea rax, [rsp + 0x3d0]
mov rdi, qword [sym.imp.kernel32.dll_ExpandEnvironmentStringsW]
mov rcx, r14
mov qword [rsp + 0x58], rax
mov r8d, 0x104
mov rdx, rax
call rdi
test byte [0x140010000], 8
jne 0x1400091e0
xor eax, eax
mov r8d, 0x400
mov rdx, r14
mov rcx, r12
mov word [rsp + 0xa00], ax
mov rax, qword [r12]
call qword [rax + 0x30]
lea rax, [rsp + 0x1200]
mov r8d, 0x400
mov rcx, r14
mov qword [rsp + 0x50], rax
mov rdx, rax
call rdi
test byte [0x140010000], 8
jne 0x1400092f0
mov r8, r15
mov rdx, r14
mov rcx, r12
call sym.get_cmdline.constprop.0.isra.0
lea rsi, [rsp + 0x1c0]
mov r8d, 0x104
mov rcx, r14
mov rdx, rsi
call rdi
test byte [0x140010000], 8
jne 0x1400090e0
xor eax, eax
lea rbx, [rsp + 0x5e0]
mov rdx, r14
mov rcx, r12
mov word [rsp + 0xa00], ax
mov rax, qword [r12]
mov r8d, 0x104
lea r9, [rsp + 0x70]
call qword [rax + pe_nt_image_headers64]
mov r8d, 0x104
mov rdx, rbx
mov rcx, r14
call rdi
test byte [0x140010000], 8
jne 0x140008fe0
xor eax, eax
cmp word [rsp + 0x1c0], 0
mov word [rsp + 0x7f0], ax
jne 0x140008bc0
mov rax, qword [r12]
mov rcx, r12
mov qword [rsp + 0x88], 0
lea rdx, [rsp + 0x88]
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x140008bc0
mov rdx, rsi
call qword [sym.imp.shell32.dll_SHGetPathFromIDListW]
test eax, eax
je 0x140008bc0
test byte [0x140010000], 8
jne 0x1400099b0
nop dword [rax + rax]
xor r8d, r8d
mov edx, dword [rsp + 0x70]
mov r9d, dword [rsp + 0x2260]
cmp word [rsp + 0x5e0], 0
je 0x140008e98
mov rcx, rbx
call dbg.extract_icon
mov rdi, rax
test rdi, rdi
je 0x140008eac
cmp word [rsp + 0x1c0], 0
jne 0x140009880
xor ecx, ecx
mov r8d, 1
mov edx, 1
lea r9, str.winemenubuilder_semaphore
call qword [sym.imp.kernel32.dll_CreateSemaphoreA]
xor r8d, r8d
mov ecx, 1
mov dword [rsp + 0x20], 0x1cff
mov qword [rsp + 0x80], rax
lea rdx, [rsp + 0x80]
mov r9d, 0xffffffff
call qword [sym.imp.user32.dll_MsgWaitForMultipleObjects]
test eax, eax
jne 0x140009840
mov eax, dword [rsp + 0x64]
cmp eax, 0x10
je 0x1400098c8
cmp eax, 0x19
je 0x1400098da
mov qword [rsp + 0x30], rdi
xor r9d, r9d
mov r8, r13
mov rcx, r13
lea rax, [rsp + 0x7f0]
mov rdx, rbp
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
call dbg.write_menu_entry
test eax, eax
sete r12b
sete r13b
movzx r12d, r12b
mov rcx, qword [rsp + 0x80]
xor r8d, r8d
mov edx, 1
xor r12d, 1
call qword [sym.imp.kernel32.dll_ReleaseSemaphore]
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x140008cd7
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rsi, qword gs:[0x30]
mov rax, qword [rsi + 0x60]
mov rbx, qword [sym.imp.kernel32.dll_HeapFree]
mov r8, rdi
xor edx, edx
mov rcx, qword [rax + 0x30]
call rbx
mov rax, qword [rsi + 0x60]
mov r8, rbp
xor edx, edx
mov rcx, qword [rax + 0x30]
call rbx
mov ecx, dword [rsp + 0x2260]
test ecx, ecx
jne 0x140008d3d
test r13b, r13b
je 0x140008d3d
test byte [0x140010000], 2
je 0x140008d3d
lea r9, str.failed_to_build_the_menu_n
lea r8, global___func__.5
mov ecx, 1
lea rdx, [0x140010000]
call sym.wine_dbg_log.constprop.0
mov eax, r12d
add rsp, 0x2208
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r12d, 1
test byte [0x140010000], 4
je 0x140008d3d
mov rax, r13
shr rax, 0x10
je 0x140009970
mov rdx, 0xffffffffffffffff
mov rcx, r13
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x140009980
movzx eax, word [r13]
test ax, ax
je 0x14000a390
xor edx, edx
nop word [rax + rax]
mov ecx, edx
add rdx, 1
cmp word [r13 + rdx*2], 0
jne 0x140008db0
mov edx, 0x224c
lea r10, str.0123456789abcdefwrite_freedesktop_mime_type_entry
lea r9, [rsp + 0x1b22]
mov word [rsp + 0x1a00], dx
lea rdx, [rsp + 0x1a02]
jmp 0x140008e2d
cmp ax, 9
je 0x14000a040
cmp ax, 0xa
jne 0x14000a061
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea r8d, [rcx - 1]
test ecx, ecx
jle 0x14000a1c8
cmp rdx, r9
ja 0x14000a1c8
movzx eax, word [r13]
mov ecx, r8d
add r13, 2
cmp ax, 0xd
je 0x14000a0d8
jbe 0x140008de8
cmp ax, 0x22
je 0x14000a0c0
cmp ax, 0x5c
jne 0x14000a052
mov eax, 0x5c5c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x140008e10
mov r12d, 1
test al, 4
je 0x140008d3d
lea r9, str.Not_under_desktop_or_start_menu._Ignoring._n
lea r8, global___func__.5
mov ecx, 2
lea rdx, [0x140010000]
call sym.wine_dbg_log.constprop.0
jmp 0x140008d3d
mov rcx, rsi
call dbg.extract_icon
mov rdi, rax
test rdi, rdi
jne 0x140008bf2
mov edx, dword [rsp + 0x2260]
movzx eax, byte [global___dbch]
lea r10, [0x140010000]
test edx, edx
jne 0x14000a018
test al, 2
je 0x140008bf2
cmp word [rsp + 0x5e0], 0
mov qword [rsp + 0x68], r10
cmove rbx, rsi
mov rax, rbx
shr rax, 0x10
je 0x14000a3c0
mov rdx, 0xffffffffffffffff
mov rcx, rbx
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r10, qword [rsp + 0x68]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x14000a179
movzx eax, word [rbx]
test ax, ax
je 0x14000a4a9
xor edx, edx
nop word cs:[rax + rax]
mov ecx, edx
add rdx, 1
cmp word [rbx + rdx*2], 0
jne 0x140008f30
mov r12d, 0x224c
lea rdx, [rsp + 0x92]
lea r11, str.0123456789abcdefwrite_freedesktop_mime_type_entry
mov word [rsp + 0x90], r12w
lea r9, [rsp + 0x1b2]
jmp 0x140008fab
cmp ax, 9
je 0x14000a210
cmp ax, 0xa
jne 0x14000a249
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea r8d, [rcx - 1]
test ecx, ecx
jle 0x14000a140
cmp rdx, r9
ja 0x14000a140
movzx eax, word [rbx]
mov ecx, r8d
add rbx, 2
cmp ax, 0xd
je 0x14000a228
jbe 0x140008f68
cmp ax, 0x22
je 0x14000a2a0
cmp ax, 0x5c
jne 0x14000a23a
mov r12d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r12w
jmp 0x140008f90
mov rax, rbx
shr rax, 0x10
je 0x14000a000
mov rdx, 0xffffffffffffffff
mov rcx, rbx
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x140009593
movzx eax, word [rsp + 0x5e0]
test ax, ax
je 0x140009560
xor edx, edx
nop dword [rax + rax]
mov ecx, edx
add rdx, 1
cmp word [rbx + rdx*2], 0
jne 0x140009028
mov r10d, 0x224c
lea rdx, [rsp + 0x7f2]
mov r9, rbx
mov word [rsp + 0x7f0], r10w
lea r8, [rsp + 0x912]
lea r11, str.0123456789abcdefwrite_freedesktop_mime_type_entry
jmp 0x1400090a4
cmp ax, 9
je 0x140009ba8
cmp ax, 0xa
jne 0x140009be1
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea r10d, [rcx - 1]
cmp rdx, r8
ja 0x140009ef0
test ecx, ecx
jle 0x140009ef0
movzx eax, word [r9]
mov ecx, r10d
add r9, 2
cmp ax, 0xd
je 0x140009b90
jbe 0x140009060
cmp ax, 0x22
je 0x140009c40
cmp ax, 0x5c
jne 0x140009bd2
mov r10d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x140009088
mov rax, rsi
shr rax, 0x10
je 0x140009fb0
mov rdx, 0xffffffffffffffff
mov rcx, rsi
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x140009642
movzx eax, word [rsp + 0x1c0]
test ax, ax
je 0x140009611
xor edx, edx
nop dword [rax + rax]
mov ecx, edx
add rdx, 1
cmp word [rsi + rdx*2], 0
jne 0x140009128
mov edx, 0x224c
mov r9, rsi
lea r8, [rsp + 0x912]
mov word [rsp + 0x7f0], dx
lea r11, str.0123456789abcdefwrite_freedesktop_mime_type_entry
lea rdx, [rsp + 0x7f2]
jmp 0x1400091a4
cmp ax, 9
je 0x140009b78
cmp ax, 0xa
jne 0x140009ce1
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea r10d, [rcx - 1]
cmp rdx, r8
ja 0x140009f68
test ecx, ecx
jle 0x140009f68
movzx eax, word [r9]
mov ecx, r10d
add r9, 2
cmp ax, 0xd
je 0x140009bc0
jbe 0x140009160
cmp ax, 0x22
je 0x140009d40
cmp ax, 0x5c
jne 0x140009cd2
mov r10d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x140009188
mov rax, qword [rsp + 0x58]
shr rax, 0x10
je 0x140009f90
mov rbx, qword [rsp + 0x58]
mov rdx, 0xffffffffffffffff
mov rcx, rbx
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x1400095e8
movzx eax, word [rsp + 0x3d0]
test ax, ax
je 0x1400095bc
xor edx, edx
mov rcx, rbx
nop dword [rax]
mov r8d, edx
add rdx, 1
cmp word [rcx + rdx*2], 0
jne 0x140009230
mov r9d, 0x224c
lea rdx, [rsp + 0x1a02]
lea rcx, [rsp + 0x1b22]
mov word [rsp + 0x1a00], r9w
lea r11, str.0123456789abcdefwrite_freedesktop_mime_type_entry
mov r9, qword [rsp + 0x58]
jmp 0x1400092b5
cmp ax, 9
je 0x140009b48
cmp ax, 0xa
jne 0x140009da9
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea r10d, [r8 - 1]
cmp rdx, rcx
ja 0x140009ec8
test r8d, r8d
jle 0x140009ec8
movzx eax, word [r9]
mov r8d, r10d
add r9, 2
cmp ax, 0xd
je 0x140009ab0
jbe 0x140009270
cmp ax, 0x22
je 0x140009e00
cmp ax, 0x5c
jne 0x140009d9a
mov r10d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x140009298
mov rax, qword [rsp + 0x50]
shr rax, 0x10
je 0x140009fc8
mov rbx, qword [rsp + 0x50]
mov rdx, 0xffffffffffffffff
mov rcx, rbx
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x1400097b7
movzx eax, word [rsp + 0x1200]
test ax, ax
je 0x140009789
xor edx, edx
mov rcx, rbx
nop dword [rax]
mov r8d, edx
add rdx, 1
cmp word [rcx + rdx*2], 0
jne 0x140009340
mov r11d, 0x224c
mov r9, qword [rsp + 0x50]
lea rdx, [rsp + 0x1a02]
lea rcx, [rsp + 0x1b22]
mov word [rsp + 0x1a00], r11w
lea r11, str.0123456789abcdefwrite_freedesktop_mime_type_entry
jmp 0x1400093c5
cmp ax, 9
je 0x140009d70
cmp ax, 0xa
jne 0x140009ad1
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea r10d, [r8 - 1]
cmp rdx, rcx
ja 0x140009f18
test r8d, r8d
jle 0x140009f18
movzx eax, word [r9]
mov r8d, r10d
add r9, 2
cmp ax, 0xd
je 0x140009b60
jbe 0x140009380
cmp ax, 0x22
je 0x140009b30
cmp ax, 0x5c
jne 0x140009ac2
mov r10d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x1400093a8
lea rax, str._null_
test rbp, rbp
je 0x140009537
mov rax, rbp
shr rax, 0x10
je 0x14000a1a0
mov rdx, 0xffffffffffffffff
mov rcx, rbp
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x140009537
cmp word [rbp], 0
je 0x14000a2b4
xor eax, eax
nop dword [rax]
mov r8d, eax
add rax, 1
cmp word [rbp + rax*2], 0
jne 0x140009450
mov edx, 0x224c
mov r9, rbp
lea rcx, [rsp + 0x1b22]
mov word [rsp + 0x1a00], dx
lea r10, str.0123456789abcdefwrite_freedesktop_mime_type_entry
lea rdx, [rsp + 0x1a02]
jmp 0x1400094c9
cmp ax, 9
je 0x140009e30
cmp ax, 0xa
jne 0x140009e51
mov r14d, 0x6e5c
add rdx, 2
mov word [rdx - 2], r14w
nop dword [rax + rax]
lea eax, [r8 - 1]
cmp rdx, rcx
ja 0x140009508
test r8d, r8d
jle 0x140009508
mov r8d, eax
movzx eax, word [r9]
add r9, 2
cmp ax, 0xd
je 0x140009e18
jbe 0x140009490
cmp ax, 0x22
je 0x140009eb0
cmp ax, 0x5c
jne 0x140009e42
mov r11d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x1400094b8
mov byte [rdx], 0x22
test eax, eax
jle 0x14000a2d1
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea r15, [rsp + 0x1a00]
mov rcx, r15
call dbg.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.Link_______:__s_n
lea r8, global___func__.5
mov ecx, 3
lea rdx, [0x140010000]
call sym.wine_dbg_log.constprop.0
jmp 0x140008a4f
mov r9d, 0x224c
mov byte [rsp + 0x7f2], 0x22
lea rdx, [rsp + 0x7f2]
mov word [rsp + 0x7f0], r9w
lea rax, [rdx + 1]
mov byte [rax], 0
lea rcx, [rsp + 0x7f0]
call dbg.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.icon_file__:__s_n
lea r8, global___func__.5
mov ecx, 3
lea rdx, [0x140010000]
call sym.wine_dbg_log.constprop.0
jmp 0x140008b61
mov ecx, 0x224c
mov byte [rsp + 0x1a02], 0x22
lea rdx, [rsp + 0x1a02]
mov word [rsp + 0x1a00], cx
lea rax, [rdx + 1]
mov byte [rax], 0
mov rcx, r15
call dbg.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.workdir____:__s_n
lea r8, global___func__.5
mov ecx, 3
lea rdx, [0x140010000]
call sym.wine_dbg_log.constprop.0
jmp 0x140008aa3
mov ebx, 0x224c
mov byte [rsp + 0x7f2], 0x22
lea rdx, [rsp + 0x7f2]
mov word [rsp + 0x7f0], bx
lea rax, [rdx + 1]
mov byte [rax], 0
lea rcx, [rsp + 0x7f0]
call dbg.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r10, [0x140010000]
lea r9, str.path_______:__s_n
mov ecx, 3
lea r8, global___func__.5
mov rdx, r10
mov qword [rsp + 0x68], r10
call sym.wine_dbg_log.constprop.0
test byte [0x140010000], 8
je 0x140008b19
mov rax, r15
mov r10, qword [rsp + 0x68]
shr rax, 0x10
je 0x140009fe0
mov qword [rsp + 0x68], r10
mov rdx, 0xffffffffffffffff
mov rcx, r15
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r10, qword [rsp + 0x68]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x14000981b
movzx eax, word [rsp + 0x1a00]
test ax, ax
je 0x1400097e0
xor edx, edx
nop dword [rax]
mov ecx, edx
add rdx, 1
cmp word [r15 + rdx*2], 0
jne 0x1400096d0
mov r8d, 0x224c
lea rdx, [rsp + 0x7f2]
mov r9, r15
mov word [rsp + 0x7f0], r8w
lea rbx, str.0123456789abcdefwrite_freedesktop_mime_type_entry
lea r8, [rsp + 0x912]
jmp 0x140009754
cmp ax, 9
je 0x140009d88
cmp ax, 0xa
jne 0x140009c61
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea r11d, [rcx - 1]
cmp rdx, r8
ja 0x140009f40
test ecx, ecx
jle 0x140009f40
movzx eax, word [r9]
mov ecx, r11d
add r9, 2
cmp ax, 0xd
je 0x140009d58
jbe 0x140009710
cmp ax, 0x22
je 0x140009cc0
cmp ax, 0x5c
jne 0x140009c52
mov r11d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x140009738
mov r10d, 0x224c
mov byte [rsp + 0x1a02], 0x22
lea rdx, [rsp + 0x1a02]
mov word [rsp + 0x1a00], r10w
lea rax, [rdx + 1]
mov byte [rax], 0
mov rcx, r15
call dbg.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.description:__s_n
lea r8, global___func__.5
mov ecx, 3
lea rdx, [0x140010000]
call sym.wine_dbg_log.constprop.0
jmp 0x140008ae8
mov ecx, 0x224c
mov byte [rsp + 0x7f2], 0x22
lea rdx, [rsp + 0x7f2]
mov word [rsp + 0x7f0], cx
lea rax, [rdx + 1]
mov byte [rax], 0
lea rcx, [rsp + 0x7f0]
mov qword [rsp + 0x68], r10
call dbg.__wine_dbg_strdup
mov r10, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r9, str.args_______:__s_n
mov rdx, r10
mov ecx, 3
lea r8, global___func__.5
call sym.wine_dbg_log.constprop.0
jmp 0x140008b19
xor r12d, r12d
mov r13d, 1
test byte [0x140010000], 2
je 0x140008cc4
lea r9, str.failed_wait_for_semaphore_n
lea r8, global___func__.5
mov ecx, 1
lea rdx, [0x140010000]
call sym.wine_dbg_log.constprop.0
jmp 0x140008cc4
mov rcx, rsi
call qword [sym.imp.shlwapi.dll_PathFindFileNameW]
test rax, rax
je 0x140008c01
lea r8, [rsp + 0x7f0]
mov rdx, r8
nop dword [rax]
movzx ecx, word [rax]
add rax, 2
add rdx, 2
mov word [rdx - 2], cx
test cx, cx
jne 0x1400098a0
mov rcx, r8
call qword [sym.imp.user32.dll_CharLowerW]
jmp 0x140008c01
cmp dword [rsp + 0x64], 0x19
je 0x1400098da
cmp word [rsp + 0x1c0], 0
jne 0x140009930
lea rax, [rsp + 0x7f0]
mov r9, r13
mov r8, rbp
xor edx, edx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x58]
mov rcx, r13
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
call dbg.write_desktop_entry
test eax, eax
sete r12b
sete r13b
movzx r12d, r12b
jmp 0x140008caa
lea rax, [rsp + 0x7f0]
mov r9, rsi
mov r8, rbp
xor edx, edx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x58]
xor ecx, ecx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], rax
jmp 0x140009914
movzx edx, r13w
lea rcx, str._04x
call sym.wine_dbg_sprintf.constprop.0
mov qword [rsp + 0x20], rax
lea r9, str.Unknown_link_location__s._Ignoring._n
lea r8, global___func__.5
mov ecx, 2
lea rdx, [0x140010000]
mov r12d, 1
call sym.wine_dbg_log.constprop.0
jmp 0x140008d3d
mov rax, rsi
shr rax, 0x10
je 0x14000a495
mov rdx, 0xffffffffffffffff
mov rcx, rsi
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x14000a343
movzx eax, word [rsp + 0x1c0]
test ax, ax
je 0x14000a4dc
xor edx, edx
nop dword [rax + rax]
mov ecx, edx
add rdx, 1
cmp word [rsi + rdx*2], 0
jne 0x1400099f8
mov r11d, 0x224c
lea rdx, [rsp + 0x92]
mov r8, rsi
mov word [rsp + 0x90], r11w
lea r10, [rsp + 0x1b2]
lea r11, str.0123456789abcdefwrite_freedesktop_mime_type_entry
jmp 0x140009a74
cmp ax, 9
je 0x14000a3f8
cmp ax, 0xa
jne 0x14000a41b
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea r9d, [rcx - 1]
cmp rdx, r10
ja 0x14000a316
test ecx, ecx
jle 0x14000a316
movzx eax, word [r8]
mov ecx, r9d
add r8, 2
cmp ax, 0xd
je 0x14000a3e0
jbe 0x140009a30
cmp ax, 0x22
je 0x14000a478
cmp ax, 0x5c
jne 0x14000a40c
mov r9d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r9w
jmp 0x140009a58
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x140009298
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x14000a0f0
mov r10d, eax
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 0x1400093a8
mov ebx, 0x225c
add rdx, 2
mov word [rdx - 2], bx
jmp 0x1400093a8
mov esi, 0x745c
add rdx, 2
mov word [rdx - 2], si
jmp 0x140009298
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x1400093a8
mov eax, 0x745c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x140009188
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x140009088
mov r14d, 0x745c
add rdx, 2
mov word [rdx - 2], r14w
jmp 0x140009088
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x140009188
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x14000a110
mov r10d, eax
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 0x140009088
mov edi, 0x225c
add rdx, 2
mov word [rdx - 2], di
jmp 0x140009088
lea r11d, [rax - 0x20]
cmp r11w, 0x5e
jbe 0x14000a130
mov r11d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r11w, 0xc
and r11d, 0xf
movzx r11d, byte [rbx + r11]
mov byte [rdx - 4], r11b
mov r11d, eax
shr r11w, 8
and r11d, 0xf
movzx r11d, byte [rbx + r11]
mov byte [rdx - 3], r11b
mov r11d, eax
and eax, 0xf
shr r11w, 4
movzx eax, byte [rbx + rax]
and r11d, 0xf
movzx r11d, byte [rbx + r11]
mov byte [rdx - 1], al
mov byte [rdx - 2], r11b
jmp 0x140009738
mov eax, 0x225c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x140009738
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x14000a120
mov r10d, eax
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 0x140009188
mov ebx, 0x225c
add rdx, 2
mov word [rdx - 2], bx
jmp 0x140009188
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x140009738
mov esi, 0x745c
add rdx, 2
mov word [rdx - 2], si
jmp 0x1400093a8
mov eax, 0x745c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x140009738
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x14000a100
mov r10d, eax
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 0x140009298
mov ebx, 0x225c
add rdx, 2
mov word [rdx - 2], bx
jmp 0x140009298
mov edi, 0x725c
add rdx, 2
mov word [rdx - 2], di
jmp 0x1400094b8
mov esi, 0x745c
add rdx, 2
mov word [rdx - 2], si
jmp 0x1400094b8
lea r11d, [rax - 0x20]
cmp r11w, 0x5e
jbe 0x14000a1b8
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 0x1400094b8
mov ebx, 0x225c
add rdx, 2
mov word [rdx - 2], bx
jmp 0x1400094b8
mov byte [rdx], 0x22
test r10d, r10d
jle 0x1400095d9
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
jmp 0x1400095dd
mov byte [rdx], 0x22
test r10d, r10d
jle 0x14000957f
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
jmp 0x140009583
mov byte [rdx], 0x22
test r10d, r10d
jle 0x1400097a8
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
jmp 0x1400097ac
mov byte [rdx], 0x22
test r11d, r11d
jle 0x1400097fd
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
jmp 0x140009801
mov byte [rdx], 0x22
test r10d, r10d
jle 0x14000962e
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
jmp 0x140009632
movzx edx, word [rsp + 0x58]
lea rcx, str._04x
call sym.wine_dbg_sprintf.constprop.0
jmp 0x1400095e8
movzx edx, si
lea rcx, str._04x
call sym.wine_dbg_sprintf.constprop.0
jmp 0x140009642
movzx edx, word [rsp + 0x50]
lea rcx, str._04x
call sym.wine_dbg_sprintf.constprop.0
jmp 0x1400097b7
movzx edx, r15w
lea rcx, str._04x
call sym.wine_dbg_sprintf.constprop.0
mov r10, qword [rsp + 0x68]
jmp 0x14000981b
movzx edx, bx
lea rcx, str._04x
call sym.wine_dbg_sprintf.constprop.0
jmp 0x140009593
test al, 4
jne 0x14000a370
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14000a2e0
xor r12d, r12d
mov r13d, 1
jmp 0x140008cd1
mov eax, 0x745c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x140008e10
lea r8d, [rax - 0x20]
cmp r8w, 0x5e
jbe 0x14000a200
mov r8d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r8w, 0xc
and r8d, 0xf
movzx r8d, byte [r10 + r8]
mov byte [rdx - 4], r8b
mov r8d, eax
shr r8w, 8
and r8d, 0xf
movzx r8d, byte [r10 + r8]
mov byte [rdx - 3], r8b
mov r8d, eax
and eax, 0xf
shr r8w, 4
movzx eax, byte [r10 + rax]
and r8d, 0xf
movzx r8d, byte [r10 + r8]
mov byte [rdx - 1], al
mov byte [rdx - 2], r8b
jmp 0x140008e10
mov eax, 0x225c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x140008e10
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x140008e10
mov byte [rdx], al
add rdx, 1
jmp 0x1400093a8
mov byte [rdx], al
add rdx, 1
jmp 0x140009298
mov byte [rdx], al
add rdx, 1
jmp 0x140009088
mov byte [rdx], al
add rdx, 1
jmp 0x140009188
mov byte [rdx], al
add rdx, 1
jmp 0x140009738
mov byte [rdx], 0x22
test r8d, r8d
jle 0x14000a4c8
mov r8d, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], r8w
mov byte [rax], 0
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x68], r10
call dbg.__wine_dbg_strdup
mov r10, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r9, str.failed_to_extract_icon_from__s_n
mov rdx, r10
mov ecx, 1
lea r8, global___func__.5
call sym.wine_dbg_log.constprop.0
jmp 0x140008bf2
movzx edx, bp
lea rcx, str._04x
call sym.wine_dbg_sprintf.constprop.0
jmp 0x140009537
mov byte [rdx], al
add rdx, 1
jmp 0x1400094b8
mov byte [rdx], 0x22
test r8d, r8d
jle 0x14000a3af
mov r15d, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], r15w
mov byte [rax], 0
lea rcx, [rsp + 0x1a00]
call dbg.__wine_dbg_strdup
jmp 0x140009980
mov byte [rdx], al
add rdx, 1
jmp 0x140008e10
mov eax, 0x745c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x140008f90
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x140008f90
lea r8d, [rax - 0x20]
cmp r8w, 0x5e
jbe 0x14000a48a
mov r8d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r8w, 0xc
and r8d, 0xf
movzx r8d, byte [r11 + r8]
mov byte [rdx - 4], r8b
mov r8d, eax
shr r8w, 8
and r8d, 0xf
movzx r8d, byte [r11 + r8]
mov byte [rdx - 3], r8b
mov r8d, eax
and eax, 0xf
shr r8w, 4
movzx eax, byte [r11 + rax]
and r8d, 0xf
movzx r8d, byte [r11 + r8]
mov byte [rdx - 1], al
mov byte [rdx - 2], r8b
jmp 0x140008f90
mov r14d, 0x225c
add rdx, 2
mov word [rdx - 2], r14w
jmp 0x140008f90
mov eax, 0x224c
mov byte [rsp + 0x1a02], 0x22
lea rdx, [rsp + 0x1a02]
mov word [rsp + 0x1a00], ax
lea rax, [rdx + 1]
jmp 0x140009524
mov rsi, qword gs:[0x30]
mov rax, qword [rsi + 0x60]
mov rbx, qword [sym.imp.kernel32.dll_HeapFree]
xor r8d, r8d
xor edx, edx
xor r12d, r12d
mov rcx, qword [rax + 0x30]
call rbx
mov rax, qword [rsi + 0x60]
mov r8, rbp
xor edx, edx
mov rcx, qword [rax + 0x30]
call rbx
jmp 0x140008d3d
mov byte [rdx], 0x22
test r9d, r9d
jle 0x14000a4f6
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea rcx, [rsp + 0x90]
call dbg.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.pidl_path__:__s_n
lea r8, global___func__.5
mov ecx, 3
lea rdx, [0x140010000]
call sym.wine_dbg_log.constprop.0
jmp 0x140008bc0
lea r9, str.Unable_to_extract_icon__deferring._n
lea r8, global___func__.5
mov rdx, r10
mov ecx, 2
call sym.wine_dbg_log.constprop.0
jmp 0x14000a020
mov r15d, 0x224c
mov byte [rsp + 0x1a02], 0x22
lea rdx, [rsp + 0x1a02]
mov word [rsp + 0x1a00], r15w
lea rax, [rdx + 1]
jmp 0x14000a1e7
movzx edx, bx
lea rcx, str._04x
call sym.wine_dbg_sprintf.constprop.0
mov r10, qword [rsp + 0x68]
jmp 0x14000a179
mov r14d, 0x725c
add rdx, 2
mov word [rdx - 2], r14w
jmp 0x140009a58
mov r12d, 0x745c
add rdx, 2
mov word [rdx - 2], r12w
jmp 0x140009a58
lea r9d, [rax - 0x20]
cmp r9w, 0x5e
jbe 0x14000a4d1
mov r9d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r9w, 0xc
and r9d, 0xf
movzx r9d, byte [r11 + r9]
mov byte [rdx - 4], r9b
mov r9d, eax
shr r9w, 8
and r9d, 0xf
movzx r9d, byte [r11 + r9]
mov byte [rdx - 3], r9b
mov r9d, eax
and eax, 0xf
shr r9w, 4
movzx eax, byte [r11 + rax]
and r9d, 0xf
movzx r9d, byte [r11 + r9]
mov byte [rdx - 1], al
mov byte [rdx - 2], r9b
jmp 0x140009a58
mov edi, 0x225c
add rdx, 2
mov word [rdx - 2], di
jmp 0x140009a58
mov byte [rdx], al
add rdx, 1
jmp 0x140008f90
movzx edx, si
lea rcx, str._04x
call sym.wine_dbg_sprintf.constprop.0
jmp 0x14000a343
mov r14d, 0x224c
mov byte [rsp + 0x92], 0x22
lea rdx, [rsp + 0x92]
mov word [rsp + 0x90], r14w
lea rax, [rdx + 1]
jmp 0x14000a15f
mov byte [rdx], al
add rdx, 1
jmp 0x140009a58
mov byte [rsp + 0x92], 0x22
lea rdx, [rsp + 0x92]
mov word [rsp + 0x90], 0x224c
lea rax, [rdx + 1]
jmp 0x14000a333