Function at 0x140073f84
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.140031d4c
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 0x14007428e
jmp 0x14007404c
mov r14, qword [rsp + 0x40]
cmp qword [rdx], 0
mov rbp, qword [rsi]
jne 0x1400740a6
test byte [rsi + 0x12], 2
jne 0x1400740a6
test byte [rbp + 4], r10b
jne 0x1400740a6
mov r8, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
mov edx, r9d
mov rcx, rbp
mov r8d, dword [r8 + 0x44]
call fcn.140043ec0
test eax, eax
je 0x1400740a6
mov rcx, qword [rbx]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbp
call fcn.14004305c
mov r15, qword [rbx]
mov rbp, rax
test r14, r14
jne 0x14007416f
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.140073f18
test eax, eax
je 0x14007425e
movsxd rcx, dword [rsi + 0x28]
mov rbp, r14
shl rbp, cl
movabs rax, 0x8000000000000000
cmp ecx, 0x40
cmovge rbp, rax
test r13b, r13b
jne 0x140074117
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 0x140074268
mov rcx, qword [rbx]
lea r14d, [r12 + 1]
mov r8d, r14d
call fcn.140074b1c
test eax, eax
jne 0x140074754
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 0x140074268
test rbp, rbp
je 0x1400740a1
mov eax, dword [r14 + 4]
mov ecx, 0x20000001
and eax, ecx
lea edx, [rcx - 1]
cmp eax, edx
je 0x1400741b0
mov eax, dword [rbp + 4]
and eax, ecx
cmp eax, edx
je 0x1400741b0
mov r9, rbp
mov r8, r14
mov edx, 0x2c
mov rcx, rbx
call fcn.140042a8c
mov qword [rsp + 0x40], rax
jmp 0x1400740a1
cmp byte [rbx + 0x104], 2
jb 0x140074204
and qword [rsp + 0xc0], 0
lea rax, [0x1400493c8]
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0x98]
lea rax, [0x1400493ec]
mov qword [rsp + 0x98], rbx
xorps xmm0, xmm0
mov qword [rsp + 0xa8], rax
mov rdx, r14
movdqu xmmword [rsp + 0xb0], xmm0
call fcn.14003fa78
mov rcx, qword [rbx]
mov rdx, r14
call fcn.140042e6c
mov rdx, rbp
mov rcx, rbx
call fcn.140042f28
lea rax, [0x14011798c]
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.1400428dc
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
jmp 0x1400740ac
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r10d, 1
add rsi, 0x40
lea r9d, [r10 + 2]
cmp rsi, r15
jb 0x140074047
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 0x1400742c7
mov esi, ebp
jmp 0x1400742d3
movsx esi, word [rax + 0x46]
mov dword [rsp + 0x60], esi
test esi, esi
jle 0x1400742fb
mov ecx, r12d
mov eax, edx
inc r12d
bt r8, rax
cmovae r12d, ecx
add edx, r10d
cmp edx, esi
jl 0x1400742d3
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x120], r12d
mov dword [rsp + 0x60], esi
cmp qword [r9 + 0x58], 0
jge 0x140074315
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.140050d18
mov r14, rax
test rax, rax
je 0x140074754
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 0x140074438
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.140073f18
test eax, eax
je 0x14007440d
mov ecx, dword [r15 + 0x28]
mov eax, 1
shl rax, cl
cmp ecx, 0x40
movabs rcx, 0x8000000000000000
cmovge rax, rcx
test rbp, rax
jne 0x14007440d
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.1400423f0
test rax, rax
je 0x1400743f3
mov rcx, qword [rax]
jmp 0x1400743fa
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 0x140074388
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 0x140074488
mov r9, qword [rsp + 0x50]
movsxd rax, r13d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r9, rax
jae 0x140074481
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 0x14007445d
mov rax, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
cmp qword [rax + 0x58], 0
jge 0x1400744d4
cmp bp, word [r10 + 0x46]
jge 0x1400744d4
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 0x1400744ad
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.140031d4c
mov rdx, r14
mov rcx, rbx
call fcn.140032710
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 0x140074584
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.140031d4c
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.140031d4c
mov edx, reloc.Cabinet.dll_FCIDestroy
jmp 0x14007458c
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.140031d4c
mov ebp, eax
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400745d3
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.140047588
mov rax, qword [rsp + 0x58]
bts dword [rax + 0x28], 0x11
mov al, byte [rbx + 0x1f]
test al, al
jne 0x1400745e2
inc dword [rbx + 0x38]
mov esi, dword [rbx + 0x38]
jmp 0x1400745f1
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.140054cc4
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.140031d4c
movsxd rcx, dword [rdi + 0x90]
test ecx, ecx
jle 0x140074663
mov rax, qword [rdi + 0x88]
lea r8, [rcx + rcx*2]
mov word [rax + r8*8 - 0x16], 0x10
cmp qword [rsp + 0x40], 0
je 0x140074677
mov edx, dword [rsp + 0x64]
mov rcx, rdi
call fcn.140032140
mov eax, 0x10
mov rcx, rdi
test byte [r15 + r12 + 0x48], al
je 0x1400746d8
mov edx, dword [rsp + 0x68]
lea r9d, [r14 + r13]
call fcn.14003273c
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.140073e74
and dword [rsp + 0x20], 0
xor r8d, r8d
mov r9d, ebp
mov rcx, rdi
lea edx, [r8 + 0xb]
call fcn.140031d4c
and dword [r15 + r12 + 0x48], 0xffffffef
jmp 0x1400746f7
mov rax, qword [rsp + 0x140]
lea r9d, [rbp + 1]
and dword [rsp + 0x20], 0
mov edx, 5
mov r8d, dword [rax + 4]
call fcn.140031d4c
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x140074714
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.14003273c
mov ecx, dword [rdi + 0x90]
mov dword [rax + 8], ecx
test esi, esi
je 0x14007473f
cmp byte [rbx + 0x1f], 8
jae 0x14007473f
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.14003273c
mov ecx, dword [rdi + 0x90]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140074769
mov rcx, qword [rbx]
mov rdx, rax
call fcn.140042e6c
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret