Function at 0x180023bd0
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x40
xor r9d, r9d
mov r15, rdx
mov rdi, rcx
xor r8d, r8d
lea rcx, str.extension_dir
lea edx, [r9 + 0xd]
call qword [0x18002f408]
mov rcx, qword [rdi]
mov edx, 0x2f
mov rbx, rax
call qword [0x18002f0f8]
test rax, rax
jne 0x180023cb3
mov rcx, qword [rdi]
lea edx, [rax + 0x5c]
call qword [0x18002f0f8]
test rax, rax
jne 0x180023cb3
test rbx, rbx
je 0x180023d45
cmp byte [rbx], al
je 0x180023d45
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rbx + rax], 0
jne 0x180023c40
dec eax
movsxd rcx, eax
movzx eax, byte [rcx + rbx]
cmp al, 0x2f
je 0x180023c83
cmp al, 0x5c
je 0x180023c83
mov rax, qword [rdi]
lea r8, str._s_c_s
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x70]
mov r9, rbx
mov dword [rsp + 0x20], 0x5c
xor edx, edx
call qword [0x18002f5f0]
jmp 0x180023ca2
mov rax, qword [rdi]
lea r8, str._s_s
mov r9, rbx
mov qword [rsp + 0x20], rax
xor edx, edx
lea rcx, [rsp + 0x70]
call qword [0x18002f5f0]
mov rcx, qword [rdi]
call qword [0x18002f6f0]
mov rax, qword [rsp + 0x70]
mov qword [rdi], rax
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
jne 0x180023dba
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call qword [0x18002f3c8]
mov rbx, rax
test rax, rax
je 0x180023d92
cmp byte [rax], dil
je 0x180023d92
call qword [0x18002f7b8]
mov ecx, dword [0x180045d10]
lea r9, str.type_unknown_
dec ecx
mov qword [rsp + 0x28], rbx
movsxd rdx, ecx
lea r8, [0x18003e0d8]
mov rcx, qword [rax]
lea rax, [0x180030044]
mov qword [rsp + 0x20], rax
mov r10, qword [rcx + rdx*8]
lea ecx, [rdi + 1]
mov edx, dword [r10 + 0x4f0]
call sym.php7phpdbg.dll_qhpdbg_print
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
add rsp, 0x40
pop r15
pop rdi
pop rbx
ret
call qword [0x18002f7b8]
mov ecx, dword [0x180045d10]
lea r9, str.type_relpath_
dec ecx
movsxd rdx, ecx
mov rax, qword [rax]
mov rcx, qword [rax + rdx*8]
lea rax, str.Not_a_full_path_given_or_extension_dir_ini_setting_is_not_set
mov edx, dword [rcx + 0x4f0]
lea r8, [0x18003e0d8]
mov ecx, 1
mov qword [rsp + 0x20], rax
call sym.php7phpdbg.dll_qhpdbg_print
xor eax, eax
add rsp, 0x40
pop r15
pop rdi
pop rbx
ret
call qword [0x18002f7b8]
mov ecx, dword [0x180045d10]
lea r9, str.type_unknown_
dec ecx
movsxd rdx, ecx
mov rax, qword [rax]
mov rcx, qword [rax + rdx*8]
lea rax, str.Unknown_reason
jmp 0x180023d6b
lea rdx, str.extension_version_info
mov qword [rsp + 0x68], rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rax, rax
jne 0x180023dea
lea rdx, str._extension_version_info
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
lea rdx, str.zend_extension_entry
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x180023e15
lea rdx, str._zend_extension_entry
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x78], r14
test rsi, rsi
je 0x180023fb1
test rbx, rbx
je 0x180023fb1
cmp dword [rsi], 0x13151de4
je 0x180023ec5
mov rbp, qword [rbx + 0x80]
test rbp, rbp
je 0x180023e5d
mov rcx, rbp
call qword [0x18002f898]
mov ecx, 0x13151de4
call rbp
test eax, eax
je 0x180023ec5
call qword [0x18002f7b8]
mov ecx, dword [0x180045d10]
lea r9, str.type_wrongapi__extension__s__apineeded__d__apiinstalled__d_
dec ecx
mov dword [rsp + 0x38], 0x13151de4
movsxd rdx, ecx
mov rax, qword [rax]
mov rcx, qword [rax + rdx*8]
mov eax, dword [rsi]
mov dword [rsp + 0x30], eax
mov rax, qword [rbx]
mov qword [rsp + 0x28], rax
lea rax, str._s_requires_Zend_Engine_API_version__d__which_does_not_match_the_installed_Zend_Engine_API_version__d
mov edx, dword [rcx + 0x4f0]
lea r8, [0x18003e0d8]
mov ecx, 1
mov qword [rsp + 0x20], rax
call sym.php7phpdbg.dll_qhpdbg_print
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x1800241c6
mov rdx, qword [rsi + 8]
lea rbp, str.API320151012_TS_VC14
mov rcx, rbp
call fcn.18002e8b4
test eax, eax
je 0x180023f3c
mov r14, qword [rbx + 0x88]
test r14, r14
je 0x180023efb
mov rcx, r14
call qword [0x18002f898]
mov rcx, rbp
call r14
test eax, eax
je 0x180023f3c
call qword [0x18002f7b8]
mov ecx, dword [0x180045d10]
lea r9, str.type_wrongbuild__extension__s__buildneeded__s__buildinstalled__s_
dec ecx
mov qword [rsp + 0x38], rbp
movsxd rdx, ecx
mov rax, qword [rax]
mov rcx, qword [rax + rdx*8]
mov rax, qword [rsi + 8]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx]
mov qword [rsp + 0x28], rax
lea rax, str._s_was_built_with_configuration__s__whereas_running_engine_is__s
jmp 0x180023e99
mov rax, qword [rbx]
mov rdx, rdi
mov rcx, rbx
mov qword [r15], rax
call qword [0x18002f4c8]
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x180023fa5
mov rcx, rsi
call qword [0x18002f898]
mov rcx, rbx
call rsi
test eax, eax
je 0x180023f9c
call qword [0x18002f7b8]
mov ecx, dword [0x180045d10]
lea r9, str.type_startupfailure__extension__s_
dec ecx
movsxd rdx, ecx
mov rax, qword [rax]
mov rcx, qword [rax + rdx*8]
mov rax, qword [rbx]
mov qword [rsp + 0x28], rax
lea rax, str.Unable_to_startup_Zend_extension__s
jmp 0x180024196
mov rcx, rbx
call qword [0x18002f4c0]
lea rax, str.Zend_extension
jmp 0x1800241c6
lea rdx, str.get_module
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x180024031
lea rdx, str._get_module
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x180024031
call qword [0x18002f7b8]
mov ecx, dword [0x180045d10]
lea r9, str.type_nophpso_
dec ecx
lea r8, [0x18003e0d8]
movsxd rdx, ecx
mov rax, qword [rax]
mov rcx, qword [rax + rdx*8]
lea rax, str.This_shared_object_is_nor_a_Zend_extension_nor_a_module
mov qword [rsp + 0x20], rax
mov edx, dword [rcx + 0x4f0]
lea ecx, [rbx + 1]
call sym.php7phpdbg.dll_qhpdbg_print
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x1800241c6
mov rcx, rbx
call qword [0x18002f898]
call rbx
lea rbp, str.API320151012_TS_VC14
mov rbx, rax
mov rcx, qword [rax + 0x20]
mov qword [r15], rcx
mov rcx, rbp
mov rsi, qword [rax + 0xa0]
mov rdx, rsi
call fcn.18002e8b4
test eax, eax
je 0x1800240a1
call qword [0x18002f7b8]
mov ecx, dword [0x180045d10]
lea r9, str.type_wrongbuild__module__s__buildneeded__s__buildinstalled__s_
dec ecx
mov qword [rsp + 0x38], rbp
movsxd rdx, ecx
mov rax, qword [rax]
mov qword [rsp + 0x30], rsi
mov rcx, qword [rax + rdx*8]
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x28], rax
lea rax, str._s_was_built_with_configuration__s__whereas_running_engine_is__s
jmp 0x180023e99
mov byte [rbx + 0x8c], 1
call qword [0x18002f4e8]
mov rcx, rbx
mov qword [rbx + 0x90], rdi
mov dword [rbx + 0x98], eax
call qword [0x18002f4a8]
mov rbx, rax
test rax, rax
jne 0x180024104
call qword [0x18002f7b8]
mov ecx, dword [0x180045d10]
lea r9, str.type_registerfailure__module__s_
dec ecx
movsxd rdx, ecx
mov rax, qword [rax]
mov rcx, qword [rax + rdx*8]
mov rax, qword [0x20]
mov qword [rsp + 0x28], rax
lea rax, str.Unable_to_register_module__s
jmp 0x180024196
mov rcx, rbx
call qword [0x18002f880]
cmp eax, 0xffffffff
jne 0x180024143
call qword [0x18002f7b8]
mov ecx, dword [0x180045d10]
lea r9, str.type_startupfailure__module__s_
dec ecx
movsxd rdx, ecx
mov rax, qword [rax]
mov rcx, qword [rax + rdx*8]
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x28], rax
lea rax, str.Unable_to_startup_module__s
jmp 0x180024196
mov rsi, qword [rbx + 0x40]
test rsi, rsi
je 0x1800241bf
mov rcx, rsi
call qword [0x18002f898]
mov edx, dword [rbx + 0x98]
mov ecx, 1
call rsi
cmp eax, 0xffffffff
jne 0x1800241bf
call qword [0x18002f7b8]
mov ecx, dword [0x180045d10]
lea r9, str.type_initfailure__module__s_
dec ecx
movsxd rdx, ecx
mov rax, qword [rax]
mov rcx, qword [rax + rdx*8]
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x28], rax
lea rax, str.Unable_to_initialize_module__s
mov edx, dword [rcx + 0x4f0]
lea r8, [0x18003e0d8]
mov ecx, 1
mov qword [rsp + 0x20], rax
call sym.php7phpdbg.dll_qhpdbg_print
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x1800241c6
lea rax, str.module
mov rbp, qword [rsp + 0x60]
mov r14, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop r15
pop rdi
pop rbx
ret