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

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xa78
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x88]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov byte [rsp + 0xb0], 0
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x5e]
mov byte [rsp + 0x48], al
mov dword [rsp + 0xe8], 0
mov dword [rsp + 0x2dc], 0
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x50], 0
mov rax, qword [rsp + 0xa90]
cmp dword [rax + 0x38], 7
jne 0x140063593
jmp 0x14006d40c
mov rax, qword [rsp + 0xa90]
mov qword [rax + 0x48], 0
mov rax, qword [rsp + 0xa90]
mov qword [rax + 0xa0], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x228], 0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x160]
test eax, eax
je 0x1400635d9
jmp 0x14006d437
mov rax, qword [rsp + 0xa90]
movsxd rax, dword [rax + 0x34]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x14006360c
mov rax, qword [rsp + 0x38]
add rax, 0x18
mov qword [rsp + 0x38], rax
xor eax, eax
cmp eax, 1
je 0x14006d29f
mov eax, dword [rsp + 0x2dc]
inc eax
mov dword [rsp + 0x2dc], eax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov dword [rsp + 0x400], eax
cmp dword [rsp + 0x400], 0xa8
ja case.0x140063660.85
movsxd rax, dword [rsp + 0x400]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x6d4a8]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x160]
test eax, eax
je 0x140063699
jmp 0x14006d437
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov eax, 4
mov rcx, qword [rsp + 0x58]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, reloc.ODBC32.dll_SQLAllocHandle
idiv rcx
cdqe
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
imul rax, qword [rax], 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
mov eax, 0x80
mov rcx, qword [rsp + 0x58]
mov word [rcx + 8], ax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
mov eax, 4
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
je 0x1400637b3
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
imul rax, qword [rax], 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x8c8], rax
mov rax, qword [rsp + 0x8c8]
mov eax, dword [rax + 8]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
mov eax, 0x80
mov rcx, qword [rsp + 0x58]
mov word [rcx + 8], ax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov eax, 4
mov rcx, qword [rsp + 0x58]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
mov dword [rsp + 0x50c], eax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, reloc.ODBC32.dll_SQLAllocHandle
idiv rcx
cdqe
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
movsxd rax, dword [rsp + 0x50c]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 8]
and eax, 1
test eax, eax
jne case.0x140063660.68
jmp case.0x140063660.85
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, reloc.ODBC32.dll_SQLAllocHandle
idiv rcx
mov dword [rsp + 0x150], eax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
jne 0x140063a2a
mov rax, qword [rsp + 0xa90]
cmp qword [rax + 0x100], 0
je 0x140063a2a
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0x790], rax
mov rax, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0x790]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x100], rcx
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0x110]
dec eax
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x110], eax
mov rax, qword [rsp + 0xa90]
mov edx, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x40]
call fcn.14005fde0
mov rcx, qword [rsp + 0x790]
call fcn.14005bf40
mov dword [rsp + 0x150], eax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 4
jne 0x1400639de
movsxd rax, dword [rsp + 0x150]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x88]
mov eax, dword [rcx + rax + 8]
dec eax
mov dword [rsp + 0x150], eax
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x88]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x60], rax
movsxd rax, dword [rsp + 0x150]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp case.0x140063660.85
mov rax, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 4]
mov dword [rax + 0x38], ecx
mov rax, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0x38]
movzx ecx, byte [rcx + 8]
mov byte [rax + 0xc2], cl
mov rax, qword [rsp + 0xa90]
mov ecx, dword [rsp + 0x150]
mov dword [rax + 0x34], ecx
mov rax, qword [rsp + 0xa90]
cmp dword [rax + 0x38], 0
je 0x140063b53
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test eax, eax
je 0x140063af7
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
dec eax
cdqe
lea rcx, str.NOT_NULL
mov r8, qword [rcx + rax*8]
lea rdx, str._s_constraint_failed
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0
je 0x140063af5
mov rax, qword [rsp + 0x38]
mov r9, qword [rax + 0x10]
mov rax, qword [rsp + 0xa90]
mov r8, qword [rax + 0xa8]
lea rdx, str._z:__s
mov rcx, qword [rsp + 0x40]
call fcn.14002add0
mov rcx, qword [rsp + 0xa90]
mov qword [rcx + 0xa8], rax
jmp 0x140063b14
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
lea rdx, [0x14018f468]
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0xa8]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0xa90]
mov r9, qword [rax + 0xf0]
mov r8d, dword [rsp + 0x150]
lea rdx, str.abort_at__d_in___s_:__s
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 4]
call fcn.14002b050
mov rcx, qword [rsp + 0xa90]
call fcn.14005cc80
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 5
jne 0x140063b7c
mov rax, qword [rsp + 0xa90]
mov dword [rax + 0x38], 5
jmp 0x140063bad
mov rax, qword [rsp + 0xa90]
cmp dword [rax + 0x38], 0
je 0x140063b97
mov dword [rsp + 0x3c4], 1
jmp 0x140063ba2
mov dword [rsp + 0x3c4], SQLExecDirectW
mov eax, dword [rsp + 0x3c4]
mov dword [rsp + 0x30], eax
jmp 0x14006d3ab
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
jmp case.0x140063660.85
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rax]
mov qword [rcx], rax
jmp case.0x140063660.85
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov eax, 8
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
movsd xmm0, qword [rax]
movsd qword [rcx], xmm0
jmp case.0x140063660.85
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 0x10]
call fcn.14002c440
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 4], eax
movzx eax, byte [rsp + 0x48]
cmp eax, 1
je 0x140063d47
mov qword [rsp + 0x20], 0
mov r9b, 1
mov r8d, 0xffffffff
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
call fcn.140057f90
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140063cbf
jmp 0x14006d3eb
movzx eax, byte [rsp + 0x48]
mov edx, eax
mov rcx, qword [rsp + 0x50]
call fcn.140056b30
test eax, eax
je 0x140063cd9
jmp 0x14006d40c
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
bts eax, 0xb
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffff9
jne 0x140063d1c
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x40]
call fcn.140027660
mov rax, qword [rsp + 0x38]
mov byte [rax + 1], 0xf9
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x50]
mov ecx, dword [rcx + 0xc]
mov dword [rax + 4], ecx
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + rax + 0x7c]
cmp dword [rcx + 4], eax
jle 0x140063d68
jmp 0x14006d3eb
mov rax, qword [rsp + 0x38]
mov byte [rax], Ordinal_73
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov eax, 0xa02
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 4]
mov dword [rax + 0xc], ecx
mov rax, qword [rsp + 0x50]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0xa], cl
jmp case.0x140063660.85
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 8]
mov eax, dword [rax + 0xc]
sub eax, ecx
mov dword [rsp + 0x2b8], eax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x140063e11
mov dword [rsp + 0x3c0], 0x101
jmp 0x140063e1c
mov dword [rsp + 0x3c0], 1
movzx eax, word [rsp + 0x3c0]
mov word [rsp + 0x19c], ax
mov rax, qword [rsp + 0x50]
movzx ecx, word [rsp + 0x19c]
mov word [rax + 8], cx
mov rax, qword [rsp + 0x50]
mov dword [rax + 0xc], 0
cmp dword [rsp + 0x2b8], 0
jle 0x140063e9a
mov rax, qword [rsp + 0x50]
add rax, 0x38
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.140057a40
mov rax, qword [rsp + 0x50]
movzx ecx, word [rsp + 0x19c]
mov word [rax + 8], cx
mov rax, qword [rsp + 0x50]
mov dword [rax + 0xc], 0
mov eax, dword [rsp + 0x2b8]
dec eax
mov dword [rsp + 0x2b8], eax
jmp 0x140063e49
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0xffffff40
or eax, 1
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
jmp case.0x140063660.85
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 4]
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
call fcn.140057f90
mov rax, qword [rsp + 0x50]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0xa], cl
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
dec eax
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0xa90]
add rax, qword [rcx + 0x80]
mov qword [rsp + 0x638], rax
mov rcx, qword [rsp + 0x638]
call fcn.140057d20
test eax, eax
je 0x140063f69
jmp 0x14006d3eb
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0x2400
test eax, eax
je 0x140063fa2
mov rcx, qword [rsp + 0x50]
call fcn.140057a40
mov r8d, reloc.ODBC32.dll_SQLAllocHandle
mov rdx, qword [rsp + 0x638]
mov rcx, qword [rsp + 0x50]
call fcn.140161160
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0xffffebff
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
or eax, 0x840
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x2bc], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x508], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x504], eax
movsxd rax, dword [rsp + 0x508]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
movsxd rax, dword [rsp + 0x504]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.140057f40
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0x1000
test eax, eax
je 0x140064086
mov rcx, qword [rsp + 0x50]
call fcn.140056e90
test eax, eax
je 0x140064086
jmp 0x14006d40c
mov rax, qword [rsp + 0x58]
add rax, 0x38
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x50]
add rax, 0x38
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x2bc]
dec eax
mov dword [rsp + 0x2bc], eax
cmp dword [rsp + 0x2bc], 0
jne 0x140064052
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x2c0], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
xor eax, eax
cmp eax, 1
je 0x14006419a
mov r8d, 0x1000
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.140057df0
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0x1000
test eax, eax
je 0x14006414f
mov rcx, qword [rsp + 0x50]
call fcn.140056e90
test eax, eax
je 0x14006414f
jmp 0x14006d40c
mov eax, dword [rsp + 0x2c0]
mov dword [rsp + 0x510], eax
mov eax, dword [rsp + 0x2c0]
dec eax
mov dword [rsp + 0x2c0], eax
cmp dword [rsp + 0x510], 0
jne 0x140064179
jmp 0x14006419a
mov rax, qword [rsp + 0x50]
add rax, 0x38
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
add rax, 0x38
mov qword [rsp + 0x58], rax
jmp 0x14006410a
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov r8d, 0x1000
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.140057df0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x50]
call fcn.140057b50
jmp case.0x140063660.85
xor edx, edx
mov rcx, qword [rsp + 0xa90]
call fcn.14005cbf0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140064263
jmp 0x14006d29f
mov edx, 1
mov rcx, qword [rsp + 0xa90]
call fcn.14005cbb0
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0x30]
add eax, 2
or eax, 1
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x30], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov qword [rsp + 0x640], rcx
mov rax, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0x640]
mov qword [rax + 0xa0], rcx
mov rax, qword [rsp + 0x640]
mov qword [rsp + 0x548], rax
mov dword [rsp + 0x154], 0
jmp 0x1400642f6
mov eax, dword [rsp + 0x154]
inc eax
mov dword [rsp + 0x154], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
cmp dword [rsp + 0x154], eax
jge 0x14006437b
movsxd rax, dword [rsp + 0x154]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x548]
movzx eax, word [rcx + rax + 8]
and eax, 0x1000
test eax, eax
je 0x140064354
movsxd rax, dword [rsp + 0x154]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x548]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140056e90
test eax, eax
je 0x140064354
jmp 0x14006d40c
movsxd rax, dword [rsp + 0x154]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x548]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140057000
jmp 0x1400642e6
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x61]
test eax, eax
je 0x14006438d
jmp 0x14006d40c
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x68]
and eax, 4
test eax, eax
je 0x1400643c4
xor r9d, r9d
mov r8, qword [rsp + 0xa90]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0xf0]
mov ecx, 4
mov rax, qword [rsp + 0x40]
call qword [rax + 0xe8]
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, reloc.ODBC32.dll_SQLAllocHandle
idiv rcx
inc eax
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x34], eax
mov dword [rsp + 0x30], 0x64
jmp 0x14006d3ab
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
mov word [rsp + 0xc4], ax
movzx eax, word [rsp + 0xc4]
mov rcx, qword [rsp + 0x98]
movzx ecx, word [rcx + 8]
or eax, ecx
and eax, 1
test eax, eax
je 0x140064492
mov rcx, qword [rsp + 0x50]
call fcn.140057a40
jmp case.0x140063660.85
movzx eax, word [rsp + 0xc4]
and eax, 0x12
test eax, eax
jne 0x1400644d2
xor r8d, r8d
movzx edx, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
call fcn.140057040
test eax, eax
je 0x1400644bc
jmp 0x14006d40c
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 0xfffffffd
mov word [rsp + 0xc4], ax
jmp 0x14006450a
movzx eax, word [rsp + 0xc4]
and eax, 0x4000
test eax, eax
je 0x14006450a
mov rcx, qword [rsp + 0x58]
call fcn.140056f40
test eax, eax
je 0x1400644f6
jmp 0x14006d40c
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 0xfffffffd
mov word [rsp + 0xc4], ax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 8]
mov word [rsp + 0xec], ax
movzx eax, word [rsp + 0xec]
and eax, 0x12
test eax, eax
jne 0x140064564
xor r8d, r8d
movzx edx, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x98]
call fcn.140057040
test eax, eax
je 0x14006454b
jmp 0x14006d40c
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 8]
and eax, 0xfffffffd
mov word [rsp + 0xec], ax
jmp 0x1400645a2
movzx eax, word [rsp + 0xec]
and eax, 0x4000
test eax, eax
je 0x1400645a2
mov rcx, qword [rsp + 0x98]
call fcn.140056f40
test eax, eax
je 0x14006458b
jmp 0x14006d40c
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 8]
and eax, 0xfffffffd
mov word [rsp + 0xec], ax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x98]
add eax, dword [rcx + 0xc]
cdqe
mov qword [rsp + 0x308], rax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + rax + 0x7c]
cmp qword [rsp + 0x308], rax
jle 0x1400645e1
jmp 0x14006d3eb
mov rax, qword [rsp + 0x98]
cmp qword [rsp + 0x50], rax
jne 0x1400645fd
mov dword [rsp + 0x3bc], 1
jmp 0x140064608
mov dword [rsp + 0x3bc], 0
mov eax, dword [rsp + 0x308]
add eax, 3
mov r8d, dword [rsp + 0x3bc]
mov edx, eax
mov rcx, qword [rsp + 0x50]
call fcn.140056b80
test eax, eax
je 0x14006462f
jmp 0x14006d40c
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0xffff3e40
or eax, 2
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x98]
cmp qword [rsp + 0x50], rax
je 0x140064695
mov rax, qword [rsp + 0x98]
movsxd rax, dword [rax + 0xc]
mov r8, rax
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax + 0x10]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x10]
call fcn.140161160
mov rax, qword [rsp + 0x98]
movzx ecx, word [rsp + 0xec]
mov word [rax + 8], cx
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x98]
movsxd rcx, dword [rcx + 0xc]
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx + 0x10]
add rdx, rcx
mov rcx, rdx
mov r8, rax
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax + 0x10]
call fcn.140161160
mov rax, qword [rsp + 0x58]
movzx ecx, word [rsp + 0xc4]
mov word [rax + 8], cx
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0x308]
mov byte [rax + rcx], 0
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0x308]
mov byte [rax + rcx + 1], 0
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0x308]
mov byte [rax + rcx + 2], 0
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
bts eax, 9
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x308]
mov dword [rax + 0xc], ecx
mov rax, qword [rsp + 0x50]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0xa], cl
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.1400633e0
mov word [rsp + 0x2b4], ax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
call fcn.1400633e0
mov word [rsp + 0x2ac], ax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
mov rcx, qword [rsp + 0x98]
movzx ecx, word [rcx + 8]
or eax, ecx
mov word [rsp + 0x2b0], ax
movzx eax, word [rsp + 0x2b4]
movzx ecx, word [rsp + 0x2ac]
and eax, ecx
and eax, 4
test eax, eax
je 0x14006499b
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov byte [rsp + 0x200], al
cmp byte [rsp + 0x200], 0x67
je 0x14006486f
cmp byte [rsp + 0x200], 0x68
je 0x140064892
cmp byte [rsp + 0x200], 0x69
je 0x1400648b5
cmp byte [rsp + 0x200], 0x6a
je 0x1400648d8
jmp 0x140064928
mov rdx, qword [rsp + 0x138]
lea rcx, [rsp + 0x1d0]
call fcn.14002e890
test eax, eax
je 0x14006488d
jmp 0x1400649b4
jmp 0x14006496c
mov rdx, qword [rsp + 0x138]
lea rcx, [rsp + 0x1d0]
call fcn.14002e930
test eax, eax
je 0x1400648b0
jmp 0x1400649b4
jmp 0x14006496c
mov rdx, qword [rsp + 0x138]
lea rcx, [rsp + 0x1d0]
call fcn.14002e9a0
test eax, eax
je 0x1400648d3
jmp 0x1400649b4
jmp 0x14006496c
cmp qword [rsp + 0x138], 0
jne 0x1400648e8
jmp 0x140064b61
cmp qword [rsp + 0x138], 0xffffffffffffffff
jne 0x14006490c
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x1d0], rax
jne 0x14006490c
jmp 0x1400649b4
mov rax, qword [rsp + 0x1d0]
cqo
idiv qword [rsp + 0x138]
mov qword [rsp + 0x1d0], rax
jmp 0x14006496c
cmp qword [rsp + 0x138], 0
jne 0x140064938
jmp 0x140064b61
cmp qword [rsp + 0x138], 0xffffffffffffffff
jne 0x14006494f
mov qword [rsp + 0x138], 1
mov rax, qword [rsp + 0x1d0]
cqo
idiv qword [rsp + 0x138]
mov rax, rdx
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x1d0]
mov qword [rax], rcx
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0xffff3e40
or eax, 4
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
jmp 0x140064b5c
movzx eax, word [rsp + 0x2b0]
and eax, 1
test eax, eax
je 0x1400649b4
jmp 0x140064b61
mov rcx, qword [rsp + 0x58]
call fcn.140057520
movsd qword [rsp + 0x418], xmm0
mov rcx, qword [rsp + 0x98]
call fcn.140057520
movsd qword [rsp + 0x1d8], xmm0
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov byte [rsp + 0x204], al
cmp byte [rsp + 0x204], 0x67
je 0x140064a19
cmp byte [rsp + 0x204], 0x68
je 0x140064a39
cmp byte [rsp + 0x204], 0x69
je 0x140064a59
cmp byte [rsp + 0x204], 0x6a
je 0x140064a79
jmp 0x140064aae
movsd xmm0, qword [rsp + 0x1d8]
addsd xmm0, qword [rsp + 0x418]
movsd qword [rsp + 0x1d8], xmm0
jmp 0x140064b1c
movsd xmm0, qword [rsp + 0x1d8]
subsd xmm0, qword [rsp + 0x418]
movsd qword [rsp + 0x1d8], xmm0
jmp 0x140064b1c
movsd xmm0, qword [rsp + 0x1d8]
mulsd xmm0, qword [rsp + 0x418]
movsd qword [rsp + 0x1d8], xmm0
jmp 0x140064b1c
movsd xmm0, qword [rsp + 0x418]
ucomisd xmm0, qword [0x1401cc868]
jne 0x140064a91
jmp 0x140064b61
movsd xmm0, qword [rsp + 0x1d8]
divsd xmm0, qword [rsp + 0x418]
movsd qword [rsp + 0x1d8], xmm0
jmp 0x140064b1c
mov rcx, qword [rsp + 0x58]
call fcn.140057460
mov qword [rsp + 0x138], rax
mov rcx, qword [rsp + 0x98]
call fcn.140057460
mov qword [rsp + 0x1d0], rax
cmp qword [rsp + 0x138], 0
jne 0x140064ae2
jmp 0x140064b61
cmp qword [rsp + 0x138], 0xffffffffffffffff
jne 0x140064af9
mov qword [rsp + 0x138], 1
mov rax, qword [rsp + 0x1d0]
cqo
idiv qword [rsp + 0x138]
mov rax, rdx
cvtsi2sd xmm0, rax
movsd qword [rsp + 0x1d8], xmm0
movsd xmm0, qword [rsp + 0x1d8]
call fcn.14002c3c0
test eax, eax
je 0x140064b30
jmp 0x140064b61
mov rax, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x1d8]
movsd qword [rax], xmm0
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0xffff3e40
or eax, 8
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
jmp case.0x140063660.85
mov rcx, qword [rsp + 0x50]
call fcn.140057a40
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x140064b9d
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
xor edx, edx
mov rcx, rax
call fcn.140057b50
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
mov rcx, qword [rsp + 0x98]
movzx ecx, word [rcx + 8]
or eax, ecx
and eax, 1
test eax, eax
je 0x140064c29
mov rcx, qword [rsp + 0x50]
call fcn.140057a40
jmp case.0x140063660.85
mov rcx, qword [rsp + 0x98]
call fcn.140057460
mov qword [rsp + 0x1e8], rax
mov rcx, qword [rsp + 0x58]
call fcn.140057460
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov byte [rsp + 0x68], al
movzx eax, byte [rsp + 0x68]
cmp eax, 0x63
jne 0x140064c89
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1e8]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x1e8], rax
jmp 0x140064e34
movzx eax, byte [rsp + 0x68]
cmp eax, 0x64
jne 0x140064cb6
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1e8]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x1e8], rax
jmp 0x140064e34
cmp qword [rsp + 0x1b0], 0
je 0x140064e34
cmp qword [rsp + 0x1b0], 0
jge 0x140064d1e
movzx eax, byte [rsp + 0x68]
mov ecx, reloc.WLDAP32.dll_Ordinal_203
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x68], al
cmp qword [rsp + 0x1b0], 0xffffffffffffffc0
jle 0x140064d02
mov rax, qword [rsp + 0x1b0]
neg rax
mov qword [rsp + 0x648], rax
jmp 0x140064d0e
mov qword [rsp + 0x648], 0x40
mov rax, qword [rsp + 0x648]
mov qword [rsp + 0x1b0], rax
cmp qword [rsp + 0x1b0], 0x40
jl 0x140064d6b
cmp qword [rsp + 0x1e8], 0
jge 0x140064d4b
movzx eax, byte [rsp + 0x68]
cmp eax, 0x65
je 0x140064d4b
mov dword [rsp + 0x3b8], 0xffffffff
jmp 0x140064d56
mov dword [rsp + 0x3b8], 0
movsxd rax, dword [rsp + 0x3b8]
mov qword [rsp + 0x1e8], rax
jmp 0x140064e34
mov r8d, 8
lea rdx, [rsp + 0x1e8]
lea rcx, [rsp + 0x2c8]
call fcn.140161160
movzx eax, byte [rsp + 0x68]
cmp eax, 0x65
jne 0x140064db0
mov rax, qword [rsp + 0x1b0]
movzx ecx, al
mov rax, qword [rsp + 0x2c8]
shl rax, cl
mov qword [rsp + 0x2c8], rax
jmp 0x140064e19
mov rax, qword [rsp + 0x1b0]
movzx ecx, al
mov rax, qword [rsp + 0x2c8]
shr rax, cl
mov qword [rsp + 0x2c8], rax
cmp qword [rsp + 0x1e8], 0
jge 0x140064e19
mov eax, 0x40
sub rax, qword [rsp + 0x1b0]
mov rcx, 0xffffffffffffffff
mov qword [rsp + 0x8d0], rcx
movzx ecx, al
mov rax, qword [rsp + 0x8d0]
shl rax, cl
mov rcx, qword [rsp + 0x2c8]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x2c8], rax
mov r8d, 8
lea rdx, [rsp + 0x2c8]
lea rcx, [rsp + 0x1e8]
call fcn.140161160
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x1e8]
mov qword [rax], rcx
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0xffff3e40
or eax, 4
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.1400576a0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x58]
add rax, qword [rcx]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 4
test eax, eax
jne 0x140064f16
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
mov rcx, qword [rsp + 0x58]
call fcn.140063190
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 4
test eax, eax
jne 0x140064f16
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
jne 0x140064f11
mov dword [rsp + 0x30], Ordinal_26
jmp 0x14006d29f
jmp 0x1400636f0
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 0xffff3e40
or eax, 4
mov rcx, qword [rsp + 0x58]
mov word [rcx + 8], ax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 0x24
test eax, eax
je 0x140064f6c
mov rcx, qword [rsp + 0x58]
call fcn.1400576e0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 0x4000
test eax, eax
je 0x140064fb3
mov rcx, qword [rsp + 0x58]
call fcn.140056f40
mov dword [rsp + 0x3b4], eax
jmp 0x140064fbe
mov dword [rsp + 0x3b4], 0
mov eax, dword [rsp + 0x3b4]
mov dword [rsp + 0x30], eax
movzx r8d, byte [rsp + 0x48]
mov rax, qword [rsp + 0x38]
movzx edx, byte [rax + 8]
mov rcx, qword [rsp + 0x58]
call fcn.1400578c0
cmp dword [rsp + 0x30], 0
je 0x140064fee
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
mov word [rsp + 0x90], ax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 8]
mov word [rsp + 0x6c], ax
movzx eax, word [rsp + 0x90]
movzx ecx, word [rsp + 0x6c]
or eax, ecx
and eax, 1
test eax, eax
je 0x140065156
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x80
test eax, eax
je 0x1400650e3
movzx eax, word [rsp + 0x90]
movzx ecx, word [rsp + 0x6c]
and eax, ecx
and eax, 1
test eax, eax
je 0x1400650af
movzx eax, word [rsp + 0x6c]
and eax, 0x100
test eax, eax
jne 0x1400650af
mov dword [rsp + 0x110], 0
jmp 0x1400650e1
movzx eax, word [rsp + 0x6c]
and eax, 1
test eax, eax
je 0x1400650c8
mov dword [rsp + 0x3b0], 0xffffffff
jmp 0x1400650d3
mov dword [rsp + 0x3b0], 1
mov eax, dword [rsp + 0x3b0]
mov dword [rsp + 0x110], eax
jmp 0x140065151
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x20
test eax, eax
je 0x140065137
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov dword [rsp + 0xe8], 1
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0xffff3e40
or eax, 1
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
jmp 0x14006514c
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x10
test eax, eax
je 0x14006514c
jmp 0x1400636f0
jmp case.0x140063660.85
jmp 0x14006532f
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x47
mov byte [rsp + 0xe0], al
movsx eax, byte [rsp + 0xe0]
cmp eax, 0x43
jl 0x140065256
movzx eax, word [rsp + 0x90]
movzx ecx, word [rsp + 0x6c]
or eax, ecx
and eax, 2
test eax, eax
je 0x1400651d9
movzx eax, word [rsp + 0x90]
and eax, 0x2e
cmp eax, 2
jne 0x1400651bd
xor edx, edx
mov rcx, qword [rsp + 0x58]
call fcn.1400630b0
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 8]
mov word [rsp + 0x6c], ax
movzx eax, word [rsp + 0x6c]
and eax, 0x2e
cmp eax, 2
jne 0x1400651d9
xor edx, edx
mov rcx, qword [rsp + 0x88]
call fcn.1400630b0
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
mov rcx, qword [rsp + 0x88]
movzx ecx, word [rcx + 8]
and eax, ecx
and eax, 4
test eax, eax
je 0x140065251
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
cmp qword [rax], rcx
jle 0x14006521c
mov dword [rsp + 0x110], 1
jmp 0x14006532f
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
cmp qword [rax], rcx
jge 0x140065241
mov dword [rsp + 0x110], 0xffffffff
jmp 0x14006532f
mov dword [rsp + 0x110], 0
jmp 0x14006532f
jmp 0x14006530d
movsx eax, byte [rsp + 0xe0]
cmp eax, 0x42
jne 0x14006530d
movzx eax, word [rsp + 0x90]
and eax, 2
test eax, eax
jne 0x1400652bd
movzx eax, word [rsp + 0x90]
and eax, 0x2c
test eax, eax
je 0x1400652bd
mov r8b, 1
movzx edx, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
call fcn.140057040
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 0xffff3e40
movzx ecx, word [rsp + 0x90]
and ecx, 0xc1bf
or eax, ecx
mov word [rsp + 0x90], ax
movzx eax, word [rsp + 0x6c]
and eax, 2
test eax, eax
jne 0x14006530d
movzx eax, word [rsp + 0x6c]
and eax, 0x2c
test eax, eax
je 0x14006530d
mov r8b, 1
movzx edx, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
call fcn.140057040
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 8]
and eax, 0xffff3e40
movzx ecx, word [rsp + 0x6c]
and ecx, 0xc1bf
or eax, ecx
mov word [rsp + 0x6c], ax
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x88]
call fcn.14005e620
mov dword [rsp + 0x110], eax
cmp dword [rsp + 0x110], 0
jge 0x14006535a
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
sub eax, 0x34
cdqe
lea rcx, [0x140179088]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x1a0], eax
jmp 0x1400653a4
cmp dword [rsp + 0x110], 0
jne 0x140065385
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
sub eax, 0x34
cdqe
lea rcx, [0x140179260]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x1a0], eax
jmp 0x1400653a4
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
sub eax, 0x34
cdqe
lea rcx, [0x140173c44]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x1a0], eax
mov rax, qword [rsp + 0x58]
movzx ecx, word [rsp + 0x90]
mov word [rax + 8], cx
mov rax, qword [rsp + 0x88]
movzx ecx, word [rsp + 0x6c]
mov word [rax + 8], cx
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x20
test eax, eax
je 0x14006547b
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x110]
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 8
test eax, eax
je 0x14006544f
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x35
jne 0x14006542f
mov dword [rsp + 0x3ac], 1
jmp 0x14006543a
mov dword [rsp + 0x3ac], 0
mov eax, dword [rsp + 0x1a0]
cmp dword [rsp + 0x3ac], eax
jne 0x14006544f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0xffff3e40
or eax, 4
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
movsxd rax, dword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
jmp 0x14006548a
cmp dword [rsp + 0x1a0], 0
je 0x14006548a
jmp 0x1400636f0
jmp case.0x140063660.85
cmp dword [rsp + 0xe8], 0
je 0x14006549e
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 1
test eax, eax
jne 0x1400654c6
mov qword [rsp + 0x550], 0
jmp 0x1400654e5
mov eax, reloc.ODBC32.dll_SQLAllocHandle
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + rax + 0x10]
add rax, 4
mov qword [rsp + 0x550], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x500], eax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x558], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x3a4], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x3a0], eax
mov dword [rsp + 0x114], 0
jmp 0x140065540
mov eax, dword [rsp + 0x114]
inc eax
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0x500]
cmp dword [rsp + 0x114], eax
jge 0x1400656e4
cmp qword [rsp + 0x550], 0
je 0x14006557b
movsxd rax, dword [rsp + 0x114]
mov rcx, qword [rsp + 0x550]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x3a8], eax
jmp 0x140065589
mov eax, dword [rsp + 0x114]
mov dword [rsp + 0x3a8], eax
mov eax, dword [rsp + 0x3a8]
mov dword [rsp + 0x208], eax
movsxd rax, dword [rsp + 0x114]
mov rcx, qword [rsp + 0x558]
mov rax, qword [rcx + rax*8 + 0x20]
mov qword [rsp + 0x8f0], rax
movsxd rax, dword [rsp + 0x114]
mov rcx, qword [rsp + 0x558]
mov rcx, qword [rcx + 0x18]
movzx eax, byte [rcx + rax]
and eax, 1
mov dword [rsp + 0x4fc], eax
mov eax, dword [rsp + 0x208]
mov ecx, dword [rsp + 0x3a0]
add ecx, eax
mov eax, ecx
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x208]
mov edx, dword [rsp + 0x3a4]
add edx, ecx
mov ecx, edx
movsxd rcx, ecx
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x60]
add rdx, rcx
mov rcx, rdx
mov r8, qword [rsp + 0x8f0]
mov rdx, rax
call fcn.14005e620
mov dword [rsp + 0xe8], eax
cmp dword [rsp + 0xe8], 0
je 0x1400656df
movsxd rax, dword [rsp + 0x114]
mov rcx, qword [rsp + 0x558]
mov rcx, qword [rcx + 0x18]
movzx eax, byte [rcx + rax]
and eax, 2
test eax, eax
je 0x1400656c3
mov eax, dword [rsp + 0x208]
mov ecx, dword [rsp + 0x3a4]
add ecx, eax
mov eax, ecx
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + rax + 8]
and eax, 1
test eax, eax
jne 0x1400656b3
mov eax, dword [rsp + 0x208]
mov ecx, dword [rsp + 0x3a0]
add ecx, eax
mov eax, ecx
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + rax + 8]
and eax, 1
test eax, eax
je 0x1400656c3
mov eax, dword [rsp + 0xe8]
neg eax
mov dword [rsp + 0xe8], eax
cmp dword [rsp + 0x4fc], 0
je 0x1400656dd
mov eax, dword [rsp + 0xe8]
neg eax
mov dword [rsp + 0xe8], eax
jmp 0x1400656e4
jmp 0x140065530
jmp case.0x140063660.85
cmp dword [rsp + 0xe8], 0
jge 0x140065718
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x14006576a
cmp dword [rsp + 0xe8], 0
jne 0x140065747
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x14006576a
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov edx, 2
mov rcx, rax
call fcn.140057590
mov dword [rsp + 0x158], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov edx, 2
mov rcx, rax
call fcn.140057590
mov dword [rsp + 0x39c], eax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x2c
jne 0x1400657f9
imul eax, dword [rsp + 0x158], 3
add eax, dword [rsp + 0x39c]
cdqe
lea rcx, [0x140174ec8]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x158], eax
jmp 0x14006581c
imul eax, dword [rsp + 0x158], 3
add eax, dword [rsp + 0x39c]
cdqe
lea rcx, [0x1401791e8]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x158], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
cmp dword [rsp + 0x158], 2
jne 0x14006585f
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0xffff3e40
or eax, 1
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
jmp 0x140065889
movsxd rax, dword [rsp + 0x158]
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0xffff3e40
or eax, 4
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x38]
mov edx, dword [rcx + 0xc]
mov rcx, rax
call fcn.140057590
mov rcx, qword [rsp + 0x38]
xor eax, dword [rcx + 0x10]
cdqe
mov rcx, qword [rsp + 0x38]
movsxd rcx, dword [rcx + 8]
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x60]
add rdx, rcx
mov rcx, rdx
mov rdx, rax
call fcn.140057b50
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 1
test eax, eax
jne 0x14006596e
xor edx, edx
mov rcx, qword [rsp + 0x58]
call fcn.140057590
test eax, eax
jne 0x14006594c
mov dword [rsp + 0x398], 1
jmp 0x140065957
mov dword [rsp + 0x398], 0
movsxd rax, dword [rsp + 0x398]
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call fcn.140057b50
jmp 0x140065978
mov rcx, qword [rsp + 0x50]
call fcn.140057a40
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.140057a40
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 1
test eax, eax
jne 0x1400659f4
mov eax, 4
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov rcx, qword [rsp + 0x58]
call fcn.140057460
not rax
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
jmp case.0x140063660.85
mov rax, qword [rsp + 0xa90]
cmp qword [rax + 0x100], 0
je 0x140065b30
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x88]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, reloc.ODBC32.dll_SQLAllocHandle
idiv rcx
mov dword [rsp + 0x1a4], eax
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0x7d0], rax
xor edx, edx
mov eax, dword [rsp + 0x1a4]
mov ecx, 8
div ecx
mov eax, eax
mov rcx, qword [rsp + 0x7d0]
mov rcx, qword [rcx + 0x30]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x1a4]
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, edx
and eax, ecx
test eax, eax
je 0x140065a91
jmp 0x1400636f0
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0x7d8], rax
xor edx, edx
mov eax, dword [rsp + 0x1a4]
mov ecx, 8
div ecx
mov eax, eax
mov rcx, qword [rsp + 0x7d8]
mov rcx, qword [rcx + 0x30]
mov qword [rsp + 0x7e0], rcx
mov edx, dword [rsp + 0x1a4]
and edx, 7
mov r8d, 1
movzx ecx, dl
mov edx, r8d
shl edx, cl
mov ecx, edx
mov rdx, qword [rsp + 0x7e0]
movzx eax, byte [rdx + rax]
or eax, ecx
mov dword [rsp + 0x4f8], eax
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x100]
xor edx, edx
mov eax, dword [rsp + 0x1a4]
mov r8d, 8
div r8d
mov eax, eax
mov rcx, qword [rcx + 0x30]
mov edx, dword [rsp + 0x4f8]
mov byte [rcx + rax], dl
jmp 0x140065b5b
mov eax, reloc.ODBC32.dll_SQLAllocHandle
imul rax, rax, 0
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x88]
mov rdx, qword [rsp + 0x38]
mov edx, dword [rdx + 4]
cmp dword [rcx + rax + 4], edx
jne 0x140065b5b
jmp 0x1400636f0
mov eax, reloc.ODBC32.dll_SQLAllocHandle
imul rax, rax, 0
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x88]
mov rdx, qword [rsp + 0x38]
mov eax, dword [rcx + rax + 4]
mov dword [rdx + 4], eax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x38]
mov edx, dword [rcx + 0xc]
mov rcx, rax
call fcn.140057590
mov dword [rsp + 0x4f4], eax
cmp dword [rsp + 0x4f4], 0
je 0x140065bc2
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
jne 0x140065bdf
mov dword [rsp + 0x394], 1
jmp 0x140065bea
mov dword [rsp + 0x394], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov edx, dword [rsp + 0x394]
mov rcx, rax
call fcn.140057590
test eax, eax
jne 0x140065c22
mov dword [rsp + 0x390], 1
jmp 0x140065c2d
mov dword [rsp + 0x390], 0
mov eax, dword [rsp + 0x390]
mov dword [rsp + 0x4f0], eax
cmp dword [rsp + 0x4f0], 0
je 0x140065c4a
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 1
test eax, eax
je 0x140065c81
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 1
test eax, eax
jne 0x140065cb8
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 2]
test eax, eax
je 0x140065d03
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140057a40
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x118], eax
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x78]
call fcn.14005d830
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140065d57
jmp 0x14006d29f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xa90]
mov ecx, dword [rcx + 0x30]
cmp dword [rax + 0x28], ecx
je 0x140065fbe
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 2]
test eax, eax
je 0x140065e29
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax]
cmp eax, 3
jne 0x140065e15
mov rax, qword [rsp + 0x78]
movsxd rax, dword [rax + 0x2c]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x650], rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x650]
mov ecx, dword [rcx + 0xc]
mov dword [rax + 0x74], ecx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x78]
mov ecx, dword [rcx + 0x74]
mov dword [rax + 0x70], ecx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x650]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x68], rcx
jmp 0x140065e27
mov rcx, qword [rsp + 0xd8]
call fcn.140057a40
jmp 0x14006663f
jmp 0x140065e92
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x658], rax
mov rcx, qword [rsp + 0x658]
call fcn.14004a8f0
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x70], eax
mov rax, qword [rsp + 0x78]
add rax, 0x74
mov rdx, rax
mov rcx, qword [rsp + 0x658]
call fcn.14004b280
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 0x68], rax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + rax + 0x7c]
cmp dword [rcx + 0x70], eax
jbe 0x140065e92
jmp 0x14006d3eb
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xa90]
mov ecx, dword [rcx + 0x30]
mov dword [rax + 0x28], ecx
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x68]
movzx eax, byte [rax]
cmp eax, 0x80
jge 0x140065ee5
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x68]
movzx eax, byte [rax]
mov ecx, 4
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x140]
mov dword [rdx + rcx], eax
mov dword [rsp + 0x38c], 1
jmp 0x140065f17
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x140]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x68]
call fcn.14002e430
movzx eax, al
mov dword [rsp + 0x38c], eax
movzx eax, byte [rsp + 0x38c]
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x48], eax
xor eax, eax
mov rcx, qword [rsp + 0x78]
mov word [rcx + 0x52], ax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x140]
mov eax, dword [rdx + rax]
cmp dword [rcx + 0x74], eax
jae 0x140065fa8
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x68], 0
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x74], 0
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x140]
cmp dword [rcx + rax], 0x18003
ja 0x140065fa1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x78]
mov edx, dword [rdx + 0x70]
cmp dword [rcx + rax], edx
jbe 0x140065fa6
jmp 0x140066644
jmp 0x140065fbe
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x278], rax
jmp 0x140066077
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x52]
cmp eax, dword [rsp + 0x118]
jg 0x14006636d
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x140]
mov eax, dword [rdx + rax]
cmp dword [rcx + 0x48], eax
jae 0x140066310
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x68], 0
jne 0x140066066
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0x988]
call fcn.140161800
mov eax, 4
imul rax, rax, 0
lea r9, [rsp + 0x988]
mov rcx, qword [rsp + 0x140]
mov r8d, dword [rcx + rax]
xor edx, edx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x38]
call fcn.140058360
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140066054
jmp 0x14006d29f
mov rax, qword [rsp + 0x998]
mov qword [rsp + 0x278], rax
jmp 0x140066077
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x278], rax
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x52]
mov dword [rsp + 0x104], eax
movsxd rax, dword [rsp + 0x104]
mov rcx, qword [rsp + 0x140]
mov eax, dword [rcx + rax*4]
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x48]
mov rcx, qword [rsp + 0x278]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1b8], rax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x140]
mov eax, dword [rcx + rax]
mov rcx, qword [rsp + 0x278]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x468], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x1b8]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0xa0], eax
movsxd rax, dword [rsp + 0x104]
mov rcx, qword [rsp + 0x78]
mov edx, dword [rsp + 0xa0]
mov dword [rcx + rax*4 + 0x78], edx
cmp dword [rsp + 0xa0], 0x80
jae 0x140066166
mov rax, qword [rsp + 0x1b8]
inc rax
mov qword [rsp + 0x1b8], rax
movzx ecx, byte [rsp + 0xa0]
call fcn.14005d920
movzx eax, al
mov rcx, qword [rsp + 0x2a0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2a0], rax
jmp 0x1400661d0
lea rdx, [rsp + 0xa0]
mov rcx, qword [rsp + 0x1b8]
call fcn.14002e430
movzx eax, al
mov rcx, qword [rsp + 0x1b8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1b8], rax
movsxd rax, dword [rsp + 0x104]
mov rcx, qword [rsp + 0x78]
mov edx, dword [rsp + 0xa0]
mov dword [rcx + rax*4 + 0x78], edx
mov ecx, dword [rsp + 0xa0]
call fcn.14005d8e0
mov eax, eax
mov rcx, qword [rsp + 0x2a0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2a0], rax
mov eax, dword [rsp + 0x104]
inc eax
mov dword [rsp + 0x104], eax
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x2a0]
and rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x104]
mov rdx, qword [rsp + 0x140]
mov dword [rdx + rcx*4], eax
mov eax, dword [rsp + 0x118]
cmp dword [rsp + 0x104], eax
jg 0x14006622c
mov rax, qword [rsp + 0x468]
cmp qword [rsp + 0x1b8], rax
jb 0x1400660ea
mov rax, qword [rsp + 0x468]
cmp qword [rsp + 0x1b8], rax
jb 0x140066262
mov rax, qword [rsp + 0x468]
cmp qword [rsp + 0x1b8], rax
ja 0x140066274
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x70]
cmp qword [rsp + 0x2a0], rax
jne 0x140066274
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x70]
cmp qword [rsp + 0x2a0], rax
jbe 0x1400662c6
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x140]
cmp dword [rcx + rax], 0
jne 0x1400662a8
mov dword [rsp + 0x104], 0
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x1b8], rax
jmp 0x1400662c6
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x68], 0
jne 0x1400662c1
lea rcx, [rsp + 0x988]
call fcn.140057380
jmp 0x140066644
mov rax, qword [rsp + 0x78]
movzx ecx, word [rsp + 0x104]
mov word [rax + 0x52], cx
mov rax, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x1b8]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x48], eax
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x68], 0
jne 0x14006630e
lea rcx, [rsp + 0x988]
call fcn.140057380
jmp 0x14006631b
mov dword [rsp + 0xa0], 0
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x52]
cmp eax, dword [rsp + 0x118]
jg 0x14006636b
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffff5
jne 0x140066359
mov r8d, 0x800
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0xd8]
call fcn.140057df0
jmp 0x140066366
mov rcx, qword [rsp + 0xd8]
call fcn.140057a40
jmp 0x14006663f
jmp 0x140066385
movsxd rax, dword [rsp + 0x118]
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + rax*4 + 0x78]
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0xd8]
movzx eax, word [rax + 8]
and eax, 0x2400
test eax, eax
je 0x1400663a7
mov rcx, qword [rsp + 0xd8]
call fcn.140057a40
mov eax, dword [rsp + 0x118]
inc eax
cdqe
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x140]
mov eax, dword [rdx + rax*4]
cmp dword [rcx + 0x74], eax
jb 0x14006653c
movsxd rax, dword [rsp + 0x118]
mov rcx, qword [rsp + 0x140]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x78]
add rax, qword [rcx + 0x68]
mov qword [rsp + 0x278], rax
cmp dword [rsp + 0xa0], 0xc
jae 0x14006641a
mov r8, qword [rsp + 0xd8]
mov edx, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0x278]
call fcn.14005dbc0
jmp 0x140066537
mov eax, dword [rsp + 0xa0]
sub eax, 0xc
xor edx, edx
mov ecx, 2
div ecx
mov dword [rsp + 0xf8], eax
mov rax, qword [rsp + 0xd8]
mov ecx, dword [rsp + 0xf8]
mov dword [rax + 0xc], ecx
mov rax, qword [rsp + 0xd8]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0xa], cl
mov eax, dword [rsp + 0xf8]
add eax, 2
mov rcx, qword [rsp + 0xd8]
cmp dword [rcx + 0x20], eax
jge 0x1400664a5
mov eax, 1
mov rcx, qword [rsp + 0xd8]
mov word [rcx + 8], ax
mov eax, dword [rsp + 0xf8]
add eax, 2
xor r8d, r8d
mov edx, eax
mov rcx, qword [rsp + 0xd8]
call fcn.140056b80
test eax, eax
je 0x1400664a3
jmp 0x14006d40c
jmp 0x1400664bd
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x10], rcx
movsxd rax, dword [rsp + 0xf8]
mov r8, rax
mov rdx, qword [rsp + 0x278]
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rax + 0x10]
call fcn.140161160
movsxd rax, dword [rsp + 0xf8]
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x10]
mov byte [rcx + rax], 0
mov eax, dword [rsp + 0xf8]
inc eax
cdqe
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x10]
mov byte [rcx + rax], 0
mov eax, dword [rsp + 0xa0]
and eax, 1
mov eax, eax
lea rcx, [0x140173bd8]
mov rdx, qword [rsp + 0xd8]
movzx eax, word [rcx + rax*2]
mov word [rdx + 8], ax
jmp 0x14006663f
mov rax, qword [rsp + 0xd8]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0xa], cl
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0xc0
test eax, eax
je 0x140066588
cmp dword [rsp + 0xa0], 0xc
jb 0x140066576
mov eax, dword [rsp + 0xa0]
and eax, 1
test eax, eax
je 0x1400665a5
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x80
test eax, eax
jne 0x1400665a5
mov ecx, dword [rsp + 0xa0]
call fcn.14005d8e0
mov dword [rsp + 0xf8], eax
cmp dword [rsp + 0xf8], 0
jne 0x1400665c2
mov r8, qword [rsp + 0xd8]
mov edx, dword [rsp + 0xa0]
lea rcx, [0x1401dd798]
call fcn.14005dbc0
jmp 0x14006663f
movsxd rax, dword [rsp + 0x118]
mov r9, qword [rsp + 0xd8]
mov r8d, dword [rsp + 0xf8]
mov rcx, qword [rsp + 0x140]
mov edx, dword [rcx + rax*4]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x38]
call fcn.140058360
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140066603
jmp 0x14006d29f
mov r8, qword [rsp + 0xd8]
mov edx, dword [rsp + 0xa0]
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rax + 0x10]
call fcn.14005dbc0
mov rax, qword [rsp + 0xd8]
movzx eax, word [rax + 8]
btr eax, 0xc
mov rcx, qword [rsp + 0xd8]
mov word [rcx + 8], ax
jmp case.0x140063660.85
mov eax, reloc.ODBC32.dll_SQLAllocHandle
imul rax, rax, 0
mov rcx, qword [rsp + 0xb8]
cmp dword [rcx + rax + 0xc], 0
jle 0x140066693
mov eax, reloc.ODBC32.dll_SQLAllocHandle
imul rax, rax, 0
mov rcx, qword [rsp + 0xb8]
mov eax, dword [rcx + rax + 0xc]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp case.0x140063660.85
mov ecx, 0x152d5
call fcn.1400e01f0
mov dword [rsp + 0x30], eax
jmp 0x14006d29f
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x420], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
xor eax, eax
cmp eax, 1
je 0x140066808
mov eax, 1
imul rax, rax, 0
movzx r8d, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x420]
movzx edx, byte [rcx + rax]
mov rcx, qword [rsp + 0x58]
call fcn.140063190
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x420]
movsx eax, byte [rcx + rax]
cmp eax, 0x45
jne 0x1400667c7
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 4
test eax, eax
je 0x1400667c7
mov rax, qword [rsp + 0x58]
movabs rcx, 0x7fffffffffff
cmp qword [rax], rcx
jg 0x14006678a
mov rax, qword [rsp + 0x58]
movabs rcx, 0xffff800000000000
cmp qword [rax], rcx
jl 0x14006678a
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
or eax, 0x20
mov rcx, qword [rsp + 0x58]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 0xfffffffb
mov rcx, qword [rsp + 0x58]
mov word [rcx + 8], ax
jmp 0x1400667c7
mov rax, qword [rsp + 0x58]
cvtsi2sd xmm0, qword [rax]
mov rax, qword [rsp + 0x58]
movsd qword [rax], xmm0
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
or eax, 8
mov rcx, qword [rsp + 0x58]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 0xfffffffb
mov rcx, qword [rsp + 0x58]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x420]
inc rax
mov qword [rsp + 0x420], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x420]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x1400667f5
jmp 0x140066808
mov rax, qword [rsp + 0x58]
add rax, 0x38
mov qword [rsp + 0x58], rax
jmp 0x1400666d4
jmp case.0x140063660.85
mov qword [rsp + 0x108], 0
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x318], 0
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x2d0], eax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x310], rax
movsxd rax, dword [rsp + 0x2d0]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x478], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x2d0], eax
mov eax, dword [rsp + 0x2d0]
dec eax
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x478]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x660], rax
mov rax, qword [rsp + 0xa90]
movzx eax, byte [rax + 0xc3]
mov dword [rsp + 0x5d0], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x310], 0
je 0x1400669a9
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x70], rax
mov eax, 1
imul rax, rax, 0
movzx r8d, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x310]
movzx edx, byte [rcx + rax]
mov rcx, qword [rsp + 0x70]
call fcn.140063190
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x310]
movsx eax, byte [rcx + rax]
cmp eax, 0x45
jne 0x14006696b
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 8]
and eax, 4
test eax, eax
je 0x14006696b
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 8]
or eax, 0x20
mov rcx, qword [rsp + 0x70]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 8]
and eax, 0xfffffffb
mov rcx, qword [rsp + 0x70]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x310]
inc rax
mov qword [rsp + 0x310], rax
mov rax, qword [rsp + 0x70]
add rax, 0x38
mov qword [rsp + 0x70], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x310]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x1400668f2
mov rax, qword [rsp + 0x660]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 8]
and eax, 1
test eax, eax
je 0x140066a07
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 8]
and eax, 0x4000
test eax, eax
je 0x1400669e6
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 0xa
jmp 0x1400669f2
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 0
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
jmp 0x140066d7f
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 8]
and eax, 0x24
test eax, eax
je 0x140066c1d
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0x428], rax
cmp qword [rsp + 0x428], 0
jge 0x140066a4b
mov rax, qword [rsp + 0x428]
not rax
mov qword [rsp + 0x298], rax
jmp 0x140066a5b
mov rax, qword [rsp + 0x428]
mov qword [rsp + 0x298], rax
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
cmp qword [rsp + 0x298], 0x7f
ja 0x140066ace
mov rax, qword [rsp + 0x428]
and rax, 1
cmp rax, qword [rsp + 0x428]
jne 0x140066aaa
cmp dword [rsp + 0x5d0], 4
jl 0x140066aaa
mov eax, dword [rsp + 0x298]
add eax, 8
mov rcx, qword [rsp + 0x70]
mov dword [rcx + 0x24], eax
jmp 0x140066ac9
mov rax, qword [rsp + 0x108]
inc rax
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 1
jmp 0x140066c18
cmp qword [rsp + 0x298], 0x7fff
ja 0x140066b01
mov rax, qword [rsp + 0x108]
add rax, 2
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 2
jmp 0x140066c18
cmp qword [rsp + 0x298], 0x7fffff
ja 0x140066b34
mov rax, qword [rsp + 0x108]
add rax, 3
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 3
jmp 0x140066c18
cmp qword [rsp + 0x298], 0x7fffffff
ja 0x140066b67
mov rax, qword [rsp + 0x108]
add rax, 4
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 4
jmp 0x140066c18
movabs rax, 0x7fffffffffff
cmp qword [rsp + 0x298], rax
ja 0x140066b9d
mov rax, qword [rsp + 0x108]
add rax, 6
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 5
jmp 0x140066c18
mov rax, qword [rsp + 0x108]
add rax, 8
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 8]
and eax, 0x20
test eax, eax
je 0x140066c0c
mov rax, qword [rsp + 0x70]
cvtsi2sd xmm0, qword [rax]
mov rax, qword [rsp + 0x70]
movsd qword [rax], xmm0
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 8]
and eax, 0xffffffdf
mov rcx, qword [rsp + 0x70]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 8]
or eax, 8
mov rcx, qword [rsp + 0x70]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 7
jmp 0x140066c18
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 6
jmp 0x140066d7f
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 8]
and eax, 8
test eax, eax
je 0x140066c62
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x108]
add rax, 8
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 7
jmp 0x140066d7f
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x20c], eax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 8]
and eax, 2
test eax, eax
je 0x140066c8e
mov dword [rsp + 0x388], 1
jmp 0x140066c99
mov dword [rsp + 0x388], 0
mov eax, dword [rsp + 0x388]
mov ecx, dword [rsp + 0x20c]
lea eax, [rax + rcx*2 + 0xc]
mov dword [rsp + 0xfc], eax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 8]
and eax, 0x4000
test eax, eax
je 0x140066d33
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
mov ecx, dword [rsp + 0xfc]
lea eax, [rcx + rax*2]
mov dword [rsp + 0xfc], eax
cmp qword [rsp + 0x108], 0
je 0x140066d15
mov rcx, qword [rsp + 0x70]
call fcn.140056f40
test eax, eax
je 0x140066cfa
jmp 0x14006d40c
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
mov ecx, dword [rsp + 0x20c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20c], eax
jmp 0x140066d33
mov rax, qword [rsp + 0x70]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x318]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x318], rax
mov eax, dword [rsp + 0x20c]
mov rcx, qword [rsp + 0x108]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x108], rax
mov eax, dword [rsp + 0xfc]
mov ecx, eax
call fcn.14002e570
mov ecx, dword [rsp + 0x80]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0xfc]
mov dword [rax + 0x24], ecx
mov rax, qword [rsp + 0x478]
cmp qword [rsp + 0x70], rax
jne 0x140066d90
jmp 0x140066da9
mov rax, qword [rsp + 0x70]
sub rax, 0x38
mov qword [rsp + 0x70], rax
xor eax, eax
cmp eax, 1
jne 0x1400669b6
cmp dword [rsp + 0x80], 0x7e
jg 0x140066dc5
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
jmp 0x140066e1e
movsxd rax, dword [rsp + 0x80]
mov rcx, rax
call fcn.14002e570
mov dword [rsp + 0x384], eax
mov eax, dword [rsp + 0x384]
mov ecx, dword [rsp + 0x80]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x80], eax
movsxd rax, dword [rsp + 0x80]
mov rcx, rax
call fcn.14002e570
cmp dword [rsp + 0x384], eax
jge 0x140066e1e
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
movsxd rax, dword [rsp + 0x80]
add rax, qword [rsp + 0x108]
mov qword [rsp + 0x470], rax
mov rax, qword [rsp + 0x318]
mov rcx, qword [rsp + 0x470]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x50]
movsxd rcx, dword [rcx + 0x20]
cmp rax, rcx
jg 0x140066e6e
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x10], rcx
jmp 0x140066ebb
mov rax, qword [rsp + 0x318]
mov rcx, qword [rsp + 0x470]
add rcx, rax
mov rax, rcx
mov ecx, 4
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x40]
movsxd rcx, dword [rdx + rcx + 0x7c]
cmp rax, rcx
jle 0x140066ea1
jmp 0x14006d3eb
mov edx, dword [rsp + 0x470]
mov rcx, qword [rsp + 0x50]
call fcn.140056d90
test eax, eax
je 0x140066ebb
jmp 0x14006d40c
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x470]
mov dword [rax + 0xc], ecx
mov eax, 0x10
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
cmp qword [rsp + 0x318], 0
je 0x140066f07
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x318]
mov dword [rax], ecx
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
bts eax, 0xe
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x238], rax
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x238]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x560], rax
cmp dword [rsp + 0x80], 0x80
jae 0x140066f62
mov rax, qword [rsp + 0x238]
movzx ecx, byte [rsp + 0x80]
mov byte [rax], cl
mov dword [rsp + 0x378], 1
jmp 0x140066f81
movsxd rax, dword [rsp + 0x80]
mov rdx, rax
mov rcx, qword [rsp + 0x238]
call fcn.14002def0
mov dword [rsp + 0x378], eax
movzx eax, byte [rsp + 0x378]
mov rcx, qword [rsp + 0x238]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x238], rax
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0xfc], eax
cmp dword [rsp + 0xfc], 0x80
jae 0x140066fe7
mov rax, qword [rsp + 0x238]
movzx ecx, byte [rsp + 0xfc]
mov byte [rax], cl
mov dword [rsp + 0x348], 1
jmp 0x140067004
mov eax, dword [rsp + 0xfc]
mov edx, eax
mov rcx, qword [rsp + 0x238]
call fcn.14002def0
mov dword [rsp + 0x348], eax
movzx eax, byte [rsp + 0x348]
mov rcx, qword [rsp + 0x238]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x238], rax
mov r8d, dword [rsp + 0xfc]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x560]
call fcn.14005d940
mov eax, eax
mov rcx, qword [rsp + 0x560]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x560], rax
mov rax, qword [rsp + 0x70]
add rax, 0x38
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x660]
cmp qword [rsp + 0x70], rax
jbe 0x140066fac
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x7e8], rax
mov qword [rsp + 0x668], 0
lea rdx, [rsp + 0x668]
mov rcx, qword [rsp + 0x7e8]
call fcn.140053960
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1400670d0
jmp 0x14006d29f
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x668]
mov qword [rax], rcx
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x11c], eax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x460], rax
cmp dword [rsp + 0x11c], 0
jne 0x1400672b4
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xd0], 0
jle 0x140067159
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
mov dword [rsp + 0x30], 5
jmp 0x1400672af
mov rcx, qword [rsp + 0x460]
call fcn.14002c440
mov dword [rsp + 0x3d8], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x280]
mov rcx, qword [rsp + 0x40]
add eax, dword [rcx + 0x27c]
mov r8d, eax
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.1400bd0c0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1400671a2
jmp 0x14006d29f
movsxd rax, dword [rsp + 0x3d8]
add rax, 0x21
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.140027980
mov qword [rsp + 0x240], rax
cmp qword [rsp + 0x240], 0
je 0x1400672af
mov eax, Ordinal_36
imul rax, rax, 1
mov rcx, qword [rsp + 0x240]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x240]
mov qword [rcx], rax
mov eax, dword [rsp + 0x3d8]
inc eax
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x460]
mov rax, qword [rsp + 0x240]
mov rcx, qword [rax]
call fcn.140161160
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x5f]
test eax, eax
je 0x14006723b
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x5f], 0
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x67], 1
jmp 0x140067253
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x27c]
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x27c], eax
mov rax, qword [rsp + 0x240]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x270]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x240]
mov qword [rax + 0x270], rcx
mov rax, qword [rsp + 0x240]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x288]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x240]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x290]
mov qword [rax + 0x10], rcx
jmp 0x140067766
mov dword [rsp + 0x15c], 0
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x270]
mov qword [rsp + 0x1c0], rax
jmp 0x1400672e9
mov rax, qword [rsp + 0x1c0]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1c0], rax
cmp qword [rsp + 0x1c0], 0
je 0x140067322
mov rdx, qword [rsp + 0x460]
mov rax, qword [rsp + 0x1c0]
mov rcx, qword [rax]
call fcn.14002c9b0
test eax, eax
je 0x140067322
mov eax, dword [rsp + 0x15c]
inc eax
mov dword [rsp + 0x15c], eax
jmp 0x1400672d5
cmp qword [rsp + 0x1c0], 0
jne 0x140067356
mov r8, qword [rsp + 0x460]
lea rdx, str.no_such_savepoint:__s
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
mov dword [rsp + 0x30], 1
jmp 0x140067766
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xd0], 0
jle 0x14006738f
cmp dword [rsp + 0x11c], 1
jne 0x14006738f
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
mov dword [rsp + 0x30], 5
jmp 0x140067766
mov rax, qword [rsp + 0x1c0]
cmp qword [rax + 0x18], 0
jne 0x1400673b8
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x67]
test eax, eax
je 0x1400673b8
mov dword [rsp + 0x37c], 1
jmp 0x1400673c3
mov dword [rsp + 0x37c], 0
mov eax, dword [rsp + 0x37c]
mov dword [rsp + 0x2d8], eax
cmp dword [rsp + 0x2d8], 0
je 0x140067494
cmp dword [rsp + 0x11c], 1
jne 0x140067494
mov edx, 1
mov rcx, qword [rsp + 0xa90]
call fcn.14005cbf0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006740f
jmp 0x14006d3ab
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x5f], 1
mov rcx, qword [rsp + 0xa90]
call fcn.14005cc80
cmp eax, 5
jne 0x140067477
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, reloc.ODBC32.dll_SQLAllocHandle
idiv rcx
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x34], eax
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x5f], 0
mov dword [rsp + 0x30], 5
mov rax, qword [rsp + 0xa90]
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0x38], ecx
jmp 0x14006d3ab
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x67], 0
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x30], eax
jmp 0x140067633
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x15c]
mov eax, dword [rax + 0x27c]
sub eax, ecx
dec eax
mov dword [rsp + 0x15c], eax
cmp dword [rsp + 0x11c], 2
jne 0x140067587
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
and eax, 1
test eax, eax
je 0x1400674db
mov dword [rsp + 0x380], 1
jmp 0x1400674e6
mov dword [rsp + 0x380], 0
mov eax, dword [rsp + 0x380]
mov dword [rsp + 0x2d4], eax
mov dword [rsp + 0x100], 0
jmp 0x140067511
mov eax, dword [rsp + 0x100]
inc eax
mov dword [rsp + 0x100], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x28]
cmp dword [rsp + 0x100], eax
jge 0x140067585
cmp dword [rsp + 0x2d4], 0
jne 0x140067539
mov dword [rsp + 0x350], 1
jmp 0x140067544
mov dword [rsp + 0x350], 0
movsxd rax, dword [rsp + 0x100]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov r8d, dword [rsp + 0x350]
mov edx, 0x204
mov rcx, qword [rcx + rax + 8]
call fcn.14004a1a0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140067580
jmp 0x14006d29f
jmp 0x140067501
jmp 0x140067592
mov dword [rsp + 0x2d4], 0
mov dword [rsp + 0x100], 0
jmp 0x1400675af
mov eax, dword [rsp + 0x100]
inc eax
mov dword [rsp + 0x100], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x28]
cmp dword [rsp + 0x100], eax
jge 0x140067600
movsxd rax, dword [rsp + 0x100]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov r8d, dword [rsp + 0x15c]
mov edx, dword [rsp + 0x11c]
mov rcx, qword [rcx + rax + 8]
call fcn.14004a440
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1400675fe
jmp 0x14006d29f
jmp 0x14006759f
cmp dword [rsp + 0x2d4], 0
je 0x140067633
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.14005fe30
mov rcx, qword [rsp + 0x40]
call fcn.140088bb0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
or eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x1c0]
cmp qword [rax + 0x270], rcx
je 0x1400676a1
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x270]
mov qword [rsp + 0x670], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x670]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x270], rcx
mov rdx, qword [rsp + 0x670]
mov rcx, qword [rsp + 0x40]
call fcn.140027660
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x27c]
dec eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x27c], eax
jmp 0x140067633
cmp dword [rsp + 0x11c], 1
jne 0x1400676f9
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x1c0]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x270], rcx
mov rdx, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x40]
call fcn.140027660
cmp dword [rsp + 0x2d8], 0
jne 0x1400676f7
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x27c]
dec eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x27c], eax
jmp 0x140067729
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x1c0]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x288], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x1c0]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x290], rcx
cmp dword [rsp + 0x2d8], 0
je 0x14006773d
cmp dword [rsp + 0x11c], 2
jne 0x140067766
mov r8d, dword [rsp + 0x15c]
mov edx, dword [rsp + 0x11c]
mov rcx, qword [rsp + 0x40]
call fcn.1400bd0c0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140067766
jmp 0x14006d29f
cmp dword [rsp + 0x30], 0
je 0x140067772
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x1a8], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x358], eax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x5f]
cmp dword [rsp + 0x1a8], eax
je 0x1400678dc
cmp dword [rsp + 0x358], 0
je 0x1400677cf
mov edx, 0x204
mov rcx, qword [rsp + 0x40]
call fcn.1400dd5d0
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x5f], 1
jmp 0x14006783e
cmp dword [rsp + 0x1a8], 0
je 0x14006780a
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xd0], 0
jle 0x14006780a
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
mov dword [rsp + 0x30], 5
jmp 0x14006d29f
mov edx, 1
mov rcx, qword [rsp + 0xa90]
call fcn.14005cbf0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006782e
jmp 0x14006d3ab
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rsp + 0x1a8]
mov byte [rax + 0x5f], cl
mov rcx, qword [rsp + 0xa90]
call fcn.14005cc80
cmp eax, 5
jne 0x1400678a8
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, reloc.ODBC32.dll_SQLAllocHandle
idiv rcx
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x34], eax
mov eax, 1
sub eax, dword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 0x5f], al
mov dword [rsp + 0x30], 5
mov rax, qword [rsp + 0xa90]
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0x38], ecx
jmp 0x14006d3ab
mov rcx, qword [rsp + 0x40]
call fcn.1400dcef0
mov rax, qword [rsp + 0xa90]
cmp dword [rax + 0x38], 0
jne 0x1400678ca
mov dword [rsp + 0x30], 0x65
jmp 0x1400678d2
mov dword [rsp + 0x30], 1
jmp 0x14006d3ab
cmp dword [rsp + 0x1a8], 0
jne 0x1400678f3
mov dword [rsp + 0x354], 1
jmp 0x1400678fe
mov dword [rsp + 0x354], 0
cmp dword [rsp + 0x354], 0
je 0x140067919
lea rax, str.cannot_start_a_transaction_within_a_transaction
mov qword [rsp + 0x680], rax
jmp 0x140067953
cmp dword [rsp + 0x358], 0
je 0x140067934
lea rax, str.cannot_rollback___no_transaction_is_active
mov qword [rsp + 0x678], rax
jmp 0x140067943
lea rax, str.cannot_commit___no_transaction_is_active
mov qword [rsp + 0x678], rax
mov rax, qword [rsp + 0x678]
mov qword [rsp + 0x680], rax
mov rdx, qword [rsp + 0x680]
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
mov dword [rsp + 0x30], 1
jmp 0x14006d29f
mov dword [rsp + 0x2a8], 0
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
je 0x1400679ac
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
and rax, 0x100000
test rax, rax
je 0x1400679ac
mov dword [rsp + 0x30], 8
jmp 0x14006d29f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x568], rax
cmp qword [rsp + 0x568], 0
je 0x140067b59
lea r8, [rsp + 0x2a8]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 8]
mov rcx, qword [rsp + 0x568]
call fcn.140048f10
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140067a55
mov eax, dword [rsp + 0x30]
and eax, 0xff
cmp eax, 5
jne 0x140067a50
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, reloc.ODBC32.dll_SQLAllocHandle
idiv rcx
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x34], eax
mov rax, qword [rsp + 0xa90]
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0x38], ecx
jmp 0x14006d3ab
jmp 0x14006d29f
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
je 0x140067b59
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0xc8]
shr eax, 7
and eax, 1
test eax, eax
je 0x140067b59
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x5f]
test eax, eax
je 0x140067a9f
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xcc], 1
jle 0x140067b59
mov rax, qword [rsp + 0xa90]
cmp dword [rax + 0x40], 0
jne 0x140067ae6
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x280]
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x280], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x27c]
mov rcx, qword [rsp + 0x40]
add eax, dword [rcx + 0x280]
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x40], eax
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0x40]
dec eax
mov r8d, eax
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.1400bd0c0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x140067b29
mov rax, qword [rsp + 0xa90]
mov edx, dword [rax + 0x40]
mov rcx, qword [rsp + 0x568]
call fcn.14004a400
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x288]
mov qword [rax + 0x58], rcx
mov rax, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x290]
mov qword [rax + 0x60], rcx
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test eax, eax
je 0x140067c42
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
cmp dword [rsp + 0x2a8], eax
jne 0x140067ba7
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 0x18]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 0x10]
cmp dword [rax + 4], ecx
je 0x140067c42
mov rax, qword [rsp + 0xa90]
mov rdx, qword [rax + 0xa8]
mov rcx, qword [rsp + 0x40]
call fcn.140027660
lea rdx, str.database_schema_has_changed
mov rcx, qword [rsp + 0x40]
call fcn.140027ca0
mov rcx, qword [rsp + 0xa90]
mov qword [rcx + 0xa8], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 0x18]
mov ecx, dword [rsp + 0x2a8]
cmp dword [rax], ecx
je 0x140067c18
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.140088aa0
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0xc8]
and eax, 0xfffffffc
or eax, 1
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0xc8], eax
mov dword [rsp + 0x30], SQLAllocHandle
cmp dword [rsp + 0x30], 0
je 0x140067c4e
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x540], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x53c], eax
movsxd rax, dword [rsp + 0x540]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
lea r8, [rsp + 0x538]
mov edx, dword [rsp + 0x53c]
mov rcx, qword [rcx + rax + 8]
call fcn.140053850
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
movsxd rax, dword [rsp + 0x538]
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x570], rax
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 0xc]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x570]
mov rcx, qword [rax + 8]
call fcn.1400538d0
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 1
jne 0x140067d45
mov rax, qword [rsp + 0x570]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 0xc]
mov dword [rax], ecx
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
or eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2c], eax
jmp 0x140067d68
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 2
jne 0x140067d68
mov rax, qword [rsp + 0x570]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x38]
movzx ecx, byte [rcx + 0xc]
mov byte [rax + 0x70], cl
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 1
jne 0x140067d9e
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.14005fe30
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0xc8]
and eax, 0xfffffffc
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0xc8], eax
cmp dword [rsp + 0x30], 0
je 0x140067daa
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x170], rax
cmp qword [rsp + 0x170], 0
je case.0x140063660.96
mov rax, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 8]
cmp dword [rax + 0x4c], ecx
jne case.0x140063660.96
jmp 0x14006808c
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0xc8]
and eax, 3
cmp eax, 1
jne 0x140067e18
mov dword [rsp + 0x30], 0x204
jmp 0x14006d29f
mov dword [rsp + 0x280], 0
mov qword [rsp + 0x480], 0
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x210], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x35c], eax
movsxd rax, dword [rsp + 0x35c]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x578], rax
mov rax, qword [rsp + 0x578]
mov rax, qword [rax + 8]
mov qword [rsp + 0x7f0], rax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x62
jne 0x140067ee4
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 8
or eax, 4
mov dword [rsp + 0x360], eax
mov rax, qword [rsp + 0x578]
mov rax, qword [rax + 0x18]
movzx eax, byte [rax + 0x70]
mov rcx, qword [rsp + 0xa90]
movzx ecx, byte [rcx + 0xc3]
cmp eax, ecx
jge 0x140067ee2
mov rax, qword [rsp + 0x578]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0xa90]
movzx eax, byte [rax + 0x70]
mov byte [rcx + 0xc3], al
jmp 0x140067eef
mov dword [rsp + 0x360], 0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x10
test eax, eax
je 0x140067f3c
movsxd rax, dword [rsp + 0x210]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
call fcn.1400576a0
mov rax, qword [rsp + 0x98]
mov eax, dword [rax]
mov dword [rsp + 0x210], eax
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffff7
jne 0x140067f70
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x480], rax
mov rax, qword [rsp + 0x480]
movzx eax, word [rax + 8]
mov dword [rsp + 0x280], eax
jmp 0x140067f8d
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffffd
jne 0x140067f8d
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x280], eax
mov byte [rsp + 0x20], 0
mov r9d, dword [rsp + 0x35c]
mov r8d, dword [rsp + 0x280]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
call fcn.140062e30
mov qword [rsp + 0x170], rax
cmp qword [rsp + 0x170], 0
jne 0x140067fcf
jmp 0x14006d40c
mov rax, qword [rsp + 0x170]
mov byte [rax + 2], 1
mov rax, qword [rsp + 0x170]
mov eax, dword [rax + 8]
or eax, 4
mov rcx, qword [rsp + 0x170]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x170]
mov ecx, dword [rsp + 0x210]
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0x170]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x480]
mov r8d, dword [rsp + 0x360]
mov edx, dword [rsp + 0x210]
mov rcx, qword [rsp + 0x7f0]
call fcn.14004a6b0
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x480]
mov qword [rax + 0x40], rcx
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffff7
je 0x14006806e
mov dword [rsp + 0x364], 1
jmp 0x140068079
mov dword [rsp + 0x364], 0
mov rax, qword [rsp + 0x170]
movzx ecx, byte [rsp + 0x364]
mov byte [rax + 4], cl
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 3
mov edx, eax
mov rax, qword [rsp + 0x170]
mov rcx, qword [rax + 0x38]
call fcn.140044e40
cmp dword [rsp + 0x30], 0
je 0x1400680b7
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x300], rax
mov rax, qword [rsp + 0x300]
movsx eax, word [rax + 0x50]
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov r8d, eax
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
call fcn.140062e30
mov qword [rsp + 0x178], rax
cmp qword [rsp + 0x178], 0
jne 0x140068124
jmp 0x14006d40c
mov rax, qword [rsp + 0x178]
mov byte [rax + 2], 1
mov rax, qword [rsp + 0x178]
mov eax, dword [rax + 8]
or eax, 1
mov rcx, qword [rsp + 0x178]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x300]
mov rcx, qword [rcx + 0x40]
mov qword [rax + 0x40], rcx
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x300]
movzx ecx, byte [rcx + 4]
mov byte [rax + 4], cl
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x300]
mov ecx, dword [rcx + 0x4c]
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0x300]
mov eax, dword [rax + 8]
shr eax, 2
and eax, 1
and eax, 1
shl eax, 2
mov rcx, qword [rsp + 0x178]
mov ecx, dword [rcx + 8]
and ecx, 0xfffffffb
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x178]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x178]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x178]
mov r9, qword [rax + 0x40]
mov r8d, 4
mov rax, qword [rsp + 0x178]
mov edx, dword [rax + 0x4c]
mov rax, qword [rsp + 0x300]
mov rcx, qword [rax + 0x10]
call fcn.14004a6b0
mov dword [rsp + 0x30], eax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xd0], rax
cmp qword [rsp + 0xd0], 0
je 0x14006828c
mov rax, qword [rsp + 0xd0]
mov qword [rax + 0x18], 0
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0x28], 0
mov rax, qword [rsp + 0xd0]
cmp qword [rax + 0x10], 0
je 0x140068287
xor r8d, r8d
mov rax, qword [rsp + 0xd0]
mov edx, dword [rax + 0x4c]
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x10]
call fcn.140053500
mov dword [rsp + 0x30], eax
jmp 0x1400684b0
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
call fcn.140062e30
mov qword [rsp + 0xd0], rax
cmp qword [rsp + 0xd0], 0
jne 0x1400682cd
jmp 0x14006d40c
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax + 8]
or eax, 1
mov rcx, qword [rsp + 0xd0]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
or eax, 5
mov rcx, qword [rsp + 0xd0]
add rcx, 0x10
mov edx, dword [0x14017927c]
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], eax
mov r9, rcx
mov r8, qword [rsp + 0x40]
xor edx, edx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
call fcn.140047b50
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x14006834b
xor r8d, r8d
mov edx, 1
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x10]
call fcn.140048f10
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x140068460
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x580], rax
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x580]
mov qword [rax + 0x40], rcx
cmp qword [rsp + 0x580], 0
je 0x140068411
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
or eax, 2
mov rcx, qword [rsp + 0xd0]
add rcx, 0x4c
mov r8d, eax
mov rdx, rcx
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x10]
call fcn.140053220
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x140068403
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x580]
mov r8d, 4
mov rax, qword [rsp + 0xd0]
mov edx, dword [rax + 0x4c]
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x10]
call fcn.14004a6b0
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xd0]
mov byte [rax + 4], 0
jmp 0x140068460
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0x4c], 1
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 4
mov edx, 1
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x10]
call fcn.14004a6b0
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xd0]
mov byte [rax + 4], 1
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
cmp eax, 8
je 0x14006847b
mov dword [rsp + 0x368], 1
jmp 0x140068486
mov dword [rsp + 0x368], 0
mov eax, dword [rsp + 0x368]
and eax, 1
shl eax, 2
mov rcx, qword [rsp + 0xd0]
mov ecx, dword [rcx + 8]
and ecx, 0xfffffffb
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xd0]
mov dword [rcx + 8], eax
cmp dword [rsp + 0x30], 0
je 0x1400684bc
jmp 0x14006d29f
mov rax, qword [rsp + 0xd0]
mov byte [rax + 2], 1
jmp case.0x140063660.85
mov byte [rsp + 0x20], 1
mov r9d, 0xffffffff
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
call fcn.140062e30
mov qword [rsp + 0x588], rax
cmp qword [rsp + 0x588], 0
jne 0x14006850e
jmp 0x14006d40c
mov rax, qword [rsp + 0x588]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x40], rcx
mov r8, qword [rsp + 0x588]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x40]
call fcn.14006f410
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006854d
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x590], rax
mov rax, qword [rsp + 0x590]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x7f8], rax
mov rax, qword [rsp + 0x590]
mov rax, qword [rax + 0x18]
inc rax
mov rcx, qword [rsp + 0x590]
mov qword [rcx + 0x18], rax
cmp qword [rsp + 0x7f8], 0
jne 0x1400685b2
jmp 0x1400636f0
jmp case.0x140063660.85
mov byte [rsp + 0x20], 3
mov r9d, 0xffffffff
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 0xc]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
call fcn.140062e30
mov qword [rsp + 0x430], rax
cmp qword [rsp + 0x430], 0
jne 0x1400685f8
jmp 0x14006d40c
mov rax, qword [rsp + 0x430]
mov byte [rax + 2], 1
mov rax, qword [rsp + 0x430]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 8]
mov dword [rax + 0x2c], ecx
mov rax, qword [rsp + 0x430]
mov byte [rax + 4], 1
call fcn.140044db0
mov rcx, qword [rsp + 0x430]
mov qword [rcx + 0x38], rax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rdx, qword [rcx + rax*8]
mov rcx, qword [rsp + 0xa90]
call fcn.14005bdd0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov qword [rcx + rax*8], 0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov dword [rsp + 0xe4], eax
mov dword [rsp + 0x284], 0
mov rax, qword [rsp + 0x148]
mov byte [rax + 2], 0
mov rax, qword [rsp + 0x148]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x148]
mov dword [rax + 0x28], 0
mov rax, qword [rsp + 0x148]
movzx eax, byte [rax + 4]
test eax, eax
je 0x1400688bc
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 8]
mov word [rsp + 0x198], ax
movzx eax, word [rsp + 0x198]
and eax, 0x2e
cmp eax, 2
jne 0x14006874a
xor edx, edx
mov rcx, qword [rsp + 0x88]
call fcn.1400630b0
mov rcx, qword [rsp + 0x88]
call fcn.140057460
mov qword [rsp + 0x488], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 8]
mov word [rsp + 0x12c], ax
mov rax, qword [rsp + 0x88]
movzx ecx, word [rsp + 0x198]
mov word [rax + 8], cx
movzx eax, word [rsp + 0x12c]
and eax, 0x24
test eax, eax
jne 0x140068868
movzx eax, word [rsp + 0x12c]
and eax, 8
test eax, eax
jne 0x1400687f9
movzx eax, word [rsp + 0x12c]
and eax, 1
test eax, eax
jne 0x1400687c2
cmp dword [rsp + 0xe4], 0x18
jl 0x1400687c9
jmp 0x1400636f0
lea rdx, [rsp + 0xc8]
mov rax, qword [rsp + 0x148]
mov rcx, qword [rax + 0x38]
call fcn.14004b910
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1400687f2
jmp 0x14006d29f
jmp 0x140068ad1
cvtsi2sd xmm0, qword [rsp + 0x488]
mov rax, qword [rsp + 0x88]
comisd xmm0, xmmword [rax]
jbe 0x140068832
mov eax, dword [rsp + 0xe4]
and eax, 1
cmp eax, 1
jne 0x140068830
mov eax, dword [rsp + 0xe4]
dec eax
mov dword [rsp + 0xe4], eax
jmp 0x140068868
cvtsi2sd xmm0, qword [rsp + 0x488]
mov rax, qword [rsp + 0x88]
comisd xmm0, xmmword [rax]
jae 0x140068868
mov eax, dword [rsp + 0xe4]
and eax, 1
test eax, eax
jne 0x140068868
mov eax, dword [rsp + 0xe4]
inc eax
mov dword [rsp + 0xe4], eax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x488]
xor edx, edx
mov rax, qword [rsp + 0x148]
mov rcx, qword [rax + 0x38]
call fcn.14004b9d0
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x488]
mov qword [rax + 0x58], rcx
cmp dword [rsp + 0x30], 0
je 0x1400688b7
jmp 0x14006d29f
jmp 0x1400689cb
mov edx, 2
mov rax, qword [rsp + 0x148]
mov rcx, qword [rax + 0x38]
call fcn.1400557e0
test eax, eax
je 0x1400688e1
mov dword [rsp + 0x284], 1
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x534], eax
mov rax, qword [rsp + 0x148]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x798], rax
movzx eax, word [rsp + 0x534]
mov word [rsp + 0x7a8], ax
mov eax, dword [rsp + 0xe4]
sub eax, 0x16
and eax, 1
test eax, eax
je 0x140068932
mov dword [rsp + 0x36c], 0xffffffff
jmp 0x14006893d
mov dword [rsp + 0x36c], 1
movzx eax, byte [rsp + 0x36c]
mov byte [rsp + 0x7aa], al
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x7a0], rax
mov byte [rsp + 0x7ae], 0
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x798]
mov rax, qword [rsp + 0x148]
mov rcx, qword [rax + 0x38]
call fcn.14004b9d0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1400689b0
jmp 0x14006d29f
cmp dword [rsp + 0x284], 0
je 0x1400689cb
movzx eax, byte [rsp + 0x7ae]
test eax, eax
jne 0x1400689cb
jmp 0x140068ad1
cmp dword [rsp + 0xe4], 0x18
jl 0x140068a4f
cmp dword [rsp + 0xc8], 0
jl 0x1400689f3
cmp dword [rsp + 0xc8], 0
jne 0x140068a3f
cmp dword [rsp + 0xe4], 0x19
jne 0x140068a3f
mov dword [rsp + 0xc8], 0
xor edx, edx
mov rax, qword [rsp + 0x148]
mov rcx, qword [rax + 0x38]
call fcn.14004c4e0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140068a3d
cmp dword [rsp + 0x30], 0x65
jne 0x140068a38
mov dword [rsp + 0x30], 0
mov dword [rsp + 0xc8], 1
jmp 0x140068a3d
jmp 0x14006d29f
jmp 0x140068a4a
mov dword [rsp + 0xc8], 0
jmp 0x140068ad1
cmp dword [rsp + 0xc8], 0
jg 0x140068a6d
cmp dword [rsp + 0xc8], 0
jne 0x140068ab9
cmp dword [rsp + 0xe4], 0x16
jne 0x140068ab9
mov dword [rsp + 0xc8], 0
xor edx, edx
mov rax, qword [rsp + 0x148]
mov rcx, qword [rax + 0x38]
call fcn.14004c7b0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140068ab7
cmp dword [rsp + 0x30], 0x65
jne 0x140068ab2
mov dword [rsp + 0x30], 0
mov dword [rsp + 0xc8], 1
jmp 0x140068ab7
jmp 0x14006d29f
jmp 0x140068ad1
mov rax, qword [rsp + 0x148]
mov rcx, qword [rax + 0x38]
call fcn.140044d80
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0xc8], 0
je 0x140068ae2
jmp 0x1400636f0
cmp dword [rsp + 0x284], 0
je 0x140068afa
mov rax, qword [rsp + 0x38]
add rax, 0x18
mov qword [rsp + 0x38], rax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x688], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
and eax, 1
and eax, 1
shl eax, 3
mov rcx, qword [rsp + 0x688]
mov ecx, dword [rcx + 8]
and ecx, 0xfffffff7
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x688]
mov dword [rcx + 8], eax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x800], rax
mov rax, qword [rsp + 0x800]
mov eax, dword [rax + 8]
shr eax, 3
and eax, 1
test eax, eax
je case.0x140063660.26
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x268], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0x10], 0
jle 0x140068c30
mov rax, qword [rsp + 0x268]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x940], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 0x10]
mov word [rsp + 0x950], ax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x948], rax
lea rax, [rsp + 0x940]
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x598], 0
jmp 0x140068ce6
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 8]
and eax, 0x4000
test eax, eax
je 0x140068c5b
mov rcx, qword [rsp + 0x88]
call fcn.140056f40
mov dword [rsp + 0x370], eax
jmp 0x140068c66
mov dword [rsp + 0x370], 0
mov eax, dword [rsp + 0x370]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140068c7d
jmp 0x14006d40c
mov rax, qword [rsp + 0x268]
mov rcx, qword [rax + 0x40]
call fcn.14005df20
mov qword [rsp + 0x270], rax
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x598], rax
cmp qword [rsp + 0x270], 0
jne 0x140068cb6
jmp 0x14006d40c
mov r9, qword [rsp + 0x270]
mov rax, qword [rsp + 0x88]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x268]
mov rcx, qword [rax + 0x40]
call fcn.14005dfc0
mov rax, qword [rsp + 0x270]
mov byte [rax + 0x12], 0
mov dword [rsp + 0x3cc], 0
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x1b
jne 0x140068d6f
mov dword [rsp + 0x214], 0
jmp 0x140068d27
mov eax, dword [rsp + 0x214]
inc eax
mov dword [rsp + 0x214], eax
mov rax, qword [rsp + 0x270]
movzx eax, word [rax + 0x10]
cmp dword [rsp + 0x214], eax
jge 0x140068d6f
movsxd rax, dword [rsp + 0x214]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x270]
mov rcx, qword [rcx + 8]
movzx eax, word [rcx + rax + 8]
and eax, 1
test eax, eax
je 0x140068d6d
mov dword [rsp + 0x3cc], 1
jmp 0x140068d6f
jmp 0x140068d17
lea rax, [rsp + 0x374]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x270]
mov rax, qword [rsp + 0x268]
mov rcx, qword [rax + 0x38]
call fcn.14004b9d0
mov dword [rsp + 0x30], eax
cmp qword [rsp + 0x598], 0
je 0x140068dbc
mov rdx, qword [rsp + 0x598]
mov rcx, qword [rsp + 0x40]
call fcn.1400275d0
cmp dword [rsp + 0x30], 0
je 0x140068dc8
jmp 0x14006d29f
mov rax, qword [rsp + 0x268]
mov ecx, dword [rsp + 0x374]
mov dword [rax + 0x2c], ecx
cmp dword [rsp + 0x374], 0
jne 0x140068df1
mov dword [rsp + 0x3c8], 1
jmp 0x140068dfc
mov dword [rsp + 0x3c8], 0
mov eax, dword [rsp + 0x3c8]
mov dword [rsp + 0x288], eax
mov eax, 1
sub eax, dword [rsp + 0x288]
mov rcx, qword [rsp + 0x268]
mov byte [rcx + 2], al
mov rax, qword [rsp + 0x268]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x268]
mov dword [rax + 0x28], 0
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x1d
jne 0x140068e5a
cmp dword [rsp + 0x288], 0
je 0x140068e58
jmp 0x1400636f0
jmp 0x140068e73
cmp dword [rsp + 0x3cc], 0
jne 0x140068e6e
cmp dword [rsp + 0x288], 0
jne 0x140068e73
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 8]
and eax, 0x24
test eax, eax
jne case.0x140063660.30
mov eax, 0x38
imul rax, rax, 0
lea rcx, [rsp + 0xa30]
mov rdx, qword [rsp + 0x88]
mov rdi, rcx
lea rsi, [rdx + rax]
mov ecx, 0x38
rep movsb byte [rdi], byte [rsi]
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
lea rcx, [rsp + 0xa30]
call fcn.140063190
movzx eax, word [rsp + 0xa38]
and eax, 4
test eax, eax
jne 0x140068efb
jmp 0x1400636f0
mov rax, qword [rsp + 0xa30]
mov qword [rsp + 0x5a0], rax
jmp 0x140068f40
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov qword [rsp + 0x5a0], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x320], rax
mov rax, qword [rsp + 0x320]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x808], rax
mov dword [rsp + 0x2fc], 0
lea rax, [rsp + 0x2fc]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x5a0]
xor edx, edx
mov rcx, qword [rsp + 0x808]
call fcn.14004b9d0
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x320]
mov rcx, qword [rsp + 0x5a0]
mov qword [rax + 0x58], rcx
mov rax, qword [rsp + 0x320]
mov byte [rax + 2], 0
mov rax, qword [rsp + 0x320]
mov dword [rax + 0x28], 0
mov rax, qword [rsp + 0x320]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x320]
mov ecx, dword [rsp + 0x2fc]
mov dword [rax + 0x2c], ecx
cmp dword [rsp + 0x2fc], 0
je 0x140069022
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
jne 0x14006901d
mov ecx, 0x159cf
call fcn.1400e01f0
mov dword [rsp + 0x30], eax
jmp 0x140069022
jmp 0x1400636f0
cmp dword [rsp + 0x30], 0
je 0x14006902e
jmp 0x14006d29f
jmp case.0x140063660.85
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
mov qword [rcx], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x18]
inc rax
mov rcx, qword [rsp + 0x38]
movsxd rcx, dword [rcx + 4]
mov rdx, qword [rsp + 0xa90]
mov rdx, qword [rdx + 0x78]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x18], rax
jmp case.0x140063660.85
mov qword [rsp + reloc.WLDAP32.dll_Ordinal_304], 0
mov dword [rsp + 0x1ac], 0
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1e0], rax
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 8]
shr eax, 1
and eax, 1
test eax, eax
jne 0x1400691b4
lea rdx, [rsp + 0x1ac]
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rax + 0x38]
call fcn.14004b910
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140069141
jmp 0x14006d29f
cmp dword [rsp + 0x1ac], 0
je 0x140069159
mov qword [rsp + reloc.WLDAP32.dll_Ordinal_304], 1
jmp 0x1400691b4
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rax + 0x38]
call fcn.14004a8c0
mov qword [rsp + reloc.WLDAP32.dll_Ordinal_304], rax
movabs rax, 0x7fffffffffffffff
cmp qword [rsp + reloc.WLDAP32.dll_Ordinal_304], rax
jl 0x1400691a1
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 8]
or eax, 2
mov rcx, qword [rsp + 0x1e0]
mov dword [rcx + 8], eax
jmp 0x1400691b4
mov rax, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
inc rax
mov qword [rsp + reloc.WLDAP32.dll_Ordinal_304], rax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x1400692dc
mov rax, qword [rsp + 0xa90]
cmp qword [rax + 0x100], 0
je 0x140069236
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0x490], rax
jmp 0x140069202
mov rax, qword [rsp + 0x490]
mov rax, qword [rax + 8]
mov qword [rsp + 0x490], rax
mov rax, qword [rsp + 0x490]
cmp qword [rax + 8], 0
je 0x140069213
jmp 0x1400691ee
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x490]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x328], rax
jmp 0x140069256
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x328], rax
mov rcx, qword [rsp + 0x328]
call fcn.1400576a0
mov rax, qword [rsp + 0x328]
movabs rcx, 0x7fffffffffffffff
cmp qword [rax], rcx
je 0x14006928e
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 8]
shr eax, 1
and eax, 1
test eax, eax
je 0x14006929b
mov dword [rsp + 0x30], reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x14006d29f
mov rax, qword [rsp + 0x328]
mov rax, qword [rax]
inc rax
cmp qword [rsp + reloc.WLDAP32.dll_Ordinal_304], rax
jge 0x1400692c9
mov rax, qword [rsp + 0x328]
mov rax, qword [rax]
inc rax
mov qword [rsp + reloc.WLDAP32.dll_Ordinal_304], rax
mov rax, qword [rsp + 0x328]
mov rcx, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
mov qword [rax], rcx
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 8]
shr eax, 1
and eax, 1
test eax, eax
je 0x1400693c5
mov dword [rsp + 0x2f8], 0
lea rdx, [rsp + reloc.WLDAP32.dll_Ordinal_304]
mov ecx, 8
call fcn.14002b0f0
movabs rax, 0x3fffffffffffffff
mov rcx, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
and rcx, rax
mov rax, rcx
mov qword [rsp + reloc.WLDAP32.dll_Ordinal_304], rax
mov rax, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
inc rax
mov qword [rsp + reloc.WLDAP32.dll_Ordinal_304], rax
lea rax, [rsp + 0x1ac]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
xor edx, edx
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rax + 0x38]
call fcn.14004b9d0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x1400693a2
cmp dword [rsp + 0x1ac], 0
jne 0x1400693a2
mov eax, dword [rsp + 0x2f8]
inc eax
mov dword [rsp + 0x2f8], eax
cmp dword [rsp + 0x2f8], 0x64
jl 0x1400692ff
cmp dword [rsp + 0x30], 0
je 0x1400693ae
jmp 0x14006d29f
cmp dword [rsp + 0x1ac], 0
jne 0x1400693c5
mov dword [rsp + 0x30], reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x14006d29f
mov rax, qword [rsp + 0x1e0]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x1e0]
mov dword [rax + 0x28], 0
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + reloc.WLDAP32.dll_Ordinal_304]
mov qword [rax], rcx
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x498], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x438], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x810], rax
mov rax, qword [rsp + 0x810]
mov rax, qword [rax]
mov qword [rsp + 0x918], rax
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffffa
jne 0x1400694bf
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x120], 0
je 0x1400694bf
mov rax, qword [rsp + 0x438]
movsx rax, byte [rax + 1]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax]
mov qword [rsp + 0x690], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x5a8], rax
jmp 0x1400694d7
mov qword [rsp + 0x5a8], 0
mov qword [rsp + 0x690], 0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 1
test eax, eax
je 0x1400694ff
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0x3c]
inc eax
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x3c], eax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x20
test eax, eax
je 0x140069520
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x918]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x498]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x920], rax
mov rax, qword [rsp + 0x498]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x934], eax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x10
test eax, eax
je 0x14006956a
mov rax, qword [rsp + 0x438]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x3d0], eax
jmp 0x140069575
mov dword [rsp + 0x3d0], 0
mov eax, dword [rsp + 0x3d0]
mov dword [rsp + 0x530], eax
mov rax, qword [rsp + 0x498]
movzx eax, word [rax + 8]
and eax, 0x4000
test eax, eax
je 0x1400695ab
mov rax, qword [rsp + 0x498]
mov eax, dword [rax]
mov dword [rsp + 0x938], eax
jmp 0x1400695b6
mov dword [rsp + 0x938], 0
mov qword [rsp + 0x910], 0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0xa
mov r9d, dword [rsp + 0x530]
mov r8d, eax
lea rdx, [rsp + 0x910]
mov rax, qword [rsp + 0x438]
mov rcx, qword [rax + 0x38]
call fcn.1400520a0
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x438]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x438]
mov dword [rax + 0x28], 0
cmp dword [rsp + 0x30], 0
je 0x14006961d
jmp 0x14006d29f
cmp qword [rsp + 0x5a8], 0
je 0x14006968e
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 4
test eax, eax
je 0x140069645
mov dword [rsp + 0x3d4], SQLFreeHandle
jmp 0x140069650
mov dword [rsp + 0x3d4], Ordinal_26
mov rax, qword [rsp + 0x918]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x5a8]
mov r9, qword [rax]
mov r8, qword [rsp + 0x690]
mov edx, dword [rsp + 0x3d4]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x118]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x120]
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x52c], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x260], rax
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffffa
jne 0x14006975a
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x120], 0
je 0x14006975a
mov rax, qword [rsp + 0x260]
movsx rax, byte [rax + 1]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax]
mov qword [rsp + 0x698], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x5b0], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 2
test eax, eax
je 0x140069758
mov rax, qword [rsp + 0x260]
movzx eax, byte [rax + 4]
test eax, eax
je 0x140069758
mov rax, qword [rsp + 0x260]
mov rcx, qword [rax + 0x38]
call fcn.14004a8c0
mov rcx, qword [rsp + 0x260]
mov qword [rcx + 0x58], rax
jmp 0x140069772
mov qword [rsp + 0x698], 0
mov qword [rsp + 0x5b0], 0
mov rax, qword [rsp + 0x38]
movzx edx, byte [rax + 2]
mov rax, qword [rsp + 0x260]
mov rcx, qword [rax + 0x38]
call fcn.140052860
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x260]
mov dword [rax + 0x28], 0
mov rax, qword [rsp + 0x260]
mov dword [rax + 0x2c], 0
cmp dword [rsp + 0x30], 0
je 0x1400697ba
jmp 0x14006d29f
mov eax, dword [rsp + 0x52c]
and eax, 1
test eax, eax
je 0x140069841
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0x3c]
inc eax
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x3c], eax
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x120], 0
je 0x140069841
mov rax, qword [rsp + 0x5b0]
mov eax, dword [rax + 0x40]
and eax, 0x20
test eax, eax
jne 0x140069841
mov rax, qword [rsp + 0x260]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x5b0]
mov r9, qword [rax]
mov r8, qword [rsp + 0x698]
mov edx, 9
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x118]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x120]
jmp case.0x140063660.85
mov rax, qword [rsp + 0xa90]
mov edx, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x40]
call fcn.14005fde0
mov rax, qword [rsp + 0xa90]
mov dword [rax + 0x3c], 0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x818], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x528], eax
mov dword [rsp + 0x3dc], 0
lea r9, [rsp + 0x3dc]
mov r8d, dword [rsp + 0x528]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x818]
call fcn.140071cd0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1400698ff
jmp 0x14006d29f
cmp dword [rsp + 0x3dc], 0
je 0x14006990e
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x820], rax
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x820]
call fcn.140071c30
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140069973
jmp 0x14006d29f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov dword [rax + 0x28], 0
jmp case.0x140063660.85
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x828], rax
mov rax, qword [rsp + 0x828]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x6a0], rax
mov rcx, qword [rsp + 0x6a0]
call fcn.14004a8f0
mov dword [rsp + 0x3e0], eax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx + rax + 0x7c]
cmp dword [rsp + 0x3e0], eax
jbe 0x140069a18
jmp 0x14006d3eb
mov r9, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x3e0]
xor edx, edx
mov rcx, qword [rsp + 0x6a0]
call fcn.140058360
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140069a44
jmp 0x14006d29f
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
jne 0x140069a74
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0x1000
test eax, eax
je 0x140069a74
mov rcx, qword [rsp + 0x50]
call fcn.140056e90
test eax, eax
je 0x140069a74
jmp 0x14006d40c
jmp case.0x140063660.85
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x230]
movzx eax, byte [rax + 2]
test eax, eax
je 0x140069ad9
mov eax, 1
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x230]
movzx eax, byte [rax + 3]
test eax, eax
je 0x140069b02
mov rax, qword [rsp + 0x230]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x5b8], rax
jmp 0x140069bdb
mov rax, qword [rsp + 0x230]
movzx eax, byte [rax]
cmp eax, 2
jne 0x140069b82
mov rax, qword [rsp + 0x230]
mov rax, qword [rax + 0x38]
mov rax, qword [rax]
mov qword [rsp + 0x6a8], rax
mov rax, qword [rsp + 0x6a8]
mov rax, qword [rax]
mov qword [rsp + 0x830], rax
lea rdx, [rsp + 0x5b8]
mov rax, qword [rsp + 0x230]
mov rcx, qword [rax + 0x38]
mov rax, qword [rsp + 0x830]
call qword [rax + reloc.WLDAP32.dll_Ordinal_96]
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x6a8]
mov rcx, qword [rsp + 0xa90]
call fcn.140060010
cmp dword [rsp + 0x30], 0
je 0x140069b80
jmp 0x14006d29f
jmp 0x140069bdb
mov rcx, qword [rsp + 0x230]
call fcn.14005d800
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140069b9f
jmp 0x14006d29f
mov rax, qword [rsp + 0x230]
movzx eax, byte [rax + 2]
test eax, eax
je 0x140069bc2
mov eax, 1
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x230]
mov rcx, qword [rax + 0x38]
call fcn.14004a8c0
mov qword [rsp + 0x5b8], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x5b8]
mov qword [rax], rcx
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4a0], rax
mov rax, qword [rsp + 0x4a0]
mov byte [rax + 2], 1
mov rax, qword [rsp + 0x4a0]
mov dword [rax + 0x28], 0
mov rax, qword [rsp + 0x4a0]
movzx eax, byte [rax]
test eax, eax
jne 0x140069c4c
mov rax, qword [rsp + 0x4a0]
mov rcx, qword [rax + 0x38]
call fcn.140044b70
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x440], rax
mov rax, qword [rsp + 0x440]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x6b0], rax
mov dword [rsp + 0x2f4], 0
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x82
jne 0x140069cc5
mov rax, qword [rsp + 0x440]
mov dword [rax + 0x2c], 0xffffffff
mov rcx, qword [rsp + 0x6b0]
call fcn.14004a890
test eax, eax
je 0x140069cc5
jmp case.0x140063660.85
lea rdx, [rsp + 0x2f4]
mov rcx, qword [rsp + 0x6b0]
call fcn.14004b910
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x440]
movzx ecx, byte [rsp + 0x2f4]
mov byte [rax + 2], cl
mov rax, qword [rsp + 0x440]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x440]
mov dword [rax + 0x28], 0
cmp dword [rsp + 0x30], 0
je 0x140069d18
jmp 0x14006d29f
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
jle 0x140069d32
cmp dword [rsp + 0x2f4], 0
je 0x140069d32
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x838], rax
mov rax, qword [rsp + 0x838]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x6b8], rax
lea rdx, [rsp + 0x2f0]
mov rcx, qword [rsp + 0x6b8]
call fcn.14004b8a0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140069d91
jmp 0x14006d29f
cmp dword [rsp + 0x2f0], 0
jne 0x140069dde
mov rcx, qword [rsp + 0x6b8]
call fcn.14004c240
mov qword [rsp + 0x6c0], rax
cmp qword [rsp + 0x6c0], 0
jl 0x140069dde
mov rcx, qword [rsp + 0x6c0]
call fcn.14002ebd0
cwde
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx + 0xc]
jge 0x140069dde
mov dword [rsp + 0x2f0], 1
cmp dword [rsp + 0x2f0], 0
je 0x140069ded
jmp 0x1400636f0
jmp case.0x140063660.85
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0xa90]
mov eax, dword [rcx + rax + 0xd4]
inc eax
mov ecx, 4
imul rcx, rcx, 2
mov rdx, qword [rsp + 0xa90]
mov dword [rdx + rcx + 0xd4], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x330], rax
mov dword [rsp + 0x218], 1
mov rax, qword [rsp + 0x330]
movzx eax, byte [rax]
cmp eax, 1
jne 0x140069e7b
lea rdx, [rsp + 0x218]
mov rcx, qword [rsp + 0x330]
call fcn.1400719e0
mov dword [rsp + 0x30], eax
jmp 0x140069ec3
mov rax, qword [rsp + 0x330]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x840], rax
lea rdx, [rsp + 0x218]
mov rcx, qword [rsp + 0x840]
call fcn.14004b8a0
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x330]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x330]
mov dword [rax + 0x28], 0
cmp dword [rsp + 0x30], 0
je 0x140069ecf
jmp 0x14006d29f
mov rax, qword [rsp + 0x330]
movzx ecx, byte [rsp + 0x218]
mov byte [rax + 2], cl
cmp dword [rsp + 0x218], 0
je 0x140069ef1
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x338], rax
mov rdx, qword [rsp + 0x338]
mov rcx, qword [rsp + 0x40]
call fcn.140071ab0
mov dword [rsp + 0x30], eax
jmp 0x140069f70
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x338], rax
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x338]
mov rcx, qword [rax + 0x38]
mov rax, qword [rsp + 0x38]
call qword [rax + 0x10]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x338]
mov dword [rax + 0x28], 0
cmp dword [rsp + 0x30], 0
jne 0x140069fc9
mov rax, qword [rsp + 0x338]
mov byte [rax + 2], 0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0xa90]
mov eax, dword [rcx + rax*4 + 0xd4]
inc eax
mov rcx, qword [rsp + 0x38]
movzx ecx, word [rcx + 2]
mov rdx, qword [rsp + 0xa90]
mov dword [rdx + rcx*4 + 0xd4], eax
jmp case.0x140063660.10
cmp dword [rsp + 0x30], 0x65
je 0x140069fd5
jmp 0x14006d29f
mov dword [rsp + 0x30], 0
mov rax, qword [rsp + 0x338]
mov byte [rax + 2], 1
jmp 0x140063685
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4a8], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 1
test eax, eax
je 0x14006a057
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0x3c]
inc eax
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x3c], eax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 8]
and eax, 0x4000
test eax, eax
je 0x14006a082
mov rcx, qword [rsp + 0x98]
call fcn.140056f40
mov dword [rsp + 0x3e4], eax
jmp 0x14006a08d
mov dword [rsp + 0x3e4], 0
mov eax, dword [rsp + 0x3e4]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006a0a4
jmp 0x14006d29f
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x83
jne 0x14006a0d1
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x4a8]
call fcn.1400708c0
mov dword [rsp + 0x30], eax
jmp 0x14006a19c
mov rax, qword [rsp + 0x98]
movsxd rax, dword [rax + 0xc]
mov qword [rsp + 0x960], rax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x958], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x970], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 0x10]
mov word [rsp + 0x978], ax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x10
test eax, eax
je 0x14006a14e
mov rax, qword [rsp + 0x4a8]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x3e8], eax
jmp 0x14006a159
mov dword [rsp + 0x3e8], 0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0xa
mov r9d, dword [rsp + 0x3e8]
mov r8d, eax
lea rdx, [rsp + 0x958]
mov rax, qword [rsp + 0x4a8]
mov rcx, qword [rax + 0x38]
call fcn.1400520a0
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x4a8]
mov dword [rax + 0x28], 0
cmp dword [rsp + 0x30], 0
je 0x14006a1a8
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4b0], rax
mov rax, qword [rsp + 0x4b0]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x6c8], rax
mov rax, qword [rsp + 0x4b0]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x8f8], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 0xc]
mov word [rsp + 0x908], ax
mov byte [rsp + 0x90a], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x900], rax
lea rax, [rsp + 0x524]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x8f8]
mov rcx, qword [rsp + 0x6c8]
call fcn.14004b9d0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006a267
jmp 0x14006d29f
cmp dword [rsp + 0x524], 0
jne 0x14006a290
mov dl, 4
mov rcx, qword [rsp + 0x6c8]
call fcn.140052860
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006a290
jmp 0x14006d29f
mov rax, qword [rsp + 0x4b0]
mov dword [rax + 0x28], 0
mov rax, qword [rsp + 0x4b0]
mov dword [rax + 0x2c], 0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4b8], rax
mov rcx, qword [rsp + 0x4b8]
call fcn.14005d800
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006a2f1
jmp 0x14006d29f
mov rax, qword [rsp + 0x4b8]
movzx eax, byte [rax + 2]
test eax, eax
jne 0x14006a3ef
mov qword [rsp + 0x5c0], 0
lea r8, [rsp + 0x5c0]
mov rax, qword [rsp + 0x4b8]
mov rdx, qword [rax + 0x38]
mov rcx, qword [rsp + 0x40]
call fcn.14005fb30
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006a33f
jmp 0x14006d29f
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x86
jne 0x14006a3c6
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x448], rax
mov rax, qword [rsp + 0x448]
mov byte [rax + 2], 0
mov rax, qword [rsp + 0x448]
mov rcx, qword [rsp + 0x5c0]
mov qword [rax + 0x58], rcx
mov rax, qword [rsp + 0x448]
mov byte [rax + 3], 1
mov rax, qword [rsp + 0x448]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0x448]
mov rcx, qword [rsp + 0x4b8]
mov qword [rax + 0x30], rcx
jmp 0x14006a3ed
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x5c0]
mov qword [rax], rcx
jmp 0x14006a40f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140057a40
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x6d0], rax
mov rax, qword [rsp + 0x6d0]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x8d8], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 0x10]
mov word [rsp + 0x8e8], ax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x27
jge 0x14006a471
mov byte [rsp + 0x8ea], 0xff
jmp 0x14006a479
mov byte [rsp + 0x8ea], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x8e0], rax
mov dword [rsp + 0x160], 0
lea r9, [rsp + 0x160]
lea r8, [rsp + 0x8d8]
mov rdx, qword [rsp + 0x6d0]
mov rcx, qword [rsp + 0x40]
call fcn.14005fd00
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
and eax, 1
cmp eax, 1
jne 0x14006a4ec
mov eax, dword [rsp + 0x160]
neg eax
mov dword [rsp + 0x160], eax
jmp 0x14006a4fc
mov eax, dword [rsp + 0x160]
inc eax
mov dword [rsp + 0x160], eax
cmp dword [rsp + 0x30], 0
je 0x14006a508
jmp 0x14006d29f
cmp dword [rsp + 0x160], 0
jle 0x14006a517
jmp 0x1400636f0
jmp case.0x140063660.85
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov eax, 1
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xd8]
inc eax
mov rcx, qword [rsp + 0x40]
cmp dword [rcx + 0xcc], eax
jle 0x14006a57c
mov dword [rsp + 0x30], 6
mov rax, qword [rsp + 0xa90]
mov byte [rax + 0xc2], 2
jmp 0x14006d29f
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x2ec], eax
mov dword [rsp + 0x21c], 0
movsxd rax, dword [rsp + 0x2ec]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
lea r8, [rsp + 0x21c]
mov rdx, qword [rsp + 0x38]
mov edx, dword [rdx + 4]
mov rcx, qword [rcx + rax + 8]
call fcn.140053810
mov dword [rsp + 0x30], eax
mov eax, 4
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
movsxd rax, dword [rsp + 0x21c]
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
cmp dword [rsp + 0x30], 0
je 0x14006a5f3
jmp 0x14006d29f
cmp dword [rsp + 0x21c], 0
je 0x14006a62f
mov rax, qword [rsp + 0x38]
mov r9d, dword [rax + 4]
mov r8d, dword [rsp + 0x21c]
mov edx, dword [rsp + 0x2ec]
mov rcx, qword [rsp + 0x40]
call fcn.14008cca0
mov eax, dword [rsp + 0x2ec]
inc eax
mov byte [rsp + 0xb0], al
jmp case.0x140063660.85
mov dword [rsp + 0x2e8], 0
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x14006a65c
lea rax, [rsp + 0x2e8]
mov qword [rsp + 0x6d8], rax
jmp 0x14006a668
mov qword [rsp + 0x6d8], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov r8, qword [rsp + 0x6d8]
mov rdx, qword [rsp + 0x38]
mov edx, dword [rdx + 4]
mov rcx, qword [rcx + rax + 8]
call fcn.140053500
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x14006a706
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0x3c]
add eax, dword [rsp + 0x2e8]
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x3c], eax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
jle 0x14006a706
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
movsxd rcx, dword [rsp + 0x2e8]
mov rdx, qword [rsp + 0x60]
add rcx, qword [rdx + rax]
mov rax, rcx
mov rcx, qword [rsp + 0x38]
movsxd rcx, dword [rcx + 0xc]
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x60]
mov qword [rdx + rcx], rax
cmp dword [rsp + 0x30], 0
je 0x14006a712
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x5c8], rax
mov rax, qword [rsp + 0x5c8]
movzx eax, byte [rax]
cmp eax, 1
jne 0x14006a760
mov rax, qword [rsp + 0x5c8]
mov rdx, qword [rax + 0x38]
mov rcx, qword [rsp + 0x40]
call fcn.14006f990
jmp 0x14006a781
mov rax, qword [rsp + 0x5c8]
mov rcx, qword [rax + 0x38]
call fcn.140053580
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006a781
jmp 0x14006d29f
jmp case.0x140063660.85
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x3ec], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x848], rax
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 0xc]
lea rdx, [rsp + 0x3ec]
mov rax, qword [rsp + 0x848]
mov rcx, qword [rax + 8]
call fcn.140053220
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006a7f8
jmp 0x14006d29f
movsxd rax, dword [rsp + 0x3ec]
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x6a]
inc al
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 0x6a], al
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x40]
call fcn.14009ff70
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x6a]
dec al
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 0x6a], al
cmp dword [rsp + 0x30], 0
je 0x14006a865
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x220], eax
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0
jne 0x14006a91e
movsxd rax, dword [rsp + 0x220]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + rax + 0x18]
call fcn.1400926f0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
and eax, 0xffffffef
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsp + 0xa90]
add rax, 0xa8
mov r9d, 1
mov r8, rax
mov edx, dword [rsp + 0x220]
mov rcx, qword [rsp + 0x40]
call fcn.1400a6790
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
or eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0xc8]
and eax, 0xfffffffc
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0xc8], eax
jmp 0x14006aa68
lea rax, str.sqlite_master
mov qword [rsp + 0x850], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x7b0], rax
mov eax, dword [rsp + 0x220]
mov dword [rsp + 0x7c0], eax
mov rax, qword [rsp + 0xa90]
add rax, 0xa8
mov qword [rsp + 0x7b8], rax
mov dword [rsp + 0x7c8], 0
movsxd rax, dword [rsp + 0x220]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rdx, qword [rsp + 0x38]
mov rdx, qword [rdx + 0x10]
mov qword [rsp + 0x20], rdx
mov r9, qword [rsp + 0x850]
mov r8, qword [rcx + rax]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rcx, qword [rsp + 0x40]
call fcn.14002add0
mov qword [rsp + 0x600], rax
cmp qword [rsp + 0x600], 0
jne 0x14006a9c9
mov dword [rsp + 0x30], 7
jmp 0x14006aa68
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xb5], 1
mov dword [rsp + 0x7c4], 0
mov dword [rsp + 0x7cc], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x7b0]
lea r8, [fcn.1400a63a0]
mov rdx, qword [rsp + 0x600]
mov rcx, qword [rsp + 0x40]
call fcn.14009ff70
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x14006aa2b
mov eax, dword [rsp + 0x7c4]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x14006aa4a
cmp dword [rsp + 0x7cc], 0
jne 0x14006aa4a
mov ecx, 0x15f51
call fcn.1400e01f0
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x600]
mov rcx, qword [rsp + 0x40]
call fcn.1400275d0
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xb5], 0
cmp dword [rsp + 0x30], 0
je 0x14006aa8a
mov rcx, qword [rsp + 0x40]
call fcn.140088bb0
cmp dword [rsp + 0x30], 7
jne 0x14006aa85
jmp 0x14006d40c
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.1400863b0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006aab1
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.140088f00
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.140088840
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.1400b67b0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x520], eax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x858], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x5d8], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x5d8]
mov eax, dword [rax]
inc eax
mov ecx, 4
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x858]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [rsp + 0x38]
movzx edx, word [rdx + 2]
imul rdx, rdx, 0x20
mov qword [rsp + 0x860], rdx
mov rdi, qword [rsp + 0x40]
mov rdi, qword [rdi + 0x20]
lea rsi, [rsp + 0x34c]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, dword [rsp + 0x520]
mov rdx, rcx
mov rax, qword [rsp + 0x860]
mov rcx, qword [rdi + rax + 8]
call fcn.140054eb0
mov qword [rsp + 0x6e0], rax
mov rcx, qword [rsp + 0x58]
call fcn.140057a40
cmp dword [rsp + 0x34c], 0
jne 0x14006abff
jmp 0x14006ac5f
cmp qword [rsp + 0x6e0], 0
jne 0x14006ac11
jmp 0x14006d40c
mov eax, dword [rsp + 0x34c]
dec eax
cdqe
mov rcx, qword [rsp + 0x5d8]
mov rcx, qword [rcx]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x5d8]
mov qword [rcx], rax
lea rax, [fcn.140027520]
mov qword [rsp + 0x20], rax
mov r9b, 1
mov r8d, 0xffffffff
mov rdx, qword [rsp + 0x6e0]
mov rcx, qword [rsp + 0x58]
call fcn.140057f90
movzx eax, byte [rsp + 0x48]
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140056b30
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 0x10
test eax, eax
jne 0x14006acd5
mov rcx, qword [rsp + 0x58]
call fcn.140057ca0
test eax, eax
je 0x14006acd5
jmp 0x14006d40c
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10]
call fcn.1400379e0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 0x10
test eax, eax
je 0x14006ad3a
lea rdx, [rsp + 0x868]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10]
call fcn.140037ef0
test eax, eax
jne 0x14006ad4b
mov rcx, qword [rsp + 0x58]
call fcn.140057a40
jmp case.0x140063660.10
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rdx, qword [rsp + 0x868]
mov rcx, rax
call fcn.140057b50
jmp 0x140063685
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x2e4], eax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 8]
and eax, 0x10
test eax, eax
jne 0x14006ade7
mov rcx, qword [rsp + 0x58]
call fcn.140057ca0
test eax, eax
je 0x14006ade7
jmp 0x14006d40c
cmp dword [rsp + 0x2e4], 0
je 0x14006ae27
mov rax, qword [rsp + 0x88]
mov r8, qword [rax]
mov edx, dword [rsp + 0x2e4]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10]
call fcn.140037fb0
mov dword [rsp + 0x51c], eax
cmp dword [rsp + 0x51c], 0
je 0x14006ae27
jmp 0x1400636f0
cmp dword [rsp + 0x2e4], 0
jl 0x14006ae4a
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10]
call fcn.1400379e0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test eax, eax
je 0x14006af01
mov rax, qword [rsp + 0x188]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x870], rax
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0xa8], rax
jmp 0x14006aece
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax + 8]
mov qword [rsp + 0xa8], rax
cmp qword [rsp + 0xa8], 0
je 0x14006aef1
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x870]
cmp qword [rax + 0x38], rcx
je 0x14006aef1
jmp 0x14006aeba
cmp qword [rsp + 0xa8], 0
je 0x14006af01
jmp case.0x140063660.85
mov eax, 4
imul rax, rax, 0xa
mov rcx, qword [rsp + 0xa90]
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + rax + 0x7c]
cmp dword [rcx + 0x110], eax
jl 0x14006af44
mov dword [rsp + 0x30], 1
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
jmp 0x14006d29f
mov rax, qword [rsp + 0x290]
movzx eax, word [rax + 8]
and eax, 0x10
test eax, eax
jne 0x14006b219
mov rax, qword [rsp + 0x188]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x188]
add eax, dword [rcx + 0x10]
mov dword [rsp + 0x224], eax
mov rax, qword [rsp + 0x188]
cmp dword [rax + 0x10], 0
jne 0x14006af96
mov eax, dword [rsp + 0x224]
inc eax
mov dword [rsp + 0x224], eax
movsxd rax, dword [rsp + 0x224]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x188]
movsxd rcx, dword [rcx + 0x10]
lea rax, [rax + rcx*8 + 0x70]
mov qword [rsp + 0x878], rax
mov rcx, qword [rsp + 0x188]
mov ecx, dword [rcx + 8]
add ecx, 7
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cdqe
mov rcx, qword [rsp + 0x878]
add rcx, rax
mov rax, rcx
mov dword [rsp + 0x3f0], eax
movsxd rax, dword [rsp + 0x3f0]
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.1400278b0
mov qword [rsp + 0xa8], rax
cmp qword [rsp + 0xa8], 0
jne 0x14006b018
jmp 0x14006d40c
mov rcx, qword [rsp + 0x290]
call fcn.140057380
mov eax, 0x410
mov rcx, qword [rsp + 0x290]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x290]
mov rcx, qword [rsp + 0xa8]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x290]
mov ecx, dword [rsp + 0x3f0]
mov dword [rax + 0xc], ecx
mov rax, qword [rsp + 0x290]
lea rcx, [0x14005b020]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa90]
mov qword [rax], rcx
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x224]
mov dword [rax + 0x60], ecx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x188]
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, reloc.ODBC32.dll_SQLAllocHandle
idiv rcx
mov rcx, qword [rsp + 0xa8]
mov dword [rcx + 0x54], eax
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x68]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa90]
mov ecx, dword [rcx + 0x28]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov qword [rax + 0x28], rcx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa90]
mov ecx, dword [rcx + 0x2c]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x88]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa90]
mov ecx, dword [rcx + 0x90]
mov dword [rax + 0x58], ecx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x188]
mov rcx, qword [rcx + 0x20]
mov qword [rax + 0x38], rcx
mov eax, 1
imul rax, rax, 0x70
mov rcx, qword [rsp + 0xa8]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xa8]
movsxd rcx, dword [rcx + 0x60]
imul rcx, rcx, 0x38
add rax, rcx
mov qword [rsp + 0x880], rax
mov eax, 1
imul rax, rax, 0x70
mov rcx, qword [rsp + 0xa8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x450], rax
jmp 0x14006b1e1
mov rax, qword [rsp + 0x450]
add rax, 0x38
mov qword [rsp + 0x450], rax
mov rax, qword [rsp + 0x880]
cmp qword [rsp + 0x450], rax
je 0x14006b217
mov eax, 0x80
mov rcx, qword [rsp + 0x450]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x450]
mov rcx, qword [rsp + 0x40]
mov qword [rax + 0x28], rcx
jmp 0x14006b1cd
jmp 0x14006b22d
mov rax, qword [rsp + 0x290]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0x110]
inc eax
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x110], eax
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x100]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x38]
mov qword [rax + 0x40], rcx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa90]
mov ecx, dword [rcx + 0x3c]
mov dword [rax + 0x68], ecx
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax]
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rax + 0x74]
mov dword [rcx + 0x6c], eax
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x120]
mov qword [rax + 0x48], rcx
mov rax, qword [rsp + 0xa90]
mov qword [rax + 0x120], 0
mov rax, qword [rsp + 0xa90]
mov dword [rax + 0x3c], 0
mov rax, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0xa8]
mov qword [rax + 0x100], rcx
mov eax, 1
imul rax, rax, 0x70
mov rcx, qword [rsp + 0xa8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x68], rcx
mov rax, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0xa8]
mov ecx, dword [rcx + 0x60]
mov dword [rax + 0x28], ecx
mov rax, qword [rsp + 0xa8]
movzx eax, word [rax + 0x64]
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsp + 0xa90]
movsxd rax, dword [rax + 0x28]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xa90]
mov qword [rcx + 0x78], rax
mov rax, qword [rsp + 0x188]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
lea rax, [rcx + rax*8]
mov rcx, qword [rsp + 0xa8]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x188]
mov eax, dword [rax + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
cdqe
mov r8, rax
xor edx, edx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rax + 0x30]
call fcn.140161800
mov rax, qword [rsp + 0x188]
mov rax, qword [rax]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 0x88], rcx
mov rax, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0x188]
mov ecx, dword [rcx + 8]
mov dword [rax + 0x90], ecx
mov eax, reloc.ODBC32.dll_SQLAllocHandle
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x140063685
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0x5e0], rax
mov rax, qword [rsp + 0x5e0]
movsxd rax, dword [rax + 0x54]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x5e0]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x38]
mov edx, dword [rdx + 4]
add edx, dword [rcx + rax + 4]
mov eax, edx
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x5e0]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x888], rax
mov r8d, 0x1000
mov rdx, qword [rsp + 0x888]
mov rcx, qword [rsp + 0x50]
call fcn.140057df0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
and rax, 0x80000
test rax, rax
je 0x14006b500
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x290]
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x290], rax
jmp 0x14006b54f
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x14006b52e
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x288]
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x288], rax
jmp 0x14006b54f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0xa90]
add rax, qword [rcx + 0x50]
mov rcx, qword [rsp + 0xa90]
mov qword [rcx + 0x50], rax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x14006b584
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x288], 0
jne 0x14006b582
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x290], 0
jne 0x14006b582
jmp 0x1400636f0
jmp 0x14006b5a7
mov rax, qword [rsp + 0xa90]
cmp qword [rax + 0x50], 0
jne 0x14006b5a7
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x290], 0
jne 0x14006b5a7
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0xa90]
cmp qword [rax + 0x100], 0
je 0x14006b61c
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0x4c0], rax
jmp 0x14006b5eb
mov rax, qword [rsp + 0x4c0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x4c0], rax
mov rax, qword [rsp + 0x4c0]
cmp qword [rax + 8], 0
je 0x14006b5fc
jmp 0x14006b5d7
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x4c0]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x58], rax
jmp 0x14006b639
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.1400576a0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
call fcn.1400576a0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
cmp qword [rax], rcx
jge 0x14006b698
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
cmp qword [rax], 0
jle 0x14006b6e9
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov qword [rsp + 0x5e8], rax
cmp qword [rsp + 0x5e8], 0
jle 0x14006b7a5
mov rax, qword [rsp + 0x88]
cmp qword [rax], 0
jle 0x14006b780
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov qword [rsp + 0x6e8], rax
jmp 0x14006b78c
mov qword [rsp + 0x6e8], 0
mov rdx, qword [rsp + 0x6e8]
lea rcx, [rsp + 0x5e8]
call fcn.14002e890
test eax, eax
je 0x14006b7b3
mov rax, qword [rsp + 0x50]
mov qword [rax], 0xffffffffffffffff
jmp 0x14006b7c3
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x5e8]
mov qword [rax], rcx
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
cmp qword [rax], 0
je 0x14006b813
mov rax, qword [rsp + 0x58]
cmp qword [rax], 0
jle 0x14006b80e
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
dec rax
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movabs rcx, 0x8000000000000000
cmp qword [rax], rcx
jle 0x14006b85c
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
dec rax
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov rax, qword [rsp + 0x58]
cmp qword [rax], 0
jne 0x14006b86c
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
mov dword [rsp + 0x2e0], eax
movsxd rax, dword [rsp + 0x2e0]
lea rax, [rax*8 + 0x68]
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.140027980
mov qword [rsp + 0x180], rax
cmp qword [rsp + 0x180], 0
jne 0x14006b8b6
jmp 0x14006d40c
mov rax, qword [rsp + 0x180]
mov qword [rax + 0x10], 0
movsxd rax, dword [rsp + 0x2e0]
mov rcx, qword [rsp + 0x180]
lea rax, [rcx + rax*8 + 0x30]
mov rcx, qword [rsp + 0x180]
mov qword [rcx], rax
mov r8w, 1
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x180]
mov rcx, qword [rax]
call fcn.140057a00
mov rax, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, reloc.ODBC32.dll_SQLAllocHandle
idiv rcx
mov rcx, qword [rsp + 0x180]
mov dword [rcx + 0x20], eax
mov rax, qword [rsp + 0x180]
mov rcx, qword [rsp + 0xa90]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x180]
mov byte [rax + 0x28], 0
mov rax, qword [rsp + 0x180]
mov dword [rax + 0x24], 0
mov rax, qword [rsp + 0x180]
movzx ecx, byte [rsp + 0x2e0]
mov byte [rax + 0x29], cl
mov rax, qword [rsp + 0x38]
mov byte [rax + 1], 0xf0
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x180]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x38]
mov byte [rax], Ordinal_157
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x4c8], rax
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x4c8]
cmp qword [rax + 0x10], rcx
je 0x14006ba64
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x4c8]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0xf0]
movzx eax, byte [rax + 0x29]
dec eax
mov dword [rsp + 0x124], eax
jmp 0x14006ba23
mov eax, dword [rsp + 0x124]
dec eax
mov dword [rsp + 0x124], eax
cmp dword [rsp + 0x124], 0
jl 0x14006ba64
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
add eax, dword [rsp + 0x124]
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x124]
mov rdx, qword [rsp + 0xf0]
mov qword [rdx + rcx*8 + 0x30], rax
jmp 0x14006ba13
mov rax, qword [rsp + 0x4c8]
mov eax, dword [rax + 0xc]
inc eax
mov rcx, qword [rsp + 0x4c8]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x14006bacd
mov rax, qword [rsp + 0xf0]
add rax, 0x30
mov rcx, qword [rsp + 0xf0]
movzx ecx, byte [rcx + 0x29]
mov rdx, qword [rsp + 0xf0]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x890], rdx
mov r8, rax
mov edx, ecx
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x890]
call qword [rax + 0x30]
jmp 0x14006bb11
mov rax, qword [rsp + 0xf0]
add rax, 0x30
mov rcx, qword [rsp + 0xf0]
movzx ecx, byte [rcx + 0x29]
mov rdx, qword [rsp + 0xf0]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x898], rdx
mov r8, rax
mov edx, ecx
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x898]
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x24], 0
je 0x14006bc09
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x24], 0
jle 0x14006bb67
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rax]
call fcn.140060570
mov r8, rax
lea rdx, [0x14018f468]
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xf0]
movzx eax, byte [rax + 0x28]
test eax, eax
je 0x14006bbca
mov eax, reloc.ODBC32.dll_SQLAllocHandle
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx + rax + 4]
mov dword [rsp + 0x124], eax
cmp dword [rsp + 0x124], 0
je 0x14006bbbe
movsxd rax, dword [rsp + 0x124]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov edx, 1
mov rcx, rax
call fcn.140057b50
mov rax, qword [rsp + 0xf0]
mov byte [rax + 0x28], 0
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rax]
call fcn.140057380
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax]
mov ecx, 1
mov word [rax + 8], cx
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x24], 0
cmp dword [rsp + 0x30], 0
je 0x14006bc09
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x340], rax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x14006bc90
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x38]
mov r8, qword [rcx + 0x10]
mov rdx, rax
mov rcx, qword [rsp + 0x340]
call fcn.1400571f0
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x340], rax
jmp 0x14006bcaa
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x340]
call fcn.140057110
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006bcda
mov rcx, qword [rsp + 0x340]
call fcn.140060570
mov r8, rax
lea rdx, [0x14018f468]
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
jmp 0x14006d29f
movzx eax, byte [rsp + 0x48]
mov edx, eax
mov rcx, qword [rsp + 0x340]
call fcn.140056b30
mov rcx, qword [rsp + 0x340]
call fcn.140057d20
test eax, eax
je 0x14006bd04
jmp 0x14006d3eb
jmp case.0x140063660.85
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0x4e0], 0
mov eax, 4
imul rax, rax, 2
mov dword [rsp + rax + 0x4e0], 0xffffffff
mov eax, 4
imul rax, rax, 1
mov dword [rsp + rax + 0x4e0], 0xffffffff
mov eax, 4
imul rax, rax, 2
lea rax, [rsp + rax + 0x4e0]
mov ecx, 4
imul rcx, rcx, 1
lea rcx, [rsp + rcx + 0x4e0]
mov qword [rsp + 0x20], rax
mov r9, rcx
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.1400de800
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006bdbd
cmp dword [rsp + 0x30], 5
je 0x14006bda1
jmp 0x14006d29f
mov dword [rsp + 0x30], 0
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0x4e0], 1
mov dword [rsp + 0x228], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x5f0], rax
jmp 0x14006be0e
mov eax, dword [rsp + 0x228]
inc eax
mov dword [rsp + 0x228], eax
mov rax, qword [rsp + 0x5f0]
add rax, 0x38
mov qword [rsp + 0x5f0], rax
cmp dword [rsp + 0x228], 3
jge 0x14006be3a
movsxd rax, dword [rsp + 0x228]
movsxd rax, dword [rsp + rax*4 + 0x4e0]
mov rdx, rax
mov rcx, qword [rsp + 0x5f0]
call fcn.140057b50
jmp 0x14006bdea
jmp case.0x140063660.85
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x6f8], rax
mov rcx, qword [rsp + 0x6f8]
call fcn.140053b60
mov qword [rsp + 0x258], rax
mov rcx, qword [rsp + 0x258]
call fcn.14003f550
mov dword [rsp + 0x120], eax
cmp dword [rsp + 0xc0], 0xffffffff
jne 0x14006bec9
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0xc0], eax
mov rcx, qword [rsp + 0x258]
call fcn.14003f560
test eax, eax
jne 0x14006bee8
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0xc0], eax
mov edx, 1
mov rcx, qword [rsp + 0x258]
call fcn.14003f000
mov qword [rsp + 0x8a0], rax
cmp dword [rsp + 0xc0], 5
jne 0x14006bf3c
mov rcx, qword [rsp + 0x8a0]
call fcn.14002c440
test eax, eax
je 0x14006bf2e
mov rcx, qword [rsp + 0x258]
call fcn.14003f740
test eax, eax
jne 0x14006bf3c
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0x120]
cmp dword [rsp + 0xc0], eax
je 0x14006c075
cmp dword [rsp + 0x120], 5
je 0x14006bf68
cmp dword [rsp + 0xc0], 5
jne 0x14006c075
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x5f]
test eax, eax
je 0x14006bf83
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xcc], 1
jle 0x14006bfdb
mov dword [rsp + 0x30], 1
cmp dword [rsp + 0xc0], 5
jne 0x14006bfa6
lea rax, str.into
mov qword [rsp + 0x6f0], rax
jmp 0x14006bfb5
lea rax, str.out_of
mov qword [rsp + 0x6f0], rax
mov r8, qword [rsp + 0x6f0]
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
jmp 0x14006d29f
cmp dword [rsp + 0x120], 5
jne 0x14006c018
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x258]
call fcn.14003f930
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x14006c016
mov edx, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0x258]
call fcn.14003f3c0
jmp 0x14006c034
cmp dword [rsp + 0x120], 4
jne 0x14006c034
mov edx, 2
mov rcx, qword [rsp + 0x258]
call fcn.14003f3c0
cmp dword [rsp + 0x30], 0
jne 0x14006c075
cmp dword [rsp + 0xc0], 5
jne 0x14006c052
mov dword [rsp + 0x3f4], 2
jmp 0x14006c05d
mov dword [rsp + 0x3f4], 1
mov edx, dword [rsp + 0x3f4]
mov rcx, qword [rsp + 0x6f8]
call fcn.1400556a0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006c08a
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0xc0], eax
mov edx, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0x258]
call fcn.14003f3c0
mov dword [rsp + 0xc0], eax
mov eax, 0xa02
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov ecx, dword [rsp + 0xc0]
call fcn.1400a13d0
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x10]
call fcn.14002c440
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x50]
mov byte [rax + 0xa], 1
movzx eax, byte [rsp + 0x48]
mov edx, eax
mov rcx, qword [rsp + 0x50]
call fcn.140056b30
cmp dword [rsp + 0x30], 0
je 0x14006c104
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
je 0x14006c136
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x700], rax
jmp 0x14006c142
mov qword [rsp + 0x700], 0
mov rax, qword [rsp + 0xa90]
add rax, 0xa8
mov r9, qword [rsp + 0x700]
mov rcx, qword [rsp + 0x38]
mov r8d, dword [rcx + 4]
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.1400ba9f0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006c17e
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x8a8], rax
mov rcx, qword [rsp + 0x8a8]
call fcn.140049c30
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006c1d7
cmp dword [rsp + 0x30], 0x65
je 0x14006c1ca
jmp 0x14006d29f
mov dword [rsp + 0x30], 0
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
jne 0x14006c1fb
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 8]
mov rcx, qword [rsp + 0x40]
call fcn.14005fe30
jmp 0x14006c22b
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
inc eax
and eax, 3
mov rcx, qword [rsp + 0xa90]
mov ecx, dword [rcx + 0xc8]
and ecx, 0xfffffffc
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0xc8], eax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x5f8], rax
mov rdx, qword [rsp + 0x5f8]
mov rcx, qword [rsp + 0x40]
call fcn.1400bcf60
mov dword [rsp + 0x30], eax
cmp qword [rsp + 0x5f8], 0
je 0x14006c27b
mov rax, qword [rsp + 0x5f8]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0xa90]
call fcn.140060010
cmp dword [rsp + 0x30], 0
je 0x14006c287
jmp 0x14006d29f
jmp case.0x140063660.85
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0x9c0]
call fcn.140161800
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x9e8], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0x9c0]
call fcn.140057e90
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x9c0]
call fcn.140060570
mov qword [rsp + 0x708], rax
cmp qword [rsp + 0x708], 0
je 0x14006c329
mov rax, qword [rsp + 0xa90]
add rax, 0xa8
mov r9, rax
mov r8, qword [rsp + 0x708]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.1400bc7e0
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x9c0]
call fcn.140057380
cmp dword [rsp + 0x30], 0
je 0x14006c342
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xd8]
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0xd8], eax
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.1400bcc10
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xd8]
dec eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0xd8], eax
cmp dword [rsp + 0x30], 0
je 0x14006c3a2
jmp 0x14006d29f
jmp case.0x140063660.85
mov qword [rsp + 0x630], 0
mov qword [rsp + 0x4d0], 0
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x250], rax
cmp qword [rsp + 0x250], 0
je 0x14006c3ed
mov rax, qword [rsp + 0x250]
cmp qword [rax], 0
jne 0x14006c3fa
mov dword [rsp + 0x30], 6
jmp 0x14006d29f
mov rax, qword [rsp + 0x250]
mov rax, qword [rax]
mov qword [rsp + 0x710], rax
lea rdx, [rsp + 0x4d0]
mov rcx, qword [rsp + 0x250]
mov rax, qword [rsp + 0x710]
call qword [rax + 0x30]
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x250]
mov rcx, qword [rsp + 0xa90]
call fcn.140060010
cmp dword [rsp + 0x30], 0
je 0x14006c44d
jmp 0x14006d29f
mov rax, qword [rsp + 0x4d0]
mov rcx, qword [rsp + 0x250]
mov qword [rax], rcx
mov byte [rsp + 0x20], 2
mov r9d, 0xffffffff
xor r8d, r8d
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
call fcn.140062e30
mov qword [rsp + 0x630], rax
cmp qword [rsp + 0x630], 0
je 0x14006c4c4
mov rax, qword [rsp + 0x630]
mov rcx, qword [rsp + 0x4d0]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x250]
mov eax, dword [rax + 8]
inc eax
mov rcx, qword [rsp + 0x250]
mov dword [rcx + 8], eax
jmp 0x14006c4dc
mov rcx, qword [rsp + 0x4d0]
mov rax, qword [rsp + 0x710]
call qword [rax + 0x38]
jmp 0x14006d40c
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x718], rax
mov eax, 0x38
imul rax, rax, 1
mov rcx, qword [rsp + 0x718]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x720], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x740], rax
mov rax, qword [rsp + 0x740]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x608], rax
mov rax, qword [rsp + 0x608]
mov rax, qword [rax]
mov qword [rsp + 0x730], rax
mov rax, qword [rsp + 0x730]
mov rax, qword [rax]
mov qword [rsp + 0x738], rax
mov rax, qword [rsp + 0x720]
mov eax, dword [rax]
mov dword [rsp + 0x3f8], eax
mov rax, qword [rsp + 0x718]
mov eax, dword [rax]
mov dword [rsp + 0x518], eax
mov dword [rsp + 0x3fc], 0
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x70]
mov qword [rsp + 0x728], rax
mov dword [rsp + 0x1c8], 0
jmp 0x14006c5d9
mov eax, dword [rsp + 0x1c8]
inc eax
mov dword [rsp + 0x1c8], eax
mov eax, dword [rsp + 0x3f8]
cmp dword [rsp + 0x1c8], eax
jge 0x14006c61c
mov eax, dword [rsp + 0x1c8]
inc eax
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x720]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x1c8]
mov rdx, qword [rsp + 0x728]
mov qword [rdx + rcx*8], rax
jmp 0x14006c5c9
mov rax, qword [rsp + 0x728]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x3f8]
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
mov edx, dword [rsp + 0x518]
mov rcx, qword [rsp + 0x608]
mov rax, qword [rsp + 0x738]
call qword [rax + 0x40]
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x730]
mov rcx, qword [rsp + 0xa90]
call fcn.140060010
cmp dword [rsp + 0x30], 0
je 0x14006c679
jmp 0x14006d29f
mov rcx, qword [rsp + 0x608]
mov rax, qword [rsp + 0x738]
call qword [rax + 0x50]
mov dword [rsp + 0x3fc], eax
mov rax, qword [rsp + 0x740]
mov byte [rax + 2], 0
cmp dword [rsp + 0x3fc], 0
je 0x14006c6ae
jmp 0x1400636f0
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x610], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1f0], rax
mov rax, qword [rsp + 0x610]
movzx eax, byte [rax + 2]
test eax, eax
je 0x14006c716
mov rcx, qword [rsp + 0x1f0]
call fcn.140057a40
jmp case.0x140063660.85
mov rax, qword [rsp + 0x610]
mov rax, qword [rax + 0x38]
mov rax, qword [rax]
mov qword [rsp + 0x748], rax
mov rax, qword [rsp + 0x748]
mov rax, qword [rax]
mov qword [rsp + 0x8b0], rax
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0x9f8]
call fcn.140161800
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x9f8], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 1
test eax, eax
je 0x14006c7a3
mov rcx, qword [rsp + 0x1f0]
call fcn.140057a40
mov eax, 0x4001
mov rcx, qword [rsp + 0x1f0]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x1f0]
mov dword [rax], 0
jmp 0x14006c7c3
mov rax, qword [rsp + 0x1f0]
movzx eax, word [rax + 8]
and eax, 0xffff3e40
or eax, 1
mov rcx, qword [rsp + 0x1f0]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 8]
lea rdx, [rsp + 0x9f8]
mov rax, qword [rsp + 0x610]
mov rcx, qword [rax + 0x38]
mov rax, qword [rsp + 0x8b0]
call qword [rax + reloc.WLDAP32.dll_Ordinal_88]
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x748]
mov rcx, qword [rsp + 0xa90]
call fcn.140060010
cmp dword [rsp + 0xa1c], 0
jle 0x14006c83d
mov rcx, qword [rsp + 0x1f0]
call fcn.140060570
mov r8, rax
lea rdx, [0x14018f468]
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
mov eax, dword [rsp + 0xa1c]
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0x48]
mov edx, eax
mov rcx, qword [rsp + 0x1f0]
call fcn.140056b30
mov rcx, qword [rsp + 0x1f0]
call fcn.140057d20
test eax, eax
je 0x14006c867
jmp 0x14006d3eb
cmp dword [rsp + 0x30], 0
je 0x14006c873
jmp 0x14006d29f
jmp case.0x140063660.85
mov dword [rsp + 0x404], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4d8], rax
mov rax, qword [rsp + 0x4d8]
movzx eax, byte [rax + 2]
test eax, eax
je 0x14006c8b9
jmp case.0x140063660.85
mov rax, qword [rsp + 0x4d8]
mov rax, qword [rax + 0x38]
mov rax, qword [rax]
mov qword [rsp + 0x750], rax
mov rax, qword [rsp + 0x750]
mov rax, qword [rax]
mov qword [rsp + 0x758], rax
mov rax, qword [rsp + 0x4d8]
mov rcx, qword [rax + 0x38]
mov rax, qword [rsp + 0x758]
call qword [rax + Ordinal_73]
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x750]
mov rcx, qword [rsp + 0xa90]
call fcn.140060010
cmp dword [rsp + 0x30], 0
je 0x14006c91f
jmp 0x14006d29f
mov rax, qword [rsp + 0x4d8]
mov rcx, qword [rax + 0x38]
mov rax, qword [rsp + 0x758]
call qword [rax + 0x50]
mov dword [rsp + 0x404], eax
cmp dword [rsp + 0x404], 0
jne 0x14006c94c
jmp case.0x140063660.10
jmp 0x140063685
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
and rax, 0x4000000
mov dword [rsp + 0x514], eax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
bts rax, 0x1a
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x618], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x760], rax
mov edx, 1
mov rcx, qword [rsp + 0x760]
call fcn.140056b30
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14006c9d5
jmp 0x14006d29f
mov rax, qword [rsp + 0x618]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x760]
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rsp + 0x618]
call qword [rax + Ordinal_157]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x514], 0
jne 0x14006ca1f
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
btr rax, 0x1a
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x30], rax
mov rdx, qword [rsp + 0x618]
mov rcx, qword [rsp + 0xa90]
call fcn.140060010
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0xc8]
and eax, 0xfffffffc
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0xc8], eax
cmp dword [rsp + 0x30], 0
je 0x14006ca5f
jmp 0x14006d29f
jmp case.0x140063660.85
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x61]
test eax, eax
je 0x14006ca76
jmp 0x14006d40c
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x458], rax
cmp qword [rsp + 0x458], 0
je 0x14006caa4
mov rax, qword [rsp + 0x458]
cmp qword [rax], 0
jne 0x14006cab1
mov dword [rsp + 0x30], 6
jmp 0x14006d29f
mov rax, qword [rsp + 0x458]
mov rax, qword [rax]
mov qword [rsp + 0x770], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x408], eax
mov rax, qword [rsp + 0x770]
cmp qword [rax + 0x68], 0
je 0x14006ccae
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x66]
mov byte [rsp + 0x128], al
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0x70]
mov qword [rsp + 0x768], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x620], rax
mov dword [rsp + 0x1f8], 0
jmp 0x14006cb47
mov eax, dword [rsp + 0x1f8]
inc eax
mov dword [rsp + 0x1f8], eax
mov eax, dword [rsp + 0x408]
cmp dword [rsp + 0x1f8], eax
jge 0x14006cb89
movsxd rax, dword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x768]
mov rdx, qword [rsp + 0x620]
mov qword [rcx + rax*8], rdx
mov rax, qword [rsp + 0x620]
add rax, 0x38
mov qword [rsp + 0x620], rax
jmp 0x14006cb37
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
movzx ecx, byte [rcx + 2]
mov byte [rax + 0x66], cl
lea r9, [rsp + 0x8b8]
mov r8, qword [rsp + 0x768]
mov edx, dword [rsp + 0x408]
mov rcx, qword [rsp + 0x458]
mov rax, qword [rsp + 0x770]
call qword [rax + 0x68]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rsp + 0x128]
mov byte [rax + 0x66], cl
mov rdx, qword [rsp + 0x458]
mov rcx, qword [rsp + 0xa90]
call fcn.140060010
cmp dword [rsp + 0x30], 0
jne 0x14006cc10
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x14006cc10
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x8b8]
mov qword [rax + 0x38], rcx
mov eax, dword [rsp + 0x30]
and eax, 0xff
cmp eax, 0x13
jne 0x14006cc8a
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
movzx eax, byte [rax + 0x1c]
test eax, eax
je 0x14006cc8a
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
cmp eax, 4
jne 0x14006cc47
mov dword [rsp + 0x30], 0
jmp 0x14006cc88
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
cmp eax, 5
jne 0x14006cc62
mov dword [rsp + 0x40c], 2
jmp 0x14006cc72
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
mov dword [rsp + 0x40c], eax
mov rax, qword [rsp + 0xa90]
movzx ecx, byte [rsp + 0x40c]
mov byte [rax + 0xc2], cl
jmp 0x14006cca2
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0x3c]
inc eax
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + 0x3c], eax
cmp dword [rsp + 0x30], 0
je 0x14006ccae
jmp 0x14006d29f
jmp case.0x140063660.85
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + rax + 8]
call fcn.140047850
mov eax, eax
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
jmp case.0x140063660.85
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa90]
call fcn.140063460
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x778], rax
mov dword [rsp + 0x1fc], 0
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x14006cd7d
mov rcx, qword [rsp + 0x778]
call fcn.140047850
mov dword [rsp + 0x1fc], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
cmp dword [rsp + 0x1fc], eax
jae 0x14006cd7d
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x1fc], eax
mov edx, dword [rsp + 0x1fc]
mov rcx, qword [rsp + 0x778]
call fcn.140048490
cdqe
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
jmp case.0x140063660.85
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
mov dword [rsp + 0x410], eax
mov eax, dword [rsp + 0x410]
dec eax
cdqe
lea rax, [rax*8 + 0x38]
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.140027980
mov qword [rsp + 0x248], rax
cmp qword [rsp + 0x248], 0
jne 0x14006cde8
jmp 0x14006d40c
mov rax, qword [rsp + 0x248]
mov qword [rax], 0
mov rax, qword [rsp + 0x248]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, reloc.ODBC32.dll_SQLAllocHandle
idiv rcx
mov rcx, qword [rsp + 0x248]
mov dword [rcx + 0x20], eax
mov rax, qword [rsp + 0x248]
mov rcx, qword [rsp + 0xa90]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x248]
mov dword [rax + 0x24], 0
mov rax, qword [rsp + 0x248]
movzx ecx, byte [rsp + 0x410]
mov byte [rax + 0x29], cl
mov rax, qword [rsp + 0x38]
mov byte [rax + 1], 0xf0
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x248]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
add eax, 2
mov rcx, qword [rsp + 0x38]
mov byte [rcx], al
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x50]
cmp qword [rax], rcx
je 0x14006cf4e
mov rax, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
mov rax, qword [rsp + 0x168]
movzx eax, byte [rax + 0x29]
dec eax
mov dword [rsp + 0x190], eax
jmp 0x14006cf0d
mov eax, dword [rsp + 0x190]
dec eax
mov dword [rsp + 0x190], eax
cmp dword [rsp + 0x190], 0
jl 0x14006cf4e
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
add eax, dword [rsp + 0x190]
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x190]
mov rdx, qword [rsp + 0x168]
mov qword [rdx + rcx*8 + 0x30], rax
jmp 0x14006cefd
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0xffff3e40
or eax, 1
mov rcx, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x168]
add rax, 0x30
mov rcx, qword [rsp + 0x168]
movzx ecx, byte [rcx + 0x29]
mov rdx, qword [rsp + 0x168]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x8c0], rdx
mov r8, rax
mov edx, ecx
mov rcx, qword [rsp + 0x168]
mov rax, qword [rsp + 0x8c0]
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov rax, qword [rsp + 0x168]
cmp dword [rax + 0x24], 0
je 0x14006d047
mov rax, qword [rsp + 0x168]
cmp dword [rax + 0x24], 0
jle 0x14006cffc
mov rcx, qword [rsp + 0x50]
call fcn.140060570
mov r8, rax
lea rdx, [0x14018f468]
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
mov rax, qword [rsp + 0x168]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xa90]
add rax, 0x120
mov rcx, qword [rsp + 0x38]
mov r9d, dword [rcx + 4]
mov rcx, qword [rsp + 0x168]
mov r8d, dword [rcx + 0x20]
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.14005d470
mov rax, qword [rsp + 0x168]
mov dword [rax + 0x24], 0
cmp dword [rsp + 0x30], 0
je 0x14006d047
jmp 0x14006d29f
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 8]
and eax, 0x12
test eax, eax
je 0x14006d07b
movzx eax, byte [rsp + 0x48]
mov edx, eax
mov rcx, qword [rsp + 0x50]
call fcn.140056b30
mov rcx, qword [rsp + 0x50]
call fcn.140057d20
test eax, eax
je 0x14006d07b
jmp 0x14006d3eb
jmp case.0x140063660.85
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x68]
and eax, 1
test eax, eax
je 0x14006d1a0
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0xc8]
shr eax, 4
and eax, 1
test eax, eax
jne 0x14006d1a0
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0
je 0x14006d0cf
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x780], rax
jmp 0x14006d0e6
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax + 0xf0]
mov qword [rsp + 0x780], rax
mov rax, qword [rsp + 0x780]
mov qword [rsp + 0x628], rax
cmp qword [rsp + 0x628], 0
je 0x14006d1a0
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xd4], 1
jle 0x14006d174
mov r8, qword [rsp + 0x628]
lea rdx, str.____s
mov rcx, qword [rsp + 0x40]
call fcn.14002add0
mov qword [rsp + 0x788], rax
mov r9, qword [rsp + 0x788]
mov r8, qword [rsp + 0xa90]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0xf0]
mov ecx, 1
mov rax, qword [rsp + 0x40]
call qword [rax + 0xe8]
mov rdx, qword [rsp + 0x788]
mov rcx, qword [rsp + 0x40]
call fcn.140027660
jmp 0x14006d1a0
mov r9, qword [rsp + 0x628]
mov r8, qword [rsp + 0xa90]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0xf0]
mov ecx, 1
mov rax, qword [rsp + 0x40]
call qword [rax + 0xe8]
mov rax, qword [rsp + 0x38]
mov ecx, dword [0x1401d5ec0]
cmp dword [rax + 4], ecx
jl 0x14006d251
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0xa8
jne 0x14006d1c8
jmp case.0x140063660.85
mov dword [rsp + 0x194], 1
jmp 0x14006d1e5
mov eax, dword [rsp + 0x194]
inc eax
mov dword [rsp + 0x194], eax
mov rax, qword [rsp + 0xa90]
mov eax, dword [rax + 0x90]
cmp dword [rsp + 0x194], eax
jge 0x14006d245
movsxd rax, dword [rsp + 0x194]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x88]
movzx eax, byte [rcx + rax]
cmp eax, 0x11
jne 0x14006d243
movsxd rax, dword [rsp + 0x194]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0x88]
mov dword [rcx + rax + 4], 0
jmp 0x14006d1d5
mov rax, qword [rsp + 0x38]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
inc eax
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 4], eax
mov eax, 4
imul rax, rax, 6
mov rcx, qword [rsp + 0xa90]
mov eax, dword [rcx + rax + 0xd4]
inc eax
mov ecx, 4
imul rcx, rcx, 6
mov rdx, qword [rsp + 0xa90]
mov dword [rdx + rcx + 0xd4], eax
jmp 0x1400636f0
jmp 0x1400635fe
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x61]
test eax, eax
je 0x14006d2b4
mov dword [rsp + 0x30], 7
mov rax, qword [rsp + 0xa90]
cmp qword [rax + 0xa8], 0
jne 0x14006d2f0
cmp dword [rsp + 0x30], 0xc0a
je 0x14006d2f0
mov ecx, dword [rsp + 0x30]
call fcn.1400dd750
mov r8, rax
lea rdx, [0x14018f468]
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
mov rax, qword [rsp + 0xa90]
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0x38], ecx
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
call fcn.14002c550
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, reloc.ODBC32.dll_SQLAllocHandle
idiv rcx
mov rcx, qword [rsp + 0xa90]
mov rcx, qword [rcx + 0xa8]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0xa90]
mov r9, qword [rcx + 0xf0]
mov r8d, eax
lea rdx, str.statement_aborts_at__d:___s___s
mov ecx, dword [rsp + 0x30]
call fcn.14002b050
mov rcx, qword [rsp + 0xa90]
call fcn.14005cc80
cmp dword [rsp + 0x30], 0xc0a
jne 0x14006d381
mov rcx, qword [rsp + 0x40]
call fcn.140027e90
mov dword [rsp + 0x30], 1
movzx eax, byte [rsp + 0xb0]
test eax, eax
jle 0x14006d3ab
movzx eax, byte [rsp + 0xb0]
dec eax
mov edx, eax
mov rcx, qword [rsp + 0x40]
call fcn.140088aa0
mov eax, 4
imul rax, rax, 4
mov rcx, qword [rsp + 0xa90]
mov eax, dword [rcx + rax + 0xd4]
add eax, dword [rsp + 0x2dc]
mov ecx, 4
imul rcx, rcx, 4
mov rdx, qword [rsp + 0xa90]
mov dword [rdx + rcx + 0xd4], eax
mov eax, dword [rsp + 0x30]
jmp 0x14006d49b
lea rdx, str.string_or_blob_too_big
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
mov dword [rsp + 0x30], SQLAllocHandle
jmp 0x14006d29f
mov rcx, qword [rsp + 0x40]
call fcn.140027e90
lea rdx, str.out_of_memory
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
mov dword [rsp + 0x30], 7
jmp 0x14006d29f
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x61]
test eax, eax
je 0x14006d451
mov dword [rsp + 0x414], 7
jmp 0x14006d45c
mov dword [rsp + 0x414], 9
mov eax, dword [rsp + 0x414]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xa90]
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0x38], ecx
mov ecx, dword [rsp + 0x30]
call fcn.1400dd750
mov r8, rax
lea rdx, [0x14018f468]
mov rcx, qword [rsp + 0xa90]
call fcn.140058ee0
jmp 0x14006d29f
add rsp, 0xa78
pop rdi
pop rsi
ret