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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0xe0
mov rax, qword [0x18012a010]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov r13, qword [rsp + 0x130]
mov rdi, r9
mov rax, qword [rcx + 0x10]
xor r12d, r12d
mov rsi, qword [rcx]
mov rbp, r8
mov qword [rsp + 0x50], rdx
mov r9, rdx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0xa8], r12
test rdi, rdi
je 0x18007dae9
cmp dword [rdi], 0x40
cmovge rdi, r12
movzx r8d, word [rsp + 0x138]
mov r10d, 0xfbff
mov eax, dword [r9]
and r8w, r10w
mov qword [rsp + 0x98], rdi
movzx edx, byte [rsi + 0x4c]
and dl, 0x20
cmove r8w, word [rsp + 0x138]
mov word [rsp + 0x30], r8w
cmp eax, 0x40
jle 0x18007db3c
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
call fcn.1800096d0
xor eax, eax
jmp 0x18007e65f
test r8b, 0x40
mov qword [rsp + 0xd8], rbx
mov ecx, 1
mov qword [rsp + 0xd0], r14
cmovne eax, ecx
mov qword [rsp + 0xc8], r15
mov dword [rsp + 0x44], eax
mov rcx, rsi
lea eax, [rax + rax*4]
shl eax, 4
add eax, 0x347
and eax, 0xfffffff8
movsxd r14, eax
lea rdx, [r14 + 0x60]
call fcn.180006a30
mov qword [rsp + 0x80], rax
mov r15, rax
test rax, rax
je 0x18007db9f
lea r8, [r14 + 0x60]
xor edx, edx
mov rcx, rax
call fcn.1800d2e20
cmp byte [rsi + 0x50], r12b
je 0x18007dc02
test r15, r15
je 0x18007e645
cmp qword [rsi + 0x320], r12
je 0x18007dbc7
mov rdx, r15
mov rcx, rsi
call fcn.1800066e0
jmp 0x18007e645
cmp r15, qword [rsi + 0x168]
jb 0x18007dbf5
cmp r15, qword [rsi + 0x170]
jae 0x18007dbf5
mov rax, qword [rsi + 0x160]
mov qword [r15], rax
dec dword [rsi + 0x14c]
mov qword [rsi + 0x160], r15
jmp 0x18007e645
mov rcx, r15
call fcn.180006630
jmp 0x18007e645
mov eax, dword [rsp + 0x44]
mov r8, 0xffffffffffffffff
mov rsi, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x38]
mov qword [r15 + 0x4c], r8
mov byte [r15 + 0x39], al
mov rax, qword [rsp + 0x50]
mov qword [r15 + 8], rax
mov qword [r15], rdx
mov qword [r15 + 0x10], rdi
mov qword [r15 + 0x18], r13
mov rsi, qword [rsi + 0x30]
mov qword [rsp + 0x78], r8
movsxd rbx, dword [rsi + 0x78]
lea eax, [rbx + 1]
mov dword [rsi + 0x78], eax
lea eax, [rbx - 1]
test ebx, eax
jne 0x18007dc7d
mov rdx, qword [rsi + 0x80]
lea eax, [rbx*2 + 1]
mov rcx, qword [rsi]
movsxd r8, eax
shl r8, 2
call fcn.180006be0
mov rdx, qword [rsp + 0x38]
mov r8, 0xffffffffffffffff
mov qword [rsi + 0x80], rax
mov rcx, qword [rsi + 0x80]
test rcx, rcx
je 0x18007dc8d
mov dword [rcx + rbx*4], r8d
movzx eax, word [rsp + 0x30]
lea rsi, [r15 + 0x158]
mov word [r15 + 0x32], ax
lea rcx, [r14 + r15]
not ebx
mov dword [r15 + 0x40], ebx
mov dword [r15 + 0x44], ebx
lea rbx, [r15 + 0x54]
mov eax, dword [rdx + 0x1d8]
mov dword [r15 + 0x48], eax
lea rax, [rcx + 0x40]
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0xa0], rcx
mov qword [rcx + 0x30], rax
lea rax, [rsi + 0x28]
mov dword [rcx + 0x2c], 0x40000
mov dword [rcx + 0x28], r12d
mov dword [rbx], r12d
mov qword [rsi + 0x20], rax
mov qword [rsi], r15
mov qword [rsi + 8], r12
mov dword [rsi + 0x14], r12d
mov dword [rsi + 0x18], 8
mov byte [rsi + 0x10], 0x48
test rbp, rbp
je 0x18007dd3c
cmp byte [rbp], 0x48
mov rcx, rsi
je 0x18007dd21
xor r8d, r8d
mov rdx, rbp
call fcn.180074920
jmp 0x18007dd3c
mov rdx, qword [rbp + 0x10]
mov r8b, 0x48
call fcn.180074b70
mov rdx, qword [rbp + 0x18]
mov r8b, 0x48
mov rcx, rsi
call fcn.180074b70
mov rax, qword [rsp + 0x90]
mov esi, r12d
mov r14, qword [rsp + 0x38]
mov ebp, dword [rsp + 0x44]
cmp dword [rax + 0x14], r12d
jle 0x18007ddc4
mov rbx, r12
nop dword [rax]
test ebp, ebp
je 0x18007dd82
mov rax, qword [rax + 0x20]
mov edx, 2
mov rcx, qword [rbx + rax]
call fcn.18003c850
test eax, eax
je 0x18007ddad
mov rax, qword [rsp + 0x90]
mov rdx, qword [rax + 0x20]
mov r9d, 0x10
mov r8d, dword [r15 + 0x44]
mov rcx, r14
mov rdx, qword [rdx + rbx]
call fcn.180040870
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax + 0x20]
or byte [rcx + rbx + 0x1c], 4
mov rax, qword [rsp + 0x90]
inc esi
add rbx, 0x38
cmp esi, dword [rax + 0x14]
jl 0x18007dd60
lea rbx, [r15 + 0x54]
mov r9d, 0x400
test ebp, ebp
jne 0x18007dded
test rdi, rdi
je 0x18007ddda
movzx eax, byte [rdi]
mov byte [r15 + 0x34], al
movzx r12d, word [rsp + 0x30]
test r9w, r12w
je 0x18007ddf3
mov byte [r15 + 0x38], 1
jmp 0x18007ddf3
movzx r12d, word [rsp + 0x30]
mov r11, qword [rsp + 0x50]
xor esi, esi
mov r8d, esi
cmp dword [r11], esi
jle 0x18007de27
lea rdx, [r11 + 0x50]
nop word [rax + rax]
mov eax, dword [rdx]
lea rdx, [rdx + 0x78]
movsxd rcx, dword [rbx]
inc r8d
mov dword [rbx + rcx*4 + 4], eax
inc dword [rbx]
cmp r8d, dword [r11]
jl 0x18007de10
lea rax, [r15 + 0x158]
mov ebx, dword [rax + 0x14]
sub ebx, 1
js 0x18007de69
nop word [rax + rax]
mov r8d, ebx
lea rdx, [r15 + 0x158]
mov rcx, r11
call fcn.180075ca0
sub ebx, 1
mov r11, qword [rsp + 0x50]
jns 0x18007de40
lea rax, [r15 + 0x158]
mov r9d, 0x400
mov r10, qword [rsp + 0x58]
cmp byte [r10 + 0x50], sil
jne 0x18007e62a
and r12w, r9w
mov ebx, 0x200
mov word [rsp + 0x48], r12w
je 0x18007deb3
mov r9, r13
mov r8, rax
mov rdx, r11
mov rcx, r14
call fcn.180076720
test eax, eax
je 0x18007dea5
mov byte [r15 + 0x38], 1
jmp 0x18007deb3
test rdi, rdi
jne 0x18007deb3
or word [r15 + 0x32], bx
mov qword [r15 + 0x10], r13
cmp ebp, 1
jne 0x18007decd
lea rcx, [rsp + 0x88]
call fcn.18007d7a0
test eax, eax
jne 0x18007e049
mov r12, qword [rsp + 0x88]
xor r10b, r10b
mov rbp, qword [rsp + 0xa0]
mov rdi, rsi
mov r15, rsi
mov ebx, esi
mov r14d, esi
mov rax, qword [r12]
movzx edx, byte [r12 + 0x39]
mov rcx, qword [r12 + 8]
mov dword [rsp + 0x70], edx
mov r13, qword [rax]
lea rax, [rbp + 0x40]
mov qword [rbp + 0x30], rax
mov dword [rbp + 0x2c], 0x40000
mov dword [rbp + 0x28], esi
test edx, edx
je 0x18007dfe2
lea rsi, [rcx + 0x44]
nop
xor r11d, r11d
mov byte [rbp + 0x10], r14b
movsxd rax, dword [r12 + 0x54]
mov edx, r11d
mov ecx, r11d
test eax, eax
jle 0x18007df55
mov r8d, dword [rsi + 0xc]
mov r9, rax
lea rax, [r12 + 0x58]
cmp dword [rax], r8d
je 0x18007df91
inc edx
inc rcx
add rax, 4
cmp rcx, r9
jl 0x18007df42
mov rax, r11
mov qword [rbp + 8], rax
movzx ecx, byte [rsi]
movzx eax, cl
mov byte [rsp + 0x40], cl
or al, r10b
lea rcx, [rsp + 0x88]
test al, 0xa
mov rax, r15
cmove rax, rdi
mov rdi, rax
mov rax, qword [rsi - 0x1c]
mov rdx, rdi
test byte [rax + 0x48], 0x10
je 0x18007df9d
call fcn.18007b920
jmp 0x18007dfa2
mov ecx, edx
mov eax, 1
shl rax, cl
jmp 0x18007df58
call fcn.18007b220
mov ebx, eax
test eax, eax
jne 0x18007dfba
mov rdx, rdi
lea rcx, [rsp + 0x88]
call fcn.18007c0d0
mov ebx, eax
or r15, qword [rbp + 8]
test ebx, ebx
jne 0x18007dfe0
cmp byte [r13 + 0x50], bl
jne 0x18007dfe0
movzx r10d, byte [rsp + 0x40]
inc r14d
add rsi, 0x78
cmp r14d, dword [rsp + 0x70]
jl 0x18007df20
xor esi, esi
mov rdx, rbp
mov rcx, r13
call fcn.18007a280
mov r15, qword [rsp + 0x80]
test ebx, ebx
jne 0x18007e625
xor edx, edx
mov rcx, r15
call fcn.18007cde0
mov r10, qword [rsp + 0x58]
cmp byte [r10 + 0x50], bl
jne 0x18007e62a
cmp qword [r15 + 0x10], 0
je 0x18007e03c
movzx edx, word [r15 + 0x30]
mov rcx, r15
inc dx
call fcn.18007cde0
mov r10, qword [rsp + 0x58]
cmp byte [r10 + 0x50], bl
jne 0x18007e62a
mov r13, qword [rsp + 0x68]
movzx r12d, word [rsp + 0x48]
jmp 0x18007e04e
mov r10, qword [rsp + 0x58]
cmp qword [r15 + 0x10], 0
jne 0x18007e067
test dword [r10 + 0x2c], 0x20000
je 0x18007e067
mov qword [r15 + 0x28], 0xffffffffffffffff
mov r11, qword [rsp + 0x38]
cmp dword [r11 + 0x4c], 0
jne 0x18007e62f
cmp byte [r10 + 0x50], 0
jne 0x18007e62f
cmp byte [r15 + 0x39], 2
mov edx, 0x1000
jb 0x18007e1d5
test r13, r13
je 0x18007e1d5
mov eax, 0x400
test word [r10 + 0x4c], ax
jne 0x18007e1d5
cmp dword [r13], 0
mov r14, rsi
mov edi, esi
jle 0x18007e0e0
mov rbx, rsi
nop word [rax + rax]
mov rdx, qword [r13 + 8]
lea rcx, [r15 + 0x54]
mov rdx, qword [rbx + rdx]
call fcn.180074be0
or r14, rax
lea rbx, [rbx + 0x28]
inc edi
cmp edi, dword [r13]
jl 0x18007e0c0
mov rbp, qword [rsp + 0x98]
test rbp, rbp
je 0x18007e124
cmp dword [rbp], 0
mov rdi, rsi
jle 0x18007e11f
xor ebx, ebx
nop dword [rax + rax]
mov rdx, qword [rbp + 8]
lea rcx, [r15 + 0x54]
mov rdx, qword [rbx + rdx]
call fcn.180074be0
or rdi, rax
lea rbx, [rbx + 0x28]
inc esi
cmp esi, dword [rbp]
jl 0x18007e100
or r14, rdi
xor esi, esi
movzx eax, byte [r15 + 0x39]
cmp al, 2
jb 0x18007e1c6
mov r9, qword [r15 + 8]
movzx eax, al
lea rcx, [rax + rax*4]
add rcx, rcx
mov r8, qword [r15 + rcx*8 + 0x330]
movzx eax, byte [r8 + 0x10]
imul rcx, rax, 0x78
test byte [rcx + r9 + 0x44], 8
je 0x18007e1c6
test r12w, r12w
jne 0x18007e169
mov eax, 0x1000
test dword [r8 + 0x28], eax
je 0x18007e1c6
mov r8, qword [r8 + 8]
test r14, r8
jne 0x18007e1c6
mov rcx, qword [rsp + 0x90]
mov rax, qword [rcx + 0x20]
movsxd rcx, dword [rcx + 0x14]
imul rdx, rcx, 0x38
add rdx, rax
cmp rax, rdx
jae 0x18007e1af
nop
test qword [rax + 0x30], r8
je 0x18007e19f
mov rcx, qword [rax]
test byte [rcx + 4], 1
je 0x18007e1aa
add rax, 0x38
cmp rax, rdx
jb 0x18007e190
jmp 0x18007e1af
cmp rax, rdx
jb 0x18007e1c6
movzx eax, byte [r15 + 0x39]
dec dword [rsp + 0x44]
dec al
mov byte [r15 + 0x39], al
cmp al, 2
jae 0x18007e135
mov r11, qword [rsp + 0x38]
mov edx, 0x1000
mov r10, qword [rsp + 0x58]
mov rcx, qword [r15]
movsx eax, word [r15 + 0x30]
movzx ebx, word [rsp + 0x30]
add dword [rcx + 0x1d8], eax
test bl, 4
je 0x18007e213
mov rcx, qword [r15 + 0x380]
test dword [rcx + 0x28], edx
mov rdx, qword [rsp + 0x50]
je 0x18007e218
mov byte [r15 + 0x36], 1
mov rax, qword [rdx + 0x28]
test byte [rax + 0x48], 0x20
jne 0x18007e218
and dword [rcx + 0x28], 0xffffffbf
jmp 0x18007e218
mov rdx, qword [rsp + 0x50]
mov edi, dword [rsp + 0x44]
test edi, edi
jle 0x18007e4a0
mov r9d, dword [rsp + 0x140]
lea r12, [r15 + 0x380]
mov qword [rsp + 0x68], rdi
nop dword [rax + rax]
movzx eax, byte [r12 - 0x1c]
xor r8d, r8d
imul r13, rax, 0x78
mov esi, 0xfff0bdc0
mov rbp, 0xfffffffffff0bdc0
add r13, rdx
mov r14, qword [r13 + 0x28]
mov rdx, qword [r14 + 0x70]
test rdx, rdx
je 0x18007e292
mov ecx, dword [r10 + 0x28]
mov esi, r8d
mov ebp, r8d
test ecx, ecx
jle 0x18007e292
mov rax, qword [r10 + 0x20]
add rax, 0x18
nop
cmp qword [rax], rdx
je 0x18007e292
inc esi
inc rbp
add rax, 0x20
cmp esi, ecx
jl 0x18007e280
movzx ecx, byte [r14 + 0x48]
mov rdi, qword [r12]
test cl, 2
jne 0x18007e3b5
cmp qword [r14 + 0x18], 0
jne 0x18007e3b5
mov eax, dword [rdi + 0x28]
bt eax, 0xa
jae 0x18007e309
mov rbx, qword [r14 + 0x60]
test rbx, rbx
je 0x18007e2cf
cmp qword [rbx], r10
je 0x18007e2cf
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x18007e2c1
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov edx, 0x93
mov r8d, dword [r13 + 0x50]
call fcn.180026c20
mov rcx, qword [rsp + 0x60]
mov r9d, 0xfffffff6
mov r8, rbx
mov edx, eax
call fcn.180027200
movzx ebx, word [rsp + 0x30]
jmp 0x18007e3ad
test cl, 0x10
jne 0x18007e3b5
test al, 0x40
jne 0x18007e394
test bl, 0x10
jne 0x18007e394
cmp byte [r15 + 0x36], 0
mov ecx, 0x36
je 0x18007e334
mov eax, dword [r13 + 0x50]
mov ecx, 0x37
mov dword [r15 + 0x4c], eax
mov edx, dword [r13 + 0x50]
mov r9, r14
mov dword [rsp + 0x20], ecx
mov r8d, esi
mov rcx, r11
call fcn.180057e60
cmp byte [r15 + 0x36], 0
jne 0x18007e3ad
cmp word [r14 + 0x42], 0x40
jge 0x18007e3ad
test byte [r14 + 0x48], 0x20
jne 0x18007e3ad
mov rax, qword [r13 + 0x68]
xor ecx, ecx
test rax, rax
je 0x18007e377
nop dword [rax + rax]
inc ecx
shr rax, 1
jne 0x18007e370
mov rax, qword [rsp + 0x60]
mov r9d, 0xfffffff2
movsxd r8, ecx
mov rcx, rax
mov edx, dword [rax + 0x3c]
dec edx
call fcn.180027200
jmp 0x18007e3ad
mov rax, qword [r14]
xor r9d, r9d
mov r8d, dword [r14 + 0x3c]
mov edx, esi
mov rcx, r11
mov qword [rsp + 0x20], rax
call fcn.180045f30
mov r9d, dword [rsp + 0x140]
test dword [rdi + 0x28], 0x200
je 0x18007e3f2
test byte [r14 + 0x48], 0x20
mov edx, 0x36
mov rdi, qword [rdi + 0x20]
je 0x18007e576
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
jne 0x18007e576
test bl, 0x40
je 0x18007e576
mov eax, dword [r12 - 0x3c]
mov dword [r12 - 0x38], eax
mov r14, qword [rsp + 0x38]
test esi, esi
js 0x18007e446
mov rax, qword [r14 + 0x1c0]
mov rcx, r14
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x16c]
bt eax, esi
jb 0x18007e446
bts eax, esi
mov r8, rbp
mov dword [rcx + 0x16c], eax
mov rax, qword [rcx]
shl r8, 5
mov rdx, qword [rax + 0x20]
mov rax, qword [r8 + rdx + 0x18]
mov edx, dword [rax]
mov dword [rcx + rbp*4 + 0x170], edx
cmp esi, 1
jne 0x18007e446
call fcn.18004d680
movsxd rax, dword [r15 + 0x54]
xor esi, esi
mov ecx, esi
test eax, eax
jle 0x18007e470
mov edx, dword [r13 + 0x50]
mov r8, rax
lea rax, [r15 + 0x58]
nop dword [rax]
cmp dword [rax], edx
je 0x18007e470
inc rcx
add rax, 4
cmp rcx, r8
jl 0x18007e460
mov r9d, dword [rsp + 0x140]
add r12, 0x50
sub qword [rsp + 0x68], 1
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x38]
movzx ebx, word [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
jne 0x18007e240
mov edi, dword [rsp + 0x44]
mov r13, qword [rsp + 0x60]
mov eax, dword [r13 + 0x3c]
mov dword [r15 + 0x3c], eax
cmp byte [r10 + 0x50], 0
jne 0x18007e62a
test edi, edi
jle 0x18007e56e
mov r14, qword [rsp + 0x38]
lea rbx, [r15 + 0x364]
movzx ebp, word [rsp + 0x30]
mov rax, qword [rbx + 0x1c]
test dword [rax + 0x28], 0x4000
je 0x18007e51e
movzx eax, byte [rbx]
lea rdx, [rbx - 0x24]
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x78]
add r8, 8
imul rcx, rax, 0x78
mov qword [rsp + 0x20], rdx
lea rdx, [r15 + 0x158]
add r8, rcx
mov rcx, r14
call fcn.180076a60
mov r10, qword [rsp + 0x58]
cmp byte [r10 + 0x50], 0
jne 0x18007e67e
movzx eax, byte [rbx]
lea r8, [rbx - 0x24]
mov rdx, qword [rsp + 0x50]
mov r9d, esi
mov word [rsp + 0x28], bp
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.180077e70
mov eax, dword [r13 + 0x3c]
mov edx, esi
mov r8, qword [rsp + 0x78]
mov rcx, r15
mov dword [rbx - 4], eax
call fcn.180078300
mov qword [rsp + 0x78], rax
inc esi
mov eax, dword [rbx - 0xc]
add rbx, 0x50
mov dword [r15 + 0x40], eax
cmp esi, edi
jl 0x18007e4d1
mov rax, r15
jmp 0x18007e647
cmp byte [r15 + 0x36], 0
je 0x18007e5ac
mov rax, qword [r13 + 0x28]
mov r8d, r9d
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x18007e5a1
nop dword [rax]
cmp rcx, rdi
je 0x18007e5a1
mov rcx, qword [rcx + 0x28]
inc r8d
test rcx, rcx
jne 0x18007e590
mov edx, 0x37
mov dword [r15 + 0x50], r8d
jmp 0x18007e5de
test r9d, r9d
je 0x18007e5ce
test bl, 0x40
je 0x18007e5ce
movzx eax, bx
mov ecx, 0x1000
and ax, cx
mov r8d, r9d
neg ax
sbb edx, edx
add edx, 0x36
jmp 0x18007e5de
mov rcx, qword [rsp + 0x38]
mov r8d, dword [rcx + 0x50]
lea eax, [r8 + 1]
mov dword [rcx + 0x50], eax
mov rcx, qword [rsp + 0x60]
mov eax, r8d
mov dword [r12 - 0x38], eax
mov r9d, dword [rdi + 0x58]
mov dword [rsp + 0x20], esi
call fcn.180026c20
mov r14, qword [rsp + 0x38]
mov rdx, rdi
mov rcx, r14
mov rbx, qword [r14 + 0x10]
call fcn.18004e440
mov edx, 0xffffffff
mov r8, rax
mov rcx, rbx
lea r9d, [rdx - 5]
call fcn.180027200
jmp 0x18007e3f7
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x38]
mov eax, dword [r15 + 0x48]
mov rdx, r15
mov rcx, r10
mov dword [r11 + 0x1d8], eax
call fcn.18007a410
xor eax, eax
mov r14, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov r15, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1800cf6f0
add rsp, 0xe0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r11, r14
jmp 0x18007e62f