Function at 0x140014820
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x110]
sub rsp, 0x210
mov rax, qword [0x140245028]
xor rax, rsp
mov qword [rbp + 0x100], rax
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
xor r12d, r12d
mov dword [rsp + 0x40], r12d
lea rdx, str.ManageSearchState_is_running__w__buffer:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14000b220
mov rcx, rax
mov rdx, rsi
call fcn.14000b220
lea rdx, [0x14000b3f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call fcn.140013e40
mov r13, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140014eb2
mov eax, 4
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
lea r14, str.Phone
lea r15, [0x14024ff00]
mov ecx, dword [rax + rcx]
cmp dword [0x14024fdfc], ecx
jle 0x140014983
lea rcx, [0x14024fdfc]
call fcn.1401cd6d8
cmp dword [0x14024fdfc], 0xffffffff
jne 0x140014983
xorps xmm0, xmm0
movups xmmword [0x14024ff00], xmm0
lea rax, [0x1401f3eb8]
mov qword [rsp + 0x50], rax
lea rax, str.SELECT_model_FROM_models_WHERE_model_LIKE__
mov qword [rsp + 0x58], rax
lea rax, [0x1401f3ef8]
mov qword [rsp + 0x60], rax
lea rax, str.SELECT_category_FROM_categories_WHERE_category_LIKE__
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], r14
lea rax, str.SELECT_phone__name__surname_FROM_customers_WHERE_phone___
mov qword [rsp + 0x78], rax
lea rax, str.PartialPhone
mov qword [rbp - 0x80], rax
lea rax, str.SELECT_phone__name__surname_FROM_customers_WHERE_phone_LIKE__
mov qword [rbp - 0x78], rax
lea rax, [rsp + 0x50]
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x70]
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x30]
mov rcx, r15
call fcn.140019df0
lea rcx, [0x1401d33c0]
call fcn.1401cd9c4
nop
lea rcx, [0x14024fdfc]
call fcn.1401cd66c
mov r14, qword [0x14024ff00]
mov rax, qword [r14 + 8]
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], r12d
mov rdx, r14
cmp byte [rax + 0x19], 0
jne 0x1400149c7
nop
mov qword [rbp - 0x50], rax
cmp qword [rax + 0x20], rbx
jae 0x1400149b4
mov dword [rbp - 0x48], r12d
mov rax, qword [rax + 0x10]
jmp 0x1400149c1
mov dword [rbp - 0x48], 1
mov rdx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400149a0
cmp byte [rdx + 0x19], 0
jne 0x1400149d3
cmp rbx, qword [rdx + 0x20]
jae 0x140014a30
movabs rax, 0x555555555555555
cmp qword [0x14024ff08], rax
je 0x140014ee2
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], r12
mov ecx, 0x30
call fcn.1401cd750
nop
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], r12
mov qword [rax], r14
mov qword [rax + 8], r14
mov qword [rax + 0x10], r14
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp - 0x30], xmm0
mov r8, rax
lea rdx, [rbp - 0x30]
mov rcx, r15
call fcn.1400038d0
mov rdx, rax
mov qword [rsp + 0x30], r12
lea rax, [rbp - 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9d, 0x80
mov r15, 0xffffffffffffffff
mov r8d, r15d
mov rdx, qword [rdx + 0x28]
mov rcx, r13
call fcn.14017ffa0
mov r14, qword [rbp - 0x30]
test eax, eax
jne 0x140014e67
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], r12
mov r8, r15
nop dword [rax]
inc r8
cmp byte [rsi + r8], 0
jne 0x140014a80
mov rdx, rsi
lea rcx, [rbp - 0x30]
call fcn.140002690
nop
lea rax, str.Phone
cmp rbx, rax
movabs rbx, 0x7fffffffffffffff
je 0x140014b4c
mov rcx, qword [rbp - 0x20]
sub rbx, rcx
cmp rbx, 1
jb 0x140014ee8
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rax, qword [rbp - 0x30]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 1
lea r9, [0x1401f3fa0]
lea rcx, [rsp + 0x50]
call fcn.14000f6d0
nop
mov r15d, 0x21
mov dword [rsp + 0x40], r15d
lea r8d, [r15 - 0x20]
lea rdx, [0x1401f3fa0]
lea rcx, [rsp + 0x50]
call fcn.140001c80
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r15d, 0x10
lea rax, [rbp - 0x70]
or r15d, 2
lea rcx, [rbp - 0x60]
lea rdx, [rbp - 0x58]
jmp 0x140014c31
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
lea r15, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae r15, qword [rbp - 0x30]
mov rsi, qword [rbp - 0x20]
cmp rsi, rbx
ja 0x140014eee
cmp rsi, 0x10
jae 0x140014b8d
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], 0xf
movups xmm0, xmmword [r15]
movups xmmword [rbp - 0x50], xmm0
jmp 0x140014c1f
mov rax, rsi
or rax, 0xf
cmp rax, rbx
ja 0x140014ba8
mov rbx, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rbx, rcx
mov rcx, rbx
add rcx, 1
mov rax, 0xffffffffffffffff
cmovb rcx, rax
cmp rcx, 0x1000
jb 0x140014bf5
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140014edc
mov rcx, rax
call fcn.1401cd750
mov rcx, rax
test rax, rax
je 0x140014bee
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140014c04
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x140014c01
call fcn.1401cd750
jmp 0x140014c04
mov rax, r12
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rbx
lea r8, [rsi + 1]
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp - 0x50]
mov r15d, 4
lea rcx, [rbp - 0x40]
lea rdx, [rbp - 0x38]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp], xmm1
mov qword [rcx], r12
mov qword [rdx], 0xf
mov byte [rax], 0
test r15b, 4
je 0x140014c61
and r15d, 0xfffffffb
lea rcx, [rbp - 0x50]
call fcn.140001c20
nop
test r15b, 2
je 0x140014c75
and r15d, 0xfffffffd
lea rcx, [rbp - 0x70]
call fcn.140001c20
nop
test r15b, 1
je 0x140014c89
and r15d, 0xfffffffe
lea rcx, [rsp + 0x50]
call fcn.140001c20
lea r8, [rbp - 0x10]
cmp qword [rbp + 8], 0x10
cmovae r8, qword [rbp - 0x10]
mov byte [rsp + 0x28], 1
mov qword [rsp + 0x20], r12
mov edx, 1
mov r9, 0xffffffffffffffff
mov rcx, r14
call fcn.140130230
test r14, r14
mov esi, r12d
je 0x140014cc5
movzx esi, word [r14 + 0xc0]
mov rbx, qword [rdi]
mov r12, qword [rdi + 8]
cmp rbx, r12
je 0x140014ce9
mov rcx, rbx
call fcn.140001c20
add rbx, 0x20
cmp rbx, r12
jne 0x140014cd1
mov rax, qword [rdi]
mov qword [rdi + 8], rax
xor r12d, r12d
mov rcx, r14
call fcn.14012ed10
cmp eax, 0x64
jne 0x140014e52
lea r13, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
cmp r12d, 5
je 0x140014e4d
xor edx, edx
mov r8d, 0xe8
lea rcx, [rbp + 0x10]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0x10]
call fcn.140019d40
nop
xor ebx, ebx
test esi, esi
je 0x140014d54
nop
mov edx, ebx
mov rcx, r14
call fcn.14012fab0
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.14000b220
mov rcx, rax
call fcn.14001a6f0
inc ebx
cmp ebx, esi
jl 0x140014d30
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x18]
call fcn.14001a250
or r15d, 8
lea rdx, str.concatenatedValue:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14000b220
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
mov rcx, rax
call fcn.14001be40
lea rdx, [0x14000b3f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x140014dc4
dec rcx
lea rax, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rax, qword [rbp - 0x50]
mov qword [rbp - 0x40], rcx
mov byte [rax + rcx], 0
mov rax, qword [rdi + 8]
cmp rax, qword [rdi + 0x10]
je 0x140014de1
lea rdx, [rbp - 0x50]
mov rcx, rax
call fcn.140006ef0
add qword [rdi + 8], 0x20
jmp 0x140014df0
lea r8, [rbp - 0x50]
mov rdx, rax
mov rcx, rdi
call fcn.14001c000
inc r12d
lea rcx, [rbp - 0x50]
call fcn.140001c20
nop
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x10], r13
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0xc], edx
lea rcx, [rbp + 0x18]
call fcn.140006e10
lea rcx, [rbp + 0x20]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x98]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rcx, r14
call fcn.14012ed10
cmp eax, 0x64
je 0x140014d04
mov r13, qword [rsp + 0x48]
lea rcx, [rbp - 0x10]
call fcn.140001c20
nop
lea rcx, [rbp - 0x30]
call fcn.140001c20
jmp 0x140014ea0
lea rdx, str.Error_preparing_SQL_statement_ManageSearchState__3_param_:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14000b220
mov rbx, rax
mov rcx, r13
call fcn.1401c17c0
mov rdx, rax
mov rcx, rbx
call fcn.14000b220
lea rdx, [0x14000b3f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, r14
call fcn.14012ddb0
xor edx, edx
mov rcx, r13
call fcn.1401bfa10
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.1401cd610
mov rbx, qword [rsp + 0x250]
add rsp, 0x210
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400011b0
nop
call fcn.140001330
nop
call fcn.140001250
int3
call fcn.140001250
int3