Function at 0x1401688a0
Capabilities:
Parse credit card information
Reference sql statements

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push r13
lea rbp, [rax - 0x348]
sub rsp, 0x430
mov qword [rax - 0x20], rsi
mov r13, rcx
mov qword [rax - 0x28], rdi
xor sil, sil
mov qword [rax - 0x30], r12
xor r12d, r12d
mov qword [rax - 0x38], r14
mov r14, qword [rcx]
mov qword [rax - 0x40], r15
mov r15, qword [rcx + 0x10]
movaps xmmword [rax - 0x58], xmm6
mov rax, qword [rcx + 8]
movzx edi, byte [r14 + 0x4e]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x40], rax
mov rax, qword [r14 + 0x30]
mov byte [rbp + 0x360], dil
mov edi, r12d
mov dword [rbp + 0x368], r12d
mov qword [rsp + 0x58], r14
mov byte [rbp + 0x358], sil
mov dword [rbp - 0x50], r12d
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x6c], r12d
mov qword [rsp + 0x60], r15
mov qword [rbp + 8], r12
mov qword [rbp - 0x58], rax
call fcn.140168770
cmp dword [r13 + 0x84], 7
lea r11d, [r12 + 1]
je 0x14016a97f
mov dword [r13 + 0x84], r12d
mov qword [r13 + 0xc0], r12
mov qword [r13 + 0x28], r12
mov eax, dword [r14 + 0x148]
mov dword [r14 + 0x2b8], r12d
test eax, eax
jne 0x14016f00b
cmp qword [r14 + 0x190], rdi
je 0x140168996
mov r8d, dword [r14 + 0x1a0]
xor edx, edx
mov eax, dword [r13 + 0xb0]
div r8d
sub r8d, edx
mov dword [rsp + 0x6c], r8d
jmp 0x140168999
mov r8d, edi
movsxd rax, dword [r13 + 0x80]
xorps xmm6, xmm6
mov r10, qword [rsp + 0x50]
lea rcx, [rax + rax*2]
lea rcx, [r10 + rcx*8]
mov qword [rsp + 0x40], rcx
mov rsi, qword [rsp + 0x40]
mov ecx, dword [rbp + 0x368]
mov r9d, 0xffffffff
cmp byte [r14 + 0x51], 0
mov edx, 0x65
jne 0x14016a978
inc edi
mov dword [rsp + 0x48], edi
movzx edi, byte [rsi]
lea ebx, [rdi - 1]
cmp ebx, 0x9d
ja case.default.0x140168a09
movsxd rax, ebx
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x16f058]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
sub rcx, r10
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r15 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r15], rax
jmp 0x14016c335
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r15]
lea rcx, [rax + rax*2]
mov eax, 0x80
lea rcx, [r10 + rcx*8]
mov word [rdx + r15 + 8], ax
mov qword [rsp + 0x40], rcx
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov qword [rcx + r15], rax
mov eax, 4
mov word [rcx + r15 + 8], ax
cmp dword [rsi + 8], 0
jne 0x14016c335
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r15]
lea rcx, [rax + rax*2]
mov eax, dword [r10 + rcx*8 + 8]
dec eax
cdqe
jmp 0x140168a62
mov rbx, qword [rsp + 0x40]
movsxd rax, dword [rbx + 4]
sub rbx, r10
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + r15]
mov word [r8 + r15 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea rcx, [r10 + rcx*8]
mov qword [rsp + 0x40], rcx
mov rax, rdx
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r15], rax
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
je 0x140168a7a
mov rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r10
imul rcx
mov rcx, qword [rsp + 0x40]
mov rbx, rdx
sar rbx, 2
mov rax, rbx
mov edx, dword [rcx + 4]
shr rax, 0x3f
add rbx, rax
test edx, edx
jne 0x14016eba1
mov rcx, qword [r13 + 0xf0]
test rcx, rcx
je 0x14016eb9c
mov rax, qword [rcx + 8]
dec dword [r13 + 0x100]
mov qword [r13 + 0xf0], rax
mov eax, dword [r13 + 0x90]
add dword [r14 + 0x64], eax
mov dword [r14 + 0x60], eax
call fcn.14016f860
mov rcx, qword [rsp + 0x40]
mov rdx, qword [r14 + 0x30]
mov r10, qword [r13 + 8]
mov qword [rbp - 0x58], rdx
cmp dword [rcx + 8], 4
mov qword [rsp + 0x50], r10
jne 0x140168bfa
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [r10 + rcx*8 + 8]
dec eax
mov r15, qword [r13 + 0x10]
cdqe
mov qword [rsp + 0x60], r15
lea rcx, [rax + rax*2]
lea rcx, [r10 + rcx*8]
mov qword [rsp + 0x40], rcx
mov rsi, qword [rsp + 0x40]
mov ecx, dword [rbp + 0x368]
mov r11d, 1
mov edi, dword [rsp + 0x48]
mov r13, qword [rbp + 0x350]
add rsi, 0x18
mov qword [rsp + 0x40], rsi
test ecx, ecx
jne 0x14016ad32
mov r8d, dword [rsp + 0x6c]
jmp 0x1401689c0
mov rdx, qword [rsp + 0x40]
mov rcx, r13
call fcn.14012d140
mov rcx, rax
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
mov r11d, 1
jmp case.default.0x140168a09
mov rdx, qword [rsp + 0x40]
mov rcx, r13
call fcn.14012d140
mov rdx, rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140168c65
mov rdx, qword [rsp + 0x40]
mov rcx, r13
call fcn.14012d140
mov rdx, rax
mov eax, 8
mov word [rdx + 8], ax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140168c65
mov rdx, qword [rsp + 0x40]
mov rcx, r13
call fcn.14012d140
mov rcx, qword [rsp + 0x40]
mov rbx, rax
mov rdx, qword [rcx + 0x10]
mov byte [rcx], 0x19
test rdx, rdx
jne 0x140168cee
mov eax, r12d
jmp 0x140168d03
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x140168cf5
and eax, 0x3fffffff
movzx edi, byte [rbp + 0x360]
mov dword [rcx + 4], eax
cmp dil, 1
je 0x140168d97
mov r9b, 1
mov qword [rsp + 0x20], r12
mov r8d, 0xffffffff
mov rcx, rbx
call fcn.140171100
mov dword [rbp + 0x368], eax
cmp eax, 0x12
je 0x14016efeb
test byte [rbx + 8], 2
je 0x140168d5c
cmp byte [rbx + 0xa], dil
je 0x140168d5c
movzx edx, dil
mov rcx, rbx
call fcn.140171520
test eax, eax
jne 0x14016a978
mov rcx, qword [rsp + 0x40]
mov eax, 0x800
or word [rbx + 8], ax
mov dword [rbx + 0x20], r12d
cmp byte [rcx + 1], 0xff
jne 0x140168d85
mov rdx, qword [rcx + 0x10]
mov rcx, r14
call fcn.140141ef0
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 1], 0xff
mov rax, qword [rbx + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rcx + 4], eax
cmp eax, dword [r14 + 0x68]
jg 0x14016efeb
jmp 0x140168daa
movzx edi, byte [rbp + 0x360]
mov rbx, qword [rsp + 0x40]
mov rcx, r13
mov rdx, rbx
call fcn.14012d140
mov ecx, 0xa02
mov word [rax + 8], cx
mov rcx, qword [rbx + 0x10]
mov qword [rax + 0x10], rcx
mov ecx, dword [rbx + 4]
mov dword [rax + 0xc], ecx
mov byte [rax + 0xa], dil
cmp byte [rbx + 3], 0
je 0x14016b3f5
movsxd rcx, dword [rbx + 0xc]
mov rsi, rbx
mov r10, qword [rsp + 0x50]
mov r11d, 1
mov edi, dword [rsp + 0x48]
imul rdx, rcx, 0x38
cmp qword [rdx + r15], 0
je 0x140168e09
mov ecx, 0xa10
mov word [rax + 8], cx
mov ecx, dword [rbp + 0x368]
jmp 0x140168c27
mov rbx, qword [rsp + 0x40]
mov rcx, r13
mov rdx, rbx
call fcn.14012d140
cmp dword [rbx + 4], 0
mov r11d, 1
mov edi, dword [rbx + 0xc]
mov esi, r11d
mov ecx, dword [rbx + 8]
mov edx, 0x101
cmovne si, dx
lea rbx, [rax + 8]
sub edi, ecx
mov word [rbx], si
test edi, edi
jle 0x14016c556
mov eax, 0x2460
test word [rbx + 0x38], ax
lea rbx, [rbx + 0x38]
je 0x140168e6e
lea rcx, [rbx - 8]
call fcn.14017c8f0
mov eax, 0x2460
dec edi
mov word [rbx], si
test edi, edi
jg 0x140168e56
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xff7f
add rcx, r15
and word [rcx + 8], ax
or word [rcx + 8], 1
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rdx, qword [rsp + 0x40]
mov rcx, r13
call fcn.14012d140
mov rbx, rax
mov qword [rsp + 0x20], r12
mov rax, qword [rsp + 0x40]
xor r9d, r9d
mov rcx, rbx
mov r8d, dword [rax + 4]
mov rdx, qword [rax + 0x10]
call fcn.140171100
movzx eax, byte [rbp + 0x360]
mov byte [rbx + 0xa], al
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov rax, qword [r13 + 0x68]
add rbx, rax
movzx eax, word [rbx - 0x30]
test al, 0x12
je 0x140168f1f
mov ecx, dword [rbx - 0x2c]
mov edx, 0x4000
test dx, ax
je 0x140168f12
add ecx, dword [rbx - 0x38]
mov rax, qword [rbx - 0x10]
cmp ecx, dword [rax + 0x68]
jg 0x14016efeb
mov rdx, qword [rsp + 0x40]
mov rcx, r13
call fcn.14012d140
mov r8d, 0x800
lea rdx, [rbx - 0x38]
mov rcx, rax
call fcn.1401713b0
jmp 0x140168c65
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r15
add rbx, r15
mov rdx, rdi
mov rcx, rbx
call fcn.140170e40
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140168f87
mov rcx, rbx
call fcn.140170da0
test eax, eax
jne 0x14016a978
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x140168f61
jmp 0x140168c65
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r15
add rbx, r15
nop word [rax + rax]
mov r8d, 0x1000
mov rdx, rdi
mov rcx, rbx
call fcn.1401713b0
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140168fec
mov rcx, rbx
call fcn.140170da0
test eax, eax
jne 0x14016a978
mov eax, esi
dec esi
test eax, eax
je 0x140168c65
add rbx, 0x38
add rdi, 0x38
jmp 0x140168fc0
mov rcx, qword [rsp + 0x40]
mov r8d, 0x1000
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r15
add rcx, r15
call fcn.1401713b0
jmp 0x140168c65
mov rax, qword [r14 + 0x190]
test rax, rax
je 0x140169055
cmp dword [rsp + 0x48], r8d
jb 0x140169055
mov rcx, qword [r14 + 0x198]
call rax
test eax, eax
jne 0x14016ec7e
lea r11d, [rax + 1]
cmp qword [r13 + 0xc8], 0
mov rcx, r13
jg 0x14016ec88
mov edx, r11d
call fcn.1401682e0
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x140168c70
mov eax, dword [r13 + 0x7c]
mov rdx, qword [rsp + 0x40]
add eax, 2
or eax, 1
mov dword [r13 + 0x7c], eax
movsxd rax, dword [rdx + 4]
imul rdi, rax, 0x38
add rdi, r15
mov qword [r13 + 0x28], rdi
cmp dword [rdx + 8], ecx
jle 0x1401690fd
lea rbx, [rdi + 8]
mov esi, 0x202
nop
mov eax, 0x1000
test word [rbx], ax
je 0x1401690d6
movsxd rax, r12d
imul rcx, rax, 0x38
add rcx, rdi
call fcn.140170da0
test eax, eax
jne 0x14016a978
mov rdx, qword [rsp + 0x40]
movzx eax, word [rbx]
and ax, si
cmp ax, 2
jne 0x1401690f0
lea rcx, [rbx - 8]
call fcn.14017c7e0
mov rdx, qword [rsp + 0x40]
inc r12d
add rbx, 0x38
cmp r12d, dword [rdx + 8]
jl 0x1401690b0
cmp byte [r14 + 0x51], 0
jne 0x14016a978
sub rdx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdx
mov ebx, 0x64
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r13 + 0x80], edx
jmp 0x14016ade5
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rsi, r15
imul rbx, rax, 0x38
movzx ecx, word [rsi + 8]
add rdi, r15
movzx eax, cl
add rbx, r15
or al, byte [rdi + 8]
test al, 1
je 0x14016919c
mov eax, 0x2460
test word [rbx + 8], ax
je 0x140169187
mov rcx, rbx
call fcn.14017c8f0
jmp 0x140168c65
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
mov word [rbx + 8], r11w
jmp case.default.0x140168a09
mov r15d, 0x4000
test r15w, cx
je 0x1401691b8
mov rcx, rsi
call fcn.140170a40
test eax, eax
jne 0x14016a978
test word [rdi + 8], r15w
je 0x1401691cf
mov rcx, rdi
call fcn.140170a40
test eax, eax
jne 0x14016a978
test byte [rsi + 8], 0x12
movzx r15d, byte [rbp + 0x360]
jne 0x1401691f4
xor r8d, r8d
movzx edx, r15b
mov rcx, rsi
call fcn.1401713f0
test eax, eax
jne 0x14016a978
test byte [rdi + 8], 0x12
jne 0x140169211
xor r8d, r8d
movzx edx, r15b
mov rcx, rdi
call fcn.1401713f0
test eax, eax
jne 0x14016a978
mov rcx, qword [rsp + 0x58]
mov r14d, dword [rsi + 0xc]
add r14d, dword [rdi + 0xc]
movsxd r15, r14d
movsxd rax, dword [rcx + 0x68]
cmp r15, rax
jg 0x14016efeb
mov r8d, r12d
lea edx, [r14 + 2]
cmp rbx, rdi
mov rcx, rbx
sete r8b
call fcn.140170be0
test eax, eax
jne 0x14016a6ff
mov eax, 0xbe02
and word [rbx + 8], ax
or word [rbx + 8], 2
cmp rbx, rdi
je 0x140169270
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.1402496a0
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [rsi + 0xc]
mov rdx, qword [rsi + 0x10]
call fcn.1402496a0
mov rax, qword [rbx + 0x10]
mov byte [r15 + rax], 0
mov rax, qword [rbx + 0x10]
mov byte [r15 + rax + 1], 0
mov eax, 0x200
or word [rbx + 8], ax
movzx eax, byte [rbp + 0x360]
mov byte [rbx + 0xa], al
mov dword [rbx + 0xc], r14d
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
mov r11d, 1
mov r10, qword [rsp + 0x50]
jmp case.default.0x140168a09
mov rbx, qword [rsp + 0x40]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, r15
movzx eax, word [rdi + 8]
movzx r12d, ax
and r12w, 0xc
jne 0x140169308
test al, 0x12
je 0x140169305
mov rcx, rdi
call fcn.14011d1a0
movzx r12d, ax
jmp 0x140169308
xor r12d, r12d
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
lea rsi, [rcx + r15]
movzx ecx, word [rcx + r15 + 8]
test cl, 0xc
je 0x140169325
movzx r14d, cx
jmp 0x14016933f
test cl, 0x12
je 0x14016933c
mov rcx, rsi
call fcn.14011d1a0
movzx ecx, word [rsi + 8]
movzx r14d, ax
jmp 0x14016933f
xor r14d, r14d
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
movzx eax, byte [rdi + 8]
add rbx, r15
or al, cl
test al, 1
jne 0x140169674
movzx eax, r14b
and al, r12b
test al, 4
je 0x1401695a5
mov rax, qword [rsp + 0x40]
mov r15b, 1
mov r10, qword [rdi]
mov r8, qword [rsi]
movzx ecx, byte [rax]
sub ecx, 0x59
je 0x140169530
sub ecx, 1
je 0x1401694b4
sub ecx, 1
je 0x1401693ed
cmp ecx, 1
je 0x1401693bb
test r10, r10
je 0x14016966f
cmp r10, 0xffffffffffffffff
mov rax, r8
mov r11d, 1
cqo
cmove r10, r11
idiv r10
mov r8, rdx
jmp 0x140169572
test r10, r10
je 0x14016966f
cmp r10, 0xffffffffffffffff
jne 0x1401693dd
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x1401695a8
mov rax, r8
cqo
idiv r10
mov r8, rax
jmp 0x14016956c
mov r13d, 0xffffffff
mov rax, r8
cqo
and rdx, r13
add rax, rdx
mov rcx, rax
and rax, r13
sub rax, rdx
sar rcx, 0x20
mov r11, rax
mov rax, r10
cqo
and rdx, r13
add rax, rdx
mov r9, rax
and rax, r13
sub rax, rdx
sar r9, 0x20
mov rdx, rax
test rcx, rcx
jne 0x140169442
test r9, r9
jne 0x14016943c
imul r8, r10
jmp 0x14016956c
imul r9, r11
jmp 0x140169452
test r9, r9
jne 0x1401695a8
mov r9, rdx
imul r9, rcx
mov eax, 0x80000000
add rax, r9
cmp rax, r13
ja 0x1401695a8
imul rdx, r11
shl r9, 0x20
test rdx, rdx
js 0x14016948c
test r9, r9
jle 0x1401694ab
movabs rax, 0x7fffffffffffffff
sub rax, r9
cmp rax, rdx
jge 0x1401694ab
jmp 0x1401695a8
test r9, r9
jns 0x1401694ab
movabs rax, 0x8000000000000001
lea rcx, [rdx + 1]
sub rax, r9
cmp rax, rcx
jg 0x1401695a8
lea r8, [rdx + r9]
jmp 0x14016956c
movabs rax, 0x8000000000000000
cmp r10, rax
jne 0x1401694d4
test r8, r8
jns 0x1401695a8
sub r8, rax
jmp 0x14016956c
neg r10
js 0x1401694fb
test r8, r8
jle 0x140169521
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r10
jge 0x140169521
mov r11d, 1
mov eax, r11d
jmp 0x14016952a
test r8, r8
jns 0x140169521
movabs rax, 0x8000000000000001
lea rcx, [r10 + 1]
sub rax, r8
cmp rax, rcx
jle 0x140169521
mov r11d, 1
mov eax, r11d
jmp 0x14016952a
add r8, r10
xor eax, eax
lea r11d, [rax + 1]
test eax, eax
jne 0x1401695a8
jmp 0x140169572
test r10, r10
js 0x14016954e
test r8, r8
jle 0x140169569
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r10
jge 0x140169569
jmp 0x1401695a8
test r8, r8
jns 0x140169569
movabs rax, 0x8000000000000001
lea rcx, [r10 + 1]
sub rax, r8
cmp rax, rcx
jg 0x1401695a8
add r8, r10
mov r11d, 1
mov eax, 0xbe04
mov qword [rbx], r8
and word [rbx + 8], ax
or word [rbx + 8], 4
mov ecx, dword [rbp + 0x368]
xor r12d, r12d
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
jmp case.default.0x140168a09
xor r15b, r15b
mov rcx, rdi
call fcn.140171b40
movaps xmm4, xmm0
mov rcx, rsi
call fcn.140171b40
mov rax, qword [rsp + 0x40]
movaps xmm3, xmm0
movzx ecx, byte [rax]
sub ecx, 0x59
je 0x140169624
sub ecx, 1
je 0x14016961e
sub ecx, 1
je 0x140169618
cmp ecx, 1
je 0x14016960a
cvttsd2si rcx, xmm4
cvttsd2si rax, xmm0
test rcx, rcx
je 0x14016966f
cmp rcx, 0xffffffffffffffff
mov r11d, 1
cqo
xorps xmm3, xmm3
cmove rcx, r11
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x14016962e
ucomisd xmm4, xmm6
jp 0x140169612
je 0x14016966f
divsd xmm3, xmm4
jmp 0x140169628
mulsd xmm3, xmm4
jmp 0x140169628
subsd xmm3, xmm4
jmp 0x140169628
addsd xmm3, xmm4
mov r11d, 1
movaps xmm0, xmm3
call fcn.1401515a0
test eax, eax
jne 0x14016966f
mov eax, 0xbe08
movsd qword [rbx], xmm3
and word [rbx + 8], ax
or r14b, r12b
or word [rbx + 8], 8
test r14b, 8
jne 0x14016eb4d
test r15b, r15b
jne 0x14016eb4d
mov rcx, rbx
call fcn.14016fff0
jmp 0x140169583
mov r15, qword [rsp + 0x60]
mov eax, 0x2460
test word [rbx + 8], ax
je 0x140169694
mov rcx, rbx
call fcn.14017c8f0
mov r14, qword [rsp + 0x58]
xor r12d, r12d
jmp 0x140168c65
mov ecx, dword [rbp + 0x368]
mov r11d, 1
mov rsi, qword [rsp + 0x40]
xor r12d, r12d
mov r14, qword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
mov word [rbx + 8], r11w
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x140168a7a
imul rcx, rax, 0x38
mov eax, 0x2460
add rcx, r15
test word [rcx + 8], ax
je 0x1401696eb
xor edx, edx
call fcn.14017da70
jmp 0x140168c65
mov rsi, qword [rsp + 0x40]
mov eax, 4
mov word [rcx + 8], ax
mov qword [rcx], r12
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rdi, qword [rsp + 0x40]
mov rcx, r14
movzx ebx, byte [rdi + 3]
lea rdx, [rbx*8 + 0x30]
call fcn.140141f40
mov r8, rax
test rax, rax
je 0x14016a978
mov qword [rax], r12
mov rcx, qword [rdi + 0x10]
mov qword [rax + 8], rcx
mov rcx, rdi
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r13
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov rax, rdi
mov dword [r8 + 0x20], edx
mov word [rdi], 0xec24
mov qword [rdi + 0x10], r8
jmp 0x140169779
mov rax, qword [rsp + 0x40]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
mov rax, qword [rbx]
add rdi, r15
mov qword [rbp - 0x70], rdi
cmp rax, rdi
je 0x1401697e7
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx], rdi
sub rdx, 1
lea r9d, [rax - 1]
mov rax, rdi
js 0x1401697e7
mov rdi, qword [rsp + 0x40]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop word [rax + rax]
mov eax, dword [rdi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r15
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x1401697c0
mov rdi, qword [rbp - 0x70]
mov rax, qword [rbx]
mov ecx, 0xbe01
lea r8, [rbx + 0x30]
and word [rax + 8], cx
mov rcx, rbx
or word [rax + 8], 1
mov rax, qword [rbp - 0x58]
mov byte [rbx + 0x29], 0
mov qword [r14 + 0x30], rax
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
cmp byte [rbx + 0x29], 0
mov rax, qword [r14 + 0x30]
mov qword [rbp - 0x58], rax
je 0x14016985e
cmp dword [rbx + 0x24], 0
je 0x14016984a
mov rcx, qword [rbx]
call fcn.14010ae30
mov r8, rax
lea rdx, [0x140286b78]
mov rcx, r13
call fcn.140168810
mov eax, dword [rbx + 0x24]
mov dword [rbp + 0x368], eax
mov rax, qword [rsp + 0x40]
mov rcx, r13
mov edx, dword [rbx + 0x20]
mov r8d, dword [rax + 4]
call fcn.140168630
test byte [rdi + 8], 0x12
je 0x140168c65
mov rcx, qword [rbx]
mov rax, rcx
test byte [rcx + 8], 2
je 0x14016988d
movzx edi, byte [rbp + 0x360]
cmp byte [rcx + 0xa], dil
je 0x14016988d
movzx edx, dil
call fcn.140171520
mov rax, qword [rbx]
movzx edx, word [rax + 8]
test dl, 0x12
je 0x140168c65
mov ecx, dword [rax + 0xc]
mov r8d, 0x4000
test r8w, dx
je 0x1401698ab
add ecx, dword [rax]
mov rax, qword [rax + 0x28]
cmp ecx, dword [rax + 0x68]
jg 0x14016efeb
jmp 0x140168c65
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x40]
add rdi, r15
add rcx, r15
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
movzx eax, byte [rcx + 8]
or al, byte [rdi + 8]
add rsi, r15
test al, 1
je 0x140169920
mov eax, 0x2460
test word [rsi + 8], ax
je 0x14016990b
mov rcx, rsi
call fcn.14017c8f0
jmp 0x140168c65
mov ecx, dword [rbp + 0x368]
mov word [rsi + 8], r11w
mov rsi, qword [rsp + 0x40]
jmp case.default.0x140168a09
call fcn.14016ff60
mov rcx, rdi
mov rbx, rax
call fcn.14016ff60
mov rdx, qword [rsp + 0x40]
mov rcx, rax
movzx edx, byte [rdx]
cmp dl, 0x55
jne 0x140169945
and rbx, rax
jmp 0x1401699b9
cmp dl, 0x56
jne 0x14016994f
or rbx, rcx
jmp 0x1401699b9
test rcx, rcx
je 0x1401699b9
jns 0x140169969
mov eax, 0xaf
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x14016996f
neg rcx
cmp rcx, 0x40
jl 0x140169987
test rbx, rbx
jns 0x140169982
cmp dl, 0x57
je 0x140169982
mov rbx, 0xffffffffffffffff
jmp 0x1401699b9
mov rbx, r12
jmp 0x1401699b9
cmp dl, 0x57
jne 0x140169994
shl rbx, cl
mov r8, rbx
jmp 0x1401699b6
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1401699b6
mov eax, 0x40
mov rdx, 0xffffffffffffffff
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0xbe04
mov qword [rsi], rbx
and word [rsi + 8], ax
or word [rsi + 8], 4
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.14016ff60
mov ecx, 0xbe04
mov qword [rbx], rax
and word [rbx + 8], cx
or word [rbx + 8], 4
mov rcx, qword [rsp + 0x40]
movsxd rcx, dword [rcx + 8]
add rcx, rax
mov qword [rbx], rcx
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r15
movzx eax, word [rbx + 8]
test al, 4
jne 0x140169a73
test al, 8
jne 0x140169a44
test al, 2
je 0x140169a4c
mov edx, r11d
mov rcx, rbx
call fcn.140116100
mov r10, qword [rsp + 0x50]
mov r11d, 1
jmp 0x140169a4c
mov rcx, rbx
call fcn.14016fff0
movzx eax, word [rbx + 8]
test al, 4
jne 0x140169a73
mov rsi, qword [rsp + 0x40]
cmp dword [rsi + 8], 0
jne 0x14016c335
mov ecx, SafeArrayUnaccessData
mov dword [rbp + 0x368], ecx
jmp 0x14016eefb
mov rsi, qword [rsp + 0x40]
mov ecx, 0xbe04
and ax, cx
mov ecx, dword [rbp + 0x368]
or ax, 4
mov word [rbx + 8], ax
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 4
je 0x140168a7a
call fcn.140170f30
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r15
test word [rbx + 8], ax
je 0x140169ae2
mov rcx, rbx
call fcn.140170a40
mov dword [rbp + 0x368], eax
jmp 0x140169ae9
mov dword [rbp + 0x368], r12d
mov rax, qword [rsp + 0x40]
mov rcx, rbx
movzx r8d, byte [rbp + 0x360]
movzx edx, byte [rax + 8]
call fcn.1401708d0
jmp 0x140168c65
mov rcx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x60]
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
movzx ebx, word [rcx + r8 + 8]
lea r14, [rcx + r8]
add r15, r8
movzx eax, bl
movzx esi, word [r15 + 8]
or al, sil
test al, 1
je 0x140169bcf
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 3]
test al, al
jns 0x140169b75
movzx eax, bx
and ax, si
bt ax, r12w
jae 0x140169b6d
mov eax, 0x100
test ax, bx
jne 0x140169b6d
mov edx, r12d
jmp 0x140169cdc
mov edx, r11d
jmp 0x140169cdc
test al, 0x20
je 0x140169baf
mov rax, qword [rsp + 0x40]
mov r15, r8
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0xbe01
add rcx, r8
and word [rcx + 8], ax
or word [rcx + 8], 1
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x58]
jmp case.default.0x140168a09
mov rsi, qword [rsp + 0x40]
test al, 0x10
jne 0x14016c335
mov ecx, dword [rbp + 0x368]
mov r15, r8
mov r14, qword [rsp + 0x58]
jmp case.default.0x140168a09
mov rdi, qword [rsp + 0x40]
movzx eax, byte [rdi + 3]
and al, 0x47
cmp al, 0x43
jb 0x140169c0e
movzx eax, sil
movzx ecx, bx
and al, 0xe
cmp al, 2
jne 0x140169bfa
xor edx, edx
mov rcx, r15
call fcn.140116100
movzx ecx, word [r14 + 8]
and cl, 0xe
cmp cl, 2
jne 0x140169c76
xor edx, edx
mov rcx, r14
call fcn.140116100
jmp 0x140169c76
cmp al, 0x42
jne 0x140169c76
movzx eax, bx
test sil, 2
jne 0x140169c4a
test sil, 0xc
je 0x140169c4a
movzx edx, byte [rbp + 0x360]
mov r8b, 1
mov rcx, r15
call fcn.1401713f0
xor si, word [r15 + 8]
mov eax, 0x1ff
and si, ax
movzx eax, word [r14 + 8]
xor si, word [r15 + 8]
test al, 2
jne 0x140169c76
test al, 0xc
je 0x140169c76
movzx edx, byte [rbp + 0x360]
mov r8b, 1
mov rcx, r14
call fcn.1401713f0
xor bx, word [r14 + 8]
mov eax, 0x1ff
and bx, ax
xor bx, word [r14 + 8]
mov eax, 0x4000
test word [r15 + 8], ax
je 0x140169c97
mov rcx, r15
call fcn.140170a40
mov eax, 0xbfff
and si, ax
mov eax, 0x4000
test word [r14 + 8], ax
je 0x140169cae
mov rcx, r14
call fcn.140170a40
mov eax, 0xbfff
and bx, ax
mov rcx, qword [rsp + 0x58]
cmp byte [rcx + 0x51], 0
jne 0x14016f04f
mov r8, qword [rdi + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.1401534a0
mov r10, qword [rsp + 0x50]
mov edx, eax
movzx edi, byte [rdi]
mov r11d, 1
movzx eax, dil
sub eax, 0x4e
je 0x140169d1e
sub eax, 1
je 0x140169d14
sub eax, 1
je 0x140169d0a
sub eax, 1
je 0x140169d00
cmp eax, 1
je 0x140169cfb
not edx
shr edx, 0x1f
jmp 0x140169d28
test edx, edx
mov eax, r12d
setle al
jmp 0x140169d26
test edx, edx
mov eax, r12d
setg al
jmp 0x140169d26
test edx, edx
mov eax, r12d
sete al
jmp 0x140169d26
test edx, edx
mov eax, r12d
setne al
mov edx, eax
mov word [r15 + 8], si
mov rsi, qword [rsp + 0x40]
mov word [r14 + 8], bx
test byte [rsi + 3], 0x20
je 0x140169d71
movsxd rax, dword [rsi + 8]
mov r15, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
imul rcx, rax, 0x38
mov eax, 0xbe04
add rcx, r15
and word [rcx + 8], ax
or word [rcx + 8], 4
movsxd rax, edx
mov qword [rcx], rax
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
test edx, edx
jne 0x14016c335
mov ecx, dword [rbp + 0x368]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
jmp case.default.0x140168a09
mov rcx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
mov rax, qword [rcx + 0x10]
mov ecx, dword [rbp + 0x368]
mov qword [rbp + 8], rax
jmp case.default.0x140168a09
mov rcx, qword [rsp + 0x40]
mov r15, r12
mov edi, r12d
mov rbx, r12
mov r12, qword [rsp + 0x40]
test byte [rcx + 3], 1
mov r9d, dword [rcx + 4]
movsxd r12, dword [r12 + 0xc]
cmovne r15, qword [rbp + 8]
mov r13, qword [rcx + 0x10]
mov ecx, dword [rcx + 8]
mov dword [rbp - 0x7c], r9d
mov dword [rbp - 0x68], ecx
test r12, r12
jle 0x140169e5e
lea rsi, [r13 + 0x20]
test r15, r15
je 0x140169df2
mov r8d, dword [r15 + rbx*4]
jmp 0x140169df5
mov r8d, edi
mov rax, qword [r13 + 0x18]
movzx r14d, byte [rbx + rax]
lea eax, [r8 + rcx]
movsxd rcx, eax
lea eax, [r8 + r9]
mov r8, qword [rsi]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, qword [rsp + 0x60]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x60]
call fcn.1401534a0
mov dword [rbp - 0x50], eax
test eax, eax
jne 0x140169e44
mov r9d, dword [rbp - 0x7c]
inc edi
mov ecx, dword [rbp - 0x68]
inc rbx
add rsi, 8
cmp rbx, r12
jl 0x140169de7
jmp 0x140169e4e
test r14b, r14b
je 0x140169e4e
neg eax
mov dword [rbp - 0x50], eax
mov r14, qword [rsp + 0x58]
mov r11d, 1
mov r10, qword [rsp + 0x50]
mov ecx, dword [rbp + 0x368]
xor r12d, r12d
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x60]
mov qword [rbp + 8], r12
jmp case.default.0x140168a09
mov ebx, dword [rbp - 0x50]
mov rax, qword [rsp + 0x40]
test ebx, ebx
jns 0x140169eab
mov eax, dword [rax + 4]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rcx, [r10 + rax*8]
mov qword [rsp + 0x40], rcx
mov rsi, qword [rsp + 0x40]
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
jne 0x140169ed2
mov eax, dword [rax + 8]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rcx, [r10 + rax*8]
mov qword [rsp + 0x40], rcx
mov rsi, qword [rsp + 0x40]
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov eax, dword [rax + 0xc]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rcx, [r10 + rax*8]
mov qword [rsp + 0x40], rcx
mov rsi, qword [rsp + 0x40]
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rdi, qword [rsp + 0x40]
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 1
je 0x140169f16
mov edx, 2
mov ebx, edx
jmp 0x140169f29
call fcn.14016ff60
test rax, rax
mov rbx, r12
mov edx, 2
setne bl
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 1
je 0x140169f3f
mov rcx, rdx
jmp 0x140169f4d
call fcn.14016ff60
test rax, rax
mov rcx, r12
setne cl
lea rcx, [rcx + rbx*2]
add rcx, rbx
lea r8, [0x140000000]
cmp byte [rdi], 0x48
jne 0x140169f6b
movzx r8d, byte [rcx + r8 + 0x2bb728]
jmp 0x140169f74
movzx r8d, byte [rcx + r8 + 0x2bb740]
movsxd rax, dword [rdi + 0xc]
imul rdx, rax, 0x38
movzx ecx, word [rdx + r15 + 8]
cmp r8b, 2
jne 0x140169fb3
mov r10, qword [rsp + 0x50]
mov eax, 0xbe01
and cx, ax
mov rsi, rdi
or cx, 1
mov r11d, 1
mov word [rdx + r15 + 8], cx
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov r10, qword [rsp + 0x50]
mov rsi, rdi
movzx eax, r8b
mov r11d, 1
mov qword [rdx + r15], rax
mov eax, 0xbe04
and cx, ax
or cx, 4
mov word [rdx + r15 + 8], cx
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r15
mov eax, 0x2460
add rbx, r15
test word [rbx + 8], ax
je 0x14016a021
mov rcx, rbx
call fcn.14017c8f0
mov r10, qword [rsp + 0x50]
mov r11d, 1
jmp 0x14016a026
mov word [rbx + 8], r11w
test byte [rdi + 8], 1
jne 0x140168a7a
mov eax, 4
mov rcx, rdi
mov word [rbx + 8], ax
call fcn.14016ff60
mov rcx, r12
test rax, rax
sete cl
mov qword [rbx], rcx
jmp 0x140168c65
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r15
mov eax, 0x2460
add rbx, r15
test word [rbx + 8], ax
je 0x14016a08d
mov rcx, rbx
call fcn.14017c8f0
mov r10, qword [rsp + 0x50]
mov r11d, 1
jmp 0x14016a092
mov word [rbx + 8], r11w
test byte [rdi + 8], 1
jne 0x140168a7a
mov eax, 4
mov rcx, rdi
mov word [rbx + 8], ax
call fcn.14016ff60
not rax
mov qword [rbx], rax
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
mov rcx, qword [r13 + 0x118]
mov rsi, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
cmp byte [rax + rcx], 0
jne 0x14016c335
mov byte [rax + rcx], 1
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 1
je 0x14016a10b
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
mov eax, dword [rax + 0xc]
jmp 0x14016a13e
call fcn.140171b40
ucomisd xmm0, xmm6
jp 0x14016a123
jne 0x14016a123
mov eax, r12d
mov r11d, 1
jmp 0x14016a12c
mov r11d, 1
mov eax, r11d
mov rsi, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
cmp byte [rsi], 0x2e
jne 0x14016a13e
xor eax, 1
test eax, eax
jne 0x14016c335
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
jne 0x14016c335
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
je 0x14016c335
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0xc]
mov ebx, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul r15, rax, 0x38
mov rax, qword [r13 + 0x60]
add r15, rdx
mov dword [rsp + 0x70], ebx
mov qword [rbp - 0x70], r15
mov r12, qword [rax + rcx*8]
cmp byte [r12 + 0x26], 0
mov r10, qword [r12 + 0x68]
mov rdi, qword [r12]
mov qword [rsp + 0x78], r10
mov qword [rbp - 0x38], rdi
je 0x14016a1f3
mov rcx, r12
call fcn.140127b50
jmp 0x14016a206
test rdi, rdi
je 0x14016a228
cmp byte [rdi + 0x5e], 1
je 0x14016a228
mov rcx, r12
call fcn.140127bc0
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016eefb
mov r10, qword [rsp + 0x78]
lea r11d, [rax + 1]
mov rdx, qword [rsp + 0x60]
xor esi, esi
jmp 0x14016a230
xor esi, esi
mov dword [rbp + 0x368], esi
mov eax, dword [r13 + 0x7c]
cmp dword [r12 + 0x50], eax
je 0x14016a392
cmp byte [r12 + 0x25], 0
je 0x14016a295
test rdi, rdi
jne 0x14016a272
movsxd rax, dword [r12 + 0x1c]
imul rax, rax, 0x38
mov ebx, dword [rax + rdx + 0xc]
mov dword [r12 + 0x58], ebx
mov dword [r12 + 0x54], ebx
mov rax, qword [rax + rdx + 0x10]
mov qword [r12 + 0x60], rax
jmp 0x14016a326
mov eax, 0x2460
test word [r15 + 8], ax
je 0x14016a28b
mov rcx, r15
call fcn.14017c8f0
jmp 0x14016a6b6
mov word [r15 + 8], r11w
jmp 0x14016a6bc
mov ebx, dword [r12 + 0x28]
mov rcx, rdi
call fcn.1401274f0
test bl, 4
jne 0x14016a2e0
mov rax, qword [rdi + 0x20]
mov qword [rbp + 0x20], rax
movsx rax, byte [rdi + 0x60]
movzx ebx, word [rdi + 0x34]
mov rcx, qword [rdi + rax*8 + 0xa0]
mov eax, dword [rcx + 0x58]
sub eax, dword [rdi + 0x28]
cmp ebx, eax
cmovae ebx, eax
mov rax, qword [rdi + 0x28]
mov qword [r12 + 0x60], rax
mov eax, dword [rbp + 0x20]
mov edx, eax
mov dword [r12 + 0x54], eax
jmp 0x14016a30d
mov edx, dword [rdi + 0x30]
mov dword [r12 + 0x54], edx
movsx rax, byte [rdi + 0x60]
movzx ebx, word [rdi + 0x34]
mov rcx, qword [rdi + rax*8 + 0xa0]
mov eax, dword [rcx + 0x58]
sub eax, dword [rdi + 0x28]
cmp ebx, eax
cmovae ebx, eax
mov rax, qword [rdi + 0x28]
mov qword [r12 + 0x60], rax
cmp edx, ebx
cmova edx, ebx
mov dword [r12 + 0x58], edx
mov eax, dword [r14 + 0x68]
cmp dword [r12 + 0x54], eax
ja 0x14016efeb
mov eax, dword [r13 + 0x7c]
mov rcx, qword [r12 + 0x60]
mov dword [r12 + 0x50], eax
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x14016a345
movzx ecx, al
mov al, 1
mov dword [rbp - 0x64], ecx
jmp 0x14016a351
lea rdx, [rbp - 0x64]
call fcn.14014eb50
mov ecx, dword [rbp - 0x64]
mov r10, qword [rsp + 0x78]
movzx eax, al
mov dword [r12 + 0x5c], eax
mov word [r12 + 0x22], si
mov dword [r10], ecx
cmp ecx, 0x18003
ja 0x14016ecac
cmp ecx, dword [r12 + 0x54]
ja 0x14016ecac
cmp ebx, ecx
mov ebx, dword [rsp + 0x70]
jae 0x14016a3a0
mov qword [r12 + 0x60], rsi
mov dword [r12 + 0x58], esi
jmp 0x14016a3a0
movzx eax, word [r12 + 0x22]
cmp eax, ebx
jg 0x14016a5c3
mov eax, dword [r12 + 0x5c]
mov ecx, dword [r10]
cmp eax, ecx
jae 0x14016a58d
mov rdx, qword [r12 + 0x60]
mov qword [rbp - 0x78], rdx
test rdx, rdx
jne 0x14016a469
xor eax, eax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
movsx rax, byte [rdi + 0x60]
mov r9d, dword [r12 + 0x28]
mov r8d, dword [r10]
shr r9d, 2
mov rcx, qword [rdi + rax*8 + 0xa0]
not r9d
movzx eax, word [rdi + 0x34]
mov edx, dword [rcx + 0x58]
sub edx, dword [rdi + 0x28]
and r9d, 1
cmp eax, edx
cmovae eax, edx
cmp r8d, eax
ja 0x14016a431
mov rdx, qword [rdi + 0x28]
mov eax, 0x1010
mov qword [rbp + 0x38], rdx
mov word [rbp + 0x30], ax
mov dword [rbp + 0x34], r8d
mov dword [rbp + 0x368], esi
jmp 0x14016a45d
lea rax, [rbp + 0x28]
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.14017c980
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016eb40
mov rdx, qword [rbp + 0x38]
mov r10, qword [rsp + 0x78]
mov eax, dword [r12 + 0x5c]
mov ecx, dword [r10]
mov qword [rbp - 0x78], rdx
movzx r15d, word [r12 + 0x22]
lea r8, [rax + rdx]
mov r13d, ecx
mov edi, r15d
add r13, rdx
mov rsi, r8
mov r14d, dword [r10 + r15*4]
movzx eax, byte [r8]
mov rbx, rsi
cmp al, 0x80
jae 0x14016a4a2
mov r11d, 1
movzx eax, al
mov dword [rbp - 0x60], eax
mov ecx, r11d
mov edx, r11d
jmp 0x14016a4c1
lea rdx, [rbp - 0x60]
mov rcx, r8
call fcn.14014eb50
mov r10, qword [rsp + 0x78]
mov r11d, 1
movzx ecx, al
mov eax, dword [rbp - 0x60]
mov edx, ecx
add rsi, rdx
mov dword [r12 + rdi*4 + 0x70], eax
lea r8, [rcx + rbx]
cmp eax, 0xc
jb 0x14016a4d9
add eax, 0xfffffff4
shr eax, 1
jmp 0x14016a4e8
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x2bb6d8]
add r14d, eax
mov dword [rbp - 0x64], r14d
cmp r14d, eax
jb 0x14016a510
inc r15d
movsxd rdi, r15d
mov dword [r10 + rdi*4], r14d
cmp r15d, dword [rsp + 0x70]
jg 0x14016a514
cmp rsi, r13
jb 0x14016a483
jmp 0x14016a514
lea rsi, [r13 + 1]
mov rax, rsi
mov word [r12 + 0x22], r15w
sub eax, dword [rbp - 0x78]
cmp qword [r12 + 0x60], 0
mov dword [r12 + 0x5c], eax
jne 0x14016a552
mov eax, 0x2460
test word [rbp + 0x30], ax
jne 0x14016a53e
cmp dword [rbp + 0x48], 0
je 0x14016a54d
lea rcx, [rbp + 0x28]
call fcn.14017c840
mov r11d, 1
mov word [rbp + 0x30], r11w
cmp rsi, r13
jb 0x14016a568
ja 0x14016ecd4
cmp r14d, dword [r12 + 0x54]
jne 0x14016ecd4
cmp r14d, dword [r12 + 0x54]
ja 0x14016ecd4
mov ebx, dword [rsp + 0x70]
mov r15, qword [rbp - 0x70]
mov rdi, qword [rbp - 0x38]
mov r14, qword [rsp + 0x58]
mov r13, qword [rbp + 0x350]
jmp 0x14016a593
mov r11d, 1
movzx eax, word [r12 + 0x22]
cmp eax, ebx
jg 0x14016a5c3
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 1], 0xf8
jne 0x14016a272
mov rdx, qword [rcx + 0x10]
mov r8d, 0x800
mov rcx, r15
call fcn.1401713b0
jmp 0x14016a6b6
mov eax, 0x2460
test word [r15 + 8], ax
je 0x14016a5d7
mov rcx, r15
call fcn.14017c8f0
mov rdx, qword [rsp + 0x78]
movsxd rcx, ebx
mov ebx, dword [r12 + rcx*4 + 0x70]
mov eax, dword [rdx + rcx*4 + 4]
mov dword [rbp - 0x60], ebx
cmp dword [r12 + 0x58], eax
jb 0x14016a609
mov ecx, dword [rdx + rcx*4]
mov r8, r15
add rcx, qword [r12 + 0x60]
mov edx, ebx
call fcn.140172660
jmp 0x14016a6ab
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 3]
test al, 0xc0
je 0x14016a624
cmp ebx, 0xc
jb 0x14016a620
test bl, 1
je 0x14016a647
test al, al
js 0x14016a647
cmp ebx, 0xc
jb 0x14016a632
lea r8d, [rbx - 0xc]
shr r8d, 1
jmp 0x14016a642
lea r8, [0x140000000]
movzx r8d, byte [rbx + r8 + 0x2bb6d8]
test r8d, r8d
jne 0x14016a663
cmp ebx, 0xd
lea rcx, [rbp + 0x20]
mov eax, 0
mov r8, r15
cmova rcx, rax
mov edx, ebx
call fcn.140172660
jmp 0x14016a6ab
mov r9d, dword [r12 + 0x28]
mov edx, dword [rdx + rcx*4]
mov rcx, rdi
shr r9d, 2
not r9d
mov qword [rsp + 0x20], r15
and r9d, 1
call fcn.140170b80
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016eb40
mov rcx, qword [r15 + 0x10]
mov r8, r15
mov edx, ebx
call fcn.140172660
mov eax, 0xefff
and word [r15 + 8], ax
movzx eax, byte [rbp + 0x360]
mov byte [r15 + 0xa], al
mov r11d, 1
movzx ecx, word [r15 + 8]
mov eax, 0x1000
test ax, cx
je 0x14016eb6f
mov r14, qword [r15 + 0x10]
test r14, r14
je 0x14016eb4d
movsxd rsi, dword [r15 + 0xc]
movzx edi, cx
and di, 0x12
lea edx, [rsi + 2]
cmp dword [r15 + 0x20], edx
jge 0x14016a709
xor r8d, r8d
mov rcx, r15
call fcn.140170be0
test eax, eax
je 0x14016a71a
mov r14, qword [rsp + 0x58]
jmp 0x14016a978
mov rax, qword [r15 + 0x18]
and cx, 0xd
mov qword [r15 + 0x10], rax
mov word [r15 + 8], cx
mov rcx, qword [r15 + 0x10]
mov r8, rsi
mov rdx, r14
call fcn.1402496a0
mov rax, qword [r15 + 0x10]
mov byte [rsi + rax], 0
mov rax, qword [r15 + 0x10]
mov byte [rsi + rax + 1], 0
mov eax, 0x200
or di, ax
mov word [r15 + 8], di
mov r14, qword [rsp + 0x58]
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
mov r11d, 1
mov r15, qword [rsp + 0x60]
xor r12d, r12d
mov r10, qword [rsp + 0x50]
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r15
test al, al
je 0x140168a7a
movzx r14d, byte [rbp + 0x360]
nop word [rax + rax]
movzx r8d, r14b
lea rdi, [rdi + 1]
movzx edx, al
mov rcx, rbx
call fcn.140116080
movzx eax, byte [rdi]
add rbx, 0x38
test al, al
jne 0x14016a7a0
mov r14, qword [rsp + 0x58]
jmp 0x140168c65
mov rcx, qword [rsp + 0x40]
xor r10d, r10d
mov r15, r12
mov qword [rsp + 0x78], r10
mov r9d, r10d
movsxd rax, dword [rcx + 4]
mov rbx, qword [rcx + 0x10]
imul r13, rax, 0x38
mov eax, dword [rcx + 8]
add r13, qword [rsp + 0x60]
dec eax
cdqe
imul rsi, rax, 0x38
mov rax, qword [rbp + 0x350]
add rsi, r13
mov qword [rbp - 0x78], rsi
movzx r14d, byte [rax + 0x8b]
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
mov qword [rbp - 8], rcx
test rbx, rbx
je 0x14016a860
movzx eax, byte [rbx]
mov rdi, r13
movzx esi, byte [rbp + 0x360]
movzx r8d, sil
movzx edx, al
mov rcx, rdi
call fcn.140116080
movzx eax, byte [rbx + 1]
lea rbx, [rbx + 1]
add rdi, 0x38
test al, al
jne 0x14016a830
mov r9, qword [rsp + 0x78]
xor r10d, r10d
mov rsi, qword [rbp - 0x78]
lea r11d, [r10 + 1]
nop
movzx r8d, word [rsi + 8]
test r8b, 1
je 0x14016a878
mov ebx, r10d
mov edx, 0x4000
jmp 0x14016a935
test r8b, 4
je 0x14016a90b
mov rdx, qword [rsi]
mov rcx, rdx
test rdx, rdx
jns 0x14016a890
not rcx
cmp rcx, 0x7f
ja 0x14016a8be
mov rax, rdx
and eax, 1
cmp rax, rdx
jne 0x14016a8b4
cmp r14b, 4
jb 0x14016a8b4
lea ebx, [rcx + 8]
mov edx, 0x4000
jmp 0x14016a935
mov ebx, r11d
mov edx, 0x4000
jmp 0x14016a935
mov edx, 0x4000
cmp rcx, 0x7fff
ja 0x14016a8d3
mov ebx, 2
jmp 0x14016a935
cmp rcx, 0x7fffff
ja 0x14016a8e3
mov ebx, 3
jmp 0x14016a935
cmp rcx, 0x7fffffff
ja 0x14016a8f3
mov ebx, 4
jmp 0x14016a935
mov ebx, r10d
movabs rax, 0x7fffffffffff
cmp rcx, rax
seta bl
add ebx, 5
jmp 0x14016a935
mov edx, 0x4000
test r8b, 8
je 0x14016a91d
mov ebx, 7
jmp 0x14016a935
mov ecx, dword [rsi + 0xc]
test edx, r8d
je 0x14016a927
add ecx, dword [rsi]
mov eax, r8d
lea ebx, [rcx + 6]
shr eax, 1
and eax, 1
lea ebx, [rax + rbx*2]
mov dword [rsi + 0x24], ebx
cmp ebx, 0xc
jb 0x14016a944
lea edi, [rbx - 0xc]
shr edi, 1
jmp 0x14016a955
mov eax, ebx
lea rcx, [0x140000000]
movzx edi, byte [rax + rcx + 0x2bb6d8]
test dx, r8w
je 0x14016a9b0
test r15, r15
je 0x14016a9a3
mov rcx, rsi
call fcn.140170a40
test eax, eax
je 0x14016a9b0
mov r14, qword [rsp + 0x58]
mov r13, qword [rbp + 0x350]
movzx esi, byte [rbp + 0x358]
lea rdx, str.out_of_memory
mov byte [r14 + 0x51], 1
mov rcx, r13
call fcn.140168810
mov ecx, 7
mov dword [rbp + 0x368], ecx
jmp 0x14016ad39
movsxd rcx, dword [rsi]
add r9, rcx
mov qword [rsp + 0x78], r9
sub edi, ecx
movsxd rax, edi
xor r10d, r10d
add r15, rax
cmp ebx, 0x7f
ja 0x14016a9c9
mov r11d, 1
mov eax, r11d
jmp 0x14016a9e6
mov ecx, ebx
mov eax, r10d
nop
inc eax
shr rcx, 7
test rcx, rcx
je 0x14016a9e0
cmp eax, 9
jl 0x14016a9d0
mov r11d, 1
mov r9, qword [rsp + 0x78]
add r12d, eax
sub rsi, 0x38
cmp rsi, r13
jae 0x14016a860
cmp r12d, 0x7e
jle 0x14016aa44
movsxd rax, r12d
mov edx, r10d
nop word [rax + rax]
inc edx
shr rax, 7
test rax, rax
je 0x14016aa20
cmp edx, 9
jl 0x14016aa10
add r12d, edx
mov eax, r10d
movsxd rcx, r12d
nop dword [rax]
inc eax
shr rcx, 7
test rcx, rcx
je 0x14016aa40
cmp eax, 9
jl 0x14016aa30
cmp edx, eax
jge 0x14016aa47
inc r12d
mov r14, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
movsxd rbx, r12d
add r15, rbx
movsxd rax, dword [r14 + 0x68]
add rcx, r15
mov qword [rbp - 0x70], r15
cmp rcx, rax
jg 0x14016efe4
mov rdi, qword [rbp - 8]
cmp dword [rdi + 0x20], r15d
jge 0x14016aa8d
xor r8d, r8d
mov edx, r15d
mov rcx, rdi
call fcn.140170be0
test eax, eax
jne 0x14016a971
jmp 0x14016aa9a
mov rax, qword [rdi + 0x18]
and word [rdi + 8], 0xd
mov qword [rdi + 0x10], rax
mov r14, qword [rdi + 0x10]
mov edx, 0x80
cmp r12d, edx
jae 0x14016aab0
mov byte [r14], r12b
lea eax, [rdx - 0x7f]
jmp 0x14016aac0
mov rdx, rbx
mov rcx, r14
call fcn.14015b970
mov edx, 0x80
lea rdi, [r13 + 0xc]
movzx esi, al
mov r13, qword [rbp - 0x78]
xor r15d, r15d
nop
mov r11d, dword [rdi + 0x18]
movsxd rcx, esi
add rcx, r14
cmp r11d, edx
jae 0x14016aae9
mov byte [rcx], r11b
mov eax, 1
jmp 0x14016aaf1
mov rdx, r11
call fcn.14015b970
movzx eax, al
add esi, eax
movsxd r9, r12d
lea eax, [r11 - 1]
add r9, r14
cmp eax, 6
ja 0x14016ab36
mov rdx, qword [rdi - 0xc]
lea rcx, [0x140000000]
movzx ecx, byte [r11 + rcx + 0x2bb6d8]
mov r13d, 0xffffffff
mov ebx, ecx
add ecx, r13d
mov byte [rcx + r9], dl
shr rdx, 8
test ecx, ecx
jne 0x14016ab21
mov r13, qword [rbp - 0x78]
jmp 0x14016ab52
cmp r11d, 0xc
jb 0x14016ab4f
mov ebx, dword [rdi]
mov rcx, r9
mov rdx, qword [rdi + 4]
mov r8d, ebx
call fcn.1402496a0
jmp 0x14016ab52
mov ebx, r15d
add rdi, 0x38
add r12d, ebx
mov edx, 0x80
lea rax, [rdi - 0xc]
cmp rax, r13
jbe 0x14016aad0
mov rcx, qword [rbp - 8]
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov r15, qword [rbp - 0x70]
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x78]
mov dword [rcx + 0xc], r15d
test rax, rax
je 0x14016ab95
mov dword [rcx], eax
mov eax, 0x4010
mov word [rcx + 8], ax
mov byte [rcx + 0xa], 1
jmp 0x14016a747
mov rax, qword [rsp + 0x40]
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x38], r12
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx]
call fcn.14013c390
mov rdx, qword [rsp + 0x40]
mov rcx, r13
mov dword [rbp + 0x368], eax
call fcn.14012d140
mov rcx, qword [rbp - 0x38]
mov qword [rax], rcx
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
mov esi, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rbp - 0x7c], esi
test esi, esi
jne 0x14016acdf
cmp dword [r14 + 0xac], esi
jg 0x14016ed03
test rdi, rdi
jne 0x14016ac0c
mov ebx, r12d
jmp 0x14016ac22
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x14016ac13
and ebx, 0x3fffffff
mov r8d, dword [r14 + 0x310]
xor edx, edx
add r8d, dword [r14 + 0x30c]
mov rcx, r14
call fcn.140173b60
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016eefb
mov edx, ebx
mov rcx, r14
add rdx, 0x21
call fcn.140141f40
mov rsi, rax
test rax, rax
je 0x14016acb5
lea rcx, [rax + 0x20]
mov rdx, rdi
lea r8d, [rbx + 1]
mov qword [rax], rcx
call fcn.1402496a0
cmp byte [r14 + 0x4f], 0
je 0x14016ac86
mov byte [r14 + 0x4f], 0
mov byte [r14 + 0x56], 1
jmp 0x14016ac8d
inc dword [r14 + 0x30c]
mov rax, qword [r14 + 0x300]
mov qword [rsi + 0x18], rax
mov rax, qword [r14 + 0x318]
mov qword [r14 + 0x300], rsi
mov qword [rsi + 8], rax
mov rax, qword [r14 + 0x320]
mov qword [rsi + 0x10], rax
add qword [rsp + 0x40], 0x18
mov rsi, qword [rsp + 0x40]
mov ecx, dword [rbp + 0x368]
mov r10, qword [rsp + 0x50]
mov r11d, 1
mov r8d, dword [rsp + 0x6c]
mov edi, dword [rsp + 0x48]
jmp 0x1401689c0
mov r15, qword [r14 + 0x300]
test r15, r15
je 0x14016ad0f
nop dword [rax + rax]
mov rcx, qword [r15]
mov rdx, rdi
call fcn.14010fbc0
test eax, eax
je 0x14016ae48
mov r15, qword [r15 + 0x18]
inc r12d
test r15, r15
jne 0x14016acf0
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r13
call fcn.140168810
mov ecx, 1
add qword [rsp + 0x40], 0x18
mov dword [rbp + 0x368], ecx
movzx esi, byte [rbp + 0x358]
mov r9, qword [r13 + 0xe0]
movabs rax, 0x2aaaaaaaaaaaaaab
mov dword [r13 + 0x84], ecx
mov rcx, qword [rsp + 0x40]
sub rcx, qword [rsp + 0x50]
imul rcx
mov rax, qword [r13 + 0x48]
mov ecx, dword [rbp + 0x368]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.14010fcd0
mov rcx, r13
call fcn.14016f9d0
cmp dword [rbp + 0x368], 0xc0a
mov r14, qword [rsp + 0x58]
jne 0x14016ada5
mov byte [r14 + 0x51], 1
mov ebx, 1
mov dword [rbp + 0x350], ebx
test sil, sil
je 0x14016ade5
mov rcx, qword [r14 + 0x20]
movzx ebx, sil
mov eax, ebx
shl rax, 5
mov rcx, qword [rax + rcx - 8]
call fcn.14015e520
cmp ebx, 2
je 0x14016addf
mov rcx, qword [r14 + 0x20]
mov rcx, qword [rcx + 0x38]
call fcn.14015e520
mov ebx, dword [rbp + 0x350]
mov rax, qword [rbp - 0x58]
movaps xmm6, xmmword [rsp + 0x3f0]
mov r15, qword [rsp + 0x408]
mov r12, qword [rsp + 0x418]
mov rdi, qword [rsp + 0x420]
mov rsi, qword [rsp + 0x428]
mov qword [r14 + 0x30], rax
mov eax, dword [rsp + 0x48]
add dword [r13 + 0xb0], eax
cmp dword [r13 + 0x98], 0
mov r14, qword [rsp + 0x410]
je 0x14016ae3a
mov rcx, r13
call fcn.14017c750
mov eax, ebx
add rsp, 0x430
pop r13
pop rbx
pop rbp
ret
cmp dword [r14 + 0xac], 0
jle 0x14016ae5b
cmp esi, 1
je 0x14016ed1c
cmp qword [r15 + 0x18], 0
jne 0x14016aec1
cmp byte [r14 + 0x56], 0
je 0x14016aec1
mov edi, 1
mov r13d, edi
cmp esi, edi
jne 0x14016aec4
mov rbx, qword [rbp + 0x350]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x320]
add rcx, qword [rax + 0x318]
test rcx, rcx
jg 0x14016ed7e
mov rcx, rbx
mov byte [r14 + 0x4f], dil
call fcn.14016f9d0
cmp eax, 5
je 0x14016ed35
mov byte [r14 + 0x56], 0
mov ecx, dword [rbx + 0x84]
mov dword [rbp + 0x368], ecx
jmp 0x14016afbd
xor r13d, r13d
mov eax, dword [r14 + 0x30c]
sub eax, r12d
lea r12d, [rax - 1]
mov eax, dword [r14 + 0x28]
cmp esi, 2
jne 0x14016af42
mov r14d, dword [r14 + 0x2c]
xor edi, edi
shr r14d, 1
and r14d, 1
test eax, eax
jle 0x14016af45
mov esi, r14d
xor esi, 1
xor ebx, ebx
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x58]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rbx + rcx + 8]
call fcn.14013e870
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016eeef
mov rax, qword [rsp + 0x58]
inc edi
add rbx, 0x20
mov eax, dword [rax + 0x28]
cmp edi, eax
jl 0x14016af00
mov esi, dword [rbp - 0x7c]
jmp 0x14016af45
xor r14d, r14d
xor edi, edi
test eax, eax
jle 0x14016af85
mov rax, qword [rsp + 0x58]
xor ebx, ebx
mov rcx, qword [rax + 0x20]
mov r8d, r12d
mov edx, esi
mov rcx, qword [rbx + rcx + 8]
call fcn.14013e350
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016eeef
mov rax, qword [rsp + 0x58]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x14016af52
test r14d, r14d
mov r14, qword [rsp + 0x58]
je 0x14016afbd
mov rax, qword [r14 + 8]
test rax, rax
je 0x14016afb0
nop dword [rax + rax]
or dword [rax + 0x8c], 8
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x14016afa0
mov rcx, r14
call fcn.14015cdf0
or dword [r14 + 0x2c], 2
mov rcx, qword [r14 + 0x300]
cmp rcx, r15
je 0x14016b036
nop dword [rax]
cmp qword [r14 + 0x328], 0
mov rax, qword [rcx + 0x18]
mov qword [r14 + 0x300], rax
je 0x14016aff2
mov rdx, rcx
mov rcx, r14
call fcn.14012a3b0
jmp 0x14016b023
cmp rcx, qword [r14 + 0x170]
jb 0x14016b01e
cmp rcx, qword [r14 + 0x178]
jae 0x14016b01e
mov rax, qword [r14 + 0x168]
mov qword [rcx], rax
dec dword [r14 + 0x154]
mov qword [r14 + 0x168], rcx
jmp 0x14016b023
call fcn.140108630
dec dword [r14 + 0x30c]
mov rcx, qword [r14 + 0x300]
cmp rcx, r15
jne 0x14016afd0
cmp esi, 1
jne 0x14016b0a3
cmp qword [r14 + 0x328], 0
mov rax, qword [r15 + 0x18]
mov qword [r14 + 0x300], rax
je 0x14016b05d
mov rdx, r15
mov rcx, r14
call fcn.14012a3b0
jmp 0x14016b091
cmp r15, qword [r14 + 0x170]
jb 0x14016b089
cmp r15, qword [r14 + 0x178]
jae 0x14016b089
mov rax, qword [r14 + 0x168]
mov qword [r15], rax
dec dword [r14 + 0x154]
mov qword [r14 + 0x168], r15
jmp 0x14016b091
mov rcx, r15
call fcn.140108630
test r13d, r13d
jne 0x14016eb3a
dec dword [r14 + 0x30c]
jmp 0x14016b0c7
mov rax, qword [r15 + 8]
mov qword [r14 + 0x318], rax
mov rax, qword [r15 + 0x10]
mov qword [r14 + 0x320], rax
test r13d, r13d
je 0x14016b0c7
cmp esi, 2
jne 0x14016eb3a
mov r8d, r12d
mov edx, esi
mov rcx, r14
call fcn.140173b60
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016eef4
jmp 0x14016a752
mov rax, qword [rsp + 0x40]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
test ebx, ebx
je 0x14016b12c
movzx eax, byte [r14 + 0x4f]
test al, al
jne 0x14016b12c
test ecx, ecx
jne 0x14016b131
cmp dword [r14 + 0xac], ecx
jle 0x14016b131
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov dword [rbp + 0x368], 5
mov rcx, r13
call fcn.140168810
jmp 0x140168c65
movzx eax, byte [r14 + 0x4f]
movzx eax, al
cmp ebx, eax
jne 0x14016edae
test ebx, ebx
jne 0x14016b15b
lea rdx, str.cannot_start_a_transaction_within_a_transaction
mov dword [rbp + 0x368], r11d
mov rcx, r13
call fcn.140168810
jmp 0x140168c65
test ecx, ecx
mov dword [rbp + 0x368], r11d
lea rax, str.cannot_rollback___no_transaction_is_active
mov rcx, r13
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
call fcn.140168810
jmp 0x140168c65
mov rdi, qword [rsp + 0x40]
mov edx, dword [rdi + 8]
test edx, edx
je 0x14016b19d
test dword [r14 + 0x2c], 0x2000000
jne 0x14016ee7f
movsxd rcx, dword [rdi + 4]
mov rax, qword [r14 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x14016b31f
mov rcx, rbx
call fcn.14013b910
mov dword [rbp + 0x368], eax
mov ecx, eax
cmp eax, 5
je 0x14016ee8e
test eax, eax
jne 0x14016eefb
cmp dword [rdi + 8], eax
je 0x14016b2b9
test byte [r13 + 0x8c], 0x20
je 0x14016b2b9
cmp byte [r14 + 0x4f], al
je 0x14016b203
cmp dword [r14 + 0xa8], 1
jle 0x14016b2b9
mov r8d, dword [r13 + 0x9c]
test r8d, r8d
jne 0x14016b22b
inc dword [r14 + 0x310]
mov r8d, dword [r14 + 0x30c]
add r8d, dword [r14 + 0x310]
mov dword [r13 + 0x9c], r8d
dec r8d
xor edx, edx
mov rcx, r14
call fcn.140173b60
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016b29d
mov edi, dword [r13 + 0x9c]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x14016b262
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x14016b262
mov rcx, rbx
call fcn.140119390
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x14016b282
cmp byte [rcx + 0xa], 0
je 0x14016b282
mov edx, edi
call fcn.14012d930
mov dword [rbp + 0x368], eax
jmp 0x14016b289
mov dword [rbp + 0x368], r12d
cmp byte [rbx + 0x11], 0
je 0x14016b29d
sub dword [rbx + 0x14], 1
jne 0x14016b29d
mov rcx, rbx
call fcn.14017a660
mov rax, qword [r14 + 0x318]
mov qword [r13 + 0xd0], rax
mov rax, qword [r14 + 0x320]
mov qword [r13 + 0xd8], rax
movzx ecx, byte [rbx + 0x11]
mov rdi, qword [rbx + 8]
test cl, cl
je 0x14016b2da
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14016b2da
mov rcx, rbx
call fcn.140119390
movzx ecx, byte [rbx + 0x11]
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + 0x50]
mov edi, dword [rdx + 0x28]
bswap edi
test cl, cl
je 0x14016b2f9
sub dword [rbx + 0x14], 1
jne 0x14016b2f9
mov rcx, rbx
call fcn.14017a660
mov rax, qword [rsp + 0x40]
mov r11d, 1
mov r10, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rcx + 4]
jmp 0x14016b325
mov edi, r12d
mov eax, r12d
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 3], 0
je 0x140168a7a
cmp edi, dword [rcx + 0xc]
jne 0x14016b342
cmp eax, dword [rcx + 0x10]
je 0x140168a7a
mov rdx, qword [r13 + 0x48]
mov rcx, r14
call fcn.140141ef0
mov edx, 0x1c
mov rcx, r14
call fcn.140141f40
test rax, rax
je 0x14016b380
movups xmm0, xmmword [str.database_schema_has_changed]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x1402bf828]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x1402bf830]
mov dword [rax + 0x18], ecx
mov qword [r13 + 0x48], rax
mov rax, qword [rsp + 0x40]
movsxd rdx, dword [rax + 4]
mov rax, qword [r14 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], edi
je 0x14016b3a9
mov rcx, r14
call fcn.14015cef0
or dword [r13 + 0x8c], 8
mov ecx, reloc.COMCTL32.dll_InitCommonControls
mov dword [rbp + 0x368], ecx
jmp 0x140168c6b
mov rbx, qword [rsp + 0x40]
lea r8, [rbp - 0x20]
mov rcx, qword [r14 + 0x20]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14013cb30
mov rdx, rbx
mov rcx, r13
call fcn.14012d140
movsxd rcx, dword [rbp - 0x20]
mov qword [rax], rcx
mov ecx, dword [rbp + 0x368]
mov rsi, rbx
mov r10, qword [rsp + 0x50]
mov r11d, 1
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
movsxd rdi, dword [rax + 4]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
shl rdi, 5
add rdi, qword [r14 + 0x20]
add rbx, r15
mov rcx, rbx
call fcn.14016ff60
mov qword [rbx], rax
mov eax, 0xbe04
and word [rbx + 8], ax
or word [rbx + 8], 4
mov rax, qword [rsp + 0x40]
mov r8d, dword [rbx]
mov rcx, qword [rdi + 8]
mov edx, dword [rax + 8]
call fcn.14013ea70
mov dword [rbp + 0x368], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x14016b479
mov rcx, qword [rdi + 0x18]
mov eax, dword [rbx]
mov dword [rcx], eax
or dword [r14 + 0x2c], 2
jmp 0x14016b488
cmp eax, 2
jne 0x14016b488
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rbx]
mov byte [rcx + 0x70], al
mov rcx, qword [rsp + 0x40]
cmp dword [rcx + 4], 1
jne 0x140168c65
mov rax, qword [r14 + 8]
test rax, rax
je 0x14016b4b0
or dword [rax + 0x8c], 8
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x14016b4a0
and dword [r13 + 0x8c], 0xfffffff7
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je case.0x140168a09.54
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 8]
cmp dword [rbx + 0x2c], eax
je 0x14016b62f
test byte [r13 + 0x8c], 8
jne 0x14016ef0f
mov rbx, qword [rsp + 0x40]
mov esi, r12d
mov rcx, qword [rsp + 0x58]
mov r14, r12
movsxd r12, dword [rbx + 0xc]
movsxd r15, dword [rbx + 8]
mov rax, r12
shl rax, 5
add rax, qword [rcx + 0x20]
mov r13, qword [rax + 8]
cmp dil, 0x37
jne 0x14016b541
mov rax, qword [rax + 0x18]
mov edi, r11d
movzx ecx, byte [rax + 0x70]
mov rax, qword [rbp + 0x350]
cmp cl, byte [rax + 0x8b]
jae 0x14016b543
mov byte [rax + 0x8b], cl
jmp 0x14016b543
xor edi, edi
test byte [rbx + 3], 4
je 0x14016b583
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14016ff60
mov qword [rbx], rax
mov eax, 0xbe04
and word [rbx + 8], ax
or word [rbx + 8], 4
mov r15d, dword [rbx]
cmp r15d, 2
jl 0x14016eec6
mov rbx, qword [rsp + 0x40]
mov r11d, 1
movzx eax, byte [rbx + 1]
cmp al, 0xfa
jne 0x14016b59d
mov r14, qword [rbx + 0x10]
movzx esi, word [r14 + 8]
movzx eax, word [r14 + 6]
add esi, eax
jmp 0x14016b5a4
cmp al, 0xf2
jne 0x14016b5a4
mov esi, dword [rbx + 0x10]
mov edx, dword [rbx + 4]
mov r9d, r12d
mov rcx, qword [rbp + 0x350]
mov r8d, esi
mov dword [rsp + 0x20], r11d
call fcn.140114aa0
mov rbx, rax
test rax, rax
je 0x14016a96c
mov rdx, qword [rax]
mov r9, r14
or dword [rax + 0x28], 8
mov r8d, edi
mov qword [rsp + 0x20], rdx
mov rcx, r13
mov edx, r15d
mov byte [rax + 0x25], 1
mov dword [rax + 0x2c], r15d
call fcn.14013c550
mov r15, qword [rsp + 0x60]
xor r12d, r12d
mov r10, qword [rsp + 0x50]
mov ecx, r12d
mov dword [rbp + 0x368], eax
mov rax, qword [rsp + 0x40]
mov qword [rbx + 0x10], r14
lea r11d, [r12 + 1]
mov r14, qword [rsp + 0x58]
cmp byte [rax + 1], 0xfa
mov eax, 4
cmovne ecx, eax
mov eax, dword [rbx + 0x28]
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 0x28], ecx
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
movzx ecx, byte [rax + 3]
mov rax, qword [rbx]
and cl, 3
mov byte [rax + 0x5f], cl
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
mov r9d, 0xffffffff
mov rcx, r13
mov dword [rsp + 0x20], r11d
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.140114aa0
mov rdi, rax
test rax, rax
je 0x14016a978
or dword [rax + 0x28], 1
lea r9, [rdi + 8]
mov byte [rax + 0x25], 1
xor edx, edx
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x28], 0x41e
movzx ecx, byte [rax + 3]
mov rax, qword [rsp + 0x58]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov r8, rax
mov rcx, qword [rax]
call fcn.14013da30
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016b796
mov rcx, qword [rdi + 8]
mov r13d, 1
mov edx, r13d
call fcn.14013b910
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016b796
mov rax, qword [rsp + 0x40]
mov r15, qword [rax + 0x10]
test r15, r15
je 0x14016b76d
mov rbx, qword [rdi + 8]
movzx esi, byte [rax + 3]
or esi, 2
cmp byte [rbx + 0x11], 0
je 0x14016b710
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14016b710
mov rcx, rbx
call fcn.140119390
mov r8d, esi
lea rdx, [rbp - 0x1c]
mov rcx, rbx
call fcn.1401186f0
cmp byte [rbx + 0x11], 0
mov dword [rbp + 0x368], eax
je 0x14016b73f
sub dword [rbx + 0x14], r13d
jne 0x14016b73f
mov rcx, rbx
call fcn.14017a660
mov eax, dword [rbp + 0x368]
test eax, eax
jne 0x14016b767
mov rax, qword [rdi]
mov r9, r15
mov edx, dword [rbp - 0x1c]
mov r8d, r13d
mov rcx, qword [rdi + 8]
mov qword [rsp + 0x20], rax
mov qword [rdi + 0x10], r15
call fcn.14013c550
mov dword [rbp + 0x368], eax
and dword [rdi + 0x28], 0xfffffffb
jmp 0x14016b791
mov rax, qword [rdi]
xor r9d, r9d
mov rcx, qword [rdi + 8]
mov r8d, r13d
mov edx, r13d
mov qword [rsp + 0x20], rax
call fcn.14013c550
or dword [rdi + 0x28], 4
mov dword [rbp + 0x368], eax
mov r15, qword [rsp + 0x60]
mov rax, qword [rsp + 0x40]
mov ecx, r12d
mov r14, qword [rsp + 0x58]
cmp byte [rax + 3], 8
mov eax, 8
cmovne ecx, eax
mov eax, dword [rdi + 0x28]
and eax, 0xfffffff7
or ecx, eax
mov dword [rdi + 0x28], ecx
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
mov r9d, 0xffffffff
mov rcx, r13
mov dword [rsp + 0x20], r11d
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.140114aa0
test rax, rax
je 0x14016a978
mov rdx, qword [rsp + 0x40]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x10], rcx
mov rcx, r14
mov edx, dword [rdx + 0xc]
call fcn.1401729d0
mov ecx, eax
mov dword [rbp + 0x368], eax
jmp 0x140168c6b
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x38]
lea rax, [rcx + 1]
mov qword [rdx + 0x38], rax
mov rsi, qword [rsp + 0x40]
test rcx, rcx
je 0x14016c335
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
mov r9d, 0xffffffff
mov rcx, r13
mov dword [rsp + 0x20], r12d
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.140114aa0
test rax, rax
je 0x14016a978
mov rcx, qword [rsp + 0x40]
mov byte [rax + 0x25], 1
mov ecx, dword [rcx + 8]
or dword [rax + 0x28], 4
mov dword [rax + 0x1c], ecx
jmp 0x140168c65
mov rdx, qword [r13 + 0x60]
mov rcx, r13
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.14016f8f0
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov qword [rax + rcx*8], r12
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov r14, qword [rax + rcx*8]
test byte [r14 + 0x28], 4
mov byte [r14 + 0x25], 0
je 0x14016b976
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
add rsi, r15
movzx eax, byte [rsi + 8]
and al, 0xe
cmp al, 2
jne 0x14016b8f9
xor edx, edx
mov rcx, rsi
call fcn.140116100
mov rcx, rsi
call fcn.14016ff60
movzx ecx, word [rsi + 8]
mov r15, rax
test cl, 4
jne 0x14016b941
test cl, 8
je 0x14016c32b
movsd xmm1, qword [rsi]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
comisd xmm0, xmm1
jbe 0x14016b933
test dil, 1
cmovne ebx, edi
mov edi, ebx
jmp 0x14016b941
comisd xmm1, xmm0
jbe 0x14016b941
test dil, 1
je 0x14016b941
inc edi
mov rcx, qword [r14]
lea rax, [rsp + 0x68]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r15
xor edx, edx
call fcn.14013d490
mov dword [rbp + 0x368], eax
mov ecx, eax
mov qword [r14 + 0x40], r15
test eax, eax
jne 0x14016bfe7
mov r15, qword [rsp + 0x60]
jmp 0x14016b9f4
mov rax, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x40]
mov qword [rbp + 0x148], rax
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x150], ax
lea eax, [rdi - 1]
test al, 1
mov eax, r11d
cmovne eax, r9d
mov byte [rbp + 0x152], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
mov eax, 0x4000
add rcx, r15
mov qword [rbp + 0x158], rcx
test word [rcx + 8], ax
je 0x14016b9c5
call fcn.140170a40
mov rcx, qword [r14]
lea rax, [rsp + 0x68]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0x148]
call fcn.14013d490
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016bfe7
mov byte [r14 + 0x26], 0
mov dword [r14 + 0x50], r12d
mov eax, dword [rsp + 0x68]
cmp edi, 0x41
jl 0x14016bab1
test eax, eax
js 0x14016ba24
jne 0x14016ba15
cmp edi, 0x42
je 0x14016ba24
mov r14, qword [rsp + 0x58]
mov dword [rsp + 0x68], r12d
jmp 0x140168c6b
mov dword [rsp + 0x68], r12d
mov rcx, qword [r14]
and byte [rcx + 0x5c], 0xf9
mov word [rcx + 0x38], r12w
mov dword [rsp + 0x68], r12d
cmp byte [rcx + 0x5e], 1
je 0x14016ba53
lea rdx, [rsp + 0x68]
call fcn.140119600
mov ecx, eax
test eax, eax
jmp 0x14016bb2c
movsx rax, byte [rcx + 0x60]
mov rdx, qword [rcx + rax*8 + 0xa0]
inc word [rcx + rax*2 + 0x78]
movzx eax, word [rcx + rax*2 + 0x78]
cmp ax, word [rdx + 0x12]
jb 0x14016ba92
movsx rax, byte [rcx + 0x60]
mov edx, 0xffff
add word [rcx + rax*2 + 0x78], dx
lea rdx, [rsp + 0x68]
call fcn.140119600
mov ecx, eax
test eax, eax
jmp 0x14016bb2c
cmp byte [rdx + 5], 0
je 0x14016baa6
mov ecx, r12d
mov dword [rbp + 0x368], ecx
jmp 0x14016bb38
call fcn.14012a630
mov ecx, eax
test eax, eax
jmp 0x14016bb2c
test eax, eax
jg 0x14016bad5
jne 0x14016babc
cmp edi, 0x3f
je 0x14016bad5
mov rax, qword [r14]
mov ecx, r12d
cmp byte [rax + 0x5e], 1
setne cl
mov dword [rsp + 0x68], ecx
mov ecx, dword [rbp + 0x368]
jmp 0x14016bb38
mov dword [rsp + 0x68], r12d
mov rcx, qword [r14]
and byte [rcx + 0x5c], 0xf1
cmp byte [rcx + 0x5e], 1
mov word [rcx + 0x38], r12w
jne 0x14016bb1e
movsx r8, byte [rcx + 0x60]
movzx edx, word [rcx + r8*2 + 0x78]
test dx, dx
je 0x14016bb1e
mov rax, qword [rcx + r8*8 + 0xa0]
cmp byte [rax + 5], 0
je 0x14016bb1e
dec dx
mov word [rcx + r8*2 + 0x78], dx
mov ecx, r12d
mov dword [rbp + 0x368], ecx
jmp 0x14016bb38
lea rdx, [rsp + 0x68]
call fcn.140119a30
mov ecx, eax
test eax, eax
mov dword [rbp + 0x368], eax
jne 0x14016bfe7
cmp dword [rsp + 0x68], 0
mov rsi, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
jne 0x14016c335
mov r14, qword [rsp + 0x58]
jmp 0x140168c1d
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x40]
mov byte [rbx + 0x25], 0
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r15
call fcn.14016ff60
mov qword [rbx + 0x40], rax
mov byte [rbx + 0x26], 1
jmp 0x140168c65
mov rbx, qword [rsp + 0x40]
mov rax, qword [r13 + 0x60]
movsxd rcx, dword [rbx + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
mov ecx, dword [rbx + 0x10]
imul rsi, rax, 0x38
add rsi, r15
mov r15, r12
test ecx, ecx
jle 0x14016bc25
mov rax, qword [r14 + 0x10]
mov ebx, r12d
mov qword [rbp + 0x128], rax
mov word [rbp + 0x130], cx
mov qword [rbp + 0x138], rsi
cmp r12w, cx
jae 0x14016bc19
mov rdi, r12
mov r13d, 0x4000
nop
test word [rdi + rsi + 8], r13w
je 0x14016bc05
movsxd rax, ebx
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140170a40
movzx ecx, word [rbp + 0x130]
mov rsi, qword [rbp + 0x138]
inc ebx
movzx eax, cx
add rdi, 0x38
cmp ebx, eax
jl 0x14016bbe0
mov r13, qword [rbp + 0x350]
lea rdi, [rbp + 0x128]
jmp 0x14016bcb5
mov rbx, qword [r14 + 0x10]
lea rdx, [rbp + 0x1e0]
neg edx
and edx, 7
movzx r8d, word [rbx + 6]
imul ecx, r8d, 0x38
lea eax, [rdx + 0x107]
add ecx, 0x58
cmp ecx, eax
jbe 0x14016bc6d
mov rcx, qword [rbx + 0x10]
imul rdx, r8, 0x38
add rdx, 0x58
call fcn.140141f40
mov rdi, rax
mov r15, rax
test rax, rax
je 0x14016a6ff
jmp 0x14016bc79
mov eax, edx
lea rdi, [rbp + 0x1e0]
add rdi, rax
lea rax, [rdi + 0x20]
mov qword [rdi], rbx
mov qword [rdi + 0x10], rax
movzx eax, word [rbx + 6]
inc ax
mov word [rdi + 8], ax
mov eax, 0x4000
test word [rsi + 8], ax
je 0x14016bca2
mov rcx, rsi
call fcn.140170a40
mov r8, qword [rsi + 0x10]
mov r9, rdi
mov edx, dword [rsi + 0xc]
mov rcx, qword [r14 + 0x10]
call fcn.1401722f0
mov rax, qword [rsp + 0x40]
mov ebx, r12d
mov byte [rdi + 0xa], 0
cmp byte [rax], 0x44
jne 0x14016bcf6
movzx edx, word [rdi + 8]
mov ecx, r12d
test edx, edx
je 0x14016bcf6
mov rax, qword [rdi + 0x10]
add rax, 8
nop dword [rax]
test byte [rax], 1
jne 0x14016bcf1
inc ecx
add rax, 0x38
cmp ecx, edx
jl 0x14016bce0
jmp 0x14016bcf6
mov ebx, 1
mov rcx, qword [r14]
lea rax, [rbp - 0x18]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.14013d490
mov rcx, qword [rsp + 0x58]
mov rdx, r15
mov dword [rbp + 0x368], eax
call fcn.140141ef0
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
test ecx, ecx
jne 0x1401692ba
mov eax, dword [rbp - 0x18]
mov ecx, r12d
test eax, eax
mov dword [r14 + 0x18], eax
mov byte [r14 + 0x26], 0
sete cl
mov dword [r14 + 0x50], r12d
test eax, eax
setne al
mov byte [r14 + 0x25], al
cmp byte [rsi], 0x46
jne 0x14016bd84
test ecx, ecx
jne 0x14016c330
add qword [rsp + 0x40], 0x18
mov rsi, qword [rsp + 0x40]
mov ecx, dword [rbp + 0x368]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
jmp 0x14016acc6
test ebx, ebx
jne 0x14016c330
test ecx, ecx
je 0x14016c330
jmp 0x14016bd64
mov rbx, qword [rsp + 0x40]
xor r9d, r9d
mov rax, qword [r13 + 0x60]
mov dword [rbp - 0x4c], r12d
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rdx, rax, 0x38
mov rcx, qword [rdi]
lea rax, [rbp - 0x4c]
mov qword [rsp + 0x20], rax
mov rbx, qword [rdx + r15]
xor edx, edx
mov r8, rbx
call fcn.14013d490
mov dword [rbp + 0x368], eax
mov eax, dword [rbp - 0x4c]
test eax, eax
mov dword [rdi + 0x18], eax
mov qword [rdi + 0x40], rbx
mov word [rdi + 0x25], 0
mov dword [rdi + 0x50], r12d
mov rsi, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
jne 0x14016c335
mov ecx, dword [rbp + 0x368]
jmp 0x140168c1d
mov rbx, qword [rsp + 0x40]
mov rcx, r13
mov rdx, rbx
call fcn.14012d140
mov rcx, qword [r13 + 0x60]
mov rsi, rbx
movsxd rdx, dword [rbx + 4]
mov r11d, 1
mov r10, qword [rsp + 0x50]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x38]
mov qword [rax], rcx
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x60]
mov rdx, qword [rax + rcx*8]
mov ecx, dword [rbp + 0x368]
inc qword [rdx + 0x38]
jmp case.default.0x140168a09
mov rdi, qword [rsp + 0x40]
mov rbx, r12
mov rdx, rdi
mov qword [rsp + 0x78], rbx
mov rcx, r13
mov dword [rsp + 0x70], r12d
call fcn.14012d140
movsxd rdx, dword [rdi + 4]
mov r14, rax
mov rcx, qword [r13 + 0x60]
mov rsi, qword [rcx + rdx*8]
test byte [rsi + 0x28], 2
jne 0x14016beee
mov rcx, qword [rsi]
lea rdx, [rsp + 0x70]
call fcn.14013d3a0
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016bfe7
cmp dword [rsp + 0x70], eax
je 0x14016beb6
mov eax, 1
mov ebx, eax
mov qword [rsp + 0x78], rax
jmp 0x14016beee
mov rbx, qword [rsi]
mov rcx, rbx
call fcn.1401274f0
mov rbx, qword [rbx + 0x20]
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x78], rbx
mov dword [rbp + 0x368], r12d
cmp rbx, rax
jl 0x14016bee6
or dword [rsi + 0x28], 2
jmp 0x14016beee
inc rbx
mov qword [rsp + 0x78], rbx
movsxd rdx, dword [rdi + 0xc]
test edx, edx
je 0x14016bf75
mov rcx, qword [r13 + 0xf0]
test rcx, rcx
je 0x14016bf26
mov rax, qword [rcx + 8]
test rax, rax
je 0x14016bf1c
nop dword [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14016bf10
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14016bf2d
imul rdi, rdx, 0x38
add rdi, r15
mov rcx, rdi
call fcn.14016ff60
mov ecx, 0xbe04
mov qword [rdi], rax
and word [rdi + 8], cx
movabs rcx, 0x7fffffffffffffff
or word [rdi + 8], 4
cmp rax, rcx
je 0x14016bfdc
test byte [rsi + 0x28], 2
jne 0x14016bfdc
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rsp + 0x78], rbx
mov qword [rdi], rbx
test byte [rsi + 0x28], 2
je 0x14016bff1
mov edi, r12d
nop
lea rdx, [rsp + 0x78]
mov ecx, 8
call fcn.140108780
mov rbx, qword [rsp + 0x78]
movabs rax, 0x3fffffffffffffff
mov rcx, qword [rsi]
and rbx, rax
inc rbx
lea rax, [rsp + 0x70]
mov r8, rbx
mov qword [rsp + 0x78], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.14013d490
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016bff7
cmp dword [rsp + 0x70], eax
jne 0x14016bff7
inc edi
cmp edi, 0x64
jl 0x14016bf80
mov ecx, SafeArrayGetDim
mov dword [rbp + 0x368], ecx
mov r14, qword [rsp + 0x58]
jmp 0x14016eefb
mov ecx, dword [rbp + 0x368]
mov byte [rsi + 0x26], 0
mov dword [rsi + 0x50], r12d
mov qword [r14], rbx
mov r14, qword [rsp + 0x58]
jmp 0x140168c6b
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul r9, rax, 0x38
mov rax, qword [r13 + 0x60]
add r9, r15
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
movsxd rbx, dword [rcx + 0xc]
cmp dil, 0x54
jne 0x14016c03f
imul rax, rbx, 0x38
mov rbx, qword [rax + r15]
movzx eax, byte [rcx + 3]
test al, 1
je 0x14016c052
inc dword [r13 + 0x90]
movzx eax, byte [rcx + 3]
test al, 2
je 0x14016c05e
mov qword [rbp - 0x58], rbx
mov qword [r14 + 0x30], rbx
movzx eax, word [r9 + 8]
test al, 1
je 0x14016c06f
mov qword [r9 + 0x10], r12
mov dword [r9 + 0xc], r12d
movzx r8d, byte [rcx + 3]
test r8b, 0x10
je 0x14016c07f
mov edx, dword [rsi + 0x18]
jmp 0x14016c082
mov edx, r12d
mov ecx, 0x4000
test cx, ax
je 0x14016c091
mov ecx, dword [r9]
jmp 0x14016c094
mov ecx, r12d
mov dword [rsp + 0x38], edx
xor edx, edx
movzx eax, r8b
mov r8, rbx
shr eax, 3
and eax, 1
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0xc]
mov r9, qword [r9 + 0x10]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsi]
mov dword [rsp + 0x20], eax
call fcn.14013cbc0
mov dword [rbp + 0x368], eax
mov ecx, eax
mov byte [rsi + 0x26], 0
mov dword [rsi + 0x50], r12d
test eax, eax
jne 0x140168c6b
mov r10, qword [r14 + 0x110]
test r10, r10
je 0x140168c6b
mov r9, qword [rsp + 0x40]
mov r9, qword [r9 + 0x10]
test r9, r9
je 0x140168c6b
mov rcx, qword [rsp + 0x40]
mov edx, send
movsx rax, byte [rsi + 0x24]
mov r8, qword [r14 + 0x20]
shl rax, 5
test byte [rcx + 3], 4
mov ecx, reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov qword [rsp + 0x20], rbx
cmovne edx, ecx
mov rcx, qword [r14 + 0x108]
mov r8, qword [rax + r8]
call r10
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx]
call fcn.14013c710
mov dword [rbp + 0x368], eax
mov ecx, eax
mov dword [rbx + 0x50], r12d
test eax, eax
jne 0x14016c1b0
mov r10, qword [r14 + 0x110]
test r10, r10
je 0x14016c1b0
mov r9, qword [rsp + 0x40]
mov r9, qword [r9 + 0x10]
test r9, r9
je 0x14016c1b0
test byte [rbx + 0x28], 4
je 0x14016c1b0
movsx rcx, byte [rbx + 0x24]
mov edx, 9
mov r8, qword [r14 + 0x20]
mov rax, qword [rbx + 0x40]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, qword [r14 + 0x108]
call r10
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
mov r11d, 1
mov r10, qword [rsp + 0x50]
mov edi, dword [rsp + 0x48]
test byte [rsi + 8], r11b
je 0x140168c27
inc dword [r13 + 0x90]
jmp 0x140168c27
mov eax, dword [r13 + 0x90]
add dword [r14 + 0x64], eax
mov ecx, dword [rbp + 0x368]
mov dword [r14 + 0x60], eax
mov dword [r13 + 0x90], r12d
jmp case.default.0x140168a09
mov rbx, qword [rsp + 0x40]
mov rax, qword [r13 + 0x60]
movsxd rcx, dword [rbx + 4]
mov edi, dword [rbx + 0x10]
mov rdx, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul r15, rax, 0x38
mov rbx, qword [rdx + 0x48]
add r15, qword [rsp + 0x60]
mov rsi, qword [rdx + 0x10]
mov r14, qword [rbx + 0x30]
test r14, r14
jne 0x14016c278
movzx eax, word [rsi + 6]
mov rcx, qword [rsi + 0x10]
imul rdx, rax, 0x38
add rdx, 0x58
call fcn.140141f40
mov r14, rax
test rax, rax
jne 0x14016c24f
mov r14, r12
jmp 0x14016c266
add rax, 0x20
mov qword [r14], rsi
mov qword [r14 + 0x10], rax
movzx eax, word [rsi + 6]
inc ax
mov word [r14 + 8], ax
mov qword [rbx + 0x30], r14
test r14, r14
je 0x14016ef19
mov word [r14 + 8], di
cmp byte [rbx + 0x58], 0
je 0x14016c2b4
cmp byte [rbx + 0x59], 0
je 0x14016c292
mov rax, qword [rbx + 0x10]
mov r8, qword [rax + 0x28]
add rax, 0x14
jmp 0x14016c2bc
mov rdx, qword [rbx + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov r8, qword [rax + 0x28]
add rax, 0x14
jmp 0x14016c2bc
mov rax, qword [rbx + 0x38]
lea r8, [rax + 0x10]
mov edx, dword [rax]
mov r9, r14
mov rcx, rsi
call fcn.1401722f0
mov ecx, r12d
test edi, edi
jle 0x14016c2e7
mov rax, qword [r14 + 0x10]
add rax, 8
test byte [rax], 1
jne 0x14016c324
inc ecx
add rax, 0x38
cmp ecx, edi
jl 0x14016c2d8
mov rdx, qword [r15 + 0x10]
xor r9d, r9d
mov ecx, dword [r15 + 0xc]
mov r8, r14
call fcn.140171bb0
mov rsi, qword [rsp + 0x40]
mov ecx, r12d
mov dword [rbp + 0x368], ecx
test eax, eax
jne 0x14016c330
mov r14, qword [rsp + 0x58]
add rsi, 0x18
mov r15, qword [rsp + 0x60]
mov qword [rsp + 0x40], rsi
jmp 0x14016acc6
mov dword [rbp + 0x368], r12d
mov rsi, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
mov eax, dword [rsi + 8]
mov r14, qword [rsp + 0x58]
dec eax
mov r15, qword [rsp + 0x60]
cdqe
lea rcx, [rax + rax*2]
lea rcx, [r10 + rcx*8]
mov qword [rsp + 0x40], rcx
mov rsi, qword [rsp + 0x40]
mov ecx, dword [rbp + 0x368]
jmp 0x140168c1d
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rbx, rax, 0x38
mov rax, qword [r13 + 0x60]
add rbx, r15
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x48]
cmp byte [rax + 0x58], 0
je 0x14016c3bf
cmp byte [rax + 0x59], 0
je 0x14016c39d
mov rax, qword [rax + 0x10]
mov rsi, qword [rax + 0x28]
add rax, 0x14
jmp 0x14016c3c7
mov rdx, qword [rax + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov rsi, qword [rax + 0x28]
add rax, 0x14
jmp 0x14016c3c7
mov rax, qword [rax + 0x38]
lea rsi, [rax + 0x10]
movsxd rdi, dword [rax]
cmp dword [rbx + 0x20], edi
jge 0x14016c3ec
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.140170be0
test eax, eax
je 0x14016c3f9
mov dword [rbp + 0x368], 7
jmp 0x14016c420
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0xd
mov qword [rbx + 0x10], rax
mov rcx, qword [rbx + 0x10]
mov eax, 0xbe10
and word [rbx + 8], ax
mov r8, rdi
or word [rbx + 8], 0x10
mov rdx, rsi
mov dword [rbx + 0xc], edi
call fcn.1402496a0
mov dword [rbp + 0x368], r12d
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x60]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x50], r12d
jmp 0x140168c65
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rbx, rax, 0x38
mov rax, qword [r13 + 0x60]
add rbx, r15
mov r14, qword [rax + rcx*8]
test byte [r14 + 0x28], 4
mov rsi, qword [r14]
mov rcx, rsi
jne 0x14016c480
call fcn.1401274f0
mov rax, qword [rsp + 0x58]
mov rdi, qword [rsi + 0x20]
movsxd rax, dword [rax + 0x68]
cmp rdi, rax
jg 0x14016efeb
jmp 0x14016c496
call fcn.1401274f0
mov rax, qword [rsp + 0x58]
mov edi, dword [rsi + 0x30]
cmp edi, dword [rax + 0x68]
ja 0x14016efeb
mov edx, 0x20
cmp edi, edx
cmova edx, edi
cmp dword [rbx + 0x20], edx
jge 0x14016c4ba
xor r8d, r8d
mov rcx, rbx
call fcn.140170be0
test eax, eax
jne 0x14016a6ff
jmp 0x14016c4c7
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0xd
mov qword [rbx + 0x10], rax
mov r9, qword [rbx + 0x10]
mov eax, 0xbe10
and word [rbx + 8], ax
xor edx, edx
or word [rbx + 8], 0x10
mov r8d, edi
mov dword [rbx + 0xc], edi
mov rcx, rsi
test byte [r14 + 0x28], 4
jne 0x14016c50b
mov dword [rsp + 0x20], r12d
call fcn.1401139e0
mov r14, qword [rsp + 0x58]
mov ecx, eax
mov dword [rbp + 0x368], eax
mov byte [rbx + 0xa], 1
jmp 0x140168c6b
call fcn.14013c6a0
mov r14, qword [rsp + 0x58]
mov ecx, eax
mov dword [rbp + 0x368], eax
mov byte [rbx + 0xa], 1
jmp 0x140168c6b
mov rbx, qword [rsp + 0x40]
mov rcx, r13
mov rdx, rbx
call fcn.14012d140
movsxd rdx, dword [rbx + 4]
mov rdi, rax
mov rcx, qword [r13 + 0x60]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 0x25], 0
je 0x14016c56b
mov r11d, 1
mov word [rax + 8], r11w
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
jmp case.default.0x140168a09
cmp byte [rbx + 0x26], 0
je 0x14016c587
mov rax, qword [rbx + 0x40]
mov ecx, dword [rbp + 0x368]
mov qword [rbp + 0x10], rax
mov qword [rdi], rax
jmp 0x140168c6b
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14016c5c0
mov rbx, qword [rcx]
lea rdx, [rbp + 0x10]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r13
mov dword [rbp + 0x368], eax
call fcn.140173840
mov rax, qword [rbp + 0x10]
mov ecx, dword [rbp + 0x368]
mov qword [rdi], rax
jmp 0x140168c6b
mov rax, qword [rbx]
cmp byte [rax + 0x5e], 1
je 0x14016c5e3
mov rcx, rbx
call fcn.140127bc0
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016eefb
jmp 0x14016c5ec
mov ecx, r12d
mov dword [rbp + 0x368], ecx
cmp byte [rbx + 0x25], 0
je 0x14016c61e
mov rsi, qword [rsp + 0x40]
mov r11d, 1
mov r10, qword [rsp + 0x50]
add rsi, 0x18
mov r8d, dword [rsp + 0x6c]
mov word [rdi + 8], r11w
mov edi, dword [rsp + 0x48]
mov qword [rsp + 0x40], rsi
jmp 0x1401689c0
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.1401274f0
mov rax, qword [rbx + 0x20]
mov ecx, r12d
mov qword [rbp + 0x10], rax
mov qword [rdi], rax
mov dword [rbp + 0x368], ecx
jmp 0x140168c6b
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rdx, qword [rax + rcx*8]
mov rbx, qword [rdx]
mov byte [rdx + 0x25], 1
mov dword [rdx + 0x50], r12d
test rbx, rbx
je 0x140168a7a
mov rcx, qword [rbx + 0x48]
call fcn.140108630
mov qword [rbx + 0x48], r12
mov byte [rbx + 0x5e], 0
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
lea rdx, [rbp - 0x48]
mov dword [rbp - 0x48], r12d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx]
call fcn.14013d3a0
mov rsi, qword [rsp + 0x40]
mov ecx, dword [rbp - 0x48]
mov dword [rbp + 0x368], eax
mov rax, qword [rsp + 0x40]
mov byte [rbx + 0x25], cl
mov byte [rbx + 0x26], 0
mov dword [rbx + 0x50], r12d
mov eax, dword [rax + 0xc]
mov dword [rbx + 0x18], eax
cmp dword [rsi + 8], 0
jle 0x14016e9d7
test ecx, ecx
jmp 0x14016bdf1
inc dword [r13 + 0xa8]
mov rax, qword [rsp + 0x40]
mov edi, r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rsi, qword [rax + rcx*8]
mov rbx, qword [rsi + 0x48]
test rbx, rbx
je 0x14016c76a
cmp byte [rbx + 0x58], 0
mov dword [rbp + 0x368], r12d
jne 0x14016c731
cmp qword [rbx + 0x38], 0
lea rdx, [rbx + 0x38]
je 0x14016c7b4
lea rcx, [rbx + 0x60]
mov edi, r12d
call fcn.14017f030
mov dword [rbp + 0x368], eax
test r12d, r12d
mov byte [rsi + 0x25], dil
jmp 0x14016bdec
mov rcx, rbx
call fcn.14017e230
mov edx, eax
mov rcx, rbx
call fcn.14017e3a0
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016c7b4
mov rcx, rbx
call fcn.14017ee30
mov edi, r12d
mov dword [rbp + 0x368], eax
mov byte [rsi + 0x25], dil
test r12d, r12d
jmp 0x14016bdec
mov rbx, qword [rsi]
mov rcx, rbx
call fcn.14012a820
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016c7ac
cmp byte [rbx + 0x5e], al
jne 0x14016c79b
mov edi, 1
mov byte [rsi + 0x26], al
mov byte [rsi + 0x25], dil
test edi, edi
mov dword [rsi + 0x50], r12d
jmp 0x14016bdec
mov rcx, rbx
mov edi, r12d
call fcn.14012a630
mov dword [rbp + 0x368], eax
mov byte [rsi + 0x26], 0
mov dword [rsi + 0x50], r12d
mov byte [rsi + 0x25], dil
test edi, edi
jmp 0x14016bdec
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rdi, qword [rax + rcx*8]
mov dword [rbp - 0x80], r12d
mov rbx, qword [rdi + 0x48]
cmp byte [rbx + 0x58], 0
je 0x14016c819
cmp byte [rbx + 0x59], 0
je 0x14016c80a
mov rcx, qword [rbx + 0x10]
call fcn.14017d500
mov ecx, r12d
mov dword [rbp + 0x368], eax
mov rax, qword [rbx + 0x10]
cmp qword [rax + 0x18], 0
sete cl
mov dword [rbp - 0x80], ecx
jmp 0x14016c898
mov rcx, qword [rbx + 0x18]
lea rdx, [rbp - 0x80]
call fcn.14017cf60
jmp 0x14016c892
mov rdx, qword [rbx + 0x38]
mov rax, qword [rdx + 8]
mov qword [rbx + 0x38], rax
mov qword [rdx + 8], r12
cmp qword [rbx + 0x40], 0
jne 0x14016c838
mov rcx, r14
call fcn.14017edb0
cmp qword [rbx + 0x38], 0
mov eax, r12d
mov dword [rbp + 0x368], r12d
sete al
mov dword [rbp - 0x80], eax
jmp 0x14016c898
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
cmp qword [rax + rcx*8], 0
je 0x140168a7a
mov rax, qword [rsp + 0x40]
lea rdx, [rbp - 0x80]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xc]
mov dword [rbp - 0x80], eax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rdi]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov dword [rbp + 0x368], eax
mov r10, qword [rsp + 0x50]
mov dword [rdi + 0x50], r12d
cmp dword [rbp - 0x80], 0
jne 0x14016c8c1
mov rax, qword [rsp + 0x40]
mov byte [rdi + 0x25], 0
movzx eax, byte [rax + 3]
inc dword [r13 + rax*4 + 0xa0]
jmp case.0x140168a09.14
mov byte [rdi + 0x25], 1
jmp 0x14016d39c
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r15
test byte [rcx + 3], 1
je 0x14016c8f8
inc dword [r13 + 0x90]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14016c920
mov rcx, rbx
call fcn.140170a40
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x140168c6b
mov rcx, qword [rsp + 0x40]
cmp byte [rcx], 0x6e
jne 0x14016c93d
mov rdx, rbx
mov rcx, rdi
call fcn.140173020
mov ecx, eax
mov dword [rbp + 0x368], eax
jmp 0x140168c6b
test byte [rcx + 3], 0x10
je 0x14016c948
mov eax, dword [rdi + 0x18]
jmp 0x14016c94b
mov eax, r12d
movsxd r8, dword [rbx + 0xc]
lea r9, [0x140286ae1]
mov rdx, qword [rbx + 0x10]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0xc]
mov rcx, qword [rdi]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
call fcn.14013cbc0
mov ecx, eax
mov dword [rbp + 0x368], eax
mov dword [rdi + 0x50], r12d
jmp 0x140168c6b
mov rax, qword [rsp + 0x40]
lea rdx, [rbp + 0x168]
xor r9d, r9d
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rbx + 0x10]
mov rdi, qword [rbx]
mov qword [rbp + 0x168], rax
movzx eax, word [rcx + 0xc]
mov word [rbp + 0x170], ax
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x18]
mov byte [rbp + 0x172], 0
add rcx, r15
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x178], rcx
mov rcx, rdi
call fcn.14013d490
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016ca0f
cmp dword [rbp + 0x18], eax
jne 0x14016ca0f
mov rcx, rdi
call fcn.14013c710
mov ecx, eax
mov dword [rbp + 0x368], eax
mov dword [rbx + 0x50], r12d
jmp 0x140168c6b
mov rbx, qword [rsp + 0x40]
mov rcx, r13
mov rdx, rbx
call fcn.14012d140
mov rcx, qword [r13 + 0x60]
mov rdi, rax
movsxd rdx, dword [rbx + 4]
mov eax, 1
mov rbx, qword [rcx + rdx*8]
mov rsi, qword [rbx]
mov word [rdi + 8], ax
mov rcx, qword [rbx]
cmp byte [rcx + 0x5e], al
je 0x14016ca65
mov rcx, rbx
call fcn.140127bc0
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016eefb
jmp 0x14016ca6e
mov ecx, r12d
mov dword [rbp + 0x368], ecx
cmp byte [rbx + 0x25], 0
jne 0x14016caa7
lea r8, [rbp - 0x70]
mov qword [rbp - 0x70], r12
mov rdx, rsi
mov rcx, r14
call fcn.14016fd50
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016eefb
mov rax, qword [rbp - 0x70]
mov qword [rdi], rax
mov eax, 4
mov word [rdi + 8], ax
mov rsi, qword [rsp + 0x40]
add rsi, 0x18
mov qword [rsp + 0x40], rsi
jmp 0x14016acc6
mov rbx, qword [rsp + 0x40]
cmp dil, 0x74
mov rax, qword [r13 + 0x60]
mov edi, r12d
movsxd rcx, dword [rbx + 4]
mov rsi, qword [rax + rcx*8]
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0x188], rax
movzx eax, word [rbx + 0x10]
mov word [rbp + 0x190], ax
sbb al, al
mov byte [rbp + 0x192], al
movsxd rax, dword [rbx + 0xc]
mov rbx, qword [rsi]
imul rcx, rax, 0x38
add rcx, r15
mov qword [rbp + 0x198], rcx
mov rcx, rbx
call fcn.1401274f0
mov r10, qword [rbx + 0x20]
lea rax, [r10 - 1]
cmp rax, 0x7ffffffe
ja 0x14016cbf4
mov r11, qword [rsi]
mov word [rbp + 0xc0], r12w
mov qword [rbp + 0xe0], r14
mov dword [rbp + 0xd8], r12d
movsx rax, byte [r11 + 0x60]
mov rcx, qword [r11 + rax*8 + 0xa0]
movzx eax, word [r11 + 0x34]
mov edx, dword [rcx + 0x58]
sub edx, dword [r11 + 0x28]
cmp eax, edx
cmovae eax, edx
cmp r10d, eax
ja 0x14016cb7d
mov rdx, qword [r11 + 0x28]
mov eax, 0x1010
mov qword [rbp + 0xc8], rdx
mov word [rbp + 0xc0], ax
mov dword [rbp + 0xc4], r10d
jmp 0x14016cbb4
lea rax, [rbp + 0xb8]
mov r9d, 1
mov r8d, r10d
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, r11
call fcn.14017c980
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016cc1c
mov rdx, qword [rbp + 0xc8]
mov r10d, dword [rbp + 0xc4]
xor r9d, r9d
lea r8, [rbp + 0x188]
mov ecx, r10d
call fcn.140171bb0
mov edi, eax
mov eax, 0x2460
test word [rbp + 0xc0], ax
jne 0x14016cbdf
cmp dword [rbp + 0xd8], 0
je 0x14016cbeb
lea rcx, [rbp + 0xb8]
call fcn.14017c840
mov dword [rbp + 0x368], r12d
jmp 0x14016cc1c
lea r9, [0x1402b951c]
mov r8d, 0x11195
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.14010fcd0
mov dword [rbp + 0x368], SafeArrayGetDim
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
movzx ecx, byte [rax]
lea eax, [rdi + 1]
neg edi
and cl, 1
cmovne edi, eax
test edi, edi
jg 0x14016c335
mov ecx, dword [rbp + 0x368]
jmp 0x140168c1d
mov rbx, qword [rsp + 0x40]
mov rcx, r13
mov rdx, rbx
call fcn.14012d140
mov rsi, rax
mov eax, 1
mov word [rsi + 8], ax
mov ecx, dword [r14 + 0xb4]
inc ecx
cmp dword [r14 + 0xa8], ecx
jg 0x14016ef51
movsxd r15, dword [rbx + 0xc]
mov edi, dword [rbx + 4]
mov r14, r15
shl r14, 5
mov dword [rbp - 0x44], r12d
mov r12, qword [rsp + 0x58]
mov rax, qword [r12 + 0x20]
mov rbx, qword [r14 + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x14016ccb6
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14016ccb6
mov rcx, rbx
call fcn.140119390
lea r8, [rbp - 0x44]
mov edx, edi
mov rcx, rbx
call fcn.140118b40
cmp byte [rbx + 0x11], 0
mov dword [rbp + 0x368], eax
je 0x14016ccde
sub dword [rbx + 0x14], 1
jne 0x14016ccde
mov rcx, rbx
call fcn.14017a660
movsxd rdx, dword [rbp - 0x44]
mov eax, 4
mov ecx, dword [rbp + 0x368]
mov word [rsi + 8], ax
mov qword [rsi], rdx
test ecx, ecx
jne 0x14016eb8c
test edx, edx
je 0x14016eb8c
mov rax, qword [rsp + 0x40]
mov r9, qword [r12 + 0x20]
mov r8d, dword [rax + 4]
mov rcx, qword [r14 + r9 + 0x18]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14016cd3a
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x38], edx
jne 0x14016cd2d
mov dword [rcx + 0x38], r8d
mov rax, qword [rax]
test rax, rax
jne 0x14016cd20
mov rcx, qword [r14 + r9 + 0x18]
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x14016cd58
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x50], edx
jne 0x14016cd50
mov dword [rcx + 0x50], r8d
mov rax, qword [rax]
test rax, rax
jne 0x14016cd43
lea ebx, [r15 + 1]
mov r14, r12
mov byte [rbp + 0x358], bl
jmp 0x14016a74c
mov rax, qword [rsp + 0x40]
lea r8, [rbp - 0x68]
mov rcx, qword [r14 + 0x20]
mov rdx, qword [rsp + 0x40]
mov dword [rbp - 0x68], r12d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 8]
mov edx, dword [rdx + 4]
cmove r8, r12
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14013bbd0
mov rsi, qword [rsp + 0x40]
mov ecx, eax
mov r10, qword [rsp + 0x50]
mov dword [rbp + 0x368], eax
cmp dword [rsi + 0xc], 0
je 0x140168c1d
movsxd rdx, dword [rbp - 0x68]
mov r11d, 1
add dword [r13 + 0x90], edx
movsxd rax, dword [rsi + 0xc]
mov edi, dword [rsp + 0x48]
test eax, eax
jle 0x140168c27
imul rcx, rax, 0x38
add qword [rcx + r15], rdx
mov ecx, dword [rbp + 0x368]
jmp 0x140168c27
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x48]
test rdx, rdx
je 0x14016ce14
mov rcx, r14
call fcn.140172b90
jmp 0x140168c65
mov rcx, qword [rcx]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx]
call fcn.14013bbd0
mov ecx, eax
mov dword [rbp + 0x368], eax
jmp 0x140168c6b
mov rbx, qword [rsp + 0x40]
mov rcx, r13
mov rdx, rbx
call fcn.14012d140
cmp byte [rbx], 0x7a
mov edi, r12d
movsxd rdx, dword [rbx + 4]
mov rsi, rax
mov rcx, qword [r14 + 0x20]
setne dil
shl rdx, 5
mov dword [rbp - 0x7c], r12d
mov rbx, qword [rdx + rcx + 8]
cmp byte [rbx + 0x11], 0
je 0x14016ce7b
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14016ce7b
mov rcx, rbx
call fcn.140119390
lea r8d, [rdi + 1]
mov rcx, rbx
lea rdx, [rbp - 0x7c]
call fcn.1401186f0
cmp byte [rbx + 0x11], 0
mov dword [rbp + 0x368], eax
je 0x14016cea5
sub dword [rbx + 0x14], 1
jne 0x14016cea5
mov rcx, rbx
call fcn.14017a660
movsxd rax, dword [rbp - 0x7c]
mov qword [rsi], rax
jmp 0x140168c65
mov rbx, qword [rsp + 0x40]
lea rax, [r13 + 0x48]
mov r8, qword [r14 + 0x20]
lea r9, str.sqlite_temp_master
mov qword [rbp + 0x70], rax
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
lea rax, str.sqlite_master
mov qword [rbp + 0x68], r14
movsxd rcx, dword [rbx + 4]
cmp ecx, 1
mov dword [rbp + 0x78], ecx
cmovne r9, rax
mov rax, qword [rbx + 0x10]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, r14
call fcn.140152ec0
mov rbx, rax
test rax, rax
jne 0x14016cf16
mov dword [rbp + 0x368], 7
jmp 0x14016cf66
lea r9, [rbp + 0x68]
mov byte [r14 + 0xa1], 1
lea r8, [fcn.14014f610]
mov dword [rbp + 0x7c], r12d
mov rdx, rbx
mov qword [rsp + 0x20], r12
mov rcx, r14
call fcn.140106f60
test eax, eax
mov rdx, rbx
mov rcx, r14
cmove eax, dword [rbp + 0x7c]
mov dword [rbp + 0x368], eax
call fcn.140141ef0
mov ecx, dword [rbp + 0x368]
mov byte [r14 + 0xa1], 0
test ecx, ecx
je 0x14016cf74
mov rcx, r14
call fcn.14015cdf0
mov ecx, dword [rbp + 0x368]
cmp ecx, 7
je 0x14016a978
jmp 0x140168c6b
mov rax, qword [rsp + 0x40]
mov rcx, r14
mov edx, dword [rax + 4]
call fcn.140139190
mov ecx, eax
mov dword [rbp + 0x368], eax
jmp 0x140168c6b
mov rdi, qword [rsp + 0x40]
lea r8, [rbp]
mov rax, qword [r14 + 0x20]
movsxd rcx, dword [rdi + 4]
mov rdx, qword [rdi + 0x10]
shl rcx, 5
mov rbx, qword [rcx + rax + 0x18]
lea rcx, [rbx + 8]
call fcn.140122db0
mov rdx, rax
test rax, rax
je 0x14016d03b
mov rdi, qword [rax + 0x10]
mov rax, qword [rax + 8]
test rax, rax
je 0x14016cfe3
mov rcx, qword [rdx]
mov qword [rax], rcx
jmp 0x14016cfea
mov rax, qword [rdx]
mov qword [rbx + 0x10], rax
mov rcx, qword [rdx]
test rcx, rcx
je 0x14016cffa
mov rax, qword [rdx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x14016d01e
mov r8d, dword [rbp]
shl r8, 4
add r8, rax
cmp qword [r8 + 8], rdx
jne 0x14016d01b
mov rax, qword [rdx]
mov qword [r8 + 8], rax
dec dword [r8]
mov rcx, rdx
call fcn.140108630
mov eax, 0xffffffff
add dword [rbx + 0xc], eax
jne 0x14016d03e
lea rcx, [rbx + 8]
call fcn.14014ec50
jmp 0x14016d03e
mov rdi, r12
mov rdx, rdi
mov rcx, r14
call fcn.140143380
or dword [r14 + 0x2c], 2
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x40]
add rcx, 0x20
mov rdx, qword [rax + 0x10]
call fcn.14014ed10
mov rdx, rax
test rax, rax
je 0x14016d0e5
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x14016d0ad
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
mov rcx, r14
call fcn.1401254a0
or dword [r14 + 0x2c], 2
jmp 0x140168c65
test rcx, rcx
je 0x14016d0dd
mov rax, qword [rcx + 0x28]
cmp rax, rdx
je 0x14016d0d5
mov rcx, rax
test rax, rax
jne 0x14016d0b2
mov rcx, r14
call fcn.1401254a0
or dword [r14 + 0x2c], 2
jmp 0x140168c65
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
mov rcx, r14
call fcn.1401254a0
or dword [r14 + 0x2c], 2
jmp 0x140168c65
mov rbx, qword [rsp + 0x40]
xor r8d, r8d
mov rax, qword [r14 + 0x20]
movsxd rcx, dword [rbx + 4]
mov rdx, qword [rbx + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
call fcn.14014ed10
mov rbx, rax
test rax, rax
je 0x140168c65
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x14016d174
mov rdx, qword [rax + 8]
lea r8, [rbp - 0x14]
add rcx, 8
call fcn.140122db0
test rax, rax
je 0x14016d147
mov rcx, qword [rax + 0x10]
jmp 0x14016d14a
mov rcx, r12
mov rax, qword [rcx + 0x60]
add rcx, 0x60
cmp rax, rbx
je 0x14016d16d
nop word [rax + rax]
lea rcx, [rax + 0x40]
mov rax, qword [rax + 0x40]
cmp rax, rbx
jne 0x14016d160
mov rax, qword [rax + 0x40]
mov qword [rcx], rax
mov rdx, rbx
mov rcx, r14
call fcn.140143800
or dword [r14 + 0x2c], 2
jmp 0x140168c65
mov rbx, qword [rsp + 0x40]
mov rcx, r14
mov r12d, dword [rbx + 8]
movsxd rdx, r12d
lea rdx, [rdx*4 + 4]
call fcn.140141f40
mov r14, rax
test rax, rax
je 0x14016a6ff
movsxd rcx, dword [rbx + 0xc]
xor edi, edi
imul r13, rcx, 0x38
movsxd rcx, dword [rbx + 4]
add r13, r15
imul r15, rcx, 0x38
add r15, qword [rsp + 0x60]
test r12d, r12d
jle 0x14016d1f4
mov rbx, r15
mov esi, r12d
mov rcx, rbx
call fcn.14016ff60
mov dword [r14 + rdi*4], eax
add rbx, 0x38
inc rdi
sub rsi, 1
jne 0x14016d1d6
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
lea rdx, [rbp - 0x10]
mov dword [r14 + rdi*4], 0
mov r8d, r12d
movzx eax, byte [rbx + 3]
mov r9d, dword [r13]
mov rcx, qword [rcx + 0x20]
shl rax, 5
mov qword [rsp + 0x20], rdx
mov rdx, r14
mov rcx, qword [rax + rcx + 8]
call fcn.14013cea0
mov rdx, r14
mov rdi, rax
mov r14, qword [rsp + 0x58]
mov rcx, r14
call fcn.140141ef0
movsxd rbx, dword [rbp - 0x10]
mov eax, 0x2460
sub qword [r13], rbx
test word [r15 + 8], ax
je 0x14016d25b
mov rcx, r15
call fcn.14017c8f0
jmp 0x14016d265
mov eax, 1
mov word [r15 + 8], ax
test ebx, ebx
je 0x14016d292
test rdi, rdi
je 0x14016a971
lea rax, [fcn.140108630]
mov r9b, 1
mov r8d, 0xffffffff
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, r15
call fcn.140171100
test byte [r15 + 8], 2
je 0x14016eb3a
movzx edi, byte [rbp + 0x360]
cmp byte [r15 + 0xa], dil
je 0x14016eb3a
movzx edx, dil
mov rcx, r15
call fcn.140171520
jmp 0x14016a74c
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r15
imul rdi, rax, 0x38
test byte [rbx + 8], 0x20
jne 0x14016d2ef
mov rcx, rbx
call fcn.140171010
test byte [rbx + 8], 0x20
je 0x14016a978
mov rdx, qword [rdi + r15]
mov rcx, qword [rbx]
call fcn.14015d6c0
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r15
movzx eax, word [rdi + 8]
test al, 0x20
je 0x14016d41b
mov rbx, qword [rdi]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x14016d34f
test al, 1
jne 0x14016d347
mov rcx, qword [rbx + 0x10]
call fcn.140134c20
mov r10, qword [rsp + 0x50]
mov r11d, 1
mov qword [rbx + 0x10], rax
movzx eax, word [rbx + 0x32]
or ax, 2
mov word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x14016d417
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x14016d374
mov rcx, rbx
call fcn.14015d620
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2460
add rcx, r15
test word [rcx + 8], ax
je 0x14016d409
mov rdx, rdi
call fcn.14017da70
mov r10, qword [rsp + 0x50]
mov eax, dword [r14 + 0x148]
test eax, eax
jne 0x14016f004
mov r8, qword [r14 + 0x190]
mov edi, dword [rsp + 0x48]
test r8, r8
je 0x14016eb24
cmp edi, dword [rsp + 0x6c]
jb 0x14016eb24
mov ebx, dword [r14 + 0x1a0]
xor edx, edx
mov rcx, qword [r14 + 0x198]
mov eax, edi
div ebx
sub ebx, edx
add ebx, edi
mov dword [rsp + 0x6c], ebx
call r8
test eax, eax
jne 0x14016ec7e
mov ecx, dword [rbp + 0x368]
lea r11d, [rax + 1]
mov rsi, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
jmp 0x140168c27
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 8], ax
jmp 0x14016d397
movzx eax, word [rdi + 8]
mov ecx, 0x2460
test cx, ax
je 0x14016d432
mov rcx, rdi
call fcn.14017c8f0
jmp 0x14016e846
mov word [rdi + 8], r11w
jmp case.0x140168a09.14
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rsi, rax, 0x38
add rbx, r15
add rsi, r15
test byte [rbx + 8], 0x20
jne 0x14016d472
mov rcx, rbx
call fcn.140171010
test byte [rbx + 8], 0x20
je 0x14016a978
test edi, edi
je 0x14016d48d
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx]
call fcn.14015d770
test eax, eax
jne 0x14016c32b
test edi, edi
js 0x140168c65
mov rdx, qword [rsi]
mov rcx, qword [rbx]
call fcn.14015d6c0
jmp 0x140168c65
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 0xc]
mov r14, qword [rcx + 0x10]
imul rsi, rax, 0x38
add rsi, r15
cmp byte [rcx + 3], 0
je 0x14016d4e3
mov rax, qword [r13 + 0xf0]
mov rcx, qword [r14 + 0x18]
test rax, rax
je 0x14016d4e3
nop dword [rax]
cmp qword [rax + 0x38], rcx
je 0x140169b9a
mov rax, qword [rax + 8]
test rax, rax
jne 0x14016d4d0
mov r15, qword [rsp + 0x58]
mov eax, dword [r13 + 0x100]
cmp eax, dword [r15 + 0x90]
jge 0x14016ef6c
test byte [rsi + 8], 0x40
jne 0x14016d61a
mov ebx, dword [r14 + 0xc]
add ebx, dword [r14 + 0x10]
lea eax, [rbx + 2]
imul ecx, eax, 7
mov eax, dword [r14 + 0x14]
add ecx, dword [r14 + 0x10]
lea ecx, [rax + rcx*8]
movsxd rdx, ecx
mov rcx, r15
call fcn.140141fe0
mov rdi, rax
test rax, rax
je 0x14016f047
mov eax, 0x2460
test word [rsi + 8], ax
jne 0x14016d547
cmp dword [rsi + 0x20], 0
je 0x14016d54f
mov rcx, rsi
call fcn.14017c840
mov rcx, qword [rsp + 0x40]
mov eax, 0x40
sub rcx, qword [rsp + 0x50]
mov word [rsi + 8], ax
mov qword [rsi], rdi
mov qword [rdi], r13
mov dword [rdi + 0x5c], ebx
mov eax, dword [r14 + 0x10]
mov dword [rdi + 0x60], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rdi + 0x4c], edx
mov rax, qword [r13 + 0x10]
mov qword [rdi + 0x20], rax
mov eax, dword [r13 + 0x38]
mov dword [rdi + 0x54], eax
mov rax, qword [r13 + 0x60]
mov qword [rdi + 0x30], rax
mov eax, dword [r13 + 0x40]
mov dword [rdi + 0x48], eax
mov rax, qword [r13 + 8]
mov qword [rdi + 0x10], rax
mov eax, dword [r13 + 0x3c]
mov dword [rdi + 0x50], eax
mov rax, qword [r14 + 0x18]
mov qword [rdi + 0x38], rax
mov rax, qword [r13 + 0x118]
mov qword [rdi + 0x28], rax
mov eax, dword [r13 + 0x110]
mov dword [rdi + 0x58], eax
movsxd rax, ebx
add rax, 2
imul rcx, rax, 0x38
lea rax, [rdi + 0x70]
add rcx, rdi
cmp rax, rcx
je 0x14016d611
mov edx, 0x80
nop word [rax + rax]
mov word [rax + 8], dx
mov qword [rax + 0x28], r15
add rax, 0x38
cmp rax, rcx
jne 0x14016d600
mov eax, dword [r13 + 0x100]
jmp 0x14016d61d
mov rdi, qword [rsi]
inc eax
lea r15, [rdi + 0x38]
mov dword [r13 + 0x100], eax
mov rax, qword [r13 + 0xf0]
mov qword [rdi + 8], rax
mov rax, qword [rbp - 0x58]
mov qword [rdi + 0x40], rax
mov eax, dword [r13 + 0x90]
mov dword [rdi + 0x64], eax
mov rax, qword [r13]
mov qword [rsp + 0x60], r15
mov ecx, dword [rax + 0x60]
mov dword [rdi + 0x68], ecx
mov dword [r13 + 0x90], r12d
mov qword [r13 + 0xf0], rdi
mov qword [r13 + 0x10], r15
mov eax, dword [rdi + 0x5c]
mov dword [r13 + 0x38], eax
inc eax
movzx edx, word [rdi + 0x60]
mov dword [r13 + 0x40], edx
movsxd rcx, eax
imul rcx, rcx, 0x38
add rcx, r15
mov qword [r13 + 0x60], rcx
mov r8, qword [r14]
mov qword [r13 + 8], r8
mov eax, dword [r14 + 8]
lea rcx, [rcx + rdx*8]
mov dword [r13 + 0x3c], eax
lea rdx, [r8 - 0x18]
mov qword [r13 + 0x118], rcx
movsxd rax, dword [r14 + 0x14]
mov qword [rsp + 0x40], rdx
xor edx, edx
mov qword [rsp + 0x50], r8
mov r8, rax
mov dword [r13 + 0x110], eax
call fcn.140249b10
mov r14, qword [rsp + 0x58]
jmp 0x140168c65
mov rdx, qword [rsp + 0x40]
mov rcx, r13
call fcn.14012d140
mov r9, qword [r13 + 0xf0]
movsxd rcx, dword [r9 + 0x4c]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
mov rcx, qword [rsp + 0x40]
add r8d, dword [rcx + 4]
movsxd rcx, r8d
mov r8d, 0x1000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.1401713b0
jmp 0x140168c65
test dword [r14 + 0x2c], 0x1000000
mov rax, qword [rsp + 0x40]
je 0x14016d744
movsxd rax, dword [rax + 8]
add qword [r14 + 0x320], rax
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
jmp case.default.0x140168a09
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
mov edi, dword [rsp + 0x48]
je 0x14016d769
add qword [r14 + 0x318], rax
jmp 0x140168c27
add qword [r13 + 0xc8], rax
jmp 0x140168c27
cmp dword [rsi + 4], 0
je 0x14016d7a2
cmp qword [r14 + 0x318], 0
jne case.0x140168a09.62
cmp qword [r14 + 0x320], 0
je 0x14016c335
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
cmp qword [r13 + 0xc8], 0
jne case.0x140168a09.62
cmp qword [r14 + 0x320], 0
je 0x14016c335
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rcx, qword [r13 + 0xf0]
test rcx, rcx
je 0x14016d7ff
mov rax, qword [rcx + 8]
test rax, rax
je 0x14016d7ec
nop
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14016d7e0
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14016d80f
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r15
mov rcx, rdi
call fcn.140170d70
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.140170d70
mov rax, qword [rbx]
mov r11d, 1
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
cmp qword [rdi], rax
jge case.default.0x140168a09
mov qword [rdi], rax
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
cmp qword [rcx + r15], 0
jg 0x14016c335
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 0xc]
add qword [rcx + r15], rax
js 0x14016c335
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r15]
test rdx, rdx
je case.0x140168a09.62
mov rax, rsi
movsxd rax, dword [rax + 0xc]
add rax, rdx
mov qword [rcx + r15], rax
jmp 0x14016c335
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
sub qword [rcx + r15], 1
je 0x14016c335
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rcx, qword [rdx + r15]
lea rax, [rcx + 1]
mov qword [rdx + r15], rax
jmp 0x14016b82c
mov rdi, qword [rsp + 0x40]
mov rcx, r14
movzx ebx, byte [rdi + 3]
lea rdx, [rbx*8 + 0x30]
call fcn.140141f40
mov r8, rax
test rax, rax
je 0x14016a978
mov qword [rax + 0x10], r12
mov r11d, 1
mov rcx, qword [rdi + 0x10]
mov qword [rax + 8], rcx
mov rcx, rdi
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r13
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov rax, rdi
mov dword [r8 + 0x20], edx
mov word [rdi], 0xec90
mov qword [rdi + 0x10], r8
jmp 0x14016d9a2
mov rax, qword [rsp + 0x40]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, r15
mov qword [rbp - 0x70], r10
cmp qword [rbx + 0x10], r10
je 0x14016da05
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x14016da05
mov r10, qword [rsp + 0x40]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax]
mov eax, dword [r10 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r15
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14016d9e0
mov r10, qword [rbp - 0x70]
inc dword [r10 + 0xc]
lea rax, [rbp + 0xf0]
mov word [rbp + 0xf8], r11w
lea r8, [rbx + 0x30]
mov qword [rbp + 0x118], r14
mov rcx, rbx
mov dword [rbp + 0x110], r12d
movzx edx, byte [rbx + 0x2a]
mov qword [rbx], rax
mov rax, qword [rbx + 8]
mov word [rbx + 0x28], 0
call qword [rax + 0x20]
cmp byte [rbx + 0x29], 0
je 0x14016dad1
cmp dword [rbx + 0x24], 0
je 0x14016daae
movzx eax, word [rbp + 0xf8]
mov ecx, 0x202
and ax, cx
cmp ax, cx
jne 0x14016da77
cmp byte [rbp + 0xfa], 1
jne 0x14016da77
mov rax, qword [rbp + 0x100]
jmp 0x14016da93
test byte [rbp + 0xf8], 1
je 0x14016da85
mov rax, r12
jmp 0x14016da93
mov dl, 1
lea rcx, [rbp + 0xf0]
call fcn.14017b770
mov r8, rax
lea rdx, [0x140286b78]
mov rcx, r13
call fcn.140168810
mov eax, dword [rbx + 0x24]
mov dword [rbp + 0x368], eax
mov edx, 0x2460
test word [rbp + 0xf8], dx
jne 0x14016dac5
cmp dword [rbp + 0x110], 0
je 0x14016dad6
lea rcx, [rbp + 0xf0]
call fcn.14017c840
mov edx, 0x2460
cmp byte [rbx + 0x28], 0
je 0x140168c65
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x140168c65
imul rcx, rax, 0x38
add rcx, r15
test word [rcx + 8], dx
je 0x14016db0d
mov edx, 1
call fcn.14017da70
jmp 0x140168c65
mov rsi, qword [rsp + 0x40]
mov r11d, 1
mov r10, qword [rsp + 0x50]
mov eax, 4
mov qword [rcx], r11
mov word [rcx + 8], ax
mov ecx, dword [rbp + 0x368]
jmp case.default.0x140168a09
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
mov rdx, qword [rcx + 0x10]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.140170ab0
mov dword [rbp + 0x368], eax
test eax, eax
je 0x14016db74
mov rcx, rbx
call fcn.14010ae30
mov r8, rax
lea rdx, [0x140286b78]
mov rcx, r13
call fcn.140168810
test byte [rbx + 8], 2
je 0x14016db93
movzx edi, byte [rbp + 0x360]
cmp byte [rbx + 0xa], dil
je 0x14016db93
movzx edx, dil
mov rcx, rbx
call fcn.140171520
mov rcx, rbx
call fcn.1401714f0
test eax, eax
jne 0x14016efeb
jmp 0x140168c65
mov rbx, qword [rsp + 0x40]
lea rax, [rbp - 0x28]
lea r9, [rbp - 0x2c]
mov dword [rbp - 0x30], r12d
mov rcx, r14
mov qword [rbp - 0x2c], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 4]
call fcn.14013ed00
mov dword [rbp + 0x368], eax
cmp eax, 5
jne 0x14016dbef
mov eax, 1
mov dword [rbp + 0x368], r12d
mov dword [rbp - 0x30], eax
movsxd rax, dword [rbx + 0xc]
mov rdi, r12
imul rbx, rax, 0x38
mov edx, 0x2460
mov r14d, 4
add rbx, r15
nop dword [rax + rax]
movsxd rax, dword [rbp + rdi*4 - 0x30]
test word [rbx + 8], dx
je 0x14016dc2d
mov rdx, rax
mov rcx, rbx
call fcn.14017da70
mov edx, 0x2460
jmp 0x14016dc35
mov qword [rbx], rax
mov word [rbx + 8], r14w
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x14016dc10
mov r14, qword [rsp + 0x58]
jmp 0x140168c65
mov rbx, qword [rsp + 0x40]
mov rcx, r13
mov rdx, rbx
call fcn.14012d140
mov r8d, dword [rbx + 0xc]
mov r15, rax
movsxd rdx, dword [rbx + 4]
mov rcx, qword [r14 + 0x20]
shl rdx, 5
cmp r8d, 0xffffffff
mov r14, qword [rdx + rcx + 8]
mov rcx, qword [r14 + 8]
mov rbx, qword [rcx]
movzx esi, byte [rbx + 9]
mov ecx, esi
cmovne ecx, r8d
cmp byte [rbx + 0x14], 3
jb 0x14016dc94
mov eax, r12d
jmp 0x14016dcad
mov rax, qword [rbx + 0x50]
cmp qword [rax], 0
je 0x14016dca8
cmp qword [rbx + 0x60], 0
mov eax, r12d
jg 0x14016dcad
mov eax, 1
test eax, eax
mov edi, esi
cmovne edi, ecx
cmp byte [rbx + 0x13], 0
lea rcx, [0x140286ae1]
jne 0x14016dcc8
mov rcx, qword [rbx + 0xd0]
cmp edi, 5
jne 0x14016dd03
test rcx, rcx
je 0x14016dcfc
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14016dce0
and eax, 0x3fffffff
je 0x14016dcfc
mov rcx, rbx
call fcn.140155cc0
test eax, eax
jne 0x14016dd03
mov eax, esi
jmp 0x14016de7a
mov eax, edi
cmp edi, esi
je 0x14016de7a
cmp esi, 5
je 0x14016dd1b
cmp edi, 5
jne 0x14016de7a
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x4f], 0
je 0x14016ef93
cmp dword [rax + 0xa8], 1
jg 0x14016ef93
cmp esi, 5
jne 0x14016de43
cmp qword [rbx + 0x118], 0
mov dword [rbp + 0x368], r12d
jne 0x14016ddee
movzx eax, byte [rbx + 0x15]
mov dword [rbp - 0x40], r12d
mov dword [rbp + 0x368], r12d
cmp al, 1
jb 0x14016dd6d
cmp al, sil
jne 0x14016dd9f
cmp byte [rbx + 0x11], 0
je 0x14016dd7c
mov dword [rbp + 0x368], r12d
jmp 0x14016dd95
mov rcx, qword [rbx + 0x48]
mov edx, 1
mov rax, qword [rcx]
call qword [rax + 0x38]
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016dd9f
cmp byte [rbx + 0x15], 5
je 0x14016dd9f
mov byte [rbx + 0x15], 1
cmp dword [rbp + 0x368], 0
jne 0x14016de33
mov rax, qword [rbx]
lea r9, [rbp - 0x40]
mov rdx, qword [rbx + 0x120]
xor r8d, r8d
mov rcx, rax
call qword [rax + 0x38]
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016de33
cmp dword [rbp - 0x40], eax
je 0x14016dde4
mov rcx, rbx
call fcn.14012da90
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016de33
cmp qword [rbx + 0x118], 0
je 0x14016de33
mov rcx, rbx
call fcn.14012d860
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016de33
movzx edx, byte [rbx + 0xd]
mov r9, qword [rbx + 0x108]
mov r8d, dword [rbx + 0xbc]
mov rcx, qword [rbx + 0x118]
call fcn.140174210
mov rcx, rbx
mov dword [rbp + 0x368], eax
mov qword [rbx + 0x118], r12
call fcn.14012d8e0
mov ecx, dword [rbp + 0x368]
mov eax, edi
test ecx, ecx
jne 0x14016de82
mov edx, edi
jmp 0x14016de4b
cmp esi, 4
jne 0x14016de53
lea edx, [rsi - 2]
mov rcx, rbx
call fcn.1401554d0
mov ecx, dword [rbp + 0x368]
mov eax, edi
test ecx, ecx
jne 0x14016de82
mov edx, r12d
cmp edi, 5
mov rcx, r14
sete dl
inc edx
call fcn.14013e780
mov dword [rbp + 0x368], eax
mov eax, edi
mov ecx, dword [rbp + 0x368]
test ecx, ecx
cmove esi, eax
mov rcx, rbx
mov edx, esi
call fcn.1401554d0
mov ecx, 0xa02
mov word [r15 + 8], cx
cmp eax, 6
jne 0x14016dea3
mov rcx, r12
jmp 0x14016deb4
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x2bb780]
mov qword [r15 + 0x10], rcx
test rcx, rcx
jne 0x14016dec2
mov eax, r12d
jmp 0x14016dede
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14016ded0
and eax, 0x3fffffff
movzx edi, byte [rbp + 0x360]
mov dword [r15 + 0xc], eax
mov byte [r15 + 0xa], 1
cmp dil, 1
je 0x1401692af
movzx edx, dil
mov rcx, r15
call fcn.140171520
jmp 0x1401692af
lea rcx, [r13 + 0x48]
mov rdx, r14
call fcn.14015dfc0
mov r10, qword [rsp + 0x50]
mov ecx, eax
mov dword [rbp + 0x368], eax
mov r11d, 1
jmp case.default.0x140168a09
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax + 8]
cmp byte [rsi + 0x11], 0
mov rdi, qword [rsi + 8]
je 0x14016df63
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x14016df63
mov rcx, rsi
call fcn.140119390
mov edx, 0x65
cmp byte [rdi + 0x21], 0
jne 0x14016df74
mov dword [rbp + 0x368], edx
jmp 0x14016e053
mov rax, qword [rdi + 0x18]
mov r14d, dword [rdi + 0x3c]
mov edx, r14d
mov rcx, qword [rax + 0x50]
mov ebx, dword [rcx + 0x24]
mov rcx, rdi
bswap ebx
mov r8d, ebx
call fcn.140122a10
mov r15d, eax
cmp r14d, eax
jae 0x14016dfc8
lea r9, [0x1402b951c]
mov r8d, 0xe00b
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.14010fcd0
mov dword [rbp + 0x368], SafeArrayGetDim
jmp 0x14016e049
test ebx, ebx
je 0x14016e03f
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x14016dfe9
xor r8d, r8d
xor edx, edx
call fcn.140135370
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016e049
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14016dfff
and byte [rax + 0x5c], 0xfb
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14016dff2
xor r9d, r9d
mov r8d, r14d
mov edx, r15d
mov rcx, rdi
call fcn.140127fe0
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016e049
mov rcx, qword [rdi + 0x18]
mov rcx, qword [rcx + 0x70]
call fcn.140155cf0
mov edx, dword [rdi + 0x3c]
mov dword [rbp + 0x368], eax
mov rax, qword [rdi + 0x18]
bswap edx
mov rcx, qword [rax + 0x50]
mov dword [rcx + 0x1c], edx
jmp 0x14016e049
mov dword [rbp + 0x368], 0x65
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
cmp byte [rsi + 0x11], 0
je 0x14016e067
sub dword [rsi + 0x14], 1
jne 0x14016e067
mov rcx, rsi
call fcn.14017a660
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
cmp ecx, 0x65
jne 0x140168c1d
mov dword [rbp + 0x368], r12d
jmp 0x14016c335
mov rcx, qword [rsp + 0x40]
cmp dword [rcx + 4], 0
jne 0x14016e0af
mov rcx, r14
call fcn.140144d70
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
jmp case.default.0x140168a09
or dword [r13 + 0x8c], 8
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
jmp case.default.0x140168a09
mov rcx, qword [rsp + 0x40]
movzx esi, byte [rcx + 0xc]
test sil, sil
jne 0x14016e0e4
mov eax, 0x4000
test dword [r14 + 0x2c], eax
jne 0x140168a7a
mov edi, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
mov rax, qword [r14 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
mov ecx, r12d
mov dword [rbp + 0x368], ecx
cmp byte [rbx + 0x11], 0
je 0x14016e1e6
inc dword [rbx + 0x14]
inc sil
cmp byte [rbx + 0x12], 0
jne 0x14016e11f
mov rcx, rbx
call fcn.140119390
movzx r8d, sil
mov edx, edi
mov rcx, rbx
call fcn.140131e50
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016e1c1
mov r14, qword [rbx + 8]
mov rcx, qword [r14 + 0x70]
test rcx, rcx
je 0x14016e163
nop word [rax + rax]
cmp dword [rcx + 8], edi
jne 0x14016e15a
cmp qword [rcx], rbx
je 0x14016e1a5
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x14016e150
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140152ef0
mov rcx, rax
test rax, rax
je 0x14016e182
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rax
test rcx, rcx
jne 0x14016e193
mov dword [rbp + 0x368], 7
jmp 0x14016e1b6
mov dword [rcx + 8], edi
mov qword [rcx], rbx
mov rax, qword [r14 + 0x70]
mov qword [rcx + 0x10], rax
mov qword [r14 + 0x70], rcx
cmp sil, byte [rcx + 0xc]
jbe 0x14016e1af
mov byte [rcx + 0xc], sil
mov dword [rbp + 0x368], r12d
mov r14, qword [rsp + 0x58]
mov ecx, dword [rbp + 0x368]
cmp byte [rbx + 0x11], 0
je 0x14016e1db
sub dword [rbx + 0x14], 1
jne 0x14016e1db
mov rcx, rbx
call fcn.14017a660
mov ecx, dword [rbp + 0x368]
mov r10, qword [rsp + 0x50]
mov r11d, 1
cmp cl, 6
jne 0x140168a80
mov rax, qword [rsp + 0x40]
lea rdx, str.database_table_is_locked:__s
mov rcx, r13
mov r8, qword [rax + 0x10]
call fcn.140168810
jmp 0x140168c65
mov rcx, qword [rsp + 0x40]
mov edx, dword [r14 + 0x1a4]
mov dword [rbp + 0x368], r12d
mov rbx, qword [rcx + 0x10]
test edx, edx
jle 0x14016e241
cmp qword [r14 + 0x1c8], 0
jne 0x14016e241
mov ecx, 6
mov dword [rbp + 0x368], ecx
jmp 0x14016e2f9
test rbx, rbx
jne 0x14016e266
mov rsi, qword [rsp + 0x40]
mov ecx, r12d
mov edi, dword [rsp + 0x48]
add rsi, 0x18
mov qword [rsp + 0x40], rsi
mov dword [rbp + 0x368], ecx
jmp 0x1401689c6
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x70], 0
je 0x14016e2f3
mov ecx, r12d
test edx, edx
jle 0x14016e291
mov rax, qword [r14 + 0x1c8]
cmp qword [rax], rbx
je 0x14016e2dd
inc ecx
add rax, 8
cmp ecx, edx
jl 0x14016e282
mov rcx, r14
call fcn.140127ac0
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016e2e8
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0x70]
mov r10, qword [rsp + 0x50]
mov r11d, 1
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016e2f3
movsxd rcx, dword [r14 + 0x1a4]
mov rax, qword [r14 + 0x1c8]
mov qword [rax + rcx*8], rbx
inc dword [r14 + 0x1a4]
inc dword [rbx + 0x18]
jmp 0x14016e2f3
mov ecx, r12d
mov dword [rbp + 0x368], ecx
jmp 0x14016e2f9
mov r10, qword [rsp + 0x50]
mov r11d, 1
mov ecx, dword [rbp + 0x368]
test rbx, rbx
je 0x140168a80
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.140173840
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
lea rcx, [rbp + 0x80]
xorps xmm0, xmm0
mov qword [rbp + 0x80], r12
xorps xmm1, xmm1
mov qword [rbp + 0xb0], r12
movdqu xmmword [rbp + 0x88], xmm0
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
movdqu xmmword [rbp + 0x98], xmm1
mov qword [rbp + 0xa8], r14
add rdx, r15
call fcn.1401709a0
mov rcx, qword [rbp + 0x88]
mov edx, 0x202
mov dword [rbp + 0x368], eax
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14016e389
cmp byte [rbp + 0x8a], 1
jne 0x14016e389
mov rax, qword [rbp + 0x90]
jmp 0x14016e3a7
test cl, 1
jne 0x14016e4b3
mov dl, 1
lea rcx, [rbp + 0x80]
call fcn.14017b770
mov rcx, qword [rbp + 0x88]
test rax, rax
je 0x14016e4b3
mov r8, qword [r14 + 0x20]
lea rbx, [r13 + 0x48]
mov rcx, qword [rsp + 0x40]
mov rdx, rax
movsxd rcx, dword [rcx + 4]
shl rcx, 5
mov r8, qword [rcx + r8]
mov rcx, r14
call fcn.14014a1b0
lea r8, [rbp - 8]
mov rsi, rax
mov rcx, qword [rax + 0x50]
mov rdi, qword [rcx]
lea rcx, [r14 + 0x1a8]
mov rdx, rdi
call fcn.140122db0
test rax, rax
je 0x14016e48c
mov r8, qword [rax + 0x10]
test r8, r8
je 0x14016e48c
mov r9, qword [r8]
mov rdx, rsi
mov rcx, r14
mov qword [rsp + 0x20], rbx
mov r9, qword [r9 + 8]
call fcn.14017f560
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016e4ac
mov rax, qword [rsi + 0x58]
test rax, rax
je 0x14016e4ac
cmp qword [rax], r14
je 0x14016e445
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14016e435
jmp 0x14016e4ac
mov rcx, r14
call fcn.140127ac0
mov dword [rbp + 0x368], eax
test eax, eax
jne 0x14016e4ac
mov rdx, qword [rsi + 0x58]
test rdx, rdx
je 0x14016e46e
cmp qword [rdx], r14
je 0x14016e46e
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x14016e460
movsxd rcx, dword [r14 + 0x1a4]
mov rax, qword [r14 + 0x1c8]
mov qword [rax + rcx*8], rdx
inc dword [r14 + 0x1a4]
inc dword [rdx + 0x18]
jmp 0x14016e4ac
mov r8, rdi
lea rdx, str.no_such_module:__s
mov rcx, r14
call fcn.140152ec0
mov qword [rbx], rax
mov eax, 1
mov dword [rbp + 0x368], eax
mov rcx, qword [rbp + 0x88]
mov eax, 0x2460
test ax, cx
jne 0x14016e4ca
cmp dword [rbp + 0xa0], 0
je 0x140168c65
lea rcx, [rbp + 0x80]
call fcn.14017c840
jmp 0x140168c65
inc dword [r14 + 0xb4]
mov rcx, qword [rsp + 0x40]
mov r8, qword [r14 + 0x20]
mov dword [rbp + 0x368], r12d
movsxd rax, dword [rcx + 4]
mov rdx, qword [rcx + 0x10]
mov rcx, r14
shl rax, 5
mov r8, qword [rax + r8]
call fcn.14014a1b0
mov rdi, rax
test rax, rax
je 0x14016e56b
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14016e56b
nop dword [rax + rax]
mov rcx, qword [rdx + 0x10]
cmp dword [rcx + 8], 0
jg 0x14016e57d
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x14016e520
mov rdx, rdi
mov rcx, r14
call fcn.14017fac0
mov rbx, rax
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rcx, qword [rax + 0x10]
call qword [rdx + 0x28]
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x14016e571
mov qword [rbx + 0x10], r12
mov rcx, rbx
mov qword [rdi + 0x58], r12
call fcn.140173c50
mov ecx, dword [rbp + 0x368]
dec dword [r14 + 0xb4]
jmp 0x140168c6b
dec dword [r14 + 0xb4]
mov ecx, 6
mov dword [rbp + 0x368], ecx
jmp 0x140168c6b
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], r12
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14016efda
mov rdi, qword [rbx]
test rdi, rdi
je 0x14016efda
lea rdx, [rbp - 0x78]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r13
mov dword [rbp + 0x368], eax
call fcn.140173840
mov ecx, dword [rbp + 0x368]
test ecx, ecx
jne 0x140168c6b
mov rax, qword [rbp - 0x78]
lea r9d, [rcx - 1]
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov rcx, r13
mov qword [rax], rbx
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 4]
call fcn.140114aa0
mov rcx, qword [rbp - 0x78]
test rax, rax
je 0x14016efd2
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
jmp 0x140168c65
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x60]
add rdx, r15
movsxd r12, dword [rdx + 0x38]
lea r10, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
xor ecx, ecx
mov rax, qword [rbp + 0x350]
mov r14d, ecx
mov edx, dword [rdx]
mov r8d, ecx
mov rdi, qword [r13 + 0x30]
mov rbx, qword [rax + 0x18]
mov r15, qword [rdi]
mov rsi, qword [r15]
test r12d, r12d
jle 0x14016e689
mov r9d, 1
nop dword [rax]
movsxd rax, r9d
inc r9d
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbx + r8*8], rcx
inc r8
cmp r8, r12
jl 0x14016e670
mov rax, qword [rsp + 0x40]
mov r9d, r12d
mov rcx, rdi
mov qword [rsp + 0x20], rbx
mov r8, qword [rax + 0x10]
call qword [rsi + 0x40]
mov rcx, qword [rbp + 0x350]
mov rdx, r15
mov dword [rbp + 0x368], eax
call fcn.140173840
mov ecx, dword [rbp + 0x368]
test ecx, ecx
jne 0x14016e6ce
mov rcx, rdi
call qword [rsi + 0x50]
mov ecx, dword [rbp + 0x368]
mov r14d, eax
mov rsi, qword [rsp + 0x40]
xor r12d, r12d
mov r10, qword [rsp + 0x50]
mov byte [r13 + 0x25], 0
test r14d, r14d
jne 0x14016c335
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
jmp 0x140168c1d
mov rdi, qword [rsp + 0x40]
mov rax, qword [r13 + 0x60]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rdi, rax, 0x38
add rdi, r15
cmp byte [rcx + 0x25], 0
je 0x14016e747
mov eax, 0x2460
test word [rdi + 8], ax
je 0x14016e732
mov rcx, rdi
call fcn.14017c8f0
jmp 0x140168c65
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
mov word [rdi + 8], r11w
jmp case.default.0x140168a09
mov rax, qword [rcx + 0x30]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov edx, 0xbe01
mov rbx, qword [rax]
mov rax, qword [rbx]
movdqu xmmword [rbp + 0x1b0], xmm0
mov qword [rbp + 0x1a8], rdi
movdqu xmmword [rbp + 0x1c0], xmm1
movdqu xmmword [rbp + 0x1d0], xmm0
and word [rdi + 8], dx
or word [rdi + 8], 1
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x30]
mov r8d, dword [rdx + 8]
lea rdx, [rbp + 0x1a8]
call qword [rax + 0x58]
mov rdx, rbx
mov rcx, r13
mov dword [rbp + 0x368], eax
call fcn.140173840
mov eax, dword [rbp + 0x1cc]
test eax, eax
mov ecx, dword [rbp + 0x368]
cmovne ecx, eax
test byte [rdi + 8], 2
mov dword [rbp + 0x368], ecx
je 0x14016e7e0
movzx eax, byte [rbp + 0x360]
cmp byte [rdi + 0xa], al
je 0x14016e7e0
movzx edx, al
mov rcx, rdi
call fcn.140171520
mov rcx, rdi
call fcn.1401714f0
test eax, eax
jne 0x14016efeb
jmp 0x140168c65
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x60]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 0x25], 0
jne 0x140168a7a
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r13
mov dword [rbp + 0x368], eax
call fcn.140173840
cmp dword [rbp + 0x368], 0
jne 0x14016e846
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x14016d397
mov r10, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [r10 + rcx*8]
mov qword [rsp + 0x40], rax
jmp 0x14016d39c
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r15
test byte [rbx + 8], 2
je 0x14016e8a7
cmp byte [rbx + 0xa], 1
je 0x14016e8a7
mov dl, 1
mov rcx, rbx
call fcn.140171520
mov dword [rbp + 0x368], eax
mov ecx, eax
test eax, eax
jne 0x140168c6b
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov rdx, rdi
mov rcx, r13
mov dword [rbp + 0x368], eax
call fcn.140173840
and dword [r13 + 0x8c], 0xfffffff7
jmp 0x140168c65
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14016efda
mov r10, qword [rbx]
test r10, r10
je 0x14016efda
cmp qword [r10 + 0x68], 0
je 0x14016c556
movsxd rax, dword [rcx + 0xc]
mov r11, qword [rsp + 0x40]
movzx edi, byte [r14 + 0x55]
mov r8, qword [r13 + 0x18]
imul rcx, rax, 0x38
movsxd rdx, dword [r11 + 8]
mov rax, r12
add rcx, r15
test edx, edx
jle 0x14016e940
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x14016e930
movzx eax, byte [r11 + 3]
lea r9, [rbp + 0x60]
mov rcx, rbx
mov byte [r14 + 0x55], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r14 + 0x55], dil
mov rcx, r13
mov dword [rbp + 0x368], eax
call fcn.140173840
mov ecx, dword [rbp + 0x368]
mov rax, qword [rsp + 0x40]
test ecx, ecx
jne 0x14016e989
cmp dword [rax + 4], ecx
je 0x14016e989
mov rdx, qword [rbp + 0x60]
mov qword [rbp - 0x58], rdx
mov qword [r14 + 0x30], rdx
cmp cl, 0x13
jne 0x14016e9ed
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], 0
je 0x14016e9ed
mov rcx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
movzx ecx, byte [rcx + 3]
cmp cl, 4
jne 0x14016e9c2
mov ecx, r12d
add rsi, 0x18
mov dword [rbp + 0x368], ecx
mov qword [rsp + 0x40], rsi
jmp 0x14016acc6
movzx eax, cl
cmp cl, 5
mov ecx, 2
cmove eax, ecx
mov byte [r13 + 0x8a], al
mov ecx, dword [rbp + 0x368]
mov r11d, 1
mov r10, qword [rsp + 0x50]
jmp case.default.0x140168a09
inc dword [r13 + 0x90]
jmp 0x140168c6b
mov rdx, qword [rsp + 0x40]
mov rcx, r13
call fcn.14012d140
mov rcx, qword [rsp + 0x40]
movsxd rdx, dword [rcx + 4]
mov rcx, qword [r14 + 0x20]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x3c]
mov qword [rax], rdx
jmp 0x140168c65
mov rdx, qword [rsp + 0x40]
mov rcx, r13
call fcn.14012d140
mov rcx, qword [r14 + 0x20]
mov rsi, rax
mov rax, qword [rsp + 0x40]
mov edi, r12d
movsxd rdx, dword [rax + 4]
shl rdx, 5
mov rbx, qword [rdx + rcx + 8]
mov edx, dword [rax + 0xc]
test edx, edx
je 0x14016ea67
mov rcx, qword [rbx + 8]
mov edi, dword [rcx + 0x3c]
cmp edi, edx
cmovb edi, edx
cmp byte [rbx + 0x11], 0
je 0x14016ea7e
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14016ea7e
mov rcx, rbx
call fcn.140119390
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
jle 0x14016ea91
mov dword [rcx + 0xc0], edi
jmp 0x14016ea97
mov edi, dword [rcx + 0xc0]
cmp byte [rbx + 0x11], 0
je 0x14016eaab
sub dword [rbx + 0x14], 1
jne 0x14016eaab
mov rcx, rbx
call fcn.14017a660
movsxd rax, edi
mov qword [rsi], rax
jmp 0x140168c65
cmp qword [r14 + 0xc8], 0
je 0x14016eb15
mov eax, 0x200
test dword [r13 + 0x8c], eax
jne 0x14016eb15
mov rdx, qword [rsi + 0x10]
test rdx, rdx
jne 0x14016eae3
mov rdx, qword [r13 + 0xe0]
test rdx, rdx
je 0x14016eb15
mov rcx, r13
call fcn.14016f2d0
mov rcx, qword [r14 + 0xd0]
mov rdx, rax
mov rbx, rax
call qword [r14 + 0xc8]
mov rdx, rbx
mov rcx, r14
call fcn.140141ef0
mov r10, qword [rsp + 0x50]
mov r11d, 1
cmp dword [rsi + 8], 0
je case.0x140168a09.62
jmp 0x14016c335
mov ecx, dword [rbp + 0x368]
mov r11d, 1
mov rsi, qword [rsp + 0x40]
jmp 0x140168c27
mov ecx, dword [rbp + 0x368]
mov rsi, qword [rsp + 0x40]
xor r12d, r12d
jmp 0x1401692bf
mov ecx, dword [rbp + 0x368]
xor r12d, r12d
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
jmp case.default.0x140168a09
mov ecx, dword [rbp + 0x368]
xor r12d, r12d
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
jmp case.default.0x140168a09
mov rsi, qword [rsp + 0x40]
mov r14, r12
xor r12d, r12d
jmp 0x1401692bf
mov rcx, qword [rsp + 0x40]
mov dword [r13 + 0x84], edx
movzx eax, byte [rcx + 8]
mov byte [r13 + 0x8a], al
mov dword [r13 + 0x80], ebx
test edx, edx
je 0x14016ec49
movzx eax, byte [rcx + 3]
test al, al
je 0x14016ebfe
movzx eax, al
lea r8, [0x140000000]
mov r12, qword [r8 + rax*8 + 0x2bb700]
test r12, r12
je 0x14016ebfe
mov r9, qword [rcx + 0x10]
test r9, r9
je 0x14016ebfe
mov r8, r12
lea rdx, str._s_constraint_failed:__s
mov rcx, r13
call fcn.140168810
jmp 0x14016ec22
mov r8, qword [rcx + 0x10]
mov rcx, r13
test r8, r8
je 0x14016ec13
lea rdx, [0x140286b78]
jmp 0x14016ec1d
mov r8, r12
lea rdx, str._s_constraint_failed
call fcn.140168810
mov rax, qword [r13 + 0x48]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r13 + 0xe0]
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 4]
call fcn.14010fcd0
mov rcx, r13
call fcn.14016f9d0
cmp eax, 5
jne 0x14016ec64
mov ebx, eax
mov dword [r13 + 0x84], eax
jmp 0x14016ade5
cmp dword [r13 + 0x84], 0
mov eax, 1
mov ebx, 0x65
cmovne ebx, eax
jmp 0x14016ade5
mov ecx, 9
jmp 0x14016ad2c
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [r13 + 0x84], 0x313
mov byte [r13 + 0x8a], 2
call fcn.140168810
jmp 0x14016ad21
lea r9, [0x1402b951c]
mov r8d, 0x12314
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.14010fcd0
mov ecx, VariantTimeToDosDateTime
jmp 0x14016ad26
lea r9, [0x1402b951c]
mov r8d, 0x12368
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.14010fcd0
mov r13, qword [rbp + 0x350]
mov ecx, VariantTimeToDosDateTime
jmp 0x14016ad26
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.140168810
mov ecx, 5
jmp 0x14016ad26
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.140168810
mov ecx, 5
jmp 0x14016ad26
mov r13, qword [rbp + 0x350]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rcx, qword [rsp + 0x40]
mov ebx, 5
sub rcx, qword [rsp + 0x50]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r13 + 0x80], edx
mov byte [r14 + 0x4f], 0
mov dword [r13 + 0x84], ebx
jmp 0x14016ade5
mov r13, qword [rbp + 0x350]
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, r13
mov dword [r13 + 0x84], 0x313
mov byte [r13 + 0x8a], 2
call fcn.140168810
mov ebx, edi
jmp 0x14016ade5
test ecx, ecx
je 0x14016ede6
mov edx, 0x204
mov rcx, r14
call fcn.14015d4a0
mov byte [r14 + 0x4f], 1
mov rcx, r14
call fcn.14013f310
cmp dword [r13 + 0x84], 0
mov ebx, 0x65
mov eax, 1
cmovne ebx, eax
jmp 0x14016ade5
mov rax, qword [r13]
mov rcx, qword [rax + 0x320]
add rcx, qword [rax + 0x318]
test rcx, rcx
mov rcx, r13
jle 0x14016ee29
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [r13 + 0x84], 0x313
mov byte [r13 + 0x8a], 2
call fcn.140168810
mov ebx, 1
jmp 0x14016ade5
mov byte [r14 + 0x4f], bl
call fcn.14016f9d0
cmp eax, 5
jne 0x14016edc4
mov rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
sub al, bl
mov dword [r13 + 0x80], edx
mov ebx, 5
mov byte [r14 + 0x4f], al
mov dword [r13 + 0x84], ebx
jmp 0x14016ade5
mov eax, 8
mov ecx, eax
mov dword [rbp + 0x368], eax
jmp 0x14016eefb
sub rdi, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
mov ebx, 5
sar rdx, 2
mov rax, rdx
mov dword [r13 + 0x84], ebx
shr rax, 0x3f
add rdx, rax
mov dword [r13 + 0x80], edx
jmp 0x14016ade5
lea r9, [0x1402b951c]
mov r8d, 0x126b4
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.14010fcd0
mov ecx, VariantTimeToDosDateTime
mov dword [rbp + 0x368], ecx
mov r14, qword [rsp + 0x58]
mov r13, qword [rbp + 0x350]
cmp byte [r14 + 0x51], 0
je 0x14016ef23
mov ecx, 7
mov dword [rbp + 0x368], ecx
jmp 0x14016ef2f
mov ecx, 0x204
jmp 0x14016ad26
mov ecx, 7
jmp 0x14016ad26
cmp ecx, 0xc0a
je 0x14016ad32
call fcn.140109170
mov r8, rax
lea rdx, [0x140286b78]
mov rcx, r13
call fcn.140168810
mov ecx, dword [rbp + 0x368]
jmp 0x14016ad32
add rbx, 0x18
mov byte [r13 + 0x8a], 2
mov qword [rsp + 0x40], rbx
mov ecx, 6
jmp 0x14016ad2c
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rbp + 0x368], r11d
mov rcx, r13
call fcn.140168810
add qword [rsp + 0x40], 0x18
mov ecx, dword [rbp + 0x368]
jmp 0x14016ad32
lea rax, str.into
mov dword [rbp + 0x368], 1
cmp edi, 5
lea r8, str.out_of
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, r13
cmove r8, rax
call fcn.140168810
add qword [rsp + 0x40], 0x18
mov ecx, dword [rbp + 0x368]
jmp 0x14016ad32
call qword [rdi + 0x38]
jmp 0x14016a978
mov ecx, 6
jmp 0x14016ad26
mov r13, qword [rbp + 0x350]
lea rdx, str.string_or_blob_too_big
mov rcx, r13
call fcn.140168810
mov ecx, send
jmp 0x14016ad2c
movzx esi, byte [rbp + 0x358]
mov ecx, 9
mov dword [rbp + 0x368], 9
mov dword [r13 + 0x84], 9
call fcn.140109170
mov r8, rax
lea rdx, [0x140286b78]
mov rcx, r13
call fcn.140168810
mov ecx, dword [rbp + 0x368]
jmp 0x14016ad39
mov r14, r15
jmp 0x14016a978
mov r14, rcx
jmp 0x14016a978