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

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
test edx, edx
mov rdi, rcx
mov ebx, edx
mov rbp, r8
jne 0x140173c00
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x140173beb
movzx eax, word [rcx + 0x14]
mov edx, eax
and dx, 0x202
cmp dx, 0x202
je 0x140174070
test al, 1
jne 0x140173beb
mov edx, 1
call dbg.valueToText
mov rsi, rax
test rsi, rsi
je 0x140173beb
lea r12, [rsp + 0x40]
mov rcx, rdi
lea edx, [rbx - 1]
mov r9, r12
lea r8, [rbp + 8]
call dbg.isDate
test eax, eax
jne 0x140173beb
mov rax, qword [rdi]
pxor xmm0, xmm0
mov dword [rsp + 0x30], 0
cmp byte [rsp + 0x68], 0
movaps xmmword [rsp + 0x20], xmm0
mov rax, qword [rax + 0x18]
mov dword [rsp + 0x38], 0
mov word [rsp + 0x3c], 0
mov eax, dword [rax + 0x88]
mov dword [rsp + 0x34], eax
jne 0x140173c8f
mov rcx, r12
call sym.computeJD.part.0
cmp byte [rsp + 0x6a], 0
jne 0x140173c9e
mov rcx, r12
call sym.computeYMD.part.0
cmp byte [rsp + 0x6b], 0
jne 0x140173cad
mov rcx, r12
call sym.computeHMS.part.0
movzx eax, byte [rsi]
lea r12, [0x14033ad18]
xor edx, edx
xor ebx, ebx
lea r13, [rsp + 0x20]
test al, al
je 0x140173d09
nop dword [rax]
lea rbp, [rbx + 1]
cmp al, 0x25
jne 0x140173cf0
cmp rdx, rbx
jb 0x140173d28
movzx r11d, byte [rsi + rbp]
lea eax, [r11 - 0x25]
cmp al, 0x52
ja case.0x140173cec.1
movzx eax, al
movsxd rax, dword [r12 + rax*4]
add rax, r12
jmp rax
mov rbx, rbp
movzx eax, byte [rsi + rbx]
test al, al
jne 0x140173cc8
lea r13, [rsp + 0x20]
cmp rdx, rbx
jb 0x1401740e0
mov rdx, r13
mov rcx, rdi
call sym.sqlite3ResultStrAccum
nop
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov eax, dword [rsp + 0x38]
mov r8d, ebx
sub r8d, edx
add rdx, rsi
lea ecx, [r8 + rax]
cmp ecx, dword [rsp + 0x30]
jae 0x140174088
test r8d, r8d
je 0x140173cd5
mov dword [rsp + 0x38], ecx
mov ecx, eax
add rcx, qword [rsp + 0x28]
movsxd r8, r8d
call sym.memcpy
jmp 0x140173cd5
test byte [rsp + 0x3d], 4
je 0x140173beb
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
test rdx, rdx
je 0x140173beb
call sym.sqlite3DbFreeNN
jmp 0x140173beb
mov rax, qword [rsp + 0x40]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x98], rax
mov rax, qword [0x140349150]
mov byte [rsp + 0x98], 0
mov qword [rsp + 0x7c], rax
call sym.computeJD.part.0
mov r8, qword [rsp + 0x40]
movabs r9, 0x636ba875fd33dc87
mov rcx, r8
sub rcx, qword [rsp + 0x70]
add rcx, 0x2932e00
mov rax, rcx
sar rcx, 0x3f
imul r9
sar rdx, 0x19
sub rdx, rcx
cmp r11b, 0x57
je 0x140174120
lea r13, [rsp + 0x20]
lea r8d, [rdx + 1]
mov rcx, r13
lea rdx, str._03d
call dbg.sqlite3_str_appendf
nop word [rax + rax]
lea rdx, [rbx + 2]
mov rbx, rdx
jmp 0x140173cf3
cvttsd2si r8d, qword [rsp + 0x60]
lea r13, [rsp + 0x20]
lea rdx, str._02d
mov rcx, r13
call dbg.sqlite3_str_appendf
jmp 0x140173e50
mov rax, qword [rsp + 0x40]
lea rcx, [rax + 0x7b98a00]
movabs rax, 0x636ba875fd33dc87
imul rcx
sar rcx, 0x3f
movabs rax, 0x4924924924924925
sar rdx, 0x19
mov rbp, rdx
sub rbp, rcx
mov ecx, dword [rsp + 0x30]
imul rbp
mov rax, rbp
sar rax, 0x3f
sar rdx, 1
sub rdx, rax
lea rax, [rdx*8]
sub rax, rdx
mov edx, dword [rsp + 0x38]
sub rbp, rax
add ebp, 0x30
lea r8, [rdx + 1]
mov rax, rdx
cmp r8, rcx
jge 0x140174200
add eax, 1
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x28]
mov byte [rax + rdx], bpl
jmp 0x140173e50
cmp byte [rsp + 0x6f], 0
mov rcx, qword [rsp + 0x40]
je 0x1401740a0
movabs rax, 0xffff4037c1acde00
pxor xmm0, xmm0
lea r13, [rsp + 0x20]
add rcx, rax
cvtsi2sd xmm0, rcx
mov rcx, r13
divsd xmm0, qword [0x140348fd8]
lea rdx, str._.3f
movq r8, xmm0
movapd xmm2, xmm0
call dbg.sqlite3_str_appendf
jmp 0x140173e50
mov r8d, dword [rsp + 0x4c]
lea r13, [rsp + 0x20]
lea rdx, str._02d
mov rcx, r13
call dbg.sqlite3_str_appendf
jmp 0x140173e50
movsd xmm2, qword [0x140349158]
lea r13, [rsp + 0x20]
minsd xmm2, qword [rsp + 0x60]
lea rdx, str._06.3f
mov rcx, r13
movq r8, xmm2
call dbg.sqlite3_str_appendf
jmp 0x140173e50
mov r8d, dword [rsp + 0x50]
lea r13, [rsp + 0x20]
lea rdx, str._02d
mov rcx, r13
call dbg.sqlite3_str_appendf
jmp 0x140173e50
mov r8d, dword [rsp + 0x48]
lea r13, [rsp + 0x20]
lea rdx, str._04d
mov rcx, r13
call dbg.sqlite3_str_appendf
jmp 0x140173e50
mov r8d, dword [rsp + 0x58]
lea r13, [rsp + 0x20]
lea rdx, str._02d
mov rcx, r13
call dbg.sqlite3_str_appendf
jmp 0x140173e50
lea r13, [rsp + 0x20]
pxor xmm0, xmm0
lea rdx, str._.16g
mov rcx, r13
cvtsi2sd xmm0, qword [rsp + 0x40]
divsd xmm0, qword [0x140348f98]
movq r8, xmm0
movapd xmm2, xmm0
call dbg.sqlite3_str_appendf
jmp 0x140173e50
mov r8d, dword [rsp + 0x54]
lea r13, [rsp + 0x20]
lea rdx, str._02d
mov rcx, r13
call dbg.sqlite3_str_appendf
jmp 0x140173e50
mov edx, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
lea r8, [rdx + 1]
mov rax, rdx
cmp r8, rcx
jge 0x1401741a0
add eax, 1
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x28]
mov byte [rax + rdx], 0x25
jmp 0x140173e50
cmp byte [rcx + 0x16], 1
jne 0x140173c1e
mov rsi, qword [rcx + 8]
jmp 0x140173c2f
lea r13, [rsp + 0x20]
mov rcx, r13
call dbg.enlargeAndAppend
jmp 0x140173cd5
movabs rax, 0x20c49ba5e353f7cf
imul rcx
sar rcx, 0x3f
movabs rax, 0xffffffcee75c96c0
lea r13, [rsp + 0x20]
sar rdx, 7
sub rdx, rcx
mov rcx, r13
lea r8, [rdx + rax]
lea rdx, str._lld
call dbg.sqlite3_str_appendf
jmp 0x140173e50
mov eax, dword [rsp + 0x38]
sub ebx, edx
add rdx, rsi
lea ecx, [rbx + rax]
cmp ecx, dword [rsp + 0x30]
jae 0x14017425e
test ebx, ebx
je 0x140173d09
mov dword [rsp + 0x38], ecx
mov ecx, eax
add rcx, qword [rsp + 0x28]
movsxd r8, ebx
call sym.memcpy
jmp 0x140173d09
lea ecx, [rdx + 7]
add r8, 0x2932e00
lea r13, [rsp + 0x20]
mov rax, r8
sar r8, 0x3f
imul r9
movabs rax, 0x4924924924924925
mov r9, rdx
sar r9, 0x19
sub r9, r8
imul r9
mov rax, r9
sar rax, 0x3f
sar rdx, 1
sub rdx, rax
lea rax, [rdx*8]
sub rax, rdx
sub r9, rax
sub ecx, r9d
movsxd r8, ecx
mov rcx, r13
mov rdx, r8
imul r8, r8, 0xffffffff92492493
shr r8, 0x20
add r8d, edx
sar edx, 0x1f
sar r8d, 2
sub r8d, edx
lea rdx, str._02d
call dbg.sqlite3_str_appendf
jmp 0x140173e50
lea r13, [rsp + 0x20]
mov edx, 1
mov rcx, r13
call dbg.sqlite3StrAccumEnlarge
test eax, eax
jle 0x140173e50
mov edx, dword [rsp + 0x38]
cmp eax, 1
lea ecx, [rdx + 1]
mov dword [rsp + 0x38], ecx
mov rcx, qword [rsp + 0x28]
mov byte [rcx + rdx], 0x25
lea edx, [rax - 2]
je 0x140173e50
nop word [rax + rax]
mov eax, dword [rsp + 0x38]
sub edx, 1
lea ecx, [rax + 1]
mov dword [rsp + 0x38], ecx
mov rcx, qword [rsp + 0x28]
mov byte [rcx + rax], 0x25
jae 0x1401741e0
jmp 0x140173e50
lea r13, [rsp + 0x20]
mov edx, 1
mov rcx, r13
call dbg.sqlite3StrAccumEnlarge
test eax, eax
jle 0x140173e50
mov edx, dword [rsp + 0x38]
cmp eax, 1
lea ecx, [rdx + 1]
mov dword [rsp + 0x38], ecx
mov rcx, qword [rsp + 0x28]
mov byte [rcx + rdx], bpl
lea ecx, [rax - 2]
je 0x140173e50
nop word [rax + rax]
mov edx, dword [rsp + 0x38]
sub ecx, 1
lea eax, [rdx + 1]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x28]
mov byte [rax + rdx], bpl
jae 0x140174240
jmp 0x140173e50
mov r8d, ebx
mov rcx, r13
call dbg.enlargeAndAppend
jmp 0x140173d09