Function at 0x1402858d0
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 0x140285939
mov edx, 0xfbff
and cx, dx
mov r13d, dword [rax]
mov word [rsp + 0xd8], cx
cmp r13d, 0x40
jle 0x140285971
lea rdx, str.at_most__d_tables_in_a_join
mov r8d, 0x40
mov rcx, r12
call fcn.140218760
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.140215e40
mov r15, rax
test rax, rax
je 0x1402859dc
movsxd r8, edi
xor edx, edx
mov rcx, rax
call fcn.1402bfa30
cmp byte [r14 + 0x50], 0
je 0x1402859f3
mov rdx, r15
mov rcx, r14
call fcn.140215b70
jmp 0x14028622b
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.140235840
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.14027d870
mov edi, ebx
cmp dword [rsi + 0x14], ebx
jle 0x140285afd
test r13d, r13d
je 0x140285acd
mov rcx, qword [rsi + 0x20]
mov rcx, qword [rcx + rbx]
call fcn.140249390
test eax, eax
je 0x140285af0
mov rdx, qword [rsi + 0x20]
mov r8d, dword [r15 + 0x44]
mov r9d, 8
mov rdx, qword [rdx + rbx]
mov rcx, r12
call fcn.14024cbb0
mov rax, qword [rsi + 0x20]
or byte [rax + rbx + 0x1c], 4
inc edi
add rbx, 0x38
cmp edi, dword [rsi + 0x14]
jl 0x140285ab7
xor ebx, ebx
mov r10d, 0x400
test r13d, r13d
jne 0x140285b27
test rbp, rbp
je 0x140285b12
mov byte [r15 + 0x34], 1
movzx edi, word [rsp + 0xd8]
test r10w, di
je 0x140285b2f
mov byte [r15 + 0x37], 1
jmp 0x140285b2f
movzx edi, word [rsp + 0xd8]
mov rsi, qword [rsp + 0xc8]
mov r8d, ebx
cmp dword [rsi], 0
jle 0x140285b6b
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 0x140285b50
lea rax, [r15 + 0x158]
mov ebx, dword [rax + 0x14]
dec ebx
js 0x140285ba3
nop dword [rax]
lea rdx, [r15 + 0x158]
mov r8d, ebx
mov rcx, rsi
call fcn.14027ed00
dec ebx
jns 0x140285b80
lea rax, [r15 + 0x158]
mov r10d, 0x400
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 0x50], 0
jne 0x140286214
mov ebx, 0x200
and di, r10w
je 0x140285be8
mov r9, r14
mov r8, rax
mov rdx, rsi
mov rcx, r12
call fcn.14027f8e0
test eax, eax
je 0x140285bda
mov byte [r15 + 0x37], 1
jmp 0x140285be8
test rbp, rbp
jne 0x140285be8
or word [r15 + 0x32], bx
mov qword [r15 + 0x10], r14
cmp r13d, 1
jne 0x140285c06
test byte [r15 + 0x32], 0x20
jne 0x140285c06
lea rcx, [rsp + 0x58]
mov rdx, r15
call fcn.140285670
test eax, eax
jne 0x140285c5b
lea rcx, [rsp + 0x58]
call fcn.1402846a0
test eax, eax
jne 0x14028620f
xor edx, edx
mov rcx, r15
call fcn.140284f60
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 0x50], 0
jne 0x140286214
cmp qword [r15 + 0x10], 0
je 0x140285c67
movzx edx, word [r15 + 0x30]
mov rcx, r15
inc dx
call fcn.140284f60
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 0x50], 0
jne 0x140286214
jmp 0x140285c60
mov r8, qword [rsp + 0x38]
cmp qword [r15 + 0x10], 0
jne 0x140285c79
test dword [r8 + 0x2c], 0x20000
je 0x140285c79
mov qword [r15 + 0x28], 0xffffffffffffffff
cmp dword [r12 + 0x50], 0
jne 0x140286214
cmp byte [r8 + 0x50], 0
jne 0x140286214
cmp byte [r15 + 0x38], 2
mov r10d, 0x400
jb 0x140285d7f
test r14, r14
je 0x140285d7f
test word [r8 + 0x4c], r10w
jne 0x140285d7f
lea rcx, [r15 + 0x54]
mov rdx, r14
call fcn.14027d9b0
mov rdx, qword [rsp + 0x68]
mov rbx, rax
test rdx, rdx
je 0x140285cda
lea rcx, [r15 + 0x54]
call fcn.14027d9b0
or rbx, rax
cmp byte [r15 + 0x38], 2
jb 0x140285d74
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 0x140285d6f
test di, di
jne 0x140285d22
test dword [rdx + 0x28], 0x1000
je 0x140285d6f
mov r8, qword [rdx + 8]
test rbx, r8
jne 0x140285d6f
mov rax, qword [r10 + 0x20]
movsxd rcx, dword [r10 + 0x14]
imul rdx, rcx, 0x38
add rdx, rax
cmp rax, rdx
jae 0x140285d5f
nop
test qword [rax + 0x30], r8
je 0x140285d4f
mov rcx, qword [rax]
test byte [rcx + 4], 1
je 0x140285d5a
add rax, 0x38
cmp rax, rdx
jb 0x140285d40
jmp 0x140285d5f
cmp rax, rdx
jb 0x140285d6f
dec r9b
dec r13d
mov byte [r15 + 0x38], r9b
cmp r9b, 2
jae 0x140285cf0
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 0x140285dbd
mov rcx, qword [r15 + 0x380]
test dword [rcx + 0x28], 0x1000
je 0x140285dbd
mov byte [r15 + 0x35], 1
mov rax, qword [rsi + 0x28]
test byte [rax + 0x48], 0x20
jne 0x140285dbd
and dword [rcx + 0x28], 0xffffffbf
xor edi, edi
test r13d, r13d
jle 0x14028613f
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 0x140285e3b
movsxd rax, dword [r8 + 0x28]
mov esi, edi
mov rbp, rdi
test eax, eax
jle 0x140285e3b
mov rdx, rax
mov rax, qword [r8 + 0x20]
add rax, 0x18
nop
cmp qword [rax], rcx
je 0x140285e33
inc rbp
inc esi
add rax, 0x20
cmp rbp, rdx
jl 0x140285e20
movzx edx, word [rsp + 0xd8]
movzx ecx, byte [rbx + 0x48]
mov r14, qword [r12]
test cl, 2
jne 0x140285faa
cmp qword [rbx + 0x18], 0
jne 0x140285faa
mov eax, dword [r14 + 0x28]
test r10d, eax
je 0x140285f0e
mov rbx, qword [rbx + 0x60]
test rbx, rbx
je 0x140285e7e
nop dword [rax]
cmp qword [rbx], r8
je 0x140285e7e
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140285e70
mov r8d, dword [r13 + 0x50]
mov rcx, qword [rsp + 0x30]
xor r9d, r9d
mov edx, 0x94
mov dword [rsp + 0x20], edi
call fcn.1402355c0
mov r10, qword [rsp + 0x30]
mov r8, qword [r10 + 8]
mov rcx, qword [r10]
test r8, r8
je 0x140286031
cmp byte [rcx + 0x50], 0
jne 0x140286031
test eax, eax
jns 0x140285ec1
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.140235b90
mov r9d, dword [rsp + 0xf0]
mov r10, qword [rsp + 0x30]
xor eax, eax
mov qword [rdi + 0x10], rax
test rbx, rbx
jne 0x140285efe
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], al
jmp 0x140285faf
mov qword [rdi + 0x10], rbx
mov byte [rdi + 1], 0xf6
inc dword [rbx + 0x18]
jmp 0x140285faf
test cl, 0x10
jne 0x140285faa
test al, 0x40
jne 0x140286001
test dl, 0x10
jne 0x140286001
cmp byte [r15 + 0x35], 0
mov ecx, 0x34
je 0x140285f41
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.140262100
cmp byte [r15 + 0x35], 0
jne 0x140285fa2
cmp word [rbx + 0x42], 0x40
jge 0x140285fa2
test byte [rbx + 0x48], 0x20
jne 0x140285fa2
mov rax, qword [r13 + 0x68]
mov ecx, edi
test rax, rax
je 0x140285f87
nop dword [rax + rax]
inc ecx
shr rax, 1
jne 0x140285f80
mov rax, qword [rsp + 0x30]
movsxd r8, ecx
mov r9d, 0xfffffff2
mov edx, dword [rax + 0x3c]
mov rcx, rax
dec edx
call fcn.140235de0
mov r9d, dword [rsp + 0xf0]
mov r10, qword [rsp + 0x30]
mov rdi, qword [rsp + 0xc0]
test dword [r14 + 0x28], 0x200
je 0x14028607b
cmp byte [r15 + 0x35], 0
mov rbx, qword [r14 + 0x20]
mov edx, 0x34
je 0x14028603e
mov rax, qword [r13 + 0x28]
mov r8d, r9d
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140285ff6
cmp rcx, rbx
je 0x140285ff6
mov rcx, qword [rcx + 0x28]
inc r8d
test rcx, rcx
jne 0x140285fe5
mov edx, 0x35
mov dword [r15 + 0x50], r8d
jmp 0x14028605b
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.140251800
mov r9d, dword [rsp + 0xf0]
mov r10, qword [rsp + 0x30]
jmp 0x140285fb7
mov r9d, dword [rsp + 0xf0]
jmp 0x140285faf
test r9d, r9d
je 0x140286050
cmp word [rsp + 0x40], 0
je 0x140286050
mov r8d, r9d
jmp 0x14028605b
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.1402355c0
mov rdx, rbx
mov rcx, rdi
call fcn.140235ef0
test esi, esi
js 0x1402860d7
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 0x1402860d7
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 0x1402860d7
mov rcx, r8
call fcn.140257f40
movsxd rax, dword [r15 + 0x54]
xor edi, edi
mov ecx, edi
test eax, eax
jle 0x140286100
mov edx, dword [r13 + 0x50]
mov r8, rax
lea rax, [r15 + 0x58]
nop
cmp dword [rax], edx
je 0x140286100
inc rcx
add rax, 4
cmp rcx, r8
jl 0x1402860f0
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 0x140285de0
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 0x140286214
test r13d, r13d
jle 0x14028620a
lea rbx, [r15 + 0x364]
nop word [rax + rax]
mov rax, qword [rbx + 0x1c]
test dword [rax + 0x28], 0x4000
je 0x1402861b4
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.14027fb80
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 0x50], 0
jne 0x140286214
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.140281150
mov eax, dword [rbp + 0x3c]
mov r8, qword [rsp + 0x48]
mov edx, edi
mov rcx, r15
mov dword [rbx - 4], eax
call fcn.140281490
inc edi
add rbx, 0x50
mov qword [rsp + 0x48], rax
mov eax, dword [rbx - 0x5c]
mov dword [r15 + 0x40], eax
cmp edi, r13d
jl 0x140286170
mov rax, r15
jmp 0x14028622d
mov r8, qword [rsp + 0x38]
mov eax, dword [r15 + 0x48]
mov rdx, r15
mov rcx, r8
mov dword [r12 + 0x1d8], eax
call fcn.140282d90
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