Function at 0x1000f070
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
cmp dword [0x1017051c], 0xffffffff
jne 0x1000f08a
mov eax, 1
mov esp, ebp
pop ebp
ret 8
push ebx
push esi
xor esi, esi
push esi
call fcn.10050900
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 4
test dword [ebp + 8], 0x800
je 0x1000f0ee
call fcn.100504c0
test eax, eax
jne 0x1000f0ee
push str.libcef.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, esi
je 0x1000f0e9
cmp dword [0x10170f34], esi
jne 0x1000f0e9
push str.cef_string_utf8_to_utf16
push eax
call ebx
mov dword [0x10170f34], eax
cmp eax, esi
je 0x1000f0e9
push 0x100209a0
push 0x10170f34
call fcn.100505f0
add esp, 8
call fcn.10050500
push edi
call fcn.100504c0
test eax, eax
jne 0x1000f677
mov dword [ebp - 8], esi
cmp dword [0x10159cd0], esi
jbe 0x1000f672
mov eax, dword [0x101596e4]
cmp dword [esi + eax + 0x14], 0
jne 0x1000f65c
cmp dword [esi + eax + 0x10], 0
jne 0x1000f65c
mov eax, dword [esi + eax]
push str.KernelUtil.dll
push eax
mov dword [ebp - 4], 0
call fcn.10083372
add esp, 8
test eax, eax
jne 0x1000f657
push str.KernelUtil.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x1000f610
mov ecx, dword [0x101596e4]
mov eax, dword [esi + ecx + 4]
push str.SaveMsg
push eax
call fcn.1007e670
add esp, 8
test eax, eax
je 0x1000f2dc
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push str._SaveMsg_Msg_Util__YAHPB_WKKKPAUITXMsgPack__PAUITXData___Z
push eax
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000f2a0
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push str._SaveMsg194_Msg_Util__YAHPB_WKKKPAUITXMsgPack__PAUITXData___Z
push edx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000f2a0
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push str._SaveMsg194_Msg_Util__YAHPB_W000KKPAUITXMsgPack__PAUITXData___Z
push ecx
call fcn.10083372
add esp, 8
test eax, eax
jne 0x1000f206
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push eax
push edi
call ebx
mov dword [0x10170528], eax
test eax, eax
je 0x1000f610
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 8]
push edx
push 0x10170528
jmp 0x1000f605
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push str._SaveMsg194_Msg_Util__YAHPB_WKKKPAUITXMsgPack__PAUITXData__PAUITXCallback___Z
push ecx
call fcn.10083372
add esp, 8
test eax, eax
jne 0x1000f251
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push eax
push edi
call ebx
mov dword [0x1017052c], eax
test eax, eax
je 0x1000f610
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 8]
push edx
push 0x1017052c
jmp 0x1000f605
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push str._SaveMsg194_Msg_Util__YAHPB_W000KKPAUITXMsgPack__PAUITXData__PAUITXCallback___Z
push ecx
call fcn.10083372
add esp, 8
test eax, eax
jne 0x1000f610
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push eax
push edi
call ebx
mov dword [0x10170530], eax
test eax, eax
je 0x1000f610
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 8]
push edx
push 0x10170530
jmp 0x1000f605
cmp dword [0x10170520], 0
jne 0x1000f610
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push ecx
push edi
call ebx
mov dword [0x10170520], eax
test eax, eax
je 0x1000f610
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 8]
push eax
push 0x10170520
jmp 0x1000f605
mov ecx, dword [0x101596e4]
mov eax, dword [esi + ecx + 4]
push str.GetStatus
push eax
call fcn.1007e670
add esp, 8
test eax, eax
je 0x1000f328
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push eax
push edi
call ebx
mov dword [0x10170524], eax
test eax, eax
je 0x1000f610
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 8]
push edx
push 0x10170524
jmp 0x1000f605
mov eax, dword [0x101596e4]
mov eax, dword [esi + eax + 4]
push str.TransformMsg
push eax
call fcn.1007e670
add esp, 8
test eax, eax
je 0x1000f372
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push edx
push edi
call ebx
mov dword [0x10170534], eax
test eax, eax
je 0x1000f610
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 8]
push ecx
push 0x10170534
jmp 0x1000f605
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push str.TranslateGroupMsgToMsgPack
push eax
call fcn.1007e670
add esp, 8
test eax, eax
je 0x1000f3bd
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push ecx
push edi
call ebx
mov dword [0x10170538], eax
test eax, eax
je 0x1000f610
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 8]
push eax
push 0x10170538
jmp 0x1000f605
mov ecx, dword [0x101596e4]
mov eax, dword [esi + ecx + 4]
push str.TranslateBuddyMsgToMsgPack
push eax
call fcn.1007e670
add esp, 8
test eax, eax
je 0x1000f409
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push eax
push edi
call ebx
mov dword [0x1017053c], eax
test eax, eax
je 0x1000f610
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 8]
push edx
push 0x1017053c
jmp 0x1000f605
mov eax, dword [0x101596e4]
mov eax, dword [esi + eax + 4]
push str.GetContactShowName
push eax
call fcn.1007e670
add esp, 8
test eax, eax
je 0x1000f453
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push edx
push edi
call ebx
mov dword [0x10170540], eax
test eax, eax
je 0x1000f610
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 8]
push ecx
push 0x10170540
jmp 0x1000f605
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push str.GetDiscussMemShowName
push eax
call fcn.1007e670
add esp, 8
test eax, eax
je 0x1000f49e
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push ecx
push edi
call ebx
mov dword [0x10170544], eax
test eax, eax
je 0x1000f610
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 8]
push eax
push 0x10170544
jmp 0x1000f605
mov ecx, dword [0x101596e4]
mov eax, dword [esi + ecx + 4]
push str.GetGroupMemShowName
push eax
call fcn.1007e670
add esp, 8
test eax, eax
je 0x1000f4ea
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push eax
push edi
call ebx
mov dword [0x10170548], eax
test eax, eax
je 0x1000f610
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 8]
push edx
push 0x10170548
jmp 0x1000f605
mov eax, dword [0x101596e4]
mov eax, dword [esi + eax + 4]
push str.GetGroupAnonymousSenderID
push eax
call fcn.1007e670
add esp, 8
test eax, eax
je 0x1000f534
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push edx
push edi
call ebx
mov dword [0x1017054c], eax
test eax, eax
je 0x1000f610
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 8]
push ecx
push 0x1017054c
jmp 0x1000f605
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push str.GetGroupSigBuffer
push eax
call fcn.1007e670
add esp, 8
test eax, eax
je 0x1000f57f
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push ecx
push edi
call ebx
mov dword [0x10170550], eax
test eax, eax
je 0x1000f610
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 8]
push eax
push 0x10170550
jmp 0x1000f605
mov ecx, dword [0x101596e4]
mov eax, dword [esi + ecx + 4]
push str.TranslateMsgPackToBuddyMsg
push eax
call fcn.1007e670
add esp, 8
test eax, eax
je 0x1000f5c4
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push eax
push edi
call ebx
mov dword [0x10170554], eax
test eax, eax
je 0x1000f610
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 8]
push edx
push 0x10170554
jmp 0x1000f605
mov eax, dword [0x101596e4]
mov eax, dword [esi + eax + 4]
push str.TranslateMsgPackToMobileMsg
push eax
call fcn.1007e670
add esp, 8
test eax, eax
je 0x1000f610
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push edx
push edi
call ebx
mov dword [0x10170558], eax
test eax, eax
je 0x1000f610
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 8]
push ecx
push 0x10170558
call fcn.100505f0
add esp, 8
mov dword [ebp - 4], eax
cmp dword [0x1016af88], 0
je 0x1000f644
mov eax, dword [0x101596e4]
mov edx, dword [ebp - 4]
mov ecx, dword [esi + eax + 4]
push edx
mov edx, dword [esi + eax]
push ecx
push edx
push str.InstallDetours_1___S____S____d_
push str.IMHookAPI
push 0xffffffffffffffff
push 0x1016af1c
call fcn.1000b060
add esp, 0x1c
cmp dword [ebp - 4], 0
je 0x1000f657
mov eax, dword [0x101596e4]
mov dword [esi + eax + 0x14], 1
mov eax, dword [0x101596e4]
mov ecx, dword [ebp - 8]
inc ecx
add esi, 0x1c
mov dword [ebp - 8], ecx
cmp ecx, dword [0x10159cd0]
jb 0x1000f110
call fcn.10050500
mov ebx, dword [ebp + 8]
test dword [0x1017051c], ebx
jne 0x1000fc11
xor esi, esi
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], 2
mov dword [ebp - 0xc], esi
lea esp, [esp]
mov edi, dword [ebp + esi*4 - 0x18]
push 1
push edi
mov dword [ebp - 8], edi
call fcn.1000cef0
add esp, 8
test eax, eax
jne 0x1000fbfe
mov dword [ebp - 4], eax
cmp dword [0x10159cd0], eax
jbe 0x1000fbf5
mov eax, dword [0x101596e4]
xor esi, esi
cmp dword [esi + eax + 0x14], 0
jne 0x1000fbd9
cmp dword [esi + eax + 0x10], 0
jne 0x1000fbd9
cmp dword [esi + eax + 0x18], edi
jne 0x1000fbd9
call fcn.100b6dc0
test eax, eax
jne 0x1000f719
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push 0x1012499c
push edx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
test bl, 0x10
jne 0x1000f75d
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push 0x1012498c
push ecx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push 0x1012497c
push eax
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov eax, ebx
and eax, 0x20
mov dword [ebp - 0x10], eax
jne 0x1000f7e6
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push 0x1012496c
push edx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push 0x10124960
push ecx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push 0x10124954
push eax
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push 0x10124948
push edx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
test bl, 0x40
jne 0x1000f84a
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push str.CreateWindowExW
push ecx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push 0x1012492c
push eax
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push str.SetWindowTextW
push edx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
test bl, 1
jne 0x1000f8ae
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push 0x10124908
push ecx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push 0x101248fc
push eax
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push 0x101248f0
push edx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
test bl, bl
js 0x1000f974
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push 0x101248e8
push ecx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push 0x101248dc
push eax
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push 0x101248d0
push edx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push 0x101248c0
push ecx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push str.ScriptShape
push eax
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push str.CreateTextServices
push edx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd4
and ebx, 0x100
jne 0x1000f9fa
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push str.DrawTextW
push ecx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd1
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push str.TextOutW
push eax
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd1
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push str.CreateRectRgnIndirect
push edx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd1
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push str.ExtSelectClipRgn
push ecx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd1
test byte [ebp + 8], 2
jne 0x1000fa7f
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push str.PeekMessageA
push eax
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd1
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push str.PeekMessageW
push edx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd1
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push str.GetMessageA
push ecx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd1
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push str.GetMessageW
push eax
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd1
mov edi, dword [ebp + 8]
and edi, 4
jne 0x1000faa7
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push 0x10124810
push edx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd1
cmp dword [ebp + 0xc], 0
je 0x1000faba
test ebx, ebx
jne 0x1000fad9
test edi, edi
jne 0x1000fad9
cmp dword [ebp - 0x10], edi
jne 0x1000fad9
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax + 4]
push 0x10124804
push ecx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd1
test dword [ebp + 8], 0x400
jne 0x1000fb02
mov edx, dword [0x101596e4]
mov eax, dword [esi + edx + 4]
push str.GdipSaveImageToFile
push eax
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd1
test dword [ebp + 8], 0x1000
jne 0x1000fb2b
mov ecx, dword [0x101596e4]
mov edx, dword [esi + ecx + 4]
push str.SetClipBoardData
push edx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd1
mov eax, dword [0x101596e4]
mov ecx, dword [esi + eax]
push str.KernelUtil.dll
push ecx
call fcn.10083372
add esp, 8
test eax, eax
je 0x1000fbd1
xor edi, edi
call fcn.10050380
test al, 2
je 0x1000fb59
mov edi, 1
mov eax, dword [0x101596e4]
mov edx, dword [esi + eax + 0xc]
mov ecx, dword [esi + eax + 8]
push 0x12c
push edi
push edx
mov edx, dword [esi + eax + 4]
mov eax, dword [esi + eax]
push ecx
mov ecx, dword [ebp - 8]
push edx
push eax
push ecx
call fcn.1000cf60
add esp, 0x1c
cmp dword [0x1016af88], 0
mov edi, eax
je 0x1000fbbf
mov eax, dword [0x101596e4]
mov edx, dword [esi + eax + 0x18]
mov ecx, dword [esi + eax + 4]
push edi
push edx
mov edx, dword [esi + eax]
mov eax, dword [ebp - 4]
push ecx
push edx
push eax
push str.InstallDetours_2__i_d____S____S___type:__08x____d_
push str.IMHookAPI
push 0xffffffffffffffff
push 0x1016af1c
call fcn.1000b060
add esp, 0x24
test edi, edi
je 0x1000fbd1
mov ecx, dword [0x101596e4]
mov dword [esi + ecx + 0x14], 1
mov ebx, dword [ebp + 8]
mov eax, dword [0x101596e4]
mov ecx, dword [ebp - 4]
mov edi, dword [ebp - 8]
inc ecx
add esi, 0x1c
mov dword [ebp - 4], ecx
cmp ecx, dword [0x10159cd0]
jb 0x1000f6d0
mov esi, dword [ebp - 0xc]
push edi
call fcn.1000cf30
add esp, 4
inc esi
mov dword [ebp - 0xc], esi
cmp esi, 2
jb 0x1000f6a0
or dword [0x1017051c], ebx
pop edi
cmp ebx, 0x20
ja 0x1000fcc5
je 0x1000fcae
lea eax, [ebx - 1]
cmp eax, 0xf
ja case.0x1000fc34.3
movzx edx, byte [eax + 0x1000fd98]
jmp dword [edx*4 + 0x1000fd80]
cmp dword [0x1016af88], 0
je 0x1000fd5c
push str.InstallDetours__HOOKDC
jmp 0x1000fd48
cmp dword [0x1016af88], 0
je 0x1000fd5c
push str.InstallDetours__HOOKCTRLAC
jmp 0x1000fd48
cmp dword [0x1016af88], 0
je 0x1000fd5c
push str.InstallDetours__HOOKPHOTO
jmp 0x1000fd48
cmp dword [0x1016af88], 0
je 0x1000fd5c
push str.InstallDetours__HOOKFILE
jmp 0x1000fd48
cmp dword [0x1016af88], 0
je 0x1000fd5c
push str.InstallDetours__HOOKCLIPBOARD
jmp 0x1000fd48
cmp dword [0x1016af88], 0
je 0x1000fd5c
push str.InstallDetours__HOOKWRITE
jmp 0x1000fd48
cmp ebx, 0x100
ja 0x1000fd0a
je 0x1000fcfa
mov eax, ebx
sub eax, 0x40
je 0x1000fcea
sub eax, 0x40
jne case.0x1000fc34.3
cmp dword [0x1016af88], eax
je 0x1000fd5c
push str.InstallDetours__HOOKDCEX
jmp 0x1000fd48
cmp dword [0x1016af88], 0
je 0x1000fd5c
push str.InstallDetours__HOOKWND
jmp 0x1000fd48
cmp dword [0x1016af88], 0
je 0x1000fd5c
push str.InstallDetours__HOOKDCTEXT
jmp 0x1000fd48
cmp ebx, 0x400
je 0x1000fd3a
cmp ebx, 0x800
je 0x1000fd2a
cmp dword [0x1016af88], 0
je 0x1000fd5c
push str.InstallDetours__DEFAULT____
jmp 0x1000fd48
cmp dword [0x1016af88], 0
je 0x1000fd5c
push str.InstallDetours__HOOKCEF
jmp 0x1000fd48
cmp dword [0x1016af88], 0
je 0x1000fd5c
push str.InstallDetours__HOOKGUIPLUS
push str.IMHookAPI
push 0xffffffffffffffff
push 0x1016af1c
call fcn.1000b060
add esp, 0x10
push 0
push str.OAGENT3
call fcn.100b0730
add esp, 8
mov eax, 1
pop esi
mov dword [0x10170510], eax
pop ebx
mov esp, ebp
pop ebp
ret 8