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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov rdi, qword [rcx + 0x10]
xor eax, eax
mov rsi, r8
mov qword [rsp + 0x40], rax
mov r15, rdx
mov dword [rsp + 0x64], eax
mov rbx, rcx
mov dword [rsp + 0x68], eax
lea edx, [rax + 0x11]
mov qword [rsp + 0x90], rdi
xor r9d, r9d
mov dword [rsp + 0x20], eax
xor r8d, r8d
mov rcx, rdi
mov r13b, al
mov r14d, eax
call fcn.140031d50
mov r8, qword [rsp + 0x140]
lea r10d, [r14 + 1]
xor r12d, r12d
mov dword [rsp + 0x78], eax
mov rax, qword [rsi + 0x20]
lea r9d, [r14 + 3]
mov rsi, qword [r15 + 0x20]
movabs rcx, 0x8000000000000000
movsxd r15, dword [r15 + 0x14]
mov rdx, qword [r8 + 0x48]
xor r8d, r8d
shl r15, 6
add r15, rsi
mov dword [rsp + 0x120], r12d
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x50], r8
cmp rsi, r15
jae 0x14007428a
jmp 0x140074048
mov r14, qword [rsp + 0x40]
cmp qword [rdx], 0
mov rbp, qword [rsi]
jne 0x1400740a2
test byte [rsi + 0x12], 2
jne 0x1400740a2
test byte [rbp + 4], r10b
jne 0x1400740a2
mov r8, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
mov edx, r9d
mov rcx, rbp
mov r8d, dword [r8 + 0x44]
call fcn.140043ec4
test eax, eax
je 0x1400740a2
mov rcx, qword [rbx]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbp
call fcn.140043060
mov r15, qword [rbx]
mov rbp, rax
test r14, r14
jne 0x14007416b
mov qword [rsp + 0x40], rax
mov r15, qword [rsp + 0x48]
mov r14d, 1
mov r8, qword [rsp + 0x138]
mov rcx, rsi
mov rdx, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
call fcn.140073f14
test eax, eax
je 0x14007425a
movsxd rcx, dword [rsi + 0x28]
mov rbp, r14
shl rbp, cl
movabs rax, 0x8000000000000000
cmp ecx, 0x40
cmovge rbp, rax
test r13b, r13b
jne 0x140074113
mov rax, rcx
lea rdx, str.automatic_index_on__s__s_
mov rcx, qword [rsp + 0x70]
shl rax, 5
mov r9, qword [rcx + 8]
mov r8, qword [rcx]
mov ecx, 0x11c
mov r9, qword [rax + r9]
call fcn.1400187dc
mov r13b, r14b
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
test r8, rbp
jne 0x140074264
mov rcx, qword [rbx]
lea r14d, [r12 + 1]
mov r8d, r14d
call fcn.140074b18
test eax, eax
jne 0x140074750
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
or r8, rbp
movsxd rcx, r12d
mov r12d, r14d
mov dword [rsp + 0x120], r14d
mov qword [rsp + 0x50], r8
mov rax, qword [rdx + 0x38]
mov qword [rax + rcx*8], rsi
jmp 0x140074264
test rbp, rbp
je 0x14007409d
mov eax, dword [r14 + 4]
mov ecx, 0x20000001
and eax, ecx
lea edx, [rcx - 1]
cmp eax, edx
je 0x1400741ac
mov eax, dword [rbp + 4]
and eax, ecx
cmp eax, edx
je 0x1400741ac
mov r9, rbp
mov r8, r14
mov edx, 0x2c
mov rcx, rbx
call fcn.140042a90
mov qword [rsp + 0x40], rax
jmp 0x14007409d
cmp byte [rbx + 0x104], 2
jb 0x140074200
and qword [rsp + 0xc0], 0
lea rax, [0x1400493cc]
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0x98]
lea rax, [0x1400493f0]
mov qword [rsp + 0x98], rbx
xorps xmm0, xmm0
mov qword [rsp + 0xa8], rax
mov rdx, r14
movdqu xmmword [rsp + 0xb0], xmm0
call fcn.14003fa7c
mov rcx, qword [rbx]
mov rdx, r14
call fcn.140042e70
mov rdx, rbp
mov rcx, rbx
call fcn.140042f2c
lea rax, [0x14011797c]
mov r14d, 1
xor r9d, r9d
mov qword [rsp + 0x80], rax
lea r8, [rsp + 0x80]
mov dword [rsp + 0x88], r14d
mov edx, 0x96
mov rcx, r15
call fcn.1400428e0
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
jmp 0x1400740a8
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r10d, 1
add rsi, 0x40
lea r9d, [r10 + 2]
cmp rsi, r15
jb 0x140074043
mov rax, qword [rsp + 0x70]
movabs rcx, 0x8000000000000000
mov r9, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
not r8
mov word [rdx + 0x2c], r12w
or r8, rcx
mov word [rdx + 0x18], r12w
mov ebp, 0x3f
mov dword [rdx + 0x28], 0x4241
xor edx, edx
and r8, qword [r9 + 0x58]
mov qword [rsp + 0x50], r8
cmp bp, word [rax + 0x46]
jge 0x1400742c3
mov esi, ebp
jmp 0x1400742cf
movsx esi, word [rax + 0x46]
mov dword [rsp + 0x60], esi
test esi, esi
jle 0x1400742f7
mov ecx, r12d
mov eax, edx
inc r12d
bt r8, rax
cmovae r12d, ecx
add edx, r10d
cmp edx, esi
jl 0x1400742cf
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x120], r12d
mov dword [rsp + 0x60], esi
cmp qword [r9 + 0x58], 0
jge 0x140074311
movsx eax, word [rax + 0x46]
add r12d, 0xffffffc1
add r12d, eax
mov dword [rsp + 0x120], r12d
mov rcx, qword [rbx]
lea edx, [r10 + r12]
lea r9, [rsp + 0x80]
xor r8d, r8d
call fcn.140050d1c
mov r14, rax
test rax, rax
je 0x140074750
mov rax, qword [rsp + 0x58]
xor r13d, r13d
mov r15, qword [rsp + 0x128]
mov r10, qword [rsp + 0x70]
and qword [rsp + 0x80], r13
mov qword [rax + 0x20], r14
lea rax, str.auto_index
mov qword [r14], rax
mov qword [r14 + 0x18], r10
mov r15, qword [r15 + 0x20]
cmp r15, qword [rsp + 0x48]
jae 0x140074434
mov rbp, qword [rsp + 0x80]
xor r12d, r12d
mov rsi, qword [rsp + 0x48]
xor edi, edi
mov r8, qword [rsp + 0x138]
mov rcx, r15
mov rdx, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
call fcn.140073f14
test eax, eax
je 0x140074409
mov ecx, dword [r15 + 0x28]
mov eax, 1
shl rax, cl
cmp ecx, 0x40
movabs rcx, 0x8000000000000000
cmovge rax, rcx
test rbp, rax
jne 0x140074409
mov rdx, qword [r15]
or rbp, rax
mov rcx, qword [r14 + 8]
movzx eax, word [r15 + 0x28]
mov word [rdi + rcx], ax
mov rcx, rbx
mov r8, qword [rdx + 0x18]
mov rdx, qword [rdx + 0x10]
call fcn.1400423f4
test rax, rax
je 0x1400743ef
mov rcx, qword [rax]
jmp 0x1400743f6
lea rcx, [0x1400fc2c0]
mov rax, qword [r14 + 0x40]
inc r13d
add rdi, 2
mov qword [r12 + rax], rcx
add r12, 8
add r15, 0x40
cmp r15, rsi
jb 0x140074384
mov rdi, qword [rsp + 0x90]
mov ebp, 0x3f
mov esi, dword [rsp + 0x60]
mov r12d, dword [rsp + 0x120]
mov r10, qword [rsp + 0x70]
xor ecx, ecx
lea r15, [0x1400fc2c0]
lea r11d, [rcx + 1]
test esi, esi
jle 0x140074484
mov r9, qword [rsp + 0x50]
movsxd rax, r13d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r9, rax
jae 0x14007447d
mov rax, qword [r14 + 8]
add r13d, r11d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r14 + 0x40]
mov qword [rdx + rax], r15
add rdx, 8
add ecx, r11d
cmp ecx, esi
jl 0x140074459
mov rax, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
cmp qword [rax + 0x58], 0
jge 0x1400744d0
cmp bp, word [r10 + 0x46]
jge 0x1400744d0
movsxd rax, r13d
lea rcx, [rax*8]
lea rdx, [rax + rax]
mov rax, qword [r14 + 8]
add r13d, r11d
mov word [rdx + rax], bp
add ebp, r11d
mov rax, qword [r14 + 0x40]
lea rdx, [rdx + 2]
mov qword [rcx + rax], r15
lea rcx, [rcx + 8]
movsx eax, word [r10 + 0x46]
cmp ebp, eax
jl 0x1400744a9
mov rax, qword [r14 + 8]
lea r9d, [r12 + 1]
mov rsi, qword [rsp + 0x140]
mov edx, reloc.ODBC32.dll_SQLExecDirectW
and dword [rsp + 0x20], 0
movsxd rcx, r13d
or word [rax + rcx*2], 0xffff
mov rax, qword [r14 + 0x40]
mov qword [rax + rcx*8], r15
mov rcx, rdi
mov eax, dword [rbx + 0x34]
mov dword [rsi + 8], eax
add dword [rbx + 0x34], r11d
mov r8d, dword [rsi + 8]
call fcn.140031d50
mov rdx, r14
mov rcx, rbx
call fcn.140032714
movzx eax, byte [rsi + 0x2c]
imul r15, rax, 0x70
mov rax, qword [rsp + 0x128]
mov rax, qword [rax]
mov r12, qword [rax + 8]
mov eax, 0x10
test byte [r15 + r12 + 0x48], al
je 0x140074580
mov esi, dword [r15 + r12 + 0x3c]
lea edx, [rax + 0x36]
and dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.140031d50
mov ecx, dword [r15 + r12 + 0x38]
xor r9d, r9d
mov dword [rsp + 0x20], ecx
mov r8d, esi
mov rcx, rdi
mov dword [rsp + 0x68], eax
lea edx, [r9 + 0xd]
call fcn.140031d50
mov edx, reloc.Cabinet.dll_FCIDestroy
jmp 0x140074588
mov esi, dword [rsi + 4]
mov edx, reloc.WLDAP32.dll_Ordinal_36
and dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, esi
mov rcx, rdi
call fcn.140031d50
mov ebp, eax
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400745cf
dec dword [rbx + 0x44]
mov r9d, 0x10
mov ecx, dword [rbx + 0x44]
mov rdx, rax
mov dword [rsp + 0x64], ecx
mov r8d, ecx
mov rcx, rbx
call fcn.14004758c
mov rax, qword [rsp + 0x58]
bts dword [rax + 0x28], 0x11
mov al, byte [rbx + 0x1f]
test al, al
jne 0x1400745de
inc dword [rbx + 0x38]
mov esi, dword [rbx + 0x38]
jmp 0x1400745ed
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov esi, dword [rbx + rax*4 + 0xbc]
and dword [rsp + 0x38], 0
mov r9d, esi
mov r8, qword [rsp + 0x140]
mov rdx, r14
and qword [rsp + 0x30], 0
mov rcx, rbx
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
mov r8d, dword [r8 + 4]
call fcn.140054cc0
and dword [rsp + 0x20], 0
mov r14d, eax
mov rax, qword [rsp + 0x140]
mov r9d, esi
mov edx, Ordinal_133
mov rcx, rdi
mov r8d, dword [rax + 8]
call fcn.140031d50
movsxd rcx, dword [rdi + 0x90]
test ecx, ecx
jle 0x14007465f
mov rax, qword [rdi + 0x88]
lea r8, [rcx + rcx*2]
mov word [rax + r8*8 - 0x16], 0x10
cmp qword [rsp + 0x40], 0
je 0x140074673
mov edx, dword [rsp + 0x64]
mov rcx, rdi
call fcn.140032144
mov eax, 0x10
mov rcx, rdi
test byte [r15 + r12 + 0x48], al
je 0x1400746d4
mov edx, dword [rsp + 0x68]
lea r9d, [r14 + r13]
call fcn.140032740
mov rcx, qword [rsp + 0x140]
mov edx, ebp
mov dword [rax + 8], r9d
mov eax, dword [rcx + 8]
mov r8d, dword [rcx + 4]
mov rcx, rbx
mov r9d, dword [r15 + r12 + 0x40]
mov dword [rsp + 0x20], eax
call fcn.140073e70
and dword [rsp + 0x20], 0
xor r8d, r8d
mov r9d, ebp
mov rcx, rdi
lea edx, [r8 + 0xb]
call fcn.140031d50
and dword [r15 + r12 + 0x48], 0xffffffef
jmp 0x1400746f3
mov rax, qword [rsp + 0x140]
lea r9d, [rbp + 1]
and dword [rsp + 0x20], 0
mov edx, 5
mov r8d, dword [rax + 4]
call fcn.140031d50
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x140074710
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 3
mov edx, ebp
mov rcx, rdi
call fcn.140032740
mov ecx, dword [rdi + 0x90]
mov dword [rax + 8], ecx
test esi, esi
je 0x14007473b
cmp byte [rbx + 0x1f], 8
jae 0x14007473b
movzx eax, byte [rbx + 0x1f]
mov dword [rbx + rax*4 + 0xbc], esi
inc byte [rbx + 0x1f]
mov edx, dword [rsp + 0x78]
mov rcx, rdi
call fcn.140032740
mov ecx, dword [rdi + 0x90]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140074765
mov rcx, qword [rbx]
mov rdx, rax
call fcn.140042e70
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret