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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x100
mov rax, qword [0x1402d4c40]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov r14, qword [rcx]
xor ebp, ebp
movzx eax, byte [r8 + 0x40]
mov ebx, ebp
mov r12, qword [r8 + 0x60]
mov r13d, ebp
movsxd rdi, edx
mov rdx, rcx
mov rsi, qword [r14 + 0x10]
mov qword [rsp + 0x50], rcx
mov rcx, qword [r8 + 0x38]
mov qword [rsp + 0x70], rcx
imul rcx, rax, 0x68
mov rax, qword [rdx + 8]
mov qword [rsp + 0x60], r8
lea r8, str.RIGHT_JOIN__s
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x58], rsi
mov r9, qword [rcx + rax + 0x28]
lea rdx, [rax + 8]
add rdx, rcx
mov eax, 1
mov qword [rsp + 0x48], rdx
mov rcx, r14
mov edx, eax
mov dword [rsp + 0x44], eax
mov r9, qword [r9]
call fcn.14007e780
mov r15, rdi
test edi, edi
jle 0x1400fab81
mov rdi, qword [rsp + 0x50]
add rdi, 0x364
mov rax, qword [rdi + 0x5c]
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [rdi]
or r13, qword [rax + 8]
cmp dword [rsi + 0x94], ecx
jg 0x1400faaf2
mov r8d, edx
mov dword [rsp + 0x20], ebp
mov edx, 0x88
xor r9d, r9d
mov rcx, rsi
call fcn.14007e0e0
jmp 0x1400fab1b
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x88
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
mov edx, dword [rdi + 4]
test edx, edx
je 0x1400fab73
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1400fab4a
mov r8d, edx
mov dword [rsp + 0x20], ebp
mov edx, 0x88
xor r9d, r9d
mov rcx, rsi
call fcn.14007e0e0
jmp 0x1400fab73
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x88
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
add rdi, 0x70
sub r15, 1
jne 0x1400faac0
mov rdi, qword [rsp + 0x48]
test byte [rdi + 0x3c], 0x40
jne 0x1400fae82
or r13, qword [r12 + 8]
mov r12d, ebp
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x84], ebx
jle 0x1400fae82
mov rsi, rbp
mov edx, 0x2000
mov r9d, 0x8002
mov r8d, 0x48
nop dword [rax]
mov rcx, qword [rax + 0x90]
add rcx, rsi
test word [rcx + 0x12], r9w
je 0x1400fabdb
cmp word [rcx + 0x14], dx
jne 0x1400fae78
mov rax, r13
not rax
test qword [rcx + 0x30], rax
jne 0x1400fae5f
mov rdx, qword [rcx]
test byte [rdx + 4], 3
jne 0x1400fae5a
test rdx, rdx
je 0x1400fac16
mov rcx, qword [r14]
xor r9d, r9d
xor r8d, r8d
call fcn.1400993d0
mov rdi, rax
mov r8d, 0x48
jmp 0x1400fac19
mov rdi, rbp
mov r15, qword [r14]
test rbx, rbx
jne 0x1400fac29
mov rbx, rdi
jmp 0x1400fae4e
test rdi, rdi
je 0x1400fae4e
mov eax, dword [rdi + 4]
or eax, dword [rbx + 4]
and eax, 0x20000003
cmp eax, 0x20000000
jne 0x1400fad99
cmp byte [r14 + 0x134], 2
jae 0x1400fad99
test r15, r15
je 0x1400fac6a
mov edx, Ordinal_26
mov rcx, r15
call fcn.140050b30
jmp 0x1400fac74
mov ecx, Ordinal_26
call fcn.1400503a0
mov rcx, rax
test rax, rax
je 0x1400fac9e
mov rax, qword [r14 + 0xc8]
mov qword [rcx], rax
mov qword [r14 + 0xc8], rcx
mov qword [rcx + 8], rbx
lea rbx, [fcn.140099270]
mov qword [rcx + 0x10], rbx
jmp 0x1400facb0
mov rcx, qword [r14]
mov rdx, rbx
call fcn.1400991c0
lea rbx, [fcn.140099270]
mov rcx, qword [r14]
test rcx, rcx
je 0x1400facc4
mov edx, Ordinal_26
call fcn.140050b30
jmp 0x1400facce
mov ecx, Ordinal_26
call fcn.1400503a0
mov rcx, rax
test rax, rax
je 0x1400facf1
mov rax, qword [r14 + 0xc8]
mov qword [rcx], rax
mov qword [r14 + 0xc8], rcx
mov qword [rcx + 8], rdi
mov qword [rcx + 0x10], rbx
jmp 0x1400facfc
mov rcx, qword [r14]
mov rdx, rdi
call fcn.1400991c0
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], ebp
lea rcx, [0x14028d788]
call fcn.140055880
test eax, eax
mov edi, eax
mov eax, 0x48
mov edx, 0x4a
cmovne edx, eax
mov rcx, r15
call fcn.140050b30
mov rbx, rax
test rax, rax
je 0x1400fae4e
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 byte [rbx], 0x9b
mov word [rbx + 0x32], 0xffff
test edi, edi
je 0x1400fad80
mov eax, dword [rsp + 0x40]
mov ecx, 0x20800800
test eax, eax
mov dword [rbx + 8], eax
mov edx, 0x10800800
mov dword [rbx + 0x28], 1
cmovne ecx, edx
or dword [rbx + 4], ecx
jmp 0x1400fae4e
lea rax, [rbx + 0x48]
mov qword [rbx + 8], rax
mov word [rax], Ordinal_50
mov dword [rbx + 0x28], 1
jmp 0x1400fae4e
mov rdx, r8
mov rcx, r15
call fcn.140050b30
mov r15, rax
test rax, rax
je 0x1400fae35
xor eax, eax
xorps xmm0, xmm0
movups xmmword [r15], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15 + 0x20], xmm0
movups xmmword [r15 + 0x30], xmm0
mov qword [r15 + 0x40], rax
mov byte [r15], Ordinal_46
mov word [r15 + 0x32], 0xffff
mov qword [r15 + 0x18], rdi
mov ecx, dword [rdi + 4]
and ecx, 0x400208
or ecx, dword [r15 + 4]
mov dword [r15 + 4], ecx
mov edx, dword [rdi + 0x28]
inc edx
mov dword [r15 + 0x28], edx
mov qword [r15 + 0x10], rbx
mov eax, dword [rbx + 4]
and eax, 0x400208
or eax, ecx
mov dword [r15 + 4], eax
mov eax, dword [rbx + 0x28]
cmp eax, edx
jl 0x1400fae15
lea edx, [rax + 1]
mov dword [r15 + 0x28], edx
mov rax, qword [r14]
mov r8d, dword [rax + 0x94]
cmp edx, r8d
jle 0x1400fae4b
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, r14
call fcn.1400544c0
jmp 0x1400fae4b
mov rcx, qword [r14]
mov rdx, rbx
call fcn.1400991c0
mov rcx, qword [r14]
mov rdx, rdi
call fcn.1400991c0
mov rbx, r15
mov r8d, 0x48
mov r9d, 0x8002
mov edx, 0x2000
mov rax, qword [rsp + 0x50]
inc r12d
add rsi, 0x38
cmp r12d, dword [rax + 0x84]
jl 0x1400fabc0
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x48]
mov eax, 1
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x80], eax
lea rdx, [rsp + 0x80]
mov dword [rsp + 0x84], eax
xor r9d, r9d
movups xmm0, xmmword [rdi]
mov word [rsp + 0x30], 0x1000
mov r8, rbx
mov qword [rsp + 0x28], rbp
mov rcx, r14
movups xmmword [rsp + 0x88], xmm0
mov qword [rsp + 0x20], rbp
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsp + 0x98], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rsp + 0xa8], xmm0
movups xmm1, xmmword [rdi + 0x30]
movups xmmword [rsp + 0xb8], xmm1
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rsp + 0xc8], xmm0
movups xmm1, xmmword [rdi + 0x50]
movups xmmword [rsp + 0xd8], xmm1
movsd xmm0, qword [rdi + 0x60]
movsd qword [rsp + 0xe8], xmm0
mov byte [rsp + 0xc4], bpl
inc byte [r14 + 0x26]
call fcn.140107ad0
mov qword [rsp + 0x58], rax
mov r12, rax
lea r15, [0x1402e8cf0]
test rax, rax
je 0x1400fb167
mov r8, qword [rsp + 0x60]
mov r8d, dword [r8 + 4]
inc dword [r14 + 0x38]
mov r13, qword [rdi + 0x20]
mov edx, dword [r14 + 0x38]
mov eax, dword [rax + 0x30]
mov dword [rsp + 0x40], edx
test byte [r13 + 0x30], 0x80
mov dword [rsp + 0x48], eax
jne 0x1400faf80
mov dword [rsp + 0x20], edx
mov r9d, 0xffffffff
mov rdx, r13
mov rcx, rsi
call fcn.14009e830
mov r10d, 1
jmp 0x1400fb00f
mov rdi, qword [r13 + 0x10]
test rdi, rdi
je 0x1400fafa2
nop dword [rax]
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x1400fafa2
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x1400faf90
movzx r10d, word [rdi + 0x5e]
lea eax, [rdx - 1]
add eax, r10d
mov dword [rsp + 0x44], r10d
mov dword [r14 + 0x38], eax
test r10d, r10d
je 0x1400fb013
mov r15, rbp
mov r12d, edx
mov ebp, r8d
mov r14d, r10d
nop word [rax + rax]
mov rax, qword [rdi + 8]
mov r8d, ebp
mov rdx, r13
mov dword [rsp + 0x20], r12d
mov rcx, rsi
movsx r9d, word [rax + r15*2]
call fcn.14009e830
inc r12d
inc r15
cmp r15, r14
jl 0x1400fafd0
mov r14, qword [rsp + 0x68]
lea r15, [0x1402e8cf0]
mov r12, qword [rsp + 0x58]
xor ebp, ebp
mov r10d, dword [rsp + 0x44]
mov edx, dword [rsp + 0x40]
mov r13, qword [rsp + 0x70]
movsxd rdi, dword [rsi + 0x90]
mov r8d, dword [r13 + 4]
cmp dword [rsi + 0x94], edi
jg 0x1400fb051
mov dword [rsp + 0x28], r10d
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov rcx, rsi
mov edx, 0x40
call fcn.14007e140
mov edx, dword [rsp + 0x40]
mov edi, eax
mov r10d, dword [rsp + 0x44]
jmp 0x1400fb07e
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xfd40
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8 + 0x10], r10d
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [r13]
mov r9d, dword [rsp + 0x48]
cmp dword [rsi + 0x94], ecx
jg 0x1400fb0ae
mov dword [rsp + 0x28], r10d
mov rcx, rsi
mov dword [rsp + 0x20], edx
mov edx, Ordinal_30
call fcn.14007e140
jmp 0x1400fb0dc
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xfd1d
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8 + 0x10], r10d
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x67], 0
je 0x1400fb0f0
mov rax, r15
jmp 0x1400fb102
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r13 + 0xc]
mov r8d, dword [r13 + 8]
cmp dword [rsi + 0x94], ecx
jg 0x1400fb132
mov r9d, edx
mov dword [rsp + 0x20], ebp
mov edx, 0xa
mov rcx, rsi
call fcn.14007e0e0
jmp 0x1400fb15f
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rcx, r12
call fcn.140108bf0
test rbx, rbx
je 0x1400fb177
mov rcx, qword [r14]
mov rdx, rbx
call fcn.1400991c0
movsxd rcx, dword [r14 + 0x140]
test ecx, ecx
je 0x1400fb1a2
mov rdx, qword [r14 + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
jne 0x1400fb19e
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea r15, [rax + rcx*8]
mov ebp, dword [r15 + 8]
dec byte [r14 + 0x26]
mov dword [r14 + 0x140], ebp
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1401e2e90
mov rbx, qword [rsp + 0x148]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret