Function at 0x6471c68d
Capabilities:
Delete file
Link many functions at runtime
Print debug messages

Disassembly:
push 0x588
mov eax, 0x6474415a
call fcn.647264a8
mov edi, ecx
xor ebx, ebx
lea ecx, [ebp - 0x554]
push ebx
mov esi, str.CATGpcWindow::InitExtension
push esi
call fcn.647109cd
mov dword [ebp - 4], ebx
cmp dword [edi + 0x474], ebx
je 0x6471c6ee
push 0x4f3
push 0x6474a308
push str._m_hLibExtension
lea eax, [ebp - 0x514]
push str.ASSERT__s_failed_at_file__s__line__d_r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea eax, [ebp - 0x514]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x103
lea eax, [ebp - 0x113]
mov byte [ebp - 0x114], bl
push ebx
push eax
call fcn.64725a70
add esp, 0xc
lea eax, [ebp - 0x114]
lea ecx, [edi + 0x318]
push 0x104
push eax
call fcn.647188b2
push 0x6474971c
push dword [0x6475c194]
lea eax, [ebp - 0x114]
push eax
call fcn.64717419
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x114]
push eax
jne 0x6471c76a
push str.Wrong_signature_in__s_
call fcn.64721861
pop ecx
pop ecx
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x114]
push eax
jmp 0x6471c922
push esi
lea ecx, [ebp - 0x594]
call fcn.647109cd
mov byte [ebp - 4], 1
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [edi + 0x474], eax
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x594]
call fcn.64710b28
lea eax, [ebp - 0x114]
push eax
cmp dword [edi + 0x474], ebx
je 0x6471c86d
push str.GPC_extension__s__is_loaded_successfully
call fcn.64721861
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
pop ecx
pop ecx
push str.GpcInitInstance
push dword [edi + 0x474]
call esi
push str.GpcInitInstanceEx
push dword [edi + 0x474]
mov dword [edi + 0x478], eax
call esi
push str.GpcExitInstance
push dword [edi + 0x474]
mov dword [edi + 0x47c], eax
call esi
push str.GpcHeartbeat
push dword [edi + 0x474]
mov dword [edi + 0x480], eax
call esi
push str.GpcActionNotify
push dword [edi + 0x474]
mov dword [edi + 0x484], eax
call esi
push str.GpcSetWindow
push dword [edi + 0x474]
mov dword [edi + 0x488], eax
call esi
push str.GpcHandleEvent
push dword [edi + 0x474]
mov dword [edi + 0x48c], eax
call esi
push str.GpcStdDownloadExt
push dword [edi + 0x474]
mov dword [edi + 0x490], eax
call esi
push str.GpcOdeGetSectionIntegrityExt
push dword [edi + 0x474]
mov dword [edi + 0x494], eax
call esi
mov dword [edi + 0x498], eax
jmp 0x6471c8a7
push str.Failed_to_load_GPC_extension:_s
call fcn.64721861
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x104
lea eax, [ebp - 0x114]
mov ecx, edi
push eax
call fcn.6471d1dd
push ebx
push 0x6b
mov ecx, edi
call fcn.6471d7b2
mov dword [edi + 0x330], 1
push ebx
push str.gpcInitExtension
call fcn.6470c1cd
cmp dword [edi + 0x244], 0
pop ecx
pop ecx
jne 0x6471c937
cmp dword [edi + 0x47c], ebx
je 0x6471c907
push str.Initialize_GPC_extension_without_sitelock
call fcn.64721861
pop ecx
push ebx
lea eax, [edi + 0x4a4]
mov ecx, edi
push eax
call fcn.6471bb9b
push eax
call dword [edi + 0x47c]
mov esi, eax
test esi, esi
je 0x6471c993
push esi
push str.Initialize_ext_fail._return__d_
call fcn.6471ba48
pop ecx
pop ecx
push esi
push 0x64
push str.Init_ext_error
jmp 0x6471c91a
push str.No_new_interface_for_un_sitelock_flag
call fcn.6471ba48
pop ecx
push ebx
push 0x64
push str.No_interface_for_unsitelock
mov ecx, edi
call fcn.6471d1dd
push ebx
push 0x6f
mov ecx, edi
call fcn.6471d7b2
mov dword [edi + 0x330], 1
jmp 0x6471c9a5
cmp dword [edi + 0x478], ebx
je 0x6471c9a5
push str.Initialize_GPC_extension...
call fcn.64721861
pop ecx
lea eax, [edi + 0x4a4]
mov ecx, edi
push eax
call fcn.6471bb9b
push eax
call dword [edi + 0x478]
mov esi, eax
test esi, esi
je 0x6471c993
mov ecx, edi
call fcn.6471ddc7
push esi
push str.Initialize_GPC_fail__ret__d_
mov dword [edi + 0x330], 1
call fcn.64721861
pop ecx
pop ecx
mov ecx, edi
call fcn.6471b748
mov ecx, edi
call fcn.6471b724
jmp 0x6471c9a5
mov ecx, edi
mov dword [edi + 0x298], ebx
call fcn.6471bb9b
mov dword [0x6475c164], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x554]
call fcn.64710b28
call fcn.64726457
ret