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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe0
mov r15, qword [rcx + 0x18]
mov eax, 0x40
mov rdi, r8
cmp word [rdx], ax
mov rbp, rdx
mov r13, rcx
mov qword [rsp + 0x50], r15
jle 0x6984cc
lea rdx, str.at_most__d_tables_in_a_join
mov r8d, eax
call fcn.00660b2c
jmp 0x698b9a
movsx eax, word [rdx]
mov r14, qword [rcx]
lea ebx, [rax + rax*4]
mov rcx, r14
mov qword [rsp + 0x70], r14
shl ebx, 4
add ebx, 0x37
and ebx, 0xfffffff8
lea edx, [rbx + 0x20c]
call fcn.0065f88c
xor esi, esi
mov r12, rax
mov qword [rsp + 0xc8], rax
cmp byte [r14 + 0x2a], sil
jne 0x698b8f
movsx ecx, word [rbp]
mov qword [rax], r13
mov qword [rax + 0x10], rbp
mov dword [rax + 0x24], ecx
mov rcx, r15
call fcn.0066e334
test byte [rsp + 0x140], 8
movsxd r15, ebx
mov dword [r12 + 0x20], eax
lea eax, [rsi - 1]
mov r8d, 0x104
cmovne eax, dword [rsp + 0x148]
add r15, r12
xor edx, edx
mov dword [r12 + 0xc], eax
movzx eax, byte [rsp + 0x140]
lea rbx, [r15 + 0x108]
mov rcx, rbx
mov qword [r12 + 0x28], r15
mov word [r12 + 8], ax
call fcn.006aba40
lea rax, [r15 + 0x28]
mov qword [r15], r13
mov qword [r15 + 0x20], rax
lea rax, [0x0067b98c]
mov qword [r15 + 8], rbx
mov dword [r15 + 0x14], esi
mov dword [r15 + 0x18], 4
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x98], r13
cmp rdi, rsi
je 0x6985ba
lea rcx, [rsp + 0x88]
mov rdx, rdi
call fcn.00676b64
mov r8d, 0x43
mov rdx, rdi
mov rcx, r15
call fcn.0069505c
cmp rdi, rsi
je 0x6985fd
cmp word [rbp], si
je 0x6985e7
mov edx, 3
mov rcx, rdi
call fcn.00679a14
cmp eax, esi
je 0x6985fd
mov r8d, dword [r12 + 0x20]
mov r9d, 8
mov rdx, rdi
mov rcx, r13
call fcn.0067be90
cmp si, word [rbp]
mov r8d, esi
jge 0x698625
lea rdx, [rbp + 0x34]
mov eax, dword [rdx]
movsxd rcx, dword [rbx]
inc r8d
mov dword [rbx + rcx*4 + 4], eax
inc dword [rbx]
movsx eax, word [rbp]
add rdx, 0x58
cmp r8d, eax
jl 0x69860a
mov rdx, r15
mov rcx, rbp
call fcn.00695484
cmp byte [r14 + 0x2a], sil
jne 0x698b8f
movsx ebx, word [rbp]
or rdi, 0xffffffffffffffff
lea r14, [r12 + 0x30]
cmp ebx, esi
mov ecx, edi
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x128], esi
mov dword [rsp + 0x120], esi
mov qword [rsp + 0x78], r14
mov dword [rsp + 0x44], ecx
mov qword [rsp + 0x68], rsi
jle 0x698967
xor edx, edx
lea rcx, [rsp + 0x88]
mov dword [rsp + 0x40], esi
lea r8d, [rdx + 0x20]
mov dword [rsp + 0x4c], esi
call fcn.006aba40
movsxd r8, dword [rsp + 0x128]
mov r10, qword [rsp + 0x68]
movabs rax, 0x7fffffffffffffff
mov dword [rsp + 0x48], r8d
mov r11, r10
mov qword [rsp + 0x98], rax
mov rax, r8
mov qword [rsp + 0x80], r10
imul rax, rax, 0x58
cmp r8d, ebx
lea rcx, [rax + rbp + 8]
jge 0x6988b3
mov r14, qword [rsp + 0x138]
lea rax, [r10 + r10*4]
add rax, rax
lea rax, [r12 + rax*8 + 0x78]
mov r12, rcx
mov qword [rsp + 0x58], rax
test byte [r12 + 0x29], 0xa
mov ebx, esi
setne bl
cmp dword [rsp + 0x4c], esi
je 0x698706
cmp ebx, esi
jne 0x6988a6
mov edx, dword [r12 + 0x2c]
lea rcx, [r15 + 0x108]
call fcn.006950c0
mov r8, qword [rsp + 0x60]
test r8, rax
jne 0x69873e
cmp r11, r10
jne 0x69887b
inc dword [rsp + 0x128]
inc r10
mov qword [rsp + 0x68], r10
jmp 0x69887b
mov rax, qword [r12 + 0x18]
test byte [rax + 0x3a], 0x10
je 0x6987ea
cmp r14, rsi
je 0x698757
mov rcx, qword [r14]
jmp 0x69875a
mov rcx, rsi
mov rdx, qword [rsp + 0x58]
cmp dword [rsp + 0x120], esi
mov eax, esi
mov qword [rsp + 0x30], rdx
sete al
mov r9, r8
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov rcx, r13
mov r8, r12
mov rdx, r15
call fcn.006964dc
mov rdx, qword [rsp + 0x58]
mov ecx, 0x8000000
mov rdx, qword [rdx]
mov qword [rsp + 0xb8], rax
mov dword [rsp + 0xa8], ecx
mov qword [rsp + 0xb0], rdx
cmp rdx, rsi
je 0x6987c7
cmp dword [rdx + 0x3c], esi
mov r8d, 0x9000000
cmovne ecx, r8d
mov dword [rsp + 0xa8], ecx
movabs rcx, 0x3fffffffffffffff
mov dword [rsp + 0xac], esi
cmp rax, rcx
jle 0x69882f
mov rax, rcx
mov qword [rsp + 0xb8], rcx
jmp 0x69882f
movsxd rax, dword [rsp + 0x120]
cmp rax, rsi
jne 0x698801
cmp r14, rsi
je 0x698801
mov rax, qword [r14]
jmp 0x698804
mov rax, rsi
lea rcx, [rsp + 0xa8]
mov r9, r8
mov rdx, r15
mov qword [rsp + 0x28], rcx
mov rcx, r13
mov r8, r12
mov qword [rsp + 0x20], rax
call fcn.006967d4
mov rax, qword [rsp + 0xb8]
cmp dword [rsp + 0x4c], esi
je 0x69883f
cmp rax, qword [rsp + 0x98]
jge 0x69886a
lea rcx, [rsp + 0x88]
lea rdx, [rsp + 0xa8]
mov r8d, 0x20
mov dword [rsp + 0x4c], 1
call fcn.006a4bf0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x40], eax
cmp ebx, esi
jne 0x6988a6
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x80]
mov edx, dword [rsp + 0x48]
movsx eax, word [rbp]
add qword [rsp + 0x58], 0x50
inc edx
inc r11
add r12, 0x58
cmp edx, eax
mov dword [rsp + 0x48], edx
mov qword [rsp + 0x80], r11
jl 0x6986ed
mov r12, qword [rsp + 0xc8]
lea r14, [r12 + 0x30]
mov r11d, dword [rsp + 0x88]
bt r11d, 0x18
jae 0x6988cd
mov rax, qword [rsp + 0x138]
mov qword [rax], rsi
movdqu xmm0, xmmword [rsp + 0x88]
mov rbx, qword [rsp + 0x78]
and dword [rsp + 0x44], r11d
and r11d, 0x70000
movdqu xmmword [rbx], xmm0
je 0x6988fa
mov eax, dword [r13 + 0x54]
mov dword [rbx + 0x18], eax
inc dword [r13 + 0x54]
jmp 0x6988fe
or dword [rbx + 0x18], 0xffffffff
movsxd r10, dword [rsp + 0x40]
lea rcx, [r15 + 0x108]
imul r10, r10, 0x58
mov edx, dword [r10 + rbp + 0x34]
call fcn.006950c0
not rax
and qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x40]
mov byte [rbx + 0x2c], al
mov r8, qword [r10 + rbp + 0x58]
cmp r8, rsi
je 0x69893a
cmp r11d, esi
je 0x698a33
mov eax, dword [rsp + 0x120]
add rbx, 0x50
inc eax
mov qword [rsp + 0x78], rbx
movsx ebx, word [rbp]
cmp eax, ebx
mov dword [rsp + 0x120], eax
jl 0x698672
mov ecx, dword [rsp + 0x44]
or rdi, 0xffffffffffffffff
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x2a], sil
jne 0x698b8c
and ecx, 0x4000000
je 0x69898e
mov rax, qword [rsp + 0x138]
cmp rax, rsi
je 0x69898e
mov qword [rax], rsi
test byte [rsp + 0x140], 4
je 0x6989a7
cmp ecx, esi
je 0x6989a7
btr dword [r14], 0x17
mov byte [r12 + 0xa], 1
mov edx, edi
mov rcx, r13
call fcn.00682d28
cmp si, word [rbp]
mov r15d, esi
jge 0x698b42
movzx edi, byte [r14 + 0x2c]
mov rcx, qword [r13]
imul rdi, rdi, 0x58
mov rbx, qword [rdi + rbp + 0x20]
mov rdx, qword [rbx + 0x88]
call fcn.0068adcc
test byte [rbx + 0x3a], 2
mov edx, eax
mov dword [rsp + 0x120], eax
jne 0x698b2a
cmp qword [rbx + 0x30], rsi
jne 0x698b2a
bt dword [r14], 0x1b
jae 0x698a4f
mov r8d, dword [rdi + rbp + 0x34]
mov rcx, qword [rsp + 0x50]
mov rbx, qword [rbx + 0x68]
xor r9d, r9d
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x21]
call fcn.0066e2a0
mov rcx, qword [rsp + 0x50]
mov r9d, 0xfffffff6
mov edx, eax
mov r8, rbx
jmp 0x698abb
mov r8, qword [r8]
lea rdx, str.cannot_use_index:__s
mov rcx, r13
call fcn.00660b2c
mov r14, qword [rsp + 0x70]
jmp 0x698b8f
bt dword [r14], 0x17
jb 0x698ac0
test byte [rsp + 0x140], 0x10
jne 0x698ac0
mov al, byte [r12 + 0xa]
mov r8d, edx
mov edx, dword [rdi + rbp + 0x34]
neg al
mov r9, rbx
sbb ecx, ecx
and ecx, 0xfffffffc
add ecx, 0xe
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.006839cc
cmp byte [r12 + 0xa], sil
jne 0x698ac0
cmp dword [rbx + 0x14], 0x40
jge 0x698ac0
mov rax, qword [rdi + rbp + 0x48]
mov ecx, esi
jmp 0x698aa0
shr rax, 1
inc ecx
cmp rax, rsi
jne 0x698a9b
mov rbx, qword [rsp + 0x50]
movsxd r8, ecx
mov r9d, 0xfffffff2
mov edx, dword [rbx + 0x18]
mov rcx, rbx
dec edx
call fcn.0066e6fc
test dword [r14], 0x70000
mov eax, dword [rdi + rbp + 0x34]
mov dword [r14 + 0x14], eax
je 0x698b1b
mov rbx, qword [r14 + 8]
mov rcx, r13
mov rdx, rbx
call fcn.00683134
mov r9d, dword [rbx + 0x28]
mov rbx, qword [rsp + 0x50]
mov r8d, dword [r14 + 0x18]
mov rdi, rax
mov eax, dword [rsp + 0x120]
mov edx, reloc.WS2_32.dll_ntohl
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.0066e2a0
mov r9d, 0xfffffff0
mov r8, rdi
mov edx, eax
mov rcx, rbx
call fcn.0066e6fc
mov edx, dword [rsp + 0x120]
mov rcx, r13
call fcn.00682d28
movsx eax, word [rbp]
inc r15d
add r14, 0x50
cmp r15d, eax
jl 0x6989be
or rdi, 0xffffffffffffffff
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x18]
mov dword [r12 + 0x18], eax
cmp si, word [rbp]
jge 0x698b87
lea rbx, [r12 + 0x54]
mov r8b, byte [rsp + 0x140]
mov r9, rdi
mov edx, esi
mov rcx, r12
call fcn.006974dc
inc esi
mov rdi, rax
mov eax, dword [rbx]
add rbx, 0x50
mov dword [r12 + 0x1c], eax
movsx eax, word [rbp]
cmp esi, eax
jl 0x698b5a
mov rax, r12
jmp 0x698b9c
mov r14, rax
mov rdx, r12
mov rcx, r14
call fcn.006983f0
xor eax, eax
mov rbx, qword [rsp + 0x130]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret