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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0xe0
mov rax, qword [0x180128010]
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 0x18007cb79
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 0x18007cbcc
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
call fcn.180008760
xor eax, eax
jmp 0x18007d6ef
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.180005ac0
mov qword [rsp + 0x80], rax
mov r15, rax
test rax, rax
je 0x18007cc2f
lea r8, [r14 + 0x60]
xor edx, edx
mov rcx, rax
call fcn.1800d0490
cmp byte [rsi + 0x50], r12b
je 0x18007cc92
test r15, r15
je 0x18007d6d5
cmp qword [rsi + 0x320], r12
je 0x18007cc57
mov rdx, r15
mov rcx, rsi
call fcn.180005770
jmp 0x18007d6d5
cmp r15, qword [rsi + 0x168]
jb 0x18007cc85
cmp r15, qword [rsi + 0x170]
jae 0x18007cc85
mov rax, qword [rsi + 0x160]
mov qword [r15], rax
dec dword [rsi + 0x14c]
mov qword [rsi + 0x160], r15
jmp 0x18007d6d5
mov rcx, r15
call fcn.1800056c0
jmp 0x18007d6d5
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 0x18007cd0d
mov rdx, qword [rsi + 0x80]
lea eax, [rbx*2 + 1]
mov rcx, qword [rsi]
movsxd r8, eax
shl r8, 2
call fcn.180005c70
mov rdx, qword [rsp + 0x38]
mov r8, 0xffffffffffffffff
mov qword [rsi + 0x80], rax
mov rcx, qword [rsi + 0x80]
test rcx, rcx
je 0x18007cd1d
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 0x18007cdcc
cmp byte [rbp], 0x48
mov rcx, rsi
je 0x18007cdb1
xor r8d, r8d
mov rdx, rbp
call fcn.1800739b0
jmp 0x18007cdcc
mov rdx, qword [rbp + 0x10]
mov r8b, 0x48
call fcn.180073c00
mov rdx, qword [rbp + 0x18]
mov r8b, 0x48
mov rcx, rsi
call fcn.180073c00
mov rax, qword [rsp + 0x90]
mov esi, r12d
mov r14, qword [rsp + 0x38]
mov ebp, dword [rsp + 0x44]
cmp dword [rax + 0x14], r12d
jle 0x18007ce54
mov rbx, r12
nop dword [rax]
test ebp, ebp
je 0x18007ce12
mov rax, qword [rax + 0x20]
mov edx, 2
mov rcx, qword [rbx + rax]
call fcn.18003b8e0
test eax, eax
je 0x18007ce3d
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.18003f900
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 0x18007cdf0
lea rbx, [r15 + 0x54]
mov r9d, 0x400
test ebp, ebp
jne 0x18007ce7d
test rdi, rdi
je 0x18007ce6a
movzx eax, byte [rdi]
mov byte [r15 + 0x34], al
movzx r12d, word [rsp + 0x30]
test r9w, r12w
je 0x18007ce83
mov byte [r15 + 0x38], 1
jmp 0x18007ce83
movzx r12d, word [rsp + 0x30]
mov r11, qword [rsp + 0x50]
xor esi, esi
mov r8d, esi
cmp dword [r11], esi
jle 0x18007ceb7
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 0x18007cea0
lea rax, [r15 + 0x158]
mov ebx, dword [rax + 0x14]
sub ebx, 1
js 0x18007cef9
nop word [rax + rax]
mov r8d, ebx
lea rdx, [r15 + 0x158]
mov rcx, r11
call fcn.180074d30
sub ebx, 1
mov r11, qword [rsp + 0x50]
jns 0x18007ced0
lea rax, [r15 + 0x158]
mov r9d, 0x400
mov r10, qword [rsp + 0x58]
cmp byte [r10 + 0x50], sil
jne 0x18007d6ba
and r12w, r9w
mov ebx, 0x200
mov word [rsp + 0x48], r12w
je 0x18007cf43
mov r9, r13
mov r8, rax
mov rdx, r11
mov rcx, r14
call fcn.1800757b0
test eax, eax
je 0x18007cf35
mov byte [r15 + 0x38], 1
jmp 0x18007cf43
test rdi, rdi
jne 0x18007cf43
or word [r15 + 0x32], bx
mov qword [r15 + 0x10], r13
cmp ebp, 1
jne 0x18007cf5d
lea rcx, [rsp + 0x88]
call fcn.18007c830
test eax, eax
jne 0x18007d0d9
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 0x18007d072
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 0x18007cfe5
mov r8d, dword [rsi + 0xc]
mov r9, rax
lea rax, [r12 + 0x58]
cmp dword [rax], r8d
je 0x18007d021
inc edx
inc rcx
add rax, 4
cmp rcx, r9
jl 0x18007cfd2
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 0x18007d02d
call fcn.18007a9b0
jmp 0x18007d032
mov ecx, edx
mov eax, 1
shl rax, cl
jmp 0x18007cfe8
call fcn.18007a2b0
mov ebx, eax
test eax, eax
jne 0x18007d04a
mov rdx, rdi
lea rcx, [rsp + 0x88]
call fcn.18007b160
mov ebx, eax
or r15, qword [rbp + 8]
test ebx, ebx
jne 0x18007d070
cmp byte [r13 + 0x50], bl
jne 0x18007d070
movzx r10d, byte [rsp + 0x40]
inc r14d
add rsi, 0x78
cmp r14d, dword [rsp + 0x70]
jl 0x18007cfb0
xor esi, esi
mov rdx, rbp
mov rcx, r13
call fcn.180079310
mov r15, qword [rsp + 0x80]
test ebx, ebx
jne 0x18007d6b5
xor edx, edx
mov rcx, r15
call fcn.18007be70
mov r10, qword [rsp + 0x58]
cmp byte [r10 + 0x50], bl
jne 0x18007d6ba
cmp qword [r15 + 0x10], 0
je 0x18007d0cc
movzx edx, word [r15 + 0x30]
mov rcx, r15
inc dx
call fcn.18007be70
mov r10, qword [rsp + 0x58]
cmp byte [r10 + 0x50], bl
jne 0x18007d6ba
mov r13, qword [rsp + 0x68]
movzx r12d, word [rsp + 0x48]
jmp 0x18007d0de
mov r10, qword [rsp + 0x58]
cmp qword [r15 + 0x10], 0
jne 0x18007d0f7
test dword [r10 + 0x2c], 0x20000
je 0x18007d0f7
mov qword [r15 + 0x28], 0xffffffffffffffff
mov r11, qword [rsp + 0x38]
cmp dword [r11 + 0x4c], 0
jne 0x18007d6bf
cmp byte [r10 + 0x50], 0
jne 0x18007d6bf
cmp byte [r15 + 0x39], 2
mov edx, 0x1000
jb 0x18007d265
test r13, r13
je 0x18007d265
mov eax, 0x400
test word [r10 + 0x4c], ax
jne 0x18007d265
cmp dword [r13], 0
mov r14, rsi
mov edi, esi
jle 0x18007d170
mov rbx, rsi
nop word [rax + rax]
mov rdx, qword [r13 + 8]
lea rcx, [r15 + 0x54]
mov rdx, qword [rbx + rdx]
call fcn.180073c70
or r14, rax
lea rbx, [rbx + 0x28]
inc edi
cmp edi, dword [r13]
jl 0x18007d150
mov rbp, qword [rsp + 0x98]
test rbp, rbp
je 0x18007d1b4
cmp dword [rbp], 0
mov rdi, rsi
jle 0x18007d1af
xor ebx, ebx
nop dword [rax + rax]
mov rdx, qword [rbp + 8]
lea rcx, [r15 + 0x54]
mov rdx, qword [rbx + rdx]
call fcn.180073c70
or rdi, rax
lea rbx, [rbx + 0x28]
inc esi
cmp esi, dword [rbp]
jl 0x18007d190
or r14, rdi
xor esi, esi
movzx eax, byte [r15 + 0x39]
cmp al, 2
jb 0x18007d256
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 0x18007d256
test r12w, r12w
jne 0x18007d1f9
mov eax, 0x1000
test dword [r8 + 0x28], eax
je 0x18007d256
mov r8, qword [r8 + 8]
test r14, r8
jne 0x18007d256
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 0x18007d23f
nop
test qword [rax + 0x30], r8
je 0x18007d22f
mov rcx, qword [rax]
test byte [rcx + 4], 1
je 0x18007d23a
add rax, 0x38
cmp rax, rdx
jb 0x18007d220
jmp 0x18007d23f
cmp rax, rdx
jb 0x18007d256
movzx eax, byte [r15 + 0x39]
dec dword [rsp + 0x44]
dec al
mov byte [r15 + 0x39], al
cmp al, 2
jae 0x18007d1c5
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 0x18007d2a3
mov rcx, qword [r15 + 0x380]
test dword [rcx + 0x28], edx
mov rdx, qword [rsp + 0x50]
je 0x18007d2a8
mov byte [r15 + 0x36], 1
mov rax, qword [rdx + 0x28]
test byte [rax + 0x48], 0x20
jne 0x18007d2a8
and dword [rcx + 0x28], 0xffffffbf
jmp 0x18007d2a8
mov rdx, qword [rsp + 0x50]
mov edi, dword [rsp + 0x44]
test edi, edi
jle 0x18007d530
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 0x18007d322
mov ecx, dword [r10 + 0x28]
mov esi, r8d
mov ebp, r8d
test ecx, ecx
jle 0x18007d322
mov rax, qword [r10 + 0x20]
add rax, 0x18
nop
cmp qword [rax], rdx
je 0x18007d322
inc esi
inc rbp
add rax, 0x20
cmp esi, ecx
jl 0x18007d310
movzx ecx, byte [r14 + 0x48]
mov rdi, qword [r12]
test cl, 2
jne 0x18007d445
cmp qword [r14 + 0x18], 0
jne 0x18007d445
mov eax, dword [rdi + 0x28]
bt eax, 0xa
jae 0x18007d399
mov rbx, qword [r14 + 0x60]
test rbx, rbx
je 0x18007d35f
cmp qword [rbx], r10
je 0x18007d35f
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x18007d351
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov edx, 0x93
mov r8d, dword [r13 + 0x50]
call fcn.180025cb0
mov rcx, qword [rsp + 0x60]
mov r9d, 0xfffffff6
mov r8, rbx
mov edx, eax
call fcn.180026290
movzx ebx, word [rsp + 0x30]
jmp 0x18007d43d
test cl, 0x10
jne 0x18007d445
test al, 0x40
jne 0x18007d424
test bl, 0x10
jne 0x18007d424
cmp byte [r15 + 0x36], 0
mov ecx, 0x36
je 0x18007d3c4
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.180056ef0
cmp byte [r15 + 0x36], 0
jne 0x18007d43d
cmp word [r14 + 0x42], 0x40
jge 0x18007d43d
test byte [r14 + 0x48], 0x20
jne 0x18007d43d
mov rax, qword [r13 + 0x68]
xor ecx, ecx
test rax, rax
je 0x18007d407
nop dword [rax + rax]
inc ecx
shr rax, 1
jne 0x18007d400
mov rax, qword [rsp + 0x60]
mov r9d, 0xfffffff2
movsxd r8, ecx
mov rcx, rax
mov edx, dword [rax + 0x3c]
dec edx
call fcn.180026290
jmp 0x18007d43d
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.180044fc0
mov r9d, dword [rsp + 0x140]
test dword [rdi + 0x28], 0x200
je 0x18007d482
test byte [r14 + 0x48], 0x20
mov edx, 0x36
mov rdi, qword [rdi + 0x20]
je 0x18007d606
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
jne 0x18007d606
test bl, 0x40
je 0x18007d606
mov eax, dword [r12 - 0x3c]
mov dword [r12 - 0x38], eax
mov r14, qword [rsp + 0x38]
test esi, esi
js 0x18007d4d6
mov rax, qword [r14 + 0x1c0]
mov rcx, r14
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x16c]
bt eax, esi
jb 0x18007d4d6
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 0x18007d4d6
call fcn.18004c710
movsxd rax, dword [r15 + 0x54]
xor esi, esi
mov ecx, esi
test eax, eax
jle 0x18007d500
mov edx, dword [r13 + 0x50]
mov r8, rax
lea rax, [r15 + 0x58]
nop dword [rax]
cmp dword [rax], edx
je 0x18007d500
inc rcx
add rax, 4
cmp rcx, r8
jl 0x18007d4f0
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 0x18007d2d0
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 0x18007d6ba
test edi, edi
jle 0x18007d5fe
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 0x18007d5ae
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.180075af0
mov r10, qword [rsp + 0x58]
cmp byte [r10 + 0x50], 0
jne 0x18007d70e
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.180076f00
mov eax, dword [r13 + 0x3c]
mov edx, esi
mov r8, qword [rsp + 0x78]
mov rcx, r15
mov dword [rbx - 4], eax
call fcn.180077390
mov qword [rsp + 0x78], rax
inc esi
mov eax, dword [rbx - 0xc]
add rbx, 0x50
mov dword [r15 + 0x40], eax
cmp esi, edi
jl 0x18007d561
mov rax, r15
jmp 0x18007d6d7
cmp byte [r15 + 0x36], 0
je 0x18007d63c
mov rax, qword [r13 + 0x28]
mov r8d, r9d
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x18007d631
nop dword [rax]
cmp rcx, rdi
je 0x18007d631
mov rcx, qword [rcx + 0x28]
inc r8d
test rcx, rcx
jne 0x18007d620
mov edx, 0x37
mov dword [r15 + 0x50], r8d
jmp 0x18007d66e
test r9d, r9d
je 0x18007d65e
test bl, 0x40
je 0x18007d65e
movzx eax, bx
mov ecx, 0x1000
and ax, cx
mov r8d, r9d
neg ax
sbb edx, edx
add edx, 0x36
jmp 0x18007d66e
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.180025cb0
mov r14, qword [rsp + 0x38]
mov rdx, rdi
mov rcx, r14
mov rbx, qword [r14 + 0x10]
call fcn.18004d4d0
mov edx, 0xffffffff
mov r8, rax
mov rcx, rbx
lea r9d, [rdx - 5]
call fcn.180026290
jmp 0x18007d487
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.1800794a0
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.1800ccd60
add rsp, 0xe0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r11, r14
jmp 0x18007d6bf