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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbp
push rsi
push r12
push r13
push r14
sub rsp, 0x90
mov r12, rcx
mov rcx, qword [rcx + 0x10]
mov rbp, r9
mov r14, qword [r12]
mov qword [rsp + 0x30], rcx
xor ecx, ecx
test byte [r14 + 0x4c], 0x20
mov qword [r11 - 0x50], rcx
mov qword [r11 - 0x60], rcx
mov qword [r11 - 0x58], rcx
mov qword [r11 - 0x48], rcx
mov qword [r11 - 0x40], rcx
movzx ecx, word [rsp + 0xe8]
mov qword [r11 - 0x50], r9
mov rsi, r8
mov rax, rdx
mov qword [rsp + 0x38], r14
je 0x140288029
mov edx, 0xfbff
and cx, dx
mov r13d, dword [rax]
mov word [rsp + 0xd8], cx
cmp r13d, 0x40
jle 0x140288061
lea rdx, str.at_most__d_tables_in_a_join
mov r8d, 0x40
mov rcx, r12
call fcn.14021ae50
xor eax, eax
add rsp, 0x90
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret
mov qword [rsp + 0xd0], rbx
movzx eax, cx
mov qword [rsp + 0x88], rdi
and ax, 0x40
mov rcx, r14
mov qword [rsp + 0x80], r15
mov word [rsp + 0x40], ax
mov eax, 1
cmovne r13d, eax
mov dword [rsp + 0x44], r13d
lea ebx, [r13*4]
add ebx, r13d
shl ebx, 4
add ebx, 0x347
and ebx, 0xfffffff8
lea edi, [rbx + 0x60]
mov edx, edi
call fcn.140218530
mov r15, rax
test rax, rax
je 0x1402880cc
movsxd r8, edi
xor edx, edx
mov rcx, rax
call fcn.1402c22a0
cmp byte [r14 + 0x50], 0
je 0x1402880e3
mov rdx, r15
mov rcx, r14
call fcn.140218260
jmp 0x14028891b
mov r14, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x30]
or rax, 0xffffffffffffffff
mov qword [rsp + 0x48], rax
mov dword [r15 + 0x50], eax
mov dword [r15 + 0x4c], eax
mov rax, qword [rsp + 0xc8]
mov byte [r15 + 0x38], r13b
mov qword [r15], r12
mov qword [r15 + 0x10], rbp
mov qword [r15 + 0x18], r14
mov qword [r15 + 8], rax
call fcn.140237f30
lea rdx, [r15 + 0x158]
movsxd rcx, ebx
mov dword [r15 + 0x44], eax
movzx eax, word [rsp + 0xd8]
add rcx, r15
mov word [r15 + 0x32], ax
mov eax, dword [r12 + 0x1d8]
xor ebx, ebx
mov dword [r15 + 0x48], eax
mov dword [rcx + 0x2c], 0x40000
mov dword [rcx + 0x28], ebx
lea rax, [rcx + 0x40]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x70], rcx
mov qword [rcx + 0x30], rax
mov dword [r15 + 0x54], ebx
lea rax, [rdx + 0x28]
mov qword [rdx], r15
mov qword [rdx + 8], rbx
mov dword [rdx + 0x14], ebx
mov qword [rdx + 0x20], rax
mov dword [rdx + 0x18], 8
mov rdx, rsi
lea rsi, [r15 + 0x158]
mov r8b, 0x48
mov qword [rsp + 0x58], r15
mov rcx, rsi
call fcn.14027ff60
mov edi, ebx
cmp dword [rsi + 0x14], ebx
jle 0x1402881ed
test r13d, r13d
je 0x1402881bd
mov rcx, qword [rsi + 0x20]
mov rcx, qword [rcx + rbx]
call fcn.14024ba80
test eax, eax
je 0x1402881e0
mov rdx, qword [rsi + 0x20]
mov r8d, dword [r15 + 0x44]
mov r9d, 8
mov rdx, qword [rdx + rbx]
mov rcx, r12
call fcn.14024f2a0
mov rax, qword [rsi + 0x20]
or byte [rax + rbx + 0x1c], 4
inc edi
add rbx, 0x38
cmp edi, dword [rsi + 0x14]
jl 0x1402881a7
xor ebx, ebx
mov r10d, 0x400
test r13d, r13d
jne 0x140288217
test rbp, rbp
je 0x140288202
mov byte [r15 + 0x34], 1
movzx edi, word [rsp + 0xd8]
test r10w, di
je 0x14028821f
mov byte [r15 + 0x37], 1
jmp 0x14028821f
movzx edi, word [rsp + 0xd8]
mov rsi, qword [rsp + 0xc8]
mov r8d, ebx
cmp dword [rsi], 0
jle 0x14028825b
lea rdx, [rsi + 0x50]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rdx]
movsxd rcx, dword [r15 + 0x54]
inc r8d
mov dword [r15 + rcx*4 + 0x58], eax
inc dword [r15 + 0x54]
lea rdx, [rdx + 0x78]
cmp r8d, dword [rsi]
jl 0x140288240
lea rax, [r15 + 0x158]
mov ebx, dword [rax + 0x14]
dec ebx
js 0x140288293
nop dword [rax]
lea rdx, [r15 + 0x158]
mov r8d, ebx
mov rcx, rsi
call fcn.1402813f0
dec ebx
jns 0x140288270
lea rax, [r15 + 0x158]
mov r10d, 0x400
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 0x50], 0
jne 0x140288904
mov ebx, 0x200
and di, r10w
je 0x1402882d8
mov r9, r14
mov r8, rax
mov rdx, rsi
mov rcx, r12
call fcn.140281fd0
test eax, eax
je 0x1402882ca
mov byte [r15 + 0x37], 1
jmp 0x1402882d8
test rbp, rbp
jne 0x1402882d8
or word [r15 + 0x32], bx
mov qword [r15 + 0x10], r14
cmp r13d, 1
jne 0x1402882f6
test byte [r15 + 0x32], 0x20
jne 0x1402882f6
lea rcx, [rsp + 0x58]
mov rdx, r15
call fcn.140287d60
test eax, eax
jne 0x14028834b
lea rcx, [rsp + 0x58]
call fcn.140286d90
test eax, eax
jne 0x1402888ff
xor edx, edx
mov rcx, r15
call fcn.140287650
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 0x50], 0
jne 0x140288904
cmp qword [r15 + 0x10], 0
je 0x140288357
movzx edx, word [r15 + 0x30]
mov rcx, r15
inc dx
call fcn.140287650
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 0x50], 0
jne 0x140288904
jmp 0x140288350
mov r8, qword [rsp + 0x38]
cmp qword [r15 + 0x10], 0
jne 0x140288369
test dword [r8 + 0x2c], 0x20000
je 0x140288369
mov qword [r15 + 0x28], 0xffffffffffffffff
cmp dword [r12 + 0x50], 0
jne 0x140288904
cmp byte [r8 + 0x50], 0
jne 0x140288904
cmp byte [r15 + 0x38], 2
mov r10d, 0x400
jb 0x14028846f
test r14, r14
je 0x14028846f
test word [r8 + 0x4c], r10w
jne 0x14028846f
lea rcx, [r15 + 0x54]
mov rdx, r14
call fcn.1402800a0
mov rdx, qword [rsp + 0x68]
mov rbx, rax
test rdx, rdx
je 0x1402883ca
lea rcx, [r15 + 0x54]
call fcn.1402800a0
or rbx, rax
cmp byte [r15 + 0x38], 2
jb 0x140288464
mov r11, qword [r15 + 8]
mov r10, qword [rsp + 0x60]
nop
movzx r9d, byte [r15 + 0x38]
lea rax, [r9 + r9*4]
add rax, rax
mov rdx, qword [r15 + rax*8 + 0x330]
movzx eax, byte [rdx + 0x10]
imul rcx, rax, 0x78
test byte [rcx + r11 + 0x44], 8
je 0x14028845f
test di, di
jne 0x140288412
test dword [rdx + 0x28], 0x1000
je 0x14028845f
mov r8, qword [rdx + 8]
test rbx, r8
jne 0x14028845f
mov rax, qword [r10 + 0x20]
movsxd rcx, dword [r10 + 0x14]
imul rdx, rcx, 0x38
add rdx, rax
cmp rax, rdx
jae 0x14028844f
nop
test qword [rax + 0x30], r8
je 0x14028843f
mov rcx, qword [rax]
test byte [rcx + 4], 1
je 0x14028844a
add rax, 0x38
cmp rax, rdx
jb 0x140288430
jmp 0x14028844f
cmp rax, rdx
jb 0x14028845f
dec r9b
dec r13d
mov byte [r15 + 0x38], r9b
cmp r9b, 2
jae 0x1402883e0
mov dword [rsp + 0x44], r13d
mov r8, qword [rsp + 0x38]
mov r10d, 0x400
mov rcx, qword [r15]
movsx eax, word [r15 + 0x30]
movzx edx, word [rsp + 0xd8]
add dword [rcx + 0x1d8], eax
test dl, 4
je 0x1402884ad
mov rcx, qword [r15 + 0x380]
test dword [rcx + 0x28], 0x1000
je 0x1402884ad
mov byte [r15 + 0x35], 1
mov rax, qword [rsi + 0x28]
test byte [rax + 0x48], 0x20
jne 0x1402884ad
and dword [rcx + 0x28], 0xffffffbf
xor edi, edi
test r13d, r13d
jle 0x14028882f
mov r9d, dword [rsp + 0xf0]
mov eax, r13d
lea r12, [r15 + 0x380]
mov qword [rsp + 0x50], rax
nop
movzx eax, byte [r12 - 0x1c]
mov rbp, 0xfffffffffff0bdc0
imul r13, rax, 0x78
add r13, rsi
mov esi, 0xfff0bdc0
mov rbx, qword [r13 + 0x28]
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x14028852b
movsxd rax, dword [r8 + 0x28]
mov esi, edi
mov rbp, rdi
test eax, eax
jle 0x14028852b
mov rdx, rax
mov rax, qword [r8 + 0x20]
add rax, 0x18
nop
cmp qword [rax], rcx
je 0x140288523
inc rbp
inc esi
add rax, 0x20
cmp rbp, rdx
jl 0x140288510
movzx edx, word [rsp + 0xd8]
movzx ecx, byte [rbx + 0x48]
mov r14, qword [r12]
test cl, 2
jne 0x14028869a
cmp qword [rbx + 0x18], 0
jne 0x14028869a
mov eax, dword [r14 + 0x28]
test r10d, eax
je 0x1402885fe
mov rbx, qword [rbx + 0x60]
test rbx, rbx
je 0x14028856e
nop dword [rax]
cmp qword [rbx], r8
je 0x14028856e
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140288560
mov r8d, dword [r13 + 0x50]
mov rcx, qword [rsp + 0x30]
xor r9d, r9d
mov edx, 0x94
mov dword [rsp + 0x20], edi
call fcn.140237cb0
mov r10, qword [rsp + 0x30]
mov r8, qword [r10 + 8]
mov rcx, qword [r10]
test r8, r8
je 0x140288721
cmp byte [rcx + 0x50], 0
jne 0x140288721
test eax, eax
jns 0x1402885b1
mov eax, dword [r10 + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140238280
mov r9d, dword [rsp + 0xf0]
mov r10, qword [rsp + 0x30]
xor eax, eax
mov qword [rdi + 0x10], rax
test rbx, rbx
jne 0x1402885ee
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], al
jmp 0x14028869f
mov qword [rdi + 0x10], rbx
mov byte [rdi + 1], 0xf6
inc dword [rbx + 0x18]
jmp 0x14028869f
test cl, 0x10
jne 0x14028869a
test al, 0x40
jne 0x1402886f1
test dl, 0x10
jne 0x1402886f1
cmp byte [r15 + 0x35], 0
mov ecx, 0x34
je 0x140288631
mov eax, dword [r13 + 0x50]
mov ecx, 0x35
mov dword [r15 + 0x4c], eax
mov edx, dword [r13 + 0x50]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0xc0]
mov r9, rbx
mov r8d, esi
call fcn.1402647f0
cmp byte [r15 + 0x35], 0
jne 0x140288692
cmp word [rbx + 0x42], 0x40
jge 0x140288692
test byte [rbx + 0x48], 0x20
jne 0x140288692
mov rax, qword [r13 + 0x68]
mov ecx, edi
test rax, rax
je 0x140288677
nop dword [rax + rax]
inc ecx
shr rax, 1
jne 0x140288670
mov rax, qword [rsp + 0x30]
movsxd r8, ecx
mov r9d, 0xfffffff2
mov edx, dword [rax + 0x3c]
mov rcx, rax
dec edx
call fcn.1402384d0
mov r9d, dword [rsp + 0xf0]
mov r10, qword [rsp + 0x30]
mov rdi, qword [rsp + 0xc0]
test dword [r14 + 0x28], 0x200
je 0x14028876b
cmp byte [r15 + 0x35], 0
mov rbx, qword [r14 + 0x20]
mov edx, 0x34
je 0x14028872e
mov rax, qword [r13 + 0x28]
mov r8d, r9d
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1402886e6
cmp rcx, rbx
je 0x1402886e6
mov rcx, qword [rcx + 0x28]
inc r8d
test rcx, rcx
jne 0x1402886d5
mov edx, 0x35
mov dword [r15 + 0x50], r8d
jmp 0x14028874b
mov rax, qword [rbx]
mov rdi, qword [rsp + 0xc0]
mov r8d, dword [rbx + 0x3c]
mov rcx, rdi
xor r9d, r9d
mov edx, esi
mov qword [rsp + 0x20], rax
call fcn.140253ef0
mov r9d, dword [rsp + 0xf0]
mov r10, qword [rsp + 0x30]
jmp 0x1402886a7
mov r9d, dword [rsp + 0xf0]
jmp 0x14028869f
test r9d, r9d
je 0x140288740
cmp word [rsp + 0x40], 0
je 0x140288740
mov r8d, r9d
jmp 0x14028874b
mov r8d, dword [rdi + 0x54]
lea eax, [r8 + 1]
mov dword [rdi + 0x54], eax
mov dword [r12 - 0x38], r8d
mov r9d, dword [rbx + 0x58]
mov rcx, r10
mov dword [rsp + 0x20], esi
call fcn.140237cb0
mov rdx, rbx
mov rcx, rdi
call fcn.1402385e0
test esi, esi
js 0x1402887c7
mov rax, qword [rdi + 0x1c0]
mov ecx, esi
mov r8, rdi
test rax, rax
cmovne r8, rax
mov eax, 1
shl eax, cl
mov ecx, dword [r8 + 0x16c]
test eax, ecx
jne 0x1402887c7
or ecx, eax
mov rax, qword [r8]
mov rdx, rbp
mov dword [r8 + 0x16c], ecx
mov rax, qword [rax + 0x20]
shl rdx, 5
mov rdx, qword [rax + rdx + 0x18]
mov eax, dword [rdx]
mov dword [r8 + rbp*4 + 0x170], eax
cmp esi, 1
jne 0x1402887c7
mov rcx, r8
call fcn.14025a630
movsxd rax, dword [r15 + 0x54]
xor edi, edi
mov ecx, edi
test eax, eax
jle 0x1402887f0
mov edx, dword [r13 + 0x50]
mov r8, rax
lea rax, [r15 + 0x58]
nop
cmp dword [rax], edx
je 0x1402887f0
inc rcx
add rax, 4
cmp rcx, r8
jl 0x1402887e0
mov r8, qword [rsp + 0x38]
mov r9d, dword [rsp + 0xf0]
mov rsi, qword [rsp + 0xc8]
movzx edx, word [rsp + 0xd8]
add r12, 0x50
dec qword [rsp + 0x50]
mov r10d, 0x400
jne 0x1402884d0
mov r12, qword [rsp + 0xc0]
mov r13d, dword [rsp + 0x44]
mov rbp, qword [rsp + 0x30]
mov eax, dword [rbp + 0x3c]
mov dword [r15 + 0x3c], eax
cmp byte [r8 + 0x50], 0
jne 0x140288904
test r13d, r13d
jle 0x1402888fa
lea rbx, [r15 + 0x364]
nop word [rax + rax]
mov rax, qword [rbx + 0x1c]
test dword [rax + 0x28], 0x4000
je 0x1402888a4
movzx eax, byte [rbx]
mov r9, qword [rsp + 0x48]
lea rdx, [rbx - 0x24]
imul r8, rax, 0x78
add r8, 8
mov qword [rsp + 0x20], rdx
lea rdx, [r15 + 0x158]
add r8, rsi
mov rcx, r12
call fcn.140282270
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 0x50], 0
jne 0x140288904
movzx ecx, word [rsp + 0xd8]
movzx eax, byte [rbx]
lea r8, [rbx - 0x24]
mov word [rsp + 0x28], cx
mov r9d, edi
mov rdx, rsi
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.140283840
mov eax, dword [rbp + 0x3c]
mov r8, qword [rsp + 0x48]
mov edx, edi
mov rcx, r15
mov dword [rbx - 4], eax
call fcn.140283b80
inc edi
add rbx, 0x50
mov qword [rsp + 0x48], rax
mov eax, dword [rbx - 0x5c]
mov dword [r15 + 0x40], eax
cmp edi, r13d
jl 0x140288860
mov rax, r15
jmp 0x14028891d
mov r8, qword [rsp + 0x38]
mov eax, dword [r15 + 0x48]
mov rdx, r15
mov rcx, r8
mov dword [r12 + 0x1d8], eax
call fcn.140285480
xor eax, eax
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xd0]
mov r15, qword [rsp + 0x80]
add rsp, 0x90
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret