Function at 0x140001ee0
Capabilities:
Query environment variable
Reference sql statements
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
xor eax, eax
mov edi, ecx
mov rcx, qword [rdx]
mov rsi, rdx
xor r13b, r13b
xor r12b, r12b
mov ebx, eax
mov qword [rbp + 0x88], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov dword [rbp + 0x78], eax
mov r14d, eax
call fcn.14000bdd0
mov rcx, qword [rsi]
lea rdx, str.pgscripts_9.6
mov r15, rax
call fcn.140009fe0
lea r9, [0x140001d70]
lea r8, str.createlang
mov rdx, rsi
mov ecx, edi
call section..text
lea rax, [rbp + 0x80]
lea r9, section..data
lea r8, str.lh:p:U:wWd:e
mov rdx, rsi
mov ecx, edi
mov qword [rsp + 0x20], rax
call fcn.14000e010
lea r8d, [r14 + 1]
cmp eax, 0xffffffff
je 0x14000204f
lea rdx, [0x140000000]
nop dword [rax]
add eax, 0xffffffab
cmp eax, 0x22
ja case.0x140001fb0.93
cdqe
movzx eax, byte [rdx + rax + 0x24b4]
mov ecx, dword [rdx + rax*4 + 0x2490]
add rcx, rdx
jmp rcx
mov r13b, 1
jmp 0x140002015
mov rcx, qword [0x140019c60]
call fcn.140009ce0
mov qword [rbp + 0x88], rax
jmp 0x140002015
mov rcx, qword [0x140019c60]
call fcn.140009ce0
mov qword [rsp + 0x48], rax
jmp 0x140002015
mov rcx, qword [0x140019c60]
call fcn.140009ce0
mov qword [rsp + 0x50], rax
jmp 0x140002015
mov dword [rbp + 0x78], r8d
jmp 0x140002015
mov dword [rbp + 0x78], 2
jmp 0x140002015
mov rcx, qword [0x140019c60]
call fcn.140009ce0
mov rbx, rax
jmp 0x140002015
mov r12b, 1
lea rax, [rbp + 0x80]
lea r9, section..data
lea r8, str.lh:p:U:wWd:e
mov rdx, rsi
mov ecx, edi
mov qword [rsp + 0x20], rax
call fcn.14000e010
lea rdx, [0x140000000]
mov r8d, 1
cmp eax, 0xffffffff
jne 0x140001f90
movsxd rcx, dword [0x140019148]
mov eax, edi
sub eax, ecx
test eax, eax
jle 0x1400020c7
test r13b, r13b
je 0x14000209f
test rbx, rbx
jne 0x1400020c7
mov rbx, qword [rsi + rcx*8]
jmp 0x1400020bf
lea rcx, str.Try___s___help__for_more_information._n
call qword [sym.imp.libintl.dll_libintl_gettext]
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, r15
lea rcx, [rax + 0x60]
mov rdx, rbx
call fcn.14000c790
mov ecx, 1
call qword [sym.imp.MSVCR120.dll_exit]
int3
mov r14, qword [rsi + rcx*8]
inc ecx
mov eax, edi
sub eax, ecx
mov dword [0x140019148], ecx
test eax, eax
jle 0x1400020c7
test rbx, rbx
jne 0x1400020c7
movsxd rax, ecx
mov rbx, qword [rsi + rax*8]
inc ecx
mov dword [0x140019148], ecx
sub edi, ecx
test edi, edi
jle 0x14000212a
movsxd rdi, ecx
lea rcx, str._s:_too_many_command_line_arguments__first_is___s___n
call qword [sym.imp.libintl.dll_libintl_gettext]
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r9, qword [rsi + rdi*8]
lea rcx, [rax + 0x60]
mov r8, r15
mov rdx, rbx
call fcn.14000c790
lea rcx, str.Try___s___help__for_more_information._n
call qword [sym.imp.libintl.dll_libintl_gettext]
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, r15
lea rcx, [rax + 0x60]
mov rdx, rbx
call fcn.14000c790
mov ecx, 1
call qword [sym.imp.MSVCR120.dll_exit]
int3
test rbx, rbx
jne 0x14000217c
lea rcx, str.PGDATABASE
call qword [sym.imp.MSVCR120.dll_getenv]
test rax, rax
je 0x140002150
lea rcx, str.PGDATABASE
call qword [sym.imp.MSVCR120.dll_getenv]
jmp 0x140002179
lea rcx, str.PGUSER
call qword [sym.imp.MSVCR120.dll_getenv]
test rax, rax
je 0x140002171
lea rcx, str.PGUSER
call qword [sym.imp.MSVCR120.dll_getenv]
jmp 0x140002179
mov rcx, r15
call fcn.14000b080
mov rbx, rax
mov rax, qword [rbp + 0x88]
lea rcx, [rsp + 0x30]
xor esi, esi
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x50]
mov qword [rbp - 0x80], rsi
mov qword [rsp + 0x70], rax
mov eax, dword [rbp + 0x78]
mov dword [rsp + 0x78], eax
call sub.LIBPQ.dll_Ordinal_69
test r13b, r13b
je 0x1400022b3
lea rcx, [rsp + 0x58]
xor r9d, r9d
movzx r8d, r12b
mov rdx, r15
mov byte [rsp + 0x20], sil
call fcn.1400010f0
lea r9, [0x1400119e0]
lea r8, str.Name
mov rdi, rax
lea rax, str.Trusted_
lea rdx, str.SELECT_lanname_as___s____CASE_WHEN_lanpltrusted_THEN__s_ELSE__s_END__as___s__FROM_pg_catalog.pg_language_WHERE_lanispl_
mov qword [rsp + 0x28], rax
lea rax, [0x1400119dc]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call sub.LIBPQ.dll_Ordinal_90
mov rdx, qword [rsp + 0x30]
movzx r9d, r12b
mov r8, r15
mov rcx, rdi
call fcn.140001400
lea rcx, [rbp - 0x70]
xor edx, edx
mov r8d, Ordinal_156
mov rbx, rax
call sub.MSVCR120.dll_memset
mov ecx, 1
mov dword [rbp - 0x70], 2
mov word [rbp - 0x6a], cx
mov rcx, rdi
mov word [rbp - 0x5f], 0x101
call sub.LIBPQ.dll_Ordinal_72
lea rcx, str.Procedural_Languages
mov dword [rbp - 0x20], eax
call qword [sym.imp.libintl.dll_libintl_gettext]
mov byte [rbp + 0x10], 1
mov qword [rbp], rax
lea rax, [0x140011924]
mov dword [rbp + 0x20], 2
mov qword [rbp + 0x18], rax
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rdx, [rbp - 0x70]
lea r8, [rax + 0x30]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], rsi
call fcn.140004010
mov rcx, rdi
call sub.LIBPQ.dll_Ordinal_4
xor ecx, ecx
call qword [sym.imp.MSVCR120.dll_exit]
int3
test r14, r14
jne 0x14000230d
lea rcx, str._s:_missing_required_argument_language_name_n
call qword [sym.imp.libintl.dll_libintl_gettext]
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, r15
lea rcx, [rax + 0x60]
mov rdx, rbx
call fcn.14000c790
lea rcx, str.Try___s___help__for_more_information._n
call qword [sym.imp.libintl.dll_libintl_gettext]
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, r15
lea rcx, [rax + 0x60]
mov rdx, rbx
call fcn.14000c790
lea ecx, [r14 + 1]
call qword [sym.imp.MSVCR120.dll_exit]
int3
mov rcx, r14
cmp byte [r14], sil
je 0x14000232c
movzx edx, byte [rcx]
lea eax, [rdx - 0x41]
cmp al, 0x19
ja 0x140002324
add dl, 0x20
mov byte [rcx], dl
inc rcx
cmp byte [rcx], sil
jne 0x140002315
lea rcx, [rsp + 0x58]
xor r9d, r9d
movzx r8d, r12b
mov rdx, r15
mov byte [rsp + 0x20], sil
call fcn.1400010f0
lea rdx, str.SELECT_oid_FROM_pg_catalog.pg_language_WHERE_lanname___s_
lea rcx, [rsp + 0x30]
mov r8, r14
mov rsi, rax
call sub.LIBPQ.dll_Ordinal_90
mov rdx, qword [rsp + 0x30]
movzx r9d, r12b
mov r8, r15
mov rcx, rsi
call fcn.140001400
mov rcx, rax
mov rbx, rax
call sub.LIBPQ.dll_Ordinal_34
test eax, eax
jle 0x1400023cb
mov rcx, rsi
call sub.LIBPQ.dll_Ordinal_7
lea rcx, str._s:_language___s__is_already_installed_in_database___s__n
mov rbx, rax
call qword [sym.imp.libintl.dll_libintl_gettext]
mov rdi, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r9, r14
lea rcx, [rax + 0x60]
mov r8, r15
mov rdx, rdi
mov qword [rsp + 0x20], rbx
call fcn.14000c790
mov rcx, rsi
call sub.LIBPQ.dll_Ordinal_4
mov ecx, 2
call qword [sym.imp.MSVCR120.dll_exit]
int3
mov rcx, rbx
call sub.LIBPQ.dll_Ordinal_48
mov rcx, rsi
call sub.LIBPQ.dll_Ordinal_113
mov r8, r14
lea rcx, [rsp + 0x30]
lea rdx, str.CREATE_EXTENSION___s__
cmp eax, 0x15ff4
jge 0x1400023f8
lea rdx, str.CREATE_LANGUAGE___s__
call sub.LIBPQ.dll_Ordinal_90
test r12b, r12b
je 0x140002413
mov rdx, qword [rsp + 0x30]
lea rcx, [0x14001170c]
call fcn.14000c7c0
mov rdx, qword [rsp + 0x30]
mov rcx, rsi
call sub.LIBPQ.dll_Ordinal_21
mov rcx, rax
mov rbx, rax
call sub.LIBPQ.dll_Ordinal_33
cmp eax, 1
je 0x140002477
mov rcx, rsi
call sub.LIBPQ.dll_Ordinal_15
lea rcx, str._s:_language_installation_failed:__s
mov rdi, rax
call qword [sym.imp.libintl.dll_libintl_gettext]
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r9, rdi
lea rcx, [rax + 0x60]
mov r8, r15
mov rdx, rbx
call fcn.14000c790
mov rcx, rsi
call sub.LIBPQ.dll_Ordinal_4
mov ecx, 1
call qword [sym.imp.MSVCR120.dll_exit]
int3
mov rcx, rbx
call sub.LIBPQ.dll_Ordinal_48
mov rcx, rsi
call sub.LIBPQ.dll_Ordinal_4
xor ecx, ecx
call qword [sym.imp.MSVCR120.dll_exit]
int3