Function at 0x140073418
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.1400311e0
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 0x140073722
jmp 0x1400734e0
mov r14, qword [rsp + 0x40]
cmp qword [rdx], 0
mov rbp, qword [rsi]
jne 0x14007353a
test byte [rsi + 0x12], 2
jne 0x14007353a
test byte [rbp + 4], r10b
jne 0x14007353a
mov r8, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
mov edx, r9d
mov rcx, rbp
mov r8d, dword [r8 + 0x44]
call fcn.140043354
test eax, eax
je 0x14007353a
mov rcx, qword [rbx]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbp
call fcn.1400424f0
mov r15, qword [rbx]
mov rbp, rax
test r14, r14
jne 0x140073603
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.1400733ac
test eax, eax
je 0x1400736f2
movsxd rcx, dword [rsi + 0x28]
mov rbp, r14
shl rbp, cl
movabs rax, 0x8000000000000000
cmp ecx, 0x40
cmovge rbp, rax
test r13b, r13b
jne 0x1400735ab
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.140017c70
mov r13b, r14b
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
test r8, rbp
jne 0x1400736fc
mov rcx, qword [rbx]
lea r14d, [r12 + 1]
mov r8d, r14d
call fcn.140073fb0
test eax, eax
jne 0x140073be8
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 0x1400736fc
test rbp, rbp
je 0x140073535
mov eax, dword [r14 + 4]
mov ecx, 0x20000001
and eax, ecx
lea edx, [rcx - 1]
cmp eax, edx
je 0x140073644
mov eax, dword [rbp + 4]
and eax, ecx
cmp eax, edx
je 0x140073644
mov r9, rbp
mov r8, r14
mov edx, 0x2c
mov rcx, rbx
call fcn.140041f20
mov qword [rsp + 0x40], rax
jmp 0x140073535
cmp byte [rbx + 0x104], 2
jb 0x140073698
and qword [rsp + 0xc0], 0
lea rax, [0x14004885c]
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0x98]
lea rax, [0x140048880]
mov qword [rsp + 0x98], rbx
xorps xmm0, xmm0
mov qword [rsp + 0xa8], rax
mov rdx, r14
movdqu xmmword [rsp + 0xb0], xmm0
call fcn.14003ef0c
mov rcx, qword [rbx]
mov rdx, r14
call fcn.140042300
mov rdx, rbp
mov rcx, rbx
call fcn.1400423bc
lea rax, [0x14010df4c]
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.140041d70
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
jmp 0x140073540
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r10d, 1
add rsi, 0x40
lea r9d, [r10 + 2]
cmp rsi, r15
jb 0x1400734db
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 0x14007375b
mov esi, ebp
jmp 0x140073767
movsx esi, word [rax + 0x46]
mov dword [rsp + 0x60], esi
test esi, esi
jle 0x14007378f
mov ecx, r12d
mov eax, edx
inc r12d
bt r8, rax
cmovae r12d, ecx
add edx, r10d
cmp edx, esi
jl 0x140073767
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x120], r12d
mov dword [rsp + 0x60], esi
cmp qword [r9 + 0x58], 0
jge 0x1400737a9
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.1400501ac
mov r14, rax
test rax, rax
je 0x140073be8
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 0x1400738cc
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.1400733ac
test eax, eax
je 0x1400738a1
mov ecx, dword [r15 + 0x28]
mov eax, 1
shl rax, cl
cmp ecx, 0x40
movabs rcx, 0x8000000000000000
cmovge rax, rcx
test rbp, rax
jne 0x1400738a1
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.140041884
test rax, rax
je 0x140073887
mov rcx, qword [rax]
jmp 0x14007388e
lea rcx, [0x1400f9db0]
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 0x14007381c
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, [0x1400f9db0]
lea r11d, [rcx + 1]
test esi, esi
jle 0x14007391c
mov r9, qword [rsp + 0x50]
movsxd rax, r13d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r9, rax
jae 0x140073915
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 0x1400738f1
mov rax, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
cmp qword [rax + 0x58], 0
jge 0x140073968
cmp bp, word [r10 + 0x46]
jge 0x140073968
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 0x140073941
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.1400311e0
mov rdx, r14
mov rcx, rbx
call fcn.140031ba4
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 0x140073a18
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.1400311e0
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.1400311e0
mov edx, reloc.Cabinet.dll_FCIDestroy
jmp 0x140073a20
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.1400311e0
mov ebp, eax
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140073a67
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.140046a1c
mov rax, qword [rsp + 0x58]
bts dword [rax + 0x28], 0x11
mov al, byte [rbx + 0x1f]
test al, al
jne 0x140073a76
inc dword [rbx + 0x38]
mov esi, dword [rbx + 0x38]
jmp 0x140073a85
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.140054158
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.1400311e0
movsxd rcx, dword [rdi + 0x90]
test ecx, ecx
jle 0x140073af7
mov rax, qword [rdi + 0x88]
lea r8, [rcx + rcx*2]
mov word [rax + r8*8 - 0x16], 0x10
cmp qword [rsp + 0x40], 0
je 0x140073b0b
mov edx, dword [rsp + 0x64]
mov rcx, rdi
call fcn.1400315d4
mov eax, 0x10
mov rcx, rdi
test byte [r15 + r12 + 0x48], al
je 0x140073b6c
mov edx, dword [rsp + 0x68]
lea r9d, [r14 + r13]
call fcn.140031bd0
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.140073308
and dword [rsp + 0x20], 0
xor r8d, r8d
mov r9d, ebp
mov rcx, rdi
lea edx, [r8 + 0xb]
call fcn.1400311e0
and dword [r15 + r12 + 0x48], 0xffffffef
jmp 0x140073b8b
mov rax, qword [rsp + 0x140]
lea r9d, [rbp + 1]
and dword [rsp + 0x20], 0
mov edx, 5
mov r8d, dword [rax + 4]
call fcn.1400311e0
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x140073ba8
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.140031bd0
mov ecx, dword [rdi + 0x90]
mov dword [rax + 8], ecx
test esi, esi
je 0x140073bd3
cmp byte [rbx + 0x1f], 8
jae 0x140073bd3
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.140031bd0
mov ecx, dword [rdi + 0x90]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140073bfd
mov rcx, qword [rbx]
mov rdx, rax
call fcn.140042300
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret