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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rsi, qword [rsp + 0x80]
xor ebp, ebp
mov r10, qword [rcx]
mov r11, r8
mov rbx, qword [rcx + 0x18]
mov rdi, qword [rcx + 8]
movsxd r15, dword [rsi]
mov r14, qword [rsi + 0x20]
movzx eax, byte [rbx + 0x10]
mov r12, qword [r10]
imul r13, rax, 0x70
mov rax, qword [rsp + 0x90]
add r13, qword [r10 + 8]
lea r10d, [rbp + 1]
mov qword [rbx], rdx
mov rdx, qword [rsi + 8]
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x80], r14
mov dword [rax], ebp
test r15d, r15d
jle 0x140075eb8
add rdx, 5
mov r8d, r15d
movsxd rcx, dword [rdx + 3]
shl rcx, 6
add rcx, qword [rdi + 0x20]
mov byte [rdx], bpl
mov rax, qword [rcx + 0x30]
and rax, r11
cmp rax, qword [rcx + 0x30]
jne 0x140075eaf
test word [rcx + 0x14], r9w
jne 0x140075eaf
mov byte [rdx], r10b
add rdx, 0xc
sub r8, r10
jne 0x140075e89
mov r8, r15
xor edx, edx
shl r8, 3
mov rcx, r14
call fcn.1400c58a0
mov qword [rsi + 0x30], rbp
movabs rax, 0x546d42aea2879f2e
mov qword [rsi + 0x40], rax
mov dword [rsi + 0x28], ebp
mov dword [rsi + 0x3c], ebp
mov qword [rsi + 0x48], SQLFreeHandle
mov dword [rsi + 0x50], ebp
mov rax, qword [r13 + 0x60]
mov qword [rsi + 0x58], rax
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + 0x60]
test rcx, rcx
je 0x140075f13
mov rax, qword [r12]
cmp qword [rcx], rax
je 0x140075f13
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x140075f05
mov r14, qword [rcx + 0x10]
mov rdx, rsi
mov rcx, r14
mov rax, qword [r14]
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov edi, eax
test eax, eax
je 0x140075f60
cmp eax, 0x13
je 0x140075f60
cmp eax, 7
jne 0x140075f3e
mov rcx, qword [r12]
call fcn.140016cfc
jmp 0x140075f60
mov r8, qword [r14 + 0x10]
test r8, r8
jne 0x140075f51
mov ecx, edi
call fcn.14008202c
mov r8, rax
lea rdx, [0x140115810]
mov rcx, r12
call fcn.140019114
mov rcx, qword [r14 + 0x10]
call fcn.140016740
xor r10d, r10d
mov qword [r14 + 0x10], r10
test edi, edi
je 0x140075f82
cmp edi, 0x13
cmove edi, r10d
mov eax, edi
jmp 0x140076275
or ebp, 0xffffffff
mov edi, r10d
test r15d, r15d
jle 0x140075ff1
cmp r15d, 2
jb 0x140075ff1
lea rdx, [rbx + 0x38]
mov r9, qword [rdx]
lea eax, [r15 - 1]
movsxd rcx, eax
lea rax, [r9 + rcx*8]
cmp r9, rdx
ja 0x140075faf
cmp rax, rdx
jae 0x140075ff1
mov eax, r15d
and eax, 0x80000001
jge 0x140075fc5
mov ecx, 1
sub eax, ecx
or eax, 0xfffffffe
add eax, ecx
mov edx, r15d
sub edx, eax
add edi, 2
cmp edi, edx
jl 0x140075fca
lea eax, [rdx + 1]
mov rcx, r9
cdq
sub eax, edx
xor edx, edx
sar eax, 1
movsxd r8, eax
shl r8, 4
and r8, 0xfffffffffffffff8
call fcn.1400c58a0
xor r10d, r10d
movsxd rcx, edi
mov r11d, 1
cmp rcx, r15
jge 0x14007600c
mov rax, qword [rbx + 0x38]
mov qword [rax + rcx*8], r10
add rcx, r11
jmp 0x140075ffa
mov word [rbx + 0x1e], r10w
mov r9, qword [rsi + 8]
test r15d, r15d
jle 0x1400760f7
mov r14, qword [rsp + 0x68]
mov rcx, r10
mov rax, qword [rsp + 0x80]
add r9, 5
movsxd r8, dword [rax + rcx*8]
lea edx, [r8 - 1]
test edx, edx
js 0x1400760e7
cmp edx, r15d
jge 0x14007614c
movsxd rax, dword [r9 + 3]
test eax, eax
js 0x14007614c
cmp eax, dword [r14 + 0x14]
jge 0x14007614c
mov r11, qword [rbx + 0x38]
mov r10, r8
cmp qword [r11 + r8*8 - 8], 0
jne 0x14007614c
cmp byte [r9], 0
je 0x14007614c
mov r8, rax
shl r8, 6
add r8, qword [r14 + 0x20]
mov rax, qword [r8 + 0x30]
or qword [rbx], rax
mov eax, edx
cmp edx, ebp
mov qword [r11 + r10*8 - 8], r8
cmovle eax, ebp
xor r10d, r10d
mov ebp, eax
mov rax, qword [rsp + 0x80]
cmp edx, 0x10
jge 0x1400760c8
cmp byte [rax + rcx*8 + 4], r10b
je 0x1400760c8
movzx eax, word [rbx + 0x1e]
bts eax, edx
mov word [rbx + 0x1e], ax
mov rax, qword [rsp + 0x80]
mov r11d, 1
test byte [r8 + 0x14], r11b
je 0x1400760e7
mov rdx, qword [rsp + 0x90]
and dword [rsi + 0x50], 0xfffffffe
mov dword [rsi + 0x3c], r10d
mov dword [rdx], r11d
add rcx, r11
add r9, 0xc
cmp rcx, r15
jl 0x140076032
movzx eax, word [rsp + 0x88]
mov ecx, r10d
not ax
and word [rbx + 0x1e], ax
lea eax, [r11 + rbp]
mov word [rbx + 0x2c], ax
test ebp, ebp
js 0x140076129
mov rax, qword [rbx + 0x38]
cmp qword [rax], r10
je 0x14007614c
add ecx, r11d
add rax, 8
cmp ecx, ebp
jle 0x140076119
mov eax, dword [rsi + 0x28]
mov dword [rbx + 0x18], eax
mov al, byte [rsi + 0x38]
mov byte [rbx + 0x1c], al
mov rax, qword [rsi + 0x30]
mov dword [rsi + 0x38], r10d
mov qword [rbx + 0x20], rax
cmp dword [rsi + 0x3c], r10d
je 0x14007616c
mov eax, dword [rsi + 0x10]
jmp 0x14007616f
mov r8, qword [r13 + 0x28]
lea rdx, str._s.xBestIndex_malfunction
mov rcx, r12
mov r8, qword [r8]
call fcn.140019114
mov eax, 1
jmp 0x140076275
mov eax, r10d
mov byte [rbx + 0x1d], al
mov word [rbx + 0x12], r10w
movsd xmm0, qword [rsi + 0x40]
comisd xmm0, xmmword [0x140152b58]
movsd qword [rsp + 0x90], xmm0
ja 0x140076195
movzx ecx, r10w
jmp 0x1400761f9
comisd xmm0, xmmword [0x140152bc8]
ja 0x1400761d8
movsd xmm1, qword [0x140152bf8]
xor eax, eax
comisd xmm0, xmm1
jb 0x1400761c6
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400761c6
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttsd2si rcx, xmm0
add rcx, rax
call fcn.14001a0ac
movzx ecx, ax
jmp 0x1400761f9
mov rcx, qword [rsp + 0x90]
mov eax, 0x3fe
shr rcx, 0x34
sub cx, ax
movzx eax, cx
shl ax, 2
add cx, ax
add cx, cx
mov word [rbx + 0x14], cx
mov rcx, qword [rsi + 0x48]
call fcn.14001a0ac
mov edx, dword [rbx + 0x28]
mov word [rbx + 0x16], ax
mov eax, edx
bts edx, 0xc
btr eax, 0xc
test byte [rsi + 0x50], r11b
cmove edx, eax
mov dword [rbx + 0x28], edx
mov rdx, rbx
mov rcx, qword [rsp + 0x60]
call fcn.140074a28
xor ebp, ebp
mov esi, eax
cmp byte [rbx + 0x1c], bpl
je 0x140076273
mov rdi, qword [rbx + 0x20]
test rdi, rdi
je 0x14007626f
cmp dword [0x14015fb60], ebp
mov rcx, rdi
je 0x140076269
call qword [0x14015fb98]
lea ecx, [rbp + 1]
movsxd rdx, eax
sub qword [0x140166e00], rdx
sub qword [0x140166e48], rcx
mov rcx, rdi
call qword [0x14015fb88]
mov byte [rbx + 0x1c], bpl
mov eax, esi
mov rbx, qword [rsp + 0x70]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret