Function at 0x140075d10
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 rcx, qword [rsi + 8]
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x80], r14
mov dword [rax], ebp
test r15d, r15d
jle 0x140075db9
add rcx, 5
mov r8d, r15d
movsxd rdx, dword [rcx + 3]
shl rdx, 6
add rdx, qword [rdi + 0x20]
mov byte [rcx], bpl
mov rax, qword [rdx + 0x30]
and rax, r11
cmp rax, qword [rdx + 0x30]
jne 0x140075db0
test word [rdx + 0x14], r9w
movzx eax, bpl
cmove eax, r10d
mov byte [rcx], al
add rcx, 0xc
sub r8, r10
jne 0x140075d85
mov r8, r15
xor edx, edx
shl r8, 3
mov rcx, r14
call fcn.1400c57e0
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 0x140075e14
mov rax, qword [r12]
cmp qword [rcx], rax
je 0x140075e14
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x140075e06
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 0x140075e61
cmp eax, 0x13
je 0x140075e61
cmp eax, 7
jne 0x140075e3f
mov rcx, qword [r12]
call fcn.140016bf8
jmp 0x140075e61
mov r8, qword [r14 + 0x10]
test r8, r8
jne 0x140075e52
mov ecx, edi
call fcn.140081fb8
mov r8, rax
lea rdx, [0x1401154b0]
mov rcx, r12
call fcn.140018ff0
mov rcx, qword [r14 + 0x10]
call fcn.14001663c
xor r10d, r10d
mov qword [r14 + 0x10], r10
test edi, edi
je 0x140075e83
cmp edi, 0x13
cmove edi, r10d
mov eax, edi
jmp 0x140076176
or ebp, 0xffffffff
mov edi, r10d
test r15d, r15d
jle 0x140075ef2
cmp r15d, 2
jb 0x140075ef2
lea rdx, [rbx + 0x38]
mov r9, qword [rdx]
lea eax, [r15 - 1]
movsxd rcx, eax
lea rax, [r9 + rcx*8]
cmp r9, rdx
ja 0x140075eb0
cmp rax, rdx
jae 0x140075ef2
mov eax, r15d
and eax, 0x80000001
jge 0x140075ec6
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 0x140075ecb
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.1400c57e0
xor r10d, r10d
movsxd rcx, edi
mov r11d, 1
cmp rcx, r15
jge 0x140075f0d
mov rax, qword [rbx + 0x38]
mov qword [rax + rcx*8], r10
add rcx, r11
jmp 0x140075efb
mov word [rbx + 0x1e], r10w
mov r9, qword [rsi + 8]
test r15d, r15d
jle 0x140075ff8
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 0x140075fe8
cmp edx, r15d
jge 0x14007604d
movsxd rax, dword [r9 + 3]
test eax, eax
js 0x14007604d
cmp eax, dword [r14 + 0x14]
jge 0x14007604d
mov r11, qword [rbx + 0x38]
mov r10, r8
cmp qword [r11 + r8*8 - 8], 0
jne 0x14007604d
cmp byte [r9], 0
je 0x14007604d
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 0x140075fc9
cmp byte [rax + rcx*8 + 4], r10b
je 0x140075fc9
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 0x140075fe8
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 0x140075f33
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 0x14007602a
mov rax, qword [rbx + 0x38]
cmp qword [rax], r10
je 0x14007604d
add ecx, r11d
add rax, 8
cmp ecx, ebp
jle 0x14007601a
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 0x14007606d
mov eax, dword [rsi + 0x10]
jmp 0x140076070
mov r8, qword [r13 + 0x28]
lea rdx, str._s.xBestIndex_malfunction
mov rcx, r12
mov r8, qword [r8]
call fcn.140018ff0
mov eax, 1
jmp 0x140076176
mov eax, r10d
mov byte [rbx + 0x1d], al
mov word [rbx + 0x12], r10w
movsd xmm0, qword [rsi + 0x40]
comisd xmm0, xmmword [0x140152a08]
movsd qword [rsp + 0x90], xmm0
ja 0x140076096
movzx ecx, r10w
jmp 0x1400760fa
comisd xmm0, xmmword [0x140152a78]
ja 0x1400760d9
movsd xmm1, qword [0x140152aa8]
xor eax, eax
comisd xmm0, xmm1
jb 0x1400760c7
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400760c7
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttsd2si rcx, xmm0
add rcx, rax
call fcn.140019f8c
movzx ecx, ax
jmp 0x1400760fa
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.140019f8c
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.140074924
xor ebp, ebp
mov esi, eax
cmp byte [rbx + 0x1c], bpl
je 0x140076174
mov rdi, qword [rbx + 0x20]
test rdi, rdi
je 0x140076170
cmp dword [0x14015eb60], ebp
mov rcx, rdi
je 0x14007616a
call qword [0x14015eb98]
lea ecx, [rbp + 1]
movsxd rdx, eax
sub qword [0x140165cf0], rdx
sub qword [0x140165d38], rcx
mov rcx, rdi
call qword [0x14015eb88]
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