Function at 0x140006090
Capabilities:
Link many functions at runtime

Disassembly:
push rsi
sub rsp, 0x20
lea rdx, [0x140134f40]
mov ecx, 0x120
call fcn.1400f6404
mov rsi, rax
test rax, rax
je 0x14000652c
lea rcx, str.bdec.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsi], rax
test rax, rax
je 0x14000651f
mov qword [rsp + 0x30], rbx
lea rdx, str.Init
mov rcx, rax
mov qword [rsp + 0x38], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea rdx, str.InitEx
xor ebx, ebx
mov qword [rsi + 8], rax
test rax, rax
sete bl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0x10], rax
lea rdx, str.RegisterCallbackA
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0x18], rax
lea rdx, str.SetOptionA
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0x20], rax
lea rdx, str.SetOptionVarLenA
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0x28], rax
lea rdx, str.OverWriteReservedKeyInt64A
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0x30], rax
lea rdx, str.OverWriteReservedKeyInt64W
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0x38], rax
lea rdx, str.OverWriteReservedKeyStringA
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0x40], rax
lea rdx, str.OverWriteReservedKeyStringW
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0x48], rax
lea rdx, str.CreateEcEventW
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0x50], rax
lea rdx, str.CreateEcEventA
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0x58], rax
lea rdx, str.AddKeyValueEventW
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0x60], rax
lea rdx, str.AddKeyValueEventA
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0x68], rax
lea rdx, str.AddKeyValueEventInt64W
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0x70], rax
lea rdx, str.AddKeyValueEventInt64A
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0x78], rax
lea rdx, str.AddKeyValueEventDoubleW
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0x80], rax
lea rdx, str.AddKeyValueEventDoubleA
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0x88], rax
lea rdx, str.AddKeyValueEventArray
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0x90], rax
lea rdx, str.CreateChildEvent
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0x98], rax
lea rdx, str.CreateArrayOfEvents
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0xa8], rax
lea rdx, str.AppendEventToArray
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0xb0], rax
lea rdx, str.AppendIntegerToArray
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0xb8], rax
lea rdx, str.AppendValueToParentW
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xd0], rax
lea ebx, [rdi + 1]
test rax, rax
mov rcx, qword [rsi]
lea rdx, str.ReloadCommonFields
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0xd8], rax
lea rdx, str.ApplySettingsOnTheFly
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0xe0], rax
lea rdx, str.AppendValueToParentA
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0xe8], rax
lea rdx, str.GetEventTextA
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0xf0], rax
lea rdx, str.FreeEventTextA
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0xf8], rax
lea rdx, str.SubmitEvent
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0x100], rax
lea rdx, str.DestroyEvent
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0x108], rax
lea rdx, str.UnregisterCallbackA
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0x110], rax
lea rdx, str.Uninit
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0x118], rax
lea rdx, str.CreateArrayOfStrings
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea ebx, [rdi + 1]
test rax, rax
mov qword [rsi + 0xa0], rax
lea rdx, str.AppendStringToArrayA
cmovne ebx, edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsi]
lea edi, [rbx + 1]
test rax, rax
mov qword [rsi + 0xc0], rax
lea rdx, str.AppendStringToArrayW
cmovne edi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, qword [rsp + 0x30]
lea ecx, [rdi + 1]
test rax, rax
mov qword [rsi + 0xc8], rax
cmovne ecx, edi
mov rdi, qword [rsp + 0x38]
test ecx, ecx
je 0x140006534
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov edx, 0x120
mov rcx, rsi
call fcn.1400f5c2c
xor eax, eax
add rsp, 0x20
pop rsi
ret
mov rax, rsi
add rsp, 0x20
pop rsi
ret