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

Disassembly:
mov word [rsp + 0x10], dx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov rax, qword [rcx]
movzx r15d, dx
xor edx, edx
mov qword [rsp + 0x90], rax
mov rdi, rcx
mov dword [rsp + 0x48], edx
movzx ecx, byte [rcx + 0x3a]
mov ebp, 1
mov r13, qword [rax]
movzx esi, dx
mov qword [rsp + 0x98], r13
movzx r12d, dx
mov qword [rsp + 0x80], rdx
mov dword [rsp + 0x108], ecx
cmp ecx, ebp
ja 0x14011fc17
mov ebx, ebp
jmp 0x14011fc27
cmp ecx, 2
mov ebx, 0xa
mov eax, 5
cmove ebx, eax
mov rax, qword [rdi + 0x10]
mov dword [rsp + 0x44], ebx
test rax, rax
je 0x14011fc44
test r15w, r15w
je 0x14011fc44
mov r14d, dword [rax]
mov dword [rsp + 0x40], r14d
jmp 0x14011fc4b
mov r14d, edx
mov dword [rsp + 0x40], edx
lea eax, [rcx + 4]
imul eax, ebx
lea ecx, [r14 + rax*8]
add ecx, ecx
movsxd rdx, ecx
mov rcx, r13
call fcn.140097cc0
mov qword [rsp + 0x68], rax
mov rdx, rax
test rax, rax
jne 0x14011fc77
lea eax, [rdx + 7]
jmp 0x1401204d7
movsxd r8, dword [rsp + 0x108]
xorps xmm0, xmm0
mov eax, ebx
mov r10, rdx
shl rax, 5
lea r9, [rdx + rax]
shl r8, 3
movups xmmword [r9], xmm0
mov qword [rsp + 0x58], rdx
add rdx, 0x18
lea rcx, [r9 + rax]
mov qword [rsp + 0x70], r9
movups xmmword [r9 + 0x10], xmm0
lea eax, [rbx + rbx]
mov qword [rdx], rcx
lea rdx, [rdx + 0x20]
add rcx, r8
dec eax
test eax, eax
jg 0x14011fcb1
test r14d, r14d
je 0x14011fce5
movsxd r8, r14d
xor edx, edx
add r8, r8
mov qword [rsp + 0x80], rcx
call fcn.140175ab0
mov r10, qword [rsp + 0x58]
mov r9, qword [rsp + 0x70]
mov rax, qword [rsp + 0x90]
mov ecx, Ordinal_50
mov eax, dword [rax + 0xb4]
cmp eax, ecx
cmovb ecx, eax
mov word [r9 + 0x10], cx
mov ecx, ebp
test r14d, r14d
je 0x14011fd26
movzx eax, r14b
mov edx, 0xffffffff
mov r14d, dword [rsp + 0x108]
test r14b, r14b
cmovne eax, edx
mov byte [r9 + 0x16], al
jmp 0x14011fd2e
mov r14d, dword [rsp + 0x108]
xor ebx, ebx
mov dword [rsp + 0x4c], ebx
mov r8d, ebx
test r14b, r14b
je 0x140120258
mov r14d, ebx
mov qword [rsp + 0x60], rbx
nop dword [rax + rax]
mov dword [rsp + 0x100], ebx
mov edx, ebx
test ecx, ecx
jle 0x14012018c
lea r15, [r9 + 0x10]
mov eax, ecx
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x88], rax
nop dword [rax]
nop dword [rax + rax]
mov r13, qword [rdi + 0x48]
test r13, r13
je 0x140120167
nop dword [rax]
mov rbp, qword [r15 - 0x10]
movzx r11d, byte [r15 + 6]
mov rax, rbp
not rax
mov qword [rsp + 0x78], rbx
test qword [r13], rax
jne 0x140120143
mov r10, qword [r13 + 8]
test r10, rbp
jne 0x14012013e
mov eax, 0x4000
test dword [r13 + 0x28], eax
je 0x14011fdd1
cmp word [r15], 0xa
jl 0x14012013e
movsx edi, word [r13 + 0x12]
lea r14, str._n_n_t_t_b_b_a_a_a
movzx r9d, word [r15]
mov ecx, edi
movzx r8d, word [r13 + 0x14]
add r8w, r9w
movsx edx, r8w
cmp di, r8w
jl 0x14011fe18
lea eax, [rdx + 0x31]
cmp ecx, eax
jg 0x14011fe40
lea eax, [rdx + 0x1f]
cmp ecx, eax
jle 0x14011fe09
inc di
jmp 0x14011fe40
sub ecx, edx
movsxd rax, ecx
movzx ecx, byte [rax + r14]
add di, cx
jmp 0x14011fe40
lea eax, [rdi + 0x31]
cmp edx, eax
jle 0x14011fe25
movzx edi, r8w
jmp 0x14011fe40
lea eax, [rdi + 0x1f]
cmp edx, eax
jle 0x14011fe32
lea edi, [r8 + 1]
jmp 0x14011fe40
sub edx, ecx
movsxd rax, edx
movzx edi, byte [rax + r14]
add di, r8w
movsx r8d, word [r15 + 4]
movsx ecx, di
mov edx, r8d
cmp di, r8w
jl 0x14011fe75
lea eax, [r8 + 0x31]
cmp ecx, eax
jg 0x14011fe9d
lea eax, [r8 + 0x1f]
cmp ecx, eax
jle 0x14011fe66
inc di
jmp 0x14011fe9d
sub ecx, edx
movsxd rax, ecx
movzx eax, byte [rax + r14]
add di, ax
jmp 0x14011fe9d
lea eax, [rcx + 0x31]
cmp edx, eax
jle 0x14011fe82
movzx edi, r8w
jmp 0x14011fe9d
lea eax, [rcx + 0x1f]
cmp edx, eax
jle 0x14011fe8f
lea edi, [r8 + 1]
jmp 0x14011fe9d
sub edx, ecx
movsxd rax, edx
movzx edi, byte [rax + r14]
add di, r8w
movzx r14d, word [r13 + 0x16]
or rbp, r10
mov rbx, qword [rsp + 0xf0]
add r14w, r9w
test r11b, r11b
jns 0x14011fef1
movzx r9d, word [rbx + 0x38]
lea rax, [rsp + 0x78]
mov rdx, qword [rbx + 0x10]
lea r8, [r15 - 0x10]
mov qword [rsp + 0x30], rax
mov rcx, rbx
mov eax, dword [rsp + 0x4c]
mov qword [rsp + 0x28], r13
mov word [rsp + 0x20], ax
mov rax, rbx
call fcn.14011f200
mov r15, qword [rsp + 0x78]
movzx r11d, al
jmp 0x14011fef5
mov r15, qword [r15 - 8]
test r11b, r11b
js 0x14011ffeb
mov edx, dword [rsp + 0x40]
movsx ecx, r11b
cmp ecx, edx
jge 0x14011ffeb
mov r8, qword [rsp + 0x80]
movsx rax, r11b
lea r10, [r8 + rax*2]
movzx r8d, word [r8 + rax*2]
test r8w, r8w
jne 0x14011ff89
movzx r9d, word [rsp + 0xf8]
mov eax, edx
sub eax, ecx
imul eax, eax, 0x64
cdq
idiv dword [rsp + 0x40]
movsxd rcx, eax
call fcn.14009b850
movzx r8d, ax
mov ecx, 0x4000
movzx eax, r9w
add r8w, ax
test word [rbx + 0x38], cx
je 0x14011ff67
cmp word [rbx + 0x20], ax
cmovl r9w, word [rbx + 0x20]
cmp r9w, 0xa
jle 0x14011ff80
movsx rcx, r9w
call fcn.14009b850
sub r8w, 0x21
add r8w, ax
sub r8w, 0x32
mov word [r10], r8w
movsx ecx, di
movsx edx, r8w
cmp di, r8w
jl 0x14011ffc1
lea eax, [rdx + 0x31]
cmp ecx, eax
jg 0x14011ffeb
lea eax, [rdx + 0x1f]
cmp ecx, eax
jle 0x14011ffaa
lea r8d, [rdi + 1]
jmp 0x14011ffef
sub ecx, edx
lea rdx, str._n_n_t_t_b_b_a_a_a
movsxd rax, ecx
movzx r8d, byte [rax + rdx]
add r8w, di
jmp 0x14011ffef
lea eax, [rcx + 0x31]
cmp edx, eax
jg 0x14011ffef
lea eax, [rcx + 0x1f]
cmp edx, eax
jle 0x14011ffd5
inc r8w
jmp 0x14011ffef
sub edx, ecx
movsxd rax, edx
lea rdx, str._n_n_t_t_b_b_a_a_a
movzx ecx, byte [rax + rdx]
add r8w, cx
jmp 0x14011ffef
movzx r8d, di
mov r10, qword [rsp + 0x58]
xor ecx, ecx
mov edx, dword [rsp + 0x100]
mov rbx, r10
test edx, edx
jle 0x140120020
cmp qword [rbx], rbp
jne 0x140120016
movzx eax, byte [rbx + 0x16]
xor al, r11b
jge 0x140120112
inc ecx
add rbx, 0x20
cmp ecx, edx
jl 0x140120004
mov r9d, dword [rsp + 0x44]
cmp edx, r9d
jl 0x140120040
cmp r8w, si
jg 0x140120132
jne 0x140120040
cmp di, r12w
jge 0x140120132
cmp edx, r9d
mov eax, edx
cmovge eax, dword [rsp + 0x48]
movsxd rbx, eax
lea eax, [rdx + 1]
shl rbx, 5
add rbx, r10
cmp edx, r9d
cmovge eax, edx
mov dword [rsp + 0x100], eax
mov rax, qword [r13 + 8]
mov rcx, qword [rsp + 0x50]
or rax, qword [rcx - 0x10]
mov word [rbx + 0x10], r14w
mov r14, qword [rsp + 0x60]
mov qword [rbx + 8], r15
mov r15, rcx
mov word [rbx + 0x12], r8w
mov r8, r14
mov qword [rbx], rax
mov word [rbx + 0x14], di
mov byte [rbx + 0x16], r11b
mov rdx, qword [rcx + 8]
mov rcx, qword [rbx + 0x18]
call fcn.1401756a0
mov rax, qword [rbx + 0x18]
xor ebx, ebx
mov edx, dword [rsp + 0x100]
mov r9d, dword [rsp + 0x44]
mov r10, qword [rsp + 0x58]
mov qword [r14 + rax], r13
lea ebp, [rbx + 1]
cmp edx, r9d
jl 0x14012014a
movzx esi, word [r10 + 0x12]
mov edx, ebp
movzx r12d, word [r10 + 0x10]
mov dword [rsp + 0x48], ebx
cmp r9d, edx
jbe 0x140120109
lea rax, [r10 + 0x34]
movzx ecx, word [rax - 2]
cmp cx, si
jg 0x1401200f3
jne 0x1401200fe
cmp word [rax], r12w
jle 0x1401200fe
movzx r12d, word [rax]
movzx esi, cx
mov dword [rsp + 0x48], edx
inc edx
add rax, 0x20
cmp edx, r9d
jl 0x1401200e2
mov edx, dword [rsp + 0x100]
jmp 0x14012014a
cmp ecx, edx
jge 0x140120020
cmp word [rbx + 0x12], r8w
jl 0x140120132
jne 0x140120064
cmp word [rbx + 0x10], r14w
jg 0x140120064
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
jmp 0x140120143
mov r10, qword [rsp + 0x58]
mov ebp, 1
xor ebx, ebx
mov r13, qword [r13 + 0x40]
test r13, r13
jne 0x14011fd90
mov rdi, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x88]
add r15, 0x20
sub rax, 1
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x88], rax
jne 0x14011fd80
mov r8d, dword [rsp + 0x4c]
mov r9, qword [rsp + 0x70]
mov rax, r10
mov qword [rsp + 0x58], r9
inc r8d
mov qword [rsp + 0x70], rax
add r14, 8
mov dword [rsp + 0x4c], r8d
mov r10, r9
mov r9, rax
mov ecx, edx
mov qword [rsp + 0x60], r14
cmp r8d, dword [rsp + 0x108]
jl 0x14011fd50
test edx, edx
jne 0x14012023f
mov rcx, qword [rsp + 0x90]
lea rdx, str.no_query_solution
call fcn.14009a710
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x68]
test rcx, rcx
je 0x140120230
cmp qword [rcx + 0x298], 0
je 0x140120200
call fcn.140097930
mov eax, ebp
jmp 0x1401204d7
cmp rdx, qword [rcx + 0x180]
jb 0x140120230
cmp rdx, qword [rcx + 0x188]
jae 0x140120230
mov rax, qword [rcx + 0x178]
mov qword [rdx], rax
mov eax, ebp
dec dword [rcx + 0x160]
mov qword [rcx + 0x178], rdx
jmp 0x1401204d7
mov rcx, rdx
call fcn.1400978c0
mov eax, ebp
jmp 0x1401204d7
movzx r15d, word [rsp + 0xf8]
mov r13, qword [rsp + 0x98]
mov r14d, dword [rsp + 0x108]
movsxd rdx, ecx
mov rbx, r9
cmp rdx, 1
jle 0x14012028f
lea rcx, [r9 + 0x32]
dec rdx
nop dword [rax + rax]
movzx eax, word [rcx]
cmp word [rbx + 0x12], ax
jle 0x140120283
movsxd rbx, ebp
shl rbx, 5
add rbx, r9
inc ebp
add rcx, 0x20
sub rdx, 1
jne 0x140120270
test r14b, r14b
je 0x1401202d2
xor r8d, r8d
mov r9d, r14d
lea rdx, [rdi + 0x3bc]
mov rax, qword [rbx + 0x18]
lea rdx, [rdx + 0x58]
lea r8, [r8 + 8]
mov rcx, qword [r8 + rax - 8]
mov qword [rdx - 0x3c], rcx
movzx eax, byte [rcx + 0x10]
imul rcx, rax, 0x78
mov byte [rdx - 0x58], al
mov rax, qword [rdi + 8]
mov ecx, dword [rcx + rax + 0x50]
mov dword [rdx - 0x80], ecx
sub r9, 1
jne 0x1401202a1
movzx eax, word [rdi + 0x38]
mov ecx, 0x180
and ax, cx
mov ecx, 0x100
cmp ax, cx
jne 0x140120340
cmp byte [rdi + 0x3f], 0
jne 0x140120340
test r15w, r15w
je 0x140120340
mov rax, qword [rbx + 0x18]
lea r8, [rsp + 0xf0]
mov qword [rsp + 0x30], r8
lea edx, [r14 - 1]
movzx ecx, r14b
mov r9d, 0x80
mov r8, rbx
mov rax, qword [rax + rcx*8 - 8]
mov rcx, rdi
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], dx
mov rdx, qword [rdi + 0x18]
call fcn.14011f200
movsx ecx, al
mov rax, qword [rdi + 0x18]
cmp ecx, dword [rax]
jne 0x140120340
mov byte [rdi + 0x3f], 2
mov r10, qword [rdi + 0x10]
test r10, r10
je 0x14012047b
test byte [rdi + 0x38], 0x80
movsx ecx, byte [rbx + 0x16]
je 0x140120368
cmp ecx, dword [r10]
jne 0x140120360
mov byte [rdi + 0x3f], 2
mov rdx, r10
jmp 0x140120405
mov byte [rdi + 0x3b], cl
mov rdx, r10
mov rax, qword [rbx + 8]
mov qword [rdi + 0x50], rax
test cl, cl
jg 0x140120405
mov byte [rdi + 0x3b], 0
test r14b, r14b
je 0x140120405
mov rax, qword [rbx + 0x18]
movzx ecx, r14b
mov r11, qword [rax + rcx*8 - 8]
mov eax, dword [r11 + 0x28]
and eax, 0x104
cmp eax, 0x104
setne cl
bt dword [r11 + 0x28], 0xc
setae al
test al, cl
je 0x140120405
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0x30], rcx
lea eax, [r14 - 1]
mov qword [rsp + 0x28], r11
mov rcx, rdi
mov r9d, 0x800
mov word [rsp + 0x20], ax
mov r8, rbx
call fcn.14011f200
mov rdx, qword [rdi + 0x10]
movsx ecx, al
cmp ecx, dword [rdx]
jne 0x140120405
mov rax, qword [rsp + 0xf0]
mov qword [rdi + 0x50], rax
mov byte [rdi + 0x40], 1
mov eax, 0x200
test word [rdi + 0x38], ax
je 0x14012047b
movsx eax, byte [rdi + 0x3b]
cmp eax, dword [rdx]
jne 0x14012047b
test r14b, r14b
je 0x14012047b
mov rax, qword [rbx + 0x18]
lea r8, [rsp + 0xf0]
mov qword [rsp + 0x30], r8
xor r9d, r9d
movzx ecx, r14b
mov r8, rbx
dec r14w
mov qword [rsp + 0xf0], 0
mov rax, qword [rax + rcx*8 - 8]
mov rcx, rdi
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], r14w
call fcn.14011f200
movsx ecx, al
mov rax, qword [rdi + 0x10]
cmp ecx, dword [rax]
jne 0x14012047b
mov rax, qword [rsp + 0xf0]
mov qword [rdi + 0x50], rax
mov byte [rdi + 0x3c], 1
movzx eax, word [rbx + 0x10]
mov rdx, qword [rsp + 0x68]
mov word [rdi + 0x58], ax
test r13, r13
je 0x1401204cd
cmp qword [r13 + 0x298], 0
je 0x1401204a1
mov rcx, r13
call fcn.140097930
jmp 0x1401204d5
cmp rdx, qword [r13 + 0x180]
jb 0x1401204cd
cmp rdx, qword [r13 + 0x188]
jae 0x1401204cd
mov rax, qword [r13 + 0x178]
mov qword [rdx], rax
dec dword [r13 + 0x160]
mov qword [r13 + 0x178], rdx
jmp 0x1401204d5
mov rcx, rdx
call fcn.1400978c0
xor eax, eax
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret