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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x90
mov rbp, qword [rcx]
mov r14, r9
xor ecx, ecx
mov qword [rax - 0x30], r12
mov qword [rax - 0x38], r13
mov r13d, ecx
mov qword [rax - 0x40], r15
mov r15d, ecx
mov qword [rax - 0x78], rcx
mov r12d, ecx
mov qword [rax - 0x80], rcx
mov dword [rax + 8], ecx
mov qword [rax - 0x70], rcx
test rdx, rdx
je 0x1401f87fb
movsxd rdi, dword [rdx]
lea rbx, [rdi + rdi*2]
shl rbx, 3
test rbp, rbp
je 0x1401f817e
mov rdx, rbx
mov rcx, rbp
call fcn.1401fb500
jmp 0x1401f8186
mov rcx, rbx
call fcn.140210f70
mov r14, rax
test rax, rax
je 0x1401f819b
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov eax, 0x7fff
mov rsi, r14
cmp edi, eax
cmovg edi, eax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x50], edi
mov word [rax], di
mov rax, qword [rsp + 0xd8]
mov qword [rax], r14
xor eax, eax
mov dword [rsp + 0x34], eax
mov ebx, eax
test edi, edi
jle 0x1401f8773
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], r14
nop dword [rax]
cmp byte [rbp + 0x67], 0
jne 0x1401f876e
mov rcx, qword [rsp + 0xc8]
add rcx, 8
shl rax, 5
add rax, rcx
mov qword [rsp + 0x58], rax
mov rdi, qword [rax + 8]
test rdi, rdi
je 0x1401f8215
test byte [rax + 0x14], 3
je 0x1401f82ad
mov rax, qword [rax]
test rax, rax
je 0x1401f825e
nop dword [rax]
mov ecx, dword [rax + 4]
test ecx, 0x82000
je 0x1401f8244
bt ecx, 0x13
jae 0x1401f823b
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
jmp 0x1401f823f
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401f8220
test rax, rax
je 0x1401f825e
nop dword [rax]
cmp byte [rax], 0x8d
jne 0x1401f825e
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1401f8250
movzx ecx, byte [rax]
cmp cl, 0xa7
jne 0x1401f829f
test dword [rax + 4], 0x3000000
jne 0x1401f82a8
mov rdx, qword [rax + 0x40]
test rdx, rdx
je 0x1401f82a8
movsx ecx, word [rax + 0x30]
test ecx, ecx
jns 0x1401f8291
movsx ecx, word [rdx + 0x34]
test ecx, ecx
jns 0x1401f8291
lea rdi, str.rowid
jmp 0x1401f82ad
mov rax, qword [rdx + 8]
lea rcx, [rcx + rcx*2]
mov rdi, qword [rax + rcx*8]
jmp 0x1401f82a8
cmp cl, 0x3b
jne 0x1401f82a8
mov rdi, qword [rax + 8]
test rdi, rdi
je 0x1401f82f0
mov rcx, rdi
call fcn.14020f6b0
test eax, eax
jne 0x1401f82f0
mov rbx, 0xffffffffffffffff
cmp byte [rdi + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x1401f82c0
lea rdx, [rbx + 1]
mov rcx, rbp
call fcn.1401fb500
mov rsi, rax
test rax, rax
je 0x1401f8306
lea r8, [rbx + 1]
mov rdx, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1401f8306
lea r8d, [rbx + 1]
mov rcx, rbp
lea rdx, str.column_d
call fcn.140210f40
mov rsi, rax
xor r9d, r9d
mov ebx, r9d
mov dword [rsp + 0x30], ebx
test rsi, rsi
je 0x1401f84a0
nop dword [rax]
test r12, r12
je 0x1401f837c
movzx eax, byte [rsi]
mov rcx, rsi
mov r8d, r9d
test al, al
je 0x1401f8360
lea rdx, [0x140000000]
nop dword [rax]
movzx eax, al
lea rcx, [rcx + 1]
movzx eax, byte [rax + rdx + 0x2e1730]
add eax, r8d
imul r8d, eax, 0x9e3779b1
movzx eax, byte [rcx]
test al, al
jne 0x1401f8340
xor edx, edx
mov eax, r8d
div dword [rsp + 0xc0]
mov ecx, edx
add rcx, rcx
mov r10, qword [r12 + rcx*8 + 8]
mov r11d, dword [r12 + rcx*8]
jmp 0x1401f8382
mov r10, r15
mov r11d, r13d
lea rdi, [0x140000000]
test r11d, r11d
je 0x1401f83d7
nop
mov r8, qword [r10 + 0x18]
dec r11d
mov r9, rsi
sub r9, r8
nop dword [rax]
movzx eax, byte [r8]
movzx ecx, byte [r9 + r8]
cmp eax, ecx
jne 0x1401f83b6
test eax, eax
je 0x1401f83de
inc r8
jmp 0x1401f83a0
movzx edx, byte [rcx + rdi + 0x2e1730]
movzx eax, byte [rax + rdi + 0x2e1730]
cmp eax, edx
jne 0x1401f83cf
inc r8
jmp 0x1401f83a0
mov r10, qword [r10]
test r11d, r11d
jne 0x1401f8390
lea r10, [0x14037ea28]
mov rax, qword [r10 + 0x10]
test rax, rax
je 0x1401f849d
test byte [rax + 0x14], 0x80
je 0x1401f83fb
mov eax, 0x400
or word [r14 + 0x12], ax
test rsi, rsi
jne 0x1401f8406
xor eax, eax
mov ecx, eax
jmp 0x1401f8454
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rsi + rcx], 0
jne 0x1401f8410
and ecx, 0x3fffffff
jbe 0x1401f8454
mov edx, ecx
lea r8d, [rcx - 1]
dec rdx
test rdx, rdx
jle 0x1401f8449
nop
movzx eax, byte [rdx + rsi]
test byte [rax + rdi + 0x2e1850], 4
je 0x1401f8449
dec r8d
dec rdx
test rdx, rdx
jg 0x1401f8430
movsxd rax, r8d
cmp byte [rax + rsi], 0x3a
cmove ecx, r8d
inc ebx
lea rdx, str._.z:_u
mov r8d, ecx
mov dword [rsp + 0x30], ebx
mov rcx, rbp
mov dword [rsp + 0x20], ebx
mov r9, rsi
call fcn.140210f40
mov rsi, rax
cmp ebx, 3
jbe 0x1401f848e
lea rdx, [rsp + 0x30]
mov ecx, 4
call fcn.1401b2270
mov ebx, dword [rsp + 0x30]
mov r9d, 0
test rsi, rsi
jne 0x1401f8320
xor r9d, r9d
xor dl, dl
mov qword [r14], rsi
mov rcx, rsi
test rsi, rsi
je 0x1401f84d6
movzx eax, byte [rsi]
test al, al
je 0x1401f84d6
lea r8, [0x140000000]
nop dword [rax + rax]
movzx eax, al
lea rcx, [rcx + 1]
add dl, byte [rax + r8 + 0x2e1730]
movzx eax, byte [rcx]
test al, al
jne 0x1401f84c0
mov rbx, qword [rsp + 0x58]
mov byte [r14 + 0xe], dl
test dword [rbx + 0x14], 0x100
je 0x1401f84f2
mov eax, 0x400
or word [r14 + 0x12], ax
test rsi, rsi
je 0x1401f8749
test r12, r12
je 0x1401f855e
movzx eax, byte [rsi]
mov rcx, rsi
mov r8d, r9d
test al, al
je 0x1401f8540
lea rdx, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
movzx eax, al
lea rcx, [rcx + 1]
movzx eax, byte [rax + rdx + 0x2e1730]
add eax, r8d
imul r8d, eax, 0x9e3779b1
movzx eax, byte [rcx]
test al, al
jne 0x1401f8520
xor edx, edx
mov eax, r8d
div dword [rsp + 0xc0]
mov eax, edx
add rax, rax
mov edi, edx
mov r10, qword [r12 + rax*8 + 8]
mov r11d, dword [r12 + rax*8]
jmp 0x1401f8567
mov edi, r9d
mov r10, r15
mov r11d, r13d
test r11d, r11d
je 0x1401f85c8
nop dword [rax]
mov r8, qword [r10 + 0x18]
dec r11d
mov r9, rsi
sub r9, r8
nop dword [rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1401f8596
test edx, edx
je 0x1401f85cf
inc r8
jmp 0x1401f8580
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x2e1730]
mov rax, rdx
lea rdx, [0x140000000]
movzx eax, byte [rax + rdx + 0x2e1730]
cmp eax, ecx
jne 0x1401f85c0
inc r8
jmp 0x1401f8580
mov r10, qword [r10]
test r11d, r11d
jne 0x1401f8570
lea r10, [0x14037ea28]
mov rax, qword [r10 + 0x10]
test rax, rax
je 0x1401f85e5
mov qword [r10 + 0x10], rbx
mov qword [r10 + 0x18], rsi
jmp 0x1401f86ec
mov ecx, 0x20
call fcn.140210f70
mov rbx, rax
test rax, rax
je 0x1401f86f1
inc r13d
mov qword [rax + 0x18], rsi
mov rax, qword [rsp + 0x58]
mov qword [rbx + 0x10], rax
mov dword [rsp + 0x3c], r13d
cmp r13d, 0xa
jb 0x1401f866f
mov eax, dword [rsp + 0xc0]
add eax, eax
cmp r13d, eax
jbe 0x1401f866f
lea edx, [r13*2]
lea rcx, [rsp + 0x38]
call fcn.1401e47e0
test eax, eax
je 0x1401f8655
mov rcx, rsi
call fcn.1402464b0
mov ecx, dword [rsp + 0x38]
xor edx, edx
div ecx
mov dword [rsp + 0xc0], ecx
mov edi, edx
jmp 0x1401f8660
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0xc0], eax
mov r13d, dword [rsp + 0x3c]
mov r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
test r12, r12
je 0x1401f86c9
mov ecx, edi
shl rcx, 4
add rcx, r12
je 0x1401f86c9
mov eax, dword [rcx]
xor r8d, r8d
test eax, eax
je 0x1401f868e
mov rdx, qword [rcx + 8]
jmp 0x1401f8691
mov rdx, r8
inc eax
mov qword [rcx + 8], rbx
mov dword [rcx], eax
test rdx, rdx
je 0x1401f86c9
mov qword [rbx], rdx
mov rax, qword [rdx + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdx + 8]
test rax, rax
je 0x1401f86bb
mov qword [rax], rbx
mov qword [rdx + 8], rbx
jmp 0x1401f86e4
mov r15, rbx
mov qword [rsp + 0x40], rbx
mov qword [rdx + 8], rbx
jmp 0x1401f86e4
mov qword [rbx], r15
test r15, r15
je 0x1401f86d5
mov qword [r15 + 8], rbx
xor r8d, r8d
mov qword [rsp + 0x40], rbx
mov qword [rbx + 8], r8
mov r15, rbx
mov rbx, qword [rsp + 0x58]
mov rax, r8
cmp rax, rbx
jne 0x1401f8749
cmp byte [rbp + 0x67], 0
jne 0x1401f8749
cmp byte [rbp + 0x68], 0
jne 0x1401f8749
cmp dword [rbp + 0xe4], 0
mov byte [rbp + 0x67], 1
jle 0x1401f8714
mov dword [rbp + 0x198], 1
inc dword [rbp + 0x1a0]
xor eax, eax
mov rcx, qword [rbp + 0x160]
mov word [rbp + 0x1a4], ax
test rcx, rcx
je 0x1401f8749
lea rdx, str.out_of_memory
call fcn.1401fdeb0
mov rax, qword [rbp + 0x160]
mov dword [rax + 0x18], 7
mov ebx, dword [rsp + 0x34]
add r14, 0x18
mov rax, qword [rsp + 0x60]
inc ebx
inc rax
mov dword [rsp + 0x34], ebx
mov qword [rsp + 0x60], rax
cmp ebx, dword [rsp + 0x50]
jl 0x1401f81e0
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0xd8]
lea rcx, [rsp + 0x38]
call fcn.14020c780
cmp byte [rbp + 0x67], 0
mov r15, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
je 0x1401f880c
movsxd rdi, ebx
test ebx, ebx
jle 0x1401f87ca
mov rbx, rsi
nop word [rax + rax]
mov rdx, qword [rbx]
test rdx, rdx
je 0x1401f87c0
mov rcx, rbp
call fcn.1401fb370
add rbx, 0x18
sub rdi, 1
jne 0x1401f87b0
test rsi, rsi
je 0x1401f87da
mov rdx, rsi
mov rcx, rbp
call fcn.1401fb370
mov rax, qword [rsp + 0xd0]
xor ecx, ecx
mov qword [r14], rcx
mov word [rax], cx
lea eax, [rcx + 7]
add rsp, 0x90
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov word [r8], cx
mov rsi, rcx
mov qword [r9], rcx
mov ebx, ecx
jmp 0x1401f877b
xor eax, eax
add rsp, 0x90
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret