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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0xf0
mov rax, qword [0x180126010]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rax, qword [rcx + 0x10]
mov r12, rcx
mov rsi, qword [rcx]
mov rbp, r8
mov r13, qword [rsp + 0x140]
mov rdi, r9
mov qword [rsp + 0x38], rcx
mov r8, rdx
xor ecx, ecx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0xb8], rcx
test r9, r9
je 0x18007d42c
cmp dword [r9], 0x40
cmovge rdi, rcx
movzx ecx, word [rsp + 0x148]
mov r9d, 0xfbff
mov eax, dword [r8]
and cx, r9w
mov qword [rsp + 0xa8], rdi
movzx edx, byte [rsi + 0x4c]
and dl, 0x20
cmove cx, word [rsp + 0x148]
mov word [rsp + 0x30], cx
cmp eax, 0x40
jle 0x18007d47f
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r12
call fcn.180008fd0
xor eax, eax
jmp 0x18007df84
test cl, 0x40
mov qword [rsp + 0xe8], rbx
mov ecx, 1
mov qword [rsp + 0xe0], r14
cmovne eax, ecx
mov qword [rsp + 0xd8], 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.180006340
mov qword [rsp + 0x90], rax
mov r15, rax
test rax, rax
je 0x18007d4e1
lea r8, [r14 + 0x60]
xor edx, edx
mov rcx, rax
call fcn.1800d0180
cmp byte [rsi + 0x50], 0
je 0x18007d545
test r15, r15
je 0x18007df6a
cmp qword [rsi + 0x320], 0
je 0x18007d50a
mov rdx, r15
mov rcx, rsi
call fcn.180005ff0
jmp 0x18007df6a
cmp r15, qword [rsi + 0x168]
jb 0x18007d538
cmp r15, qword [rsi + 0x170]
jae 0x18007d538
mov rax, qword [rsi + 0x160]
mov qword [r15], rax
dec dword [rsi + 0x14c]
mov qword [rsi + 0x160], r15
jmp 0x18007df6a
mov rcx, r15
call fcn.180005f40
jmp 0x18007df6a
mov eax, dword [rsp + 0x44]
mov rdx, 0xffffffffffffffff
mov rsi, qword [rsp + 0x60]
mov qword [r15 + 0x4c], rdx
mov byte [r15 + 0x39], al
mov rax, qword [rsp + 0x48]
mov qword [r15 + 8], rax
mov qword [r15], r12
mov qword [r15 + 0x10], rdi
mov qword [r15 + 0x18], r13
mov rsi, qword [rsi + 0x30]
mov qword [rsp + 0x80], rdx
movsxd rbx, dword [rsi + 0x78]
lea eax, [rbx + 1]
mov dword [rsi + 0x78], eax
lea eax, [rbx - 1]
test ebx, eax
jne 0x18007d5b9
mov rdx, qword [rsi + 0x80]
lea eax, [rbx*2 + 1]
mov rcx, qword [rsi]
movsxd r8, eax
shl r8, 2
call fcn.1800064f0
mov qword [rsi + 0x80], rax
mov rdx, 0xffffffffffffffff
mov rcx, qword [rsi + 0x80]
test rcx, rcx
je 0x18007d5c8
mov dword [rcx + rbx*4], edx
lea rsi, [r15 + 0x158]
not ebx
mov dword [r15 + 0x40], ebx
lea rcx, [r14 + r15]
mov dword [r15 + 0x44], ebx
xor r14d, r14d
movzx ebx, word [rsp + 0x30]
mov word [r15 + 0x32], bx
mov eax, dword [r12 + 0x1d8]
lea r12, [r15 + 0x54]
mov dword [r15 + 0x48], eax
lea rax, [rcx + 0x40]
mov qword [rsp + 0x98], r15
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xb0], rcx
mov qword [rcx + 0x30], rax
lea rax, [rsi + 0x28]
mov dword [rcx + 0x2c], 0x40000
mov dword [rcx + 0x28], r14d
mov dword [r12], r14d
mov qword [rsi + 0x20], rax
mov qword [rsi], r15
mov qword [rsi + 8], r14
mov dword [rsi + 0x14], r14d
mov dword [rsi + 0x18], 8
mov byte [rsi + 0x10], 0x48
test rbp, rbp
je 0x18007d67d
cmp byte [rbp], 0x48
mov rcx, rsi
je 0x18007d662
xor r8d, r8d
mov rdx, rbp
call fcn.180074500
jmp 0x18007d67d
mov rdx, qword [rbp + 0x10]
mov r8b, 0x48
call fcn.1800746e0
mov rdx, qword [rbp + 0x18]
mov r8b, 0x48
mov rcx, rsi
call fcn.1800746e0
mov rax, qword [rsp + 0xa0]
mov esi, r14d
mov rbp, qword [rsp + 0x38]
cmp dword [rax + 0x14], r14d
jle 0x18007d70b
mov r13d, dword [rsp + 0x44]
mov rbx, r14
nop dword [rax + rax]
test r13d, r13d
je 0x18007d6c3
mov rax, qword [rax + 0x20]
mov edx, 2
mov rcx, qword [rbx + rax]
call fcn.18003c4b0
test eax, eax
je 0x18007d6ee
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rax + 0x20]
mov r9d, 0x10
mov r8d, dword [r15 + 0x44]
mov rcx, rbp
mov rdx, qword [rdx + rbx]
call fcn.180040500
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x20]
or byte [rcx + rbx + 0x1c], 4
mov rax, qword [rsp + 0xa0]
inc esi
add rbx, 0x38
cmp esi, dword [rax + 0x14]
jl 0x18007d6a0
mov r13, qword [rsp + 0x78]
movzx ebx, word [rsp + 0x30]
mov esi, dword [rsp + 0x44]
mov r9d, 0x400
test esi, esi
jne 0x18007d730
test rdi, rdi
je 0x18007d725
movzx eax, byte [rdi]
mov byte [r15 + 0x34], al
test r9w, bx
je 0x18007d730
mov byte [r15 + 0x38], 1
mov r11, qword [rsp + 0x48]
mov r8d, r14d
cmp dword [r11], r14d
jle 0x18007d75c
lea rdx, [r11 + 0x50]
mov eax, dword [rdx]
lea rdx, [rdx + 0x78]
movsxd rcx, dword [r12]
inc r8d
mov dword [r12 + rcx*4 + 4], eax
inc dword [r12]
cmp r8d, dword [r11]
jl 0x18007d741
lea rcx, [r15 + 0x158]
mov ebx, dword [rcx + 0x14]
sub ebx, 1
js 0x18007d79d
nop dword [rax + rax]
mov r8d, ebx
lea rdx, [r15 + 0x158]
mov rcx, r11
call fcn.180075820
sub ebx, 1
mov r11, qword [rsp + 0x48]
jns 0x18007d770
lea r12, [r15 + 0x54]
mov r9d, 0x400
lea rcx, [r15 + 0x158]
mov r10, qword [rsp + 0x50]
cmp byte [r10 + 0x50], r14b
jne 0x18007df4f
movzx eax, word [rsp + 0x30]
mov ebx, 0x200
and ax, r9w
mov word [rsp + 0x58], ax
je 0x18007d7eb
mov r8, rcx
mov r9, r13
mov rcx, rbp
mov rdx, r11
call fcn.1800762a0
test eax, eax
je 0x18007d7dd
mov byte [r15 + 0x38], 1
jmp 0x18007d7eb
test rdi, rdi
jne 0x18007d7eb
or word [r15 + 0x32], bx
mov qword [r15 + 0x10], r13
cmp esi, 1
jne 0x18007d805
lea rcx, [rsp + 0x98]
call fcn.18007d0e0
test eax, eax
jne 0x18007d99b
mov rdx, qword [rsp + 0x98]
xor r11d, r11d
mov rbp, qword [rsp + 0xb0]
xor r10b, r10b
mov qword [rsp + 0x88], rdx
mov edi, r11d
mov r13d, r11d
mov ebx, r11d
mov rax, qword [rdx]
mov rcx, qword [rdx + 8]
movzx edx, byte [rdx + 0x39]
mov dword [rsp + 0x70], edx
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0x40]
mov qword [rbp + 0x30], rax
mov dword [rbp + 0x2c], 0x40000
mov dword [rbp + 0x28], r11d
test edx, edx
je 0x18007d93d
mov r12, qword [rsp + 0x88]
lea rsi, [rcx + 0x44]
mov r15, qword [rsp + 0x68]
nop
mov byte [rbp + 0x10], r14b
mov edx, r11d
movsxd rax, dword [r12 + 0x54]
mov rcx, r11
test eax, eax
jle 0x18007d8a3
mov r8d, dword [rsi + 0xc]
mov r9, rax
lea rax, [r12 + 0x58]
nop
cmp dword [rax], r8d
je 0x18007d8df
inc edx
inc rcx
add rax, 4
cmp rcx, r9
jl 0x18007d890
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 + 0x98]
test al, 0xa
mov rax, r13
cmove rax, rdi
mov rdi, rax
mov rax, qword [rsi - 0x1c]
mov rdx, rdi
test byte [rax + 0x48], 0x10
je 0x18007d8eb
call fcn.18007b3c0
jmp 0x18007d8f0
mov ecx, edx
mov eax, 1
shl rax, cl
jmp 0x18007d8a6
call fcn.18007acb0
mov ebx, eax
test eax, eax
jne 0x18007d908
mov rdx, rdi
lea rcx, [rsp + 0x98]
call fcn.18007baf0
mov ebx, eax
or r13, qword [rbp + 8]
test ebx, ebx
jne 0x18007d931
cmp byte [r15 + 0x50], bl
jne 0x18007d931
movzx r10d, byte [rsp + 0x40]
inc r14d
add rsi, 0x78
mov r11d, ebx
cmp r14d, dword [rsp + 0x70]
jl 0x18007d870
mov r15, qword [rsp + 0x90]
lea r12, [r15 + 0x54]
mov rcx, qword [rsp + 0x68]
mov rdx, rbp
call fcn.180079d90
test ebx, ebx
jne 0x18007df4a
xor edx, edx
mov rcx, r15
call fcn.18007c830
mov r10, qword [rsp + 0x50]
cmp byte [r10 + 0x50], bl
jne 0x18007df4f
cmp qword [r15 + 0x10], 0
je 0x18007d991
movzx edx, word [r15 + 0x30]
mov rcx, r15
inc dx
call fcn.18007c830
mov r10, qword [rsp + 0x50]
cmp byte [r10 + 0x50], bl
jne 0x18007df4f
mov r13, qword [rsp + 0x78]
xor r14d, r14d
jmp 0x18007d9a0
mov r10, qword [rsp + 0x50]
cmp qword [r15 + 0x10], 0
jne 0x18007d9b9
test dword [r10 + 0x2c], 0x20000
je 0x18007d9b9
mov qword [r15 + 0x28], 0xffffffffffffffff
mov r11, qword [rsp + 0x38]
cmp dword [r11 + 0x4c], 0
jne 0x18007df54
cmp byte [r10 + 0x50], 0
jne 0x18007df54
cmp byte [r15 + 0x39], 2
mov esi, 0x1000
jb 0x18007db24
test r13, r13
je 0x18007db24
mov eax, 0x400
test word [r10 + 0x4c], ax
jne 0x18007db24
xor eax, eax
mov edi, eax
cmp dword [r13], eax
jle 0x18007da31
mov ebx, eax
nop dword [rax]
mov rdx, qword [r13 + 8]
mov rcx, r12
mov rdx, qword [rbx + rdx]
call fcn.180074750
or r14, rax
lea rbx, [rbx + 0x28]
inc edi
cmp edi, dword [r13]
jl 0x18007da10
xor eax, eax
mov rbp, qword [rsp + 0xa8]
test rbp, rbp
je 0x18007da76
cmp dword [rbp], 0
mov rbx, rax
mov esi, eax
jle 0x18007da6e
mov rdi, rax
nop dword [rax]
mov rdx, qword [rbp + 8]
mov rcx, r12
mov rdx, qword [rdi + rdx]
call fcn.180074750
or rbx, rax
lea rdi, [rdi + 0x28]
inc esi
cmp esi, dword [rbp]
jl 0x18007da50
or r14, rbx
mov esi, 0x1000
movzx eax, byte [r15 + 0x39]
cmp al, 2
jb 0x18007db1a
mov r9, qword [r15 + 8]
movzx r10d, word [rsp + 0x58]
nop dword [rax]
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 0x18007db1a
test r10w, r10w
jne 0x18007dabf
test dword [r8 + 0x28], esi
je 0x18007db1a
mov r8, qword [r8 + 8]
test r14, r8
jne 0x18007db1a
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rcx + 0x20]
movsxd rcx, dword [rcx + 0x14]
imul rdx, rcx, 0x38
add rdx, rax
cmp rax, rdx
jae 0x18007db03
test qword [rax + 0x30], r8
je 0x18007daf3
mov rcx, qword [rax]
test byte [rcx + 4], 1
je 0x18007dafe
add rax, 0x38
cmp rax, rdx
jb 0x18007dae4
jmp 0x18007db03
cmp rax, rdx
jb 0x18007db1a
movzx eax, byte [r15 + 0x39]
dec dword [rsp + 0x44]
dec al
mov byte [r15 + 0x39], al
cmp al, 2
jae 0x18007da90
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x50]
mov rcx, qword [r15]
movsx eax, word [r15 + 0x30]
movzx ebx, word [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
add dword [rcx + 0x1d8], eax
test bl, 4
je 0x18007db60
mov rcx, qword [r15 + 0x380]
test dword [rcx + 0x28], esi
je 0x18007db60
mov byte [r15 + 0x36], 1
mov rax, qword [rdx + 0x28]
test byte [rax + 0x48], 0x20
jne 0x18007db60
and dword [rcx + 0x28], 0xffffffbf
mov esi, dword [rsp + 0x44]
test esi, esi
jle 0x18007ddb5
mov r8d, dword [rsp + 0x150]
lea r13, [r15 + 0x380]
mov qword [rsp + 0x68], rsi
movzx eax, byte [r13 - 0x1c]
xor r9d, r9d
imul rbp, rax, 0x78
mov esi, 0xfff0bdc0
mov r12, 0xfffffffffff0bdc0
add rbp, rdx
mov r14, qword [rbp + 0x28]
mov rdx, qword [r14 + 0x70]
test rdx, rdx
je 0x18007dbd2
mov ecx, dword [r10 + 0x28]
mov esi, r9d
mov r12d, r9d
test ecx, ecx
jle 0x18007dbd2
mov rax, qword [r10 + 0x20]
add rax, 0x18
nop
cmp qword [rax], rdx
je 0x18007dbd2
inc esi
inc r12
add rax, 0x20
cmp esi, ecx
jl 0x18007dbc0
movzx ecx, byte [r14 + 0x48]
mov rdi, qword [r13]
test cl, 2
jne 0x18007dcf5
cmp qword [r14 + 0x18], 0
jne 0x18007dcf5
mov eax, dword [rdi + 0x28]
bt eax, 0xa
jae 0x18007dc49
mov rbx, qword [r14 + 0x60]
test rbx, rbx
je 0x18007dc0f
cmp qword [rbx], r10
je 0x18007dc0f
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x18007dc01
mov r8d, dword [rbp + 0x50]
mov edx, 0x93
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0x20], r9d
xor r9d, r9d
call fcn.180026570
mov rcx, qword [rsp + 0x60]
mov r9d, 0xfffffff6
mov r8, rbx
mov edx, eax
call fcn.180026b50
movzx ebx, word [rsp + 0x30]
jmp 0x18007dced
test cl, 0x10
jne 0x18007dcf5
test al, 0x40
jne 0x18007dcd4
test bl, 0x10
jne 0x18007dcd4
cmp byte [r15 + 0x36], 0
mov ecx, 0x36
je 0x18007dc73
mov eax, dword [rbp + 0x50]
mov ecx, 0x37
mov dword [r15 + 0x4c], eax
mov edx, dword [rbp + 0x50]
mov r9, r14
mov dword [rsp + 0x20], ecx
mov r8d, esi
mov rcx, r11
call fcn.180057a40
cmp byte [r15 + 0x36], 0
jne 0x18007dced
cmp word [r14 + 0x42], 0x40
jge 0x18007dced
test byte [r14 + 0x48], 0x20
jne 0x18007dced
mov rax, qword [rbp + 0x68]
xor ecx, ecx
test rax, rax
je 0x18007dcb7
nop dword [rax]
inc ecx
shr rax, 1
jne 0x18007dcb0
mov rax, qword [rsp + 0x60]
mov r9d, 0xfffffff2
movsxd r8, ecx
mov rcx, rax
mov edx, dword [rax + 0x3c]
dec edx
call fcn.180026b50
jmp 0x18007dced
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.180045b90
mov r8d, dword [rsp + 0x150]
test dword [rdi + 0x28], 0x200
je 0x18007dd30
test byte [r14 + 0x48], 0x20
mov edx, 0x36
mov rdi, qword [rdi + 0x20]
je 0x18007de9f
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
jne 0x18007de9f
test bl, 0x40
je 0x18007de9f
mov eax, dword [r13 - 0x3c]
mov dword [r13 - 0x38], eax
mov r14, qword [rsp + 0x38]
test esi, esi
js 0x18007dd85
mov rax, qword [r14 + 0x1c0]
mov rcx, r14
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x16c]
bt eax, esi
jb 0x18007dd85
bts eax, esi
mov r8, r12
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 + r12*4 + 0x170], edx
cmp esi, 1
jne 0x18007dd85
call fcn.18004d290
mov r8d, dword [rsp + 0x150]
add r13, 0x50
sub qword [rsp + 0x68], 1
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x38]
movzx ebx, word [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
jne 0x18007db80
mov esi, dword [rsp + 0x44]
mov r13, qword [rsp + 0x60]
mov eax, dword [r13 + 0x3c]
mov dword [r15 + 0x3c], eax
cmp byte [r10 + 0x50], 0
jne 0x18007df4f
test esi, esi
jle 0x18007de97
mov rbp, qword [rsp + 0x38]
lea rbx, [r15 + 0x364]
movzx r14d, word [rsp + 0x30]
xor edi, edi
nop dword [rax]
mov rax, qword [rbx + 0x1c]
test dword [rax + 0x28], 0x4000
je 0x18007de40
movzx eax, byte [rbx]
lea rdx, [rbx - 0x24]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x80]
add r8, 8
imul rcx, rax, 0x78
mov qword [rsp + 0x20], rdx
lea rdx, [r15 + 0x158]
add r8, rcx
mov rcx, rbp
call fcn.180076540
mov r10, qword [rsp + 0x50]
cmp byte [r10 + 0x50], 0
jne 0x18007dfa3
movzx eax, byte [rbx]
lea r8, [rbx - 0x24]
mov rdx, qword [rsp + 0x48]
mov r9d, edi
mov word [rsp + 0x28], r14w
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.180077940
mov eax, dword [r13 + 0x3c]
mov edx, edi
mov r8, qword [rsp + 0x80]
mov rcx, r15
mov dword [rbx - 4], eax
call fcn.180077dd0
mov qword [rsp + 0x80], rax
inc edi
mov eax, dword [rbx - 0xc]
add rbx, 0x50
mov dword [r15 + 0x40], eax
cmp edi, esi
jl 0x18007ddf0
mov rax, r15
jmp 0x18007df6c
cmp byte [r15 + 0x36], 0
je 0x18007ded4
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x18007dec4
cmp rcx, rdi
je 0x18007dec4
mov rcx, qword [rcx + 0x28]
inc r8d
test rcx, rcx
jne 0x18007deb3
mov r14, qword [rsp + 0x38]
mov edx, 0x37
mov dword [r15 + 0x50], r8d
jmp 0x18007df09
test r8d, r8d
je 0x18007def8
test bl, 0x40
je 0x18007def8
mov r14, qword [rsp + 0x38]
movzx eax, bx
mov ecx, 0x1000
and ax, cx
neg ax
sbb edx, edx
add edx, 0x36
jmp 0x18007df09
mov r14, qword [rsp + 0x38]
mov r8d, dword [r14 + 0x50]
lea eax, [r8 + 1]
mov dword [r14 + 0x50], eax
mov rcx, qword [rsp + 0x60]
mov eax, r8d
mov dword [r13 - 0x38], eax
mov r9d, dword [rdi + 0x58]
mov dword [rsp + 0x20], esi
call fcn.180026570
mov rbx, qword [r14 + 0x10]
mov rdx, rdi
mov rcx, r14
call fcn.18004e060
mov edx, 0xffffffff
mov r8, rax
mov rcx, rbx
lea r9d, [rdx - 5]
call fcn.180026b50
jmp 0x18007dd35
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x38]
mov eax, dword [r15 + 0x48]
mov rdx, r15
mov rcx, r10
mov dword [r11 + 0x1d8], eax
call fcn.180079f20
xor eax, eax
mov r14, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xe8]
mov r15, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1800cd010
add rsp, 0xf0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r11, rbp
jmp 0x18007df54