Function at 0x1400b45d0
Capabilities:
Inspect load icon resource

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x558
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x4d0], 0xfffffffffffffffe
mov rsi, rcx
xor ecx, ecx
call qword [sym.imp.kernel32.dll_GetModuleHandleW]
test rax, rax
je 0x1400b4893
mov rdi, rax
lea rax, [0x140360833]
mov qword [rbp - 0x20], rax
lea rax, [0x14036083c]
mov qword [rbp - 0x18], rax
mov word [rbp - 0x10], 0
mov dword [rbp - 8], 1
lea rcx, [rbp + 0x3f8]
lea rdx, [rbp - 0x20]
call fcn.1400b55c0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x3b0], xmm0
movaps xmmword [rbp + 0x3e0], xmm0
movaps xmmword [rbp + 0x3d0], xmm0
movaps xmmword [rbp + 0x3c0], xmm0
lea rax, [0x1400b3fe0]
mov qword [rbp + 0x3b8], rax
mov rax, qword [rbp + 0x3f8]
mov qword [rbp + 0x438], rax
mov qword [rbp + 0x3f0], rax
lea rcx, [rbp + 0x3b0]
call qword [sym.imp.user32.dll_RegisterClassW]
test ax, ax
je 0x1400b4970
lea rax, [0x140360857]
mov qword [rbp - 0x20], rax
lea rax, [0x14036086a]
mov qword [rbp - 0x18], rax
mov word [rbp - 0x10], 0
mov dword [rbp - 8], 1
lea r14, [rbp + 0x488]
lea rdx, [rbp - 0x20]
mov rcx, r14
call fcn.1400b55c0
mov r8, qword [rbp + 0x488]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0x80000000
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x80000000
xor ecx, ecx
mov rdx, qword [rbp + 0x438]
mov qword [rbp + 0x480], r8
mov r9d, 0xcf0000
call qword [sym.imp.user32.dll_CreateWindowExW]
mov rbx, rax
mov rdx, qword [rbp + 0x490]
test rdx, rdx
je 0x1400b473e
add rdx, rdx
mov r8d, 2
mov rcx, qword [rbp + 0x480]
call fcn.140089ca0
test rbx, rbx
je 0x1400b4a1e
xor ecx, ecx
call qword [sym.imp.kernel32.dll_GetModuleHandleW]
mov r15, rax
lea rax, [0x14036077e]
mov qword [rbp - 0x20], rax
lea rax, [0x14036078a]
mov qword [rbp - 0x18], rax
mov word [rbp - 0x10], 0
mov dword [rbp - 8], 1
lea rdx, [rbp - 0x20]
mov rcx, r14
call fcn.1400b55c0
mov rdx, qword [rbp + 0x488]
mov rcx, r15
mov qword [rbp + 0x480], rdx
call qword [sym.imp.user32.dll_LoadIconW]
mov r15, rax
mov rdx, qword [rbp + 0x490]
test rdx, rdx
je 0x1400b47bc
add rdx, rdx
mov r8d, 2
mov rcx, qword [rbp + 0x480]
call fcn.140089ca0
test r15, r15
jne 0x1400b47da
mov edx, 0x7f00
xor ecx, ecx
call qword [sym.imp.user32.dll_LoadIconW]
mov r15, rax
test rax, rax
je 0x1400b4cb5
lea r14, [rbp - 0x20]
mov r8d, 0x3d0
mov rcx, r14
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov dword [rbp - 0x20], 0x3d0
mov qword [rbp - 0x18], rbx
movabs rax, 0x300000001
mov qword [rbp - 0x10], rax
mov qword [rbp], r15
mov dword [rbp - 8], 0x401
xor ecx, ecx
mov rdx, r14
call qword [sym.imp.shell32.dll_Shell_NotifyIconW]
test eax, eax
je 0x1400b4b23
xorps xmm0, xmm0
movups xmmword [rbp + 0x418], xmm0
movups xmmword [rbp + 0x428], xmm0
movabs rax, 0x8000001000000028
mov qword [rbp + 0x410], rax
mov dword [rbp + 0x418], 0x8000000
call qword [sym.imp.user32.dll_CreatePopupMenu]
mov r14, rax
test rax, rax
je 0x1400b4bf5
lea rdx, [rbp + 0x410]
mov rcx, r14
call qword [sym.imp.user32.dll_SetMenuInfo]
test eax, eax
je 0x1400b4d5c
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], r14
mov qword [rsi], 0
jmp 0x1400b4aef
lea rax, str.Error_getting_module_handlemy_windowError_creating_window_classrust_systray_windowError_creating_windowError_setting_icon_from_resourceError_adding_menu_iconError_creating_popup_menuError_setting_up_menu
mov qword [rbp + 0x410], rax
mov qword [rbp + 0x418], 0x1b
lea rax, [rbp + 0x410]
mov qword [rbp + 0x460], rax
call qword [sym.imp.kernel32.dll_GetLastError]
mov dword [rbp + 0x440], eax
lea rax, [rbp + 0x460]
mov qword [rbp + 0x3b0], rax
lea rax, [0x1400b7700]
mov qword [rbp + 0x3b8], rax
lea rax, [rbp + 0x440]
mov qword [rbp + 0x3c0], rax
lea rax, [fcn.140330590]
mov qword [rbp + 0x3c8], rax
lea rax, [0x140360630]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 2
mov qword [rbp], 0
lea rax, [rbp + 0x3b0]
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], 2
lea rcx, [rbp + 0x488]
lea rdx, [rbp - 0x20]
call fcn.140320500
mov rax, qword [rbp + 0x498]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rbp + 0x488]
movups xmmword [rsi], xmm0
lea rax, str.C:Users_antoi.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tray_item_0.9.0_src_apiwindows_funcs.rscannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_79e9716c980570bfd1f666e3b16ac583f0168962library_std_src_threadlocal.rs
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], 0x6c
mov dword [rsi + 0x28], 0x21
jmp 0x1400b4b10
lea rax, [0x14036083c]
mov qword [rbp + 0x460], rax
mov qword [rbp + 0x468], 0x1b
lea rax, [rbp + 0x460]
mov qword [rbp + 0x440], rax
call qword [sym.imp.kernel32.dll_GetLastError]
mov dword [rbp + 0x4b8], eax
lea rax, [rbp + 0x440]
mov qword [rbp + 0x488], rax
lea rax, [0x1400b7700]
mov qword [rbp + 0x490], rax
lea rax, [rbp + 0x4b8]
mov qword [rbp + 0x498], rax
lea rax, [fcn.140330590]
mov qword [rbp + 0x4a0], rax
lea rax, [0x140360630]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 2
mov qword [rbp], 0
lea rax, [rbp + 0x488]
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], 2
lea rcx, [rbp + 0x410]
lea rdx, [rbp - 0x20]
call fcn.140320500
jmp 0x1400b4ac0
lea rax, [0x14036086a]
mov qword [rbp + 0x460], rax
mov qword [rbp + 0x468], 0x15
lea rax, [rbp + 0x460]
mov qword [rbp + 0x440], rax
call qword [sym.imp.kernel32.dll_GetLastError]
mov dword [rbp + 0x4b8], eax
lea rax, [rbp + 0x440]
mov qword [rbp + 0x488], rax
lea rax, [0x1400b7700]
mov qword [rbp + 0x490], rax
lea rax, [rbp + 0x4b8]
mov qword [rbp + 0x498], rax
lea rax, [fcn.140330590]
mov qword [rbp + 0x4a0], rax
lea rax, [0x140360630]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 2
mov qword [rbp], 0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], 2
lea rcx, [rbp + 0x410]
lea rdx, [rbp - 0x20]
call fcn.140320500
mov rax, qword [rbp + 0x420]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rbp + 0x410]
movups xmmword [rsi], xmm0
lea rax, str.C:Users_antoi.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tray_item_0.9.0_src_apiwindows_funcs.rscannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_79e9716c980570bfd1f666e3b16ac583f0168962library_std_src_threadlocal.rs
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], 0x6c
mov dword [rsi + 0x28], 0x21
mov rdx, qword [rbp + 0x400]
test rdx, rdx
je 0x1400b4b10
add rdx, rdx
mov r8d, 2
mov rcx, qword [rbp + 0x438]
call fcn.140089ca0
mov rax, rsi
add rsp, 0x558
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
lea rax, [0x14036089f]
mov qword [rbp + 0x440], rax
mov qword [rbp + 0x448], 0x16
lea rax, [rbp + 0x440]
mov qword [rbp + 0x4b8], rax
call qword [sym.imp.kernel32.dll_GetLastError]
mov dword [rbp + 0x458], eax
lea rax, [rbp + 0x4b8]
mov qword [rbp + 0x410], rax
lea rax, [0x1400b7700]
mov qword [rbp + 0x418], rax
lea rax, [rbp + 0x458]
mov qword [rbp + 0x420], rax
lea rax, [fcn.140330590]
mov qword [rbp + 0x428], rax
lea rax, [0x140360630]
mov qword [rbp + 0x488], rax
mov qword [rbp + 0x490], 2
mov qword [rbp + 0x4a8], 0
lea rax, [rbp + 0x410]
mov qword [rbp + 0x498], rax
mov qword [rbp + 0x4a0], 2
lea rcx, [rbp + 0x460]
lea rdx, [rbp + 0x488]
call fcn.140320500
mov rax, qword [rbp + 0x470]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rbp + 0x460]
jmp 0x1400b4ad2
lea rax, [0x1403608b5]
mov qword [rbp + 0x4b8], rax
mov qword [rbp + 0x4c0], 0x19
lea rax, [rbp + 0x4b8]
mov qword [rbp + 0x458], rax
call qword [sym.imp.kernel32.dll_GetLastError]
mov dword [rbp + 0x4cc], eax
lea rax, [rbp + 0x458]
mov qword [rbp + 0x460], rax
lea rax, [0x1400b7700]
mov qword [rbp + 0x468], rax
lea rax, [rbp + 0x4cc]
mov qword [rbp + 0x470], rax
lea rax, [fcn.140330590]
mov qword [rbp + 0x478], rax
lea rax, [0x140360630]
mov qword [rbp + 0x488], rax
mov qword [rbp + 0x490], 2
mov qword [rbp + 0x4a8], 0
lea rax, [rbp + 0x460]
mov qword [rbp + 0x498], rax
mov qword [rbp + 0x4a0], 2
lea rcx, [rbp + 0x440]
lea rdx, [rbp + 0x488]
call fcn.140320500
jmp 0x1400b4e17
lea rax, [0x14036087f]
mov qword [rbp + 0x460], rax
mov qword [rbp + 0x468], 0x20
lea rax, [rbp + 0x460]
mov qword [rbp + 0x440], rax
call qword [sym.imp.kernel32.dll_GetLastError]
mov dword [rbp + 0x4b8], eax
lea rax, [rbp + 0x440]
mov qword [rbp + 0x488], rax
lea rax, [0x1400b7700]
mov qword [rbp + 0x490], rax
lea rax, [rbp + 0x4b8]
mov qword [rbp + 0x498], rax
lea rax, [fcn.140330590]
mov qword [rbp + 0x4a0], rax
lea rax, [0x140360630]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 2
mov qword [rbp], 0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], 2
lea rcx, [rbp + 0x410]
lea rdx, [rbp - 0x20]
call fcn.140320500
jmp 0x1400b4ac0
lea rax, [0x1403608ce]
mov qword [rbp + 0x4b8], rax
mov qword [rbp + 0x4c0], 0x15
lea rax, [rbp + 0x4b8]
mov qword [rbp + 0x458], rax
call qword [sym.imp.kernel32.dll_GetLastError]
mov dword [rbp + 0x4cc], eax
lea rax, [rbp + 0x458]
mov qword [rbp + 0x460], rax
lea rax, [0x1400b7700]
mov qword [rbp + 0x468], rax
lea rax, [rbp + 0x4cc]
mov qword [rbp + 0x470], rax
lea rax, [fcn.140330590]
mov qword [rbp + 0x478], rax
lea rax, [0x140360630]
mov qword [rbp + 0x488], rax
mov qword [rbp + 0x490], 2
mov qword [rbp + 0x4a8], 0
lea rax, [rbp + 0x460]
mov qword [rbp + 0x498], rax
mov qword [rbp + 0x4a0], 2
lea rcx, [rbp + 0x440]
lea rdx, [rbp + 0x488]
call fcn.140320500
mov rax, qword [rbp + 0x450]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rbp + 0x440]
jmp 0x1400b4ad2