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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x47]
sub rsp, 0x90
mov rax, qword [rcx + 0x10]
mov rdi, rdx
mov r13, qword [rcx]
xor edx, edx
mov r14, r8
mov qword [rbp - 0x49], rax
mov r12, rcx
mov qword [rbp - 0x41], r13
lea rcx, [rbp - 0x29]
mov rbx, r9
lea r8d, [rdx + 0x30]
call fcn.1400cb080
xor edx, edx
lea r8d, [rdx + 0x40]
test rbx, rbx
je 0x14007d7e1
cmp dword [rbx], r8d
cmovge rbx, rdx
mov qword [rbp + 0x67], rbx
movzx r15d, word [rbp + 0x77]
mov ecx, 0xfeff
and r15w, cx
mov qword [rbp - 0x19], rbx
mov al, byte [r13 + 0x5c]
and al, 0x10
mov eax, dword [rdi]
cmove r15w, word [rbp + 0x77]
mov word [rbp - 0x51], r15w
cmp eax, r8d
jle 0x14007d81f
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r12
call fcn.14001d1cc
jmp 0x14007e19f
mov ecx, 1
test r15b, 0x20
cmovne eax, ecx
mov rcx, r13
mov dword [rbp - 0x4d], eax
imul eax, eax, 0x58
add eax, 0x39f
and eax, 0xfffffff8
movsxd rsi, eax
lea rdx, [rsi + 0x60]
call fcn.14001aa88
mov rdi, rax
mov qword [rbp + 7], rax
xor eax, eax
cmp byte [r13 + 0x61], al
je 0x14007d870
test rdi, rdi
je 0x14007e19f
mov rdx, rdi
mov rcx, r13
call fcn.14001a800
jmp 0x14007e19f
mov rax, qword [rbp + 0x57]
lea rcx, [rdi + 0x43]
mov qword [rdi + 8], rax
xor edx, edx
mov rax, qword [rbp + 0x6f]
mov qword [rdi + 0x18], rax
mov eax, dword [rbp - 0x4d]
mov qword [rdi], r12
lea r8d, [rdx + 0x25]
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x20], r14
or dword [rdi + 0x30], 0xffffffff
or dword [rdi + 0x2c], 0xffffffff
mov byte [rdi + 0x42], al
mov eax, dword [r12 + 0x44]
dec eax
mov dword [r12 + 0x44], eax
mov dword [rdi + 0x34], eax
mov dword [rdi + 0x38], eax
mov eax, dword [rbp + 0x7f]
mov word [rdi + 0x28], ax
mov word [rdi + 0x40], r15w
mov eax, dword [r12 + 0xac]
mov dword [rdi + 0x3c], eax
call fcn.1400cb080
movsxd rax, dword [rbp - 0x4d]
lea rcx, [rdi + 0x398]
imul r8, rax, 0x58
xor edx, edx
add r8, 0x60
call fcn.1400cb080
mov qword [rbp - 0x29], rdi
lea r8, [rdi + 0x68]
mov qword [rbp - 0x21], r8
lea rcx, [rsi + rdi]
mov qword [rbp - 0x11], rcx
lea rax, [rcx + 0x48]
mov qword [rcx + 0x38], rax
xor esi, esi
mov word [rcx + 0x2c], si
mov rdx, r14
mov dword [rcx + 0x28], esi
lea eax, [rsi + 3]
mov word [rcx + 0x30], ax
lea eax, [rsi + 8]
mov dword [rdi + 0x294], esi
mov rcx, r8
mov dword [r8 + 0x18], eax
lea rax, [r8 + 0x28]
mov qword [r8 + 0x20], rax
mov qword [r8], rdi
mov byte [r8 + 0x11], sil
mov qword [r8 + 8], rsi
mov dword [r8 + 0x14], esi
call fcn.140078a2c
mov ecx, 0x100
cmp dword [rbp - 0x4d], esi
jne 0x14007d97f
test rbx, rbx
je 0x14007d95a
mov al, byte [rbx]
mov byte [rdi + 0x43], al
test word [rbp - 0x51], cx
je 0x14007d968
mov eax, 1
mov byte [rdi + 0x47], al
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, r12
call fcn.1400376d4
mov r15, qword [rbp + 0x57]
jmp 0x14007d9d2
mov r15, qword [rbp + 0x57]
lea r13, [rdi + 0x290]
lea r14, [r15 + 0x4c]
movsxd rcx, dword [r13 + 4]
lea rdx, [r15 + 8]
mov eax, dword [r14]
lea r8, [rdi + 0x68]
mov dword [r13 + rcx*4 + 8], eax
mov eax, 1
add dword [r13 + 4], eax
movsxd rax, esi
imul rcx, rax, 0x70
add rdx, rcx
mov rcx, r12
call fcn.140078d00
inc esi
lea r14, [r14 + 0x70]
cmp esi, dword [r15]
jl 0x14007d98e
mov rbx, qword [rbp + 0x67]
xor esi, esi
mov r13, qword [rbp - 0x41]
lea r14, [rdi + 0x68]
mov rcx, r15
mov rdx, r14
call fcn.140078cc0
cmp byte [r13 + 0x61], sil
jne 0x14007e189
mov rax, qword [rbp - 0x21]
mov r15d, esi
mov edx, 2
cmp dword [rax + 0x14], esi
jle 0x14007da6b
mov r13d, dword [rbp - 0x4d]
lea ecx, [rdx - 1]
xor ebx, ebx
mov r14, qword [rax + 0x20]
test byte [rsi + r14 + 0x12], dl
jne 0x14007da52
cmp qword [rsi + r14 + 0x38], rbx
jne 0x14007da52
test r13d, r13d
je 0x14007da29
mov rcx, qword [rsi + r14]
call fcn.14007d720
test eax, eax
je 0x14007da46
mov r8d, dword [rdi + 0x38]
mov r9d, 0x10
mov rdx, qword [rsi + r14]
mov rcx, r12
call fcn.14004d510
or word [rsi + r14 + 0x12], 4
mov rax, qword [rbp - 0x21]
mov edx, 2
lea ecx, [rdx - 1]
add r15d, ecx
add rsi, 0x40
cmp r15d, dword [rax + 0x14]
jl 0x14007da05
mov rbx, qword [rbp + 0x67]
lea r14, [rdi + 0x68]
mov r13, qword [rbp - 0x41]
movzx eax, word [rbp - 0x51]
mov ecx, 0x100
mov rsi, qword [rbp + 0x6f]
and ax, cx
mov word [rbp + 0x67], ax
je 0x14007dab5
mov rdx, qword [rbp + 0x57]
mov r9, rsi
mov r8, r14
mov rcx, r12
call fcn.140079448
test eax, eax
je 0x14007daa3
mov r15d, 1
mov byte [rdi + 0x47], r15b
jmp 0x14007dab5
test rbx, rbx
jne 0x14007dab5
mov eax, 0x80
mov qword [rdi + 0x10], rsi
or word [rdi + 0x40], ax
mov r15d, dword [rbp - 0x4d]
mov eax, 1
cmp r15d, eax
jne 0x14007dadd
mov rdx, qword [rbp - 0x29]
test byte [rdx + 0x40], 0x20
jne 0x14007dadd
lea rcx, [rbp - 0x29]
call fcn.14007d544
xor r9d, r9d
test eax, eax
jne 0x14007db27
lea rcx, [rbp - 0x29]
call fcn.14007c414
test eax, eax
jne 0x14007e189
xor edx, edx
mov rcx, rdi
call fcn.14007cdd0
xor r9d, r9d
cmp byte [r13 + 0x61], r9b
jne 0x14007e189
cmp qword [rdi + 0x10], r9
je 0x14007db2d
movzx edx, word [rdi + 0x60]
mov rcx, rdi
inc dx
call fcn.14007cdd0
xor r9d, r9d
cmp byte [r13 + 0x61], r9b
jne 0x14007e189
cmp qword [rdi + 0x10], r9
jne 0x14007db3d
mov eax, dword [r13 + 0x30]
bt rax, 0xc
jae 0x14007db3d
or qword [rdi + 0x58], 0xffffffffffffffff
cmp dword [r12 + 0x30], r9d
jne 0x14007e189
cmp byte [r13 + 0x61], r9b
jne 0x14007e189
or qword [rbp - 0x31], 0xffffffffffffffff
mov r11d, 2
cmp byte [rdi + 0x42], r11b
jb 0x14007dd28
test rsi, rsi
je 0x14007dd28
mov eax, 0x100
test word [r13 + 0x5c], ax
jne 0x14007dd28
lea rbx, [rdi + 0x290]
mov rdx, rsi
mov rcx, rbx
call fcn.140078c50
mov rdx, qword [rbp - 0x19]
xor r9d, r9d
mov qword [rbp - 0x39], rax
mov r8, rax
test rdx, rdx
je 0x14007dbbb
mov rcx, rbx
call fcn.140078c50
mov r8, qword [rbp - 0x39]
or r8, rax
mov qword [rbp - 0x39], r8
xor r9d, r9d
movzx ecx, byte [rdi + 0x42]
mov edx, 1
lea ebx, [rcx - 1]
cmp ebx, edx
jl 0x14007dd22
mov r14, qword [rbp - 0x21]
lea r15, [rdi + 0x3e0]
imul r13, rcx, 0x58
movsxd rax, ecx
lea r12, [rdi + 0x398]
sub rax, rdx
add r13, 0x340
imul rax, rax, 0x58
add r13, rdi
add r15, rax
lea eax, [rbx + 1]
movsxd rcx, eax
imul rax, rcx, 0x58
add r12, rax
mov r10, qword [r15]
mov rsi, qword [rdi + 8]
movzx eax, byte [r10 + 0x10]
imul r11, rax, 0x70
test byte [r11 + rsi + 0x44], 8
je 0x14007dcf6
cmp word [rbp + 0x67], r9w
jne 0x14007dc3a
test dword [r10 + 0x28], 0x1000
je 0x14007dcf6
mov r9, qword [r10 + 8]
test r8, r9
jne 0x14007dcf6
mov rcx, qword [r14 + 0x20]
movsxd rdx, dword [r14 + 0x14]
mov r8, rcx
shl rdx, 6
add rdx, rcx
cmp rcx, rdx
jae 0x14007dc8f
mov eax, 0x40
test qword [r8 + 0x38], r9
je 0x14007dc82
mov rax, qword [r8]
test byte [rax + 4], 1
je 0x14007dc8a
movsx eax, word [rax + 0x30]
cmp eax, dword [r11 + rsi + 0x4c]
jne 0x14007dc8a
mov eax, 0x40
add r8, rax
cmp r8, rdx
jb 0x14007dc63
cmp r8, rdx
jb 0x14007dcf1
not r9
and qword [rbp - 0x31], r9
cmp rcx, rdx
jae 0x14007dcbb
mov edi, 0x40
mov rax, qword [rcx + 0x38]
test qword [r10 + 8], rax
je 0x14007dcaf
or word [rcx + 0x12], 4
add rcx, rdi
cmp rcx, rdx
jb 0x14007dca0
mov rdi, qword [rbp + 7]
movzx ecx, byte [rdi + 0x42]
lea eax, [rcx - 1]
cmp ebx, eax
je 0x14007dcde
sub ecx, ebx
mov rdx, r12
dec ecx
imul eax, ecx, 0x58
mov rcx, r13
movsxd r8, eax
call fcn.1400cac20
mov cl, byte [rdi + 0x42]
mov edx, 1
sub cl, dl
sub dword [rbp - 0x4d], edx
mov byte [rdi + 0x42], cl
mov r14, qword [rbp - 0x21]
jmp 0x14007dcf6
mov edx, 1
mov r8, qword [rbp - 0x39]
sub ebx, edx
sub r12, 0x58
sub r13, 0x58
sub r15, 0x58
mov r9d, 0
cmp ebx, edx
jge 0x14007dc09
mov r12, qword [rbp + 0x4f]
mov r13, qword [rbp - 0x41]
mov r15d, dword [rbp - 0x4d]
mov r11d, 2
mov rcx, qword [rdi]
movzx ebx, r9w
movsx eax, word [rdi + 0x60]
movzx r8d, word [rbp - 0x51]
mov r10, qword [rbp + 0x57]
add dword [rcx + 0xac], eax
mov dword [rbp + 0x67], ebx
test r8b, 4
je 0x14007ddd4
mov rax, qword [rdi + 0x3e0]
mov edx, 8
mov ecx, dword [rax + 0x28]
bt ecx, 0xc
jb 0x14007dd8f
mov ebx, r9d
mov dword [rbp + 0x67], ebx
test dl, r8b
je 0x14007ddd4
mov rax, qword [r10 + 0x28]
mov dword [rbp + 0x67], ebx
cmp dword [rax + 0x54], r9d
jne 0x14007ddd4
bt ecx, 0xd
jae 0x14007dd8f
movzx ebx, r9w
mov dword [rbp + 0x67], ebx
test r8b, 0x10
je 0x14007ddd4
mov eax, ecx
movzx ebx, r9w
and eax, 0x1000
mov dword [rbp + 0x67], ebx
neg eax
sbb al, al
add al, r11b
mov byte [rdi + 0x45], al
mov rax, qword [r10 + 0x28]
test byte [rax + 0x40], 0x20
jne 0x14007ddd4
mov eax, 0x40
mov dword [rbp + 0x67], ebx
test al, cl
je 0x14007ddd4
mov rax, qword [rdi + 0x3e0]
and ecx, 0xffffffbf
movzx ebx, r8w
and bx, dx
mov dword [rbp + 0x67], ebx
mov dword [rax + 0x28], ecx
test r15d, r15d
jle 0x14007e0bc
mov eax, r15d
lea r13, [rdi + 0x3e0]
mov qword [rbp - 0x39], rax
movzx eax, byte [r13 - 0x1c]
mov r15d, 0xfff0bdc0
mov rdx, qword [rbp - 0x41]
imul r14, rax, 0x70
mov rsi, qword [r14 + r10 + 0x28]
mov rcx, qword [rsi + 0x70]
test rcx, rcx
je 0x14007de2e
mov rax, qword [rdx + 0x20]
mov r15d, r9d
add rax, 0x18
cmp qword [rax], rcx
je 0x14007de2e
mov r11d, 1
add r15d, r11d
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x14007de22
mov rax, qword [r13]
mov ecx, 2
mov qword [rbp + 0x4f], rax
test byte [rsi + 0x40], cl
jne 0x14007dea6
cmp qword [rsi + 0x18], r9
jne 0x14007dea6
test dword [rax + 0x28], 0x400
je 0x14007def1
mov rbx, qword [rsi + 0x60]
jmp 0x14007de62
cmp qword [rbx], rdx
je 0x14007de67
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14007de59
mov r8d, dword [r14 + r10 + 0x4c]
mov edx, Ordinal_167
mov rcx, qword [rbp - 0x49]
mov dword [rsp + 0x20], r9d
xor r9d, r9d
call fcn.1400373e4
mov rcx, qword [rbp - 0x49]
mov r9d, 0xfffffff4
mov r8, rbx
mov edx, eax
call fcn.140037ee8
mov rax, qword [rbp + 0x4f]
xor r9d, r9d
movzx r8d, word [rbp - 0x51]
mov r10, qword [rbp + 0x57]
mov r11, qword [rbp - 0x49]
test dword [rax + 0x28], 0x200
je 0x14007e082
test byte [rsi + 0x40], 0x20
mov edx, reloc.WLDAP32.dll_Ordinal_97
mov rbx, qword [rax + 0x20]
lea esi, [rdx - 0x5f]
je 0x14007dfb4
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, sil
jne 0x14007dfb4
test r8b, 0x20
je 0x14007dfb4
mov r8d, dword [r13 - 0x44]
mov edx, r9d
jmp 0x14007e012
cmp dword [rsi + 0x54], r9d
jne 0x14007dea6
mov ecx, 0x40
test byte [rax + 0x28], cl
jne 0x14007dea6
test r8b, 0x20
jne 0x14007dea6
mov ecx, reloc.WLDAP32.dll_Ordinal_97
cmp byte [rdi + 0x45], r9b
je 0x14007df1f
mov eax, dword [r14 + r10 + 0x4c]
mov ecx, 0x62
mov dword [rdi + 0x2c], eax
mov edx, dword [r14 + r10 + 0x4c]
mov r9, rsi
mov dword [rsp + 0x20], ecx
mov r8d, r15d
mov rcx, r12
call fcn.14005f3d4
xor r9d, r9d
cmp byte [rdi + 0x45], r9b
jne 0x14007df83
lea eax, [r9 + 0x40]
cmp word [rsi + 0x46], ax
jge 0x14007df83
test byte [rsi + 0x40], 0x20
jne 0x14007df83
mov rax, qword [rbp + 0x57]
mov ecx, r9d
mov rax, qword [r14 + rax + 0x60]
test rax, rax
je 0x14007df6b
lea edx, [r9 + 1]
add ecx, edx
shr rax, 1
jne 0x14007df64
movsxd r8, ecx
mov r9d, 0xfffffffd
mov rcx, qword [rbp - 0x49]
or edx, 0xffffffff
call fcn.140037ee8
xor r9d, r9d
mov r11, qword [rbp - 0x49]
movzx r8d, word [rbp - 0x51]
mov r10, qword [rbp + 0x57]
movsxd rax, dword [r11 + 0x90]
test eax, eax
jle 0x14007dfab
lea rcx, [rax + rax*2]
mov rax, qword [r11 + 0x88]
mov word [rax + rcx*8 - 0x16], bx
mov rax, qword [rbp + 0x4f]
jmp 0x14007deaa
cmp byte [rdi + 0x45], r9b
je 0x14007dfed
mov rax, qword [r14 + r10 + 0x28]
mov r8d, dword [rbp + 0x7f]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14007dfe2
mov eax, 1
cmp rcx, rbx
je 0x14007dfe2
mov rcx, qword [rcx + 0x28]
add r8d, eax
test rcx, rcx
jne 0x14007dfd1
mov edx, 0x62
mov dword [rdi + 0x30], r8d
jmp 0x14007e012
mov eax, dword [rbp + 0x7f]
test eax, eax
je 0x14007e004
test r8b, 0x20
je 0x14007e004
mov r8d, eax
mov edx, reloc.WLDAP32.dll_Ordinal_96
jmp 0x14007e012
mov r8d, dword [r12 + 0x34]
lea eax, [r8 + 1]
mov dword [r12 + 0x34], eax
mov dword [r13 - 0x40], r8d
test edx, edx
je 0x14007e082
mov r9d, dword [rbx + 0x58]
mov rcx, r11
mov dword [rsp + 0x20], r15d
call fcn.1400373e4
mov rdx, rbx
mov rcx, r12
call fcn.140037fa8
mov rax, qword [rbp + 0x4f]
mov ebx, 1
test byte [rax + 0x28], 0xf
je 0x14007e07d
test dword [rax + 0x28], 0x88002
jne 0x14007e07d
test byte [rdi + 0x40], bl
jne 0x14007e07d
xor r9d, r9d
cmp byte [rdi + 0x47], sil
je 0x14007e087
mov rdx, qword [rbp - 0x49]
movsxd rax, dword [rdx + 0x90]
test eax, eax
jle 0x14007e087
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
mov word [rax + rcx*8 - 0x16], si
jmp 0x14007e087
xor r9d, r9d
jmp 0x14007e087
mov ebx, 1
test r15d, r15d
js 0x14007e09a
mov edx, r15d
mov rcx, r12
call fcn.14005895c
xor r9d, r9d
movzx r8d, word [rbp - 0x51]
add r13, 0x58
sub qword [rbp - 0x39], rbx
mov ebx, dword [rbp + 0x67]
mov r10, qword [rbp + 0x57]
jne 0x14007ddeb
mov r13, qword [rbp - 0x41]
mov r15d, dword [rbp - 0x4d]
mov rax, qword [rbp - 0x49]
mov eax, dword [rax + 0x90]
mov dword [rdi + 0x4c], eax
cmp byte [r13 + 0x61], r9b
jne 0x14007e189
mov r14d, r9d
test r15d, r15d
jle 0x14007e184
lea rsi, [rdi + 0x3c4]
mov rax, qword [rsi + 0x1c]
test dword [rax + 0x28], 0x4000
je 0x14007e126
movzx eax, byte [rsi]
lea rdx, [rsi - 0x2c]
mov r8, qword [rbp + 0x57]
mov r9, qword [rbp - 0x31]
add r8, 8
imul rcx, rax, 0x70
mov qword [rsp + 0x20], rdx
lea rdx, [rdi + 0x68]
add r8, rcx
mov rcx, r12
call fcn.140079688
xor eax, eax
cmp byte [r13 + 0x61], al
jne 0x14007e189
movzx r9d, word [rbp - 0x51]
lea rbx, [rsi - 0x2c]
mov rdx, qword [rbp + 0x57]
mov r8, rbx
mov rcx, r12
call fcn.14007595c
mov rcx, qword [rbp - 0x49]
mov r9d, r14d
mov rdx, rcx
mov r8, rdi
mov eax, dword [rcx + 0x90]
mov rcx, r12
mov dword [rsi - 0xc], eax
mov rax, qword [rbp - 0x31]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call fcn.1400769dc
mov ecx, dword [rsi - 0x14]
inc r14d
add rsi, 0x58
mov qword [rbp - 0x31], rax
mov dword [rdi + 0x34], ecx
cmp r14d, r15d
jl 0x14007e0e6
mov rax, rdi
jmp 0x14007e1a1
mov eax, dword [rdi + 0x3c]
mov rdx, rdi
mov rcx, r13
mov dword [r12 + 0xac], eax
call fcn.14007a448
xor eax, eax
mov rbx, qword [rsp + 0xe0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret