Function at 0x100081f0
Capabilities:
Create thread
Get common file path
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x290
mov eax, dword [0x10033008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
cmp eax, 1
jne 0x10008462
mov dword [0x10034b60], edi
call fcn.10008140
test al, al
jne 0x10008244
push str._OBS__Duplicate_hook_library
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000f530
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea eax, [ebp - 0x290]
push 0
push 0
push 0x100000
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
jne 0x1000827c
push str._OBS__Failed_to_get_current_thread_handle
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
call ebx
mov esi, eax
mov ecx, str.CaptureHook_Restart
mov edx, esi
call fcn.100071f0
mov dword [0x100344ac], eax
test eax, eax
je 0x1000822f
mov edx, esi
mov ecx, str.CaptureHook_Stop
call fcn.100071f0
mov dword [0x100344a4], eax
test eax, eax
je 0x1000822f
mov edx, esi
mov ecx, str.CaptureHook_HookReady
call fcn.100071f0
mov dword [0x100346bc], eax
test eax, eax
je 0x1000822f
mov edx, esi
mov ecx, str.CaptureHook_Exit
call fcn.100071f0
mov dword [0x100347c4], eax
test eax, eax
je 0x1000822f
mov edx, esi
mov ecx, str.CaptureHook_Initialize
call fcn.100071f0
mov dword [0x10034b3c], eax
test eax, eax
je 0x1000822f
push 0x104
push 0x100344b0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
jne 0x1000832c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_get_windows_system_path:__lu
call fcn.10007830
add esp, 8
jmp 0x1000822f
call ebx
push eax
push str.CaptureHook_HookInfo_lu
lea eax, [ebp - 0x84]
xor esi, esi
push 0x40
push eax
call fcn.10007050
add esp, 0x10
test eax, eax
jle 0x10008365
lea eax, [ebp - 0x84]
push eax
push 0x288
push esi
push 4
push esi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov esi, eax
mov dword [0x10034b40], esi
test esi, esi
jne 0x10008376
mov esi, str.Failed_to_create_hook_info_file_mapping:__lu
jmp 0x10008399
push 0x288
push 0
push 0
push 0xf001f
push esi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [0x100344a8], eax
test eax, eax
jne 0x100083be
mov esi, str.Failed_to_map_the_hook_info_file_mapping:__lu
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
call fcn.10007830
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000f530
mov esp, ebp
pop ebp
ret 0xc
call ebx
mov esi, eax
mov ecx, str.CaptureHook_TextureMutex1
mov edx, esi
call fcn.10007260
mov dword [0x100348cc], eax
test eax, eax
je 0x1000822f
mov edx, esi
mov ecx, str.CaptureHook_TextureMutex2
call fcn.10007260
mov dword [0x100348d0], eax
test eax, eax
je 0x1000822f
push 0x10034c60
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x104
lea eax, [ebp - 0x28c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x28c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0
push 0
push dword [ebp - 0x290]
push 0x10007740
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x10034b64], eax
test eax, eax
jne 0x100084a6
push dword [ebp - 0x290]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000f530
mov esp, ebp
pop ebp
ret 0xc
test eax, eax
jne 0x100084a6
cmp dword [0x10034b58], eax
je 0x100084a6
mov eax, dword [0x10034b64]
test eax, eax
je 0x10008496
push 0x12c
push eax
mov byte [0x10034b68], 1
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [0x10034b64]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.100073f0
push 0x10034c60
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1000f530
mov esp, ebp
pop ebp
ret 0xc