Function at 0x140121ad0
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x158
xor eax, eax
mov r15d, 7
mov rbx, qword [rcx]
lea r12, [rsp + 0x128]
mov rsi, rcx
mov ecx, 8
mov qword [rsp + 0x148], rbx
mov rdi, r12
mov ebp, edx
rep stosd dword [rdi], eax
movsxd rcx, dword [rbx + 0x18]
imul rcx, rcx, 0xc
call fcn.140151e80
test rax, rax
mov qword [rsp + 0x68], rax
je 0x140122645
movsxd rcx, dword [rbx + 0x18]
xor eax, eax
mov rdi, qword [rsp + 0x68]
shl rcx, 3
rep stosb byte [rdi], al
mov eax, dword [rbx + 0x40]
test eax, eax
je 0x140121b51
test ebp, ebp
je 0x140121e2b
cmp eax, 2
jne 0x140121e2b
xor r9d, r9d
mov edx, 0xa
mov rcx, rsi
lea r8, [rsp + 0xe8]
call fcn.1400e2760
lea r13, [rsp + 0x118]
lea r14, [0x1400e2bd0]
test eax, eax
mov r15d, eax
jne 0x14012263b
mov rax, qword [rsp + 0xe8]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1401538e0
cmp eax, 0x64
jne 0x140121d36
mov rcx, qword [rsp + 0x58]
xor edx, edx
call fcn.14014ebf0
xor r10d, r10d
cmp dword [rbx + 0x58], 0
mov rdx, rax
mov qword [rsp + 0x128], rax
mov dword [rsp + 0x134], r10d
jne 0x140121c01
xor r15d, r15d
cmp dword [rbx + 0x60], 1
jne 0x140121c13
lea rcx, [rsp + 0x118]
xor r9d, r9d
mov edx, 0x1000
mov dword [rsp + 0x118], r9d
call fcn.140120200
mov r15d, dword [rsp + 0x118]
mov qword [rsp + 0x140], rax
jmp 0x140121c13
mov r8, rdi
mov rcx, rsi
call fcn.1401218b0
test eax, eax
mov r15d, eax
je 0x140121bc9
xor ebp, ebp
test r15d, r15d
jne 0x140121d14
cmp dword [rbx + 0x18], ebp
jle 0x140121d14
mov rax, qword [rbx + 0x28]
cmp byte [rax + rbp], 0
jne 0x140121d0c
xor r8d, r8d
cmp dword [rbx + 0x60], 2
mov dword [rsp + 0x130], ebp
mov dword [rsp + 0x134], r8d
je 0x140121c98
mov rcx, qword [rsp + 0x58]
lea r15d, [rbp + 1]
mov edx, r15d
call fcn.14014eca0
mov rcx, qword [rsp + 0x58]
mov edx, r15d
mov qword [rsp + 0x60], rax
call fcn.14014eac0
mov r8, qword [rsp + 0x60]
mov qword [rsp + 0x28], r14
mov rcx, rbx
mov r9d, eax
mov qword [rsp + 0x20], r12
mov edx, 4
call fcn.140122860
test eax, eax
mov r15d, eax
je 0x140121cc5
jmp 0x140121cde
xor ecx, ecx
mov edx, 0x1000
mov dword [rsp + 0x118], ecx
mov rcx, r13
call fcn.140120200
mov r15d, dword [rsp + 0x118]
mov qword [rsp + 0x140], rax
test r15d, r15d
jne 0x140121cde
jmp 0x140121c4d
cmp dword [rbx + 0x58], 0
je 0x140121cde
mov eax, dword [rsp + 0x134]
cmp dword [rdi + rbp*4], eax
mov eax, 0x10b
cmovne r15d, eax
mov rdx, qword [rsp + 0x68]
movsxd rax, dword [rsp + 0x134]
add qword [rdx + rbp*8], rax
cmp dword [rbx + 0x60], 2
jne 0x140121d0c
mov rcx, qword [rsp + 0x140]
call fcn.140122810
xor edx, edx
mov qword [rsp + 0x140], rdx
inc rbp
jmp 0x140121c15
mov rcx, qword [rsp + 0x140]
call fcn.140122810
xor eax, eax
test r15d, r15d
mov qword [rsp + 0x140], rax
je 0x140121b83
jmp 0x140121d39
xor r15d, r15d
mov rcx, qword [rsp + 0x58]
call fcn.140152950
test r15d, r15d
jne 0x14012263b
test eax, eax
mov r15d, eax
jne 0x14012263b
xor edx, edx
mov rcx, rsi
call fcn.1400e2d10
mov edx, 0x10b
mov r15d, eax
xor eax, eax
test r15d, r15d
jne 0x14012263b
cmp dword [rbx + 0x18], eax
jle 0x140121d93
mov rcx, qword [rsi + 0x20]
mov rdi, qword [rsp + 0x68]
mov rdi, qword [rdi + rax*8]
cmp qword [rcx + rax*8], rdi
cmovne r15d, edx
inc rax
jmp 0x140121d6b
cmp dword [rbx + 0x40], 0
jne 0x140121dd3
mov rcx, qword [rsi]
lea rdx, str.content
xor eax, eax
lea r8, [rsp + 0x118]
mov qword [rsp + 0x118], rax
call fcn.1400e26c0
test eax, eax
mov r15d, eax
jne 0x14012263b
mov rax, qword [rsp + 0x118]
cmp qword [rsi + 0x18], rax
jne 0x140121e20
cmp dword [rbx + 0x58], 0
jne 0x140121de6
mov dword [rsp + 0x94], 1
jmp 0x140121e34
mov rcx, qword [rsi]
lea rdx, str.docsize
xor eax, eax
lea r8, [rsp + 0x118]
mov qword [rsp + 0x118], rax
call fcn.1400e26c0
test eax, eax
mov r15d, eax
jne 0x14012263b
mov rax, qword [rsp + 0x118]
cmp qword [rsi + 0x18], rax
je 0x140121dd9
mov r15d, 0x10b
jmp 0x14012263b
xor eax, eax
mov dword [rsp + 0x94], eax
mov rax, qword [rsp + 0x138]
mov rbx, qword [rsi + 8]
mov qword [rsp + 0xa0], rax
mov rax, qword [rbx]
mov rcx, rbx
mov eax, dword [rax + 0x60]
mov dword [rsp + 0xac], eax
xor eax, eax
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rax
call fcn.1400e32a0
test rax, rax
mov qword [rsp + 0x70], rax
je 0x140122632
add rax, 0x24
xor r15d, r15d
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0xdc]
mov dword [rsp + 0xa8], r15d
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x70]
mov edi, dword [rsp + 0xa8]
cmp edi, dword [rax + 0x1c]
jge 0x14012244d
xor esi, esi
mov qword [rsp + 0x88], rsi
mov rax, qword [rsp + 0x80]
mov edi, dword [rsp + 0x88]
cmp dword [rax], edi
jle 0x140122438
mov rax, qword [rsp + 0x80]
xor r14d, r14d
mov r13, qword [rbx]
mov qword [rsp + 0xf0], r14
imul rdi, qword [rsp + 0x88], 0x38
add rdi, qword [rax + 4]
mov eax, dword [r13 + 0x88]
mov dword [rsp + 0xb0], eax
mov eax, dword [rdi + 4]
test eax, eax
jne 0x140121f1c
inc qword [rsp + 0x88]
jmp 0x140121ec3
mov rdx, qword [r13 + 8]
lea rcx, str.SELECT_segid__term___pgno__1____pgno1__FROM__Q._q_idx_WHERE_segid_d_ORDER_BY_1__2
dec eax
mov r9d, dword [rdi]
mov dword [rsp + 0x90], eax
mov r8, qword [r13 + 0x10]
mov eax, dword [rdi + 8]
mov dword [rsp + 0x7c], eax
call fcn.140151f20
lea rdx, [rsp + 0xf0]
mov rcx, rbx
mov r8, rax
call fcn.1400dc110
lea rax, [rsp + 0xe0]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xf0]
cmp dword [rbx + 0x3c], 0
mov qword [rsp + 0x60], rax
je 0x140121f8e
mov rcx, qword [rsp + 0x60]
call fcn.140150e80
cmp dword [rbx + 0x3c], 0
jne 0x140121f12
mov dword [rbx + 0x3c], eax
jmp 0x140121f12
mov rcx, rax
call fcn.1401538e0
cmp eax, 0x64
jne 0x140121f79
mov rcx, qword [rsp + 0x60]
mov edx, 1
call fcn.14014ea90
mov rcx, qword [rsp + 0x60]
mov edx, 1
mov qword [rsp + 0x98], rax
call fcn.14014eac0
mov rcx, qword [rsp + 0x60]
mov edx, 2
movsxd r12, eax
call fcn.14014ebc0
mov rcx, qword [rsp + 0x60]
mov edx, 3
mov dword [rsp + 0x58], eax
call fcn.14014ebc0
mov dword [rsp + 0xb4], eax
movsxd rax, dword [rsp + 0x58]
cmp eax, dword [rdi + 4]
jl 0x140121f66
movsxd rdx, dword [rdi]
mov rcx, rbx
shl rdx, 0x25
add rdx, rax
call fcn.1400dd650
test rax, rax
mov rsi, rax
je 0x140121f79
mov eax, dword [rax + 8]
mov ebp, dword [rsi + 0xc]
cmp eax, ebp
jg 0x140122051
test r12d, r12d
jne 0x140122045
cmp eax, 4
sete dl
cmp eax, ebp
sete al
test dl, al
je 0x140122045
cmp dword [r13 + 0x88], 5
je 0x140122279
mov dword [rbx + 0x3c], 0x10b
jmp 0x140122279
mov rcx, rsi
call fcn.1400dd620
mov r10, qword [rsi]
mov r15d, eax
mov ax, word [r10]
xchg al, ah
movzx eax, ax
cmp r15d, eax
jle 0x1401220d1
cmp ebp, r15d
jle 0x1401220d1
movsxd rcx, r15d
mov qword [rsp + 0xc8], r10
lea rdx, [rsp + 0xd8]
add rcx, r10
call fcn.14011e770
mov r14d, dword [rsp + 0xd8]
cmp r12d, r14d
movsxd r8, r14d
cmovle r8, r12
test r8d, r8d
jle 0x1401220c7
mov r10, qword [rsp + 0xc8]
add r15d, eax
mov rdx, qword [rsp + 0x98]
movsxd r15, r15d
lea rcx, [r10 + r15]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
test eax, eax
jne 0x1401220cd
mov eax, r14d
sub eax, r12d
test eax, eax
jns 0x1401220d8
mov dword [rbx + 0x3c], 0x10b
lea rax, [rsp + 0xe4]
xor r12d, r12d
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x110], r12
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x120], r12
xor r12d, r12d
mov qword [rsp + 0x98], rax
cmp ebp, dword [rsi + 8]
jge 0x14012225f
cmp dword [rbx + 0x3c], 0
jne 0x14012225f
mov r14, qword [rsi]
movsxd rcx, ebp
mov rdx, qword [rsp + 0xc0]
add rcx, r14
call fcn.14011e770
movsxd r15, dword [rsi + 0xc]
add ebp, eax
movsxd rax, dword [rsp + 0xdc]
add r12, rax
cmp r12, r15
jge 0x140122232
lea rcx, [r14 + r12]
cmp rax, r12
jne 0x14012219d
mov rdx, qword [rsp + 0x98]
call fcn.14011e770
movsxd rdx, dword [rsp + 0xe4]
cdqe
add rax, r12
mov r8, rdx
add rdx, rax
cmp r15, rdx
jl 0x140122232
lea rdx, [rsp + 0x108]
lea rcx, [rbx + 0x3c]
lea r9, [r14 + rax]
call fcn.14011d410
jmp 0x140122239
mov rdx, qword [rsp + 0xb8]
call fcn.14011e770
mov rdx, qword [rsp + 0x98]
movsxd r8, eax
add r8, r12
lea rcx, [r14 + r8]
mov qword [rsp + 0xc8], r8
call fcn.14011e770
mov ecx, dword [rsp + 0xe0]
cmp dword [rsp + 0x110], ecx
jl 0x140122232
mov r8, qword [rsp + 0xc8]
cdqe
movsxd rdx, dword [rsp + 0xe4]
add rax, r8
mov r8, rdx
add rdx, rax
cmp r15, rdx
jl 0x140122232
lea r15, [rsp + 0x108]
mov dword [rsp + 0x110], ecx
lea r9, [r14 + rax]
mov rdx, r15
lea rcx, [rbx + 0x3c]
call fcn.14011d2e0
cmp dword [rbx + 0x3c], 0
jne 0x140122239
lea rdx, [rsp + 0x118]
mov rcx, r15
call fcn.1400d60f0
test eax, eax
jg 0x140122239
mov dword [rbx + 0x3c], 0x10b
mov r9, qword [rsp + 0x108]
lea rdx, [rsp + 0x118]
mov r8d, dword [rsp + 0x110]
lea rcx, [rbx + 0x3c]
call fcn.14011d410
jmp 0x14012210e
lea rcx, [rsp + 0x108]
call fcn.14011d3e0
lea rcx, [rsp + 0x118]
call fcn.14011d3e0
mov rcx, rsi
call fcn.140150f20
cmp dword [rbx + 0x3c], 0
jne 0x140121f79
mov r12d, dword [rsp + 0x90]
inc r12d
movsxd rbp, r12d
mov esi, dword [rbx + 0x3c]
test esi, esi
jne 0x140121f79
cmp dword [rsp + 0x58], r12d
jle 0x1401222f8
movsxd rdx, dword [rdi]
mov rcx, rbx
shl rdx, 0x25
add rdx, rbp
call fcn.1400d7100
test rax, rax
mov rcx, rax
je 0x1401222eb
mov eax, dword [rax + 8]
cmp dword [rcx + 0xc], eax
jge 0x1401222d4
mov dword [rbx + 0x3c], 0x10b
cmp dword [rsp + 0x7c], r12d
jge 0x1401222eb
mov rax, qword [rcx]
cmp word [rax], 0
je 0x1401222eb
mov dword [rbx + 0x3c], 0x10b
call fcn.140150f20
inc r12d
inc rbp
jmp 0x140122299
cmp dword [rsp + 0xb4], 0
je 0x140122421
mov r14d, dword [rdi]
xor edx, edx
mov rcx, rbx
mov r9d, dword [rsp + 0x58]
mov r8d, r14d
shl r14, 0x25
call fcn.1400d7430
mov r15d, dword [rsp + 0x58]
mov rbp, rax
cmp dword [rbx + 0x3c], 0
jne 0x140122333
cmp dword [rbp + 0x14], 0
je 0x140122344
mov rcx, rbp
call fcn.1400d73f0
mov dword [rsp + 0x7c], esi
jmp 0x140122428
lea esi, [r15 + 1]
movsxd r12, esi
add r12, r14
mov r15d, dword [rbp + 0x1c]
cmp esi, r15d
jge 0x140122386
mov rcx, rbx
mov rdx, r12
call fcn.1400d7100
test rax, rax
mov rcx, rax
je 0x14012237f
mov rax, qword [rax]
cmp word [rax], 0
je 0x14012237a
mov dword [rbx + 0x3c], 0x10b
call fcn.140150f20
inc esi
inc r12
jmp 0x14012234e
movsxd rdx, r15d
mov rcx, rbx
add rdx, r14
call fcn.1400d7100
test rax, rax
mov r12, rax
je 0x14012240e
mov rcx, qword [rax]
mov ax, word [rcx]
xchg al, ah
movzx edx, ax
cmp edx, dword [r12 + 0xc]
jge 0x1401223ff
cmp dword [rsp + 0xb0], 5
setne r8b
test edx, edx
jne 0x1401223c3
test r8b, r8b
je 0x140122406
mov r9, qword [rbp + 0x20]
movzx eax, ax
mov byte [rsp + 0x7c], r8b
lea rdx, [rsp + 0x118]
add rcx, rax
mov qword [rsp + 0x60], r9
call fcn.14011e5d0
mov r9, qword [rsp + 0x60]
cmp r9, qword [rsp + 0x118]
jg 0x1401223ff
je 0x140122406
mov r8b, byte [rsp + 0x7c]
test r8b, r8b
je 0x140122406
mov dword [rbx + 0x3c], 0x10b
mov rcx, r12
call fcn.140150f20
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.1400d75f0
jmp 0x140122327
mov eax, dword [rdi + 8]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x90], eax
jmp 0x140121f66
inc dword [rsp + 0xa8]
add qword [rsp + 0x80], 0x10
jmp 0x140121ea4
mov rdx, qword [rsp + 0x70]
xor r9d, r9d
xor r10d, r10d
xor r11d, r11d
mov dword [rsp + 0x38], r9d
mov r8d, 0x20
xor r9d, r9d
xor edi, edi
lea rax, [rsp + 0x108]
mov dword [rsp + 0x30], 0xffffffff
mov rcx, rbx
mov qword [rsp + 0x40], rax
lea r13, [rbx + 0x3c]
mov dword [rsp + 0x28], r10d
lea r14, [rsp + 0x118]
mov qword [rsp + 0x20], r11
call fcn.1400de430
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x60], rax
cmp dword [rbx + 0x3c], 0
mov rsi, qword [rsp + 0x108]
jne 0x1401224bf
cmp byte [rsi + 0x14], 0
je 0x1401224d6
mov rcx, rsi
call fcn.1400de1d0
cmp dword [rbx + 0x3c], 0
je 0x140122600
jmp 0x14012261b
mov rax, qword [rsi + 0x60]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x118], rdx
mov dword [rsp + 0xf0], ecx
movzx edx, word [rax + 4]
movzx eax, dx
shl rax, 7
add rax, rsi
cmp dword [rsp + 0xac], 1
mov rcx, qword [rax + 0xd8]
mov ebp, dword [rax + 0xd0]
mov r12, qword [rax + 0xc8]
mov qword [rsp + 0x58], rcx
jne 0x140122554
xor ecx, ecx
mov rdx, rsi
call fcn.1400de400
test eax, eax
jne 0x1401225ea
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x28], ebp
or r9d, 0xffffffff
xor r8d, r8d
mov qword [rsp + 0x20], r12
xor edx, edx
call fcn.14011ef10
xor rdi, rax
jmp 0x1401225ea
mov r9, qword [rsp + 0x60]
xor r8d, r8d
shl rdx, 7
mov rcx, rbx
mov dword [rsp + 0x100], r8d
lea rdx, [rsi + rdx + 0x68]
xor r8d, r8d
lea r15, [rsp + 0xf0]
call fcn.1400e1af0
mov rdx, qword [rsp + 0x60]
lea r9, [0x14019c093]
mov rcx, r13
mov r8d, 4
call fcn.14011d2e0
mov edx, dword [rsp + 0x100]
mov r9, r14
mov r8, r15
mov rcx, qword [rsp + 0xf8]
call fcn.140120b30
test eax, eax
jne 0x1401225ea
mov rdx, qword [rsp + 0x118]
mov dword [rsp + 0x28], ebp
or r9d, 0xffffffff
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x20], r12
mov r8d, edx
shr rdx, 0x20
and r8d, 0x7fffffff
call fcn.14011ef10
xor rdi, rax
jmp 0x14012259a
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rbx
call fcn.1400de8d0
jmp 0x1401224ab
cmp qword [rsp + 0xa0], rdi
je 0x14012261b
cmp dword [rsp + 0x94], 0
je 0x14012261b
mov dword [rbx + 0x3c], 0x10b
mov rcx, qword [rsp + 0x70]
call fcn.1400e3890
lea rcx, [rsp + 0xf8]
call fcn.14011d3e0
xor eax, eax
mov r15d, dword [rbx + 0x3c]
mov dword [rbx + 0x3c], eax
mov rcx, qword [rsp + 0x68]
call fcn.140150f20
mov eax, r15d
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret