Function at 0x14022ad60
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbp
push rsi
push r13
lea rbp, [r11 - 0x348]
sub rsp, 0x430
mov rax, qword [0x1403486d0]
xor rax, rsp
mov qword [rbp + 0x308], rax
mov rax, qword [rcx + 0x88]
mov rsi, rcx
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rdi
mov qword [r11 - 0x20], r14
mov r14, qword [rsi + 0x68]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rax
xor al, al
mov qword [rsp + 0x48], rcx
xor ecx, ecx
mov qword [r11 - 0x28], r15
mov r13d, ecx
mov r15, qword [rsi]
mov edi, ecx
mov byte [rsp + 0x6c], al
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x68], ecx
movzx eax, byte [r15 + 0x64]
mov qword [rbp - 0x18], rcx
mov rcx, rsi
mov byte [rsp + 0x3c], al
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r14
call fcn.14022ac70
cmp qword [r15 + 0x208], rdi
je 0x14022ae0a
mov ecx, dword [r15 + 0x218]
xor edx, edx
mov eax, dword [rsi + 0xe4]
div ecx
sub ecx, edx
mov ebx, ecx
jmp 0x14022ae11
mov rbx, 0xffffffffffffffff
xor r11d, r11d
mov qword [rsp + 0x468], r12
cmp dword [rsi + 0x34], 7
lea rdx, [0x140000000]
mov qword [rsp + 0x50], rbx
mov r10d, 1
movaps xmmword [rsp + 0x410], xmm6
je 0x140233600
mov dword [rsi + 0x34], r11d
mov qword [rsi + 0x48], r11
mov qword [rsi + 0xa0], r11
mov dword [r15 + 0x290], r11d
mov eax, dword [r15 + 0x198]
test eax, eax
jne 0x1402335cd
movsxd rax, dword [rsi + 0x30]
mov r9d, 0x9000
mov rbx, qword [rsp + 0x40]
xorps xmm6, xmm6
lea rcx, [rax + rax*2]
mov eax, dword [rbp - 0x28]
lea r12, [rbx + rcx*8]
mov dword [rbp - 0x70], eax
inc rdi
mov qword [rsp + 0x30], r12
mov qword [rbp - 0x18], rdi
mov r8d, 0xffffffff
movzx edi, byte [r12]
cmp edi, 0xb5
ja case.0x14022aeb5.89
movsxd rax, edi
mov ecx, dword [rdx + rax*4 + 0x233954]
add rcx, rdx
jmp rcx
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
sub rcx, rbx
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r14 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
jmp case.0x14022aeb5.8
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
test byte [rax + r14 + 0x14], 4
je 0x14022b116
mov rax, qword [rax + r14]
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov qword [rcx + r14], rax
mov eax, 4
mov word [rcx + r14 + 0x14], ax
cmp dword [r12 + 8], 0
jne 0x14022eb60
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rcx*8 + 8]
dec eax
mov word [rdx + r14 + 0x14], r11w
cdqe
lea rdx, [0x140000000]
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 4]
sub rdi, rbx
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r14 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r14]
imul rdi
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r12, [rbx + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
lea rdx, [0x140000000]
cdqe
mov qword [r8 + r14], rax
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
je 0x14022b116
mov rcx, qword [rsi + 0x108]
test rcx, rcx
je 0x140232e6e
mov rax, qword [rsp + 0x30]
cmp dword [rax + 4], 0
jne 0x140232e6e
mov rax, qword [rcx + 8]
mov qword [rsi + 0x108], rax
dec dword [rsi + 0x118]
mov rax, qword [rsi + 0x38]
mov qword [r15 + 0x78], rax
add qword [r15 + 0x80], rax
call fcn.140234380
mov r12, qword [rsp + 0x30]
cmp dword [r12 + 8], 4
jne 0x14022b088
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov rbx, qword [rsi + 0x88]
xor r11d, r11d
mov r14, qword [rsi + 0x68]
cdqe
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x60], r14
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], r9w
je 0x14022b101
call fcn.1401ddb30
mov r12, qword [rsp + 0x30]
lea rdx, [0x140000000]
mov rcx, rax
xor r11d, r11d
mov rax, qword [rsp + 0x30]
mov r9d, 0x9000
lea r10d, [r11 + 1]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov eax, 4
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov r12, qword [rsp + 0x30]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], r9w
je 0x14022b15a
mov rcx, rdx
call fcn.1401ddb30
xor r11d, r11d
mov rdx, rax
mov r9d, 0x9000
lea r10d, [r11 + 1]
jmp 0x14022b163
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov r12, qword [rsp + 0x30]
lea rdx, [0x140000000]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], r9w
je 0x14022b1bb
mov rcx, rdx
call fcn.1401ddb30
xor r11d, r11d
mov rdx, rax
mov r9d, 0x9000
lea r10d, [r11 + 1]
mov eax, 8
jmp 0x14022b15f
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], r9w
je 0x14022b1ea
mov rcx, rbx
call fcn.1401ddb30
mov rbx, rax
xor r11d, r11d
jmp 0x14022b1f3
mov eax, 4
mov word [rbx + 0x14], ax
mov rdx, qword [rdi + 0x10]
test rdx, rdx
jne 0x14022b201
mov eax, r11d
jmp 0x14022b21e
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x14022b210
and eax, 0x3fffffff
movzx r12d, byte [rsp + 0x3c]
mov dword [rdi + 4], eax
cmp r12b, 1
je 0x14022b2ba
mov r9b, 1
mov qword [rsp + 0x20], r11
mov r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.140235e40
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x140233266
test byte [rbx + 0x14], 2
jne 0x14022b263
mov byte [rbx + 0x16], r12b
jmp 0x14022b27d
cmp byte [rbx + 0x16], r12b
je 0x14022b27d
movzx edx, r12b
mov rcx, rbx
call fcn.1402363a0
test eax, eax
jne 0x1402333c7
xor ecx, ecx
mov eax, 0x2000
mov dword [rbx + 0x20], ecx
or word [rbx + 0x14], ax
mov rax, rdi
cmp byte [rax + 1], 0xfa
jne 0x14022b2a8
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14022b2a8
mov rcx, r15
call fcn.1401fb370
mov rax, rdi
mov byte [rax + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [rdi + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [rdi + 4], eax
cmp eax, dword [r15 + 0x88]
jg 0x140233266
mov rbx, qword [rsp + 0x40]
mov r9d, 0x9000
mov byte [rdi], 0x49
jmp 0x14022b2e2
mov rdi, qword [rsp + 0x30]
movzx r12d, byte [rsp + 0x3c]
movsxd rax, dword [rdi + 8]
imul rdx, rax, 0x38
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], r9w
je 0x14022b306
mov rcx, rdx
call fcn.1401ddb30
mov rdx, rax
mov r9d, 0x9000
mov eax, 0x2202
xor r11d, r11d
mov word [rdx + 0x14], ax
mov rax, qword [rdi + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [rdi + 4]
lea r10d, [r11 + 1]
mov dword [rdx + 0x10], eax
mov rax, qword [rsp + 0x30]
mov byte [rdx + 0x16], r12b
mov r12, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x14022b6cc
imul rcx, rax, 0x38
mov rax, r12
movzx eax, word [rax + 2]
cmp qword [rcx + r14], rax
jne 0x14022b6cc
mov eax, 0x2210
mov word [rdx + 0x14], ax
lea rdx, [0x140000000]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], r9w
je 0x14022b39f
call fcn.1401ddb30
xor r11d, r11d
mov rcx, rax
mov r9d, 0x9000
lea r10d, [r11 + 1]
jmp 0x14022b3a8
mov eax, 4
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x30]
lea rbx, [rcx + 0x14]
mov r12, qword [rsp + 0x30]
mov esi, r10d
mov edx, 0x101
mov edi, dword [rax + 0xc]
cmp dword [r12 + 4], 0
mov eax, dword [rax + 8]
cmovne si, dx
sub edi, eax
mov word [rbx], si
mov dword [rcx + 0x10], r11d
test edi, edi
jle 0x14022b6c7
nop
test word [rbx + 0x38], r9w
lea rbx, [rbx + 0x38]
je 0x14022b3fd
lea rcx, [rbx - 0x14]
call fcn.14024ace0
xor r11d, r11d
mov r9d, 0x9000
dec edi
mov word [rbx], si
mov dword [rbx - 4], r11d
test edi, edi
jg 0x14022b3e0
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rdx, [0x140000000]
mov r10d, 1
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
mov r8d, 0xffc1
mov r12, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
movzx eax, word [rcx + r14 + 0x14]
and ax, r8w
or ax, 1
mov word [rcx + r14 + 0x14], ax
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], r9w
je 0x14022b495
mov rcx, rbx
call fcn.1401ddb30
mov rbx, rax
xor r11d, r11d
mov r9d, 0x9000
jmp 0x14022b49e
mov eax, 4
mov word [rbx + 0x14], ax
mov rdx, qword [rdi + 0x10]
movsxd rdi, dword [rdi + 4]
test rdx, rdx
jne 0x14022b508
test word [rbx + 0x14], r9w
jne 0x14022b4b7
cmp dword [rbx + 0x20], edx
je 0x14022b4bf
mov rcx, rbx
call fcn.14024ac90
xor ecx, ecx
mov eax, 0x410
mov word [rbx + 0x14], ax
test edi, edi
mov dword [rbx + 0x10], ecx
mov eax, ecx
cmovns eax, edi
mov dword [rbx], eax
mov byte [rbx + 0x16], 1
mov qword [rbx + 8], rcx
mov rcx, rbx
call fcn.1402356b0
test eax, eax
jne 0x1402333c7
movzx ecx, byte [rsp + 0x3c]
xor r11d, r11d
mov r12, qword [rsp + 0x30]
mov byte [rbx + 0x16], cl
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov r8, rdi
mov qword [rsp + 0x20], r11
xor r9d, r9d
mov rcx, rbx
call fcn.140235e40
movzx ecx, byte [rsp + 0x3c]
xor r11d, r11d
mov r12, qword [rsp + 0x30]
mov byte [rbx + 0x16], cl
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsi + 0x80]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
movzx eax, word [rdi + rsi - 0x24]
test al, 0x12
je 0x14022b572
bt ax, 0xa
mov ecx, dword [rdi + rsi - 0x28]
jae 0x14022b561
add ecx, dword [rdi + rsi - 0x38]
mov rax, qword [rdi + rsi - 0x20]
cmp ecx, dword [rax + 0x88]
jg 0x140233261
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, r14
test word [rbx + 0x14], r9w
je 0x14022b5a5
mov rcx, rbx
call fcn.14024ace0
xor r11d, r11d
lea rdx, [0x140000000]
mov r9d, 0x9000
lea r10d, [r11 + 1]
movups xmm0, xmmword [rdi + rsi - 0x38]
mov r12, qword [rsp + 0x30]
mov ecx, 0xafff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + rsi - 0x28]
mov rsi, qword [rsp + 0x48]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rcx, qword [rsp + 0x30]
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, r14
add rbx, r14
nop word [rax + rax]
test word [rbx + 0x14], r9w
jne 0x14022b61d
cmp dword [rbx + 0x20], 0
je 0x14022b62c
mov rcx, rbx
call fcn.14024ac90
xor r11d, r11d
lea r10d, [r11 + 1]
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 0x14], r10w
mov dword [rdi + 0x20], r11d
movzx eax, word [rbx + 0x14]
bt ax, 0xe
jae 0x14022b6ab
test al, 0x12
je 0x14022b69b
bt ax, 0xa
jae 0x14022b67b
mov rcx, rbx
call fcn.1402356b0
test eax, eax
jne 0x1402335da
cmp dword [rbx + 0x20], 0
je 0x14022b68b
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x14022b69b
mov rcx, rbx
call fcn.14024ac30
test eax, eax
jne 0x1402335da
mov eax, 0xbfff
and word [rbx + 0x14], ax
xor r11d, r11d
lea r10d, [r11 + 1]
add rdi, 0x38
add rbx, 0x38
mov r9d, 0x9000
sub esi, 1
jne 0x14022b610
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rdx, [0x140000000]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
mov esi, dword [rax + 0xc]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
mov rax, qword [rsp + 0x30]
add rdi, r14
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, r14
nop dword [rax]
test word [rbx + 0x14], r9w
je 0x14022b72a
mov r8d, 0x4000
mov rdx, rdi
mov rcx, rbx
call fcn.140249e30
jmp 0x14022b757
movups xmm0, xmmword [rdi]
mov eax, 0x2000
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [rbx + 0x10], xmm1
test word [rdi + 0x14], ax
jne 0x14022b757
mov eax, 0xcfff
and word [rbx + 0x14], ax
mov eax, 0x4000
or word [rbx + 0x14], ax
movzx eax, word [rbx + 0x14]
bt ax, 0xe
jae 0x14022b7aa
test al, 0x12
je 0x14022b79d
bt ax, 0xa
jae 0x14022b77d
mov rcx, rbx
call fcn.1402356b0
test eax, eax
jne 0x1402335da
cmp dword [rbx + 0x20], 0
je 0x14022b78d
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x14022b79d
mov rcx, rbx
call fcn.14024ac30
test eax, eax
jne 0x1402335da
mov eax, 0xbfff
and word [rbx + 0x14], ax
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x14022b7c5
test byte [r12 + 2], 2
je 0x14022b7c5
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
mov r9d, 0x9000
dec esi
test eax, eax
je 0x14022b7e0
add rbx, 0x38
add rdi, 0x38
jmp 0x14022b710
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
mov r10d, 1
lea rdx, [0x140000000]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r14
add rcx, r14
test word [rcx + 0x14], r9w
je 0x14022b841
mov r8d, 0x4000
call fcn.140249e30
mov r12, qword [rsp + 0x30]
xor r11d, r11d
jmp 0x14022f35e
movups xmm0, xmmword [rdx]
mov r12, qword [rsp + 0x30]
mov eax, 0x2000
movups xmmword [rcx], xmm0
movsd xmm1, qword [rdx + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rdx + 0x14], ax
lea rdx, [0x140000000]
jne case.0x14022aeb5.89
mov eax, 0xcfff
and word [rcx + 0x14], ax
mov eax, 0x4000
or word [rcx + 0x14], ax
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r14
mov rax, qword [rcx + r14]
test word [r8 + 0x14], r9w
je 0x14022b8c6
mov rdx, rax
mov rcx, r8
call fcn.14024bd80
mov r12, qword [rsp + 0x30]
xor r11d, r11d
jmp 0x14022f35e
mov r12, qword [rsp + 0x30]
mov qword [r8], rax
mov eax, 4
mov word [r8 + 0x14], ax
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
cmp qword [rsi + 0x50], 0
jg 0x140232f64
mov r13d, r11d
mov dword [rsp + 0x38], r11d
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 4]
imul r13, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rdi, rax, 0x38
mov rax, qword [rsp + 0x30]
add r13, r14
add rdi, r14
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
movzx r14d, word [r13 + 0x14]
movzx eax, r14b
or al, byte [rdi + 0x14]
test al, 1
je 0x14022b991
test word [rbx + 0x14], r9w
je 0x14022b96b
mov rcx, rbx
call fcn.14024ace0
mov r13d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov r14, qword [rsp + 0x60]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov r13d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov r14, qword [rsp + 0x60]
mov word [rbx + 0x14], r10w
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
test r14b, 0x12
jne 0x14022b9c9
movzx r12d, byte [rsp + 0x3c]
xor r8d, r8d
movzx edx, r12b
mov rcx, r13
call fcn.1402361c0
test eax, eax
jne 0x1402333c7
movzx r14d, word [r13 + 0x14]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x400
jmp 0x14022b9fd
mov eax, 0x400
test ax, r14w
je 0x14022b9f7
mov rcx, r13
call fcn.1402356b0
test eax, eax
jne 0x1402333c7
movzx r14d, word [r13 + 0x14]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x400
movzx r12d, byte [rsp + 0x3c]
movzx esi, word [rdi + 0x14]
test sil, 0x12
jne 0x14022ba18
xor r8d, r8d
movzx edx, r12b
mov rcx, rdi
call fcn.1402361c0
jmp 0x14022ba25
test ax, si
je 0x14022ba39
mov rcx, rdi
call fcn.1402356b0
test eax, eax
jne 0x1402335da
movzx esi, word [rdi + 0x14]
mov eax, 0xfffd
and si, ax
mov rcx, qword [rsp + 0x58]
mov edx, dword [rdi + 0x10]
add edx, dword [r13 + 0x10]
movsxd r15, edx
movsxd rax, dword [rcx + 0x88]
cmp r15, rax
jg 0x14023325e
xor ecx, ecx
mov r8d, ecx
cmp rbx, rdi
mov rcx, rbx
sete r8b
add edx, 2
call fcn.140235950
test eax, eax
jne 0x140233678
movzx eax, word [rbx + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rbx + 0x14], ax
cmp rbx, rdi
je 0x14022baa5
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov word [rdi + 0x14], si
movsxd rcx, dword [rdi + 0x10]
add rcx, qword [rbx + 8]
movsxd r8, dword [r13 + 0x10]
mov rdx, qword [r13 + 8]
call sub.VCRUNTIME140.dll_memcpy
movzx ecx, byte [rsp + 0x3c]
mov word [r13 + 0x14], r14w
cmp cl, 1
jbe 0x14022bacd
and r15, 0xfffffffffffffffe
mov rax, qword [rbx + 8]
mov byte [r15 + rax], 0
mov rax, qword [rbx + 8]
mov byte [rax + r15 + 1], 0
mov eax, 0x200
or word [rbx + 0x14], ax
mov dword [rbx + 0x10], r15d
mov byte [rbx + 0x16], cl
mov r15, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
movzx ebx, word [rdi + 0x14]
test bl, 0x2c
jne 0x14022bb48
test bl, 0x12
je 0x14022bb44
mov rcx, rdi
call fcn.1401c3150
movzx ebx, ax
xor r11d, r11d
jmp 0x14022bb48
movzx ebx, r11w
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rsi, rax, 0x38
add rsi, r14
movzx eax, word [rsi + 0x14]
movzx ecx, ax
and cx, 0x2c
jne 0x14022bb79
test al, 0x12
je 0x14022bb76
mov rcx, rsi
call fcn.1401c3150
movzx ecx, ax
jmp 0x14022bb79
mov ecx, r11d
mov rax, qword [rsp + 0x30]
and cl, bl
movzx r10d, word [rdi + 0x14]
movsxd rax, dword [rax + 0xc]
imul r14, rax, 0x38
movzx eax, r10w
add r14, qword [rsp + 0x60]
or ax, word [rsi + 0x14]
test cl, 4
je 0x14022bd99
mov rax, qword [rsp + 0x30]
mov r9, qword [rdi]
mov r8, qword [rsi]
movzx ecx, byte [rax]
sub ecx, 0x6a
je 0x14022bd3f
sub ecx, 1
je 0x14022bcc1
sub ecx, 1
je 0x14022bc26
cmp ecx, 1
je 0x14022bbf4
test r9, r9
je 0x14022bf31
cmp r9, 0xffffffffffffffff
mov rax, r8
mov r12d, 1
cqo
cmove r9, r12
idiv r9
mov r8, rdx
jmp 0x14022bd7b
test r9, r9
je 0x14022bf31
cmp r9, 0xffffffffffffffff
jne 0x14022bc16
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x14022bda1
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x14022bd7b
test r9, r9
jle 0x14022bc5c
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x14022bda1
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jge 0x14022bcb8
jmp 0x14022bda1
jns 0x14022bcb8
test r8, r8
jle 0x14022bc7c
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x14022bcb8
jmp 0x14022bda1
jns 0x14022bcb8
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x14022bda1
cmp r8, rax
je 0x14022bda1
movabs rax, 0x8000000000000001
mov rcx, r8
cqo
neg rcx
idiv r9
cmp rcx, rax
jg 0x14022bda1
imul r8, r9
jmp 0x14022bd7b
movabs rax, 0x8000000000000000
cmp r9, rax
jne 0x14022bce1
test r8, r8
jns 0x14022bda1
sub r8, rax
jmp 0x14022bd7b
neg r9
js 0x14022bd08
test r8, r8
jle 0x14022bd2e
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x14022bd2e
mov r12d, 1
mov eax, r12d
jmp 0x14022bd39
test r8, r8
jns 0x14022bd2e
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x14022bd2e
mov r12d, 1
mov eax, r12d
jmp 0x14022bd39
add r8, r9
xor ecx, ecx
mov eax, ecx
lea r12d, [rcx + 1]
test eax, eax
jne 0x14022bda7
jmp 0x14022bd7b
test r9, r9
js 0x14022bd5d
test r8, r8
jle 0x14022bd78
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x14022bd78
jmp 0x14022bda1
test r8, r8
jns 0x14022bd78
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jg 0x14022bda1
add r8, r9
mov qword [r14], r8
mov ecx, 0xf244
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 4
mov word [r14 + 0x14], ax
jmp 0x14022bafa
test al, 1
jne 0x14022bf31
mov r12d, 1
test r10b, 8
je 0x14022bdb3
movsd xmm2, qword [rdi]
jmp 0x14022bdd9
test r10b, 0x24
je 0x14022bdc3
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rdi]
jmp 0x14022bdd9
test r10b, 0x12
je 0x14022bdd6
mov rcx, rdi
call fcn.1401d9f10
movaps xmm2, xmm0
jmp 0x14022bdd9
movaps xmm2, xmm6
movzx eax, word [rsi + 0x14]
test al, 8
je 0x14022bde7
movsd xmm0, qword [rsi]
jmp 0x14022be06
test al, 0x24
je 0x14022bdf5
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
jmp 0x14022be06
test al, 0x12
je 0x14022be03
mov rcx, rsi
call fcn.1401d9f10
jmp 0x14022be06
movaps xmm0, xmm6
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
sub ecx, 0x6a
je 0x14022bee1
sub ecx, 1
je 0x14022bedb
sub ecx, 1
je 0x14022bed5
cmp ecx, 1
je 0x14022bec7
movzx eax, word [rdi + 0x14]
test al, 0x24
je 0x14022be41
mov rbx, qword [rdi]
xor ecx, ecx
jmp 0x14022be73
test al, 8
je 0x14022be55
movsd xmm0, qword [rdi]
call fcn.1401c64a0
mov rbx, rax
xor ecx, ecx
jmp 0x14022be73
test al, 0x12
je 0x14022be6f
cmp qword [rdi + 8], 0
je 0x14022be6f
mov rcx, rdi
call fcn.1401d9ee0
mov rbx, rax
xor ecx, ecx
jmp 0x14022be73
xor ecx, ecx
mov ebx, ecx
movzx eax, word [rsi + 0x14]
test al, 0x24
je 0x14022be80
mov rax, qword [rsi]
jmp 0x14022bea7
test al, 8
je 0x14022be8f
movsd xmm0, qword [rsi]
call fcn.1401c64a0
jmp 0x14022bea7
test al, 0x12
je 0x14022bea4
cmp qword [rsi + 8], 0
je 0x14022bea4
mov rcx, rsi
call fcn.1401d9ee0
jmp 0x14022bea7
mov rax, rcx
test rbx, rbx
je 0x14022bf31
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm0, xmm0
cmove rbx, r12
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x14022bee5
ucomisd xmm2, xmm6
jp 0x14022becf
je 0x14022bf31
divsd xmm0, xmm2
jmp 0x14022bee5
mulsd xmm0, xmm2
jmp 0x14022bee5
subsd xmm0, xmm2
jmp 0x14022bee5
addsd xmm0, xmm2
movq rax, xmm0
movabs rcx, 0xfffffffffffff
test rcx, rax
movabs rdx, 0x7ff0000000000000
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
jne 0x14022bf31
movsd qword [r14], xmm0
mov ecx, 0xf248
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 8
mov word [r14 + 0x14], ax
jmp 0x14022bafa
mov r9d, 0x9000
test word [r14 + 0x14], r9w
je 0x14022bf4b
mov rcx, r14
call fcn.14024ace0
jmp 0x14022bafa
mov r12, qword [rsp + 0x30]
lea rdx, [0x140000000]
mov rsi, qword [rsp + 0x48]
mov r10d, 1
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
mov word [r14 + 0x14], r10w
mov r14, qword [rsp + 0x60]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x14022b116
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 0x14], r9w
je 0x14022bfb4
xor edx, edx
call fcn.14024bd80
mov r12, qword [rsp + 0x30]
xor r11d, r11d
jmp 0x14022f35e
mov r12, qword [rsp + 0x30]
mov eax, 4
mov qword [rcx], r11
mov word [rcx + 0x14], ax
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rdi, r14
add rcx, r14
movsxd rax, dword [rax + 0xc]
movzx edx, word [rcx + 0x14]
imul rsi, rax, 0x38
movzx eax, dl
or al, byte [rdi + 0x14]
add rsi, r14
test al, 1
je 0x14022c04f
test word [rsi + 0x14], r9w
je 0x14022c02c
mov rcx, rsi
call fcn.14024ace0
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rsi, qword [rsp + 0x48]
jmp 0x14022f35e
mov r12, qword [rsp + 0x30]
lea rdx, [0x140000000]
mov word [rsi + 0x14], r10w
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov eax, edx
test dl, 0x24
je 0x14022c05b
mov rbx, qword [rcx]
jmp 0x14022c088
test al, 8
je 0x14022c06d
movsd xmm0, qword [rcx]
call fcn.1401c64a0
mov rbx, rax
jmp 0x14022c088
test al, 0x12
je 0x14022c085
cmp qword [rcx + 8], 0
je 0x14022c085
call fcn.1401d9ee0
mov rbx, rax
xor r11d, r11d
jmp 0x14022c088
mov rbx, r11
movzx eax, word [rdi + 0x14]
test al, 0x24
je 0x14022c095
mov rcx, qword [rdi]
jmp 0x14022c0c2
test al, 8
je 0x14022c0a7
movsd xmm0, qword [rdi]
call fcn.1401c64a0
mov rcx, rax
jmp 0x14022c0c2
test al, 0x12
je 0x14022c0bf
cmp qword [rdi + 8], 0
je 0x14022c0bf
mov rcx, rdi
call fcn.1401d9ee0
mov rcx, rax
jmp 0x14022c0c2
mov rcx, r11
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax]
cmp dl, 0x66
jne 0x14022c0d4
and rbx, rcx
jmp 0x14022c149
cmp dl, 0x67
jne 0x14022c0de
or rbx, rcx
jmp 0x14022c149
test rcx, rcx
je 0x14022c149
jns 0x14022c0f8
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x14022c0fe
neg rcx
cmp rcx, 0x40
jl 0x14022c117
test rbx, rbx
jns 0x14022c111
cmp dl, 0x68
je 0x14022c111
mov rbx, 0xffffffffffffffff
jmp 0x14022c149
xor ecx, ecx
mov ebx, ecx
jmp 0x14022c149
cmp dl, 0x68
jne 0x14022c124
shl rbx, cl
mov r8, rbx
jmp 0x14022c146
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14022c146
mov eax, 0x40
mov rdx, 0xffffffffffffffff
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov qword [rsi], rbx
mov ecx, 0xf244
movzx eax, word [rsi + 0x14]
and ax, cx
or ax, 4
mov word [rsi + 0x14], ax
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140235ad0
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 8]
add qword [rbx], rax
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x14022c229
test al, 8
jne 0x14022c1ea
test al, 2
je 0x14022c1e5
mov edx, r10d
mov rcx, rbx
call fcn.1401b9550
movzx eax, word [rbx + 0x14]
xor r11d, r11d
mov r9d, 0x9000
lea r10d, [r11 + 1]
movzx ecx, ax
jmp 0x14022c1f6
mov rcx, rbx
call fcn.140234bd0
movzx ecx, word [rbx + 0x14]
movzx eax, cx
test cl, 4
jne 0x14022c222
mov r12, qword [rsp + 0x30]
cmp dword [r12 + 8], 0
jne 0x14022eb5b
mov r13d, reloc.OLEAUT32.dll_SafeArrayLock
mov r14, r12
mov edi, 1
jmp 0x14022e991
lea rdx, [0x140000000]
mov ecx, 0xf244
and ax, cx
or ax, 4
mov word [rbx + 0x14], ax
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r14
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x14022b116
test al, 8
je 0x14022c276
movsd xmm0, qword [rcx]
jmp 0x14022c27e
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
mov r12, qword [rsp + 0x30]
mov r8d, 0xf248
and ax, r8w
movsd qword [rcx], xmm0
or ax, 8
mov word [rcx + 0x14], ax
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r14
test word [rbx + 0x14], ax
je 0x14022c2d4
mov rcx, rbx
call fcn.1402356b0
mov r13d, eax
test eax, eax
jne 0x14022e987
mov rax, qword [rsp + 0x30]
mov rcx, rbx
movzx r8d, byte [rsp + 0x3c]
movzx edx, byte [rax + 8]
call fcn.1402354a0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x1402336e1
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add r15, r14
imul r14, rax, 0x38
movzx esi, word [r15 + 0x14]
add r14, qword [rsp + 0x60]
movzx ebx, word [r14 + 0x14]
movzx edx, bx
and dx, si
test dl, 4
je 0x14022c407
mov rax, qword [r14]
mov r12, rcx
cmp rax, qword [r15]
jle 0x14022c38b
mov rax, qword [0x14034a478]
cmp byte [rdi + rax], 0
jne 0x14022eb5b
mov r15, qword [rsp + 0x58]
lea rdx, [0x140000000]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
mov dword [rsp + 0x68], r10d
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rbx, qword [rsp + 0x40]
jge 0x14022c3ce
mov rax, qword [0x14034a468]
cmp byte [rdi + rax], 0
jne 0x14022eb60
mov r15, qword [rsp + 0x58]
lea rdx, [0x140000000]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x68], 0xffffffff
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [0x14034a470]
cmp byte [rdi + rax], 0
jne 0x14022eb60
mov r15, qword [rsp + 0x58]
lea rdx, [0x140000000]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x68], r11d
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
movzx ecx, bx
or cx, si
test cl, 1
je 0x14022c49b
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
test al, al
jns 0x14022c461
test dl, 1
je 0x14022c44b
mov eax, 0x100
test ax, bx
jne 0x14022c44b
mov rax, qword [rsp + 0x30]
mov dword [rsp + 0x68], r11d
movzx ecx, byte [rax]
mov rax, qword [0x14034a470]
jmp 0x14022c59b
movzx eax, bx
not ax
and eax, 1
lea r11d, [rax*2 - 1]
jmp 0x14022c561
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
test al, 0x10
jne 0x14022eb60
mov r15, qword [rsp + 0x58]
lea rdx, [0x140000000]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x68], r10d
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rdi, qword [rsp + 0x30]
movzx eax, byte [rdi + 2]
and al, 0x47
cmp al, 0x43
jb 0x14022c4e1
test cl, 2
je 0x14022c54f
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x14022c4cc
xor edx, edx
mov rcx, r15
call fcn.1401b9550
movzx ebx, word [r14 + 0x14]
movzx eax, bl
and al, 0x2e
cmp al, 2
jne 0x14022c54f
xor edx, edx
mov rcx, r14
call fcn.1401b9550
jmp 0x14022c54f
cmp al, 0x42
jne 0x14022c54f
movzx r12d, byte [rsp + 0x3c]
test sil, 2
jne 0x14022c524
test sil, 0x2c
je 0x14022c524
mov r8b, 1
movzx edx, r12b
mov rcx, r15
call fcn.1402361c0
xor si, word [r15 + 0x14]
mov eax, 0xdbf
and si, ax
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x14022c524
movzx ebx, si
or bx, 2
test bl, 2
jne 0x14022c54f
test bl, 0x2c
je 0x14022c54f
mov r8b, 1
movzx edx, r12b
mov rcx, r14
call fcn.1402361c0
xor bx, word [r14 + 0x14]
mov eax, 0xdbf
and bx, ax
xor bx, word [r14 + 0x14]
mov r8, qword [rdi + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.140211580
mov r11d, eax
mov rax, qword [rsp + 0x30]
mov dword [rsp + 0x68], r11d
movzx ecx, byte [rax]
test r11d, r11d
jns 0x14022c57c
mov rax, qword [0x14034a468]
jmp 0x14022c59b
mov dword [rsp + 0x68], r11d
test r11d, r11d
jne 0x14022c58f
mov rax, qword [0x14034a470]
jmp 0x14022c59b
mov rax, qword [0x14034a478]
mov dword [rsp + 0x68], r11d
movzx edx, byte [rcx + rax]
xor r11d, r11d
mov r12, qword [rsp + 0x30]
mov word [r14 + 0x14], bx
mov rbx, qword [rsp + 0x40]
mov word [r15 + 0x14], si
lea r10d, [r11 + 1]
test dl, dl
jne 0x14022eb60
mov r15, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
jmp 0x14022f364
cmp dword [rsp + 0x68], 0
je 0x14022eb60
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
test byte [rax + 2], 1
jne 0x14022c5fe
mov r13, r11
jmp 0x14022c606
mov r13, qword [rax - 8]
add r13, 4
mov rcx, qword [rax + 0x10]
mov edi, r11d
mov r8d, dword [rax + 4]
mov rbx, r11
mov r9d, dword [rax + 8]
movsxd rax, dword [rax + 0xc]
mov qword [rbp - 0x80], rcx
mov dword [rsp + 0x78], r8d
mov dword [rbp - 0x78], r9d
mov qword [rbp - 0x60], rax
test rax, rax
jle 0x140232e35
lea r12, [rcx + 0x20]
nop word [rax + rax]
test r13, r13
je 0x14022c64c
mov edx, dword [r13 + rbx*4]
jmp 0x14022c64e
mov edx, edi
mov rax, qword [rcx + 0x18]
lea ecx, [rdx + r9]
imul r15, rcx, 0x38
movzx esi, byte [rbx + rax]
lea ecx, [rdx + r8]
mov r8, qword [r12]
add r15, r14
imul rax, rcx, 0x38
mov rdx, r15
and esi, 1
add r14, rax
mov rcx, r14
call fcn.140211580
mov dword [rsp + 0x68], eax
mov r11d, eax
test eax, eax
jne 0x14022c6cb
mov rcx, qword [rbp - 0x80]
inc edi
mov r8d, dword [rsp + 0x78]
inc rbx
mov r9d, dword [rbp - 0x78]
add r12, 8
mov r14, qword [rsp + 0x60]
cmp rbx, qword [rbp - 0x60]
jl 0x14022c640
mov r15, qword [rsp + 0x58]
xor r11d, r11d
mov r13d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x14022c6ef
test byte [r14 + 0x14], 1
jne 0x14022c6e7
test byte [r15 + 0x14], 1
je 0x14022c6ef
neg r11d
mov dword [rsp + 0x68], r11d
mov r15, qword [rsp + 0x58]
lea rdx, [0x140000000]
mov r13d, dword [rsp + 0x38]
test esi, esi
mov rsi, qword [rsp + 0x48]
mov r10d, 1
mov r12, qword [rsp + 0x30]
mov r9d, 0x9000
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
je 0x14022c72c
neg r11d
mov dword [rsp + 0x68], r11d
xor r11d, r11d
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov r11d, dword [rsp + 0x68]
mov rax, qword [rsp + 0x30]
test r11d, r11d
jns 0x14022c750
mov eax, dword [rax + 4]
jmp 0x14022c75a
jne 0x14022c757
mov eax, dword [rax + 8]
jmp 0x14022c75a
mov eax, dword [rax + 0xc]
dec eax
cdqe
xor r11d, r11d
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rdi, qword [rsp + 0x30]
mov r12d, 2
mov edx, r12d
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add rcx, r14
call fcn.14022a300
movsxd rcx, dword [rdi + 8]
mov edx, r12d
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, r14
call fcn.14022a300
lea rdx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
movsxd rcx, eax
mov rax, rdi
cmp byte [rax], 0x2c
jne 0x14022c7ca
movzx edx, byte [rcx + rdx + 0x2e23f0]
jmp 0x14022c7d2
movzx edx, byte [rcx + rdx + 0x2e2400]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
cmp dl, r12b
jne 0x14022c806
movzx eax, word [rcx + 0x14]
mov edx, 0xf241
mov rbx, qword [rsp + 0x40]
and ax, dx
or ax, 1
mov r12, rdi
mov word [rcx + 0x14], ax
xor r11d, r11d
jmp 0x14022f35e
mov rbx, qword [rsp + 0x40]
mov r12, rdi
movzx eax, dl
mov edx, 0xf244
mov qword [rcx], rax
movzx eax, word [rcx + 0x14]
and ax, dx
or ax, 4
mov word [rcx + 0x14], ax
xor r11d, r11d
jmp 0x14022f35e
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.14022a300
movsxd rcx, eax
mov r9d, 0x9000
mov rax, rdi
movsxd rdx, dword [rax + 0x10]
movsxd rax, dword [rax + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 0x14], r9w
je 0x14022c87d
call fcn.14024bd80
xor r11d, r11d
mov r12, rdi
jmp 0x14022f35e
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 0x14], ax
lea rdx, [0x140000000]
mov r12, rdi
xor r11d, r11d
lea r10d, [rax - 3]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rcx, r14
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
movzx eax, word [rcx + 0x14]
add rbx, r14
test al, 1
jne 0x1402324a5
test al, 0x24
je 0x14022c8e3
cmp qword [rcx], 0
mov rax, r11
sete al
jmp 0x14022c91a
test al, 8
je 0x14022c8ed
movsd xmm0, qword [rcx]
jmp 0x14022c90a
test al, 0x12
je 0x14022c917
call fcn.1401d9f10
xor r11d, r11d
lea rdx, [0x140000000]
mov r9d, 0x9000
lea r10d, [r11 + 1]
ucomisd xmm0, xmm6
jp 0x14022c912
je 0x14022c917
mov rax, r11
jmp 0x14022c91a
mov rax, r10
test word [rbx + 0x14], r9w
je 0x14022c93e
mov rdx, rax
mov rcx, rbx
call fcn.14024bd80
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov r12, qword [rsp + 0x30]
mov qword [rbx], rax
mov eax, 4
mov word [rbx + 0x14], ax
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov r12, qword [rsp + 0x30]
mov word [rbx + 0x14], r10w
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rdi, rax, 0x38
add rbx, r14
add rdi, r14
test word [rdi + 0x14], r9w
je 0x14022c9bd
mov rcx, rdi
call fcn.14024ace0
xor r11d, r11d
lea rdx, [0x140000000]
mov r9d, 0x9000
lea r10d, [r11 + 1]
jmp 0x14022c9c2
mov word [rdi + 0x14], r10w
test byte [rbx + 0x14], 1
jne 0x14022c239
mov eax, 4
mov word [rdi + 0x14], ax
movzx eax, word [rbx + 0x14]
test al, 0x24
je 0x14022c9f8
mov rax, qword [rbx]
xor r11d, r11d
mov r12, qword [rsp + 0x30]
not rax
mov rbx, qword [rsp + 0x40]
mov qword [rdi], rax
jmp 0x14022f35e
test al, 8
je 0x14022ca1d
movsd xmm0, qword [rbx]
call fcn.1401c64a0
mov r12, qword [rsp + 0x30]
not rax
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
mov qword [rdi], rax
jmp 0x14022f35e
test al, 0x12
je 0x14022ca48
cmp qword [rbx + 8], 0
je 0x14022ca48
mov rcx, rbx
call fcn.1401d9ee0
mov r12, qword [rsp + 0x30]
not rax
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
mov qword [rdi], rax
jmp 0x14022f35e
mov r12, qword [rsp + 0x30]
mov rax, r11
mov rbx, qword [rsp + 0x40]
not rax
mov qword [rdi], rax
xor r11d, r11d
jmp 0x14022f35e
mov r8, qword [rsi + 0x108]
test r8, r8
je 0x14022cac7
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsi + 0x88]
mov r9, qword [r8 + 0x30]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x14022cce6
bts eax, edx
mov byte [rcx + r9], al
lea rdx, [0x140000000]
mov r9d, 0x9000
jmp 0x14022cadf
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsi + 0x88]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x14022cce6
mov rax, qword [rsi + 0x88]
mov r12, qword [rsp + 0x30]
mov ecx, dword [rax + 4]
mov dword [r12 + 4], ecx
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rcx, r14
mov edx, dword [rax + 0xc]
call fcn.14022a300
test eax, eax
jne 0x14022ccd0
mov r12, qword [rsp + 0x30]
xor r11d, r11d
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
mov edx, r11d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r14
call fcn.14022a300
test eax, eax
jne 0x14022b834
jmp 0x14022ccd0
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
jne 0x14022eb60
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
movzx eax, word [rcx + r14 + 0x14]
test al, 1
jne 0x14022eb60
and eax, 0x3f
movzx eax, byte [rax + rdx + 0x2e2390]
cmp eax, dword [r12 + 0xc]
je 0x14022eb60
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
jne 0x14022cc34
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
jne 0x14022cc34
mov rax, rdi
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 0x14], r9w
je 0x14022cc18
xor edx, edx
call fcn.14024bd80
xor r11d, r11d
mov r12, rdi
jmp 0x14022f35e
mov eax, 4
mov qword [rcx], r11
mov word [rcx + 0x14], ax
mov r12, rdi
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, rdi
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 0x14], r9w
je 0x14022cc59
call fcn.14024ace0
xor r11d, r11d
mov r12, rdi
jmp 0x14022f35e
mov word [rcx + 0x14], r10w
mov r12, rdi
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
je 0x14022eb60
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je 0x14022b116
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 0x14], r9w
je 0x14022cce1
call fcn.14024ace0
mov r12, qword [rsp + 0x30]
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x14022eb60
mov word [rcx + 0x14], r10w
mov r12, qword [rsp + 0x30]
jmp 0x14022eb60
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov r15d, dword [rcx + 8]
mov dword [rbp - 0x78], r15d
nop
mov r13, qword [rbx + 0x58]
mov eax, dword [rsi + 0x2c]
mov qword [rbp - 0x80], r13
cmp dword [rbx + 0x20], eax
je 0x14022cd59
cmp byte [rbx + 2], 0
jne 0x14022cddd
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x14022cd52
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14022cd83
lea eax, [r15 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x14022cd83
mov rbx, qword [rbx + 0x28]
lea r15d, [rax - 1]
jmp 0x14022cd0a
cmp byte [rdi], 0
je 0x14022cd97
jmp 0x14022cd66
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14022cf4d
mov rcx, rbx
call fcn.140234960
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
je 0x14022cd10
mov r15, qword [rsp + 0x58]
jmp 0x14022e987
mov rcx, rbx
call fcn.1402342f0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1402336b8
mov rcx, rdi
call fcn.1401d2990
mov eax, dword [rdi + 0x40]
mov dword [rbx + 0x68], eax
mov rax, qword [rdi + 0x88]
movzx ecx, word [rdi + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rdi + 0x38]
cmp ecx, edx
jle 0x14022cdd1
mov ecx, edx
test edx, edx
mov r11d, 0
cmovs ecx, r11d
mov dword [rbx + 0x6c], ecx
mov rcx, qword [rdi + 0x38]
jmp 0x14022ce09
mov dword [rbx + 0x6c], ecx
xor r11d, r11d
mov rcx, qword [rdi + 0x38]
jmp 0x14022ce09
cmp byte [rbx], 3
jne 0x14022ced9
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x14022ced9
imul rcx, rax, 0x38
xor r11d, r11d
mov eax, dword [rcx + r14 + 0x10]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x68], eax
mov rcx, qword [rcx + r14 + 8]
mov qword [rbx + 0x60], rcx
lea rdi, [rbx + 0x40]
mov eax, dword [rsi + 0x2c]
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r13], eax
mov qword [rbp - 0x60], rdi
cmp eax, 0x80
jae 0x14022ce30
mov eax, 1
jmp 0x14022ce42
mov rcx, qword [rbx + 0x60]
mov rdx, r13
call fcn.14020c5b0
movzx eax, al
xor r11d, r11d
mov dword [rdi], eax
lea rsi, [rbx + 0x4a]
mov word [rsi], r11w
mov eax, dword [r13]
mov qword [rbp - 0x48], rsi
cmp dword [rbx + 0x6c], eax
jae 0x14022cecb
mov qword [rbx + 0x60], r11
mov dword [rbx + 0x6c], r11d
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x14022ce75
cmp eax, dword [rbx + 0x68]
jbe 0x14022cf54
mov r9d, 0x9000
mov rbx, qword [rsp + 0x40]
mov eax, dword [rbx + 0xc]
test eax, eax
jle 0x140232f99
mov r13d, dword [rsp + 0x38]
lea rdx, [0x140000000]
mov rsi, qword [rsp + 0x48]
dec eax
movsxd rcx, eax
mov r10d, 1
lea rax, [rcx + rcx*2]
lea r15, [rbx + rax*8]
mov qword [rsp + 0x30], r15
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x78], rax
jmp 0x14022d013
mov rax, qword [rsp + 0x30]
mov r9d, 0x9000
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 0x14], r9w
je 0x14022cf17
call fcn.14024ace0
mov r15, qword [rsp + 0x58]
xor r11d, r11d
mov r13d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov r15, qword [rsp + 0x58]
lea rdx, [0x140000000]
mov r13d, dword [rsp + 0x38]
mov r10d, 1
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
mov word [rcx + 0x14], r10w
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
lea rsi, [rbx + 0x4a]
xor r11d, r11d
movzx eax, word [rsi]
cmp eax, r15d
ja 0x14022d27f
mov eax, dword [r13]
lea rdi, [rbx + 0x40]
mov qword [rbp - 0x60], rdi
cmp dword [rdi], eax
jae 0x14022d15e
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x14022d00b
mov qword [rbp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
mov r10, qword [rbx + 0x30]
mov r8d, dword [r13]
mov rax, qword [r10 + 0x88]
movzx ecx, word [r10 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x14022cfc0
test edx, edx
mov ecx, edx
cmovs ecx, r11d
mov rax, qword [r10 + 0x38]
mov qword [rsp + 0x78], rax
mov qword [rbp + 0x28], rax
cmp r8d, ecx
ja 0x14022cfe6
mov ecx, 0x4010
mov dword [rbp + 0x30], r8d
mov word [rbp + 0x34], cx
mov dword [rsp + 0x38], r11d
jmp 0x14022d00f
lea r9, [rbp + 0x20]
xor edx, edx
mov rcx, r10
call fcn.1402357e0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1402336ae
mov rax, qword [rbp + 0x28]
mov qword [rsp + 0x78], rax
jmp 0x14022d00f
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x48], rsi
movzx r12d, word [rsi]
mov esi, dword [rdi]
mov r14d, r12d
mov rcx, qword [rbp - 0x80]
add rsi, rax
mov r15d, dword [r13 + r12*4]
mov r13d, dword [r13]
add r13, rax
nop
movzx edi, byte [rsi]
mov dword [rbp - 0x6c], edi
mov dword [rbx + r14*4 + 0x70], edi
cmp edi, 0x80
jae 0x14022d057
lea rdx, [0x140000000]
inc rsi
movzx eax, byte [rdi + rdx + 0x2e2310]
jmp 0x14022d093
lea rdx, [rbp - 0x6c]
mov rcx, rsi
call fcn.14020c5b0
mov edi, dword [rbp - 0x6c]
movzx eax, al
add rsi, rax
mov dword [rbx + r14*4 + 0x70], edi
cmp edi, 0x80
jb 0x14022d080
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x14022d08f
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x2e2310]
mov rcx, qword [rbp - 0x80]
inc r12d
add r15, rax
movsxd r14, r12d
mov dword [rcx + r14*4], r15d
cmp r12d, dword [rbp - 0x78]
ja 0x14022d0ad
cmp rsi, r13
jb 0x14022d030
jmp 0x14022d0b2
cmp rsi, r13
jb 0x14022d10a
cmp rsi, r13
ja 0x14022d112
mov eax, dword [rbx + 0x68]
cmp r15, rax
jne 0x14022d112
mov rax, qword [rbp - 0x48]
sub esi, dword [rsp + 0x78]
mov word [rax], r12w
mov r12d, 0x9000
mov rax, qword [rbp - 0x60]
mov dword [rax], esi
cmp qword [rbx + 0x60], 0
jne 0x14022d0f4
test word [rbp + 0x34], r12w
jne 0x14022d0eb
cmp dword [rbp + 0x40], 0
je 0x14022d0f4
lea rcx, [rbp + 0x20]
call fcn.14024ac90
mov rsi, qword [rbp - 0x48]
xor r11d, r11d
mov r13, qword [rbp - 0x80]
mov r15d, dword [rbp - 0x78]
mov r14, qword [rsp + 0x60]
jmp 0x14022d16b
mov eax, dword [rbx + 0x68]
cmp r15, rax
jbe 0x14022d0bf
cmp dword [rcx], 0
jne 0x14022d121
xor ecx, ecx
mov rsi, r13
mov r12d, ecx
jmp 0x14022d0bf
cmp qword [rbx + 0x60], 0
mov r9d, 0x9000
jne 0x14022d151
test word [rbp + 0x34], r9w
jne 0x14022d13b
cmp dword [rbp + 0x40], 0
je 0x14022d151
lea rcx, [rbp + 0x20]
call fcn.14024ac90
mov r14, qword [rsp + 0x60]
xor r11d, r11d
jmp 0x14022ce75
mov r14, qword [rsp + 0x60]
xor r11d, r11d
jmp 0x14022ce7b
mov edi, r11d
mov dword [rbp - 0x6c], r11d
mov r12d, 0x9000
movzx eax, word [rsi]
cmp eax, r15d
ja 0x14022d27a
mov r15, qword [rsp + 0x30]
mov r9d, 0x9000
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
cmp byte [r15 + 1], 0xf6
jne 0x14022d231
mov rax, qword [r15 + 0x10]
test word [rcx + 0x14], r9w
je 0x14022d1d2
mov r8d, 0x2000
mov rdx, rax
call fcn.140249e30
mov r15, qword [rsp + 0x58]
xor r11d, r11d
mov r13d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
movups xmm0, xmmword [rax]
mov r15, qword [rsp + 0x58]
mov edx, 0x2000
mov r13d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
movups xmmword [rcx], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rax + 0x14], dx
jne 0x14022f976
mov rbx, qword [rsp + 0x40]
mov eax, 0xafff
and word [rcx + 0x14], ax
mov r10d, 1
or word [rcx + 0x14], dx
lea rdx, [0x140000000]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
test word [rcx + 0x14], r9w
je 0x14022d242
call fcn.14024ace0
jmp 0x14022d1b1
mov r15, qword [rsp + 0x58]
lea rdx, [0x140000000]
mov r13d, dword [rsp + 0x38]
mov r10d, 1
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov word [rcx + 0x14], r10w
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov r14d, r15d
jmp 0x14022d290
mov r14d, r15d
mov r12d, 0x9000
mov edi, dword [rbx + r14*4 + 0x70]
mov dword [rbp - 0x6c], edi
mov rdx, qword [rsp + 0x30]
movsxd rax, dword [rdx + 0xc]
imul rsi, rax, 0x38
add rsi, qword [rsp + 0x60]
test word [rsi + 0x14], r12w
je 0x14022d2b6
mov rcx, rsi
call fcn.14024ace0
mov rdx, qword [rsp + 0x30]
lea eax, [r15 + 1]
mov eax, dword [r13 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x14022d3a3
mov r14d, dword [r13 + r14*4]
add r14, qword [rbx + 0x60]
cmp edi, 0xc
jae 0x14022d2e8
mov r8, rsi
mov edx, edi
mov rcx, r14
call fcn.140237920
jmp 0x14022baf0
movzx eax, byte [rsp + 0x3c]
lea ebx, [rdi - 0xc]
mov r15, qword [rsp + 0x58]
shr ebx, 1
mov dword [rsi + 0x10], ebx
mov byte [rsi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rsi + 0x20], edx
jge 0x14022d330
cmp ebx, dword [r15 + 0x88]
jg 0x140233261
mov eax, 1
xor r8d, r8d
mov rcx, rsi
mov word [rsi + 0x14], ax
call fcn.140235950
test eax, eax
jne 0x1402335da
jmp 0x14022d338
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
mov rcx, qword [rsi + 8]
mov r8, rbx
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 8]
lea rdx, [0x140000000]
mov r13d, dword [rsp + 0x38]
mov r9d, 0x9000
mov r12, qword [rsp + 0x30]
mov r14, qword [rsp + 0x60]
mov byte [rbx + rax], 0
mov rax, qword [rsi + 8]
mov byte [rax + rbx + 1], 0
mov eax, edi
mov rbx, qword [rsp + 0x40]
and eax, 1
xor r11d, r11d
movzx eax, word [rdx + rax*2 + 0x2e1b64]
mov word [rsi + 0x14], ax
lea r10d, [r11 + 1]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
movzx eax, byte [rsp + 0x3c]
mov byte [rsi + 0x16], al
movzx eax, word [rdx + 2]
test al, 0xc0
je 0x14022d3c2
cmp edi, 0xc
jb 0x14022d3be
test dil, 1
je 0x14022d3ea
test al, al
js 0x14022d3ea
cmp edi, 0x80
jb 0x14022d3d3
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x14022d3e5
mov eax, edi
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x2e2310]
test r8d, r8d
jne 0x14022d400
mov r8, rsi
lea rcx, [0x1402e1850]
mov edx, edi
call fcn.140237920
jmp 0x14022baf0
mov r15, qword [rsp + 0x58]
cmp r8d, dword [r15 + 0x88]
jg 0x140233261
mov edx, dword [r13 + r14*4]
mov r9, rsi
mov rcx, qword [rbx + 0x30]
call fcn.1402357e0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e982
mov rcx, qword [rsi + 8]
mov r8, rsi
mov edx, edi
call fcn.140237920
mov eax, 0xbfff
and word [rsi + 0x14], ax
jmp 0x14022bafa
mov rax, qword [rsp + 0x30]
mov esi, r11d
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov r15, qword [r14 + 8]
add rbx, qword [rsp + 0x60]
cmp r11w, word [r14 + 0x36]
jge 0x140232e0f
lea rdi, [r15 + 0xc]
nop word [rax + rax]
movzx eax, word [rdi + 6]
test al, 0x60
je 0x14022d49f
test al, 0x20
jne 0x14022d59e
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0xc], 0
jne 0x14022d59a
movzx eax, byte [rdi]
cmp al, 0x43
jl 0x14022d4cd
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x14022d4f6
test al, 8
jne 0x14022d4c3
test al, 2
je 0x14022d4f6
mov edx, r10d
mov rcx, rbx
call fcn.1401b9550
jmp 0x14022d4f6
mov rcx, rbx
call fcn.140234bd0
jmp 0x14022d4f6
cmp al, 0x42
jne 0x14022d4f6
movzx eax, word [rbx + 0x14]
test al, 2
jne 0x14022d4ed
test al, 0x2c
je 0x14022d4ed
movzx edx, byte [rsp + 0x3c]
mov r8b, 1
mov rcx, rbx
call fcn.1402361c0
mov eax, 0xffd3
and word [rbx + 0x14], ax
movzx ecx, word [rbx + 0x14]
movzx edx, cx
test cl, 1
jne 0x14022d594
mov eax, dword [rdi - 4]
shr eax, 4
and eax, 0xf
sub eax, 2
je 0x14022d58b
sub eax, 1
je 0x14022d586
sub eax, 1
je 0x14022d586
sub eax, 1
je 0x14022d52d
cmp eax, 1
jne 0x14022d594
test cl, 2
jmp 0x14022d58e
test cl, 4
je 0x14022d581
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x14022d563
or cx, 0x20
mov eax, 0xfffb
and cx, ax
mov word [rbx + 0x14], cx
jmp 0x14022d594
xorps xmm0, xmm0
or cx, 8
cvtsi2sd xmm0, rdx
mov eax, 0xfffb
and cx, ax
movsd qword [rbx], xmm0
mov word [rbx + 0x14], cx
jmp 0x14022d594
test cl, 0x28
jmp 0x14022d58e
test cl, 4
jmp 0x14022d58e
test cl, 0x10
je 0x140232fab
mov r10d, 1
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
add rdi, 0x18
cmp esi, eax
jl 0x14022d480
mov r15, qword [rsp + 0x58]
xor r11d, r11d
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
jmp 0x14022f364
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r14
nop dword [rax]
cmp al, 0x43
jl 0x14022d61b
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x14022d644
test al, 8
jne 0x14022d611
test al, 2
je 0x14022d644
mov edx, r10d
mov rcx, rbx
call fcn.1401b9550
jmp 0x14022d644
mov rcx, rbx
call fcn.140234bd0
jmp 0x14022d644
cmp al, 0x42
jne 0x14022d644
movzx eax, word [rbx + 0x14]
test al, 2
jne 0x14022d63b
test al, 0x2c
je 0x14022d63b
movzx edx, byte [rsp + 0x3c]
mov r8b, 1
mov rcx, rbx
call fcn.1402361c0
mov eax, 0xffd3
and word [rbx + 0x14], ax
cmp byte [rdi], 0x45
jne 0x14022d696
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x14022d696
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x14022d67f
and cx, ax
or cx, 0x20
jmp 0x14022d692
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 0x14], cx
movzx eax, byte [rdi + 1]
inc rdi
test al, al
je 0x14022f968
add rbx, 0x38
mov r10d, 1
jmp 0x14022d5f0
mov rcx, qword [rsp + 0x30]
mov r15, r11
mov r12d, r11d
mov dword [rsp + 0x78], r11d
mov r13, r11
mov qword [rbp - 0x48], r11
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r11, rax, 0x38
mov eax, dword [rcx + 8]
dec eax
add r11, r14
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rsi, r11
mov qword [rbp - 0x80], r11
add rcx, r14
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x78], rcx
test rdi, rdi
je 0x14022d7ac
movzx eax, byte [rdi]
lea rbx, [r11 + 0x14]
movzx esi, byte [rsp + 0x3c]
mov r13d, 0xfffb
lea r12d, [r13 - 0x28]
nop
cmp al, 0x43
jl 0x14022d74c
movzx eax, word [rbx]
test al, 4
jne 0x14022d76f
test al, 8
jne 0x14022d741
test al, 2
je 0x14022d76f
lea rcx, [rbx - 0x14]
mov edx, r10d
call fcn.1401b9550
jmp 0x14022d76f
lea rcx, [rbx - 0x14]
call fcn.140234bd0
jmp 0x14022d76f
cmp al, 0x42
jne 0x14022d76f
movzx eax, word [rbx]
test al, 2
jne 0x14022d76b
test al, 0x2c
je 0x14022d76b
lea rcx, [rbx - 0x14]
mov r8b, 1
movzx edx, sil
call fcn.1402361c0
and word [rbx], r12w
cmp byte [rdi], 0x45
jne 0x14022d786
movzx eax, word [rbx]
test al, 4
je 0x14022d786
and ax, r13w
or ax, 0x20
mov word [rbx], ax
movzx eax, byte [rdi + 1]
inc rdi
add rbx, 0x38
mov r10d, 1
test al, al
jne 0x14022d720
mov r12d, dword [rsp + 0x78]
mov r13, qword [rbp - 0x48]
mov r11, qword [rbp - 0x80]
mov rsi, qword [rbp - 0x60]
lea r14, [rsi + 0x24]
movzx ecx, word [r14 - 0x10]
test cl, 1
je 0x14022d7d5
mov eax, 0x400
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
inc r12d
jmp 0x14022d959
test cl, 0x24
je 0x14022d8d8
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x14022d7ed
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x14022d828
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x14022d81a
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0xc3], 4
jb 0x14022d81a
lea eax, [rdx + 8]
mov dword [r14], eax
jmp 0x14022d959
mov eax, r10d
inc r15
mov dword [r14], eax
jmp 0x14022d959
cmp rdx, 0x7fff
ja 0x14022d842
mov eax, 2
add r15, 2
mov dword [r14], eax
jmp 0x14022d959
cmp rdx, 0x7fffff
ja 0x14022d85c
mov eax, 3
add r15, 3
mov dword [r14], eax
jmp 0x14022d959
cmp rdx, 0x7fffffff
ja 0x14022d876
mov eax, 4
add r15, 4
mov dword [r14], eax
jmp 0x14022d959
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14022d896
mov eax, 5
add r15, 6
mov dword [r14], eax
jmp 0x14022d959
add r15, 8
test cl, 0x20
je 0x14022d8cb
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
mov eax, 7
cvtsi2sd xmm0, r8
or cx, 8
movsd qword [r14 - 0x24], xmm0
mov word [r14 - 0x10], cx
mov dword [r14], eax
jmp 0x14022d959
mov eax, 6
mov dword [r14], eax
jmp 0x14022d959
test cl, 8
je 0x14022d8ed
inc r12d
mov dword [r14], 7
add r15, 8
jmp 0x14022d959
mov edi, dword [r14 - 0x14]
mov eax, ecx
shr eax, 1
and eax, 1
bt cx, 0xa
lea esi, [rdi + 6]
lea esi, [rax + rsi*2]
jae 0x14022d931
movsxd rax, dword [r14 - 0x24]
lea esi, [rsi + rax*2]
test r15, r15
je 0x14022d92e
lea rcx, [r14 - 0x24]
call fcn.1402356b0
mov r10d, 1
test eax, eax
jne 0x1402335ee
add edi, dword [r14 - 0x24]
jmp 0x14022d931
add r13, rax
mov eax, edi
mov ecx, r10d
add r15, rax
mov eax, esi
shr rax, 7
test rax, rax
je 0x14022d94f
inc ecx
shr rax, 7
test rax, rax
jne 0x14022d944
mov r11, qword [rbp - 0x80]
add r12d, ecx
mov dword [r14], esi
lea rax, [r14 - 0x24]
cmp rax, r11
je 0x14022d96b
sub r14, 0x38
jmp 0x14022d7b0
cmp r12d, 0x7e
jle 0x14022d9af
movsxd rax, r12d
mov edx, r10d
shr rax, 7
test rax, rax
je 0x14022d98b
inc edx
shr rax, 7
test rax, rax
jne 0x14022d980
add r12d, edx
mov ecx, r10d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x14022d9ab
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x14022d9a0
cmp edx, ecx
jge 0x14022d9b2
inc r12d
mov rsi, qword [rbp - 0x78]
movsxd rdi, r12d
movsxd rdx, dword [rsi + 0x20]
lea rbx, [rdi + r15]
mov r15, qword [rsp + 0x58]
lea rcx, [rbx + r13]
cmp rcx, rdx
jg 0x14022d9d9
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
jmp 0x14022da1b
movsxd rax, dword [r15 + 0x88]
cmp rcx, rax
jg 0x140233261
cmp edx, ebx
jge 0x14022da0e
xor r8d, r8d
mov edx, ebx
mov rcx, rsi
call fcn.140235950
mov r10d, 1
test eax, eax
jne 0x1402335f3
mov r11, qword [rbp - 0x80]
jmp 0x14022da1b
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
and word [rsi + 0x14], 0x2d
mov dword [rsi + 0x10], ebx
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov word [rsi + 0x14], ax
test r13, r13
je 0x14022da38
mov eax, 0x400
mov dword [rsi], r13d
or word [rsi + 0x14], ax
mov rbx, qword [rsi + 8]
lea rsi, [rdi + rbx]
cmp r12d, 0x80
jge 0x14022da51
mov byte [rbx], r12b
inc rbx
jmp 0x14022da96
cmp rdi, 0x7f
ja 0x14022da63
and dil, 0x7f
mov eax, r10d
mov byte [rbx], dil
jmp 0x14022da91
cmp rdi, 0x3fff
ja 0x14022da86
mov rax, rdi
shr rax, 7
or al, 0x80
mov byte [rbx], al
and dil, 0x7f
mov byte [rbx + 1], dil
mov eax, 2
jmp 0x14022da91
mov rdx, rdi
mov rcx, rbx
call fcn.1401e3e30
cdqe
add rbx, rax
mov r14, qword [rbp - 0x60]
lea rdi, [r11 + 0x10]
nop
mov eax, dword [rdi + 0x14]
cmp eax, 7
ja 0x14022daf5
mov byte [rbx], al
inc rbx
test eax, eax
je 0x14022db6b
mov rdx, qword [rdi - 0x10]
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x2e2310]
mov r10d, 0xffffffff
mov r9d, ecx
add ecx, r10d
lea r8, [rcx + rsi]
mov byte [r8], dl
je 0x14022daf0
nop dword [rax]
shr rdx, 8
lea r8, [r8 - 1]
mov byte [r8], dl
add ecx, r10d
jne 0x14022dae0
add rsi, r9
jmp 0x14022db6b
cmp eax, 0x80
jae 0x14022db0f
mov byte [rbx], al
inc rbx
cmp eax, 0xe
jb 0x14022db6b
movsxd rax, dword [rdi]
test eax, eax
jle 0x14022db6b
jmp 0x14022db56
mov rdx, rax
cmp rax, 0x7f
ja 0x14022db24
and dl, 0x7f
mov eax, 1
mov byte [rbx], dl
jmp 0x14022db4a
cmp rdx, 0x3fff
ja 0x14022db42
shr rax, 7
or al, 0x80
mov byte [rbx], al
and dl, 0x7f
mov byte [rbx + 1], dl
mov eax, 2
jmp 0x14022db4a
mov rcx, rbx
call fcn.1401e3e30
cdqe
add rbx, rax
movsxd rax, dword [rdi]
test eax, eax
je 0x14022db6b
mov rdx, qword [rdi - 8]
mov r8, rax
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movsxd rax, dword [rdi]
add rsi, rax
lea rax, [rdi - 0x10]
cmp rax, r14
je 0x14022f959
add rdi, 0x38
jmp 0x14022daa0
mov rdi, qword [rsp + 0x30]
mov rax, qword [rsi + 0x78]
cmp dword [rdi + 0xc], 0
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
je 0x14022dbad
mov rcx, rdx
call fcn.1401f4d70
mov rbx, rax
mov qword [rbp - 8], rax
jmp 0x14022dbd0
lea r8, [rbp - 8]
mov qword [rbp - 8], r11
mov rcx, r15
call fcn.1401f27b0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x140233034
mov rbx, qword [rbp - 8]
mov rax, rdi
mov r12d, 0x9000
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
add rax, qword [rsi + 0x68]
test word [rax + 0x14], r12w
je 0x14022dbf6
mov rcx, rax
call fcn.1401ddb30
jmp 0x14022dbff
mov ecx, 4
mov word [rax + 0x14], cx
mov qword [rax], rbx
mov rbx, qword [rsp + 0x40]
mov eax, dword [r15 + 0x198]
test eax, eax
jne 0x1402335c3
mov r14, qword [rsp + 0x50]
mov rdi, qword [rbp - 0x18]
cmp rdi, r14
jb 0x140232bad
nop dword [rax + rax]
mov rdx, qword [r15 + 0x208]
test rdx, rdx
je 0x140232bad
mov eax, dword [r15 + 0x218]
mov rcx, qword [r15 + 0x210]
add r14, rax
mov qword [rsp + 0x50], r14
call rdx
test eax, eax
jne 0x1402333e3
cmp rdi, r14
jae 0x14022dc30
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
jmp 0x14022f35e
mov rdi, qword [rsp + 0x30]
mov r10d, dword [rdi + 4]
mov rsi, qword [rdi + 0x10]
mov dword [rsp + 0x78], r10d
test r10d, r10d
jne 0x14022dd61
cmp dword [r15 + 0xe0], r10d
jg 0x14023301a
test rsi, rsi
jne 0x14022dcae
mov ebx, r11d
jmp 0x14022dcc4
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], 0
jne 0x14022dcb5
and ebx, 0x3fffffff
mov r8d, dword [r15 + 0x2ec]
xor edx, edx
add r8d, dword [r15 + 0x2e8]
mov rcx, r15
call fcn.1402395a0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x1402336cf
mov edx, ebx
mov rcx, r15
add rdx, 0x21
call fcn.1401fb500
mov rdi, rax
test rax, rax
je 0x14022dd57
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call sub.VCRUNTIME140.dll_memcpy
cmp byte [r15 + 0x65], r13b
je 0x14022dd28
mov byte [r15 + 0x65], r13b
mov byte [r15 + 0x6d], 1
jmp 0x14022dd2f
inc dword [r15 + 0x2e8]
mov rax, qword [r15 + 0x2d8]
mov qword [rdi + 0x18], rax
mov qword [r15 + 0x2d8], rdi
mov rax, qword [r15 + 0x2f0]
mov qword [rdi + 8], rax
mov rax, qword [r15 + 0x2f8]
mov qword [rdi + 0x10], rax
mov rsi, qword [rsp + 0x48]
jmp 0x14022e046
mov r13, qword [r15 + 0x2d8]
mov ebx, r11d
test r13, r13
je 0x14022de5f
lea r14, [0x140000000]
nop dword [rax + rax]
mov r8, qword [r13]
mov r9, rsi
sub r9, r8
nop word [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x14022de32
test edx, edx
jne 0x14022de48
cmp dword [r15 + 0xe0], edx
jle 0x14022ddbc
cmp r10d, 1
je 0x140233041
cmp qword [r13 + 0x18], 0
jne 0x14022de83
cmp byte [r15 + 0x6d], 0
je 0x14022de83
mov eax, 1
mov r12d, eax
cmp r10d, eax
jne 0x14022de86
mov rsi, qword [rsp + 0x48]
mov edx, eax
mov rcx, rsi
call fcn.14022a480
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1402338df
mov rcx, rsi
mov byte [r15 + 0x65], r12b
call fcn.1402345d0
cmp eax, 5
je 0x140233061
mov eax, dword [rsi + 0x34]
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14023304a
mov byte [r15 + 0x6d], al
lea r14, [r15 + 0x2e8]
jmp 0x14022df9f
movzx ecx, byte [rax + r14 + 0x2e1730]
movzx eax, byte [rdx + r14 + 0x2e1730]
cmp eax, ecx
jne 0x14022de50
inc r8
jmp 0x14022dd90
mov r13, qword [r13 + 0x18]
inc ebx
test r13, r13
jne 0x14022dd80
mov r8, rsi
lea rdx, str.no_such_savepoint:__s
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
call fcn.14022ad10
mov edi, 1
mov r13d, edi
jmp 0x14022e98c
mov r12d, r11d
lea r14, [r15 + 0x2e8]
mov eax, dword [r14]
sub eax, ebx
dec eax
mov dword [rbp - 0x78], eax
cmp r10d, 2
jne 0x14022deff
mov rcx, qword [rsp + 0x58]
mov edi, r11d
mov r15d, dword [r15 + 0x2c]
and r15d, 1
cmp dword [rcx + 0x28], 0
jle 0x14022df02
mov esi, r15d
mov rbx, r11
xor esi, 1
nop dword [rax]
mov rcx, qword [rcx + 0x20]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [rcx + rbx + 8]
call fcn.1401f5bf0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1402336ae
mov rcx, qword [rsp + 0x58]
inc edi
add rbx, 0x20
cmp edi, dword [rcx + 0x28]
jl 0x14022dec0
mov eax, dword [rbp - 0x78]
xor r11d, r11d
mov r10d, dword [rsp + 0x78]
jmp 0x14022df02
mov r15d, r11d
mov rsi, qword [rsp + 0x58]
mov edi, r11d
cmp dword [rsi + 0x28], 0
jle 0x14022df53
mov rbx, r11
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsi + 0x20]
mov r8d, eax
mov edx, r10d
mov rcx, qword [rcx + rbx + 8]
call fcn.1401f4dd0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1402336a1
mov eax, dword [rbp - 0x78]
inc edi
mov r10d, dword [rsp + 0x78]
add rbx, 0x20
cmp edi, dword [rsi + 0x28]
jl 0x14022df20
test r15d, r15d
mov r15, rsi
je 0x14022df8c
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14022df7f
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, 1
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x14022df64
mov rcx, r15
call fcn.14021c9d0
or dword [r15 + 0x2c], 1
cmp dword [rsp + 0x38], 0
mov rsi, qword [rsp + 0x48]
jne 0x1402336bd
mov ebx, dword [rbp - 0x78]
mov rcx, qword [r15 + 0x2d8]
cmp rcx, r13
je 0x14022dfd5
nop dword [rax + rax]
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r15
mov qword [r15 + 0x2d8], rax
call fcn.1401fb370
dec dword [r14]
mov rcx, qword [r15 + 0x2d8]
cmp rcx, r13
jne 0x14022dfb0
mov edi, dword [rsp + 0x78]
cmp edi, 1
jne 0x14022dffe
mov rax, qword [r13 + 0x18]
mov rdx, r13
mov rcx, r15
mov qword [r15 + 0x2d8], rax
call fcn.1401fb370
test r12d, r12d
jne 0x14022e03c
dec dword [r14]
jmp 0x14022e01e
mov rax, qword [r13 + 8]
mov qword [r15 + 0x2f0], rax
mov rax, qword [r13 + 0x10]
mov qword [r15 + 0x2f8], rax
test r12d, r12d
je 0x14022e01e
cmp edi, 2
jne 0x14022e03c
mov r8d, ebx
mov edx, edi
mov rcx, r15
call fcn.1402395a0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e987
jmp 0x14022e041
mov r13d, dword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
cmp byte [rsi + 0xc5], 3
je 0x14023309b
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rcx, qword [rsp + 0x30]
mov dword [rbp - 0x58], r11d
mov edx, dword [rcx + 8]
test edx, edx
je 0x14022e08c
mov rax, qword [r15 + 0x30]
movabs r8, 0x200100000
test r8, rax
jne 0x1402330e5
movsxd r14, dword [rcx + 4]
shl r14, 5
add r14, qword [r15 + 0x20]
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x14022e19f
lea r8, [rbp - 0x58]
mov rcx, rbx
call fcn.1401f1a50
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x140233104
test byte [rsi + 0xc8], 0x20
je 0x14022e1a8
mov rax, qword [rsp + 0x30]
cmp dword [rax + 8], r13d
je 0x14022e1a8
cmp byte [r15 + 0x65], r13b
je 0x14022e0f0
cmp dword [r15 + 0xdc], 1
jle 0x14022e1a8
mov r8d, dword [rsi + 0x40]
test r8d, r8d
jne 0x14022e112
inc dword [r15 + 0x2ec]
mov r8d, dword [r15 + 0x2ec]
add r8d, dword [r15 + 0x2e8]
mov dword [rsi + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r15
call fcn.1402395a0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e189
mov edi, dword [rsi + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x14022e146
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x14022e146
mov rcx, rbx
call fcn.1401bd370
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x14022e167
cmp byte [rcx + 0xa], 0
je 0x14022e167
mov edx, edi
call fcn.1401de4d0
mov r13d, eax
mov dword [rsp + 0x38], eax
jmp 0x14022e170
xor ecx, ecx
mov r13d, ecx
mov dword [rsp + 0x38], ecx
cmp byte [rbx + 0x11], 0
je 0x14022e184
sub dword [rbx + 0x14], 1
jne 0x14022e184
mov rcx, rbx
call fcn.1402477a0
mov rsi, qword [rsp + 0x48]
mov rax, qword [r15 + 0x2f0]
mov qword [rsi + 0x58], rax
mov rax, qword [r15 + 0x2f8]
mov qword [rsi + 0x60], rax
test r13d, r13d
jne 0x14022e987
mov r12, qword [rsp + 0x30]
cmp word [r12 + 2], 0
je 0x14022b959
mov eax, dword [r12 + 0xc]
cmp dword [rbp - 0x58], eax
jne 0x140233147
mov rcx, qword [r14 + 0x18]
mov rax, r12
mov eax, dword [rax + 0x10]
cmp dword [rcx + 4], eax
jne 0x140233147
mov r14, qword [rsp + 0x60]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rcx, qword [r15 + 0x20]
lea r8, [rbp - 0x10]
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov edx, dword [r12 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1401f2ff0
movsxd rax, dword [r12 + 8]
mov r9d, 0x9000
imul rcx, rax, 0x38
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], r9w
je 0x14022e240
call fcn.1401ddb30
mov rcx, rax
mov r9d, 0x9000
jmp 0x14022e249
mov eax, 4
mov word [rcx + 0x14], ax
movsxd rax, dword [rbp - 0x10]
lea rdx, [0x140000000]
xor r11d, r11d
mov qword [rcx], rax
lea r10d, [r11 + 1]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [r15 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.1401f5d00
mov r13d, eax
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x14022e333
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
movzx eax, word [rax + 2]
mov ecx, dword [r12 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rax, r12
or dword [r15 + 0x2c], 1
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rdi, qword [rcx + 0x10]
test rdi, rdi
je 0x14022e348
mov rbx, qword [rdi + 0x10]
cmp byte [rbx + 0x3f], 0
jne 0x14022e329
mov rbx, qword [rbx + 0x48]
test rbx, rbx
je 0x14022e329
xor r12d, r12d
nop word [rax + rax]
mov rdx, qword [rbx + 0x30]
mov rcx, r15
call fcn.1401cfad0
mov qword [rbx + 0x30], r12
mov rcx, r15
mov rdx, qword [rbx + 0x38]
call fcn.1401cfad0
mov qword [rbx + 0x38], r12
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x14022e300
mov rdi, qword [rdi]
test rdi, rdi
jne 0x14022e2e1
jmp 0x14022e348
cmp eax, 2
jne 0x14022e348
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rax + 0xc]
mov byte [rcx + 0x70], al
mov r12, qword [rsp + 0x30]
cmp dword [r12 + 4], 1
jne 0x14022e382
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x14022e37b
nop
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, 1
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x14022e360
and dword [rsi + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x14022c215
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
test rbx, rbx
je 0x14022e3ce
mov eax, dword [rcx + 8]
cmp dword [rbx + 0x44], eax
jne 0x14022e3ce
mov rcx, qword [rbx + 0x30]
call fcn.1401f1dd0
jmp 0x14022e4e3
mov rcx, qword [rsp + 0x30]
mov eax, dword [rsi + 0xc8]
and al, 3
cmp al, 1
je 0x1402331de
movsxd r12, dword [rcx + 0xc]
mov esi, r11d
mov r15d, dword [rcx + 8]
mov rax, r12
mov rcx, qword [rsp + 0x58]
mov r14, r11
shl rax, 5
add rax, qword [rcx + 0x20]
mov r13, qword [rax + 8]
cmp dil, 0x71
jne 0x14022e432
mov rcx, qword [rsp + 0x30]
mov rax, qword [rax + 0x18]
movzx edi, word [rcx + 2]
movzx ecx, byte [rax + 0x70]
and edi, 8
mov rax, qword [rsp + 0x48]
or edi, 4
cmp cl, byte [rax + 0xc3]
jae 0x14022e435
mov byte [rax + 0xc3], cl
jmp 0x14022e435
mov edi, r11d
mov rcx, qword [rsp + 0x30]
test byte [rcx + 2], 0x10
je 0x14022e459
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.140235ad0
mov rcx, qword [rsp + 0x30]
mov r15d, dword [rbx]
movzx eax, byte [rcx + 1]
cmp al, 0xf8
jne 0x14022e46c
mov r14, qword [rcx + 0x10]
movzx esi, word [r14 + 8]
jmp 0x14022e473
cmp al, 0xfd
jne 0x14022e473
mov esi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
mov r8d, esi
mov rsi, qword [rsp + 0x48]
xor r9d, r9d
mov rcx, rsi
call fcn.1401b76c0
mov rbx, rax
test rax, rax
je 0x1402335e4
mov byte [rax + 1], r12b
mov r9, r14
mov byte [rax + 2], 1
mov r8d, edi
or dword [rax + 8], 4
mov edx, r15d
mov dword [rax + 0x44], r15d
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x20], rcx
mov rcx, r13
call fcn.1401f29d0
mov r15, qword [rsp + 0x58]
mov r13d, eax
mov qword [rbx + 0x38], r14
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
cmp byte [rax + 1], 0xf8
setne al
mov byte [rbx + 4], al
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + 2]
mov rax, qword [rbx + 0x30]
and cl, 3
mov byte [rax + 3], cl
test r13d, r13d
jne 0x14022e987
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov r13, qword [rsp + 0x30]
xor r9d, r9d
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r13 + 8]
mov edx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, rsi
movsx r8d, word [rbx + 0x48]
call fcn.1401b76c0
mov r10, rax
test rax, rax
je 0x1402333c7
mov byte [rax + 2], 1
mov r8d, 4
mov edx, dword [rax + 8]
or edx, 1
mov dword [rax + 8], edx
mov rcx, qword [rbx + 0x38]
mov qword [rax + 0x38], rcx
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, edx
mov eax, dword [rbx + 0x44]
mov dword [r10 + 0x44], eax
xor ecx, dword [rbx + 8]
and ecx, 4
xor ecx, edx
mov dword [r10 + 8], ecx
or ecx, 8
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
mov dword [r10 + 8], ecx
or dword [rbx + 8], 8
mov rax, qword [r10 + 0x30]
mov r9, qword [r10 + 0x38]
mov edx, dword [r10 + 0x44]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1401f29d0
mov r12, qword [rsp + 0x30]
mov r13d, eax
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
mov dword [rsp + 0x38], eax
jmp 0x14022f35e
mov r13, qword [rsp + 0x30]
movsxd rax, dword [r13 + 0xc]
test eax, eax
jle 0x14022e5e9
imul rcx, rax, 0x38
mov dword [rcx + r14 + 0x10], r11d
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140274748]
mov qword [rcx + r14 + 8], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14022e64a
test byte [rbx + 8], 8
jne 0x14022e64a
movsx eax, word [rbx + 0x48]
cmp dword [r13 + 8], eax
jg 0x14022e64a
mov qword [rbx + 0x18], r11
xor r8d, r8d
mov dword [rbx + 0x20], r11d
mov edx, dword [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
call fcn.1401f1e90
mov dword [rsp + 0x38], eax
mov r13d, eax
mov dword [rsp + 0x78], eax
test eax, eax
jne 0x14022e987
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov byte [rbx + 2], 1
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov r8d, dword [r13 + 8]
xor r9d, r9d
mov rcx, rsi
call fcn.1401b76c0
mov rbx, rax
test rax, rax
je 0x1402333c7
or dword [rax + 8], 1
lea r9, [rax + 0x10]
movzx ecx, word [r13 + 2]
mov r8, r15
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [r15]
call fcn.1401f41f0
mov r13d, eax
test eax, eax
jne 0x14022e987
mov rcx, qword [rbx + 0x10]
mov r12d, 1
mov edx, r12d
xor r8d, r8d
call fcn.1401f1a50
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e74f
mov rax, qword [rsp + 0x30]
mov r14, qword [rax + 0x10]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x14022e71a
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
or r8d, 2
call fcn.1401f2960
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e714
mov rax, qword [rbx + 0x30]
lea r8d, [r12 + 3]
mov edx, dword [rbx + 0x44]
mov r9, r14
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1401f29d0
mov r13d, eax
mov dword [rsp + 0x38], eax
mov byte [rbx + 4], 0
jmp 0x14022e745
mov dword [rbx + 0x44], r12d
xor r9d, r9d
mov rax, qword [rbx + 0x30]
mov edx, r12d
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.1401f29d0
mov r13d, eax
mov dword [rsp + 0x38], eax
mov byte [rbx + 4], r12b
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x30]
xor r12d, r12d
mov ecx, r12d
cmp word [rax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [rbx + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
test r13d, r13d
jne 0x1402331e9
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov byte [rbx + 2], 1
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov r13, qword [rsp + 0x30]
mov r9b, 1
mov rcx, rsi
mov r8d, dword [r13 + 8]
mov edx, dword [r13 + 4]
call fcn.1401b76c0
test rax, rax
je 0x1402333c7
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r15
mov edx, dword [r13 + 0xc]
call fcn.140237cc0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e987
mov r12, qword [rsp + 0x30]
xor r11d, r11d
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
jne 0x14022f36a
jmp 0x14022eb60
mov rax, qword [rsp + 0x30]
mov r9b, 3
mov rcx, rsi
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.1401b76c0
xor r11d, r11d
lea r10d, [r11 + 1]
test rax, rax
je 0x1402335fb
mov rcx, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
mov byte [rax + 2], r10b
mov ecx, dword [rcx + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x14037e913]
mov byte [rax + 4], r10b
mov qword [rax + 0x30], rcx
jmp 0x14022f364
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14022e88f
mov rcx, rsi
call fcn.140234460
xor r11d, r11d
mov r9d, 0x9000
lea r10d, [r11 + 1]
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov qword [rax + rcx*8], r11
jmp 0x14022b172
mov rax, qword [rsp + 0x30]
mov r12d, r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov r14, qword [rax + rcx*8]
mov byte [r14 + 2], 0
mov byte [r14 + 3], 0
mov dword [r14 + 0x20], r11d
cmp byte [r14 + 4], 0
je 0x14022ea0d
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
movzx r15d, word [rbx + 0x14]
movzx eax, r15b
and al, 0x2e
cmp al, 2
jne 0x14022e900
xor edx, edx
mov rcx, rbx
call fcn.1401b9550
xor r11d, r11d
movzx eax, word [rbx + 0x14]
test al, 0x24
je 0x14022e90d
mov rsi, qword [rbx]
jmp 0x14022e93a
test al, 8
je 0x14022e91f
movsd xmm0, qword [rbx]
call fcn.1401c64a0
mov rsi, rax
jmp 0x14022e93a
test al, 0x12
je 0x14022e937
cmp qword [rbx + 8], 0
je 0x14022e937
mov rcx, rbx
call fcn.1401d9ee0
mov rsi, rax
jmp 0x14022e93a
mov rsi, r11
movzx eax, word [rbx + 0x14]
mov word [rbx + 0x14], r15w
test al, 0x24
jne 0x14022e9d8
test al, 8
jne 0x14022e9b4
test al, 1
jne 0x14022eb4d
cmp edi, 0x16
jae 0x14022eb4d
mov rcx, qword [r14 + 0x30]
lea rdx, [rsp + 0x70]
call fcn.1401f4130
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
je 0x14022eb42
mov r15, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
mov edi, 1
mov r14, qword [rsp + 0x30]
mov eax, VariantTimeToDosDateTime
xor r12d, r12d
mov rbx, qword [rsp + 0x50]
cmp byte [r15 + 0x67], 0
je 0x1402336fb
mov r13d, 7
jmp 0x140233731
movsd xmm1, qword [rbx]
mov rcx, rsi
call fcn.14020f300
test eax, eax
jle 0x14022e9ce
test dil, 1
je 0x14022e9d8
dec edi
jmp 0x14022e9d8
jns 0x14022e9d8
test dil, 1
jne 0x14022e9d8
inc edi
mov rcx, qword [r14 + 0x30]
lea rbx, [r14 + 0x30]
lea r9, [rsp + 0x70]
xor r8d, r8d
mov rdx, rsi
call fcn.1401f5410
mov r15, qword [rsp + 0x58]
mov r13d, eax
mov dword [rsp + 0x38], eax
mov qword [r14 + 0x50], rsi
test eax, eax
jne 0x14022e982
jmp 0x14022ea9c
mov rax, qword [r14 + 0x30]
lea rbx, [r14 + 0x30]
mov r13, qword [rsp + 0x30]
lea rdx, [rbp + 0x1b8]
movzx esi, byte [rax + 3]
mov rax, qword [r14 + 0x38]
and sil, 2
mov ecx, dword [r13 + 0x10]
mov qword [rbp + 0x1b8], rax
setne r12b
mov word [rbp + 0x1d4], cx
mov eax, r10d
test dil, 1
cmovne eax, r8d
lea r8, [rsp + 0x70]
mov byte [rbp + 0x1d6], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov byte [rbp + 0x1da], 0
add rcx, qword [rsp + 0x60]
mov qword [rbp + 0x1c0], rcx
mov rcx, qword [rbx]
call fcn.1401f30e0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e982
test sil, sil
je 0x14022ea9c
cmp byte [rbp + 0x1da], al
je 0x14022eb42
mov eax, dword [rsp + 0x70]
cmp edi, 0x16
jl 0x14022eb29
test eax, eax
js 0x14022eae8
jne 0x14022eab4
cmp edi, 0x17
je 0x14022eae8
xor ecx, ecx
mov dword [rsp + 0x70], ecx
mov r15, qword [rsp + 0x58]
mov r9d, 0x9000
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
test r12d, r12d
je 0x14022f947
add qword [rsp + 0x30], 0x18
mov r12, qword [rsp + 0x30]
jmp 0x14022b7e5
xor ecx, ecx
xor edx, edx
mov dword [rsp + 0x70], ecx
mov rcx, qword [rbx]
call fcn.1401f41b0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
je 0x14022eaba
cmp eax, 0x65
jne 0x14022e982
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov r10d, 1
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x70], r10d
mov r13d, r11d
jmp 0x14022eb5b
test eax, eax
jg 0x14022eb8f
jne 0x14022eb34
cmp edi, 0x14
je 0x14022eb8f
mov rax, qword [rbx]
xor ecx, ecx
cmp byte [rax], cl
setne cl
mov dword [rsp + 0x70], ecx
cmp dword [rsp + 0x70], 0
je 0x14022eaba
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov r10d, 1
mov rbx, qword [rsp + 0x40]
mov eax, dword [r12 + 8]
mov rsi, qword [rsp + 0x48]
dec eax
mov r14, qword [rsp + 0x60]
cdqe
lea rcx, [rax + rax*2]
lea r15, [rbx + rcx*8]
mov qword [rsp + 0x30], r15
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x58]
jmp 0x14022f364
mov rcx, qword [rbx]
xor r8d, r8d
mov dword [rsp + 0x70], r8d
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], r8w
cmp byte [rcx], r8b
jne 0x14022ebd2
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x14022ebd2
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], r8b
je 0x14022ebd2
dec dx
mov dword [rsp + 0x38], r8d
mov word [rcx + 0x56], dx
mov r13d, r8d
jmp 0x14022eaba
call fcn.1401bdd80
jmp 0x14022eaf8
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
mov rax, qword [rsi + 0x30]
cmp byte [rax], 0
jne 0x140232e57
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsi + 0x38]
mov qword [rbp + 0x250], rax
mov byte [rbp + 0x26e], 0
movzx eax, word [rcx + 0x28]
mov edi, dword [rcx + 4]
mov word [rbp + 0x26c], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x258], rcx
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.1401d2990
mov ecx, dword [rbx + 0x40]
lea rax, [rcx - 1]
cmp rax, 0x7ffffffe
ja 0x140233204
mov qword [rbp + 0xf8], r15
xor r12d, r12d
mov word [rbp + 0xf4], r12w
mov dword [rbp + 0x100], r12d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x14022ec8b
test r8d, r8d
mov edx, r8d
cmovs edx, r12d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0xe8], rax
cmp ecx, edx
ja 0x14022ecae
mov edx, 0x4010
mov dword [rbp + 0xf0], ecx
mov word [rbp + 0xf4], dx
jmp 0x14022ecda
mov r8d, ecx
lea r9, [rbp + 0xe0]
mov rcx, rbx
xor edx, edx
call fcn.1402357e0
mov r13d, eax
test eax, eax
jne 0x14022f325
mov ecx, dword [rbp + 0xf0]
mov rax, qword [rbp + 0xe8]
xor r9d, r9d
lea r8, [rbp + 0x250]
mov rdx, rax
call fcn.140236d60
mov ebx, eax
cmp dword [rbp + 0x100], r12d
je 0x14022ed03
lea rcx, [rbp + 0xe0]
call fcn.14024ac90
xor r11d, r11d
mov dword [rsp + 0x38], r11d
mov r13d, r11d
test ebx, ebx
jg 0x14022ed87
je 0x14022ed95
test edi, edi
jle 0x14022f980
mov rcx, qword [rsi + 0x30]
dec edi
mov word [rcx + 0x46], r11w
and byte [rcx + 1], 0xf9
cmp byte [rcx], r11b
je 0x14022ed3b
call fcn.1401bd540
jmp 0x14022ed70
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x14022ed61
mov word [rcx + 0x56], r8w
call fcn.1401bd540
jmp 0x14022ed70
cmp byte [rdx + 8], r11b
jne 0x14022ec31
call fcn.1401da310
mov r13d, eax
test eax, eax
je 0x14022ec31
cmp eax, 0x65
jne 0x14022f325
xor r11d, r11d
add qword [rsp + 0x30], 0x18
mov r13d, r11d
mov dword [rsp + 0x38], r11d
mov r12, qword [rsp + 0x30]
jmp 0x14022eb55
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
movzx ecx, word [rdx + 0xc]
mov eax, dword [rax + 8]
cmp ecx, eax
jge 0x14022edc9
mov word [rdx + 0xc], ax
jmp 0x14022b172
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
cmp ecx, eax
jle 0x14022f36a
mov word [rdx + 0xc], ax
lea rdx, [0x140000000]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
cmp qword [rax + rcx*8], 0
je case.0x14022aeb5.8
mov r12, qword [rsp + 0x30]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r12 + 0x10]
jge case.0x14022aeb5.89
mov rax, qword [rsi + 0x78]
mov r13, qword [rsp + 0x30]
movsxd rcx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0xc0], rcx
movzx eax, word [r13 + 0x10]
mov word [rbp + 0xd4], ax
test ax, ax
je 0x14022eeab
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0xb8]
mov byte [rbp + 0xd6], 0
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.1401f30e0
mov r13d, eax
mov dword [rsp + 0x38], eax
jmp 0x14022ef1b
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x14022eec3
call fcn.1402356b0
test eax, eax
jne 0x1402333c7
mov rcx, qword [rbx + 0x38]
call fcn.14022a260
mov rdi, rax
test rax, rax
je 0x1402333c7
mov rcx, qword [rbp + 0xc0]
mov r9, rax
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x10]
mov rcx, qword [rbx + 0x38]
call fcn.140237640
mov byte [rdi + 0x1e], 0
lea rsi, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, rsi
mov rdx, rdi
call fcn.1401f30e0
mov rdx, rdi
mov dword [rsp + 0x38], eax
mov rcx, r15
mov r13d, eax
call fcn.1401fb370
test r13d, r13d
jne 0x14022e982
mov ecx, dword [rsi]
test ecx, ecx
setne al
xor r11d, r11d
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x30]
mov byte [rbx + 3], r13b
mov dword [rbx + 0x20], r11d
movzx eax, byte [rax]
cmp al, 0x1c
jne 0x14022ef57
mov r12, qword [rsp + 0x30]
test ecx, ecx
je 0x14022eb55
jmp 0x14022f354
test ecx, ecx
jne 0x14022ed95
cmp al, 0x1a
jne 0x14022efa0
movzx edx, word [rbp + 0xd4]
mov rcx, r11
test rdx, rdx
je 0x14022f980
mov rax, qword [rbp + 0xc0]
add rax, 0x14
test byte [rax], 1
jne 0x14022ed95
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x14022ef81
mov r12, qword [rsp + 0x30]
jmp 0x14022f354
mov r12, qword [rsp + 0x30]
mov r9d, 0x9000
mov rsi, qword [rsp + 0x48]
cmp al, 0x19
jne 0x14022f976
mov rax, r12
movzx eax, word [rax + 0x10]
mov word [rbx + 0xc], ax
mov rbx, qword [rsp + 0x40]
jmp 0x14022b7ed
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 0x14], 0x24
jne case.0x14022aeb5.30
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x218], xmm0
movups xmm2, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x228], xmm2
movups xmm0, xmmword [rcx + 0x20]
movq rax, xmm2
movups xmmword [rbp + 0x238], xmm0
shr rax, 0x20
movsd xmm1, qword [rcx + 0x30]
movsd qword [rbp + 0x248], xmm1
test al, 4
jne 0x14022f04d
test al, 8
jne 0x14022f041
test al, 2
je 0x14022f04d
mov edx, r10d
lea rcx, [rbp + 0x218]
call fcn.1401b9550
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x14022f04d
lea rcx, [rbp + 0x218]
call fcn.140234bd0
test byte [rbp + 0x22c], 4
je 0x14022cce6
mov rdi, qword [rbp + 0x218]
jmp 0x14022f074
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r14]
mov rax, qword [rsp + 0x30]
lea r9, [rbp - 0x40]
xor r8d, r8d
mov dword [rbp - 0x40], r11d
mov rdx, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.1401f5410
mov qword [rbx + 0x50], rdi
xor r11d, r11d
mov byte [rbx + 2], 0
mov r13d, eax
mov dword [rbx + 0x20], r11d
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x40]
mov byte [rbx + 3], r11b
mov dword [rbx + 0x24], eax
test eax, eax
je 0x14022f10c
mov r12, qword [rsp + 0x30]
cmp dword [r12 + 8], r11d
jne 0x14022eb55
lea rax, [0x1402ed2a4]
mov r9d, 0x16d38
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
lea ecx, [r11 + 0xb]
call fcn.14019f7c0
mov eax, VariantTimeToDosDateTime
mov r14, r12
mov r13d, eax
lea edi, [rax - 0xa]
jmp 0x14022e996
test r13d, r13d
jne 0x14022e987
mov r12, qword [rsp + 0x30]
jmp 0x14022f359
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 8]
imul rdx, rax, 0x38
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], r9w
je 0x14022f151
mov rcx, rdx
call fcn.1401ddb30
xor r11d, r11d
mov rdx, rax
mov r9d, 0x9000
lea r10d, [r11 + 1]
jmp 0x14022f15a
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [rsi + 0x78]
mov r12, rdi
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
mov rax, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
lea rdx, [0x140000000]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rdi, qword [rsp + 0x30]
mov rbx, r11
mov qword [rbp - 0x50], rbx
mov dword [rbp - 0x68], r11d
movsxd rax, dword [rdi + 8]
imul r14, rax, 0x38
add r14, qword [rsi + 0x68]
test word [r14 + 0x14], r9w
je 0x14022f1c7
mov rcx, r14
call fcn.1401ddb30
mov r14, rax
jmp 0x14022f1d1
mov eax, 4
mov word [r14 + 0x14], ax
movsxd rcx, dword [rdi + 4]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x14022f20f
mov rcx, qword [rsi + 0x30]
lea rdx, [rbp - 0x68]
call fcn.1401f4130
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x1402336cf
cmp dword [rbp - 0x68], eax
je 0x14022f256
mov eax, 1
mov ebx, eax
mov qword [rbp - 0x50], rax
movabs r12, 0x7fffffffffffffff
movsxd rdx, dword [rdi + 0xc]
test edx, edx
je 0x14022f2c0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0x108]
test rcx, rcx
je 0x14022f288
mov rax, qword [rcx + 8]
test rax, rax
je 0x14022f24c
nop
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14022f240
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14022f291
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.1401d2990
mov rbx, qword [rbx + 0x30]
movabs r12, 0x7fffffffffffffff
mov qword [rbp - 0x50], rbx
cmp rbx, r12
jl 0x14022f27f
or dword [rsi + 8], 2
jmp 0x14022f219
inc rbx
mov qword [rbp - 0x50], rbx
jmp 0x14022f219
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.140235ad0
mov rax, qword [rdi]
cmp rax, r12
je 0x140233248
test byte [rsi + 8], 2
jne 0x140233248
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x50], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x14022f33c
xor r12d, r12d
mov edi, r12d
nop dword [rax]
lea rdx, [rbp - 0x50]
mov ecx, 8
call fcn.1401b2270
mov rbx, qword [rbp - 0x50]
lea r9, [rbp - 0x68]
mov rcx, qword [rsi + 0x30]
movabs rax, 0x3fffffffffffffff
and rbx, rax
xor r8d, r8d
inc rbx
mov rdx, rbx
mov qword [rbp - 0x50], rbx
call fcn.1401f5410
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022f325
cmp dword [rbp - 0x68], r12d
jne 0x14022f33c
inc edi
cmp edi, 0x64
jl 0x14022f2d0
lea r13d, [rax + 0xd]
mov r14, qword [rsp + 0x30]
mov edi, 1
mov rsi, qword [rsp + 0x48]
lea eax, [rdi + 0xa]
jmp 0x14022e999
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], r11d
mov qword [r14], rbx
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov r10d, 1
mov r9d, 0x9000
lea rdx, [0x140000000]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov r13, qword [rsp + 0x30]
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rsi + 0x78]
add rdx, r14
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r14]
mov qword [rbp + 0x158], r8
cmp byte [r13 + 1], 0xfb
jne 0x14022f3d5
cmp qword [r15 + 0x140], 0
je 0x14022f3d5
movsx rcx, byte [rbx + 1]
mov rax, qword [r15 + 0x20]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x14022f3db
mov rdi, r11
mov rsi, r11
test byte [r13 + 2], 1
je 0x14022f3f2
mov rax, qword [rsp + 0x48]
inc qword [rax + 0x38]
mov r8, qword [rbp + 0x158]
test byte [r13 + 2], 0x20
je 0x14022f3fd
mov qword [r15 + 0x38], r8
mov rax, qword [rdx + 8]
mov qword [rbp + 0x160], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0x174], eax
test byte [r13 + 2], 0x10
je 0x14022f41e
mov r9d, dword [rbx + 0x24]
jmp 0x14022f421
mov r9d, r11d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x14022f436
mov eax, dword [rdx]
mov dword [rbp + 0x178], eax
jmp 0x14022f43d
mov dword [rbp + 0x178], r11d
mov qword [rbp + 0x150], r11
lea rdx, [rbp + 0x150]
movzx r8d, word [r13 + 2]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.1401f35a0
xor r11d, r11d
mov byte [rbx + 3], 0
mov dword [rsp + 0x38], eax
mov r13d, eax
mov dword [rbx + 0x20], r11d
test eax, eax
jne 0x14022e982
test rdi, rdi
je 0x14022f980
mov rax, qword [rsp + 0x30]
mov edx, SafeArrayGetLBound
mov r9, qword [rdi]
mov r8, rsi
mov rcx, qword [r15 + 0x138]
test byte [rax + 2], 4
mov eax, DispGetParam
cmovne edx, eax
mov rax, qword [rbp + 0x158]
mov qword [rsp + 0x20], rax
call qword [r15 + 0x140]
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov r13, qword [rsp + 0x30]
mov rcx, qword [rsi + 0x78]
movsxd rax, dword [r13 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r13 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r13 + 0xc]
test eax, eax
je 0x14022f50b
mov rdx, qword [rdx + 0x30]
imul rcx, rax, 0x38
mov r8, qword [rcx + r14]
mov rcx, qword [r9 + 0x30]
call fcn.1401f5690
jmp 0x14022e7c9
mov rdx, qword [rdx + 0x30]
mov r8, r11
mov rcx, qword [r9 + 0x30]
call fcn.1401f5690
jmp 0x14022e7c9
mov r13, qword [rsp + 0x30]
mov rax, qword [rsi + 0x78]
lea rsi, [r15 + 0x140]
cmp byte [r13 + 1], 0xfb
movsxd rcx, dword [r13 + 4]
mov r12d, dword [r13 + 8]
mov rdi, qword [rax + rcx*8]
jne 0x14022f586
cmp qword [rsi], 0
je 0x14022f586
movsx rcx, byte [rdi + 1]
mov rax, qword [r15 + 0x20]
mov r14, qword [r13 + 0x10]
shl rcx, 5
test byte [r13 + 2], 2
mov r15, qword [rcx + rax]
je 0x14022f58c
cmp byte [rdi + 4], 0
je 0x14022f58c
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1401d2990
mov rax, qword [rbx + 0x30]
mov rbx, qword [rsp + 0x40]
mov qword [rdi + 0x50], rax
jmp 0x14022f58c
mov r15, r11
mov r14, r11
movzx edx, byte [r13 + 2]
mov rcx, qword [rdi + 0x30]
call fcn.1401f2a60
xor r11d, r11d
mov dword [rsp + 0x38], eax
mov dword [rdi + 0x20], r11d
mov r13d, eax
mov dword [rdi + 0x24], r11d
test eax, eax
jne 0x14022e97d
test r12b, 1
je 0x14022f901
mov rax, qword [rsp + 0x48]
inc qword [rax + 0x38]
mov r10, qword [rsi]
test r10, r10
je 0x14022f925
test r14, r14
je 0x14022f925
test byte [r14 + 0x30], 0x80
jne 0x14022f925
mov rax, qword [rdi + 0x50]
lea edx, [r13 + 9]
mov r9, qword [r14]
mov r8, r15
mov r15, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov rcx, qword [r15 + 0x138]
call r10
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
jmp 0x14022f35e
mov rax, qword [rsi + 0x38]
mov qword [r15 + 0x78], rax
add qword [r15 + 0x80], rax
mov qword [rsi + 0x38], r11
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rdi, qword [rsp + 0x30]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [rdi + 4]
mov ebx, dword [rdi + 0x10]
mov rdx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul r15, rax, 0x38
mov rdi, qword [rdx + 0x30]
mov rsi, qword [rdx + 0x38]
add r15, r14
mov r14, qword [rdi + 0x30]
test r14, r14
jne 0x14022f68c
mov rcx, rsi
call fcn.14022a260
mov qword [rdi + 0x30], rax
mov r14, rax
test rax, rax
je 0x140233253
mov word [rax + 0x1c], bx
cmp byte [rdi + 0x58], 0
je 0x14022f6c8
cmp byte [rdi + 0x59], 0
je 0x14022f6a6
mov rax, qword [rdi + 0x10]
mov r8, qword [rax + 0x28]
add rax, 0x14
jmp 0x14022f6d0
mov rdx, qword [rdi + 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 0x14022f6d0
mov rax, qword [rdi + 0x38]
lea r8, [rax + 0x10]
mov edx, dword [rax]
mov r9, r14
mov rcx, rsi
call fcn.140237640
xor r11d, r11d
mov ecx, r11d
test ebx, ebx
jle 0x14022f703
mov rax, qword [r14 + 8]
add rax, 0x14
nop
test byte [rax], 1
jne 0x14022ed8d
inc ecx
add rax, 0x38
cmp ecx, ebx
jl 0x14022f6f0
mov rdx, qword [r15 + 8]
xor r9d, r9d
mov ecx, dword [r15 + 0x10]
mov r8, r14
call fcn.140236d60
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov dword [rsp + 0x38], r11d
mov r13d, r11d
test eax, eax
jne 0x14022eb55
mov r15, qword [rsp + 0x58]
mov dword [rsp + 0x38], r11d
jmp 0x14022f34f
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rbx, rax, 0x38
mov rax, qword [rsi + 0x78]
add rbx, r14
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
cmp byte [rax + 0x58], 0
je 0x14022f799
cmp byte [rax + 0x59], 0
je 0x14022f777
mov rax, qword [rax + 0x10]
mov rsi, qword [rax + 0x28]
add rax, 0x14
jmp 0x14022f7a1
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 0x14022f7a1
mov rax, qword [rax + 0x38]
lea rsi, [rax + 0x10]
movsxd rdi, dword [rax]
cmp dword [rbx + 0x20], edi
jge 0x14022f7c5
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.140235950
test eax, eax
je 0x14022f7d2
mov r13d, 7
jmp 0x14022e982
mov rax, qword [rbx + 0x28]
mov qword [rbx + 8], rax
and word [rbx + 0x14], 0x2d
mov dword [rbx + 0x10], edi
mov eax, 0xf250
and word [rbx + 0x14], ax
mov r8, rdi
or word [rbx + 0x14], 0x10
mov rdx, rsi
mov rcx, qword [rbx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x30]
xor r11d, r11d
mov rsi, qword [rsp + 0x48]
mov r13d, r11d
mov r12, qword [rsp + 0x30]
mov dword [rsp + 0x38], r11d
movsxd rcx, dword [rax + 0xc]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r11d
jmp 0x14022f359
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], r9w
je 0x14022f846
mov rcx, rbx
call fcn.1401ddb30
mov rbx, rax
jmp 0x14022f84f
mov eax, 4
mov word [rbx + 0x14], ax
movsxd rcx, dword [rdi + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x30]
mov rcx, rdi
call fcn.1401d2990
mov edx, dword [rdi + 0x40]
cmp edx, dword [r15 + 0x88]
ja 0x140233266
mov r8, rbx
mov rcx, rdi
call fcn.1402358f0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e987
mov r12, qword [rsp + 0x30]
cmp dword [r12 + 0xc], eax
jne 0x14022f96d
movzx eax, word [rbx + 0x14]
bt ax, 0xe
jae 0x14022f96d
test al, 0x12
je 0x14022f8eb
bt ax, 0xa
jae 0x14022f8cb
mov rcx, rbx
call fcn.1402356b0
test eax, eax
jne 0x1402333c7
cmp dword [rbx + 0x20], 0
je 0x14022f8db
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x14022f8eb
mov rcx, rbx
call fcn.14024ac30
test eax, eax
jne 0x1402333c7
mov eax, 0xbfff
and word [rbx + 0x14], ax
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x14022f35e
mov r15, qword [rsp + 0x58]
mov r9d, 0x9000
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
jmp 0x14022b7ed
mov r15, qword [rsp + 0x58]
mov rsi, rax
mov r12, qword [rsp + 0x30]
mov r9d, 0x9000
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
jmp 0x14022b7ed
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022b7ed
mov r13d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov r9d, 0x9000
mov rbx, qword [rsp + 0x40]
jmp 0x14022b7ed
mov r12, qword [rsp + 0x30]
mov r9d, 0x9000
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
jmp 0x14022b7ed
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, qword [rsi + 0x68]
test word [rdi + 0x14], r9w
je 0x14022f9d3
mov rcx, rdi
call fcn.1401ddb30
xor r11d, r11d
lea rdx, [0x140000000]
mov rdi, rax
mov r9d, 0x9000
lea r10d, [r11 + 1]
jmp 0x14022f9dc
mov eax, 4
mov word [rdi + 0x14], ax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x14022fa0f
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov word [rdi + 0x14], r10w
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
cmp byte [rbx + 3], 0
je 0x14022fa32
mov rax, qword [rbx + 0x50]
xor r11d, r11d
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov qword [rbp], rax
mov qword [rdi], rax
jmp 0x14022f35e
cmp byte [rbx], 2
mov rcx, qword [rbx + 0x30]
jne 0x14022fa7c
mov rbx, qword [rcx]
lea rdx, [rbp]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, rsi
mov r13d, eax
mov dword [rsp + 0x38], eax
call fcn.1402391f0
test r13d, r13d
jne 0x14022e987
mov rax, qword [rbp]
xor r11d, r11d
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov qword [rdi], rax
jmp 0x14022f35e
cmp byte [rcx], 0
je 0x14022fa9d
mov rcx, rbx
call fcn.140234960
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e987
xor r11d, r11d
jmp 0x14022faa5
mov r13d, r11d
mov dword [rsp + 0x38], r11d
cmp byte [rbx + 2], 0
je 0x14022fac5
mov r12, qword [rsp + 0x30]
mov r10d, 1
mov rbx, qword [rsp + 0x40]
mov word [rdi + 0x14], r10w
jmp 0x14022f364
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.1401d2990
mov rax, qword [rbx + 0x30]
xor r11d, r11d
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov qword [rbp], rax
mov qword [rdi], rax
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x14022fb3f
mov r9b, 3
mov r8d, r10d
mov rcx, rsi
call fcn.1401b76c0
xor r11d, r11d
lea r10d, [r11 + 1]
test rax, rax
je 0x1402335fb
mov dword [rax + 0x24], r11d
lea rcx, [0x14037e913]
mov byte [rax + 4], r10b
mov r9d, 0x9000
or dword [rax + 8], 8
mov qword [rax + 0x30], rcx
mov byte [rax + 2], 1
mov dword [rax + 0x20], r11d
cmp byte [rax], 0
jne 0x14022b172
mov rcx, qword [rax + 0x30]
call fcn.1401f1dd0
mov r12, qword [rsp + 0x30]
xor r11d, r11d
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
mov dword [rbp - 0x3c], r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
cmp dil, 0x89
jne 0x14022fb9b
mov dword [rbx + 0x24], 0xffffffff
cmp byte [rcx], 0
jne 0x14022fb9b
mov r12, qword [rsp + 0x30]
jmp 0x14022b6cc
lea rdx, [rbp - 0x3c]
call fcn.1401f4130
mov r13d, eax
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x3c]
xor r11d, r11d
mov byte [rbx + 2], al
mov byte [rbx + 3], 0
mov dword [rbx + 0x20], r11d
test r13d, r13d
jne 0x14022e987
mov r12, qword [rsp + 0x30]
cmp dword [r12 + 8], r11d
jle 0x14022f359
test eax, eax
je 0x14022f359
jmp 0x14022eb55
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.1401da5a0
mov r13d, eax
test eax, eax
jne 0x14022fc19
xor r12d, r12d
mov rcx, rbx
mov edi, r12d
call fcn.1401da310
mov r13d, eax
jmp 0x14022fc43
cmp eax, 0x10
jne 0x14022fc3d
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov r10d, 1
mov dword [rsp + 0x38], r11d
mov dword [rbp - 0x70], r10d
mov r13d, r11d
jmp 0x14022eb5b
mov edi, dword [rbp - 0x70]
xor r12d, r12d
mov dword [rbp - 0x70], edi
test r13d, r13d
jne 0x1402331f2
mov dword [rsp + 0x38], r13d
test edi, edi
jne 0x14022eb4d
mov rcx, rbx
call fcn.1401f4d70
test rax, rax
js 0x14022fc97
mov rcx, rax
call fcn.140210c60
mov r12, qword [rsp + 0x30]
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x14022fc9c
mov r10d, 1
mov dword [rsp + 0x38], r13d
mov dword [rbp - 0x70], r10d
xor r11d, r11d
jmp 0x14022eb5b
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
mov dword [rbp - 0x70], edi
mov dword [rsp + 0x38], r13d
jmp 0x14022f35e
inc dword [rsi + 0xdc]
mov rax, qword [rsp + 0x30]
mov edi, r10d
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi], 1
mov rbx, qword [rsi + 0x30]
jne 0x14022fd2d
cmp byte [rbx + 0x58], 0
mov dword [rsp + 0x38], r11d
jne 0x14022fcff
cmp qword [rbx + 0x38], 0
lea rdx, [rbx + 0x38]
je 0x14022fd58
lea rcx, [rbx + 0x60]
mov edi, r11d
call fcn.14024d540
mov dword [rsp + 0x38], eax
xor r11d, r11d
jmp 0x14022fd58
mov rcx, rbx
call fcn.14024c570
mov edx, eax
mov rcx, rbx
call fcn.14024c6e0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14022fcfa
mov rcx, rbx
call fcn.14024d270
xor r11d, r11d
mov dword [rsp + 0x38], eax
mov edi, r11d
jmp 0x14022fd58
mov rcx, rbx
call fcn.1401da5a0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14022fd8a
xor ecx, ecx
mov edi, ecx
mov rcx, rbx
call fcn.1401da310
mov dword [rsp + 0x38], eax
xor r11d, r11d
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], r11d
mov r13d, dword [rsp + 0x38]
test r13d, r13d
jne 0x14022e982
mov r12, qword [rsp + 0x30]
lea r10d, [r13 + 1]
mov rbx, qword [rsp + 0x40]
mov byte [rsi + 2], dil
test edi, edi
jne 0x14022eb60
mov rsi, qword [rsp + 0x48]
jmp 0x14022f364
cmp eax, 0x10
jne 0x14022fd4d
xor r11d, r11d
lea edi, [rax - 0xf]
mov dword [rsp + 0x38], r11d
jmp 0x14022fd50
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
mov rdi, qword [rsi + 0x30]
cmp byte [rdi + 0x58], 0
je 0x14022fe27
cmp byte [rdi + 0x59], 0
je 0x14022fdf4
mov rcx, qword [rdi + 0x10]
call fcn.14024b7f0
xor r11d, r11d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14022fe6e
mov rax, qword [rdi + 0x10]
cmp qword [rax + 0x18], r11
jne 0x14022fe6e
mov ecx, 0x65
mov dword [rsp + 0x38], ecx
mov r13d, ecx
jmp 0x14022ff43
mov rcx, qword [rdi + 0x18]
lea rdx, [rbp - 0x38]
mov dword [rbp - 0x38], r11d
call fcn.14024b190
xor r11d, r11d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14022fe6e
cmp dword [rbp - 0x38], r11d
je 0x14022fe6e
mov ecx, 0x65
mov dword [rsp + 0x38], ecx
mov r13d, ecx
jmp 0x14022ff43
mov rdx, qword [rdi + 0x38]
mov rax, qword [rdx + 8]
mov qword [rdi + 0x38], rax
mov qword [rdx + 8], r11
cmp qword [rdi + 0x40], 0
jne 0x14022fe5c
nop
mov rbx, qword [rdx + 8]
mov rcx, r15
call fcn.1401fb370
mov rdx, rbx
test rbx, rbx
jne 0x14022fe40
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
cmp qword [rdi + 0x38], 0
mov eax, 0x65
cmovne eax, r11d
mov dword [rsp + 0x38], eax
mov r13d, dword [rsp + 0x38]
jmp 0x14022ff43
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsi + 0x30]
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], r11w
cmp byte [rcx], 0
jne 0x14022fec9
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x14022fec9
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], 0
je 0x14022fec9
dec dx
mov dword [rsp + 0x38], r11d
mov word [rcx + 0x56], dx
mov r13d, r11d
mov dword [rsi + 0x20], r11d
jmp 0x14022ff4c
call fcn.1401bdd80
jmp 0x14022ff39
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsi + 0x30]
mov word [rcx + 0x46], r11w
and byte [rcx + 1], 0xf9
cmp byte [rcx], 0
je 0x14022fefa
call fcn.1401bd540
jmp 0x14022ff39
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x14022ff20
mov word [rcx + 0x56], r8w
call fcn.1401bd540
jmp 0x14022ff39
cmp byte [rdx + 8], 0
je 0x14022ff34
mov r13d, r11d
mov dword [rsp + 0x38], r11d
mov dword [rsi + 0x20], r11d
jmp 0x14022ff4c
call fcn.1401da310
xor r11d, r11d
mov dword [rsp + 0x38], eax
mov r13d, eax
mov dword [rsi + 0x20], r11d
test r13d, r13d
jne 0x14022ff6a
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov byte [rsi + 2], 0
movzx eax, word [rax + 2]
inc dword [rcx + rax*4 + 0xd4]
jmp case.0x14022aeb5.8
cmp r13d, 0x65
jne 0x14022e982
mov r13d, r11d
mov dword [rsp + 0x38], r11d
mov byte [rsi + 2], 1
jmp 0x14022dc07
mov r13, qword [rsp + 0x30]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r14
test byte [r13 + 2], 1
je 0x14022ffac
inc qword [rsi + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x14022ffd2
mov rcx, rbx
call fcn.1402356b0
mov r13d, eax
test eax, eax
jne 0x14022e987
mov r13, qword [rsp + 0x30]
xor r11d, r11d
movsxd rax, dword [rbx + 0x10]
mov qword [rbp + 0x2d0], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x2c8], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x2e0], rcx
movzx eax, word [r13 + 0x10]
mov word [rbp + 0x2e8], ax
movzx r8d, word [r13 + 2]
test r8b, 0x10
je 0x140230017
mov r9d, dword [rdi + 0x24]
jmp 0x14023001a
mov r9d, r11d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x2c8]
and r8d, 0x8a
call fcn.1401f35a0
xor r11d, r11d
mov dword [rsp + 0x38], eax
mov dword [rdi + 0x20], r11d
mov r13d, eax
test eax, eax
jne 0x14022e987
mov r12, qword [rsp + 0x30]
jmp 0x14022f359
mov r13, qword [rsp + 0x30]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r14
test word [rbx + 0x14], ax
je 0x14023008b
mov rcx, rbx
call fcn.1402356b0
mov r13d, eax
test eax, eax
jne 0x14022e987
mov rdx, rbx
mov rcx, rdi
call fcn.140238140
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e987
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rax, qword [rsi + 0x78]
lea r8, [rbp - 0xc]
mov r13, qword [rsp + 0x30]
lea rdx, [rbp + 0x278]
movsxd rcx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x30]
mov qword [rbp + 0x278], rax
movzx eax, word [r13 + 0xc]
mov word [rbp + 0x294], ax
mov byte [rbp + 0x296], 0
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x280], rcx
mov rcx, rdi
call fcn.1401f30e0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e987
cmp dword [rbp - 0xc], eax
jne 0x140230151
mov dl, 4
mov rcx, rdi
call fcn.1401f2a60
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e987
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov dword [rbx + 0x20], r11d
mov dword [rbx + 0x24], r11d
jmp 0x14022f359
mov r12, qword [rsp + 0x30]
cmp word [r12 + 2], 0
je 0x140230172
mov eax, dword [r15 + 0x30]
and eax, 0x10000001
cmp rax, 1
jne 0x140233280
xor r11d, r11d
mov dword [rbx + 0x20], r11d
mov dword [rbx + 0x24], r11d
jmp 0x14022f359
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x1402301c9
mov rcx, rbx
call fcn.140234960
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e987
xor r11d, r11d
lea r10d, [rax + 1]
lea rdx, [0x140000000]
mov r9d, 0x9000
jmp 0x1402301d1
mov r13d, r11d
mov dword [rsp + 0x38], r11d
cmp byte [rbx + 2], 0
jne 0x14023029d
mov rdx, qword [rbx + 0x30]
lea r8, [rbp + 8]
mov rcx, r15
mov qword [rbp + 8], r11
call fcn.1402349c0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14022e987
mov rax, qword [rsp + 0x30]
mov r9d, 0x9000
cmp byte [rax], 0x8d
jne 0x140230251
movsxd rcx, dword [rax + 0xc]
xor r11d, r11d
mov rax, qword [rsi + 0x78]
mov r12, qword [rsp + 0x30]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp + 8]
mov byte [rdx + 2], r13b
mov qword [rdx + 0x50], rax
mov rax, qword [rsp + 0x30]
mov byte [rdx + 3], 1
mov dword [rdx + 0x20], r11d
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
mov rbx, qword [rsp + 0x40]
jmp 0x14022b7ed
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], r9w
je 0x140230283
call fcn.1401ddb30
mov r12, qword [rsp + 0x30]
mov rcx, rax
mov rax, qword [rbp + 8]
mov r9d, 0x9000
mov qword [rcx], rax
jmp 0x14022b7e5
mov r12, qword [rsp + 0x30]
mov eax, 4
mov word [rcx + 0x14], ax
mov rax, qword [rbp + 8]
mov qword [rcx], rax
jmp 0x14022b7e5
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 0x14], r9w
je 0x1402302cb
call fcn.14024ace0
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov word [rcx + 0x14], r10w
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x14022b116
call fcn.1402342f0
jmp 0x14022e7c9
mov r13, qword [rsp + 0x30]
cmp dil, 0x29
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x30]
mov qword [rbp + 0x2a0], rax
movzx eax, word [r13 + 0x10]
mov word [rbp + 0x2bc], ax
sbb al, al
mov byte [rbp + 0x2be], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x2a8], rcx
mov rcx, rbx
call fcn.1401d2990
mov r10d, dword [rbx + 0x40]
lea eax, [r10 - 1]
cmp eax, 0x7ffffffe
ja 0x1402332bb
mov qword [rbp + 0x130], r15
xor r12d, r12d
mov word [rbp + 0x12c], r12w
mov dword [rbp + 0x138], r12d
mov rax, qword [rbx + 0x88]
movzx ecx, word [rbx + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbx + 0x38]
cmp ecx, edx
jle 0x1402303a7
test edx, edx
mov ecx, edx
cmovs ecx, r12d
mov rdx, qword [rbx + 0x38]
mov qword [rbp + 0x120], rdx
cmp r10d, ecx
ja 0x1402303d4
mov eax, 0x4010
mov dword [rbp + 0x128], r10d
mov word [rbp + 0x12c], ax
mov r13d, r12d
mov dword [rsp + 0x38], r12d
jmp 0x140230405
lea r9, [rbp + 0x118]
mov r8d, r10d
xor edx, edx
mov rcx, rbx
call fcn.1402357e0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x1402331f2
mov r10d, dword [rbp + 0x128]
mov rdx, qword [rbp + 0x120]
xor r9d, r9d
lea r8, [rbp + 0x2a0]
mov ecx, r10d
call fcn.140236d60
mov ebx, eax
cmp dword [rbp + 0x138], r12d
je 0x14023042e
lea rcx, [rbp + 0x118]
call fcn.14024ac90
mov r12, qword [rsp + 0x30]
test byte [r12], 1
je 0x14023043e
neg ebx
jmp 0x140230440
inc ebx
test ebx, ebx
jg 0x14022eb52
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x14022f35e
mov r13, qword [rsp + 0x30]
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
add rdi, qword [rsi + 0x68]
test word [rdi + 0x14], r9w
je 0x140230481
mov rcx, rdi
call fcn.1401ddb30
mov rdi, rax
xor r11d, r11d
mov r10d, 1
mov word [rdi + 0x14], r10w
mov eax, dword [r15 + 0xe8]
inc eax
cmp dword [r15 + 0xdc], eax
jg 0x1402332cd
mov r12, qword [rsp + 0x58]
movsxd r15, dword [r13 + 0xc]
mov esi, dword [r13 + 4]
mov r14, r15
shl r14, 5
mov rax, qword [r12 + 0x20]
mov dword [rbp - 0x34], r11d
mov rbx, qword [rax + r14 + 8]
cmp byte [rbx + 0x11], 0
je 0x1402304d5
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1402304d5
mov rcx, rbx
call fcn.1401bd370
lea r8, [rbp - 0x34]
mov edx, esi
mov rcx, rbx
call fcn.1401bcb50
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x38], eax
je 0x1402304fe
sub dword [rbx + 0x14], 1
jne 0x1402304fe
mov rcx, rbx
call fcn.1402477a0
movsxd r8, dword [rbp - 0x34]
mov eax, 4
mov word [rdi + 0x14], ax
mov qword [rdi], r8
test r13d, r13d
jne 0x140233699
test r8d, r8d
je 0x140230a1d
mov rax, qword [rsp + 0x30]
mov r9, qword [r12 + 0x20]
mov edx, dword [rax + 4]
mov rax, qword [r14 + r9 + 0x18]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140230555
nop dword [rax + rax]
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], r8d
jne 0x14023054d
mov dword [rax + 0x28], edx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140230540
mov rax, qword [r14 + r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x140230578
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], r8d
jne 0x140230570
mov dword [rax + 0x58], edx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140230563
lea eax, [r15 + 1]
mov r15, r12
mov byte [rsp + 0x6c], al
jmp 0x14022bafa
mov r13, qword [rsp + 0x30]
lea r8, [rbp + 0x10]
mov qword [rbp + 0x10], r11
mov rcx, qword [r15 + 0x20]
movsxd rax, dword [r13 + 8]
mov edx, dword [r13 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1401f1e90
mov r12, qword [rsp + 0x30]
mov r13d, eax
mov dword [rsp + 0x38], eax
cmp dword [r12 + 0xc], 0
je 0x1402305e2
mov rax, qword [rbp + 0x10]
add qword [rsi + 0x38], rax
mov rax, r12
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x1402305e2
imul rcx, rax, 0x38
mov rax, qword [rbp + 0x10]
add qword [rcx + r14], rax
test r13d, r13d
jne 0x14022e987
xor r11d, r11d
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x140230622
mov rdx, qword [rcx + 0x30]
mov rcx, r15
call fcn.140237eb0
mov r12, qword [rsp + 0x30]
xor r11d, r11d
jmp 0x14022f35e
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.1401f1e90
jmp 0x14022e7c9
mov r13, qword [rsp + 0x30]
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
add rdi, qword [rsi + 0x68]
test word [rdi + 0x14], r9w
je 0x140230662
mov rcx, rdi
call fcn.1401ddb30
mov rdi, rax
xor r11d, r11d
jmp 0x14023066b
mov eax, 4
mov word [rdi + 0x14], ax
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x20]
mov esi, dword [r13 + 0xc]
shl rcx, 5
mov dword [rbp - 0x30], r11d
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x14023069b
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14023069b
mov rcx, rbx
call fcn.1401bd370
mov r8d, esi
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.1401bc6a0
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x38], eax
je 0x1402306c5
sub dword [rbx + 0x14], 1
jne 0x1402306c5
mov rcx, rbx
call fcn.1402477a0
mov rsi, qword [rsp + 0x48]
test r13d, r13d
jne 0x14022e987
mov eax, dword [rbp - 0x30]
xor r11d, r11d
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov qword [rdi], rax
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
xor r9d, r9d
inc byte [r15 + 0x70]
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x20], r11
mov rdx, qword [rax + 0x10]
call fcn.1401b0470
dec byte [r15 + 0x70]
jmp 0x14022e7c9
mov r13, qword [rsp + 0x30]
cmp qword [r13 + 0x10], 0
movsxd rbx, dword [r13 + 4]
jne 0x14023076f
mov rcx, qword [r15 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.14021e750
and dword [r15 + 0x2c], 0xffffffef
lea r8, [rsi + 0xa8]
movzx r9d, word [r13 + 2]
mov edx, ebx
mov rcx, r15
call fcn.14020d5a0
or dword [r15 + 0x2c], 1
mov r13d, eax
and dword [rsi + 0xc8], 0xfffffffc
xor r12d, r12d
mov dword [rsp + 0x38], eax
jmp 0x140230864
mov qword [rbp + 0x58], r15
lea rax, [rsi + 0xa8]
mov qword [rbp + 0x60], rax
lea r9, str.sqlite_master
mov dword [rbp + 0x68], ebx
mov rdx, rbx
mov dword [rbp + 0x70], r11d
mov rax, qword [r15 + 0x20]
shl rdx, 5
mov rcx, qword [rax + rdx + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov dword [rbp + 0x78], ecx
mov rcx, r15
mov r8, qword [r15 + 0x20]
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x20], rax
mov r8, qword [r8 + rdx]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.140210f40
mov rbx, rax
mov rcx, r15
test rax, rax
je 0x140233308
xor r12d, r12d
mov byte [r15 + 0xc5], 1
lea r9, [rbp + 0x58]
mov dword [rbp + 0x6c], r12d
lea r8, [fcn.14020d2c0]
mov dword [rbp + 0x74], r12d
mov rdx, rax
mov qword [rsp + 0x20], r12
call fcn.1401b0470
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x140230852
mov r13d, dword [rbp + 0x6c]
mov dword [rsp + 0x38], r13d
test r13d, r13d
jne 0x140230852
cmp dword [rbp + 0x74], r12d
jne 0x140230852
lea rax, [0x1402ed2a4]
mov edi, VariantTimeToDosDateTime
mov ecx, edi
mov qword [rsp + 0x20], rax
mov r9d, 0x17326
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14019f7c0
mov r13d, edi
mov dword [rsp + 0x38], edi
mov rdx, rbx
mov rcx, r15
call fcn.1401fb370
mov byte [r15 + 0xc5], r12b
test r13d, r13d
jne 0x1402332df
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
mov rcx, r15
mov edx, dword [rax + 4]
call fcn.1401ef370
jmp 0x14022e7c9
mov rax, qword [rsp + 0x30]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rdx, qword [rax + 0x10]
shl rcx, 5
add rcx, qword [r15 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.14020c8a0
test rax, rax
je 0x1402308d9
cmp qword [r15 + 0x300], 0
jne 0x1402308ce
add dword [rax + 0x2c], 0xffffffff
jne 0x1402308d9
mov rdx, rax
mov rcx, r15
call fcn.1401c60c0
or dword [r15 + 0x2c], 1
mov r12, qword [rsp + 0x30]
xor r11d, r11d
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x30]
add rcx, 0x20
mov rdx, qword [rax + 0x10]
call fcn.14020c8a0
mov r8, rax
test rax, rax
je 0x1402308d9
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, r8
jne 0x140230935
mov rcx, qword [r8 + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x14023095b
test rcx, rcx
je 0x14023095b
nop word [rax + rax]
lea rdx, [rcx + 0x28]
mov rcx, qword [rcx + 0x28]
cmp rcx, r8
je 0x140230954
test rcx, rcx
jne 0x140230940
jmp 0x14023095b
mov rax, qword [r8 + 0x28]
mov qword [rdx], rax
mov rdx, r8
mov rcx, r15
call fcn.140207e20
or dword [r15 + 0x2c], 1
mov r12, qword [rsp + 0x30]
xor r11d, r11d
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x30]
add rcx, 0x38
mov rdx, qword [rax + 0x10]
call fcn.14020c8a0
mov rbx, rax
test rax, rax
je 0x140230a2a
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x1402309fb
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.1401cc380
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1402309fb
mov rax, qword [rdx + 0x58]
add rdx, 0x58
test rax, rax
je 0x1402309fb
nop dword [rax + rax]
cmp rax, rbx
je 0x1402309f4
lea rdx, [rax + 0x40]
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1402309e0
jmp 0x1402309fb
mov rax, qword [rax + 0x40]
mov qword [rdx], rax
mov rdx, rbx
mov rcx, r15
call fcn.1401fc7f0
or dword [r15 + 0x2c], 1
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rsi, qword [rsp + 0x48]
mov r15, r12
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x30]
xor r11d, r11d
jmp 0x14022f359
mov rcx, qword [rsp + 0x30]
lea r10, [rbp - 0x28]
mov r9, qword [rsp + 0x30]
mov rdx, qword [r15 + 0x20]
mov qword [rsp + 0x28], r10
movsxd rax, dword [rcx + 0xc]
mov r8, qword [rcx + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
add r8, 4
imul rbx, rax, 0x38
movzx eax, word [r9 + 2]
mov ecx, dword [rdi + r14]
add rbx, r14
mov r9d, dword [r9 + 8]
inc ecx
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, r15
mov rdx, qword [rax + rdx + 8]
call fcn.1401f3ad0
mov r12d, 0x9000
mov rsi, rax
test word [rbx + 0x14], r12w
je 0x140230aad
mov rcx, rbx
call fcn.14024ace0
mov r10d, 1
jmp 0x140230ab8
mov r10d, 1
mov word [rbx + 0x14], r10w
mov eax, dword [rbp - 0x28]
test eax, eax
je 0x140230af2
test rsi, rsi
je 0x1402335f3
dec eax
mov r9b, 1
movsxd rcx, eax
mov r8, 0xffffffffffffffff
sub qword [rdi + r14], rcx
lea rax, [fcn.1401b2120]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.140235e40
test byte [rbx + 0x14], 2
movzx eax, byte [rsp + 0x3c]
jne 0x140230b05
mov byte [rbx + 0x16], al
jmp 0x14022dc02
cmp byte [rbx + 0x16], al
je 0x14022dc02
movzx edx, al
mov rcx, rbx
call fcn.1402363a0
jmp 0x14022dc02
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r14
imul rdi, rax, 0x38
test byte [rbx + 0x14], 0x10
jne 0x140230b4c
mov rcx, rbx
call fcn.140235d30
test eax, eax
jne 0x1402333c7
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx + 8]
call fcn.14021d6b0
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
test byte [rdi + 0x14], 0x10
je 0x140230c14
mov rbx, qword [rdi + 8]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x140230bb3
test al, 1
jne 0x140230bae
mov rcx, qword [rbx + 0x10]
call fcn.1401e93a0
mov qword [rbx + 0x10], rax
mov r10d, 1
mov r9d, 0x9000
or word [rbx + 0x32], 3
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140230c0f
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x140230bd4
mov rcx, rbx
call fcn.14021d5e0
mov rax, qword [rsp + 0x30]
mov r12d, 0x9000
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 0x14], r12w
je 0x140230bfe
mov rdx, rdi
call fcn.14024bd80
jmp 0x14022dc02
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 0x14], ax
jmp 0x14022dc02
mov rbx, qword [rsp + 0x40]
test word [rdi + 0x14], r9w
je 0x140230c28
mov rcx, rdi
call fcn.14024ace0
jmp case.0x14022aeb5.8
mov word [rdi + 0x14], r10w
jmp case.0x14022aeb5.8
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r14
imul rsi, rax, 0x38
test byte [rbx + 0x14], 0x10
jne 0x140230c63
mov rcx, rbx
call fcn.140235d30
test eax, eax
jne 0x1402335da
test edi, edi
je 0x140230c80
mov r8, qword [rsi + r14]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.14021d720
test eax, eax
jne 0x14022eb4d
test edi, edi
js 0x14022c160
mov rdx, qword [rsi + r14]
mov rcx, qword [rbx + 8]
call fcn.14021d6b0
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
mov r12, qword [rcx + 0x10]
imul r15, rax, 0x38
add r15, r14
cmp word [rcx + 2], 0
je 0x140230ce9
mov rax, qword [rsi + 0x108]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x140230ce9
cmp qword [rax + 0x38], rcx
je 0x140232df8
mov rax, qword [rax + 8]
test rax, rax
jne 0x140230cd6
mov r13, qword [rsp + 0x58]
mov eax, dword [r13 + 0xb0]
cmp dword [rsi + 0x118], eax
jge 0x140233312
test byte [r15 + 0x14], 0x10
jne 0x140230e44
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12 + 0xc]
mov eax, dword [r12 + 8]
add ecx, edx
test edx, edx
lea edi, [rcx + 1]
cmovne edi, ecx
imul ecx, edi, 7
add ecx, 0xf
add eax, 7
jns 0x140230d33
add eax, 7
add ecx, edx
sar eax, 3
lea esi, [rax + rcx*8]
mov rcx, r13
movsxd rbx, esi
mov rdx, rbx
call fcn.1401fb500
mov r14, rax
test rax, rax
je 0x1402335d7
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov eax, 0x9000
test word [r15 + 0x14], ax
jne 0x140230d75
cmp dword [r15 + 0x20], 0
je 0x140230d7d
mov rcx, r15
call fcn.14024ac90
mov rcx, qword [rsp + 0x30]
mov eax, 0x1010
sub rcx, qword [rsp + 0x40]
xor r11d, r11d
mov word [r15 + 0x14], ax
lea rax, [0x140234360]
mov qword [r15 + 8], r14
mov dword [r15 + 0x10], esi
mov rsi, qword [rsp + 0x48]
mov qword [r15 + 0x30], rax
mov qword [r14], rsi
mov dword [r14 + 0x60], edi
mov eax, dword [r12 + 0x10]
mov dword [r14 + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x54], edx
mov rax, qword [rsi + 0x68]
mov qword [r14 + 0x20], rax
mov eax, dword [rsi + 0x24]
mov dword [r14 + 0x5c], eax
mov rax, qword [rsi + 0x78]
mov qword [r14 + 0x28], rax
mov eax, dword [rsi + 0x28]
mov dword [r14 + 0x50], eax
mov rax, qword [rsi + 0x88]
mov qword [r14 + 0x10], rax
mov eax, dword [rsi + 0x90]
mov dword [r14 + 0x58], eax
mov rax, qword [r12 + 0x20]
mov qword [r14 + 0x38], rax
movsxd rax, edi
imul rdx, rax, 0x38
lea rax, [r14 + 0x78]
add rdx, 0x78
add rdx, r14
cmp rax, rdx
je 0x140230e48
nop
mov word [rax + 0x14], r11w
mov qword [rax + 0x18], r13
add rax, 0x38
cmp rax, rdx
jne 0x140230e30
jmp 0x140230e48
mov r14, qword [r15 + 8]
inc dword [rsi + 0x118]
lea r8, [r14 + 0x78]
mov rax, qword [rsi + 0x108]
mov r15, r13
mov qword [r14 + 8], rax
mov rax, qword [r13 + 0x38]
mov qword [r14 + 0x40], rax
mov rax, qword [rsi + 0x38]
mov qword [r14 + 0x68], rax
mov rax, qword [rsi]
mov qword [rsp + 0x60], r8
mov rcx, qword [rax + 0x78]
mov qword [r14 + 0x70], rcx
mov rax, qword [rsi + 0x128]
mov qword [r14 + 0x48], rax
mov qword [rsi + 0x128], r11
mov qword [rsi + 0x38], r11
mov qword [rsi + 0x108], r14
mov qword [rsi + 0x68], r8
movsxd rcx, dword [r14 + 0x60]
mov dword [rsi + 0x24], ecx
movzx eax, word [r14 + 0x64]
mov dword [rsi + 0x28], eax
imul rdx, rcx, 0x38
add rdx, r8
mov qword [rsi + 0x78], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [r14 + 0x30], rcx
mov eax, dword [r12 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call sub.VCRUNTIME140.dll_memset
mov rbx, qword [r12]
mov r13d, dword [rsp + 0x38]
mov qword [rsi + 0x88], rbx
mov eax, dword [r12 + 8]
lea rcx, [rbx - 0x18]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x30], rcx
mov dword [rsi + 0x90], eax
jmp 0x14022dc07
mov rax, qword [rsp + 0x30]
mov edi, 0x9000
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
add r9, qword [rsi + 0x68]
test word [r9 + 0x14], di
je 0x140230f42
mov rcx, r9
call fcn.1401ddb30
xor r11d, r11d
mov r9, rax
lea r10d, [r11 + 1]
jmp 0x140230f4c
mov eax, 4
mov word [r9 + 0x14], ax
mov r8, qword [rsi + 0x108]
movsxd rax, dword [r8 + 0x54]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rax, qword [rsp + 0x30]
add edx, dword [rax + 4]
movsxd rax, edx
imul rcx, rax, 0x38
add rcx, qword [r8 + 0x20]
test word [r9 + 0x14], di
je 0x140230fb1
mov rdx, rcx
mov r8d, 0x4000
mov rcx, r9
call fcn.140249e30
mov r12, qword [rsp + 0x30]
lea rdx, [0x140000000]
xor r11d, r11d
mov r9d, edi
lea r10d, [r11 + 1]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
movups xmm0, xmmword [rcx]
mov eax, 0x2000
movups xmmword [r9], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [r9 + 0x10], xmm1
test word [rcx + 0x14], ax
jne 0x14022b834
mov r12, qword [rsp + 0x30]
lea rdx, [0x140000000]
mov eax, 0xcfff
and word [r9 + 0x14], ax
mov eax, 0x4000
or word [r9 + 0x14], ax
mov r9d, edi
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov eax, dword [r15 + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x30]
mov r12, rax
jae 0x14023102d
movsxd rax, dword [rax + 8]
add qword [r15 + 0x2f8], rax
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
je 0x14023104b
add qword [r15 + 0x2f0], rax
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
add qword [rsi + 0x50], rax
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
cmp dword [r12 + 4], 0
je 0x14023108d
cmp qword [r15 + 0x2f0], 0
jne case.0x14022aeb5.89
cmp qword [r15 + 0x2f8], 0
je 0x14022eb60
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
cmp qword [rsi + 0x50], 0
jne case.0x14022aeb5.89
cmp qword [r15 + 0x2f8], 0
je 0x14022eb60
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rcx, qword [rsi + 0x108]
test rcx, rcx
je 0x1402310ef
mov rax, qword [rcx + 8]
test rax, rax
je 0x1402310dc
nop dword [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1402310d0
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x1402310ff
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx eax, word [rbx + 0x14]
test al, 0x24
je 0x14023110c
mov rax, qword [rbx]
jmp 0x140231136
test al, 8
je 0x14023111b
movsd xmm0, qword [rbx]
call fcn.1401c64a0
jmp 0x140231136
test al, 0x12
je 0x140231133
cmp qword [rbx + 8], 0
je 0x140231133
mov rcx, rbx
call fcn.1401d9ee0
xor r11d, r11d
jmp 0x140231136
mov rax, r11
mov qword [rbx], rax
mov r12d, 0xf244
and word [rbx + 0x14], r12w
or word [rbx + 0x14], 4
movsxd rax, dword [rdi + 8]
imul rdi, rax, 0x38
add rdi, r14
movzx eax, word [rdi + 0x14]
test al, 0x24
je 0x140231161
mov rax, qword [rdi]
jmp 0x140231188
test al, 8
je 0x140231170
movsd xmm0, qword [rdi]
call fcn.1401c64a0
jmp 0x140231188
test al, 0x12
je 0x140231185
cmp qword [rdi + 8], 0
je 0x140231185
mov rcx, rdi
call fcn.1401d9ee0
jmp 0x140231188
mov rax, r11
mov qword [rdi], rax
and word [rdi + 0x14], r12w
or word [rdi + 0x14], 4
cmp qword [rbx], rax
jge 0x1402311af
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov qword [rbx], rax
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
mov r12, qword [rsp + 0x30]
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r14]
test rdx, rdx
jle 0x14022f36a
mov rax, r12
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x14022eb60
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
add r8, qword [rsi + 0x68]
test word [r8 + 0x14], r9w
je 0x140231235
mov rcx, r8
call fcn.1401ddb30
xor r11d, r11d
mov r8, rax
mov r9d, 0x9000
lea r10d, [r11 + 1]
jmp 0x14023123f
mov eax, 4
mov word [r8 + 0x14], ax
mov rcx, qword [rbx + r14]
test rcx, rcx
jle 0x14023128e
mov rdx, qword [rdi + r14]
test rdx, rdx
cmovle rdx, r11
test rdx, rdx
js 0x14023126a
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, rdx
jl 0x14023128e
mov r12, qword [rsp + 0x30]
add rcx, rdx
mov rbx, qword [rsp + 0x40]
lea rdx, [0x140000000]
mov qword [r8], rcx
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov r12, qword [rsp + 0x30]
lea rdx, [0x140000000]
mov rbx, qword [rsp + 0x40]
mov rcx, 0xffffffffffffffff
mov qword [r8], rcx
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
test rax, rax
je 0x14022b116
mov r12, qword [rsp + 0x30]
jle 0x14022eb60
dec rax
mov qword [rcx + r14], rax
jmp 0x14022eb60
mov rax, qword [rsp + 0x30]
movabs r8, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
cmp rax, r8
jle 0x14023130e
dec rax
mov qword [rcx + r14], rax
mov r12, qword [rsp + 0x30]
test rax, rax
je 0x14022eb60
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
mov rcx, r15
movzx ebx, word [rax + 2]
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.1401fb500
mov r8, rax
test rax, rax
je 0x1402333c7
xor r12d, r12d
add rdi, 6
mov qword [rax + 0x10], r12
lea rcx, [rax + rdi*8]
mov qword [rax], rcx
mov edi, 1
mov rax, qword [rsp + 0x30]
mov word [rcx + 0x14], di
mov qword [rcx + 0x18], r15
mov dword [rcx + 0x20], r12d
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movzx eax, byte [rsp + 0x3c]
mov dword [r8 + 0x20], edx
mov qword [r8 + 0x18], rsi
mov byte [r8 + 0x29], r12b
mov dword [r8 + 0x24], r12d
mov byte [r8 + 0x28], al
mov rax, qword [rsp + 0x30]
mov byte [r8 + 0x2a], bl
mov byte [rax + 1], 0xf1
mov qword [rax + 0x10], r8
mov byte [rax], reloc.OLEAUT32.dll_QueryPathOfRegTypeLib
jmp 0x1402313df
mov rax, qword [rsp + 0x30]
xor r12d, r12d
lea edi, [r12 + 1]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, r14
cmp qword [rbx + 0x10], r10
je 0x140231446
mov qword [rbx + 0x10], r10
movzx eax, byte [rbx + 0x2a]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x140231446
mov r15, qword [rsp + 0x30]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop word [rax + rax]
mov eax, dword [r15 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x140231420
mov r15, qword [rsp + 0x58]
inc dword [r10 + 0x10]
lea r8, [rbx + 0x30]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [rcx + 4], 0
mov rcx, rbx
je 0x140231469
call qword [rax + 0x30]
jmp 0x14023146c
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x140232bb7
jle 0x1402314d5
mov rcx, qword [rbx]
test rcx, rcx
jne 0x140231486
mov rax, r12
jmp 0x1402314ba
movzx edx, word [rcx + 0x14]
mov r8d, 0x202
movzx eax, dx
and ax, r8w
cmp ax, r8w
jne 0x1402314a9
cmp byte [rcx + 0x16], 1
jne 0x1402314a9
mov rax, qword [rcx + 8]
jmp 0x1402314ba
test dl, 1
je 0x1402314b3
mov rax, r12
jmp 0x1402314ba
mov dl, 1
call fcn.1402499f0
mov r8, rax
lea rdx, [0x140273c80]
mov rcx, rsi
call fcn.14022ad10
mov r13d, dword [rbx + 0x24]
mov dword [rsp + 0x38], r13d
cmp byte [rbx + 0x29], 0
je 0x140231514
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x140231510
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r14
test word [rcx + 0x14], ax
je 0x140231504
mov rdx, rdi
call fcn.14024bd80
jmp 0x140231510
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 0x14], ax
mov byte [rbx + 0x29], 0
mov rcx, qword [rbx]
mov r9d, 0x9000
test word [rcx + 0x14], r9w
jne 0x14023152a
cmp dword [rcx + 0x20], 0
je 0x140231535
call fcn.14024ac90
mov r9d, 0x9000
mov rax, qword [rbx]
xor r11d, r11d
mov r10d, 1
mov word [rax + 0x14], r10w
mov dword [rbx + 0x24], r11d
test r13d, r13d
jne 0x1402336c7
mov r12, qword [rsp + 0x30]
lea rdx, [0x140000000]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov rsi, qword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r14
test eax, eax
je 0x14023161a
imul rdi, rax, 0x38
xorps xmm0, xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
xor eax, eax
add rdi, r14
mov qword [rbp + 0x1b0], rax
movups xmmword [rbp + 0x1a0], xmm0
test word [rdi + 0x14], r9w
je 0x1402315ca
mov rcx, rdi
call fcn.14024ace0
jmp 0x1402315cf
mov word [rdi + 0x14], r10w
mov qword [rbp + 0x180], rdi
mov qword [rbp + 0x190], rbx
mov qword [rbp + 0x188], rsi
mov rax, qword [rbx + 0x18]
movzx ecx, byte [rax + 0x64]
mov byte [rbp + 0x1a8], cl
lea rcx, [rbp + 0x180]
call qword [rsi + 0x28]
mov rax, qword [rsp + 0x30]
mov r13d, dword [rbp + 0x1a4]
mov dword [rsp + 0x38], r13d
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
jmp 0x14023162c
mov rdx, rsi
mov rcx, rbx
call fcn.140235720
mov r13d, eax
mov dword [rsp + 0x38], eax
test r13d, r13d
jne 0x14023332e
test byte [rbx + 0x14], 2
jne 0x14023165a
movzx eax, byte [rsp + 0x3c]
xor r11d, r11d
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov byte [rbx + 0x16], al
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
movzx ecx, byte [rsp + 0x3c]
cmp byte [rbx + 0x16], cl
je 0x140232bb2
movzx edx, cl
mov rcx, rbx
call fcn.1402363a0
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rdi, qword [rsp + 0x30]
lea rax, [rbp + 0x300]
lea r9, [rbp + 0x2fc]
mov dword [rbp + 0x2f8], r11d
mov rcx, r15
mov dword [rbp + 0x300], 0xffffffff
mov dword [rbp + 0x2fc], 0xffffffff
mov r8d, dword [rdi + 8]
mov edx, dword [rdi + 4]
mov qword [rsp + 0x20], rax
call fcn.1401f60b0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
je 0x1402316f6
cmp eax, 5
jne 0x140233034
xor ecx, ecx
mov eax, 1
mov r13d, ecx
mov dword [rsp + 0x38], ecx
mov dword [rbp + 0x2f8], eax
jmp 0x1402316f8
xor ecx, ecx
movsxd rax, dword [rdi + 0xc]
mov r9d, 0x9000
imul rbx, rax, 0x38
mov rdi, rcx
mov r15d, 4
add rbx, r14
nop dword [rax]
nop word [rax + rax]
movsxd rax, dword [rbp + rdi*4 + 0x2f8]
test word [rbx + 0x14], r9w
je 0x140231742
mov rdx, rax
mov rcx, rbx
call fcn.14024bd80
mov r9d, 0x9000
jmp 0x14023174a
mov qword [rbx], rax
mov word [rbx + 0x14], r15w
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x140231720
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x30]
jmp 0x14022b7e5
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 8]
imul r13, rax, 0x38
add r13, qword [rsi + 0x68]
test word [r13 + 0x14], r9w
je 0x140231792
mov rcx, r13
call fcn.1401ddb30
xor r11d, r11d
mov r13, rax
lea r10d, [r11 + 1]
jmp 0x14023179c
mov eax, 4
mov word [r13 + 0x14], ax
mov edx, dword [rdi + 0xc]
movsxd rcx, dword [rdi + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
cmp edx, 0xffffffff
mov r15, qword [rcx + rax + 8]
mov rax, qword [r15 + 8]
mov rdi, qword [rax]
movzx r14d, byte [rdi + 9]
mov esi, r14d
cmovne esi, edx
cmp byte [rdi + 0x15], 3
jae 0x1402317dc
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x1402317df
cmp qword [rdi + 0x60], 0
jle 0x1402317df
mov esi, r14d
cmp byte [rdi + 0x13], 0
lea rcx, [0x1402e126c]
jne 0x1402317f3
mov rcx, qword [rdi + 0xd8]
cmp esi, 5
jne 0x14023186d
test rcx, rcx
je 0x140231833
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140231804
test eax, 0x3fffffff
je 0x140231833
cmp byte [rdi + 0x11], 0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax]
jne 0x140231833
cmp byte [rdi + 8], 0
jne 0x14023186d
cmp dword [rcx], 2
jl 0x140231833
cmp qword [rcx + 0x68], 0
jne 0x14023186d
mov esi, r14d
mov ecx, dword [rsp + 0x38]
test ecx, ecx
je 0x140231841
mov esi, r14d
mov edx, esi
mov rcx, rdi
call fcn.140213b90
mov ecx, 0x2202
mov word [r13 + 0x14], cx
cmp eax, 6
jne 0x1402319ea
xor r12d, r12d
mov qword [r13 + 8], r12
mov eax, r12d
jmp 0x140231a24
cmp esi, r14d
je 0x140231836
cmp r14d, 5
je 0x14023187d
cmp esi, 5
jne 0x140231836
mov r12, qword [rsp + 0x58]
cmp byte [r12 + 0x65], 0
je 0x140233352
cmp dword [r12 + 0xdc], 1
jg 0x140233352
cmp r14d, 5
jne 0x1402319ae
cmp qword [rdi + 0x128], 0
mov ebx, r11d
jne 0x14023192e
mov dword [rbp - 0x2c], r11d
movzx eax, byte [rdi + 0x16]
cmp al, 1
jb 0x1402318c5
cmp al, r14b
jne 0x1402318e8
cmp byte [rdi + 0x11], 0
jne 0x1402318de
mov rcx, qword [rdi + 0x48]
mov edx, r10d
mov rax, qword [rcx]
call qword [rax + 0x38]
mov ebx, eax
test eax, eax
jne 0x1402318e8
cmp byte [rdi + 0x16], 5
je 0x1402318e8
mov byte [rdi + 0x16], 1
test ebx, ebx
jne 0x140231996
mov rax, qword [rdi]
lea r9, [rbp - 0x2c]
mov rdx, qword [rdi + 0x130]
xor r8d, r8d
mov rcx, rax
call qword [rax + 0x38]
mov ebx, eax
test eax, eax
jne 0x140231996
cmp dword [rbp - 0x2c], eax
je 0x140231924
mov rcx, rdi
call fcn.1401de620
mov ebx, eax
test eax, eax
jne 0x140231996
cmp qword [rdi + 0x128], 0
je 0x140231996
mov rcx, rdi
call fcn.1401de330
mov ebx, eax
test eax, eax
jne 0x140231996
mov rax, qword [rdi + 0x118]
mov rdx, r12
movzx r8d, byte [rdi + 0xf]
mov r9d, dword [rdi + 0xc8]
mov rcx, qword [rdi + 0x128]
mov qword [rsp + 0x20], rax
call fcn.140239d90
xor ecx, ecx
mov dword [rsp + 0x38], eax
mov qword [rdi + 0x128], rcx
mov ebx, eax
mov rcx, rdi
call fcn.1401de3b0
test ebx, ebx
je 0x140231996
cmp byte [rdi + 8], 0
jne 0x140231996
mov edx, 1
mov rcx, rdi
call fcn.1401def80
jmp 0x14023183e
mov dword [rsp + 0x38], ebx
test ebx, ebx
jne 0x14023183e
mov edx, esi
mov rcx, rdi
call fcn.140213b90
jmp 0x1402319cb
cmp r14d, 4
jne 0x1402319c0
lea edx, [r14 - 2]
mov rcx, rdi
call fcn.140213b90
cmp dword [rsp + 0x38], 0
jne 0x14023183e
xor eax, eax
mov rcx, r15
mov edx, eax
cmp esi, 5
sete dl
inc edx
call fcn.1401f5360
mov ecx, eax
mov dword [rsp + 0x38], eax
jmp 0x14023183a
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x2e2480]
mov qword [r13 + 8], rcx
test rcx, rcx
jne 0x140231a0c
xor r12d, r12d
mov eax, r12d
jmp 0x140231a24
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140231a13
and eax, 0x3fffffff
xor r12d, r12d
movzx ecx, byte [rsp + 0x3c]
mov dword [r13 + 0x10], eax
mov byte [r13 + 0x16], 1
cmp cl, 1
je 0x140231a42
movzx edx, cl
mov rcx, r13
call fcn.1402363a0
mov r13d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
test r13d, r13d
jne 0x1402331f2
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov r13, qword [rsp + 0x30]
movsxd rax, dword [r13 + 8]
test eax, eax
je 0x140231a87
imul r9, rax, 0x38
add r9, r14
jmp 0x140231a8a
mov r9, r11
mov r8d, dword [r13 + 4]
lea rcx, [rsi + 0xa8]
mov rdx, r15
call fcn.14021df60
jmp 0x14022e7c9
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax + 8]
cmp byte [rsi + 0x11], 0
mov rdi, qword [rsi + 8]
je 0x140231ad3
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x140231ad3
mov rcx, rsi
call fcn.1401bd370
cmp byte [rdi + 0x21], 0
jne 0x140231ae9
mov r13d, 0x65
mov dword [rsp + 0x38], r13d
jmp 0x140231bee
mov rax, qword [rdi + 0x18]
mov r14d, dword [rdi + 0x40]
mov edx, r14d
mov rcx, qword [rax + 0x50]
mov ebx, dword [rcx + 0x24]
mov rcx, rdi
bswap ebx
mov r8d, ebx
call fcn.1401cbed0
mov r15d, eax
cmp r14d, eax
jb 0x140231bac
cmp ebx, r14d
jae 0x140231bac
test ebx, ebx
je 0x140231b9f
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140231b47
xor r8d, r8d
xor edx, edx
call fcn.1401e99b0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x140231bdf
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140231b5d
and byte [rax + 1], 0xfb
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140231b50
xor r9d, r9d
mov r8d, r14d
mov edx, r15d
mov rcx, rdi
call fcn.1401d3cc0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x140231bdf
mov rcx, qword [rdi + 0x18]
mov rcx, qword [rcx + 0x70]
call fcn.1402142d0
mov edx, dword [rdi + 0x40]
mov r13d, eax
mov dword [rsp + 0x38], eax
mov rax, qword [rdi + 0x18]
bswap edx
mov rcx, qword [rax + 0x50]
mov dword [rcx + 0x1c], edx
jmp 0x140231bdf
mov r13d, 0x65
mov dword [rsp + 0x38], r13d
jmp 0x140231bdf
lea rax, [0x1402ed2a4]
mov ebx, VariantTimeToDosDateTime
mov ecx, ebx
mov qword [rsp + 0x20], rax
mov r9d, 0x1149b
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14019f7c0
mov r13d, ebx
mov dword [rsp + 0x38], ebx
mov rbx, qword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
cmp byte [rsi + 0x11], 0
je 0x140231c02
sub dword [rsi + 0x14], 1
jne 0x140231c02
mov rcx, rsi
call fcn.1402477a0
test r13d, r13d
je 0x14022c01a
cmp r13d, 0x65
jne 0x14022e982
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov r13d, r11d
mov dword [rsp + 0x38], r11d
lea r10d, [r11 + 1]
jmp 0x14022eb60
cmp dword [r12 + 4], 0
jne 0x140231c7e
mov rcx, qword [r15 + 8]
mov edx, dword [r12 + 8]
test rcx, rcx
je 0x14022f36a
inc edx
and edx, 3
nop dword [rax]
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffc
or eax, edx
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x140231c50
lea rdx, [0x140000000]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov eax, dword [r12 + 8]
inc eax
xor eax, dword [rsi + 0xc8]
and eax, 3
xor dword [rsi + 0xc8], eax
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rsp + 0x30]
movzx esi, byte [rax + 0xc]
test sil, sil
jne 0x140231d19
mov eax, dword [r15 + 0x30]
bt rax, 0xa
jb 0x140232e57
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov r13d, r11d
mov edi, dword [rax + 8]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov dword [rsp + 0x38], r11d
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x140231e0b
inc dword [rbx + 0x14]
inc sil
cmp byte [rbx + 0x12], 0
jne 0x140231d56
mov rcx, rbx
call fcn.1401bd370
xor r11d, r11d
movzx r8d, sil
mov edx, edi
mov rcx, rbx
call fcn.1401e3f40
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x140231de3
mov r14, qword [rbx + 8]
mov rax, qword [r14 + 0x78]
test rax, rax
je 0x140231d93
nop dword [rax]
cmp dword [rax + 8], edi
jne 0x140231d8a
cmp qword [rax], rbx
je 0x140231dbf
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140231d80
mov ecx, DispGetParam
call fcn.140210f70
test rax, rax
je 0x140231dd3
xor r11d, r11d
mov qword [rax + 0xc], r11
mov dword [rax + 0x14], r11d
mov dword [rax + 8], edi
mov qword [rax], rbx
mov rcx, qword [r14 + 0x78]
mov qword [rax + 0x10], rcx
mov qword [r14 + 0x78], rax
cmp sil, byte [rax + 0xc]
jbe 0x140231dc9
mov byte [rax + 0xc], sil
mov r13d, r11d
mov dword [rsp + 0x38], r11d
jmp 0x140231dde
mov r13d, 7
mov dword [rsp + 0x38], r13d
mov r14, qword [rsp + 0x60]
cmp byte [rbx + 0x11], 0
je 0x140231df7
sub dword [rbx + 0x14], 1
jne 0x140231df7
mov rcx, rbx
call fcn.1402477a0
xor r11d, r11d
lea rdx, [0x140000000]
mov r9d, 0x9000
lea r10d, [r11 + 1]
mov rsi, qword [rsp + 0x48]
test r13d, r13d
jne 0x140233386
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rcx, qword [rsp + 0x30]
movsxd rdx, dword [r15 + 0x21c]
mov dword [rsp + 0x38], r11d
mov rbx, qword [rcx + 0x10]
test edx, edx
jle 0x140231e7e
cmp qword [r15 + 0x240], 0
jne 0x140231e7e
mov dword [rsp + 0x78], 6
mov r13d, 6
mov dword [rsp + 0x38], r13d
lea rdx, [rbx + 0x10]
test rbx, rbx
jne 0x140231f54
mov r14, rcx
lea edi, [rbx + 1]
jmp 0x14022e991
test rbx, rbx
jne 0x140231ea7
mov rbx, qword [rsp + 0x40]
lea rdx, [0x140000000]
mov r13d, r11d
mov dword [rsp + 0x38], r11d
mov r12, rcx
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rax, qword [rbx + 0x10]
mov rsi, qword [rax]
cmp qword [rsi + 0x70], 0
je 0x140231f46
mov rcx, r11
test edx, edx
jle 0x140231edc
mov rax, qword [r15 + 0x240]
cmp qword [rax], rbx
je 0x140231f7a
inc rcx
add rax, 8
cmp rcx, rdx
jl 0x140231ec7
mov rcx, r15
call fcn.1401d3450
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x140231f46
mov rcx, qword [rbx + 0x10]
call qword [rsi + 0x70]
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x140231f46
mov edx, dword [r15 + 0x2ec]
add edx, dword [r15 + 0x2e8]
movsxd rcx, dword [r15 + 0x21c]
mov rax, qword [r15 + 0x240]
mov qword [rax + rcx*8], rbx
inc dword [r15 + 0x21c]
inc dword [rbx + 0x18]
test edx, edx
je 0x140231f46
cmp qword [rsi + 0xa0], 0
je 0x140231f46
mov dword [rbx + 0x20], edx
dec edx
mov rcx, qword [rbx + 0x10]
call qword [rsi + RegisterTypeLib]
mov dword [rsp + 0x38], eax
mov r13d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
lea rdx, [rbx + 0x10]
mov rdx, qword [rdx]
mov rcx, rsi
call fcn.1402391f0
test r13d, r13d
jne 0x14022e987
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov r13d, r11d
mov dword [rsp + 0x38], r11d
jmp 0x140231f4b
mov rax, qword [rsp + 0x30]
lea rcx, [rbp + 0x80]
xorps xmm0, xmm0
mov qword [rbp + 0x80], r11
xorps xmm1, xmm1
mov qword [rbp + 0xb0], r11
movdqu xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], r15
movdqu xmmword [rbp + 0xa0], xmm1
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, r14
call fcn.140235610
movzx ecx, word [rbp + 0x94]
mov r13d, eax
mov dword [rsp + 0x38], eax
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x140231ffb
cmp byte [rbp + 0x96], 1
jne 0x140231ffb
mov rax, qword [rbp + 0x88]
jmp 0x140232019
test cl, 1
jne 0x14023213f
mov dl, 1
lea rcx, [rbp + 0x80]
call fcn.1402499f0
movzx ecx, word [rbp + 0x94]
test rax, rax
je 0x14023213f
mov r8, qword [r15 + 0x20]
lea rbx, [rsi + 0xa8]
mov rcx, qword [rsp + 0x30]
mov rdx, rax
movsxd rcx, dword [rcx + 4]
shl rcx, 5
mov r8, qword [rcx + r8]
mov rcx, r15
call fcn.140205790
xor r8d, r8d
mov rsi, rax
mov rcx, qword [rax + 0x48]
mov rdi, qword [rcx]
lea rcx, [r15 + 0x220]
mov rdx, rdi
call fcn.1401cc380
mov r8, qword [rax + 0x10]
test r8, r8
je 0x14023210d
mov rcx, qword [r8]
mov r9, qword [rcx + 8]
test r9, r9
je 0x14023210d
cmp qword [rcx + 0x28], 0
je 0x14023210d
mov rdx, rsi
mov qword [rsp + 0x20], rbx
mov rcx, r15
call fcn.14024d8c0
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14023212e
mov rax, qword [rsi + 0x50]
test rax, rax
je 0x14023212e
cmp qword [rax], r15
je 0x1402320c5
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1402320b5
jmp 0x14023212e
mov rcx, r15
call fcn.1401d3450
mov dword [rsp + 0x38], eax
mov r13d, eax
test eax, eax
jne 0x14023212e
mov rdx, qword [rsi + 0x50]
test rdx, rdx
je 0x1402320ef
cmp qword [rdx], r15
je 0x1402320ef
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x1402320e1
movsxd rcx, dword [r15 + 0x21c]
mov rax, qword [r15 + 0x240]
mov qword [rax + rcx*8], rdx
inc dword [r15 + 0x21c]
inc dword [rdx + 0x18]
jmp 0x14023212e
mov r8, rdi
lea rdx, str.no_such_module:__s
mov rcx, r15
call fcn.140210f40
mov qword [rbx], rax
mov eax, 1
mov r13d, eax
mov dword [rsp + 0x38], eax
movzx ecx, word [rbp + 0x94]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov r9d, 0x9000
test r9w, cx
jne 0x140232154
cmp dword [rbp + 0xa0], 0
je 0x140232166
lea rcx, [rbp + 0x80]
call fcn.14024ac90
mov r9d, 0x9000
test r13d, r13d
jne 0x14022e987
mov r12, qword [rsp + 0x30]
jmp 0x14022b7ea
inc dword [r15 + 0xe8]
mov r13d, r11d
mov rcx, qword [rsp + 0x30]
mov r8, qword [r15 + 0x20]
movsxd rax, dword [rcx + 4]
mov rdx, qword [rcx + 0x10]
mov rcx, r15
shl rax, 5
mov r8, qword [rax + r8]
call fcn.140205790
mov rdi, rax
test rax, rax
je 0x14023224b
cmp byte [rax + 0x3f], 1
jne 0x14023224b
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x14023224b
nop word [rax + rax]
mov rax, qword [rcx + 0x10]
cmp dword [rax + 8], 0
jg 0x1402333b2
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x1402321d0
mov rdx, rdi
mov rcx, r15
call fcn.14024de70
mov rbx, rax
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x28]
test rax, rax
jne 0x140232209
mov rax, qword [rdx + 0x20]
inc dword [rdi + 0x2c]
mov rcx, qword [rbx + 0x10]
call rax
mov r13d, eax
test eax, eax
jne 0x14023222b
xor eax, eax
mov rcx, rbx
mov qword [rbx + 0x10], rax
mov qword [rdi + 0x50], rax
call fcn.140239690
cmp qword [r15 + 0x300], 0
jne 0x14023223b
add dword [rdi + 0x2c], 0xffffffff
jne 0x140232246
mov rdx, rdi
mov rcx, r15
call fcn.1401c60c0
mov rbx, qword [rsp + 0x40]
dec dword [r15 + 0xe8]
test r13d, r13d
jne 0x14022e987
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov dword [rsp + 0x38], r13d
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x20], r11
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1402333d8
mov rdi, qword [rbx]
test rdi, rdi
je 0x1402333d8
lea rdx, [rbp - 0x20]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, rsi
mov r13d, eax
mov dword [rsp + 0x38], eax
call fcn.1402391f0
test r13d, r13d
jne 0x14022e987
mov rax, qword [rbp - 0x20]
mov r9b, 2
xor r8d, r8d
mov rcx, rsi
mov qword [rax], rbx
mov rax, qword [rsp + 0x30]
mov edx, dword [rax + 4]
call fcn.1401b76c0
mov rcx, qword [rbp - 0x20]
test rax, rax
je 0x1402333c4
mov r12, qword [rsp + 0x30]
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
call fcn.1402459c0
test eax, eax
jne 0x1402333c7
lea ecx, [rax + 0x10]
call fcn.140210f70
mov rdi, rax
test rax, rax
je 0x1402333c7
mov rcx, qword [rbx + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 0xc]
imul rdx, rcx, 0x38
add rdx, r14
mov qword [rdi + 8], rdx
movsxd rcx, dword [rax + 8]
mov eax, 0x9000
imul rbx, rcx, 0x38
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x14023236a
mov rcx, rbx
call fcn.1401ddb30
mov rbx, rax
mov eax, 1
mov rcx, rbx
mov word [rbx + 0x14], ax
call fcn.14024ac90
mov r12, qword [rsp + 0x30]
lea rax, str.ValueList
mov qword [rbx], rax
xor r11d, r11d
mov qword [rbx + 8], rdi
mov eax, 0x1a01
mov word [rbx + 0x14], ax
lea rax, [fcn.1401b2120]
mov byte [rbx + 0x17], 0x70
mov qword [rbx + 0x30], rax
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rcx, qword [rsp + 0x30]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
mov rdi, qword [r12 + 0x70]
imul rdx, rax, 0x38
mov rax, qword [rsi + 0x78]
add rdx, r14
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
xor eax, eax
mov edx, dword [rdx]
mov r8d, eax
mov rsi, qword [r13 + 0x30]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x140232419
nop word [rax + rax]
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x140232400
mov rax, qword [rsp + 0x30]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rdx, r15
mov rcx, r12
mov ebx, eax
mov dword [rsp + 0x38], eax
call fcn.1402391f0
test ebx, ebx
jne 0x140233687
mov rcx, rsi
call qword [r14 + 0x50]
mov r12, qword [rsp + 0x30]
mov byte [r13 + 2], bl
mov r13d, ebx
test eax, eax
jne 0x14022eb52
mov r15, qword [rsp + 0x58]
xor r11d, r11d
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp byte [rdi + 2], 0
je 0x1402324ca
test word [rbx + 0x14], r9w
je 0x14022c961
mov rcx, rbx
call fcn.14024ace0
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rax, qword [rdi + 0x30]
xorps xmm0, xmm0
mov r13, qword [rsp + 0x30]
movzx r12d, byte [rsp + 0x3c]
mov rsi, qword [rax]
xor eax, eax
mov r14, qword [rsi]
movups xmmword [rbp + 0x1e0], xmm0
mov qword [rbp + 0x1e0], rbx
movups xmmword [rbp + 0x200], xmm0
mov byte [rbp + 0x208], r12b
movups xmmword [rbp + 0x1f0], xmm0
mov qword [rbp + 0x210], rax
test byte [r13 + 2], 1
je 0x140232535
test word [rbx + 0x14], r9w
je 0x140232527
mov rcx, rbx
call fcn.14024ace0
xor r11d, r11d
mov eax, 0x401
mov word [rbx + 0x14], ax
mov dword [rbx], r11d
jmp 0x140232549
movzx eax, word [rbx + 0x14]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [rbx + 0x14], ax
mov r8d, dword [r13 + 8]
lea rdx, [rbp + 0x1e0]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov rdx, rsi
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
mov dword [rsp + 0x38], eax
mov r13d, eax
call fcn.1402391f0
cmp dword [rbp + 0x204], 0
lea rdi, [rbx + 0x16]
jle 0x1402325d0
movzx ecx, word [rbx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14023259f
cmp byte [rdi], 1
jne 0x14023259f
mov rax, qword [rbx + 8]
jmp 0x1402325b2
test cl, 1
je 0x1402325a8
xor eax, eax
jmp 0x1402325b2
mov dl, 1
mov rcx, rbx
call fcn.1402499f0
mov r8, rax
lea rdx, [0x140273c80]
mov rcx, rsi
call fcn.14022ad10
mov r13d, dword [rbp + 0x204]
mov dword [rsp + 0x38], r13d
test byte [rbx + 0x14], 2
jne 0x1402325db
mov byte [rdi], r12b
jmp 0x1402325ee
movzx ecx, r12b
cmp byte [rdi], cl
je 0x1402325ee
movzx edx, cl
mov rcx, rbx
call fcn.1402363a0
test r13d, r13d
jne 0x14022e987
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x14022b116
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
mov r13d, eax
mov dword [rsp + 0x38], eax
call fcn.1402391f0
test r13d, r13d
jne 0x14022e982
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x14022dc02
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [rbx + rcx*8]
mov qword [rsp + 0x30], rax
jmp 0x14022dc07
mov rcx, qword [rsp + 0x30]
mov edi, dword [r15 + 0x30]
or qword [r15 + 0x30], 0x4000000
and edi, 0x4000000
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r14
test byte [rbx + 0x14], 2
jne 0x1402326bb
mov byte [rbx + 0x16], 1
jmp 0x1402326d6
cmp byte [rbx + 0x16], 1
je 0x1402326d6
mov dl, 1
mov rcx, rbx
call fcn.1402363a0
mov r13d, eax
test eax, eax
jne 0x14022e982
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x38], eax
mov r13d, eax
test edi, edi
jne 0x1402326f9
and qword [r15 + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
call fcn.1402391f0
and dword [rsi + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x14022e987
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov qword [rbp + 0x18], r11
cmp byte [r15 + 0x67], 0
jne 0x1402335fb
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1402333d8
mov r10, qword [rbx]
test r10, r10
je 0x1402333d8
cmp qword [r10 + 0x68], 0
mov r12, qword [rsp + 0x30]
movsxd rdx, dword [r12 + 8]
je 0x14022b40f
movsxd rax, dword [r12 + 0xc]
mov r13, r12
movzx edi, byte [r15 + 0x6c]
mov r8, qword [rsi + 0x70]
imul rcx, rax, 0x38
mov rax, r11
add rcx, r14
test edx, edx
jle 0x1402327a0
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x140232790
movzx eax, byte [r13 + 2]
lea r9, [rbp + 0x18]
mov rcx, rbx
mov byte [r15 + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r15 + 0x6c], dil
mov rcx, rsi
mov dword [rsp + 0x38], eax
mov r13d, eax
call fcn.1402391f0
test r13d, r13d
jne 0x1402327e0
cmp dword [r12 + 4], r13d
je 0x140232813
mov rax, qword [rbp + 0x18]
mov qword [r15 + 0x38], rax
jmp 0x140232813
cmp r13b, 0x13
jne 0x140232813
mov rax, r12
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], 0
je 0x140232813
mov rcx, r12
movzx ecx, word [rcx + 2]
cmp ecx, 4
jne 0x14023340a
xor r11d, r11d
mov r13d, r11d
mov dword [rsp + 0x38], r11d
jmp 0x14022f359
inc qword [rsi + 0x38]
test r13d, r13d
jne 0x14022e987
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], r9w
je 0x14023285f
mov rcx, rdx
call fcn.1401ddb30
xor r11d, r11d
mov rdx, rax
mov r9d, 0x9000
lea r10d, [r11 + 1]
jmp 0x140232868
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
jmp 0x14022b16f
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 8]
imul rsi, rax, 0x38
mov rax, qword [rsp + 0x48]
add rsi, qword [rax + 0x68]
test word [rsi + 0x14], r9w
je 0x1402328b7
mov rcx, rsi
call fcn.1401ddb30
mov rsi, rax
xor r11d, r11d
jmp 0x1402328c0
mov eax, 4
mov word [rsi + 0x14], ax
movsxd rcx, dword [rdi + 4]
mov edi, r11d
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x1402328ec
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x40]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x140232903
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140232903
mov rcx, rbx
call fcn.1401bd370
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x140232914
mov dword [rcx + 0xbc], edi
cmp byte [rbx + 0x11], 0
mov edi, dword [rcx + 0xbc]
je 0x14023292e
sub dword [rbx + 0x14], 1
jne 0x14023292e
mov rcx, rbx
call fcn.1402477a0
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
mov qword [rsi], rdi
mov rsi, qword [rsp + 0x48]
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
mov r15, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
mov qword [rbp - 0x80], r15
add rbx, r14
cmp qword [r15], rbx
je 0x1402329c5
movzx eax, byte [rsp + 0x3c]
mov qword [r15 + 0x18], rsi
mov qword [r15], rbx
mov byte [r15 + 0x28], al
movzx eax, byte [r15 + 0x2a]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x1402329c5
lea r8, [r15 + 0x30]
mov r15, qword [rsp + 0x30]
lea r8, [r8 + rdx*8]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r15 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x1402329a0
mov r15, qword [rbp - 0x80]
movzx eax, word [rbx + 0x14]
lea r8, [r15 + 0x30]
mov ecx, 0xf241
and ax, cx
mov rcx, r15
or ax, 1
mov word [rbx + 0x14], ax
mov rax, qword [r15 + 8]
movzx edx, byte [r15 + 0x2a]
call qword [rax + 0x18]
mov eax, dword [r15 + 0x24]
test eax, eax
je 0x140232b96
jle 0x140232a48
movzx ecx, word [rbx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x140232a1a
cmp byte [rbx + 0x16], 1
jne 0x140232a1a
mov rax, qword [rbx + 8]
jmp 0x140232a2d
test cl, 1
je 0x140232a23
xor eax, eax
jmp 0x140232a2d
mov dl, 1
mov rcx, rbx
call fcn.1402499f0
mov r8, rax
lea rdx, [0x140273c80]
mov rcx, rsi
call fcn.14022ad10
mov r13d, dword [r15 + 0x24]
mov dword [rsp + 0x38], r13d
mov rdi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x30]
add rdi, 0x128
mov esi, dword [r15 + 0x20]
mov rbx, qword [rdi]
mov r14d, dword [r12 + 4]
test rbx, rbx
je 0x140232b72
mov r15, qword [rsp + 0x58]
test esi, esi
js 0x140232a96
cmp dword [rbx], esi
jne 0x140232a8d
mov eax, dword [rbx + 4]
test eax, eax
js 0x140232a8d
cmp eax, 0x1f
jg 0x140232a96
bt r14d, eax
jae 0x140232a96
lea rdi, [rbx + 0x18]
jmp 0x140232b62
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140232aa5
mov rcx, qword [rbx + 8]
call rax
mov rax, qword [rbx + 0x18]
mov qword [rdi], rax
cmp qword [r15 + 0x300], 0
je 0x140232ac6
mov rdx, rbx
mov rcx, r15
call fcn.1401d9e70
jmp 0x140232b62
cmp rbx, qword [r15 + 0x1f0]
jae 0x140232b07
cmp rbx, qword [r15 + 0x1e0]
jb 0x140232aeb
mov rax, qword [r15 + 0x1d8]
mov qword [rbx], rax
mov qword [r15 + 0x1d8], rbx
jmp 0x140232b62
cmp rbx, qword [r15 + 0x1e8]
jb 0x140232b07
mov rax, qword [r15 + 0x1c8]
mov qword [rbx], rax
mov qword [r15 + 0x1c8], rbx
jmp 0x140232b62
cmp dword [0x14034a2b0], 0
je 0x140232b59
mov rcx, qword [0x14037e7f0]
test rcx, rcx
je 0x140232b22
call qword [0x14034a330]
mov rcx, rbx
call qword [0x14034a2e8]
dec qword [0x14037e788]
movsxd rcx, eax
sub qword [0x14037e740], rcx
mov rcx, rbx
call qword [0x14034a2d8]
mov rcx, qword [0x14037e7f0]
test rcx, rcx
je 0x140232b62
call qword [0x14034a340]
jmp 0x140232b62
mov rcx, rbx
call qword [0x14034a2d8]
mov rbx, qword [rdi]
test rbx, rbx
jne 0x140232a73
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x48]
xor r11d, r11d
mov dword [r15 + 0x24], r11d
mov r15, qword [rsp + 0x58]
test r13d, r13d
jne 0x14022c215
mov r14, qword [rsp + 0x60]
jmp 0x14022f359
mov r15, qword [rsp + 0x58]
xor r11d, r11d
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov rbx, qword [rsp + 0x40]
jmp 0x14022f35e
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r14 + 0x14], ax
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r14
imul rbx, rax, 0x38
call fcn.1401cbc20
movsxd rcx, dword [rbx + r14 + 0x10]
xor edx, edx
mov r12, qword [rsp + 0x30]
div rcx
mov rcx, qword [rbx + r14 + 8]
mov rbx, qword [rsp + 0x40]
mov r8, rdx
shr r8, 3
and edx, 7
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
xor r11d, r11d
jmp 0x14022f35e
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r14
imul rbx, rax, 0x38
call fcn.1401cbc20
movsxd rcx, dword [rbx + r14 + 0x10]
xor edx, edx
mov r12, qword [rsp + 0x30]
mov r10d, 1
div rcx
mov rax, qword [rbx + r14 + 8]
mov rbx, qword [rsp + 0x40]
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
movzx eax, dl
and al, 7
movzx eax, al
bt r8d, eax
jb 0x140232ca1
inc dword [rsi + 0xf4]
xor r11d, r11d
jmp 0x14022eb60
inc dword [rsi + 0xf0]
xor r11d, r11d
jmp 0x14022f364
movzx eax, byte [r15 + 0x6e]
test al, 0x41
je 0x140232d92
cmp byte [rsi + 0xc3], 0xfe
je 0x140232d92
mov rcx, qword [rsp + 0x30]
mov r9, qword [rcx + 0x10]
test r9, r9
jne 0x140232ce7
mov r9, qword [rsi + 0xf8]
test r9, r9
je 0x140232d8c
test al, 0x40
je 0x140232d19
mov rdx, r9
mov rcx, rsi
call fcn.140233c30
mov rcx, qword [r15 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r15 + 0xf8]
mov rcx, rbx
call fcn.1401b2120
mov rbx, qword [rsp + 0x40]
jmp 0x140232d7c
cmp dword [r15 + 0xe4], 1
jle 0x140232d68
mov r8, r9
lea rdx, str.____s
mov rcx, r15
call fcn.140210f40
mov rdx, qword [r15 + 0x100]
mov r9, rax
mov r8, rsi
mov ecx, 1
mov rbx, rax
call qword [r15 + 0xf8]
test rbx, rbx
je 0x140232d12
mov rdx, rbx
mov rcx, r15
call fcn.1401fb370
mov rbx, qword [rsp + 0x40]
jmp 0x140232d7c
mov rdx, qword [r15 + 0x100]
mov r8, rsi
mov ecx, r10d
call qword [r15 + 0xf8]
lea rdx, [0x140000000]
mov r10d, 1
xor r11d, r11d
mov r9d, 0x9000
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
mov eax, dword [rax + 4]
cmp eax, dword [0x14034a458]
jl 0x140232de6
cmp byte [r12], 0xb5
je case.0x14022aeb5.89
cmp dword [rsi + 0x90], 1
mov edx, r10d
jle 0x140232de3
mov eax, DispGetParam
mov rcx, qword [rsi + 0x88]
cmp byte [rcx + rax], 0xe
jne 0x140232dd5
mov dword [rcx + rax + 4], r11d
inc edx
add rax, 0x18
cmp edx, dword [rsi + 0x90]
jl 0x140232dc3
mov eax, r11d
inc eax
mov dword [r12 + 4], eax
inc dword [rsi + 0xec]
jmp 0x14022eb60
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x30]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov r13d, dword [rsp + 0x38]
mov r9d, 0x9000
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rbp - 0x18]
add r12, 0x18
jmp 0x14022ae85
mov r13, qword [rsp + 0x30]
mov ecx, dword [r13 + 4]
mov dword [rsi + 0x34], ecx
movzx eax, byte [r13 + 8]
mov byte [rsi + 0xc2], al
test ecx, ecx
je 0x140232f2a
movzx eax, word [r13 + 2]
mov rcx, rsi
test ax, ax
je 0x140232ed6
mov r8, qword [rdx + rax*8 + 0x2e23c8]
lea rdx, str._s_constraint_failed
call fcn.14022ad10
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x140232ee6
mov r8, qword [rsi + 0xa8]
lea rdx, str._z:__s
mov rcx, r15
call fcn.140210f40
mov qword [rsi + 0xa8], rax
jmp 0x140232ee6
mov r8, qword [r13 + 0x10]
lea rdx, [0x140273c80]
call fcn.14022ad10
mov r9, qword [rsi + 0xf8]
mov rcx, r13
sub rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rsi + 0xa8]
mov ecx, dword [r13 + 4]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.abort_at__d_in___s_:__s
call fcn.14019f7c0
mov rcx, rsi
call fcn.1402345d0
mov r14, qword [rsp + 0x30]
mov r13d, eax
mov rbx, qword [rsp + 0x50]
cmp eax, 5
jne 0x140232f4c
mov dword [rsi + 0x34], eax
jmp 0x1402330ab
cmp dword [rsi + 0x34], 0
mov r13d, 0x65
mov eax, 1
cmovne r13d, eax
jmp 0x1402330ab
mov r13d, 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rsi + 0x34], r13d
mov rcx, rsi
mov byte [rsi + 0xc2], 2
call fcn.14022ad10
cmp byte [rsi + 0xc4], 0
mov edi, 1
cmovge r13d, edi
jmp 0x14022e98c
mov ecx, 0x164a2
call fcn.1401f9500
mov r13d, eax
jmp 0x14022e97d
lea r10, [0x140000000]
movsxd rax, esi
mov rsi, qword [rsp + 0x48]
and edx, 0x3f
lea rcx, [rax + rax*2]
mov r9d, dword [r15 + rcx*8 + 8]
mov rax, qword [r15 + rcx*8]
mov rcx, rsi
movzx r8d, byte [rdx + r10 + 0x2e2390]
lea rdx, str.cannot_store__s_value_in__s_column__s._s
shr r9d, 4
and r9d, 0xf
mov qword [rsp + 0x28], rax
mov rax, qword [r14]
dec r9d
mov r8, qword [r10 + r8*8 + 0x34aa90]
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x34a480]
call fcn.14022ad10
mov r15, qword [rsp + 0x58]
mov r13d, 0xc13
jmp 0x14022e987
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
call fcn.14022ad10
mov r13d, 5
mov r14, rdi
mov edi, 1
jmp 0x14022e991
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x140233021
mov r13d, dword [rsp + 0x38]
mov r14, rdi
mov edi, 1
mov byte [r15 + 0x65], 0
jmp 0x14022e991
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
mov r13d, 5
imul rcx
mov r14, rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x30], edx
mov byte [r15 + 0x65], 0
mov dword [rsi + 0x34], r13d
jmp 0x1402330a6
mov r13d, 0x65
mov r14, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rbp - 0x18]
nop
cmp rdi, rbx
jb 0x1402338ec
mov rdx, qword [r15 + 0x208]
test rdx, rdx
je 0x1402338ec
mov eax, dword [r15 + 0x218]
mov rcx, qword [r15 + 0x210]
add rbx, rax
call rdx
test eax, eax
je 0x1402330b0
jmp 0x1402333ed
bt rax, 0x14
mov r13d, 8
mov eax, VariantTimeToDosDateTime
mov r14, rcx
cmovae r13d, eax
lea edi, [rax - 0xa]
jmp 0x14022e996
mov r14, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x50]
cmp r13b, 5
jne 0x1402336eb
mov rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x30], edx
mov dword [rsi + 0x34], r13d
jmp 0x1402330ab
mov rdx, qword [rsi + 0xa8]
test rdx, rdx
je 0x14023315b
mov rcx, r15
call fcn.1401fb370
mov edx, 0x1c
mov rcx, r15
call fcn.1401fb500
test rax, rax
je 0x14023318d
movups xmm0, xmmword [str.database_schema_has_changed]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x1402e8e68]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x1402e8e70]
mov dword [rax + 0x18], ecx
mov qword [rsi + 0xa8], rax
mov rax, r12
movsxd rdx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x58]
cmp dword [rcx], eax
je 0x1402331ba
mov rcx, r15
call fcn.14021ca70
mov eax, dword [rsi + 0xc8]
mov r13d, SafeArrayGetLBound
and eax, 0xffffffed
mov r14, r12
or eax, 1
mov dword [rsi + 0xc8], eax
lea edi, [r13 - 0x10]
jmp 0x14022e991
mov r13d, 0x204
jmp 0x14022e987
mov rcx, qword [rbx + 0x10]
call fcn.1401f1f70
mov r14, qword [rsp + 0x30]
mov edi, 1
lea eax, [rdi + 0xa]
jmp 0x14022e999
lea rax, [0x1402ed2a4]
mov r9d, 0x14eb8
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.14019f7c0
mov r14, qword [rsp + 0x30]
mov eax, VariantTimeToDosDateTime
mov rsi, qword [rsp + 0x48]
mov r13d, eax
lea edi, [rax - 0xa]
jmp 0x14022e996
mov r13d, SafeArrayGetDim
jmp 0x14022e982
mov r13d, 7
jmp 0x14022e97d
mov r15, rcx
mov rsi, qword [rsp + 0x48]
lea rdx, str.string_or_blob_too_big
mov rcx, rsi
call fcn.14022ad10
mov r13d, SafeArrayGetLBound
jmp 0x14022e987
lea rax, [0x1402ed2a4]
mov r13d, 0x30b
mov ecx, r13d
mov qword [rsp + 0x20], rax
mov r9d, 0x1715d
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14019f7c0
mov r14, r12
mov edi, 1
jmp 0x14022e991
mov ecx, 0x1722a
call fcn.1401f9500
mov r13d, eax
jmp 0x14022e987
mov r13d, 6
mov byte [rsi + 0xc2], 2
jmp 0x14022e987
mov rcx, r15
call fcn.14021c9d0
mov rbx, qword [rsp + 0x50]
cmp r13d, 7
je 0x1402333cc
mov r14, qword [rsp + 0x30]
mov edi, 1
lea eax, [rdi + 0xa]
jmp 0x14022e99e
call fcn.14021c9d0
jmp 0x1402333c7
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, rsi
mov r13d, r10d
call fcn.14022ad10
mov r15, qword [rsp + 0x58]
jmp 0x14022e987
mov rcx, rbx
call fcn.1401b5290
mov rsi, qword [rsp + 0x48]
lea rdx, [0x140273c80]
mov rcx, rsi
mov r8, rax
call fcn.14022ad10
jmp 0x14022e987
cmp esi, 5
lea rax, str.into
mov rsi, qword [rsp + 0x48]
lea r8, str.out_of
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, rsi
mov r13d, r10d
call fcn.14022ad10
mov r15, r12
jmp 0x14022e987
mov r14, qword [rsp + 0x30]
cmp r13b, 6
jne 0x14022c218
mov r8, qword [r14 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, rsi
call fcn.14022ad10
mov edi, 1
jmp 0x14022e991
dec dword [r15 + 0xe8]
mov r13d, 6
jmp 0x14022e987
call qword [rdi + 0x38]
mov rbx, qword [rsp + 0x50]
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x140233600
mov r13d, 6
jmp 0x14022e987
mov r14, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov rbx, 0xffffffffffffffff
mov r13d, 9
xor r12d, r12d
lea edi, [r12 + 1]
lea eax, [rdi + 0xa]
jmp 0x14022e99e
movzx eax, cl
cmp ecx, 5
mov ecx, 2
mov r14, r12
cmove eax, ecx
mov byte [rsi + 0xc2], al
lea edi, [rcx - 1]
jmp 0x14022e991
mov eax, dword [rsi + 0x2c]
mov r13, qword [rsp + 0x30]
add eax, 2
or eax, 1
mov dword [rsi + 0x2c], eax
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rsi + 0xa0], rcx
cmp byte [r15 + 0x67], 0
jne 0x1402335fb
test byte [r15 + 0x6e], 4
je 0x140233476
mov rdx, qword [r15 + 0x100]
xor r9d, r9d
mov r8, rsi
lea ecx, [r9 + 4]
call qword [r15 + 0xf8]
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rbx
mov r13d, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [rsi + 0x30], edx
jmp 0x1402330a1
mov r13, qword [rsp + 0x30]
movzx eax, byte [r15 + 0x65]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x14023358d
test ecx, ecx
je 0x1402334d6
mov edx, 0x204
mov rcx, r15
call fcn.14021d470
mov al, 1
jmp 0x14023351c
test ebx, ebx
je 0x1402334fe
cmp dword [r15 + 0xe0], 0
jle 0x1402334fe
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, rsi
call fcn.14022ad10
mov r13d, 5
jmp 0x14022e987
mov edx, r10d
mov rcx, rsi
call fcn.14022a480
mov r13d, eax
test eax, eax
jne 0x1402330a1
mov r13, qword [rsp + 0x30]
movzx eax, bl
mov rcx, rsi
mov byte [r15 + 0x65], al
call fcn.1402345d0
cmp eax, 5
jne 0x14023356d
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
mov r13d, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
mov dword [rsi + 0x30], edx
sub al, bl
mov byte [r15 + 0x65], al
mov dword [rsi + 0x34], r13d
jmp 0x1402330a1
mov rcx, r15
call fcn.1401f6510
cmp dword [rsi + 0x34], 0
mov r13d, 0x65
mov eax, 1
cmovne r13d, eax
jmp 0x1402330a1
test ebx, ebx
jne 0x14023359a
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1402335ae
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
mov rcx, rsi
call fcn.14022ad10
mov edi, 1
mov r13d, edi
jmp 0x14022e98c
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x30]
jmp 0x1402333f4
mov r15, r13
mov rsi, qword [rsp + 0x48]
jmp 0x1402333c7
mov r15, qword [rsp + 0x58]
jmp 0x1402333c7
mov r15, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
xor r11d, r11d
mov rbx, qword [rsp + 0x50]
cmp byte [r15 + 0x67], 0
jne 0x140233659
cmp byte [r15 + 0x68], 0
jne 0x140233659
mov byte [r15 + 0x67], 1
cmp dword [r15 + 0xe4], 0
jle 0x140233624
mov dword [r15 + 0x198], r10d
inc dword [r15 + 0x1a0]
mov word [r15 + 0x1a4], r11w
mov rcx, qword [r15 + 0x160]
test rcx, rcx
je 0x140233659
lea rdx, str.out_of_memory
call fcn.1401fdeb0
mov rax, qword [r15 + 0x160]
mov dword [rax + 0x18], 7
lea rdx, str.out_of_memory
mov rcx, rsi
call fcn.14022ad10
mov r14, qword [rsp + 0x30]
mov r13d, 7
jmp 0x1402333fa
mov r15, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
jmp 0x1402333c7
mov r15, qword [rsp + 0x58]
mov rsi, r12
mov r13d, dword [rsp + 0x38]
jmp 0x14022e987
mov r15, r12
jmp 0x14022e982
mov r13d, dword [rsp + 0x38]
mov r15, rsi
jmp 0x14022e982
mov r13d, dword [rsp + 0x38]
jmp 0x14022e97d
mov r15, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x38]
jmp 0x14022e987
mov rdi, r10
jmp 0x14022e98c
mov rsi, qword [rsp + 0x48]
mov r14, rdi
mov edi, 1
jmp 0x14022e991
mov r14, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x50]
mov eax, VariantTimeToDosDateTime
xor r12d, r12d
lea edi, [rax - 0xa]
jmp 0x14022e99e
cmp r13d, 0x210a
jne 0x140233731
lea rcx, [0x1402ed2a4]
mov r9d, 0x17abe
mov qword [rsp + 0x20], rcx
lea r8, str.database_corruption
mov ecx, eax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14019f7c0
mov r13d, VariantTimeToDosDateTime
cmp qword [rsi + 0xa8], 0
jne 0x1402337b0
cmp r13d, 0xc0a
je 0x1402337b0
mov ecx, r13d
lea r8, str.unknown_error
sub ecx, 0x64
je 0x140233794
sub ecx, 1
je 0x14023378b
cmp ecx, 0x19f
je 0x140233782
movzx eax, r13b
cmp eax, 0x1d
jae 0x14023379b
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x2e5ee0]
test rcx, rcx
je 0x14023379b
mov r8, rcx
jmp 0x14023379b
lea r8, str.abort_due_to_ROLLBACK
jmp 0x14023379b
lea r8, str.no_more_rows_available
jmp 0x14023379b
lea r8, str.another_row_available
lea rdx, [0x140273c80]
mov rcx, rsi
call fcn.14022ad10
mov dword [rsi + 0x34], r13d
jmp 0x1402337bd
mov dword [rsi + 0x34], r13d
cmp r13d, 0xc0a
je 0x1402337ea
movzx eax, r13b
sub eax, 0xa
test eax, 0xfffffffb
jne 0x1402337ea
mov rcx, qword [r15]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x1402337e3
xor r8d, r8d
xor edx, edx
call rax
jmp 0x1402337e6
mov eax, r12d
mov dword [r15 + 0x5c], eax
mov r9, qword [rsi + 0xf8]
mov rcx, r14
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rsi + 0xa8]
mov ecx, r13d
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.14019f7c0
cmp byte [rsi + 0xc5], 2
jne 0x140233840
mov rcx, rsi
call fcn.1402345d0
cmp r13d, 0xc0a
jne 0x1402338a4
cmp byte [r15 + 0x67], 0
jne 0x1402338bf
cmp byte [r15 + 0x68], 0
jne 0x1402338bf
mov byte [r15 + 0x67], 1
cmp dword [r15 + 0xe4], 0
jle 0x14023386d
mov dword [r15 + 0x198], edi
inc dword [r15 + 0x1a0]
mov word [r15 + 0x1a4], r12w
mov rcx, qword [r15 + 0x160]
test rcx, rcx
je 0x1402338bf
lea rdx, str.out_of_memory
call fcn.1401fdeb0
mov rax, qword [r15 + 0x160]
mov dword [rax + 0x18], 7
jmp 0x1402338bf
cmp r13d, 0xb
jne 0x1402338bf
cmp byte [r15 + 0x65], 0
jne 0x1402338bf
movabs rax, 0x200000000
or qword [r15 + 0x30], rax
movzx eax, byte [rsp + 0x6c]
mov r13d, edi
test al, al
je 0x1402330ab
lea edx, [rax - 1]
mov rcx, r15
call fcn.14021ca70
jmp 0x1402330ab
mov r13d, dword [rsp + 0x38]
mov r14, rdi
jmp 0x1402330a6
add dword [rsi + 0xe4], edi
cmp dword [rsi + 0xd0], 0
movaps xmm6, xmmword [rsp + 0x410]
mov r15, qword [rsp + 0x420]
mov r14, qword [rsp + 0x428]
mov r12, qword [rsp + 0x468]
mov rdi, qword [rsp + 0x460]
mov rbx, qword [rsp + 0x458]
je 0x140233933
mov rcx, rsi
call fcn.14024aba0
mov eax, r13d
mov rcx, qword [rbp + 0x308]
xor rcx, rsp
call fcn.1400e6b50
add rsp, 0x430
pop r13
pop rsi
pop rbp
ret