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

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rdi
push r12
push r13
sub rsp, 0x90
mov rax, qword [rcx]
xor r12d, r12d
mov qword [r11 + 0x20], rbx
mov rdi, rcx
mov qword [r11 - 0x28], rsi
mov esi, r12d
mov qword [r11 - 0x30], r14
mov r14d, r12d
mov qword [r11 - 0x78], r12
mov qword [r11 - 0x70], r12
mov qword [rsp + 0xc0], rax
mov qword [r11 + 0x10], r12
mov qword [r11 - 0x60], r12
mov qword [r11 - 0x68], rcx
call fcn.1402d9960
mov r13d, eax
test eax, eax
jne 0x1402db17c
lea edx, [rax + 1]
mov rcx, rdi
call fcn.14027fe50
mov r13d, eax
test eax, eax
jne 0x1402db17c
xor r9d, r9d
lea r8, [rsp + 0xb8]
lea edx, [rax + 0xa]
mov rcx, rdi
call fcn.14027f2a0
mov rsi, qword [rsp + 0xb8]
mov r13d, eax
test eax, eax
jne 0x1402db17c
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x70], r15
movaps xmmword [rsp + 0x60], xmm6
movsd xmm6, qword [0x14035cfe0]
movaps xmmword [rsp + 0x50], xmm7
movsd xmm7, qword [0x14035d060]
movabs rbp, 0x8000000000000000
mov edi, r12d
test rsi, rsi
je 0x1402db122
cmp qword [rsi], 0
jne 0x1402da974
lea rdx, str.API_called_with_finalized_prepared_statement
mov ecx, 0x15
call fcn.140208410
mov eax, 1
jmp 0x1402da977
mov eax, r12d
test eax, eax
jne 0x1402db133
mov r15, qword [rsi]
mov rcx, qword [r15 + 0x18]
test rcx, rcx
je 0x1402da991
call qword [0x14046b0b0]
mov rcx, rsi
call fcn.1402f8d60
mov ebx, eax
cmp eax, 0x11
jne 0x1402dab55
nop dword [rax]
nop dword [rax + rax]
mov eax, edi
inc edi
cmp eax, 0x32
jge 0x1402dab46
mov ebp, dword [rsi + 0x30]
mov rcx, rsi
call fcn.1402f0cd0
mov r14d, eax
test eax, eax
jne 0x1402daa76
mov rbx, qword [rsi]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1402da9e5
call qword [0x14046b0b0]
cmp qword [rsi + 0xb8], 0
jle 0x1402da9fa
mov rdx, rsi
mov rcx, rbx
call fcn.14028ae40
mov rcx, rsi
call fcn.14030c440
mov byte [rsi + 0xc7], 1
mov dword [rsi + 0x30], 0xffffffff
mov dword [rsi + 0x34], r12d
mov word [rsi + 0xc4], 0xff02
mov qword [rsi + 0x38], r12
mov dword [rsi + 0x2c], 1
mov dword [rsi + 0x40], r12d
mov qword [rsi + 0x50], r12
cmp byte [rbx + 0x67], 0
jne 0x1402daa3a
test eax, eax
je 0x1402daa44
mov edx, eax
mov rcx, rbx
call fcn.14022e8e0
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1402daa53
call qword [0x14046b0c0]
test ebp, ebp
js 0x1402daa5e
mov byte [rsi + 0xc5], 0xfe
mov rcx, rsi
call fcn.1402f8d60
mov ebx, eax
cmp eax, 0x11
je 0x1402da9b0
jmp 0x1402dab46
mov rcx, qword [r15 + 0x190]
test rcx, rcx
jne 0x1402daa87
mov rdi, r12
jmp 0x1402daabb
movzx edx, word [rcx + 0x14]
mov ebp, 0x202
movzx eax, dx
and ax, bp
cmp ax, bp
jne 0x1402daaa7
cmp byte [rcx + 0x16], 1
jne 0x1402daaa7
mov rdi, qword [rcx + 8]
jmp 0x1402daabb
test dl, 1
je 0x1402daab1
mov rdi, r12
jmp 0x1402daabb
mov dl, 1
call fcn.14031f760
mov rdi, rax
mov rdx, qword [rsi + 0xa8]
test rdx, rdx
je 0x1402daacf
mov rcx, r15
call fcn.1402bd350
cmp byte [r15 + 0x67], 0
jne 0x1402dab37
test rdi, rdi
jne 0x1402daae0
mov rbp, r12
jmp 0x1402dab1e
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
cmp byte [rdi + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x1402daaf0
lea rdx, [rbx + 1]
mov rcx, r15
call fcn.1402bd4e0
mov rbp, rax
test rax, rax
je 0x1402dab1e
lea r8, [rbx + 1]
mov rdx, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov edx, r14d
mov qword [rsi + 0xa8], rbp
mov rcx, r15
call fcn.14022e8e0
mov ebx, eax
mov dword [rsi + 0x34], eax
jmp 0x1402dab46
mov ebx, 7
mov qword [rsi + 0xa8], r12
mov dword [rsi + 0x34], ebx
mov r14, qword [rsp + 0x30]
movabs rbp, 0x8000000000000000
mov rcx, qword [r15 + 0x18]
test rcx, rcx
je 0x1402dab64
call qword [0x14046b0c0]
cmp ebx, 0x64
jne 0x1402db15d
mov rax, qword [rsi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1402dab7f
call qword [0x14046b0b0]
mov rcx, qword [rsi + 0xa0]
test rcx, rcx
je 0x1402dab95
cmp r12w, word [rsi + 0xc0]
jb 0x1402dabb0
mov rcx, qword [rsi]
mov edx, 0x19
mov dword [rcx + 0x50], 0x19
call fcn.1402c0010
lea rcx, [0x140350330]
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x1402dabbd
mov rbx, qword [rcx]
jmp 0x1402dac01
test al, 8
je 0x1402dabe9
movsd xmm0, qword [rcx]
comisd xmm7, xmm0
jbe 0x1402dabd0
mov rbx, rbp
jmp 0x1402dac01
comisd xmm0, xmm6
jbe 0x1402dabe2
movabs rbx, 0x7fffffffffffffff
jmp 0x1402dac01
cvttsd2si rbx, xmm0
jmp 0x1402dac01
test al, 0x12
je 0x1402dabfe
cmp qword [rcx + 8], 0
je 0x1402dabfe
call fcn.140293f80
mov rbx, rax
jmp 0x1402dac01
mov rbx, r12
mov rcx, qword [rsi]
mov edx, dword [rsi + 0x34]
mov qword [rsp + 0xb8], rbx
cmp byte [rcx + 0x67], 0
jne 0x1402dac1e
test edx, edx
jne 0x1402dac1e
mov eax, r12d
jmp 0x1402dac23
call fcn.14022e8e0
mov dword [rsi + 0x34], eax
mov rax, qword [rsi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1402dac38
call qword [0x14046b0c0]
mov rdi, qword [rsp + 0xb0]
mov r8, rbx
xor edx, edx
mov dword [rsp + 0x38], r12d
mov ebp, r12d
mov rcx, qword [rdi + 8]
call fcn.1402d49c0
mov edx, r12d
mov r13d, eax
mov dword [rsp + 0x48], edx
test eax, eax
jne 0x1402db0fd
nop dword [rax + rax]
mov r15, qword [rsp + 0xc0]
cmp edx, dword [r15 + 0x18]
jge 0x1402db0f5
mov dword [rsp + 0x4c], r12d
mov r8d, r12d
mov rax, qword [r15 + 0x28]
movsxd rcx, edx
cmp byte [rcx + rax], 0
jne 0x1402dae58
mov rax, qword [rsi]
lea ebx, [rdx + 1]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1402dacb0
call qword [0x14046b0b0]
mov rdx, qword [rsi + 0xa0]
test rdx, rdx
je 0x1402dacdc
movzx eax, word [rsi + 0xc0]
cmp ebx, eax
jge 0x1402dacdc
test ebx, ebx
js 0x1402dacdc
movsxd rax, ebx
imul rcx, rax, 0x38
add rcx, rdx
jne 0x1402dacf7
mov rdi, r12
jmp 0x1402dad2e
mov rcx, qword [rsi]
mov edx, 0x19
mov dword [rcx + 0x50], 0x19
call fcn.1402c0010
lea rcx, [0x140350330]
movzx edx, word [rcx + 0x14]
mov r8d, 0x202
movzx eax, dx
and ax, r8w
cmp ax, r8w
jne 0x1402dad1a
cmp byte [rcx + 0x16], 1
jne 0x1402dad1a
mov rdi, qword [rcx + 8]
jmp 0x1402dad2e
test dl, 1
je 0x1402dad24
mov rdi, r12
jmp 0x1402dad2e
mov dl, 1
call fcn.14031f760
mov rdi, rax
mov rcx, qword [rsi]
mov edx, dword [rsi + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1402dad43
test edx, edx
jne 0x1402dad43
mov eax, r12d
jmp 0x1402dad48
call fcn.14022e8e0
mov dword [rsi + 0x34], eax
mov rax, qword [rsi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1402dad5d
call qword [0x14046b0c0]
mov rax, qword [rsi]
mov ebx, dword [rsp + 0x48]
inc ebx
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1402dad75
call qword [0x14046b0b0]
mov rdx, qword [rsi + 0xa0]
test rdx, rdx
je 0x1402dad9c
movzx eax, word [rsi + 0xc0]
cmp ebx, eax
jge 0x1402dad9c
test ebx, ebx
js 0x1402dad9c
movsxd rax, ebx
imul rcx, rax, 0x38
add rcx, rdx
jmp 0x1402dadb7
mov rcx, qword [rsi]
mov edx, 0x19
mov dword [rcx + 0x50], 0x19
call fcn.1402c0010
lea rcx, [0x140350330]
movzx eax, word [rcx + 0x14]
test al, 2
je 0x1402dadca
cmp byte [rcx + 0x16], 1
jne 0x1402dadca
mov ebx, dword [rcx + 0x10]
jmp 0x1402dadee
test al, 0x10
je 0x1402daddc
bt ax, 0xa
mov ebx, dword [rcx + 0x10]
jae 0x1402dadee
add ebx, dword [rcx]
jmp 0x1402dadee
test al, 1
je 0x1402dade5
mov ebx, r12d
jmp 0x1402dadee
mov dl, 1
call fcn.14031e990
mov ebx, eax
mov rcx, qword [rsi]
mov edx, dword [rsi + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1402dae03
test edx, edx
jne 0x1402dae03
mov eax, r12d
jmp 0x1402dae08
call fcn.14022e8e0
mov dword [rsi + 0x34], eax
mov rax, qword [rsi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1402dae1d
call qword [0x14046b0c0]
test rdi, rdi
jne 0x1402dae27
mov r13d, r12d
jmp 0x1402dae53
mov rax, qword [r15 + 0x70]
lea rcx, [0x14027f610]
mov qword [rsp + 0x28], rcx
lea rdx, [rsp + 0x40]
mov rcx, qword [r15 + 0x68]
mov r9, rdi
mov r8d, 4
mov dword [rsp + 0x20], ebx
call qword [rax + 0x10]
mov r13d, eax
mov r8d, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x3c]
lea ecx, [rbp + 9]
movsxd r12, r8d
cmp ecx, edx
jbe 0x1402db077
test edx, edx
mov eax, 0x40
cmovne eax, edx
movsxd rbx, eax
mov eax, ecx
cmp rbx, rax
jae 0x1402dae88
nop
add rbx, rbx
cmp rbx, rax
jb 0x1402dae80
call fcn.140319ef0
test eax, eax
jne 0x1402daef3
test r14, r14
jne 0x1402daea3
mov rcx, rbx
call fcn.1402e5070
jmp 0x1402db05f
test rbx, rbx
jne 0x1402daf07
cmp dword [0x14046b030], ebx
je 0x1402daeea
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402daec2
call qword [0x14046b0b0]
mov rcx, r14
call qword [0x14046b068]
dec qword [0x140473788]
movsxd rcx, eax
sub qword [0x140473740], rcx
mov rcx, r14
call qword [0x14046b058]
jmp 0x1402dafa4
mov rcx, r14
call qword [0x14046b058]
mov ebp, dword [rsp + 0x38]
mov r13d, 7
mov r14, qword [rsp + 0x30]
jmp 0x1402db0c2
cmp rbx, 0x7fffff00
jae 0x1402daef3
mov rcx, r14
call qword [0x14046b068]
mov ecx, ebx
mov r15d, eax
call qword [0x14046b070]
mov r14d, eax
cmp r15d, eax
jne 0x1402daf36
mov rdi, qword [rsp + 0x30]
jmp 0x1402db062
cmp dword [0x14046b030], 0
je 0x1402db051
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402daf55
call qword [0x14046b0b0]
movsxd rax, ebx
cmp rax, qword [0x1404737b8]
jle 0x1402daf68
mov qword [0x1404737b8], rax
mov ecx, r14d
sub ecx, r15d
test ecx, ecx
jle 0x1402dafd2
mov rax, qword [0x140473808]
mov rdi, qword [0x140473740]
movsxd rbp, ecx
sub rax, rbp
cmp rdi, rax
jl 0x1402dafce
call fcn.1402e5200
mov rax, qword [0x140473810]
test rax, rax
jle 0x1402dafce
sub rax, rbp
cmp rdi, rax
jl 0x1402dafce
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402daef3
call qword [0x14046b0c0]
mov ebp, dword [rsp + 0x38]
mov r13d, 7
mov r14, qword [rsp + 0x30]
jmp 0x1402db0c2
mov ebp, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov edx, r14d
call qword [0x14046b060]
mov rdi, rax
test rax, rax
jne 0x1402db00e
cmp qword [0x140473808], rax
jle 0x1402db03d
mov ecx, ebx
call fcn.1402e5200
mov rcx, qword [rsp + 0x30]
mov edx, r14d
call qword [0x14046b060]
mov rdi, rax
test rax, rax
je 0x1402db03d
mov rcx, rdi
call qword [0x14046b068]
mov rcx, qword [0x140473740]
sub eax, r15d
cdqe
add rcx, rax
cmp rcx, qword [0x140473790]
mov qword [0x140473740], rcx
jle 0x1402db03d
mov qword [0x140473790], rcx
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402db062
call qword [0x14046b0c0]
jmp 0x1402db062
mov rcx, qword [rsp + 0x30]
mov edx, r14d
call qword [0x14046b060]
mov rdi, rax
test rdi, rdi
je 0x1402daef3
mov dword [rsp + 0x3c], ebx
mov r14, rdi
mov qword [rsp + 0x30], rdi
movsxd rcx, ebp
add rcx, r14
cmp r12, 0x7f
ja 0x1402db091
and r12b, 0x7f
mov eax, 1
mov byte [rcx], r12b
jmp 0x1402db0bc
cmp r12, 0x3fff
ja 0x1402db0b4
mov rax, r12
shr rax, 7
or al, 0x80
and r12b, 0x7f
mov byte [rcx], al
mov byte [rcx + 1], r12b
mov eax, 2
jmp 0x1402db0bc
mov rdx, r12
call fcn.14027a2a0
add ebp, eax
mov dword [rsp + 0x38], ebp
movsxd rdx, dword [rsp + 0x48]
mov r12d, 0
mov rdi, qword [rsp + 0xb0]
movsxd rax, dword [rsp + 0x4c]
mov rcx, qword [rdi + 0x20]
add qword [rcx + rdx*8], rax
mov edx, dword [rsp + 0x48]
inc edx
mov dword [rsp + 0x48], edx
test r13d, r13d
je 0x1402dac70
mov rbx, qword [rsp + 0xb8]
inc qword [rdi + 0x18]
test r13d, r13d
jne 0x1402db165
lea r8, [rsp + 0x30]
mov rdx, rbx
mov rcx, rdi
call fcn.14027f700
mov r13d, eax
test eax, eax
jne 0x1402db165
jmp 0x1402da940
lea rdx, str.API_called_with_NULL_prepared_statement
mov ecx, 0x15
call fcn.140208410
lea rax, [0x14035ce34]
mov r9d, 0x160c0
lea r8, str.misuse
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, 0x15
call fcn.140208410
mov rdi, qword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0x60]
mov r15, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x88]
movaps xmm7, xmmword [rsp + 0x50]
test r14, r14
je 0x1402db1dc
cmp dword [0x14046b030], 0
je 0x1402db1d3
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402db19c
call qword [0x14046b0b0]
mov rcx, r14
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, r14
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402db1dc
call qword [0x14046b0c0]
jmp 0x1402db1dc
mov rcx, r14
call qword [0x14046b058]
mov r14, qword [rsp + 0x78]
test rsi, rsi
je 0x1402db26d
mov rbx, qword [rsi]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1402db1fc
call qword [0x14046b0b0]
cmp qword [rsi + 0xb8], 0
jle 0x1402db211
mov rdx, rsi
mov rcx, rbx
call fcn.14028ae40
mov rcx, rsi
call fcn.14030c440
mov byte [rsi + 0xc7], 1
mov dword [rsi + 0x30], 0xffffffff
mov dword [rsi + 0x34], r12d
mov word [rsi + 0xc4], 0xff02
mov qword [rsi + 0x38], r12
mov dword [rsi + 0x2c], 1
mov dword [rsi + 0x40], r12d
mov qword [rsi + 0x50], r12
cmp byte [rbx + 0x67], 0
jne 0x1402db251
test eax, eax
je 0x1402db25e
mov edx, eax
mov rcx, rbx
call fcn.14022e8e0
mov r12d, eax
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1402db26d
call qword [0x14046b0c0]
mov rsi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0xc8]
test r13d, r13d
jne 0x1402db2ac
test r12d, r12d
jne 0x1402db29c
mov rcx, rdi
call fcn.140280650
add rsp, 0x90
pop r13
pop r12
pop rdi
ret
mov eax, r12d
add rsp, 0x90
pop r13
pop r12
pop rdi
ret
mov eax, r13d
add rsp, 0x90
pop r13
pop r12
pop rdi
ret