Function at 0x140186ec0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r14
sub rsp, 0xc0
mov r14, qword [rcx]
test byte [r14 + 0x44], 0x20
je 0x140186edf
xor eax, eax
add rsp, 0xc0
pop r14
ret
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xa8], r13
mov r13, qword [r14 + 8]
mov rbx, qword [r13 + 0x28]
cmp byte [rbx + 0x3f], 1
je 0x140186f04
test byte [r13 + 0x48], 2
je 0x140186f0b
xor eax, eax
jmp 0x14018714e
mov qword [rsp + 0xd8], rbp
mov qword [rsp + 0xe0], rsi
mov rsi, qword [rcx + 0x10]
mov qword [rsp + 0xb8], rdi
xor edi, edi
mov qword [rsp + 0xb0], r12
lea r12, [r14 + 0x78]
or eax, 0xffffffff
mov qword [rsp + 0xa0], r15
mov r15d, dword [r13 + 0x4c]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x48], rdi
mov dword [rsi + 0x38], edi
mov word [rsi + 0x3e], di
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x5c], r15d
mov qword [rsp + 0x38], r12
mov word [rsp + 0x58], 0x100
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x54], SQLGetDiagFieldW
mov dword [rsp + 0x50], edi
mov byte [rsp + 0x5a], 1
mov word [rsp + 0x88], ax
call fcn.140186b50
mov rcx, rax
lea ebp, [rdi + 1]
test rax, rax
je 0x140186fbc
nop dword [rax]
cmp qword [rcx + 0x28], rdi
je 0x140187049
lea rcx, [rsp + 0x30]
call fcn.140186b50
mov rcx, rax
test rax, rax
jne 0x140186fa0
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1401870d0
nop dword [rax]
cmp byte [rbx + 0x62], 0
je 0x140187089
cmp qword [rbx + 0x48], 0
jne 0x140187089
movzx eax, word [rbx + 0x5e]
cmp ax, 3
ja 0x140187089
mov ebp, dword [rbx + 0x64]
xor ecx, ecx
and ebp, 8
shl ebp, 4
or ebp, 2
cmp cx, ax
jae 0x14018707f
nop word [rax + rax]
lea rcx, [rsp + 0x30]
mov r9d, edi
mov r8d, r15d
mov rdx, r12
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], ebp
call fcn.140186a40
test rax, rax
je 0x14018707f
cmp qword [rax + 0x28], 0
je 0x14018706a
lea rcx, [rsp + 0x30]
call fcn.140186b50
test rax, rax
jne 0x140187031
jmp 0x14018707f
mov rax, qword [rsi + 0x48]
mov dword [rsi + 0x38], 0x1101
mov qword [rax], rcx
mov eax, 0x21
mov word [rsi + 0x3c], bp
mov word [rsi + 0x14], ax
mov word [rsi + 0x18], bp
jmp 0x1401870d0
mov rcx, qword [rsi + 0x48]
movsxd rdx, edi
inc edi
mov qword [rcx + rdx*8], rax
movzx eax, word [rbx + 0x5e]
cmp edi, eax
jl 0x140187010
movzx eax, word [rbx + 0x5e]
cmp edi, eax
je 0x140187098
xor edi, edi
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140186fd0
jmp 0x1401870cb
mov dword [rsi + 0x38], 0x1201
test byte [rbx + 0x64], 0x20
jne 0x1401870af
mov rax, qword [rbx + 0x68]
test qword [r13 + 0x60], rax
jne 0x1401870b6
mov dword [rsi + 0x38], 0x1241
mov eax, SQLGetData
mov word [rsi + 0x3c], di
mov word [rsi + 0x18], di
mov word [rsi + 0x14], ax
mov qword [rsi + 0x20], rbx
mov ebp, 1
cmp dword [rsi + 0x38], 0
mov r12, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb8]
je 0x140187134
mov word [rsi + 0x16], bp
mov qword [r14 + 0x3c0], rsi
mov qword [rsi + 8], rbp
mov dword [r14 + 0x36c], r15d
mov rax, qword [r14 + 0x10]
mov word [r14 + 0x50], bp
test rax, rax
je 0x140187111
movzx eax, byte [rax]
mov byte [r14 + 0x49], al
mov ecx, 0x100
test word [r14 + 0x44], cx
je 0x140187122
mov byte [r14 + 0x4b], 1
cmp byte [rsp + 0x59], 1
jbe 0x140187130
or dword [rsi + 0x38], 0x200000
mov eax, ebp
jmp 0x140187136
xor eax, eax
mov rbp, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xd0]
mov r13, qword [rsp + 0xa8]
add rsp, 0xc0
pop r14
ret