Function at 0x1400147f0
Capabilities:
Query environment variable

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
push r14
sub rsp, 0xaa8
mov rax, qword [0x1406bd868]
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 0x14001484b
mov rbx, rdi
nop dword [rax + rax]
inc rbx
cmp byte [rdx + rbx], bpl
jne 0x140014840
jmp 0x14001484e
mov rbx, rbp
call fcn.1400141f0
test eax, eax
je 0x14001485e
xor eax, eax
jmp 0x140014ba8
mov rdx, qword [0x1406c3260]
test rdx, rdx
je 0x1400148c4
cmp byte [rdx], bpl
je 0x1400148c4
mov rax, qword [str.py__]
lea r9, str.C:_build_sb_1_13696040_1702406430.87mysql_8.0.36_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], 0x1a8
mov r10, qword [rax + 0x18]
call r10
lea rcx, [0x1406c3238]
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test rbp, rbp
je 0x1400148d1
mov rax, qword [str.py__]
xor edx, edx
mov rcx, rbp
call qword [rax + 0x20]
jmp 0x1400148d1
lea rcx, [0x1406c3238]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov qword [rsp + 0xaf0], r12
mov qword [rsp + 0xaa0], r15
test r14d, r14d
js 0x140014902
mov edx, r14d
mov rcx, rsi
call fcn.140014140
test rax, rax
je 0x140014902
lea rbx, str.it_is_already_loaded
jmp 0x140014b4e
mov rbp, qword [r13 + 0x3f8]
test rbp, rbp
je 0x140014917
mov rbp, qword [rbp]
test rbp, rbp
jne 0x140014932
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.0_lib_plugin
cmovne rbp, rax
mov rax, qword [r13 + 0x2c8]
lea r15, [0x140406500]
test rax, rax
mov qword [rsp + 0x20], 2
lea r12, [rsi + rbx]
mov rdx, rsi
cmovne r15, rax
lea r9, [0x1400fea74]
mov rcx, r15
mov r8, r12
call fcn.1400652b0
cmp rax, rbx
jae 0x14001497a
lea rbx, str.No_paths_allowed_for_shared_library
jmp 0x140014b4e
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 0x140014b47
cmp rbx, rax
jne 0x140014b47
inc rdi
cmp byte [rdi + rbp], 0
jne 0x1400149b5
lea rax, [rbx + 1]
add rax, rdi
cmp rax, 0x200
jb 0x1400149d9
lea rbx, str.Invalid_path
jmp 0x140014b4e
lea rax, str..dll
xor ebx, ebx
mov qword [rsp + 0x30], rbx
lea r9, [0x1400fe824]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x80]
mov r8, rbp
mov qword [rsp + 0x20], rsi
mov edx, 0x200
call fcn.14002b640
xor r8d, r8d
lea rcx, [rsp + 0x80]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov rdi, rax
test rax, rax
jne 0x140014a75
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, [0x1400fb935]
cmove rbx, rcx
jmp 0x140014b4e
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 0x140014aa2
mov rcx, rdi
lea rbx, str.not_a_plugin
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x140014b4e
test r14d, r14d
js 0x140014ab8
cmp r14d, dword [rax]
je 0x140014ab8
lea rbx, str.type_mismatch
jmp 0x140014b4e
mov r8, qword [rbx + 8]
mov rax, rsi
sub r8, rsi
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140014ad5
inc rax
test ecx, ecx
jne 0x140014ac2
test edx, edx
je 0x140014ae2
lea rbx, str.name_mismatch
jmp 0x140014b4e
test r14d, r14d
jns 0x140014aff
mov edx, dword [rbx]
mov rcx, rsi
call fcn.140014140
test rax, rax
je 0x140014aff
lea rbx, str.it_is_already_loaded
jmp 0x140014b4e
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.140013fa0
mov rcx, qword [0x1406c3260]
mov rbx, rax
test rcx, rcx
je 0x140014b35
mov rdx, qword [str.py__]
call qword [rdx + 0x28]
lea rcx, [0x1406c3238]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, rbx
jmp 0x140014b98
lea rbx, str.Invalid_plugin_name
mov rcx, qword [0x1406c3260]
test rcx, rcx
je 0x140014b64
mov rax, qword [str.py__]
call qword [rax + 0x28]
lea rcx, [0x1406c3238]
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.140029ff0
xor eax, eax
mov r12, qword [rsp + 0xaf0]
mov r15, qword [rsp + 0xaa0]
mov rcx, qword [rsp + 0xa90]
xor rcx, rsp
call fcn.1400f2410
add rsp, 0xaa8
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret