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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov rsi, qword [rcx]
xor edi, edi
mov r12, rcx
mov qword [rsp + 0x98], rdi
mov ecx, edi
mov dword [rsp + 0x90], edi
mov r13d, edi
mov dword [rsp + 0x80], ecx
movzx eax, byte [rsi + 0x40]
mov r9d, edi
mov r8, qword [rsi + 8]
mov ebx, edi
mov r14, qword [r12 + 0x10]
mov r10d, edi
lea rdx, [rax + rax*4]
mov rax, qword [rsi]
shl rdx, 4
lea r15, [r8 + 8]
add r15, rdx
lea rbp, [r8 + 8]
mov r11, qword [rax]
mov eax, edi
mov dword [rsp + 0x88], eax
mov qword [rsp + 0x20], r11
mov dword [r12 + 0x24], 0x4e20
cmp rbp, r15
jae 0x140143e1a
mov r11d, 1
nop dword [rax + rax]
mov byte [r14 + 0x10], al
xor ebx, ebx
add dword [r12 + 0x24], 0x3e8
mov edi, ebx
mov r8d, dword [rbp + 0x20]
cmp dword [rsi + 0x260], r8d
jne 0x140143c63
mov rax, r11
jmp 0x140143ca5
movsxd r9, dword [rsi + 0x25c]
mov edx, r11d
mov rcx, r11
cmp r11, r9
jge 0x140143c93
lea rax, [rsi + 0x264]
nop dword [rax]
cmp dword [rax], r8d
je 0x140143cbd
inc edx
inc rcx
add rax, 4
cmp rcx, r9
jl 0x140143c80
mov rax, rbx
mov r9, qword [rsp + 0x98]
mov ecx, dword [rsp + 0x80]
mov qword [r14 + 8], rax
test r10d, r10d
jne 0x140143cc7
test byte [rbp + 0x18], 0x62
jne 0x140143cc7
test ecx, ecx
jne 0x140143cee
mov r13, rbx
jmp 0x140143cee
mov ecx, edx
mov rax, r11
shl rax, cl
jmp 0x140143c96
movzx r10d, byte [rbp + 0x18]
test r10b, 0x40
cmovne ecx, r11d
or r13, r9
shr r10d, 4
and r10d, 1
mov dword [rsp + 0x80], ecx
mov dword [rsp + 0x90], r10d
mov rax, qword [rbp + 0x10]
cmp byte [rax + 0x3f], 1
jne 0x140143d73
lea r10, [rbp + 0x50]
cmp r10, r15
jae 0x140143d63
test rdi, rdi
jne 0x140143d0d
test byte [r10 + 0x18], 0x22
je 0x140143d5a
mov r8d, dword [r10 + 0x20]
cmp dword [rsi + 0x260], r8d
jne 0x140143d1f
mov rax, r11
jmp 0x140143d57
movsxd r9, dword [rsi + 0x25c]
mov eax, 2
mov rdx, r11
cmp r11, r9
jge 0x140143d54
lea rcx, [rsi + 0x264]
nop word [rax + rax]
cmp dword [rcx], r8d
je 0x140143d57
rol rax, 1
inc rdx
add rcx, 4
cmp rdx, r9
jl 0x140143d40
mov rax, rbx
or rdi, rax
add r10, 0x50
cmp r10, r15
jb 0x140143d01
mov r8, rdi
mov rdx, r13
mov rcx, r12
call fcn.140145440
jmp 0x140143d7e
mov rdx, r13
mov rcx, r12
call fcn.140143e70
mov ebx, eax
test eax, eax
jne 0x140143d9e
mov rax, qword [r12 + 8]
cmp byte [rax + 0x11], bl
je 0x140143d9e
mov r8, rdi
mov rdx, r13
mov rcx, r12
call fcn.140144e10
mov ebx, eax
mov r9, qword [rsp + 0x98]
or r9, qword [r14 + 8]
mov qword [rsp + 0x98], r9
test ebx, ebx
jne 0x140143dc3
mov r11, qword [rsp + 0x20]
cmp byte [r11 + 0x67], bl
jne 0x140143e15
jmp 0x140143de3
cmp ebx, 0x65
jne 0x140143e15
lea rdx, str.abbreviated_query_algorithm_search
mov ecx, 0x1c
call fcn.140085320
mov r9, qword [rsp + 0x98]
xor ebx, ebx
mov eax, dword [rsp + 0x88]
add rbp, 0x50
mov r10d, dword [rsp + 0x90]
inc eax
mov ecx, dword [rsp + 0x80]
mov r11d, 1
mov dword [rsp + 0x88], eax
cmp rbp, r15
jb 0x140143c40
mov r11, qword [rsp + 0x20]
mov rdx, qword [r14 + 0x48]
lea rdi, [r14 + 0x58]
cmp rdx, rdi
je 0x140143e3a
mov rcx, r11
call fcn.1400ea480
mov qword [r14 + 0x48], rdi
mov word [r14 + 0x40], 3
mov rcx, qword [rsp + 0x20]
mov rdx, r14
call fcn.140145ff0
xor eax, eax
mov word [r14 + 0x3c], ax
mov dword [r14 + 0x38], eax
mov eax, ebx
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret