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

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov ebx, 0xffffffff
mov r15d, r9d
mov dword [rbp - 0x48], ebx
mov r12, rdx
mov rdi, rcx
xor r14d, r14d
call fcn.14014ebd0
mov rsi, rax
test rax, rax
je 0x14013fc59
inc dword [rdi + 0x70]
test byte [r12 + 4], 0x20
jne 0x14013f9df
mov rcx, rdi
call fcn.14014ebd0
mov r8d, dword [rdi + 0x5c]
lea edx, [rbx + 0x2d]
mov rcx, rax
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea eax, [r8 + 1]
mov dword [rdi + 0x5c], eax
call fcn.140167a30
mov ebx, eax
mov dword [rbp - 0x48], eax
cmp byte [rdi + 0x1ee], 2
jne 0x14013faad
cmp byte [r12], 0x4b
lea rax, str.LIST
mov rcx, qword [rdi]
lea r9, str.SCALAR
cmove r9, rax
lea r8, str.CORRELATED
lea rax, [0x140286ae1]
test ebx, ebx
lea rdx, str.EXECUTE__s_s_SUBQUERY__d
cmovns r8, rax
mov eax, dword [rdi + 0x200]
mov dword [rsp + 0x20], eax
call fcn.140152ec0
mov r8d, dword [rdi + 0x1fc]
xor r9d, r9d
mov edx, 0xa0
mov dword [rsp + 0x20], r14d
mov rcx, rsi
mov r15, rax
call fcn.140167a30
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x14013fa9c
cmp byte [rcx + 0x51], r14b
jne 0x14013fa9c
test eax, eax
jns 0x14013fa6a
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rbx, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbx + 0x10]
call fcn.1401255e0
test r15, r15
jne 0x14013fa92
mov qword [rbx + 0x10], r14
mov byte [rbx + 1], r14b
jmp 0x14013faa9
mov qword [rbx + 0x10], r15
mov byte [rbx + 1], 0xff
jmp 0x14013faa9
mov r8, r15
mov edx, 0xffffffff
call fcn.1401255e0
mov r15d, dword [rbp + 0x58]
cmp byte [r12], 0x4b
je 0x14013fba8
mov eax, dword [rdi + 0x54]
mov rcx, rsi
mov rbx, qword [r12 + 0x20]
mov byte [rbp - 0x37], r14b
mov qword [rbp - 0x30], r14
lea r9d, [rax + 1]
mov dword [rdi + 0x54], r9d
movzx eax, byte [r12]
mov dword [rbp - 0x34], r9d
cmp al, 0x77
jne 0x14013faea
mov byte [rbp - 0x38], 0xa
mov dword [rbp - 0x30], r9d
jmp 0x14013faee
mov byte [rbp - 0x38], 3
mov r8d, reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov dword [rsp + 0x20], r14d
cmp al, 0x77
mov edx, 0x1a
cmovne edx, r8d
xor r8d, r8d
call fcn.140167a30
mov rdx, qword [rbx + 0x60]
mov rcx, qword [rdi]
call fcn.140148420
mov rcx, qword [rdi]
lea r8, [0x1402bad00]
mov r9d, 1
mov edx, 0x84
call fcn.140145060
mov r13, qword [rdi]
mov r15, rax
test rax, rax
jne 0x14013fb53
xor edx, edx
mov rcx, r13
call fcn.140148420
xor edx, edx
mov rcx, r13
call fcn.140148420
jmp 0x14013fb77
mov rcx, r15
call fcn.140122380
mov rax, qword [rdi]
mov r8d, dword [rax + 0x74]
cmp dword [r15 + 0x28], r8d
jle 0x14013fb77
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.140144b90
mov eax, 0xfdff
mov qword [rbx + 0x60], r15
and word [rbx + 0xa], ax
lea r8, [rbp - 0x38]
mov rdx, rbx
mov dword [rbx + 0xc], r14d
mov rcx, rdi
call fcn.14015fb90
test eax, eax
jne 0x14013fc59
mov r14d, dword [rbp - 0x34]
jmp 0x14013ffca
mov rcx, qword [r12 + 0x10]
call fcn.140144fc0
mov byte [rbp - 0x50], al
mov r9d, r14d
mov eax, dword [rdi + 0x50]
mov edx, 0x39
mov dword [r12 + 0x2c], eax
mov rcx, rsi
inc dword [rdi + 0x50]
mov r8d, dword [r12 + 0x2c]
test r15d, r15d
mov dword [rsp + 0x20], r14d
sete r9b
call fcn.140167a30
mov dword [rbp - 0x4c], eax
mov r13d, eax
test r15d, r15d
je 0x14013fbf1
mov r15, r14
jmp 0x14013fc04
mov rcx, qword [rdi]
mov edx, 1
mov r8d, edx
call fcn.1401519a0
mov r15, rax
test dword [r12 + 4], 0x800
mov rbx, qword [r12 + 0x20]
mov qword [rbp - 0x10], r15
je 0x14013fc96
mov ecx, dword [r12 + 0x2c]
lea r8, [rbp - 0x38]
mov dword [rbp - 0x34], ecx
mov rdx, rbx
movzx ecx, byte [rbp - 0x50]
mov byte [rbp - 0x37], cl
mov rcx, rdi
mov byte [rbp - 0x38], VariantTimeToDosDateTime
mov qword [rbp - 0x30], r14
mov dword [rbx + 0xc], r14d
call fcn.14015fb90
test eax, eax
je 0x14013fc76
test r15, r15
je 0x14013fc59
add dword [r15], 0xffffffff
jne 0x14013fc59
mov rcx, r15
call fcn.140108630
xor eax, eax
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rbx]
mov rcx, rdi
mov rdx, qword [r12 + 0x10]
mov r8, qword [rax + 8]
mov r8, qword [r8]
call fcn.14013aee0
mov qword [r15 + 0x20], rax
jmp 0x14013ff76
test rbx, rbx
je 0x14013ff76
movzx eax, byte [rbp - 0x50]
mov edx, 0x41
test al, al
mov ecx, eax
cmove ecx, edx
mov byte [rbp - 0x50], cl
test r15, r15
je 0x14013fcc8
mov rdx, qword [r12 + 0x10]
mov rcx, rdi
call fcn.1401480e0
mov qword [r15 + 0x20], rax
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x14013fce2
inc dword [rdi + 0x54]
mov ecx, dword [rdi + 0x54]
inc dword [rdi + 0x54]
mov r13d, dword [rdi + 0x54]
mov dword [rbp - 0x40], ecx
jmp 0x14013fd0b
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov ecx, dword [rdi + rax*4 + 0x24]
mov dword [rbp - 0x40], ecx
test al, al
jne 0x14013fcfe
inc dword [rdi + 0x54]
mov r13d, dword [rdi + 0x54]
jmp 0x14013fd0b
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov r13d, dword [rdi + rax*4 + 0x24]
cmp dword [rbp + 0x58], r14d
je 0x14013fd28
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov r9d, r13d
mov rcx, rsi
lea edx, [r8 + 0x1a]
call fcn.140167a30
mov eax, dword [rbx]
mov rcx, qword [rbx + 8]
mov qword [rbp - 0x18], rcx
mov dword [rbp - 0x3c], eax
test eax, eax
jle 0x14013fef2
nop dword [rax]
mov r15d, dword [rbp - 0x48]
mov rbx, qword [rcx]
test r15d, r15d
js 0x14013fd71
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 1]
call fcn.140122080
test eax, eax
jne 0x14013fd71
mov edx, r15d
mov rcx, rsi
call fcn.140167e90
mov dword [rbp - 0x48], 0xffffffff
cmp dword [rbp + 0x58], r14d
je 0x14013fded
test dword [rbx + 4], 0x400
je 0x14013fd94
mov eax, dword [rbx + 8]
mov edx, 0x5f
mov dword [rbp - 0x44], eax
mov dword [rsp + 0x20], eax
jmp 0x14013fec2
movzx ecx, byte [rbx]
sub ecx, 0x9d
je 0x14013fdc6
cmp ecx, 1
jne 0x14013fded
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp - 0x44]
call fcn.140148ee0
test eax, eax
je 0x14013fded
mov eax, dword [rbp - 0x44]
mov edx, 0x5f
mov dword [rsp + 0x20], eax
jmp 0x14013fec2
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp - 0x20]
call fcn.140148ee0
test eax, eax
je 0x14013fded
mov eax, dword [rbp - 0x20]
mov edx, 0x5f
neg eax
mov dword [rbp - 0x44], eax
mov dword [rsp + 0x20], eax
jmp 0x14013fec2
mov r8d, dword [rbp - 0x40]
mov rdx, rbx
mov rcx, rdi
call fcn.140146d10
mov r15d, eax
mov r8d, eax
mov rcx, rsi
cmp dword [rbp + 0x58], r14d
je 0x14013fe31
mov r9d, dword [rsi + 0x3c]
mov edx, 0x26
add r9d, 2
mov dword [rsp + 0x20], r14d
call fcn.140167a30
mov edx, 0x54
mov dword [rsp + 0x20], r15d
jmp 0x14013fec2
mov r9d, 1
mov dword [rsp + 0x20], r13d
lea edx, [r9 + 0x30]
call fcn.140167a30
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x14013fe99
cmp byte [rcx + 0x51], r14b
jne 0x14013fe99
test eax, eax
jns 0x14013fe60
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rbx, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbx + 0x10]
call fcn.1401255e0
mov qword [rbx + 0x10], r14
lea rdx, [rbp - 0x50]
mov rcx, qword [rsi]
mov r8d, 1
call fcn.140142330
mov qword [rbx + 0x10], rax
mov byte [rbx + 1], 0xff
jmp 0x14013fea7
lea r8, [rbp - 0x50]
mov edx, 1
call fcn.1401255e0
mov r8d, 1
mov edx, r15d
mov rcx, rdi
call fcn.140145c80
mov edx, WSAStartup
mov dword [rsp + 0x20], r14d
mov r8d, dword [r12 + 0x2c]
mov r9d, r13d
mov rcx, rsi
call fcn.140167a30
mov eax, dword [rbp - 0x3c]
mov rcx, qword [rbp - 0x18]
dec eax
add rcx, 0x28
mov dword [rbp - 0x3c], eax
mov qword [rbp - 0x18], rcx
test eax, eax
jg 0x14013fd40
mov r15, qword [rbp - 0x10]
mov r8d, dword [rbp - 0x40]
test r8d, r8d
je 0x14013ff32
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x14013ff32
mov ecx, r14d
lea rax, [rdi + 0x88]
nop
cmp dword [rax + 0xc], r8d
je 0x14013ff2e
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x14013ff10
movzx eax, dl
mov dword [rdi + rax*4 + 0x24], r8d
inc byte [rdi + 0x1f]
jmp 0x14013ff32
mov byte [rax + 6], 1
test r13d, r13d
je 0x14013ff72
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x14013ff72
mov ecx, r14d
lea rax, [rdi + 0x88]
nop word [rax + rax]
cmp dword [rax + 0xc], r13d
je 0x14013ff6e
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x14013ff50
movzx eax, dl
mov dword [rdi + rax*4 + 0x24], r13d
inc byte [rdi + 0x1f]
jmp 0x14013ff72
mov byte [rax + 6], 1
mov r13d, dword [rbp - 0x4c]
test r15, r15
je 0x14013ffca
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x14013ffbd
cmp byte [rcx + 0x51], r14b
jne 0x14013ffbd
test r13d, r13d
jns 0x14013ff99
mov r13d, dword [rsi + 0x3c]
dec r13d
movsxd rax, r13d
lea rdx, [rax + rax*2]
lea rbx, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbx + 0x10]
call fcn.1401255e0
mov qword [rbx + 0x10], r15
mov byte [rbx + 1], 0xfa
jmp 0x14013ffca
mov r8, r15
mov edx, 0xfffffffa
call fcn.1401255e0
mov eax, dword [rbp + 0x50]
test eax, eax
je 0x14013ffe1
mov edx, dword [r12 + 0x2c]
mov r8d, eax
mov rcx, rsi
call fcn.140162200
mov ecx, dword [rbp - 0x48]
test ecx, ecx
js 0x140140008
mov eax, dword [rsi + 0x3c]
cmp eax, ecx
jbe 0x14013fffe
lea rdx, [rcx + rcx*2]
mov rcx, qword [rsi + 8]
mov dword [rcx + rdx*8 + 8], eax
mov eax, dword [rsi + 0x3c]
mov rcx, qword [rsi + 0x30]
lea edx, [rax - 1]
mov dword [rcx + 0x64], edx
mov rcx, rdi
call fcn.140145a00
mov eax, r14d
jmp 0x14013fc5b