Function at 0x40d290
Capabilities:
Link many functions at runtime
Print debug messages

Disassembly:
sub esp, 0x204
push ebx
push ebp
push esi
push edi
call fcn.0040e310
mov edi, 0x46fa24
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x14]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xor ebx, ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [0x46fc30], ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [0x46fc34], ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.vrvhook.dll
call fcn.00425e4c
lea ecx, [esp + 0x14]
push ecx
call fcn.00410030
mov edi, dword [eax]
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x14]
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x10]
call fcn.00425dde
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [0x46fe90], eax
jne 0x40d35c
lea ecx, [esp + 0x14]
push ecx
call edi
cmp eax, ebx
mov dword [0x46fe90], eax
jne 0x40d35c
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x204
ret
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x43e3cc
push eax
call esi
cmp eax, ebx
mov dword [0x46fc3c], eax
jne 0x40d38b
push str.Get_SetProcessHandle_Function_Address_Error_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x204
ret
mov edx, dword [0x46fe90]
push 0x43e388
push edx
call esi
cmp eax, ebx
mov dword [0x46fe50], eax
jne 0x40d3ba
push str.Get_SetHelpControlVar_Function_Address_Error_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x204
ret
mov eax, dword [0x46fe90]
push 0x43e344
push eax
call esi
cmp eax, ebx
mov dword [0x46fe54], eax
jne 0x40d3e8
push str.Get_SetHardControlParam_Function_Address_Error_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x204
ret
mov ecx, dword [0x46fe90]
push 0x43e2fc
push ecx
call esi
cmp eax, ebx
mov dword [0x46fe58], eax
jne 0x40d417
push str.Get_SetDisableCreatParam_Function_Address_Error_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x204
ret
mov edx, dword [0x46fe90]
push 0x43e2b8
push edx
call esi
cmp eax, ebx
mov dword [0x46fe68], eax
jne 0x40d446
push str.Get_StartStopHook_Function_Address_Error_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x204
ret
mov eax, dword [0x46fe90]
push 0x43e27c
push eax
call esi
cmp eax, ebx
mov dword [0x46fe70], eax
jne 0x40d474
push str.Get_GetShareData_Function_Address_Error_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x204
ret
mov ecx, dword [0x46fe90]
push 0x43e23c
push ecx
call esi
cmp eax, ebx
mov dword [0x46fe6c], eax
jne 0x40d4a3
push str.Get_SetThreadSwitchFlag_Function_Address_Error_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x204
ret
mov edx, dword [0x46fe90]
push 0x43e1fc
push edx
call esi
cmp eax, ebx
mov dword [0x46fe74], eax
jne 0x40d4d2
push str.Get_SetToDllParam_Function_Address_Error_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x204
ret
mov eax, dword [0x46fe90]
push 0x43e1c0
push eax
call esi
cmp eax, ebx
mov dword [0x46fc38], eax
jne 0x40d500
push str.Get_GetHookHandle_Function_Address_Error_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x204
ret
cmp dword [esp + 0x218], ebx
je 0x40d54d
push 0x43db28
call edi
cmp eax, ebx
mov dword [0x46fe9c], eax
je 0x40d54d
push str.ImpersonateLoggedOnUser
push eax
call esi
cmp eax, ebx
mov dword [0x46fe7c], eax
jne 0x40d530
mov dword [0x46fe7c], ebx
mov ecx, dword [0x46fe9c]
push str.OpenProcessToken
push ecx
call esi
cmp eax, ebx
mov dword [0x46fe78], eax
jne 0x40d54d
mov dword [0x46fe78], ebx
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x204
ret