Function at 0x1800165b0
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x30
cmp dword [rcx + 0x130], 0
mov rbx, rcx
je 0x1800165f7
cmp dword [0x1801b0450], 0
je 0x180016a12
lea r9, str.hookapi_module_is_Loaded
lea r8, [0x18012b1a8]
lea rcx, [0x1801afb58]
or edx, 0xffffffff
call fcn.1800b3b40
mov eax, 1
add rsp, 0x30
pop rbx
ret
lea rcx, str.winimhca64.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbx + 0x128], rax
test rax, rax
jne 0x180016647
cmp dword [0x1801b0450], eax
je 0x18001663f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.hookapi_module_load_failed__err__0x_08x_
lea r8, [0x18012b1a8]
lea rcx, [0x1801afb58]
or edx, 0xffffffff
mov dword [rsp + 0x20], eax
call fcn.1800b3b40
xor eax, eax
add rsp, 0x30
pop rbx
ret
lea rdx, str.InstallDetours
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.UninstallDetours
mov qword [rbx + 8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.IMHAInit
mov qword [rbx + 0x10], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.SyncIMWnd
mov qword [rbx + 0x18], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.IMWndActivated
mov qword [rbx + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.TencentWindowClose
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.TencentWindowCloseGetBuf
mov qword [rbx + 0x30], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.TencentUserNameSet
mov qword [rbx + 0x38], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.SetHaveIMFileCtrlFlag
mov qword [rbx + 0x40], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.SetHaveIMFilePolicyFlag
mov qword [rbx + 0x48], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.SetRecordPhotoFlag
mov qword [rbx + 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.SetCtrlPhotoFlag
mov qword [rbx + 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.ModifyPassthruThread
mov qword [rbx + 0x60], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.InitGDI
mov qword [rbx + 0x68], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.SetIMInnerType
mov qword [rbx + 0x70], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.DealWXWorkData
mov qword [rbx + 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.SetWXWorkType
mov qword [rbx + 0x80], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.GetWXWorkSelfInfo
mov qword [rbx + 0x88], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.GetWXWorkSelfInfo2
mov qword [rbx + 0x90], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.GetWxWorkChatMode
mov qword [rbx + 0x98], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.SetWXWorkSelfInfo
mov qword [rbx + 0xa0], rax
mov rcx, qword [rbx + 0x128]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.SetWXWorkVersionType
mov qword [rbx + 0xa8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.SetLineCopyInfo
mov qword [rbx + 0xb0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.SetTIMCopyInfo
mov qword [rbx + 0xb8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.TIMDoOnceCopy
mov qword [rbx + 0xc0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.GetDingTalkSelfInfo
mov qword [rbx + 0xc8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.DuiSpyStart
mov qword [rbx + 0xd0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.DuiSpyStop
mov qword [rbx + 0xd8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.GetSkypeSelfInfo
mov qword [rbx + 0xe0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.GetLxSelfInfo
mov qword [rbx + 0xf0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.GetFeiQDBPath
mov qword [rbx + 0xe8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.IMHAOption
mov qword [rbx + 0xf8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.SetDocWaterMarkRule
mov qword [rbx + 0x100], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.SetDocFlowTraceRule
mov qword [rbx + 0x108], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, [0x18012f720]
mov qword [rbx + 0x110], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x128]
lea rdx, str.GetWhatsAppSelfInfo
mov qword [rbx + 0x118], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x120], rax
cmp dword [0x1801b0450], 0
je 0x180016a08
lea r9, str.hookapi_module_load_successful
lea r8, [0x18012b1a8]
lea rcx, [0x1801afb58]
or edx, 0xffffffff
call fcn.1800b3b40
mov dword [rbx + 0x130], 1
mov eax, 1
add rsp, 0x30
pop rbx
ret