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

Disassembly:
push rbx
push rbp
push rsi
push r12
push r13
push r15
sub rsp, 0xb8
mov rax, qword [0x1400e8040]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 0x10]
mov rbx, rcx
mov r12, qword [rcx]
mov rbp, r8
movzx r8d, word [rsp + 0x118]
mov r15, r9
mov r13, qword [rsp + 0x110]
mov qword [rsp + 0x40], rcx
xor ecx, ecx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x88], rcx
test r9, r9
je 0x1400b50af
cmp dword [r9], 0x40
cmovge r15, rcx
mov esi, dword [rdx]
movzx ecx, r8w
mov r9d, 0xfbff
mov qword [rsp + 0x78], r15
and cx, r9w
test byte [r12 + 0x4c], 0x20
cmove cx, r8w
mov word [rsp + 0x30], cx
cmp esi, 0x40
jle 0x1400b50f5
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, rbx
call fcn.140030ff0
xor eax, eax
jmp 0x1400b5a3f
test cl, 0x40
mov qword [rsp + 0xb0], rdi
mov eax, 1
mov qword [rsp + 0xa8], r14
cmovne esi, eax
mov rcx, r12
mov dword [rsp + 0x34], esi
lea eax, [rsi + rsi*4]
shl eax, 4
add eax, 0x347
movsxd r14, eax
and r14, 0xfffffffffffffff8
lea rdx, [r14 + 0x60]
call fcn.14002df70
cmp byte [r12 + 0x50], 0
mov rdi, rax
je 0x1400b514b
test rax, rax
je 0x1400b5a2d
jmp 0x1400b59dc
mov rcx, qword [rsp + 0x38]
mov rax, 0xffffffffffffffff
mov qword [rdi + 0x4c], rax
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x50]
mov qword [rdi + 8], rax
mov byte [rdi + 0x39], sil
mov qword [rdi], rbx
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r13
call fcn.140050da0
mov dword [rdi + 0x40], eax
lea rcx, [r14 + rdi]
mov dword [rdi + 0x44], eax
lea rsi, [rdi + 0x54]
movzx eax, word [rsp + 0x30]
xor r14d, r14d
mov word [rdi + 0x32], ax
mov eax, dword [rbx + 0x1d8]
lea rbx, [rdi + 0x158]
mov dword [rdi + 0x48], eax
lea rax, [rcx + 0x40]
mov qword [rcx + 0x30], rax
lea rax, [rbx + 0x28]
mov dword [rcx + 0x2c], 0x40000
mov dword [rcx + 0x28], r14d
mov dword [rsi], r14d
mov qword [rbx + 0x20], rax
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x80], rcx
mov qword [rbx], rdi
mov qword [rbx + 8], r14
mov dword [rbx + 0x14], r14d
mov dword [rbx + 0x18], 8
mov byte [rbx + 0x10], 0x48
test rbp, rbp
je 0x1400b5223
cmp byte [rbp], 0x48
mov rcx, rbx
je 0x1400b5208
xor r8d, r8d
mov rdx, rbp
call fcn.1400ab610
jmp 0x1400b5223
mov rdx, qword [rbp + 0x10]
mov r8b, 0x48
call fcn.1400ab860
mov rdx, qword [rbp + 0x18]
mov r8b, 0x48
mov rcx, rbx
call fcn.1400ab860
mov ebp, r14d
cmp dword [rbx + 0x14], r14d
jle 0x1400b528a
mov r12, qword [rsp + 0x40]
mov esi, dword [rsp + 0x34]
test esi, esi
je 0x1400b524f
mov rax, qword [rbx + 0x20]
mov edx, 2
mov rcx, qword [r14 + rax]
call fcn.140068f90
test eax, eax
je 0x1400b5273
mov rdx, qword [rbx + 0x20]
mov r9d, 0x10
mov r8d, dword [rdi + 0x44]
mov rcx, r12
mov rdx, qword [r14 + rdx]
call fcn.14006cfc0
mov rax, qword [rbx + 0x20]
or byte [r14 + rax + 0x1c], 4
inc ebp
add r14, 0x38
cmp ebp, dword [rbx + 0x14]
jl 0x1400b5235
mov r12, qword [rsp + 0x48]
lea rsi, [rdi + 0x54]
xor r14d, r14d
cmp dword [rsp + 0x34], 0
mov r9d, 0x400
jne 0x1400b52af
test r15, r15
je 0x1400b52a3
movzx eax, byte [r15]
mov byte [rdi + 0x34], al
test word [rsp + 0x30], r9w
je 0x1400b52af
mov byte [rdi + 0x38], 1
mov r10, qword [rsp + 0x50]
mov r8d, r14d
cmp dword [r10], 0
jle 0x1400b52e7
lea rdx, [r10 + 0x50]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rdx]
lea rdx, [rdx + 0x78]
movsxd rcx, dword [rsi]
inc r8d
mov dword [rsi + rcx*4 + 4], eax
inc dword [rsi]
cmp r8d, dword [r10]
jl 0x1400b52d0
mov ebx, dword [rdi + 0x16c]
sub ebx, 1
js 0x1400b5314
mov r8d, ebx
lea rdx, [rdi + 0x158]
mov rcx, r10
call fcn.1400acf30
sub ebx, 1
mov r10, qword [rsp + 0x50]
jns 0x1400b52f2
mov r9d, 0x400
cmp byte [r12 + 0x50], 0
jne 0x1400b5997
mov rbx, qword [rsp + 0x40]
test word [rsp + 0x30], r9w
je 0x1400b535e
lea r8, [rdi + 0x158]
mov r9, r13
mov rdx, r10
mov rcx, rbx
call fcn.1400adab0
test eax, eax
je 0x1400b534c
mov byte [rdi + 0x38], 1
jmp 0x1400b535e
test r15, r15
jne 0x1400b535e
mov eax, 0x200
mov qword [rdi + 0x10], r13
or word [rdi + 0x32], ax
mov r15d, dword [rsp + 0x34]
cmp r15d, 1
jne 0x1400b5377
lea rcx, [rsp + 0x68]
call fcn.1400b4d70
test eax, eax
jne 0x1400b53c1
lea rcx, [rsp + 0x68]
call fcn.1400b3a60
test eax, eax
jne 0x1400b5997
xor edx, edx
mov rcx, rdi
call fcn.1400b4420
cmp byte [r12 + 0x50], 0
jne 0x1400b5997
cmp qword [rdi + 0x10], 0
je 0x1400b53c8
movzx edx, word [rdi + 0x30]
mov rcx, rdi
inc dx
call fcn.1400b4420
cmp byte [r12 + 0x50], 0
jne 0x1400b5997
cmp qword [rdi + 0x10], 0
jne 0x1400b53db
test dword [r12 + 0x2c], 0x20000
je 0x1400b53db
mov qword [rdi + 0x28], 0xffffffffffffffff
cmp dword [rbx + 0x4c], 0
jne 0x1400b5997
cmp byte [r12 + 0x50], 0
jne 0x1400b5997
cmp byte [rdi + 0x39], 2
mov edx, 0x1000
jb 0x1400b5554
test r13, r13
je 0x1400b5554
mov eax, 0x400
test word [r12 + 0x4c], ax
jne 0x1400b5554
cmp dword [r13], 0
mov r12, r14
mov ebp, r14d
jle 0x1400b544f
mov rbx, r14
nop word [rax + rax]
mov rdx, qword [r13 + 8]
mov rcx, rsi
mov rdx, qword [rdx + rbx]
call fcn.1400ab8d0
or r12, rax
lea rbx, [rbx + 0x28]
inc ebp
cmp ebp, dword [r13]
jl 0x1400b5430
mov r15, qword [rsp + 0x78]
test r15, r15
je 0x1400b5491
xor ecx, ecx
mov ebp, ecx
cmp dword [r15], ecx
jle 0x1400b548e
mov ebx, ecx
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [r15 + 8]
mov rcx, rsi
mov rdx, qword [rdx + rbx]
call fcn.1400ab8d0
or r14, rax
lea rbx, [rbx + 0x28]
inc ebp
cmp ebp, dword [r15]
jl 0x1400b5470
or r12, r14
movzx eax, byte [rdi + 0x39]
mov r15d, dword [rsp + 0x34]
cmp al, 2
jb 0x1400b5545
movzx r10d, word [rsp + 0x30]
mov ecx, 0x400
mov r11, qword [rdi + 8]
and r10w, cx
mov r9, qword [rsp + 0x70]
nop word [rax + rax]
movzx eax, al
lea rcx, [rax + rax*4]
add rcx, rcx
mov r8, qword [rdi + rcx*8 + 0x330]
movzx eax, byte [r8 + 0x10]
imul rcx, rax, 0x78
test byte [rcx + r11 + 0x44], 8
je 0x1400b5540
test r10w, r10w
jne 0x1400b54f4
mov eax, 0x1000
test dword [r8 + 0x28], eax
je 0x1400b5540
mov r8, qword [r8 + 8]
test r12, r8
jne 0x1400b5540
mov rax, qword [r9 + 0x20]
movsxd rcx, dword [r9 + 0x14]
imul rdx, rcx, 0x38
add rdx, rax
cmp rax, rdx
jae 0x1400b5530
test qword [rax + 0x30], r8
je 0x1400b5520
mov rcx, qword [rax]
test byte [rcx + 4], 1
je 0x1400b552b
add rax, 0x38
cmp rax, rdx
jb 0x1400b5511
jmp 0x1400b5530
cmp rax, rdx
jb 0x1400b5540
movzx eax, byte [rdi + 0x39]
dec r15d
dec al
mov byte [rdi + 0x39], al
cmp al, 2
jae 0x1400b54c0
mov dword [rsp + 0x34], r15d
mov rbx, qword [rsp + 0x40]
mov edx, 0x1000
mov r12, qword [rsp + 0x48]
mov rcx, qword [rdi]
movsx eax, word [rdi + 0x30]
movzx r11d, word [rsp + 0x30]
add dword [rcx + 0x1d8], eax
test r11b, 4
je 0x1400b5592
mov rcx, qword [rdi + 0x380]
test dword [rcx + 0x28], edx
mov rdx, qword [rsp + 0x50]
je 0x1400b5597
mov byte [rdi + 0x36], 1
mov rax, qword [rdx + 0x28]
test byte [rax + 0x48], 0x20
jne 0x1400b5597
and dword [rcx + 0x28], 0xffffffbf
jmp 0x1400b5597
mov rdx, qword [rsp + 0x50]
test r15d, r15d
jle 0x1400b58bb
mov r10d, dword [rsp + 0x120]
lea r9, [rdi + 0x380]
mov eax, r15d
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x60], rax
nop dword [rax]
movzx eax, byte [r9 - 0x1c]
xor r8d, r8d
imul r15, rax, 0x78
mov ebp, 0xfff0bdc0
mov r13, 0xfffffffffff0bdc0
add r15, rdx
mov r14, qword [r15 + 0x28]
mov rdx, qword [r14 + 0x70]
test rdx, rdx
je 0x1400b5612
mov ecx, dword [r12 + 0x28]
mov ebp, r8d
mov r13d, r8d
test ecx, ecx
jle 0x1400b5612
mov rax, qword [r12 + 0x20]
add rax, 0x18
cmp qword [rax], rdx
je 0x1400b5612
inc ebp
inc r13
add rax, 0x20
cmp ebp, ecx
jl 0x1400b5600
movzx ecx, byte [r14 + 0x48]
mov rsi, qword [r9]
test cl, 2
jne 0x1400b5749
cmp qword [r14 + 0x18], 0
jne 0x1400b5749
mov eax, dword [rsi + 0x28]
bt eax, 0xa
jae 0x1400b567e
mov rbx, qword [r14 + 0x60]
test rbx, rbx
je 0x1400b564e
cmp qword [rbx], r12
je 0x1400b564e
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1400b5640
mov rcx, qword [rsp + 0x38]
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov edx, 0x93
mov r8d, dword [r15 + 0x50]
call fcn.140050c60
mov r8, rbx
mov r9d, 0xfffffff6
mov rbx, qword [rsp + 0x38]
mov edx, eax
jmp 0x1400b5700
test cl, 0x10
jne 0x1400b5749
test al, 0x40
jne 0x1400b571d
test r11b, 0x10
jne 0x1400b571d
cmp byte [rdi + 0x36], 0
mov ecx, 0x36
je 0x1400b56b0
mov eax, dword [r15 + 0x50]
mov ecx, 0x37
mov dword [rdi + 0x4c], eax
mov edx, dword [r15 + 0x50]
mov r9, r14
mov dword [rsp + 0x20], ecx
mov r8d, ebp
mov rcx, rbx
call fcn.1400887e0
cmp byte [rdi + 0x36], 0
jne 0x1400b5736
cmp word [r14 + 0x42], 0x40
jge 0x1400b5736
test byte [r14 + 0x48], 0x20
jne 0x1400b5736
mov rax, qword [r15 + 0x68]
xor ecx, ecx
test rax, rax
je 0x1400b56ed
inc ecx
shr rax, 1
jne 0x1400b56e6
mov rbx, qword [rsp + 0x38]
mov r9d, 0xfffffff2
movsxd r8, ecx
mov edx, dword [rbx + 0x3c]
dec edx
mov rcx, rbx
call fcn.140051290
mov r9, qword [rsp + 0x48]
mov r10d, dword [rsp + 0x120]
movzx r11d, word [rsp + 0x30]
jmp 0x1400b574e
mov rax, qword [r14]
xor r9d, r9d
mov r8d, dword [r14 + 0x3c]
mov edx, ebp
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140073380
movzx r11d, word [rsp + 0x30]
mov r10d, dword [rsp + 0x120]
mov r9, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x38]
test dword [rsi + 0x28], 0x200
je 0x1400b5834
test byte [r14 + 0x48], 0x20
mov edx, 0x36
mov rsi, qword [rsi + 0x20]
je 0x1400b5787
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, 2
jne 0x1400b5787
test r11b, 0x40
je 0x1400b5787
mov eax, dword [r9 - 0x3c]
mov dword [r9 - 0x38], eax
jmp 0x1400b5834
cmp byte [rdi + 0x36], 0
je 0x1400b57bc
mov rax, qword [r15 + 0x28]
mov r8d, r10d
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400b57b1
nop dword [rax]
cmp rcx, rsi
je 0x1400b57b1
mov rcx, qword [rcx + 0x28]
inc r8d
test rcx, rcx
jne 0x1400b57a0
mov edx, 0x37
mov dword [rdi + 0x50], r8d
jmp 0x1400b57f3
test r10d, r10d
je 0x1400b57e3
test r11b, 0x40
je 0x1400b57e3
movzx eax, r11w
mov ecx, 0x1000
and ax, cx
mov r8d, r10d
neg ax
mov eax, r10d
sbb edx, edx
add edx, 0x36
jmp 0x1400b57f6
mov rcx, qword [rsp + 0x40]
mov r8d, dword [rcx + 0x50]
lea eax, [r8 + 1]
mov dword [rcx + 0x50], eax
mov eax, r8d
mov dword [r9 - 0x38], eax
mov rcx, rbx
mov r9d, dword [rsi + 0x58]
mov dword [rsp + 0x20], ebp
call fcn.140050c60
mov rax, qword [rsp + 0x40]
mov rdx, rsi
mov rcx, rax
mov rbx, qword [rax + 0x10]
call fcn.14007d530
mov r8, rax
mov edx, 0xffffffff
mov r9d, 0xfffffffa
mov rcx, rbx
call fcn.140051290
mov rbx, qword [rsp + 0x40]
test ebp, ebp
js 0x1400b5889
mov rax, qword [rbx + 0x1c0]
mov rcx, rbx
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x16c]
bt eax, ebp
jb 0x1400b5889
bts eax, ebp
mov r8, r13
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 + r13*4 + 0x170], edx
cmp ebp, 1
jne 0x1400b5889
call fcn.14007c750
mov r9, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
add r9, 0x50
sub qword [rsp + 0x60], 1
mov r10d, dword [rsp + 0x120]
movzx r11d, word [rsp + 0x30]
mov qword [rsp + 0x48], r9
jne 0x1400b55c0
mov r15d, dword [rsp + 0x34]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x3c]
mov dword [rdi + 0x3c], eax
cmp byte [r12 + 0x50], 0
jne 0x1400b5997
test r15d, r15d
jle 0x1400b598f
movzx r13d, word [rsp + 0x30]
lea rbx, [rdi + 0x364]
xor r14d, r14d
nop dword [rax + rax]
mov rax, qword [rbx + 0x1c]
lea rsi, [rbx - 0x24]
test dword [rax + 0x28], 0x4000
je 0x1400b5937
movzx eax, byte [rbx]
lea rdx, [rdi + 0x158]
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
add r8, 8
imul rcx, rax, 0x78
mov qword [rsp + 0x20], rsi
add r8, rcx
mov rcx, qword [rsp + 0x40]
call fcn.1400adde0
cmp byte [r12 + 0x50], 0
jne 0x1400b5997
movzx eax, byte [rbx]
mov r9d, r14d
mov rdx, qword [rsp + 0x50]
mov r8, rsi
mov rcx, qword [rsp + 0x40]
mov word [rsp + 0x28], r13w
mov dword [rsp + 0x20], eax
call fcn.1400af2e0
mov rcx, qword [rsp + 0x38]
mov edx, r14d
mov r8, qword [rsp + 0x58]
mov eax, dword [rcx + 0x3c]
mov rcx, rdi
mov dword [rbx - 4], eax
call fcn.1400af6d0
mov qword [rsp + 0x58], rax
inc r14d
mov eax, dword [rbx - 0xc]
add rbx, 0x50
mov dword [rdi + 0x40], eax
cmp r14d, r15d
jl 0x1400b58f0
mov rax, rdi
jmp 0x1400b5a2f
mov rcx, qword [rsp + 0x40]
mov eax, dword [rdi + 0x48]
mov dword [rcx + 0x1d8], eax
lea rcx, [rdi + 0x158]
call fcn.1400ab4c0
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x1400b59dc
nop word [rax + rax]
mov rax, qword [rcx + 0x38]
mov rdx, rcx
mov rcx, r12
mov qword [rdi + 0x20], rax
call fcn.1400b16d0
mov rcx, qword [rdi + 0x20]
test rcx, rcx
jne 0x1400b59c0
cmp qword [r12 + 0x320], 0
je 0x1400b59f4
mov rdx, rdi
mov rcx, r12
call fcn.14002dcd0
jmp 0x1400b5a2d
cmp rdi, qword [r12 + 0x168]
jb 0x1400b5a25
cmp rdi, qword [r12 + 0x170]
jae 0x1400b5a25
mov rax, qword [r12 + 0x160]
mov qword [rdi], rax
dec dword [r12 + 0x14c]
mov qword [r12 + 0x160], rdi
jmp 0x1400b5a2d
mov rcx, rdi
call fcn.14002dc30
xor eax, eax
mov rdi, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400c3af0
add rsp, 0xb8
pop r15
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret