Function at 0x140112bd0
Capabilities:
Query environment variable

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
push r14
sub rsp, 0xaa8
mov rax, qword [0x1407ddd00]
xor rax, rsp
mov qword [rsp + 0xa90], rax
mov rax, qword [rsp + 0xb00]
xor ebp, ebp
mov dword [rsp + 0x44], r9d
mov r14d, r8d
mov qword [rsp + 0x48], rax
mov rsi, rdx
mov r13, rcx
lea rdi, [rbp - 1]
test rdx, rdx
je 0x140112c2b
mov rbx, rdi
nop dword [rax + rax]
inc rbx
cmp byte [rdx + rbx], bpl
jne 0x140112c20
jmp 0x140112c2e
mov rbx, rbp
call fcn.1401126f0
test eax, eax
je 0x140112c3e
xor eax, eax
jmp 0x140112f88
mov rdx, qword [0x1407e05a0]
test rdx, rdx
je 0x140112ca4
cmp byte [rdx], bpl
je 0x140112ca4
mov rax, qword [0x140515640]
lea r9, str.C:_build_sb_1_12756051_1695398590.5mysql_8.2.0_sql_commonclient_plugin.cc
mov qword [rsp + 0x68], rbp
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x78], rbp
xor r8d, r8d
mov dword [rsp + 0x20], 0x1b8
mov r10, qword [rax + 0x18]
call r10
lea rcx, [0x1407e0578]
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test rbp, rbp
je 0x140112cb1
mov rax, qword [0x140515640]
xor edx, edx
mov rcx, rbp
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
jmp 0x140112cb1
lea rcx, [0x1407e0578]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov qword [rsp + 0xaf0], r12
mov qword [rsp + 0xaa0], r15
test r14d, r14d
js 0x140112ce2
mov edx, r14d
mov rcx, rsi
call fcn.140112640
test rax, rax
je 0x140112ce2
lea rbx, str.it_is_already_loaded
jmp 0x140112f2e
mov rbp, qword [r13 + 0x3f8]
test rbp, rbp
je 0x140112cf7
mov rbp, qword [rbp]
test rbp, rbp
jne 0x140112d12
lea rcx, str.LIBMYSQL_PLUGIN_DIR
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
lea rbp, str.C:_Program_Files_MySQL_MySQL_Server_8.2_lib_plugin
cmovne rbp, rax
mov rax, qword [r13 + 0x2c8]
lea r15, reloc.WLDAP32.dll_Ordinal_46
test rax, rax
mov qword [rsp + 0x20], 2
lea r12, [rsi + rbx]
mov rdx, rsi
cmovne r15, rax
lea r9, [0x140208364]
mov rcx, r15
mov r8, r12
call fcn.14012aae0
cmp rax, rbx
jae 0x140112d5a
lea rbx, str.No_paths_allowed_for_shared_library
jmp 0x140112f2e
mov rax, qword [r15 + 0xa8]
mov r9d, 0x40
mov r8, r12
mov rdx, rsi
mov rcx, r15
mov r10, qword [rax + 0x28]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
call r10
cmp dword [rsp + 0x40], 0
jne 0x140112f27
cmp rbx, rax
jne 0x140112f27
inc rdi
cmp byte [rdi + rbp], 0
jne 0x140112d95
lea rax, [rbx + 1]
add rax, rdi
cmp rax, 0x200
jb 0x140112db9
lea rbx, str.Invalid_path
jmp 0x140112f2e
lea rax, str..dll
xor ebx, ebx
mov qword [rsp + 0x30], rbx
lea r9, [0x1401eadd4]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x80]
mov r8, rbp
mov qword [rsp + 0x20], rsi
mov edx, 0x200
call fcn.14012ab80
xor r8d, r8d
lea rcx, [rsp + 0x80]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov rdi, rax
test rax, rax
jne 0x140112e55
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov r8d, eax
mov dword [rsp + 0x28], 0x800
lea rax, [rsp + 0x290]
xor edx, edx
mov ecx, 0x1000
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
lea rbx, [rsp + 0x290]
lea rcx, [0x1404df8b6]
cmove rbx, rcx
jmp 0x140112f2e
mov rdx, qword [str._mysql_client_plugin_declaration_]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x140112e82
mov rcx, rdi
lea rbx, str.not_a_plugin
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x140112f2e
test r14d, r14d
js 0x140112e98
cmp r14d, dword [rax]
je 0x140112e98
lea rbx, str.type_mismatch
jmp 0x140112f2e
mov r8, qword [rbx + 8]
mov rax, rsi
sub r8, rsi
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140112eb5
inc rax
test ecx, ecx
jne 0x140112ea2
test edx, edx
je 0x140112ec2
lea rbx, str.name_mismatch
jmp 0x140112f2e
test r14d, r14d
jns 0x140112edf
mov edx, dword [rbx]
mov rcx, rsi
call fcn.140112640
test rax, rax
je 0x140112edf
lea rbx, str.it_is_already_loaded
jmp 0x140112f2e
mov rax, qword [rsp + 0x48]
mov r8, rdi
mov r9d, dword [rsp + 0x44]
mov rdx, rbx
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.140112470
mov rcx, qword [0x1407e05a0]
mov rbx, rax
test rcx, rcx
je 0x140112f15
mov rdx, qword [0x140515640]
call qword [rdx + Ordinal_41]
lea rcx, [0x1407e0578]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, rbx
jmp 0x140112f78
lea rbx, str.Invalid_plugin_name
mov rcx, qword [0x1407e05a0]
test rcx, rcx
je 0x140112f44
mov rax, qword [0x140515640]
call qword [rax + Ordinal_41]
lea rcx, [0x1407e0578]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r9, qword [str.Authentication_plugin__s_cannot_be_loaded:__s]
mov edx, 0x80b
mov r8, qword [str.HY000]
mov rcx, r13
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rsi
call fcn.1401261e0
xor eax, eax
mov r12, qword [rsp + 0xaf0]
mov r15, qword [rsp + 0xaa0]
mov rcx, qword [rsp + 0xa90]
xor rcx, rsp
call fcn.1401db8e0
add rsp, 0xaa8
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret