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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov rbp, qword [rdx + 0x28]
xor r11d, r11d
mov r14, rdx
mov qword [rsp + 0x20], rbp
mov r15, rcx
mov dword [rsp + 0xf8], r11d
mov r13d, r11d
mov eax, dword [rbp]
lea r8, [rbp + 8]
dec eax
mov qword [rsp + 0x60], r8
lea rsi, [r8 + 0x68]
mov qword [rsp + 0x40], rsi
test eax, eax
jle 0x1400a3f5e
cmp qword [r8 + 0x20], 0
lea r9, [0x1400f73f0]
mov r12, qword [rsi + 0x20]
mov qword [rsp + 0x58], r12
je 0x1400a3f33
test r12, r12
je 0x1400a3f33
movzx eax, byte [rsi + 0x3c]
and al, 0x20
movsxd rdx, r13d
neg al
mov qword [rsp + 0x30], rdx
sbb edi, edi
add edi, 2
test byte [rsi + 0x3c], 4
mov dword [rsp + 0x28], edi
je 0x1400a35ad
test dword [rsi + 0x40], 0x400
mov r12, r11
jne 0x1400a3f74
cmp qword [rsi + 0x48], 0
jne 0x1400a3f74
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0xf0], r11d
cmp r11w, word [rax + 0x36]
jge 0x1400a359d
mov r13, r11
nop word [rax + rax]
mov rax, qword [rax + 8]
test byte [rax + r13 + 0x12], 2
jne 0x1400a3549
mov rsi, qword [rax + r13]
mov r15, r11
test rdx, rdx
js 0x1400a3541
lea r14, [rbp + 0x28]
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [r14]
xor bl, bl
mov rcx, rsi
test rsi, rsi
je 0x1400a34c2
movzx eax, byte [rsi]
test al, al
je 0x1400a34c2
nop dword [rax]
nop dword [rax + rax]
movzx eax, al
lea rcx, [rcx + 1]
add bl, byte [rax + r9]
movzx eax, byte [rcx]
test al, al
jne 0x1400a34b0
movsx rdi, word [rdx + 0x36]
mov rbp, qword [rdx + 8]
mov r10, rbp
test rdi, rdi
jle 0x1400a351d
cmp byte [r10 + 0xe], bl
jne 0x1400a37d0
mov r8, qword [r10]
mov r9, rsi
sub r9, r8
nop word [rax + rax]
movzx eax, byte [r8]
movzx ecx, byte [r9 + r8]
cmp eax, ecx
jne 0x1400a37ab
test eax, eax
jne 0x1400a37c8
test r11, r11
js 0x1400a351d
lea rax, [r11 + r11*2]
test byte [rbp + rax*8 + 0x12], 2
je 0x1400a37e5
mov rdx, qword [rsp + 0x30]
lea r9, [0x1400f73f0]
inc r15
add r14, 0x68
xor r11d, r11d
cmp r15, rdx
jle 0x1400a3490
mov rbp, qword [rsp + 0x20]
mov r15, qword [rsp + 0xe0]
mov rax, qword [rsp + 0x58]
add r13, 0x18
inc dword [rsp + 0xf0]
movsx eax, word [rax + 0x36]
cmp dword [rsp + 0xf0], eax
mov rax, qword [rsp + 0x58]
jl 0x1400a3460
mov rsi, qword [rsp + 0x40]
mov edi, dword [rsp + 0x28]
mov r14, qword [rsp + 0xe8]
mov r13d, dword [rsp + 0xf8]
mov r8, qword [rsp + 0x60]
test r12, r12
je 0x1400a359d
or dword [rsi + 0x40], 0x1400
mov qword [rsi + 0x48], r12
cmp dword [r15 + 0x30], 0
jne 0x1400a3f86
mov r12, qword [rsp + 0x58]
test dword [rsi + 0x40], 0x400
je 0x1400a3e9e
mov rcx, qword [rsi + 0x48]
mov rax, qword [r15]
mov qword [rsp + 0x68], rax
mov rax, r11
mov qword [rsp + 0x88], rcx
cmp dword [rcx], 0
mov dword [rsp + 0x2c], r11d
mov qword [rsp + 0x80], rax
jle 0x1400a3f33
nop word [rax + rax]
add rax, rax
xor r11b, r11b
mov r13, qword [rcx + rax*8 + 8]
mov qword [rsp + 0x50], r13
mov rcx, r13
test r13, r13
je 0x1400a3632
movzx eax, byte [r13]
test al, al
je 0x1400a3632
nop dword [rax]
nop word [rax + rax]
movzx eax, al
lea rcx, [rcx + 1]
add r11b, byte [rax + r9]
movzx eax, byte [rcx]
test al, al
jne 0x1400a3620
movsx rbx, word [r12 + 0x36]
xor esi, esi
mov r10, qword [r12 + 8]
xor edi, edi
mov dword [rsp + 0x48], esi
mov qword [rsp + 0x78], rdi
test rbx, rbx
jle 0x1400a378f
cmp byte [r10 + 0xe], r11b
jne 0x1400a38ae
mov r8, qword [r10]
mov r9, r13
sub r9, r8
nop word [rax + rax]
movzx ecx, byte [r8]
movzx eax, byte [r8 + r9]
cmp ecx, eax
jne 0x1400a3891
test ecx, ecx
jne 0x1400a38a6
test esi, esi
js 0x1400a378f
mov rax, qword [rsp + 0x40]
xor r9d, r9d
mov r14d, r9d
mov r12d, dword [rax + 0x40]
mov eax, r9d
mov dword [rsp + 0xf0], eax
cmp qword [rsp + 0x30], rax
jl 0x1400a378f
lea r15, [rbp + 0x28]
lea r8, [0x1400f73f0]
mov rdx, qword [r15]
xor bl, bl
mov rcx, r13
test r13, r13
je 0x1400a36f9
movzx eax, byte [r13]
test al, al
je 0x1400a36f2
nop word [rax + rax]
movzx eax, al
lea rcx, [rcx + 1]
add bl, byte [rax + r8]
movzx eax, byte [rcx]
test al, al
jne 0x1400a36e0
mov eax, dword [rsp + 0xf0]
movsx rsi, word [rdx + 0x36]
mov edi, r9d
mov rbp, qword [rdx + 8]
mov r11, r9
mov r10, rbp
test rsi, rsi
jle 0x1400a376c
cmp byte [r10 + 0xe], bl
jne 0x1400a38f3
mov r8, qword [r10]
mov r9, r13
sub r9, r8
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1400a38ce
test ecx, ecx
jne 0x1400a38eb
test r11, r11
js 0x1400a375b
bt r12d, 0xc
jae 0x1400a390a
lea rax, [r11 + r11*2]
test byte [rbp + rax*8 + 0x12], 2
je 0x1400a390a
mov eax, dword [rsp + 0xf0]
lea r8, [0x1400f73f0]
xor r9d, r9d
inc eax
inc r14
add r15, 0x68
mov dword [rsp + 0xf0], eax
cmp r14, qword [rsp + 0x30]
jle 0x1400a36c0
mov r15, qword [rsp + 0xe0]
mov r8, r13
lea rdx, str.cannot_join_using_column__s___column_not_present_in_both_tables
mov rcx, r15
call fcn.14001db80
mov eax, 1
jmp 0x1400a3f60
lea rdx, [0x1400f73f0]
movzx edx, byte [rcx + rdx]
mov rcx, rax
lea rax, [0x1400f73f0]
movzx eax, byte [rcx + rax]
cmp eax, edx
jne 0x1400a37d0
inc r8
jmp 0x1400a34f0
add r10, 0x18
inc r11
cmp r11, rdi
jl 0x1400a34d3
jmp 0x1400a351d
mov r15, qword [rsp + 0xe0]
xor r8d, r8d
mov rcx, r15
mov rdx, r12
call fcn.140081a80
mov r12, rax
test rax, rax
je 0x1400a3878
test rsi, rsi
jne 0x1400a3810
xor r11d, r11d
mov edi, r11d
jmp 0x1400a3856
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], 0
jne 0x1400a3817
mov rcx, qword [r15]
inc rbx
test rcx, rcx
je 0x1400a3835
mov rdx, rbx
call fcn.14001a1a0
jmp 0x1400a383d
mov rcx, rbx
call fcn.1400199d0
mov rdi, rax
test rax, rax
je 0x1400a3853
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
xor r11d, r11d
movsxd rax, dword [r12]
lea r9, [0x1400f73f0]
mov rdx, qword [rsp + 0x30]
add rax, rax
mov rbp, qword [rsp + 0x20]
mov qword [r12 + rax*8 - 8], rdi
jmp 0x1400a3549
mov rdx, qword [rsp + 0x30]
lea r9, [0x1400f73f0]
mov rbp, qword [rsp + 0x20]
xor r11d, r11d
jmp 0x1400a3549
lea r14, [0x1400f73f0]
movzx edx, byte [rax + r14]
movzx ecx, byte [rcx + r14]
cmp ecx, edx
jne 0x1400a38ae
inc r8
jmp 0x1400a3670
inc esi
inc rdi
add r10, 0x18
mov dword [rsp + 0x48], esi
mov qword [rsp + 0x78], rdi
cmp rdi, rbx
jl 0x1400a3653
jmp 0x1400a378f
lea rdx, [0x1400f73f0]
movzx edx, byte [rax + rdx]
mov rax, rcx
lea rcx, [0x1400f73f0]
movzx ecx, byte [rax + rcx]
cmp ecx, edx
jne 0x1400a38f3
inc r8
jmp 0x1400a3723
add r10, 0x18
inc edi
inc r11
cmp r11, rsi
jl 0x1400a3710
jmp 0x1400a375b
mov r15, qword [rsp + 0x20]
imul rax, r14, 0x68
test dword [rax + r15 + 0x48], 0x2000
je 0x1400a3931
mov rax, qword [rax + r15 + 0x30]
shl r11, 5
mov rcx, qword [rax + 0x20]
or dword [r11 + rcx + 0x1c], 0x40
movsxd rbp, dword [rsp + 0xf0]
mov r9d, edi
mov rsi, qword [rsp + 0x68]
mov r8d, ebp
mov rcx, rsi
mov rdx, r15
call fcn.14005f370
imul rcx, rbp, 0x68
mov r14, rax
mov qword [rsp + 0x38], rax
movsxd rdx, edi
test dword [rcx + r15 + 0x48], 0x2000
je 0x1400a397b
mov rax, qword [rcx + r15 + 0x30]
shl rdx, 5
mov rcx, qword [rax + 0x20]
or dword [rdx + rcx + 0x1c], 0x40
test byte [r15 + 0x44], 0x40
je 0x1400a3d1d
xor r10d, r10d
mov r12d, r10d
nop dword [rax]
mov rax, qword [rsp + 0x40]
inc ebp
movsxd r14, ebp
mov dword [rsp + 0xf0], ebp
mov r13d, dword [rax + 0x40]
cmp r14, qword [rsp + 0x30]
jg 0x1400a3a88
imul rax, r14, 0x68
add r15, 0x28
lea r8, [0x1400f73f0]
add r15, rax
mov rax, qword [rsp + 0x50]
xor r11b, r11b
mov rdx, qword [r15]
mov rcx, rax
test rax, rax
je 0x1400a39f7
movzx eax, byte [rax]
test al, al
je 0x1400a39f2
nop dword [rax]
movzx eax, al
lea rcx, [rcx + 1]
add r11b, byte [rax + r8]
movzx eax, byte [rcx]
test al, al
jne 0x1400a39e0
mov rax, qword [rsp + 0x50]
movsx rbx, word [rdx + 0x36]
mov esi, r10d
mov rbp, qword [rdx + 8]
mov rdi, r10
mov r9, rbp
test rbx, rbx
jle 0x1400a3a65
nop
cmp byte [r9 + 0xe], r11b
jne 0x1400a3ae8
mov r8, qword [r9]
mov r10, rax
sub r10, r8
movzx ecx, byte [r8]
movzx eax, byte [r10 + r8]
cmp ecx, eax
jne 0x1400a3ac3
test ecx, ecx
jne 0x1400a3ae0
test rdi, rdi
js 0x1400a3a5b
bt r13d, 0xc
jae 0x1400a3b04
lea rax, [rdi + rdi*2]
test byte [rbp + rax*8 + 0x12], 2
je 0x1400a3b04
lea r8, [0x1400f73f0]
xor r10d, r10d
inc dword [rsp + 0xf0]
inc r14
add r15, 0x68
cmp r14, qword [rsp + 0x30]
jle 0x1400a39c2
mov rsi, qword [rsp + 0x68]
mov r15, qword [rsp + 0x20]
mov rdi, qword [rsp + 0xe0]
test r12, r12
je 0x1400a3d18
movsxd rax, dword [r12]
lea ecx, [rax + 1]
cmp dword [r12 + 4], ecx
jge 0x1400a3c39
mov r8, qword [rsp + 0x38]
mov rdx, r12
mov rcx, qword [rdi]
call fcn.140064a20
mov r12, rax
jmp 0x1400a3c65
lea rdx, [0x1400f73f0]
movzx edx, byte [rax + rdx]
mov rax, rcx
lea rcx, [0x1400f73f0]
movzx ecx, byte [rax + rcx]
cmp ecx, edx
jne 0x1400a3ae8
inc r8
jmp 0x1400a3a23
add r9, 0x18
inc esi
inc rdi
cmp rdi, rbx
jge 0x1400a3a5b
mov rax, qword [rsp + 0x50]
jmp 0x1400a3a10
movsxd rbp, dword [rsp + 0xf0]
mov r15, qword [rsp + 0x20]
imul rcx, rbp, 0x68
test dword [rcx + r15 + 0x48], 0x2000
je 0x1400a3b35
mov rax, qword [rcx + r15 + 0x30]
mov rcx, qword [rax + 0x20]
mov rax, rdi
shl rax, 5
or dword [rax + rcx + 0x1c], 0x40
mov r13, qword [rsp + 0x50]
imul rbx, rbp, 0x68
add rbx, r15
test dword [rbx + 0x48], 0x400
je 0x1400a3c15
mov rcx, qword [rbx + 0x50]
mov rdx, r13
call fcn.140081c10
test eax, eax
js 0x1400a3c15
test r12, r12
jne 0x1400a3b81
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rax]
call fcn.140064940
mov r12, rax
jmp 0x1400a3bd8
movsxd rax, dword [r12]
lea ecx, [rax + 1]
cmp dword [r12 + 4], ecx
jge 0x1400a3bac
mov rax, qword [rsp + 0xe0]
mov rdx, r12
mov r8, qword [rsp + 0x38]
mov rcx, qword [rax]
call fcn.140064a20
mov r12, rax
jmp 0x1400a3bd8
movups xmm0, xmmword [0x1400f5b78]
mov dword [r12], ecx
movups xmm1, xmmword [0x1400f5b88]
mov rcx, qword [rsp + 0x38]
shl rax, 5
movups xmmword [rax + r12 + 8], xmm0
movups xmmword [rax + r12 + 0x18], xmm1
mov qword [rax + r12 + 8], rcx
mov r9d, esi
mov r8d, ebp
mov rsi, qword [rsp + 0x68]
mov rdx, r15
mov rcx, rsi
call fcn.14005f370
test dword [rbx + 0x48], 0x2000
mov qword [rsp + 0x38], rax
je 0x1400a3c0d
mov rax, qword [rbx + 0x30]
shl rdi, 5
mov rcx, qword [rax + 0x20]
or dword [rdi + rcx + 0x1c], 0x40
xor r10d, r10d
jmp 0x1400a3990
mov rdi, qword [rsp + 0xe0]
lea rdx, str.ambiguous_reference_to__s_in_USING__
mov rcx, rdi
mov r8, r13
call fcn.14001db80
mov rsi, qword [rsp + 0x68]
jmp 0x1400a3a90
movups xmm0, xmmword [0x1400f5b78]
mov dword [r12], ecx
movups xmm1, xmmword [0x1400f5b88]
mov rcx, qword [rsp + 0x38]
shl rax, 5
movups xmmword [rax + r12 + 8], xmm0
movups xmmword [rax + r12 + 0x18], xmm1
mov qword [rax + r12 + 8], rcx
mov rbx, qword [rdi]
lea r8, [0x1400faf98]
mov rcx, rbx
mov r9d, 1
mov edx, 0xac
call fcn.140062750
mov r14, rax
test rax, rax
jne 0x1400a3c9f
test r12, r12
je 0x1400a3c9a
mov rdx, r12
mov rcx, rbx
call fcn.140064fd0
xor r14d, r14d
jmp 0x1400a3d1d
mov rax, qword [0x1400faf98]
sub eax, dword [rdi + 0x158]
mov dword [r14 + 0x34], eax
test r12, r12
je 0x1400a3ce0
mov rax, qword [rdi]
mov ecx, dword [rax + 0xa0]
cmp dword [r12], ecx
jle 0x1400a3ce0
cmp byte [rdi + 0x1e], 0
jne 0x1400a3ce0
lea r8, [0x1400faf98]
mov rcx, rdi
lea rdx, str.too_many_arguments_on_function__T
call fcn.14001db80
or dword [r14 + 4], 8
mov qword [r14 + 0x20], r12
cmp dword [rdi + 0x30], 0
jne 0x1400a3d1d
mov rcx, r14
call fcn.140062480
mov rax, qword [rdi]
mov r8d, dword [rax + 0x94]
cmp dword [r14 + 0x28], r8d
jle 0x1400a3d1d
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.14001db80
jmp 0x1400a3d1d
mov r14, qword [rsp + 0x38]
mov r13d, dword [rsp + 0xf8]
mov rdx, r15
mov r9d, dword [rsp + 0x48]
mov rcx, rsi
lea r8d, [r13 + 1]
call fcn.14005f370
mov rsi, qword [rsp + 0x40]
mov rdi, rax
test dword [rsi + 0x40], 0x2000
je 0x1400a3d60
mov rax, qword [rsi + 0x28]
mov rcx, qword [rax + 0x20]
mov rax, qword [rsp + 0x78]
shl rax, 5
or dword [rax + rcx + 0x1c], 0x40
mov r15, qword [rsp + 0xe0]
mov edx, 0x48
mov rcx, qword [r15]
call fcn.14001a1a0
mov rbx, rax
test rax, rax
je 0x1400a3e1d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
mov qword [rbx + 0x40], rax
mov rax, 0xffffffffffffffff
mov word [rbx + 0x32], ax
mov byte [rbx], 0x35
test rdi, rdi
je 0x1400a3dc2
mov qword [rbx + 0x18], rdi
mov eax, dword [rdi + 4]
and eax, 0x400208
or dword [rbx + 4], eax
mov ecx, dword [rdi + 0x28]
inc ecx
jmp 0x1400a3dc7
mov ecx, 1
mov dword [rbx + 0x28], ecx
test r14, r14
je 0x1400a3df0
mov ecx, dword [rbx + 0x28]
mov qword [rbx + 0x10], r14
mov eax, dword [r14 + 4]
and eax, 0x400208
or dword [rbx + 4], eax
mov eax, dword [r14 + 0x28]
cmp eax, ecx
jl 0x1400a3df0
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov rax, qword [r15]
mov r8d, dword [rax + 0x94]
cmp ecx, r8d
jle 0x1400a3e0e
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, r15
call fcn.14001db80
mov eax, dword [rsp + 0x28]
or dword [rbx + 4], eax
mov eax, dword [rdi + 0x2c]
mov dword [rbx + 0x34], eax
jmp 0x1400a3e3d
test r14, r14
je 0x1400a3e2d
mov rcx, qword [r15]
mov rdx, r14
call fcn.140063580
test rdi, rdi
je 0x1400a3e3d
mov rcx, qword [r15]
mov rdx, rdi
call fcn.140063580
mov r14, qword [rsp + 0xe8]
mov r8, rbx
mov rcx, r15
mov rdx, qword [r14 + 0x30]
call fcn.140062d30
mov edx, dword [rsp + 0x2c]
lea r9, [0x1400f73f0]
mov rcx, qword [rsp + 0x88]
inc edx
mov rbp, qword [rsp + 0x20]
mov r12, qword [rsp + 0x58]
mov qword [r14 + 0x30], rax
mov rax, qword [rsp + 0x80]
inc rax
mov dword [rsp + 0x2c], edx
mov qword [rsp + 0x80], rax
cmp edx, dword [rcx]
jl 0x1400a35f0
xor r11d, r11d
jmp 0x1400a3f2e
mov r9, qword [rsi + 0x48]
test r9, r9
je 0x1400a3f33
mov ebx, dword [rsi + 0x44]
nop
or dword [r9 + 4], edi
cmp byte [r9], 0xac
mov dword [r9 + 0x34], ebx
jne 0x1400a3eef
mov rax, qword [r9 + 0x20]
test rax, rax
je 0x1400a3eef
cmp dword [rax], 0
jle 0x1400a3eef
xor r10d, r10d
nop
mov rcx, qword [r10 + rax + 8]
mov r8d, edi
mov edx, ebx
call fcn.1400a31e0
mov rax, qword [r9 + 0x20]
lea r10, [r10 + 0x20]
inc r11d
cmp r11d, dword [rax]
jl 0x1400a3ed0
mov rcx, qword [r9 + 0x10]
mov r8d, edi
mov edx, ebx
call fcn.1400a31e0
mov r9, qword [r9 + 0x18]
mov r11d, 0
test r9, r9
jne 0x1400a3eb0
mov r8, qword [rsi + 0x48]
mov rcx, r15
mov rdx, qword [r14 + 0x30]
call fcn.140062d30
xor r11d, r11d
mov qword [r14 + 0x30], rax
or dword [rsi + 0x40], 0x800
mov qword [rsi + 0x48], r11
mov r8, qword [rsp + 0x60]
mov eax, dword [rbp]
inc r13d
add rsi, 0x68
mov dword [rsp + 0xf8], r13d
add r8, 0x68
mov qword [rsp + 0x40], rsi
dec eax
mov qword [rsp + 0x60], r8
cmp r13d, eax
jl 0x1400a33d9
xor eax, eax
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
xor r8d, r8d
lea rdx, str.a_NATURAL_join_may_not_have_an_ON_or_USING_clause
mov rcx, r15
call fcn.14001db80
mov eax, 1
jmp 0x1400a3f60