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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x288]
sub rsp, 0x360
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140100070]
xor rax, rsp
mov qword [rbp + 0x230], rax
mov rax, qword [rcx + 0x68]
mov r15, rcx
mov qword [rbp - 0x10], rcx
mov rsi, rax
xor ecx, ecx
mov qword [rsp + 0x38], rax
mov r14d, ecx
mov dword [rsp + 0x30], ecx
mov r12, qword [r15]
mov edi, ecx
mov rbx, qword [r15 + 0x70]
mov byte [rsp + 0x68], cl
mov dword [rbp - 0x74], ecx
mov al, byte [r12 + 0x5e]
mov dword [rbp - 0x68], ecx
mov rcx, r15
mov byte [rsp + 0x34], al
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rbx
call fcn.1400269a4
mov eax, 7
lea r13d, [rax - 6]
cmp dword [r15 + 0x38], eax
je 0x14002c79f
xor r8d, r8d
mov qword [r15 + 0x48], r8
mov qword [r15 + 0x88], r8
mov eax, dword [r12 + 0x158]
mov dword [r12 + 0x230], r8d
test eax, eax
jne 0x14003142a
cmp qword [r12 + 0x1a8], r8
je 0x14002c238
mov r8d, dword [r12 + 0x1b8]
xor edx, edx
mov eax, dword [r15 + 0xe0]
div r8d
sub r8d, edx
mov dword [rbp - 0x40], r8d
xor r8d, r8d
jmp 0x14002c23c
or dword [rbp - 0x40], 0xffffffff
movsxd rax, dword [r15 + 0x34]
mov r10d, 4
mov r9, rsi
mov edx, 0x2460
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea rsi, [rsi + rcx*8]
lea rcx, [0x140000000]
lea r11d, [r10 - 2]
add edi, r13d
mov qword [rsp + 0x78], rsi
mov dword [rbp - 0x68], edi
movzx edi, byte [rsi]
cmp edi, 0xa6
ja case.default.0x14002c28b
mov ecx, dword [rcx + rdi*4 + 0x31450]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
movsxd rax, dword [rsi + 4]
mov rcx, rsi
imul r8, rax, 0x38
sub rcx, r9
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov word [r8 + rbx + 8], r10w
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rbx], rax
jmp 0x14002d55b
movsxd rax, dword [rsi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + rbx]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + rbx + 8], ax
lea rsi, [r9 + rcx*8]
mov edx, 0x2460
lea rcx, [0x140000000]
mov edi, dword [rbp - 0x68]
add rsi, 0x18
jmp 0x14002c264
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov eax, dword [rsi + 0xc]
sub eax, r13d
cdqe
mov qword [rcx + rbx], rax
mov word [rcx + rbx + 8], r10w
cmp dword [rsi + 8], r8d
jne 0x14002ce86
jmp case.0x14002c28b.83
movsxd rax, dword [rsi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + rbx]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
sub eax, r13d
cdqe
jmp 0x14002c2d3
movsxd rax, dword [rsi + 4]
sub rsi, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
movsxd rcx, dword [r8 + rbx]
sar rdx, 2
mov rax, rdx
mov word [r8 + rbx + 8], r10w
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
lea rsi, [r9 + rcx*8]
mov qword [r8 + rbx], rax
xor r8d, r8d
jmp 0x14002c2e5
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rbx + 8], r13b
je case.0x14002c28b.83
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r9
imul rcx
mov ecx, dword [rsi + 4]
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test ecx, ecx
jne 0x140030e1a
mov rdx, qword [r15 + 0x100]
test rdx, rdx
je 0x140030e1a
mov rax, qword [rdx + 8]
mov rcx, rdx
dec dword [r15 + 0x110]
mov qword [r15 + 0x100], rax
mov eax, dword [r15 + 0x3c]
add dword [r12 + 0x78], eax
mov dword [r12 + 0x74], eax
call fcn.140027364
mov r9, qword [r15 + 0x68]
mov r10d, 4
mov qword [rsp + 0x38], r9
cmp dword [rsi + 8], r10d
jne 0x14002c422
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
sub eax, r13d
mov rbx, qword [r15 + 0x70]
xor r8d, r8d
cdqe
mov qword [rsp + 0x40], rbx
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
mov edx, 0x2460
mov r11d, 2
jmp case.0x14002c28b.83
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov rcx, rax
movsxd rax, dword [rsi + 4]
mov qword [rcx], rax
mov r9, qword [rsp + 0x38]
xor r8d, r8d
mov edx, 0x2460
mov r10d, 4
jmp 0x14002c43d
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov rdx, rax
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14002c45d
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov rdx, rax
mov eax, 8
mov word [rdx + 8], ax
jmp 0x14002c480
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov rcx, qword [rsi + 0x10]
xor edx, edx
mov byte [rsi], 0x45
mov rbx, rax
test rcx, rcx
jne 0x14002c4c5
mov eax, edx
jmp 0x14002c4d2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
and eax, 0x3fffffff
xor edx, edx
mov dil, byte [rsp + 0x34]
mov dword [rsi + 4], eax
cmp dil, r13b
je 0x14002c55e
mov qword [rsp + 0x20], rdx
mov r9b, r13b
mov rdx, qword [rsi + 0x10]
or r8d, 0xffffffff
mov rcx, rbx
call fcn.1400251a4
mov r14d, eax
mov dword [rsp + 0x30], eax
mov eax, 2
test byte [rbx + 8], al
je 0x14002c51d
cmp byte [rbx + 0xa], dil
je 0x14002c51d
mov dl, dil
mov rcx, rbx
call fcn.14000ae64
xor ecx, ecx
jmp 0x14002c521
xor ecx, ecx
mov eax, ecx
test eax, eax
jne 0x14002c79f
mov eax, 0x800
mov dword [rbx + 0x20], ecx
or word [rbx + 8], ax
cmp byte [rsi + 1], 0xf9
jne 0x14002c54c
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x14002c54c
mov rcx, r12
call fcn.140009118
mov byte [rsi + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rsi + 4], eax
cmp eax, dword [r12 + 0x7c]
jg 0x1400311bd
mov rbx, qword [rsp + 0x40]
jmp 0x14002c575
mov dil, byte [rsp + 0x34]
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov rdx, rax
xor r8d, r8d
mov eax, 0xa02
mov word [rdx + 8], ax
lea r10d, [r8 + 4]
mov rax, qword [rsi + 0x10]
lea r11d, [r8 + 2]
mov qword [rdx + 0x10], rax
mov eax, dword [rsi + 4]
mov dword [rdx + 0xc], eax
mov byte [rdx + 0xa], dil
cmp dword [rsi + 0xc], r8d
jle 0x14002dda8
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rsi + 2]
cmp qword [rcx + rbx], rax
jne 0x14002dda8
mov eax, 0xa10
mov word [rdx + 8], ax
mov r9, qword [rsp + 0x38]
jmp 0x14002c2e5
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov edi, dword [rsi + 0xc]
mov rcx, rax
mov eax, dword [rsi + 4]
mov edx, dword [rsi + 8]
neg eax
mov eax, 0x100
sbb r12w, r12w
lea rbx, [rcx + 8]
and r12w, ax
xor r8d, r8d
add r12w, r13w
mov dword [rcx + 0xc], r8d
sub edi, edx
mov word [rbx], r12w
test edi, edi
jle 0x140030c8a
mov eax, 0x2460
lea rbx, [rbx + 0x38]
test word [rbx], ax
je 0x14002c640
lea rcx, [rbx - 8]
call fcn.140024a18
xor r8d, r8d
mov eax, 0x2460
jmp 0x14002c644
mov word [rbx], r13w
sub edi, r13d
mov word [rbx], r12w
mov dword [rbx + 4], r8d
test edi, edi
jg 0x14002c624
mov r12, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
jmp 0x14002c465
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov eax, 0xff61
add rcx, rbx
and word [rcx + 8], ax
or word [rcx + 8], r13w
jmp case.0x14002c28b.83
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov r8d, dword [rsi + 4]
mov rbx, rax
mov rdx, qword [rsi + 0x10]
xor eax, eax
mov rcx, rbx
mov qword [rsp + 0x20], rax
xor r9d, r9d
call fcn.1400251a4
mov al, byte [rsp + 0x34]
mov byte [rbx + 0xa], al
mov rbx, qword [rsp + 0x40]
jmp 0x14002c45d
mov eax, dword [rsi + 4]
sub eax, r13d
cdqe
imul rbx, rax, 0x38
add rbx, qword [r15 + 0xa0]
mov rcx, rbx
call fcn.14002500c
test eax, eax
jne 0x1400311bd
movsxd rax, dword [rsi + 8]
mov rdx, rbx
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x40]
mov r8d, 0x800
call fcn.140025070
jmp 0x14002c6b4
movsxd rax, dword [rsi + 4]
mov r12d, dword [rsi + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
add rdi, rbx
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
mov rdx, rdi
mov rcx, rbx
call fcn.140025154
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14002c73c
mov rcx, rbx
call fcn.1400247b8
test eax, eax
jne 0x14002c79a
add rdi, 0x38
add rbx, 0x38
sub r12d, r13d
jne 0x14002c71a
mov r12, qword [rsp + 0x48]
jmp 0x14002c6b4
movsxd rax, dword [rsi + 4]
mov r12d, dword [rsi + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
add rdi, rbx
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
mov r8d, 0x1000
mov rdx, rdi
mov rcx, rbx
call fcn.140025070
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14002c7c1
mov rcx, rbx
call fcn.1400247b8
xor r8d, r8d
test eax, eax
je 0x14002c7c4
mov r12, qword [rsp + 0x48]
mov rcx, r12
call fcn.140009664
lea rdx, [0x1400d8358]
mov rcx, r15
call fcn.140025a64
mov r14d, 7
jmp 0x140030f13
xor r8d, r8d
mov eax, r12d
sub r12d, r13d
test eax, eax
je 0x140030c8a
add rbx, 0x38
add rdi, 0x38
jmp 0x14002c76f
movsxd rax, dword [rsi + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rdx, rbx
add rcx, rbx
mov r8d, 0x1000
call fcn.140025070
jmp 0x14002c45d
movsxd rax, dword [rsi + 8]
imul r8, rax, 0x38
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add r8, rbx
mov rax, qword [rcx + rbx]
test word [r8 + 8], dx
je 0x14002c830
mov rdx, rax
mov rcx, r8
call fcn.140024e84
jmp 0x14002c45d
mov qword [r8], rax
mov word [r8 + 8], r10w
xor r8d, r8d
jmp case.0x14002c28b.83
movsxd rax, dword [rsi + 4]
mov edx, 1
imul r13, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add r13, rbx
add rdi, rbx
imul rbx, rax, 0x38
mov al, byte [r13 + 8]
add rbx, qword [rsp + 0x40]
or al, byte [rdi + 8]
test dl, al
je 0x14002c8a6
mov edx, 0x2460
test word [rbx + 8], dx
je 0x14002c891
mov rcx, rbx
call fcn.140024a18
mov r13d, 1
jmp 0x14002c6b4
mov r13d, 1
mov word [rbx + 8], r13w
mov rbx, qword [rsp + 0x40]
jmp 0x14002c43d
mov ecx, 0x4000
test word [r13 + 8], cx
je 0x14002c8c4
mov rcx, r13
call fcn.140024814
xor r8d, r8d
mov ecx, 0x4000
jmp 0x14002c8c7
mov eax, r8d
test eax, eax
jne 0x14002c79f
test word [rdi + 8], cx
je 0x14002c8e2
mov rcx, rdi
call fcn.140024814
xor r8d, r8d
jmp 0x14002c8e5
mov eax, r8d
test eax, eax
jne 0x14002c79f
test byte [r13 + 8], 0x12
jne 0x14002c90e
mov dl, byte [rsp + 0x34]
xor r8d, r8d
mov rcx, r13
call fcn.140024868
xor r8d, r8d
test eax, eax
jne 0x14002c79f
test byte [rdi + 8], 0x12
jne 0x14002c92e
mov dl, byte [rsp + 0x34]
xor r8d, r8d
mov rcx, rdi
call fcn.140024868
xor r8d, r8d
test eax, eax
jne 0x14002c79f
mov r9, qword [rsp + 0x48]
mov r12d, dword [r13 + 0xc]
add r12d, dword [rdi + 0xc]
cmp r12d, dword [r9 + 0x7c]
jg 0x1400311ba
cmp rbx, rdi
lea edx, [r12 + 2]
mov rcx, rbx
sete r8b
call fcn.14002462c
test eax, eax
jne 0x14002c79a
mov eax, 0x3e00
and word [rbx + 8], ax
mov eax, 2
or word [rbx + 8], ax
cmp rbx, rdi
je 0x14002c98a
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [r13 + 0xc]
mov rdx, qword [r13 + 0x10]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov rax, qword [rbx + 0x10]
xor r8d, r8d
movsxd rcx, r12d
mov byte [rcx + rax], r8b
mov rax, qword [rbx + 0x10]
mov byte [rax + rcx + 1], r8b
mov eax, 0x200
or word [rbx + 8], ax
mov al, byte [rsp + 0x34]
mov byte [rbx + 0xa], al
mov dword [rbx + 0xc], r12d
mov r13d, 1
jmp 0x14002c653
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, rbx
mov rcx, rdi
call fcn.14002c0d0
mov word [rbp - 0x60], ax
movsxd rax, dword [rsi + 8]
imul r12, rax, 0x38
add r12, rbx
mov rcx, r12
call fcn.14002c0d0
movzx ecx, word [r12 + 8]
movzx r13d, ax
movsxd rax, dword [rsi + 0xc]
mov r10d, 4
or cx, word [rdi + 8]
imul rbx, rax, 0x38
mov al, r13b
add rbx, qword [rsp + 0x40]
and al, byte [rbp - 0x60]
test r10b, al
je 0x14002cb4f
movzx ecx, byte [rsi]
mov rdx, qword [r12]
mov r8, qword [rdi]
mov qword [rbp - 0x18], rdx
mov byte [rsp + 0x50], 1
sub ecx, 0x58
je 0x14002cadc
sub ecx, 1
je 0x14002cabb
sub ecx, 1
je 0x14002caad
cmp ecx, 1
je 0x14002ca81
test r8, r8
je 0x14002cc52
cmp r8, 0xffffffffffffffff
lea r13d, [r10 - 3]
mov rax, rdx
cmove r8, r13
cqo
idiv r8
mov qword [rbp - 0x18], rdx
jmp 0x14002cb23
test r8, r8
je 0x14002cc52
cmp r8, 0xffffffffffffffff
jne 0x14002caa3
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14002cb5e
mov rax, rdx
cqo
idiv r8
jmp 0x14002cb19
mov rdx, r8
lea rcx, [rbp - 0x18]
call fcn.14000c4f8
jmp 0x14002cac7
mov rdx, r8
lea rcx, [rbp - 0x18]
call fcn.14000c4c8
xor r8d, r8d
test eax, eax
jne 0x14002cb5e
lea r13d, [r8 + 1]
lea r10d, [r8 + 4]
jmp 0x14002cb26
test r8, r8
js 0x14002cafa
test rdx, rdx
jle 0x14002cb15
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x14002cb15
jmp 0x14002cb5e
test rdx, rdx
jns 0x14002cb15
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jg 0x14002cb5e
lea rax, [rdx + r8]
mov r13d, 1
mov qword [rbp - 0x18], rax
xor r8d, r8d
mov rax, qword [rbp - 0x18]
mov qword [rbx], rax
mov eax, 0x3e00
and word [rbx + 8], ax
or word [rbx + 8], r10w
mov r12, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
jmp 0x14002c438
test cl, 1
jne 0x14002cc52
xor eax, eax
mov byte [rsp + 0x50], al
mov rcx, rdi
call fcn.140024bb0
mov rcx, r12
movaps xmm6, xmm0
call fcn.140024bb0
movzx ecx, byte [rsi]
movaps xmm3, xmm0
sub ecx, 0x58
je 0x14002cbde
sub ecx, 1
je 0x14002cbd8
sub ecx, 1
je 0x14002cbd2
cmp ecx, 1
je 0x14002cbc0
cvttsd2si rcx, xmm6
xor r8d, r8d
cvttsd2si rax, xmm0
mov qword [rbp - 0x18], rax
test rcx, rcx
je 0x14002cc4c
cmp rcx, 0xffffffffffffffff
lea edx, [r8 + 1]
xorps xmm3, xmm3
cmove rcx, rdx
cqo
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x14002cbe5
ucomisd xmm6, xmm7
jp 0x14002cbcc
je 0x14002cc4c
divsd xmm3, xmm6
jmp 0x14002cbe2
mulsd xmm3, xmm6
jmp 0x14002cbe2
subsd xmm3, xmm6
jmp 0x14002cbe2
addsd xmm3, xmm6
xor r8d, r8d
movsd qword [rsp + 0x60], xmm3
movsd xmm0, qword [rsp + 0x60]
movsd qword [rsp + 0x78], xmm0
movsd xmm2, qword [rsp + 0x60]
movsd xmm1, qword [rsp + 0x78]
ucomisd xmm2, xmm1
jp 0x14002cc4c
jne 0x14002cc4c
or r13b, byte [rbp - 0x60]
mov ecx, 8
mov eax, 0x3e00
movsd qword [rbx], xmm3
and word [rbx + 8], ax
or word [rbx + 8], cx
test cl, r13b
jne 0x140030c8a
cmp byte [rsp + 0x50], r8b
jne 0x140030c8a
mov rcx, rbx
call fcn.140024bdc
mov r13d, 1
jmp 0x14002c749
mov r10d, 4
mov edx, 0x2460
test word [rbx + 8], dx
je 0x14002cc67
mov rcx, rbx
call fcn.140024a18
jmp 0x14002cc41
mov r12, qword [rsp + 0x48]
mov r13d, 1
mov r9, qword [rsp + 0x38]
mov word [rbx + 8], r13w
mov rbx, qword [rsp + 0x40]
xor r8d, r8d
jmp 0x14002c43d
cmp dword [rsi + 4], r8d
je case.0x14002c28b.83
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, rbx
test word [rcx + 8], dx
je 0x14002ccab
xor edx, edx
jmp 0x14002c826
mov qword [rcx], r8
mov word [rcx + 8], r10w
jmp case.0x14002c28b.83
mov rdx, qword [rsp + 0x40]
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rbx, rdx
imul r12, rax, 0x38
add rcx, rdx
add r12, rdx
mov al, byte [rcx + 8]
or al, byte [rbx + 8]
test r13b, al
je 0x14002cd18
mov edx, 0x2460
test word [r12 + 8], dx
je 0x14002cd03
mov rcx, r12
call fcn.140024a18
jmp 0x14002c749
mov word [r12 + 8], r13w
mov r12, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
jmp case.0x14002c28b.83
call fcn.140024b58
mov rcx, rbx
mov qword [rbp - 0x58], rax
call fcn.140024b58
mov dil, byte [rsi]
mov rbx, rax
cmp dil, 0x54
jne 0x14002cd3e
and qword [rbp - 0x58], rax
jmp 0x14002cdfd
cmp dil, 0x55
jne 0x14002cd4d
or qword [rbp - 0x58], rbx
jmp 0x14002cdfd
xor r8d, r8d
test rbx, rbx
je 0x14002ce00
jns 0x14002cd7b
mov rcx, rbx
mov eax, 0xad
sub al, dil
neg rcx
mov dil, al
mov rax, rbx
cmp rax, 0xffffffffffffffc0
lea ebx, [r8 + 0x40]
cmovg rbx, rcx
mov eax, 0x40
cmp rbx, rax
jl 0x14002cda0
cmp qword [rbp - 0x58], r8
jge 0x14002cd97
cmp dil, 0x56
je 0x14002cd97
or rax, 0xffffffffffffffff
jmp 0x14002cd9a
mov rax, r8
mov qword [rbp - 0x58], rax
jmp 0x14002ce00
mov r8d, 8
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 8]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov rcx, rbx
cmp dil, 0x56
jne 0x14002cdc3
shl qword [rbp - 8], cl
jmp 0x14002cde9
mov r8, qword [rbp - 8]
xor eax, eax
shr r8, cl
mov qword [rbp - 8], r8
cmp qword [rbp - 0x58], rax
jge 0x14002cde9
or rdx, 0xffffffffffffffff
lea ecx, [rax + 0x40]
sub cl, bl
shl rdx, cl
or rdx, r8
mov qword [rbp - 8], rdx
mov r8d, 8
lea rdx, [rbp - 8]
lea rcx, [rbp - 0x58]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
xor r8d, r8d
mov rax, qword [rbp - 0x58]
mov r10d, 4
mov qword [r12], rax
mov eax, 0x3e00
and word [r12 + 8], ax
or word [r12 + 8], r10w
jmp 0x14002cb3b
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.140024c28
movsxd rax, dword [rsi + 8]
add qword [rbx], rax
jmp 0x14002c6b4
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
movzx eax, word [rbx + 8]
test r10b, al
jne 0x14002ce9a
mov r8b, byte [rsp + 0x34]
mov dl, 0x43
mov rcx, rbx
call fcn.14002bfb4
movzx eax, word [rbx + 8]
mov r10d, 4
test r10b, al
jne 0x14002ce90
xor r8d, r8d
cmp dword [rsi + 8], r8d
je 0x140030edd
mov r9, qword [rsp + 0x38]
jmp 0x14002d55e
mov r9, qword [rsp + 0x38]
mov edx, 0x2460
mov ecx, 0x3e00
and ax, cx
or ax, r10w
mov word [rbx + 8], ax
jmp 0x14002cc7c
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, rbx
test byte [rcx + 8], r10b
je case.0x14002c28b.83
call fcn.140024c50
jmp 0x14002c45d
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, qword [rsp + 0x40]
test word [rbx + 8], ax
je 0x14002cef7
mov rcx, rbx
call fcn.140024814
mov r14d, eax
mov dword [rsp + 0x30], eax
jmp 0x14002ceff
mov r14d, r8d
mov dword [rsp + 0x30], r8d
mov r8b, byte [rsp + 0x34]
mov rcx, rbx
mov dl, byte [rsi + 8]
call fcn.140024d28
xor r8d, r8d
test r14d, r14d
jne 0x140030f33
jmp 0x14002c658
movsxd rax, dword [rsi + 4]
mov ecx, 1
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rdi, rbx
imul r13, rax, 0x38
movzx r12d, word [rdi + 8]
add r13, rbx
movzx ebx, word [r13 + 8]
movzx edx, bx
or dx, r12w
test cl, dl
je 0x14002cfd6
lea eax, [rcx + 0x7f]
test byte [rsi + 2], al
je 0x14002cf7e
mov eax, 0x100
test ax, bx
jne 0x14002cf77
mov al, bl
and al, r12b
test cl, al
je 0x14002cf77
mov eax, r8d
jmp 0x14002d0ed
mov eax, ecx
jmp 0x14002d0ed
test byte [rsi + 2], 0x20
je 0x14002cfb6
movsxd rax, dword [rsi + 8]
mov r13d, 1
mov rbx, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
imul rcx, rax, 0x38
mov eax, 0x3e00
mov dword [rbp - 0x74], r13d
add rcx, rbx
and word [rcx + 8], ax
or word [rcx + 8], r13w
jmp 0x14002c2e5
mov eax, 0x10
mov r13, rcx
test byte [rsi + 2], al
jne 0x14002d55e
mov r12, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
jmp 0x14002c2e5
mov al, byte [rsi + 2]
and al, 0x47
cmp al, 0x43
jb 0x14002d06b
movzx ecx, bx
test r11b, dl
je 0x14002d02f
mov al, r12b
and al, 0xe
cmp al, r11b
jne 0x14002d00e
xor edx, edx
mov rcx, rdi
call fcn.14002bf24
movzx ebx, word [r13 + 8]
mov r10d, 4
lea r11d, [r10 - 2]
mov al, bl
movzx ecx, bx
and al, 0xe
cmp al, r11b
jne 0x14002d02f
xor edx, edx
mov rcx, r13
call fcn.14002bf24
movzx ecx, word [r13 + 8]
mov r10d, 4
and cl, byte [rdi + 8]
test r10b, cl
je 0x14002d0d2
mov rcx, qword [rdi]
xor r8d, r8d
mov r9, qword [rsp + 0x38]
cmp qword [r13], rcx
jle 0x14002d055
lea eax, [r8 + 1]
jmp 0x14002d0ed
cmp qword [r13], rcx
mov eax, r8d
mov edx, 1
setge al
sub eax, edx
jmp 0x14002d0ed
cmp al, 0x42
jne 0x14002d0d2
test r11b, r12b
jne 0x14002d0a6
test r12b, 0xc
je 0x14002d0a6
mov dl, byte [rsp + 0x34]
mov r8b, cl
mov rcx, rdi
call fcn.140024868
movzx eax, r12w
mov ecx, 0x3e00
xor ax, word [rdi + 8]
and ax, cx
mov ecx, 1
xor r12w, ax
lea r11d, [rcx + 1]
test r11b, bl
jne 0x14002d0d2
test bl, 0xc
je 0x14002d0d2
mov dl, byte [rsp + 0x34]
mov r8b, cl
mov rcx, r13
call fcn.140024868
movzx eax, bx
mov ecx, 0x3e00
xor ax, word [r13 + 8]
and ax, cx
xor bx, ax
mov r8, qword [rsi + 0x10]
mov rdx, rdi
mov rcx, r13
call fcn.140028c00
mov r9, qword [rsp + 0x38]
xor r8d, r8d
lea r10d, [r8 + 4]
movzx ecx, byte [rsi]
lea rdx, [0x140000000]
test eax, eax
jns 0x14002d104
mov cl, byte [rcx + rdx + 0xdf940]
jmp 0x14002d116
jne 0x14002d10f
mov cl, byte [rcx + rdx + 0xdcbb4]
jmp 0x14002d116
mov cl, byte [rcx + rdx + 0xdbf54]
mov word [rdi + 8], r12w
mov word [r13 + 8], bx
test byte [rsi + 2], 0x20
movzx edx, cl
je 0x14002d178
mov dword [rbp - 0x74], eax
mov eax, 8
test byte [rsi + 2], al
je 0x14002d147
cmp byte [rsi], 0x35
mov eax, r8d
sete al
cmp eax, edx
je 0x140030ca4
movsxd rax, dword [rsi + 8]
mov r13d, 1
mov rbx, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
imul rcx, rax, 0x38
mov eax, 0x3e00
add rcx, rbx
and word [rcx + 8], ax
or word [rcx + 8], r10w
mov qword [rcx], rdx
jmp 0x14002c438
mov r13d, 1
test cl, cl
jne 0x14002ce86
mov r12, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
jmp 0x14002c438
cmp dword [rbp - 0x74], r8d
jne 0x14002d55e
jmp case.0x14002c28b.83
test byte [rsi + 2], r13b
jne 0x14002d1af
mov rbx, r8
jmp 0x14002d1b6
mov rbx, qword [rsi - 8]
add rbx, r10
movsxd rax, dword [rsi + 0xc]
mov r12d, r8d
mov rcx, qword [rsi + 0x10]
mov rdi, r8
mov r9d, dword [rsi + 4]
mov edx, dword [rsi + 8]
mov qword [rbp], rcx
mov dword [rsp + 0x60], r9d
mov dword [rbp - 0x80], edx
mov qword [rsp + 0x78], rax
test rax, rax
jle 0x140030e06
lea r13, [rcx + 0x20]
test rbx, rbx
je 0x14002d1f4
mov r8d, dword [rbx + rdi*4]
jmp 0x14002d1f7
mov r8d, r12d
mov rax, qword [rcx + 0x18]
mov al, byte [rdi + rax]
mov byte [rsp + 0x50], al
lea eax, [r8 + rdx]
movsxd rcx, eax
lea eax, [r8 + r9]
mov r8, qword [r13]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, qword [rsp + 0x40]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x40]
call fcn.140028c00
mov r8d, eax
mov dword [rbp - 0x74], eax
xor eax, eax
test r8d, r8d
jne 0x14002d265
mov rcx, qword [rbp]
lea eax, [r8 + 1]
mov r9d, dword [rsp + 0x60]
lea r8d, [rax - 1]
mov edx, dword [rbp - 0x80]
add r12d, eax
add rdi, rax
add r13, 8
cmp rdi, qword [rsp + 0x78]
jl 0x14002d1e9
mov r13d, eax
jmp 0x14002c653
mov r10d, 4
mov r12, qword [rsp + 0x48]
lea r11d, [r10 - 2]
cmp byte [rsp + 0x50], al
je 0x140030c9c
mov rbx, qword [rsp + 0x40]
lea r13d, [r10 - 3]
neg r8d
mov dword [rbp - 0x74], r8d
mov r9, qword [rsp + 0x38]
jmp 0x14002c37d
mov r8d, dword [rbp - 0x74]
test r8d, r8d
jns 0x14002d2a6
mov eax, dword [rsi + 4]
jmp 0x14002d2b0
jne 0x14002d2ad
mov eax, dword [rsi + 8]
jmp 0x14002d2b0
mov eax, dword [rsi + 0xc]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rsi, [r9 + rax*8]
jmp 0x14002c838
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, rbx
test byte [rcx + 8], r13b
je 0x14002d2da
mov rbx, r11
xor edi, edi
jmp 0x14002d2e9
call fcn.140024b58
xor edi, edi
test rax, rax
mov ebx, edi
setne bl
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x40]
test byte [rcx + 8], r13b
je 0x14002d307
mov r11d, 2
mov ecx, r11d
jmp 0x14002d31b
call fcn.140024b58
test rax, rax
mov rcx, rdi
mov r11d, 2
setne cl
lea rcx, [rcx + rbx*2]
add rcx, rbx
lea rax, [0x140000000]
cmp byte [rsi], 0x2c
jne 0x14002d337
mov dl, byte [rcx + rax + 0xdc100]
jmp 0x14002d33e
mov dl, byte [rcx + rax + 0xdf968]
movsxd rax, dword [rsi + 0xc]
mov r10d, 4
mov rbx, qword [rsp + 0x40]
imul rcx, rax, 0x38
mov eax, 0x3e00
movzx r8d, word [rcx + rbx + 8]
and r8w, ax
cmp dl, r11b
jne 0x14002d36b
movzx eax, r13w
jmp 0x14002d375
movzx eax, dl
mov qword [rcx + rbx], rax
mov eax, r10d
or ax, r8w
mov word [rcx + rbx + 8], ax
jmp 0x14002d28e
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
add rdi, rbx
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
test word [rbx + 8], dx
je 0x14002d3b1
mov rcx, rbx
call fcn.140024a18
mov r10d, 4
jmp 0x14002d3b6
mov word [rbx + 8], r13w
test byte [rdi + 8], r13b
jne 0x140030c7c
mov rcx, rdi
mov word [rbx + 8], r10w
call fcn.140024b58
xor r8d, r8d
mov ecx, r8d
test rax, rax
sete cl
mov qword [rbx], rcx
jmp 0x14002c658
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
add rdi, rbx
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
test word [rbx + 8], dx
je 0x14002d40f
mov rcx, rbx
call fcn.140024a18
mov r10d, 4
jmp 0x14002d414
mov word [rbx + 8], r13w
test byte [rdi + 8], r13b
jne 0x140030c7c
mov rcx, rdi
mov word [rbx + 8], r10w
call fcn.140024b58
not rax
mov qword [rbx], rax
jmp 0x14002c6b4
mov r8, qword [r15 + 0x100]
test r8, r8
je 0x14002d496
mov r9, qword [r8 + 0x30]
mov rcx, rsi
sub rcx, qword [r15 + 0x68]
movabs rax, 0x2aaaaaaaaaaaaaab
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 0x14002d556
bts eax, edx
mov edx, 0x2460
mov byte [rcx + r9], al
mov rcx, qword [r15 + 0x68]
mov r9, qword [rsp + 0x38]
jmp 0x14002d4a6
mov rcx, qword [r15 + 0x68]
mov eax, dword [rsi + 4]
cmp dword [rcx + 4], eax
je 0x14002d55b
mov eax, dword [rcx + 4]
mov dword [rsi + 4], eax
jmp 0x14002c838
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, rbx
test byte [rcx + 8], r13b
je 0x14002d4c7
mov eax, dword [rsi + 0xc]
jmp 0x14002d4fa
call fcn.140024bb0
ucomisd xmm0, xmm7
jp 0x14002d4d8
jne 0x14002d4d8
xor eax, eax
jmp 0x14002d4db
mov eax, r13d
cmp byte [rsi], 0x16
mov r10d, 4
mov r9, qword [rsp + 0x38]
mov edx, 0x2460
lea r11d, [r10 - 2]
jne 0x14002d4f7
xor eax, r13d
xor r8d, r8d
test eax, eax
jmp 0x14002d199
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
test byte [rcx + rbx + 8], r13b
jmp 0x14002d199
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
test byte [rcx + rbx + 8], r13b
je 0x14002d55e
jmp case.0x14002c28b.83
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r8b
je case.0x14002c28b.83
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, rbx
test word [rcx + 8], dx
je 0x14002d57d
call fcn.140024a18
mov r9, qword [rsp + 0x38]
xor r8d, r8d
mov eax, dword [rsi + 8]
mov r12, qword [rsp + 0x48]
sub eax, r13d
mov rbx, qword [rsp + 0x40]
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp 0x14002c465
mov word [rcx + 8], r13w
jmp 0x14002d55e
movsxd rcx, dword [rsi + 4]
lea rdx, [rbp - 0x78]
mov rax, qword [r15 + 0x98]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0x58], rcx
lea rcx, [rsp + 0x58]
mov eax, dword [rsi + 8]
mov dword [rbp - 0x78], eax
call fcn.140028478
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f33
movsxd rax, dword [rsi + 0xc]
mov r8, qword [rsp + 0x58]
imul rdi, rax, 0x38
mov eax, dword [r15 + 0x30]
add rdi, rbx
mov rbx, qword [r8 + 0x60]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x78], rdi
cmp dword [r8 + 0x28], eax
je 0x14002d74b
xor eax, eax
cmp byte [r8 + 2], al
je 0x14002d65a
cmp byte [r8], 3
jne 0x14002d62b
movsxd rax, dword [r8 + 0x2c]
mov r11, qword [rsp + 0x40]
imul rdx, rax, 0x38
mov ecx, dword [rdx + r11 + 0xc]
mov dword [r8 + 0x74], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + r11 + 0x10]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0x58]
jmp 0x14002d6a3
mov edx, 0x2460
test word [rdi + 8], dx
je 0x14002d643
mov rcx, rdi
call fcn.140024a18
jmp 0x14002c6b4
mov rbx, qword [rsp + 0x40]
xor r8d, r8d
mov r9, qword [rsp + 0x38]
mov word [rdi + 8], r13w
jmp 0x14002c46a
mov rbx, qword [r8 + 0x38]
mov rcx, rbx
call fcn.14001d368
mov ecx, dword [rbx + 0x38]
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x70], ecx
mov rcx, rbx
mov rdx, qword [rsp + 0x58]
add rdx, 0x74
call fcn.14001d874
mov rcx, qword [rsp + 0x58]
mov qword [rcx + 0x68], rax
mov rcx, qword [rsp + 0x58]
mov eax, dword [r12 + 0x7c]
cmp dword [rcx + 0x70], eax
ja 0x1400311bd
mov rbx, qword [rsp + 0x60]
mov eax, dword [r15 + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x68]
mov eax, 0x80
cmp byte [rcx], al
jae 0x14002d6c6
movzx eax, byte [rcx]
mov dword [rbx], eax
mov al, r13b
jmp 0x14002d6ce
mov rdx, rbx
call fcn.14000c2b8
movzx ecx, al
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x48], ecx
xor ecx, ecx
mov rax, qword [rsp + 0x58]
mov word [rax + 0x52], cx
mov r8, qword [rsp + 0x58]
mov eax, dword [rbx]
cmp dword [r8 + 0x74], eax
jae 0x14002d745
mov qword [r8 + 0x68], rcx
xor r8d, r8d
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x74], r8d
mov eax, dword [rbx]
cmp eax, 0x18003
ja 0x14002d718
mov r8, qword [rsp + 0x58]
cmp eax, dword [r8 + 0x70]
jbe 0x14002d74b
xor r8d, r8d
mov edx, 0x2460
mov r9, qword [rsp + 0x38]
mov eax, dword [r9 + 0xc]
test eax, eax
jle 0x140030ee5
mov rbx, qword [rsp + 0x40]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rsi, [r9 + rax*8]
jmp 0x14002c46a
mov rcx, qword [r8 + 0x68]
jmp 0x14002d7c3
movzx eax, word [r8 + 0x52]
movsxd r9, dword [rbp - 0x78]
cmp eax, r9d
jg 0x14002d978
mov eax, dword [rbx]
cmp dword [r8 + 0x48], eax
jae 0x14002d950
mov rcx, qword [r8 + 0x68]
xor edx, edx
mov qword [rbp - 0x80], rcx
test rcx, rcx
jne 0x14002d7c7
lea r8d, [rcx + 0x38]
lea rcx, [rbp + 0x110]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov rcx, qword [rsp + 0x58]
lea r9, [rbp + 0x110]
mov r8d, dword [rbx]
xor edx, edx
mov rcx, qword [rcx + 0x38]
call fcn.140025478
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f33
mov rcx, qword [rbp + 0x120]
mov eax, dword [rbx]
mov r8, qword [rsp + 0x58]
mov qword [rbp - 0x80], rcx
movzx r13d, word [r8 + 0x52]
lea rdi, [0x140000000]
mov r15d, 1
mov r12d, eax
mov r9d, dword [rbx + r13*4]
mov ebx, dword [r8 + 0x48]
lea r14d, [r15 + 0x7f]
add rbx, rcx
mov qword [rbp - 0x70], r9
add r12, rcx
movzx ecx, byte [rbx]
mov dword [rsp + 0x6c], ecx
cmp ecx, r14d
jae 0x14002d80b
movzx edx, byte [rcx + rdi + 0xdd830]
add rbx, r15
jmp 0x14002d841
lea rdx, [rsp + 0x6c]
mov rcx, rbx
call fcn.14000c2b8
mov ecx, dword [rsp + 0x6c]
movzx eax, al
add rbx, rax
cmp ecx, r14d
jb 0x14002d82e
lea eax, [rcx - 0xc]
shr eax, 1
jmp 0x14002d836
movzx eax, byte [rcx + rdi + 0xdd830]
mov r8, qword [rsp + 0x58]
mov r9, qword [rbp - 0x70]
mov edx, eax
add r9, rdx
movsxd rax, r13d
mov rdx, qword [rsp + 0x60]
add r13d, r15d
mov qword [rbp - 0x70], r9
mov dword [r8 + rax*4 + 0x78], ecx
movsxd rax, r13d
mov dword [rdx + rax*4], r9d
cmp r13d, dword [rbp - 0x78]
jg 0x14002d871
cmp rbx, r12
jae 0x14002d871
mov r8, qword [rsp + 0x58]
jmp 0x14002d7f2
mov rcx, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x30]
mov r15, qword [rbp - 0x10]
mov rdi, qword [rsp + 0x78]
cmp rbx, r12
jb 0x14002d893
ja 0x14002d89b
mov eax, dword [rcx + 0x70]
cmp r9, rax
jne 0x14002d89b
mov eax, dword [rcx + 0x70]
cmp r9, rax
jbe 0x14002d8a9
xor r8d, r8d
cmp dword [rdx], r8d
jne 0x14002d907
mov r13d, r8d
mov rbx, r12
sub ebx, dword [rbp - 0x80]
mov word [rcx + 0x52], r13w
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x48], ebx
xor eax, eax
mov r8, qword [rsp + 0x58]
cmp qword [r8 + 0x68], rax
jne 0x14002d8ed
mov ecx, 0x2460
test word [rbp + 0x118], cx
jne 0x14002d8dc
cmp dword [rbp + 0x130], eax
je 0x14002d8ed
lea rcx, [rbp + 0x110]
call fcn.140024a94
mov r8, qword [rsp + 0x58]
mov r9d, dword [rbp - 0x78]
mov r13d, 1
mov edx, dword [rsp + 0x6c]
mov rbx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x48]
jmp 0x14002d958
mov edx, 0x2460
cmp qword [rcx + 0x68], r8
jne 0x14002d940
test word [rbp + 0x118], dx
jne 0x14002d924
cmp dword [rbp + 0x130], r8d
je 0x14002d940
lea rcx, [rbp + 0x110]
call fcn.140024a94
mov r12, qword [rsp + 0x48]
mov r13d, 1
jmp 0x14002d715
mov r12, qword [rsp + 0x48]
mov r13d, 1
jmp 0x14002d71d
xor eax, eax
mov edx, eax
mov dword [rsp + 0x6c], eax
movzx eax, word [r8 + 0x52]
cmp eax, r9d
jg 0x14002d981
cmp byte [rsi + 1], 0xf5
jne 0x14002d62b
mov rdx, qword [rsi + 0x10]
mov rcx, rdi
jmp 0x14002c6f1
mov edx, dword [r8 + r9*4 + 0x78]
mov dword [rsp + 0x6c], edx
mov eax, 0x2460
test word [rdi + 8], ax
je 0x14002d9a1
mov rcx, rdi
call fcn.140024a18
mov r8, qword [rsp + 0x58]
mov r9d, dword [rbp - 0x78]
mov edx, dword [rsp + 0x6c]
lea eax, [r9 + 1]
movsxd rcx, eax
mov eax, dword [rbx + rcx*4]
cmp dword [r8 + 0x74], eax
jb 0x14002da6d
movsxd rax, r9d
mov r12d, dword [rbx + rax*4]
add r12, qword [r8 + 0x68]
cmp edx, 0xc
jae 0x14002d9d5
mov r8, rdi
mov rcx, r12
call fcn.1400286f4
jmp 0x14002c749
mov al, byte [rsp + 0x34]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [rdi + 0xc], ebx
mov byte [rdi + 0xa], al
lea edx, [rbx + 2]
cmp dword [rdi + 0x20], edx
jge 0x14002da0a
xor r8d, r8d
mov word [rdi + 8], r13w
mov rcx, rdi
call fcn.14002462c
test eax, eax
jne 0x14002c79a
mov rcx, qword [rdi + 0x10]
jmp 0x14002da12
mov rcx, qword [rdi + 0x18]
mov qword [rdi + 0x10], rcx
mov r8d, ebx
mov rdx, r12
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov rax, qword [rdi + 0x10]
lea rcx, [0x140000000]
mov r12, qword [rsp + 0x48]
xor r8d, r8d
mov r9, qword [rsp + 0x38]
mov edx, 0x2460
mov byte [rbx + rax], r8b
mov rax, qword [rdi + 0x10]
lea r10d, [r8 + 4]
lea r11d, [r8 + 2]
mov byte [rbx + rax + 1], r8b
mov eax, dword [rsp + 0x6c]
mov rbx, qword [rsp + 0x40]
and rax, r13
movzx eax, word [rcx + rax*2 + 0xdc814]
mov word [rdi + 8], ax
jmp case.default.0x14002c28b
mov al, byte [rsp + 0x34]
mov byte [rdi + 0xa], al
test byte [rsi + 2], 0xc0
mov edx, dword [rsp + 0x6c]
je 0x14002da94
cmp edx, 0xc
jb 0x14002da88
test r13b, dl
je 0x14002dabb
mov eax, 0x80
test byte [rsi + 2], al
jne 0x14002dabb
jmp 0x14002da99
mov eax, 0x80
cmp edx, eax
jb 0x14002daa6
lea r8d, [rdx - 0xc]
shr r8d, 1
jmp 0x14002dab6
lea rcx, [0x140000000]
movzx r8d, byte [rdx + rcx + 0xdd830]
test r8d, r8d
jne 0x14002dacf
mov r8, rdi
lea rcx, [0x140104988]
call fcn.1400286f4
jmp 0x14002c6b4
movsxd rax, dword [rbp - 0x78]
mov r9, rdi
mov rcx, qword [rsp + 0x58]
mov edx, dword [rbx + rax*4]
mov rcx, qword [rcx + 0x38]
call fcn.140025478
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f33
mov edx, dword [rsp + 0x6c]
mov r8, rdi
mov rcx, qword [rdi + 0x10]
call fcn.1400286f4
mov eax, 0xefff
and word [rdi + 8], ax
jmp 0x14002c6b4
movsxd rax, dword [rsi + 4]
mov rdi, qword [rsi + 0x10]
mov r15b, byte [rsp + 0x34]
imul rbx, rax, 0x38
mov al, byte [rdi]
add rbx, qword [rsp + 0x40]
mov r8b, r15b
mov dl, al
mov rcx, rbx
call fcn.14002bfb4
add rdi, r13
add rbx, 0x38
xor r8d, r8d
mov al, byte [rdi]
test al, al
jne 0x14002db2f
mov r15, qword [rbp - 0x10]
jmp 0x14002c658
movsxd rax, dword [rsi + 4]
mov edi, r8d
mov rbx, qword [rsi + 0x10]
imul rcx, rax, 0x38
mov eax, dword [rsi + 8]
add rcx, qword [rsp + 0x40]
sub eax, r13d
movzx r13d, byte [r15 + 0xbf]
cdqe
imul rax, rax, 0x38
mov qword [rbp - 0x70], r8
add rax, rcx
mov qword [rbp - 0x80], r8
mov qword [rbp + 0x40], rax
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
mov qword [rbp - 0x60], rcx
add rax, qword [rsp + 0x40]
mov dword [rsp + 0x60], r13d
mov qword [rbp], rax
test rbx, rbx
je 0x14002dbd8
mov al, byte [rbx]
mov r12, rcx
mov r13b, byte [rsp + 0x34]
mov r8b, r13b
mov dl, al
mov rcx, r12
call fcn.14002bfb4
inc rbx
add r12, 0x38
mov al, byte [rbx]
test al, al
jne 0x14002dbb5
mov r15, qword [rbp - 0x10]
mov r13d, dword [rsp + 0x60]
mov rbx, qword [rbp + 0x40]
lea r8, [rbp - 0x30]
mov edx, r13d
mov rcx, rbx
call fcn.1400284c0
mov r12d, eax
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14002dc05
xor r9d, r9d
test r12d, r12d
jne 0x14002dc1d
lea r12d, [r9 + 0xa]
mov r8, qword [rbp - 0x80]
mov eax, dword [rbp - 0x30]
add qword [rbp - 0x70], rax
cmp r12d, 0x7f
ja 0x14002dc48
mov ecx, 1
jmp 0x14002dc5f
cmp qword [rbp - 0x70], r9
je 0x14002dc35
mov rcx, rbx
call fcn.140024814
test eax, eax
jne 0x14002c79a
jmp 0x14002dc05
movsxd rcx, dword [rbx]
mov r8, qword [rbp - 0x80]
add r8, rcx
sub dword [rbp - 0x30], ecx
mov qword [rbp - 0x80], r8
jmp 0x14002dc09
mov edx, 1
mov eax, r12d
mov ecx, edx
jmp 0x14002dc56
add ecx, edx
shr rax, 7
test rax, rax
jne 0x14002dc54
add edi, ecx
mov dword [rbx + 0x24], r12d
cmp rbx, qword [rbp - 0x60]
je 0x14002dc74
sub rbx, 0x38
jmp 0x14002dbdc
mov r13d, 1
cmp edi, 0x7e
jle 0x14002dcad
mov edx, r13d
movsxd rax, edi
jmp 0x14002dc8a
add edx, r13d
shr rax, 7
test rax, rax
jne 0x14002dc87
add edi, edx
mov ecx, r13d
movsxd rax, edi
jmp 0x14002dca0
add ecx, r13d
shr rax, 7
test rax, rax
jne 0x14002dc9d
cmp edx, ecx
jge 0x14002dcb0
add edi, r13d
mov rdx, qword [rbp - 0x70]
mov r12, qword [rsp + 0x48]
movsxd rbx, edi
add rdx, rbx
mov qword [rsp + 0x60], rdx
movsxd rax, dword [r12 + 0x7c]
lea rcx, [rdx + r8]
cmp rcx, rax
jg 0x1400311bd
mov r12, qword [rbp]
mov rcx, r12
call fcn.140024748
test eax, eax
jne 0x14002c79a
mov r12, qword [r12 + 0x10]
mov edx, 0x80
cmp edi, edx
jae 0x14002dd01
mov byte [r12], dil
mov eax, r13d
jmp 0x14002dd11
mov rdx, rbx
mov rcx, r12
call fcn.14000c0c4
mov edx, 0x80
mov r15, qword [rbp - 0x60]
mov rsi, qword [rbp + 0x40]
movzx r13d, al
mov ebx, dword [r15 + 0x24]
movsxd rcx, r13d
add rcx, r12
cmp ebx, edx
jae 0x14002dd34
mov byte [rcx], bl
mov eax, 1
jmp 0x14002dd3c
mov rdx, rbx
call fcn.14000c0c4
movzx eax, al
mov r8d, ebx
movsxd rcx, edi
mov rdx, r15
add rcx, r12
add r13d, eax
call fcn.140028594
add edi, eax
add r15, 0x38
mov edx, 0x80
cmp r15, rsi
jbe 0x14002dd1d
mov rax, qword [rsp + 0x60]
lea r10d, [rdx - 0x7c]
mov rcx, qword [rbp]
lea r11d, [rdx - 0x7e]
mov rsi, qword [rsp + 0x78]
xor r8d, r8d
mov r14d, dword [rsp + 0x30]
mov r15, qword [rbp - 0x10]
mov r12, qword [rsp + 0x48]
mov dword [rcx + 0xc], eax
lea eax, [rdx - 0x70]
mov word [rcx + 8], ax
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x14002dda8
mov dword [rcx], eax
mov eax, 0x4010
mov word [rcx + 8], ax
mov r13d, 1
mov rbx, qword [rsp + 0x40]
jmp 0x14002c5d2
movsxd rcx, dword [rsi + 4]
lea rdx, [rbp + 0x48]
mov rax, qword [r15 + 0x98]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
mov qword [rbp + 0x48], r8
call fcn.140022888
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f33
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov rcx, qword [rbp + 0x48]
mov qword [rax], rcx
jmp 0x14002c45d
mov ebx, dword [rsi + 4]
mov r12, qword [rsi + 0x10]
mov dword [rbp - 0x60], ebx
test ebx, ebx
jne 0x14002def3
mov rbx, qword [rsp + 0x48]
cmp dword [rbx + 0xc0], r8d
jg 0x140030f18
test r12, r12
jne 0x14002de2f
mov edi, r8d
jmp 0x14002de41
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
mov rdi, rax
and edi, 0x3fffffff
mov r8d, dword [rbx + 0x288]
xor edx, edx
add r8d, dword [rbx + 0x284]
mov rcx, rbx
call fcn.1400605e8
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f30
mov edx, edi
mov rcx, rbx
add rdx, 0x21
call fcn.1400093d8
xor r8d, r8d
mov rbx, rax
test rax, rax
je 0x140030c8a
lea r9, [rax + 0x20]
mov rdx, r12
mov rcx, r9
mov qword [rax], r9
lea r8d, [rdi + 1]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov r12, qword [rsp + 0x48]
xor r8d, r8d
cmp byte [r12 + 0x5f], r8b
je 0x14002deba
mov byte [r12 + 0x5f], r8b
mov byte [r12 + 0x67], r13b
jmp 0x14002dec2
add dword [r12 + 0x284], r13d
mov rax, qword [r12 + 0x278]
mov qword [rbx + 0x18], rax
mov rax, qword [r12 + 0x290]
mov qword [r12 + 0x278], rbx
mov qword [rbx + 8], rax
mov rax, qword [r12 + 0x298]
mov qword [rbx + 0x10], rax
jmp 0x14002c658
mov r9, qword [rsp + 0x48]
mov edi, r8d
mov r13, qword [r9 + 0x278]
test r13, r13
je 0x140031090
mov rcx, qword [r13]
mov rdx, r12
call fcn.14000b6fc
test eax, eax
je 0x14002df26
mov r13, qword [r13 + 0x18]
inc edi
test r13, r13
jne 0x14002df0b
mov r15, qword [rbp - 0x10]
mov ebx, dword [rbp - 0x60]
test r13, r13
je 0x140031090
mov r12, qword [rsp + 0x48]
mov r8d, 1
xor r10d, r10d
cmp ebx, r8d
jne 0x14002df57
cmp dword [r12 + 0xc0], r10d
jg 0x14003104d
cmp qword [r13 + 0x18], r10
jne 0x14002dfbf
cmp byte [r12 + 0x67], r10b
je 0x14002dfbf
mov dword [rsp + 0x60], r8d
mov r12d, r8d
cmp ebx, r8d
jne 0x14002dfc4
mov edx, r8d
mov rcx, r15
call fcn.140027c9c
xor r8d, r8d
mov r14d, eax
test eax, eax
jne 0x140030ff5
mov r14, qword [rsp + 0x48]
mov rcx, r15
mov byte [r14 + 0x5f], r12b
call fcn.140027cec
mov ecx, 5
cmp eax, ecx
je 0x140031059
xor eax, eax
mov r9, r14
mov byte [r14 + 0x67], al
mov r14d, dword [r15 + 0x38]
mov dword [rsp + 0x30], r14d
jmp 0x14002e0d7
mov dword [rsp + 0x60], r10d
mov r9, qword [rsp + 0x48]
mov ecx, 2
mov edx, dword [r9 + 0x284]
mov eax, dword [r9 + 0x28]
sub edx, edi
sub edx, r8d
mov dword [rbp - 0x70], edx
cmp ebx, ecx
jne 0x14002e04a
mov ecx, dword [r9 + 0x2c]
mov r12d, r10d
and ecx, r8d
mov dword [rbp - 0x80], ecx
test eax, eax
jle 0x14002e050
mov edi, ecx
mov rbx, r10
xor edi, r8d
mov rcx, qword [r9 + 0x20]
mov r8d, edi
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.14001cdd8
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x14002ee07
mov r9, qword [rsp + 0x48]
lea r8d, [rax + 1]
add r12d, r8d
add rbx, 0x20
mov eax, dword [r9 + 0x28]
cmp r12d, eax
jl 0x14002dffe
mov ecx, dword [rbp - 0x80]
xor r10d, r10d
mov edx, dword [rbp - 0x70]
jmp 0x14002e050
mov ecx, r10d
mov dword [rbp - 0x80], ecx
mov edi, r10d
test eax, eax
jle 0x14002e0a0
mov r12d, dword [rbp - 0x60]
mov rbx, r10
mov rcx, qword [r9 + 0x20]
mov r8d, edx
mov edx, r12d
mov rcx, qword [rbx + rcx + 8]
call fcn.14001d07c
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x14002ee07
mov r9, qword [rsp + 0x48]
lea r8d, [rax + 1]
mov edx, dword [rbp - 0x70]
add edi, r8d
add rbx, 0x20
cmp edi, dword [r9 + 0x28]
jl 0x14002e05e
mov ecx, dword [rbp - 0x80]
test ecx, ecx
je 0x14002e0cc
mov rax, qword [r9 + 8]
jmp 0x14002e0b5
or dword [rax + 0xc4], r8d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14002e0aa
mov rcx, r9
call fcn.140040850
mov r9, qword [rsp + 0x48]
or dword [r9 + 0x2c], 1
mov r12d, dword [rsp + 0x60]
mov edi, dword [rbp - 0x70]
mov ebx, dword [rbp - 0x60]
mov rcx, qword [r9 + 0x278]
jmp 0x14002e109
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r9
mov qword [r9 + 0x278], rax
call fcn.140009118
mov r9, qword [rsp + 0x48]
mov rcx, qword [r9 + 0x278]
dec dword [r9 + 0x284]
cmp rcx, r13
jne 0x14002e0e0
cmp ebx, 1
jne 0x14002e140
mov rax, qword [r13 + 0x18]
mov rdx, r13
mov rcx, r9
mov qword [r9 + 0x278], rax
call fcn.140009118
xor r8d, r8d
test r12d, r12d
mov r12, qword [rsp + 0x48]
jne 0x14002e18b
dec dword [r12 + 0x284]
jmp 0x14002e16c
mov rax, qword [r13 + 8]
xor r8d, r8d
mov qword [r9 + 0x290], rax
test r12d, r12d
mov rax, qword [r13 + 0x10]
mov r12, qword [rsp + 0x48]
mov qword [r9 + 0x298], rax
je 0x14002e16c
lea r11d, [r8 + 2]
cmp ebx, r11d
jne 0x14002e191
mov r8d, edi
mov edx, ebx
mov rcx, r12
call fcn.1400605e8
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f33
mov r11d, 2
test r14d, r14d
jne 0x140030f33
lea r13d, [r14 + 1]
mov r9, qword [rsp + 0x38]
mov edx, 0x2460
mov rbx, qword [rsp + 0x40]
mov r10d, 4
jmp case.0x14002c28b.83
mov edx, dword [rsi + 8]
test edx, edx
je 0x14002e1ce
test dword [r12 + 0x30], 0x100000
jne 0x1400310aa
movsxd rcx, dword [rsi + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x14002e2bf
mov rcx, rbx
call fcn.14001bb44
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x1400310b5
cmp dword [rsi + 8], r8d
je 0x14002e293
lea eax, [r14 + 0x40]
test byte [r15 + 0xc4], al
je 0x14002e293
cmp byte [r12 + 0x5f], r8b
je 0x14002e22b
cmp dword [r12 + 0xbc], r13d
jle 0x14002e293
mov r8d, dword [r15 + 0x40]
test r8d, r8d
jne 0x14002e250
add dword [r12 + 0x288], r13d
mov r8d, dword [r12 + 0x284]
add r8d, dword [r12 + 0x288]
mov dword [r15 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r12
call fcn.1400605e8
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x14002e27b
mov edx, dword [r15 + 0x40]
mov rcx, rbx
call fcn.14001d00c
mov r14d, eax
mov dword [rsp + 0x30], eax
mov rax, qword [r12 + 0x290]
mov qword [r15 + 0x58], rax
mov rax, qword [r12 + 0x298]
mov qword [r15 + 0x60], rax
lea r8, [rbp - 0x2c]
mov edx, r13d
mov rcx, rbx
call fcn.140022738
mov rax, qword [r12 + 0x20]
movsxd rcx, dword [rsi + 4]
shl rcx, 5
xor r8d, r8d
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x2c]
mov edx, dword [rcx + 4]
jmp 0x14002e2c8
mov eax, r8d
mov edx, r8d
mov dword [rbp - 0x2c], eax
cmp word [rsi + 2], r8w
je 0x14002cf12
cmp eax, dword [rsi + 0xc]
jne 0x14002e2e1
cmp edx, dword [rsi + 0x10]
je 0x14002cf12
mov rdx, qword [r15 + 0x90]
test rdx, rdx
je 0x14002e2f5
mov rcx, r12
call fcn.140009118
lea rdx, str.database_schema_has_changed
mov rcx, r12
call fcn.140009554
mov qword [r15 + 0x90], rax
mov rax, qword [r12 + 0x20]
movsxd rdx, dword [rsi + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x2c]
cmp dword [rcx], eax
je 0x14002e32f
mov rcx, r12
call fcn.1400407d8
or dword [r15 + 0xc4], r13d
mov r14d, 0x11
mov dword [rsp + 0x30], r14d
jmp 0x14002cf0f
movsxd rax, dword [rsi + 4]
lea r8, [rbp + 0x28]
mov rcx, qword [r12 + 0x20]
mov edx, dword [rsi + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140022738
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
movsxd rcx, dword [rbp + 0x28]
jmp 0x14002ddf9
movsxd rbx, dword [rsi + 4]
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 8]
shl rbx, 5
add rbx, qword [r12 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.1400227d8
mov r14d, eax
mov dword [rsp + 0x30], eax
mov r11d, 2
cmp dword [rsi + 8], r13d
jne 0x14002e3b8
mov rcx, qword [rbx + 0x18]
mov eax, dword [rsi + 0xc]
mov dword [rcx], eax
or dword [r12 + 0x2c], r13d
jmp 0x14002e3c8
cmp dword [rsi + 8], r11d
jne 0x14002e3c8
mov rcx, qword [rbx + 0x18]
mov al, byte [rsi + 0xc]
mov byte [rcx + 0x70], al
xor r8d, r8d
cmp dword [rsi + 4], r13d
jne 0x14002e3f0
mov rax, qword [r12 + 8]
jmp 0x14002e3e3
or dword [rax + 0xc4], r13d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14002e3d8
and dword [r15 + 0xc4], 0xfffffffe
test r14d, r14d
jne 0x140030f33
jmp 0x14002e19e
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je case.0x14002c28b.105
mov eax, dword [rsi + 8]
cmp dword [rbx + 0x4c], eax
je 0x14002e54c
test byte [r15 + 0xc4], r13b
jne 0x1400310f0
movsxd rdx, dword [rsi + 0xc]
mov r14d, r8d
mov r9, qword [rsp + 0x48]
mov rax, rdx
movsxd r13, dword [rsi + 8]
mov r12, r8
shl rax, 5
mov dword [rsp + 0x60], edx
add rax, qword [r9 + 0x20]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x78], rcx
cmp dil, 0x6a
jne 0x14002e483
mov rax, qword [rax + 0x18]
mov ecx, 8
movzx edi, word [rsi + 2]
and edi, ecx
or edi, r10d
mov cl, byte [rax + 0x70]
cmp cl, byte [r15 + 0xbf]
jae 0x14002e486
mov byte [r15 + 0xbf], cl
jmp 0x14002e486
mov edi, r8d
mov eax, 0x10
test byte [rsi + 2], al
je 0x14002e4ae
imul rbx, r13, 0x38
mov rax, r13
add rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.140024c28
mov edx, dword [rsp + 0x60]
xor r8d, r8d
mov r13d, dword [rbx]
mov al, byte [rsi + 1]
cmp al, 0xf7
jne 0x14002e4c1
mov r12, qword [rsi + 0x10]
movzx r14d, word [r12 + 8]
jmp 0x14002e4c9
cmp al, 0xfd
jne 0x14002e4c9
mov r14d, dword [rsi + 0x10]
mov byte [rsp + 0x20], r8b
mov r9d, edx
mov edx, dword [rsi + 4]
mov r8d, r14d
mov rcx, r15
call fcn.14002be04
mov rbx, rax
test rax, rax
je 0x14002c79a
mov ecx, 4
mov byte [rax + 2], 1
or dword [rax + 8], ecx
mov r9, r12
mov rcx, qword [rax + 0x38]
mov r8d, edi
mov qword [rsp + 0x20], rcx
mov edx, r13d
mov rcx, qword [rsp + 0x78]
mov dword [rax + 0x4c], r13d
call fcn.14001d160
mov r9, qword [rsp + 0x38]
mov r13d, 1
mov qword [rbx + 0x40], r12
mov r14d, eax
cmp byte [rsi + 1], 0xf7
mov edx, 0x2460
mov r12, qword [rsp + 0x48]
mov dword [rsp + 0x30], eax
lea r10d, [r13 + 3]
setne al
lea r11d, [r13 + 1]
mov byte [rbx + 4], al
xor r8d, r8d
mov cl, byte [rsi + 2]
mov rax, qword [rbx + 0x38]
and cl, 3
mov byte [rax + 3], cl
test r14d, r14d
jne 0x140030f33
jmp 0x14002cd0e
movsxd rcx, dword [rsi + 8]
xor edi, edi
mov rax, qword [r15 + 0x98]
or r9d, 0xffffffff
mov edx, dword [rsi + 4]
mov byte [rsp + 0x20], dil
mov rbx, qword [rax + rcx*8]
mov rcx, r15
movsx r8d, word [rbx + 0x50]
call fcn.14002be04
test rax, rax
je 0x14002c79f
or dword [rax + 8], r13d
lea r8d, [rdi + 4]
mov byte [rax + 2], r13b
mov edx, r13d
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
mov cl, byte [rbx + 4]
mov byte [rax + 4], cl
mov rax, qword [rax + 0x38]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14001d160
mov r14d, eax
mov dword [rsp + 0x30], eax
jmp 0x14002c6b4
mov edx, dword [rsi + 4]
or r9d, 0xffffffff
mov byte [rsp + 0x20], r8b
mov rcx, r15
mov r8d, dword [rsi + 8]
call fcn.14002be04
mov r13, rax
test rax, rax
je 0x14002c79f
lea rbx, [rax + 8]
mov dword [rsp + 0x28], 0x41e
lea r12, [rax + 0x10]
mov qword [rbp], rbx
mov edi, 1
mov r9, r12
or dword [rbx], edi
xor edx, edx
mov byte [rax + 2], dil
movzx ecx, word [rsi + 2]
mov rax, qword [rsp + 0x48]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov r8, rax
mov rcx, qword [rax]
call fcn.14001a864
xor r8d, r8d
mov r14d, eax
test eax, eax
jne 0x14002ee07
mov rcx, qword [r12]
mov edx, edi
call fcn.14001bb44
xor r8d, r8d
mov r14d, eax
test eax, eax
jne 0x14002ee07
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x78], rax
mov qword [r13 + 0x40], rax
test rax, rax
je 0x14002e6db
mov rdi, qword [r12]
movzx ebx, word [rsi + 2]
mov rcx, rdi
or ebx, 2
call fcn.140018e48
mov r8d, ebx
lea rdx, [rbp + 0x24]
mov rcx, rdi
call fcn.140021fe4
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov r14d, eax
call fcn.140018f0c
xor r8d, r8d
test r14d, r14d
jne 0x14002e6d2
mov rax, qword [r13 + 0x38]
lea r8d, [r14 + 4]
mov r9, qword [rsp + 0x78]
mov edx, dword [rbp + 0x24]
mov rcx, qword [r12]
mov qword [rsp + 0x20], rax
call fcn.14001d160
mov r14d, eax
mov dword [rsp + 0x30], eax
xor r8d, r8d
mov rbx, qword [rbp]
mov al, r8b
jmp 0x14002e703
mov rax, qword [r13 + 0x38]
xor r9d, r9d
mov rcx, qword [r12]
mov edx, edi
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.14001d160
mov r14d, eax
mov dword [rsp + 0x30], eax
mov al, dil
xor r8d, r8d
mov r12, qword [rsp + 0x48]
mov byte [r13 + 4], al
test r14d, r14d
jne 0x140030f33
movzx eax, word [rsi + 2]
lea r10d, [r14 + 4]
sub ax, 8
lea r13d, [r14 + 1]
neg ax
mov eax, dword [rbx]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, r10d
or ecx, eax
mov dword [rbx], ecx
jmp 0x14002cb40
mov r8d, dword [rsi + 8]
or r9d, 0xffffffff
mov edx, dword [rsi + 4]
mov rcx, r15
mov byte [rsp + 0x20], r13b
call fcn.14002be04
test rax, rax
je 0x14002c79f
mov rcx, qword [rsi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, r12
mov edx, dword [rsi + 0xc]
call fcn.1400328e0
xor r8d, r8d
mov dword [rsp + 0x30], eax
test eax, eax
mov r14d, eax
jne 0x140030f33
jmp 0x14002c65d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x14002ce86
jmp 0x14002c2e5
mov r8d, dword [rsi + 0xc]
or r9d, 0xffffffff
mov edx, dword [rsi + 4]
mov rcx, r15
mov byte [rsp + 0x20], 3
call fcn.14002be04
xor r8d, r8d
test rax, rax
je 0x14002c79f
mov byte [rax + 2], r13b
mov ecx, dword [rsi + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x1401007ac]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], r13b
jmp 0x14002c65d
movsxd rax, dword [rsi + 4]
mov rcx, r15
mov rdx, qword [r15 + 0x98]
mov rdx, qword [rdx + rax*8]
call fcn.140027258
movsxd rcx, dword [rsi + 4]
xor r8d, r8d
mov rax, qword [r15 + 0x98]
mov qword [rax + rcx*8], r8
jmp 0x14002c65d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov dword [rsp + 0x60], r8d
mov r13, qword [rax + rcx*8]
mov byte [r13 + 2], r8b
cmp byte [r13 + 4], r8b
je 0x14002e8f8
movsxd rax, dword [rsi + 0xc]
mov ecx, 2
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
mov al, byte [rbx + 8]
and al, 0xe
cmp al, cl
jne 0x14002e869
xor edx, edx
mov rcx, rbx
call fcn.14002bf24
mov rcx, rbx
call fcn.140024b58
mov ecx, 4
mov r12, rax
test byte [rbx + 8], cl
jne 0x14002e8bd
lea eax, [rcx + 4]
test byte [rbx + 8], al
je 0x1400307b6
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
cvtsi2sd xmm0, r12
mov ecx, edi
mov eax, 1
and ecx, eax
comisd xmm0, xmm1
jbe 0x14002e8b1
lea eax, [rdi - 1]
test ecx, ecx
cmove eax, edi
mov edi, eax
jmp 0x14002e8bd
test ecx, ecx
jne 0x14002e8bd
comisd xmm1, xmm0
jbe 0x14002e8bd
add edi, eax
mov rcx, qword [r13 + 0x38]
lea rax, [rsp + 0x70]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r12
xor edx, edx
call fcn.14001dca8
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov qword [r13 + 0x58], r12
mov r14d, eax
test eax, eax
jne 0x14002ee07
mov r12d, dword [rsp + 0x60]
jmp 0x14002e980
mov rax, qword [r13 + 0x38]
mov r12d, r8d
mov edx, 1
mov bl, byte [rax + 3]
mov rax, qword [r13 + 0x40]
and bl, r11b
mov qword [rbp + 0x58], rax
movzx eax, word [rsi + 0x10]
setne r12b
mov word [rbp + 0x68], ax
mov eax, edi
and al, dl
mov byte [rbp + 0x6e], r8b
neg al
movsxd rax, dword [rsi + 0xc]
sbb cl, cl
xor r9d, r9d
and cl, 0xfe
xor r8d, r8d
add cl, dl
lea rdx, [rbp + 0x58]
mov byte [rbp + 0x6a], cl
imul rcx, rax, 0x38
lea rax, [rsp + 0x70]
add rcx, qword [rsp + 0x40]
mov qword [rbp + 0x60], rcx
mov rcx, qword [r13 + 0x38]
mov qword [rsp + 0x20], rax
call fcn.14001dca8
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x14002ee07
test bl, bl
je 0x14002e980
cmp byte [rbp + 0x6e], r8b
je 0x14002ea14
mov byte [r13 + 3], r8b
mov dword [r13 + 0x28], r8d
mov eax, dword [rsp + 0x70]
cmp edi, 0x1a
jl 0x14002e9e2
test eax, eax
js 0x14002e9a6
jne 0x14002e99c
cmp edi, 0x1b
je 0x14002e9a6
mov dword [rsp + 0x70], r8d
jmp 0x14002ea26
mov dword [rsp + 0x70], r8d
xor edx, edx
mov rcx, qword [r13 + 0x38]
call fcn.14001e2a0
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
je 0x14002ea14
cmp eax, 0x65
jne 0x14002ee07
lea r13d, [r8 + 1]
mov dword [rsp + 0x30], r8d
mov ecx, r13d
mov r14d, r8d
mov dword [rsp + 0x70], ecx
jmp 0x14002ea1e
test eax, eax
jg 0x14002ea02
jne 0x14002e9ed
cmp edi, 0x18
je 0x14002ea02
mov rax, qword [r13 + 0x38]
mov ecx, r8d
mov r13d, 1
cmp byte [rax], r13b
setne cl
jmp 0x14002e9dc
mov dword [rsp + 0x70], r8d
xor edx, edx
mov rcx, qword [r13 + 0x38]
call fcn.14001e3f0
jmp 0x14002e9b6
mov ecx, dword [rsp + 0x70]
mov r13d, 1
test ecx, ecx
jne 0x14002ce86
lea rax, [rsi + 0x18]
test r12d, r12d
cmove rax, rsi
mov rsi, rax
jmp 0x14002c9cb
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov r13, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
mov ecx, dword [rsi + 0x10]
imul rdi, rax, 0x38
add rdi, rbx
test ecx, ecx
jle 0x14002ea7f
mov rax, qword [r13 + 0x40]
lea rbx, [rbp + 0xf8]
mov qword [rbp + 0xf8], rax
mov r12, r8
mov word [rbp + 0x108], cx
mov qword [rbp + 0x100], rdi
jmp 0x14002eacd
mov eax, 0x4000
test word [rdi + 8], ax
je 0x14002ea94
mov rcx, rdi
call fcn.140024814
jmp 0x14002ea97
mov eax, r8d
test eax, eax
jne 0x14002c79f
mov rcx, qword [r13 + 0x40]
call fcn.140028870
mov rbx, rax
mov r12, rax
test rax, rax
je 0x14002c79a
mov r8, qword [rdi + 0x10]
mov r9, rax
mov edx, dword [rdi + 0xc]
mov rcx, qword [r13 + 0x40]
call fcn.1400288c8
xor r8d, r8d
mov byte [rbx + 0x12], r8b
mov edi, r8d
cmp byte [rsi], 0x1c
jne 0x14002eb07
movzx edx, word [rbx + 0x10]
mov ecx, r8d
test edx, edx
je 0x14002eb07
mov rax, qword [rbx + 8]
mov r8d, 1
add rax, 8
test byte [rax], r8b
jne 0x14002eb04
add ecx, r8d
add rax, 0x38
cmp ecx, edx
jl 0x14002eaf2
jmp 0x14002eb07
mov edi, r8d
mov rcx, qword [r13 + 0x38]
lea rax, [rbp + 8]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rbx
call fcn.14001dca8
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test r12, r12
je 0x14002eb46
mov rdx, r12
mov r12, qword [rsp + 0x48]
mov rcx, r12
call fcn.140009118
xor r8d, r8d
jmp 0x14002eb4b
mov r12, qword [rsp + 0x48]
test r14d, r14d
jne 0x140030f33
mov eax, dword [rbp + 8]
mov ecx, r8d
mov dword [r13 + 0x2c], eax
mov eax, dword [rbp + 8]
test eax, eax
mov byte [r13 + 3], r8b
sete cl
mov dword [r13 + 0x28], r8d
test eax, eax
setne al
mov byte [r13 + 2], al
lea r13d, [r14 + 1]
cmp byte [rsi], 0x1e
jne 0x14002eb8d
test ecx, ecx
jne 0x14002ce86
jmp 0x14002c658
test edi, edi
jne 0x14002ce86
test ecx, ecx
je 0x14002ce86
jmp 0x14002c658
movsxd rax, dword [rsi + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
test byte [rbx + 8], r10b
jne 0x14002ebd2
mov r8b, byte [rsp + 0x34]
mov dl, 0x43
mov rcx, rbx
call fcn.14002bfb4
mov ecx, 4
test byte [rbx + 8], cl
je 0x1400307bc
mov rbx, qword [rsp + 0x40]
movsxd rcx, dword [rsi + 4]
xor r9d, r9d
mov rax, qword [r15 + 0x98]
xor edx, edx
mov rdi, qword [rax + rcx*8]
xor eax, eax
mov r10, qword [rdi + 0x38]
mov dword [rbp - 0x28], eax
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
mov rbx, qword [rcx + rbx]
mov rcx, r10
mov r8, rbx
call fcn.14001dca8
xor r8d, r8d
mov qword [rdi + 0x58], rbx
mov word [rdi + 2], r8w
mov r14d, eax
mov dword [rdi + 0x28], r8d
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x28]
mov dword [rdi + 0x2c], eax
cmp dword [rbp - 0x28], r8d
je 0x14002cf12
cmp dword [rsi + 8], r8d
jne 0x14002ce86
mov r9d, 0x148e4
jmp 0x140030eeb
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov rcx, qword [r15 + 0x98]
movsxd rdx, dword [rsi + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r13
jmp 0x14002c45d
mov rdx, rsi
mov qword [rbp - 0x38], r8
mov rcx, r15
mov dword [rbp - 0x50], r8d
call fcn.14002c120
movsxd rdx, dword [rsi + 4]
mov r11d, 2
mov rcx, qword [r15 + 0x98]
mov r12, rax
mov rdi, qword [rcx + rdx*8]
test byte [rdi + 8], r11b
jne 0x14002ed1f
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp - 0x50]
call fcn.14001dc44
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x14002ee07
cmp dword [rbp - 0x50], r8d
je 0x14002ece9
mov qword [rbp - 0x38], r13
lea r11d, [rax + 2]
jmp 0x14002ed22
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.14001d368
mov rax, qword [rbx + 0x28]
movabs rcx, 0x7fffffffffffffff
mov qword [rbp - 0x38], rax
mov r11d, 2
cmp rax, rcx
jl 0x14002ed18
or dword [rdi + 8], r11d
jmp 0x14002ed1f
inc rax
mov qword [rbp - 0x38], rax
xor r8d, r8d
movsxd rdx, dword [rsi + 0xc]
test edx, edx
je 0x14002eda1
mov rcx, qword [r15 + 0x100]
test rcx, rcx
je 0x14002ed52
mov rax, qword [rcx + 8]
jmp 0x14002ed43
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14002ed3c
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x14002ed5b
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.140024c28
mov rax, qword [rbx]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x1400310fb
mov r11d, 2
test byte [rdi + 8], r11b
jne 0x1400310fb
mov rcx, qword [rbp - 0x38]
inc rax
cmp rcx, rax
cmovl rcx, rax
xor r8d, r8d
mov qword [rbp - 0x38], rcx
mov qword [rbx], rcx
test byte [rdi + 8], r11b
je 0x14002ee17
mov ebx, r8d
lea rdx, [rbp - 0x38]
mov ecx, 8
call fcn.14000ac00
mov r8, qword [rbp - 0x38]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
add r8, r13
lea rax, [rbp - 0x50]
mov qword [rbp - 0x38], r8
xor edx, edx
mov rcx, qword [rdi + 0x38]
mov qword [rsp + 0x20], rax
call fcn.14001dca8
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x14002ee07
cmp dword [rbp - 0x50], r8d
jne 0x14002ee11
add ebx, r13d
cmp ebx, 0x64
jl 0x14002edaa
lea r14d, [rax + 0xd]
mov r12, qword [rsp + 0x48]
jmp 0x140030f33
mov r11d, 2
mov byte [rdi + 3], r8b
mov dword [rdi + 0x28], r8d
mov rax, qword [rbp - 0x38]
mov qword [r12], rax
mov r12, qword [rsp + 0x48]
jmp 0x14002e19e
movsxd rax, dword [rsi + 8]
movsxd rcx, dword [rsi + 4]
imul r8, rax, 0x38
mov rax, qword [r15 + 0x98]
add r8, rbx
mov rbx, qword [rax + rcx*8]
cmp dil, 0x75
jne 0x14002ee64
movsxd rax, dword [rsi + 0xc]
mov r11, qword [rsp + 0x40]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r11]
jmp 0x14002ee68
movsxd rdx, dword [rsi + 0xc]
xor r10d, r10d
mov qword [rbp + 0xd0], rdx
cmp byte [rsi + 1], 0xfa
jne 0x14002ee9a
cmp qword [r12 + 0x120], r10
je 0x14002ee9a
movsx rcx, byte [rbx + 1]
mov rax, qword [r12 + 0x20]
mov rdi, qword [rsi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
jmp 0x14002eea0
mov rdi, r10
mov r12, r10
movzx ecx, word [rsi + 2]
test r13b, cl
je 0x14002eeb1
add dword [r15 + 0x3c], r13d
movzx ecx, word [rsi + 2]
test cl, 0x20
je 0x14002eec3
mov r9, qword [rsp + 0x48]
mov qword [r9 + 0x38], rdx
movzx ecx, word [rsi + 2]
mov rax, qword [r8 + 0x10]
mov qword [rbp + 0xd8], rax
mov eax, dword [r8 + 0xc]
mov dword [rbp + 0xec], eax
mov eax, 0x10
test al, cl
je 0x14002eee7
mov r9d, dword [rbx + 0x2c]
jmp 0x14002eeea
mov r9d, r10d
mov eax, 0x4000
test word [r8 + 8], ax
je 0x14002ef01
mov eax, dword [r8]
mov dword [rbp + 0xf0], eax
jmp 0x14002ef08
mov dword [rbp + 0xf0], r10d
movzx r8d, cx
lea rdx, [rbp + 0xc8]
mov qword [rbp + 0xc8], r10
and r8d, 0xa
mov rcx, qword [rbx + 0x38]
call fcn.1400218a8
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov byte [rbx + 3], r8b
mov r14d, eax
mov dword [rbx + 0x28], r8d
test eax, eax
jne 0x14002ee07
test rdi, rdi
je 0x140030c8a
mov al, byte [rsi + 2]
mov r8, r12
mov rcx, qword [rbp + 0xd0]
and al, 4
mov r12, qword [rsp + 0x48]
neg al
mov r9, qword [rdi]
sbb edx, edx
mov qword [rsp + 0x20], rcx
and edx, 5
mov rcx, qword [r12 + 0x118]
add edx, 0x12
mov rax, qword [r12 + 0x120]
call qword [case.0x140008940.0]
jmp 0x14002c6b4
cmp byte [rsi + 1], 0xfa
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov ebx, dword [rsi + 8]
mov dword [rsp + 0x60], ebx
mov rdi, qword [rax + rcx*8]
jne 0x14002efed
cmp qword [r12 + 0x120], r8
je 0x14002efed
mov rax, qword [r12 + 0x20]
movsx rcx, byte [rdi + 1]
mov r12, qword [rsi + 0x10]
shl rcx, 5
mov r13, qword [rcx + rax]
test byte [rsi + 2], r11b
je 0x14002eff3
cmp byte [rdi + 4], r8b
je 0x14002eff3
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.14001d368
mov rax, qword [rbx + 0x28]
mov ebx, dword [rsp + 0x60]
mov qword [rdi + 0x58], rax
jmp 0x14002eff3
mov r13, r8
mov r12, r8
mov dl, byte [rsi + 2]
mov rcx, qword [rdi + 0x38]
call fcn.140021c34
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov qword [rdi + 0x28], r8
mov r14d, eax
test eax, eax
jne 0x14002ee07
lea eax, [r14 + 1]
test al, bl
je 0x140030c8a
add dword [r15 + 0x3c], eax
mov r9, qword [rsp + 0x48]
mov rax, qword [r9 + 0x120]
test rax, rax
je 0x140030c97
test byte [r12 + 0x40], 0x20
jne 0x140030c97
mov rcx, qword [rdi + 0x58]
lea edx, [r14 + 9]
mov r9, qword [r12]
mov r8, r13
mov r12, qword [rsp + 0x48]
mov qword [rsp + 0x20], rcx
mov rcx, qword [r12 + 0x118]
call qword [case.0x140008940.0]
jmp 0x14002c886
mov eax, dword [r15 + 0x3c]
add dword [r12 + 0x78], eax
mov dword [r12 + 0x74], eax
mov dword [r15 + 0x3c], r8d
jmp case.0x14002c28b.83
mov rax, qword [r15 + 0x98]
lea r9, [rbp + 0x10]
movsxd rcx, dword [rsi + 4]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0x10], r8d
mov r8d, dword [rsi + 0x10]
add rdx, rbx
call fcn.14003483c
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f33
cmp dword [rbp + 0x10], r8d
jne 0x14002ce86
jmp 0x14002c65d
movsxd rax, dword [rsi + 8]
movsxd rcx, dword [rsi + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x98]
add rdx, rbx
mov rcx, qword [rax + rcx*8]
call fcn.140034784
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f33
movsxd rcx, dword [rsi + 0xc]
mov rax, qword [r15 + 0x98]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r8d
jmp 0x14002c65d
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov rcx, qword [r15 + 0x98]
mov rbx, rax
movsxd rdx, dword [rsi + 4]
mov rdx, qword [rcx + rdx*8]
mov rdi, qword [rdx + 0x38]
mov rcx, rdi
call fcn.14001d368
mov r8d, dword [rdi + 0x38]
cmp r8d, dword [r12 + 0x7c]
ja 0x1400311bd
mov r9, rbx
xor edx, edx
mov rcx, rdi
call fcn.140025478
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f33
cmp dword [rsi + 0xc], r8d
jne 0x140030c8f
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140030c8f
mov rcx, rbx
call fcn.1400247b8
xor r8d, r8d
test eax, eax
jne 0x14002c79f
jmp 0x14002c658
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
movsxd rdx, dword [rsi + 4]
xor r8d, r8d
mov rcx, qword [r15 + 0x98]
mov rdi, rax
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r8b
je 0x14002f1d6
mov word [rax + 8], r13w
jmp 0x14002c658
cmp byte [rbx + 3], r8b
je 0x14002f1e5
mov rax, qword [rbx + 0x58]
jmp 0x14002f281
mov r11d, 2
cmp byte [rbx], r11b
jne 0x14002f22c
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0x30]
mov rbx, qword [rcx]
mov rax, qword [rbx]
mov rax, qword [rax + 0x60]
call qword [case.0x140008940.0]
mov rdx, rbx
mov rcx, r15
mov r14d, eax
mov dword [rsp + 0x30], eax
call fcn.1400298cc
xor r8d, r8d
test r14d, r14d
jne 0x140030f33
mov rax, qword [rbp + 0x30]
jmp 0x14002f285
mov rax, qword [rbx + 0x38]
cmp byte [rax], r13b
je 0x14002f24d
mov rcx, rbx
call fcn.140028428
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
lea r11d, [r8 + 2]
jmp 0x14002f255
mov r14d, r8d
mov dword [rsp + 0x30], r8d
test r14d, r14d
jne 0x140030f33
cmp byte [rbx + 2], r8b
je 0x14002f26e
mov word [rdi + 8], r13w
jmp 0x14002e19e
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.14001d368
mov rax, qword [rbx + 0x28]
xor r8d, r8d
mov qword [rbp + 0x30], rax
mov qword [rdi], rax
jmp 0x14002c658
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 2], r13b
mov dword [rbx + 0x28], r8d
cmp byte [rbx], r8b
jne 0x14002dda8
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x48]
call fcn.140009070
xor r8d, r8d
mov qword [rbx + 0x48], r8
mov byte [rbx], r8b
jmp 0x14002c658
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x24], r8d
cmp dil, 0x7e
jne 0x14002f2f3
or dword [rbx + 0x2c], 0xffffffff
cmp byte [rcx], r13b
je 0x14002dda8
lea rdx, [rbp - 0x24]
call fcn.14001dc44
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
mov al, byte [rbp - 0x24]
mov byte [rbx + 2], al
mov byte [rbx + 3], r8b
mov dword [rbx + 0x28], r8d
test r14d, r14d
jne 0x140030f33
cmp dword [rsi + 8], r8d
jle 0x140030c8f
cmp dword [rbp - 0x24], r8d
jmp 0x14002eb82
movsxd rcx, dword [rsi + 4]
lea rdx, [rbp - 0x4c]
mov rax, qword [r15 + 0x98]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.14001dc04
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f33
cmp dword [rbp - 0x4c], r8d
jne 0x14002ce86
mov rcx, rbx
call fcn.14001e158
xor r8d, r8d
test rax, rax
js 0x14002f398
mov rcx, rax
call fcn.14000c604
movsx ecx, ax
cmp ecx, dword [rsi + 0xc]
mov eax, dword [rbp - 0x4c]
cmovl eax, r13d
xor r8d, r8d
mov dword [rbp - 0x4c], eax
jmp 0x14002f39b
mov eax, dword [rbp - 0x4c]
test eax, eax
jmp 0x14002eb82
add dword [r15 + 0xd8], r13d
movsxd rcx, dword [rsi + 4]
lea rdx, [rbp - 0x48]
mov rax, qword [r15 + 0x98]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x48], r13d
cmp byte [rbx], r13b
jne 0x14002f3d2
mov rcx, rbx
call fcn.140034664
xor r8d, r8d
jmp 0x14002f3e6
mov rcx, qword [rbx + 0x38]
call fcn.14001dc04
xor r8d, r8d
mov byte [rbx + 3], r8b
mov dword [rbx + 0x28], r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f33
mov al, byte [rbp - 0x48]
mov byte [rbx + 2], al
cmp dword [rbp - 0x48], r8d
jmp 0x14002eb82
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
mov rdx, rbx
call fcn.1400346d4
jmp 0x14002f455
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
cmp qword [rax + rcx*8], r8
je case.0x14002c28b.83
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov edx, dword [rsi + 0xc]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rsi + 0x10]
mov rcx, qword [rbx + 0x38]
call qword [case.0x140008940.0]
mov dword [rsp + 0x30], eax
mov r14d, eax
xor r8d, r8d
mov dword [rbx + 0x28], r8d
test eax, eax
jne 0x14002f47c
mov byte [rbx + 2], r8b
movzx eax, word [rsi + 2]
add dword [r15 + rax*4 + 0xd0], r13d
jmp 0x14003090f
cmp r14d, 0x65
jne 0x140030f33
mov r14d, r8d
mov dword [rsp + 0x30], r8d
mov byte [rbx + 2], r13b
mov rbx, qword [rsp + 0x40]
mov eax, dword [r12 + 0x158]
test eax, eax
jne 0x14003142a
mov r9d, dword [rbp - 0x68]
cmp r9d, dword [rbp - 0x40]
jb 0x140030c8f
mov r8, qword [r12 + 0x1a8]
test r8, r8
je 0x140030cab
mov ecx, dword [r12 + 0x1b8]
mov eax, r9d
xor edx, edx
div ecx
mov rax, r8
sub ecx, edx
add ecx, r9d
mov dword [rbp - 0x40], ecx
mov rcx, qword [r12 + 0x1b0]
call qword [case.0x140008940.0]
xor r8d, r8d
test eax, eax
je 0x14002c65d
mov r14d, 9
jmp 0x140030f33
mov rax, qword [r15 + 0x98]
movsxd rcx, dword [rsi + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
test byte [rsi + 2], r13b
je 0x14002f52a
add dword [r15 + 0x3c], r13d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14002f545
mov rcx, rbx
call fcn.140024814
mov r14d, eax
xor r8d, r8d
jmp 0x14002f548
mov r14d, r8d
test r14d, r14d
jne 0x140030f33
cmp byte [rsi], 0x7f
jne 0x14002f56b
mov rdx, rbx
mov rcx, rdi
call fcn.1400338b8
mov rbx, qword [rsp + 0x40]
xor r8d, r8d
jmp 0x14002f5d8
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [rsi + 2]
mov qword [rbp + 0x150], rax
mov rax, qword [rbx + 0x10]
mov rbx, qword [rsp + 0x40]
mov qword [rbp + 0x148], rax
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rsi + 0x10]
add rcx, rbx
mov word [rbp + 0x168], ax
mov eax, 0x10
mov qword [rbp + 0x160], rcx
test al, r8b
je 0x14002f5b8
mov r9d, dword [rdi + 0x2c]
jmp 0x14002f5bd
xor eax, eax
mov r9d, eax
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x148]
and r8d, 0xa
call fcn.1400218a8
xor r8d, r8d
mov dword [rdi + 0x28], r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test r14d, r14d
jmp 0x14002e77e
movsxd rcx, dword [rsi + 4]
lea rdx, [rbp + 0x98]
mov rax, qword [r15 + 0x98]
xor r9d, r9d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp + 0x98], rax
test dword [rax + 0xf000000], ebx
mov bh, 0x46
or al, 0x66
mov dword [rbp + 0xa8], eax
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
mov byte [rbp + 0xaa], r8b
lea rax, [rbp + 0x20]
add rcx, qword [rsp + 0x40]
xor r8d, r8d
mov qword [rbp + 0xa0], rcx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.14001dca8
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f33
cmp dword [rbp + 0x20], r8d
jne 0x14002f67e
lea edx, [rax + 4]
mov rcx, rdi
call fcn.140021c34
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f33
and qword [rbx + 0x28], 0
jmp 0x14002c658
mov rax, qword [r15 + 0x98]
movsxd rcx, dword [rsi + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], r13b
je 0x14002f6c6
mov rcx, rbx
call fcn.140028428
mov r9, qword [rsp + 0x38]
xor r8d, r8d
mov r14d, eax
mov dword [rsp + 0x30], eax
mov edx, 0x2460
lea r10d, [r8 + 4]
lea r11d, [r8 + 2]
jmp 0x14002f6ce
mov r14d, r8d
mov dword [rsp + 0x30], r8d
test r14d, r14d
jne 0x140030f33
cmp byte [rbx + 2], r8b
jne 0x14002f74f
mov qword [rbp + 0x38], r8
mov rcx, r12
mov rdx, qword [rbx + 0x38]
lea r8, [rbp + 0x38]
call fcn.1400295c0
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x140030f33
cmp byte [rsi], 0x82
jne 0x14002f738
mov rax, qword [r15 + 0x98]
movsxd rcx, dword [rsi + 0xc]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r8b
mov rax, qword [rbp + 0x38]
mov qword [rdx + 0x58], rax
mov byte [rdx + 3], r13b
mov rax, qword [rsi + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x14002c658
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov rcx, qword [rbp + 0x38]
mov qword [rax], rcx
jmp 0x14002c6b4
movsxd rax, dword [rsi + 8]
mov rbx, qword [rsp + 0x40]
imul rcx, rax, 0x38
add rcx, rbx
test word [rcx + 8], dx
je 0x14002f76f
call fcn.140024a18
jmp 0x14002c45d
mov word [rcx + 8], r13w
jmp case.0x14002c28b.83
movsxd rcx, dword [rsi + 4]
lea r9, [rbp - 0x44]
mov rax, qword [r15 + 0x98]
cmp dil, 0x28
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp + 0xb0], rax
movzx eax, word [rsi + 0x10]
mov word [rbp + 0xc0], ax
sbb al, al
mov byte [rbp + 0xc2], al
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
mov dword [rbp - 0x44], r8d
lea r8, [rbp + 0xb0]
add rcx, rbx
mov qword [rbp + 0xb8], rcx
mov rcx, r12
call fcn.14002971c
mov r14d, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x44]
test byte [rsi], r13b
jne 0x14002f7e6
neg eax
jmp 0x14002f7e8
inc eax
xor r8d, r8d
mov dword [rbp - 0x44], eax
test r14d, r14d
jne 0x140030f33
test eax, eax
jg 0x14002ce86
jmp 0x14002c65d
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov r12, rax
mov word [rax + 8], r13w
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0xc8]
add ecx, r13d
cmp dword [rax + 0xbc], ecx
jg 0x14003110b
movsxd r13, dword [rsi + 0xc]
xor ecx, ecx
mov rax, qword [rax + 0x20]
mov ebx, dword [rsi + 4]
mov dword [rbp - 0x20], ecx
mov rcx, r13
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
mov rcx, rdi
call fcn.140018e48
lea r8, [rbp - 0x20]
mov edx, ebx
mov rcx, rdi
call fcn.140022550
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov r14d, eax
call fcn.140018f0c
mov r10d, 4
xor r8d, r8d
mov word [r12 + 8], r10w
movsxd rax, dword [rbp - 0x20]
mov qword [r12], rax
test r14d, r14d
jne 0x14002ee07
mov r8d, dword [rbp - 0x20]
mov r12, qword [rsp + 0x48]
test r8d, r8d
je 0x140030c7c
mov r9d, dword [rsi + 4]
mov edx, r13d
mov rcx, r12
call fcn.140042c50
mov al, r13b
lea r13d, [r14 + 1]
add al, r13b
mov byte [rsp + 0x68], al
jmp 0x14002c6b4
mov eax, dword [rsi + 0xc]
mov rcx, qword [r12 + 0x20]
neg eax
mov edx, dword [rsi + 4]
lea rax, [rbp + 0x14]
mov dword [rbp + 0x14], r8d
sbb r8, r8
and r8, rax
movsxd rax, dword [rsi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140022494
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
cmp dword [rsi + 0xc], r8d
je 0x14002f5df
movsxd rdx, dword [rbp + 0x14]
add dword [r15 + 0x3c], edx
cmp dword [rsi + 0xc], r8d
jle 0x14002f5df
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add qword [rcx + rbx], rdx
jmp 0x14002f5df
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r13b
jne 0x14002f94f
mov rdx, qword [rcx + 0x38]
mov rcx, r12
call fcn.140032cbc
jmp 0x14002c45d
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.140022494
jmp 0x14002e772
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov r9, qword [rsp + 0x48]
mov r12, rax
movsxd rdx, dword [rsi + 4]
xor eax, eax
mov ebx, dword [rsi + 0xc]
shl rdx, 5
mov rcx, qword [r9 + 0x20]
mov dword [rbp + 0xc], eax
mov rdi, qword [rdx + rcx + 8]
mov rcx, rdi
call fcn.140018e48
mov r8d, ebx
lea rdx, [rbp + 0xc]
mov rcx, rdi
call fcn.140021fe4
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov r14d, eax
call fcn.140018f0c
xor r8d, r8d
test r14d, r14d
jne 0x14002ee07
movsxd rax, dword [rbp + 0xc]
mov qword [r12], rax
jmp 0x14002c653
add byte [r12 + 0x6a], r13b
xor r9d, r9d
mov rdx, qword [rsi + 0x10]
mov rcx, r12
mov qword [rsp + 0x20], r8
xor r8d, r8d
call fcn.14004f490
dec byte [r12 + 0x6a]
jmp 0x14002e772
movsxd rcx, dword [rsi + 4]
lea rax, [r15 + 0x90]
mov r8, qword [r12 + 0x20]
lea r9, str.sqlite_master
mov rdx, rcx
mov dword [rbp + 0x90], ecx
shl rdx, 5
mov rcx, r12
mov qword [rbp + 0x88], rax
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0x80], r12
mov r8, qword [rdx + r8]
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov qword [rsp + 0x20], rax
call fcn.14000a9b0
xor edi, edi
mov rbx, rax
test rax, rax
je 0x14003111d
lea r9, [rbp + 0x80]
mov byte [r12 + 0xb5], r13b
lea r8, [fcn.140053690]
mov dword [rbp + 0x94], edi
mov rdx, rax
mov qword [rsp + 0x20], rdi
mov rcx, r12
call fcn.14004f490
test eax, eax
mov r14d, eax
mov rdx, rbx
mov rcx, r12
cmove r14d, dword [rbp + 0x94]
mov dword [rsp + 0x30], r14d
call fcn.140009118
xor r8d, r8d
mov byte [r12 + 0xb5], r8b
test r14d, r14d
jne 0x140031123
jmp 0x14002c658
mov edx, dword [rsi + 4]
mov rcx, r12
call fcn.14003f08c
jmp 0x14002e772
mov r8, qword [rsi + 0x10]
mov rcx, r12
mov edx, dword [rsi + 4]
call fcn.140040b50
jmp 0x14002c45d
mov r8, qword [rsi + 0x10]
mov rcx, r12
mov edx, dword [rsi + 4]
call fcn.140040660
jmp 0x14002c45d
mov r8, qword [rsi + 0x10]
mov rcx, r12
mov edx, dword [rsi + 4]
call fcn.14005cda0
jmp 0x14002c45d
movsxd rax, dword [rsi + 0xc]
lea r8, [rbp + 0x2c]
mov rcx, qword [r12 + 0x20]
mov rdx, qword [rsi + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 4]
add rdx, 4
add rdi, rbx
mov qword [rsp + 0x20], r8
mov r8d, dword [rsi + 8]
imul rbx, rax, 0x38
movzx eax, word [rsi + 2]
mov r9d, dword [rdi]
add rbx, qword [rsp + 0x40]
add r9d, r13d
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140023380
mov rcx, rbx
mov r12, rax
call fcn.140024e18
mov ecx, dword [rbp + 0x2c]
test ecx, ecx
je 0x14002fb8d
test r12, r12
je 0x14002c79a
dec ecx
lea rax, [fcn.140009070]
movsxd rdx, ecx
mov r9b, r13b
sub qword [rdi], rdx
or r8d, 0xffffffff
mov rdx, r12
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400251a4
movzx edx, byte [rsp + 0x34]
mov rcx, rbx
call fcn.140024614
jmp 0x14002c749
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 8]
add rbx, qword [rsp + 0x40]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x40]
test byte [rbx + 8], 0x20
jne 0x14002fbd1
mov rcx, rbx
call fcn.140024f50
test byte [rbx + 8], 0x20
je 0x14002c79f
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.140011464
jmp 0x14002c6b4
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
test byte [rbx + 8], 0x20
je 0x14002fc25
mov rcx, qword [rbx]
lea rdx, [rbp + 0x70]
call fcn.1400116f8
test eax, eax
je 0x14002fc25
movsxd rax, dword [rsi + 0xc]
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rbp + 0x70]
imul rcx, rax, 0x38
add rcx, rbx
call fcn.140024ec8
xor r8d, r8d
jmp 0x14002f497
mov rcx, rbx
call fcn.140024e18
xor r8d, r8d
jmp 0x14003090f
movsxd rax, dword [rsi + 4]
mov r12d, dword [rsi + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rbx, qword [rsp + 0x40]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x40]
test byte [rbx + 8], 0x20
jne 0x14002fc6e
mov rcx, rbx
call fcn.140024f50
test byte [rbx + 8], 0x20
je 0x14002c79a
xor r8d, r8d
test r12d, r12d
je 0x14002fc8f
mov r8, qword [rdi]
mov edx, r12d
mov rcx, qword [rbx]
call fcn.140011768
xor r8d, r8d
test eax, eax
jne 0x14002ce86
test r12d, r12d
js 0x14002c653
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.140011464
jmp 0x14002c749
movsxd rax, dword [rsi + 0xc]
mov r12, qword [rsi + 0x10]
imul rdi, rax, 0x38
add rdi, rbx
cmp word [rsi + 2], r8w
je 0x14002fce4
mov rax, qword [r15 + 0x100]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x14002fce4
cmp qword [rax + 0x38], rcx
je 0x14002fcdb
mov rax, qword [rax + 8]
test rax, rax
jne 0x14002fccc
test rax, rax
jne 0x140030e10
mov r8, qword [rsp + 0x48]
mov eax, dword [r15 + 0x110]
cmp eax, dword [r8 + 0xa4]
jge 0x14003113f
mov ecx, 0x40
test byte [rdi + 8], cl
jne 0x14002fe1a
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12 + 0xc]
add ecx, edx
test edx, edx
lea r13d, [rcx + 1]
cmovne r13d, ecx
lea eax, [r13 + 2]
imul ecx, eax, 7
mov eax, dword [r12 + 8]
add ecx, edx
mov edx, 7
add eax, edx
jns 0x14002fd3a
add eax, edx
sar eax, 3
lea eax, [rax + rcx*8]
mov rcx, r8
movsxd rdx, eax
call fcn.140009364
mov rbx, rax
test rax, rax
je 0x14002c79a
mov rcx, rdi
call fcn.140024ad0
sub rsi, qword [rsp + 0x38]
mov eax, 0x40
mov r8, qword [rsp + 0x48]
mov word [rdi + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [rdi], rbx
imul rsi
mov qword [rbx], r15
mov dword [rbx + 0x60], r13d
mov ecx, dword [r12 + 0x10]
mov dword [rbx + 0x64], ecx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x54], edx
mov rax, qword [r15 + 0x70]
mov qword [rbx + 0x20], rax
mov eax, dword [r15 + 0x28]
mov dword [rbx + 0x5c], eax
mov rax, qword [r15 + 0x98]
mov qword [rbx + 0x28], rax
mov eax, dword [r15 + 0x2c]
mov dword [rbx + 0x50], eax
mov rax, qword [r15 + 0x68]
mov qword [rbx + 0x10], rax
mov eax, dword [r15 + 0xb8]
mov dword [rbx + 0x58], eax
mov rax, qword [r12 + 0x20]
mov qword [rbx + 0x38], rax
movsxd rax, r13d
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x14002fe0b
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r8
add rax, 0x38
cmp rax, rcx
jne 0x14002fdfa
mov eax, dword [r15 + 0x110]
mov r13d, 1
jmp 0x14002fe1d
mov rbx, qword [rdi]
inc eax
lea rdx, [rbx + 0x70]
mov dword [r15 + 0x110], eax
mov rax, qword [r15 + 0x100]
mov qword [rbx + 8], rax
mov rax, qword [r8 + 0x38]
mov r8d, 7
mov qword [rbx + 0x40], rax
mov eax, dword [r15 + 0x3c]
mov dword [rbx + 0x68], eax
mov rax, qword [r15]
mov qword [rsp + 0x40], rdx
mov ecx, dword [rax + 0x74]
mov dword [rbx + 0x6c], ecx
mov rax, qword [r15 + 0x120]
mov qword [rbx + 0x48], rax
xor eax, eax
mov qword [r15 + 0x120], rax
mov dword [r15 + 0x3c], eax
mov qword [r15 + 0x70], rdx
mov qword [r15 + 0x100], rbx
movsxd rcx, dword [rbx + 0x60]
mov dword [r15 + 0x28], ecx
movzx eax, word [rbx + 0x64]
mov dword [r15 + 0x2c], eax
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [r15 + 0x98], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rbx + 0x30], rcx
mov eax, dword [r12 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov r9, qword [r12]
mov rbx, qword [rsp + 0x40]
mov qword [r15 + 0x68], r9
mov eax, dword [r12 + 8]
mov r12, qword [rsp + 0x48]
lea rsi, [r9 - 0x18]
mov qword [rsp + 0x38], r9
mov dword [r15 + 0xb8], eax
jmp 0x14002c462
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov r9, qword [r15 + 0x100]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
add r8d, dword [rsi + 4]
movsxd rcx, r8d
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
jmp 0x14002c7f2
test dword [r12 + 0x30], 0x80000
movsxd rax, dword [rsi + 8]
je 0x14002ff44
add qword [r12 + 0x298], rax
jmp case.0x14002c28b.83
lea rcx, [0x140000000]
cmp dword [rsi + 4], r8d
je 0x14002ff5e
add qword [r12 + 0x290], rax
jmp case.default.0x14002c28b
add qword [r15 + 0x50], rax
jmp case.default.0x14002c28b
cmp dword [rsi + 4], r8d
je 0x14002ff88
cmp qword [r12 + 0x290], r8
jne case.0x14002c28b.83
cmp qword [r12 + 0x298], r8
jmp 0x14002d520
cmp qword [r15 + 0x50], r8
jmp 0x14002ff75
mov rcx, qword [r15 + 0x100]
test rcx, rcx
je 0x14002ffba
mov rax, qword [rcx + 8]
jmp 0x14002ffa7
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14002ffa0
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14002ffc5
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, rbx
mov rcx, rdi
call fcn.140024c28
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.140024c28
mov rax, qword [rbx]
xor r8d, r8d
lea r10d, [r8 + 4]
lea r11d, [r8 + 2]
cmp qword [rdi], rax
jge 0x14002dda8
mov qword [rdi], rax
jmp 0x14002ddae
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + rbx]
test rdx, rdx
jle 0x14002c2e5
movsxd rax, dword [rsi + 0xc]
sub rdx, rax
mov qword [rcx + rbx], rdx
jmp 0x14002d55e
movsxd rax, dword [rsi + 4]
mov rdx, rsi
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
mov rcx, r15
add rbx, qword [rsp + 0x40]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x40]
call fcn.14002c120
mov rcx, qword [rbx]
xor r8d, r8d
mov qword [rbp + 0x50], rcx
mov r12, rax
test rcx, rcx
jle 0x140030080
mov rdx, qword [rdi]
lea rcx, [rbp + 0x50]
test rdx, rdx
cmovle rdx, r8
call fcn.14000c478
xor r8d, r8d
test eax, eax
jne 0x140030080
mov rax, qword [rbp + 0x50]
jmp 0x14002f9c9
or qword [r12], 0xffffffffffffffff
jmp 0x14002c653
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rbx]
test rax, rax
je case.0x14002c28b.83
jle 0x14002d55e
dec rax
mov qword [rcx + rbx], rax
jmp 0x14002d55e
movsxd rax, dword [rsi + 4]
movabs rdi, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + rbx]
cmp rax, rdi
jle 0x1400300d3
dec rax
mov qword [rcx + rbx], rax
test rax, rax
jmp 0x14002d520
movzx ebx, word [rsi + 2]
mov rcx, r12
lea rdx, [rbx*8 + 0x30]
call fcn.1400093d8
xor edi, edi
mov r8, rax
test rax, rax
je 0x14002c79f
mov qword [rax + 0x10], rdi
mov rcx, qword [rsi + 0x10]
mov qword [rax + 8], rcx
mov rcx, rsi
sub rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r15
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x20], edx
mov word [rsi], 0xf096
mov qword [rsi + 0x10], r8
movsxd rax, dword [rsi + 0xc]
mov rbx, qword [rsi + 0x10]
mov r11, qword [rsp + 0x40]
imul r8, rax, 0x38
add r8, r11
cmp qword [rbx + 0x10], r8
je 0x14003019e
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r8
sub rdx, 1
lea r10d, [rax - 1]
js 0x14003019e
lea r9, [rdx + 6]
mov r15d, 8
lea r9, [rbx + r9*8]
mov eax, dword [rsi + 8]
add eax, r10d
sub r10d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, r11
mov qword [r9], rcx
sub r9, r15
sub rdx, r13
jns 0x14003017d
mov r15, qword [rbp - 0x10]
add dword [r8 + 0xc], r13d
lea rcx, [rbp + 0x1b0]
mov r8d, r13d
mov rdx, r12
call fcn.140024e08
and word [rbx + 0x28], 0
lea rax, [rbp + 0x1b0]
movzx edx, byte [rbx + 0x2a]
lea r8, [rbx + 0x30]
mov qword [rbx], rax
mov rcx, rbx
mov rax, qword [rbx + 8]
mov rax, qword [rax + 0x18]
call qword [case.0x140008940.0]
xor r8d, r8d
cmp byte [rbx + 0x29], r8b
je 0x14003022d
cmp dword [rbx + 0x24], r8d
je 0x140030215
mov dl, r13b
lea rcx, [rbp + 0x1b0]
call fcn.140025584
mov r8, rax
lea rdx, [0x1400d7794]
mov rcx, r15
call fcn.140025a64
mov r14d, dword [rbx + 0x24]
mov dword [rsp + 0x30], r14d
lea rcx, [rbp + 0x1b0]
call fcn.140024ad0
xor r8d, r8d
test r14d, r14d
jne 0x140030f33
cmp byte [rbx + 0x28], r8b
je 0x140030c8f
cmp dword [rsi - 0x14], r8d
je 0x140030c8f
movsxd rax, dword [rsi - 0x14]
mov rdx, r13
mov rbx, qword [rsp + 0x40]
imul rcx, rax, 0x38
add rcx, rbx
call fcn.140024ec8
jmp 0x14002c45d
movsxd rax, dword [rsi + 4]
mov rdx, qword [rsi + 0x10]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.140024964
mov dword [rsp + 0x30], eax
mov r14d, eax
mov rcx, rbx
test eax, eax
jne 0x140031153
movzx edx, byte [rsp + 0x34]
call fcn.140024614
mov rcx, rbx
call fcn.14002500c
xor r8d, r8d
test eax, eax
jne 0x1400311bd
jmp 0x14002c658
mov edx, dword [rsi + 4]
lea rax, [rbp + 0x228]
or dword [rbp + 0x228], 0xffffffff
lea r9, [rbp + 0x224]
or dword [rbp + 0x224], 0xffffffff
mov rcx, r12
mov dword [rbp + 0x220], r8d
mov r8d, dword [rsi + 8]
mov qword [rsp + 0x20], rax
call fcn.1400701ac
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
je 0x14003030c
lea eax, [r8 + 5]
cmp r14d, eax
jne 0x140030f33
mov r14d, r8d
mov dword [rsp + 0x30], r8d
mov dword [rbp + 0x220], r13d
movsxd rax, dword [rsi + 0xc]
mov rdi, r8
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
movsxd rdx, dword [rbp + rdi*4 + 0x220]
mov rcx, rbx
call fcn.140024ec8
add rdi, r13
add rbx, 0x38
cmp rdi, 3
jl 0x14003031c
jmp 0x14002c6b4
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov r9, qword [rsp + 0x48]
mov r12, rax
movsxd rdx, dword [rsi + 4]
shl rdx, 5
cmp dword [rsi + 0xc], 0xffffffff
mov rcx, qword [r9 + 0x20]
mov rax, qword [rdx + rcx + 8]
mov qword [rsp + 0x78], rax
mov rcx, qword [rax + 8]
mov r13, qword [rcx]
mov rcx, r13
movzx edi, byte [r13 + 9]
mov ebx, edi
cmovne ebx, dword [rsi + 0xc]
call fcn.140015cf0
xor edx, edx
lea rcx, [0x1400d6958]
test eax, eax
cmove ebx, edi
cmp byte [r13 + 0x13], dl
jne 0x1400303a0
mov rcx, qword [r13 + 0xd0]
mov eax, 5
cmp ebx, eax
jne 0x1400303cf
test rcx, rcx
je 0x1400303cd
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
and eax, 0x3fffffff
je 0x1400303cb
mov rcx, r13
call fcn.140015d10
xor edx, edx
test eax, eax
jne 0x1400303cf
jmp 0x1400303cd
xor edx, edx
mov ebx, edi
cmp ebx, edi
je 0x14003045f
mov ecx, 5
cmp edi, ecx
je 0x1400303e4
cmp ebx, ecx
jne 0x14003045f
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x5f], dl
je 0x140031172
cmp dword [rax + 0xbc], 1
jg 0x140031172
cmp edi, ecx
jne 0x140030427
mov rdx, rax
mov rcx, r13
call fcn.140015e18
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
jne 0x14003045f
mov edx, ebx
mov rcx, r13
call fcn.140015bf0
xor edx, edx
jmp 0x140030442
mov ecx, 4
cmp edi, ecx
jne 0x14003043d
lea edx, [rcx - 2]
mov rcx, r13
call fcn.140015bf0
xor edx, edx
test r14d, r14d
jne 0x140030462
mov rcx, qword [rsp + 0x78]
mov eax, 5
cmp ebx, eax
sete dl
inc edx
call fcn.1400238e8
mov r14d, eax
mov dword [rsp + 0x30], eax
test r14d, r14d
cmove edi, ebx
mov rcx, r13
mov edx, edi
call fcn.140015bf0
mov ecx, 0xa02
mov word [r12 + 8], cx
mov ecx, eax
call fcn.140050490
xor ecx, ecx
mov qword [r12 + 0x10], rax
test rax, rax
jne 0x140030491
mov eax, ecx
jmp 0x14003049f
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
and eax, 0x3fffffff
movzx edx, byte [rsp + 0x34]
mov r13d, 1
mov rcx, r12
mov byte [r12 + 0xa], r13b
mov dword [r12 + 0xc], eax
call fcn.140024614
mov r12, qword [rsp + 0x48]
jmp 0x14002cf0f
mov r8d, dword [rsi + 4]
lea rcx, [r15 + 0x90]
mov rdx, r12
call fcn.14005f0e0
jmp 0x14002e772
movsxd rcx, dword [rsi + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14001c7bc
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
je 0x140030c8f
cmp eax, 0x65
jne 0x140030f33
mov r14d, r8d
mov dword [rsp + 0x30], r8d
jmp 0x14002ce86
cmp dword [rsi + 4], r8d
jne 0x140030530
mov rcx, r12
call fcn.140029800
jmp 0x14002c45d
or dword [r15 + 0xc4], r13d
jmp case.0x14002c28b.83
mov r8b, byte [rsi + 0xc]
test r8b, r8b
jne 0x140030554
test dword [r12 + 0x30], 0x400
jne 0x14002c838
movsxd rax, dword [rsi + 4]
mov rcx, qword [r12 + 0x20]
mov edx, dword [rsi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140023768
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test eax, eax
je 0x14002c65d
cmp al, 6
jne 0x140030f33
mov r8, qword [rsi + 0x10]
lea rdx, str.database_table_is_locked:__s
jmp 0x140031165
mov rbx, qword [rsi + 0x10]
mov rcx, r12
mov rdx, rbx
call fcn.1400604f0
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r14d, eax
test rbx, rbx
je 0x14002cf12
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.1400298cc
jmp 0x14002cf0f
xor edx, edx
lea rcx, [rbp + 0x178]
lea r8d, [rdx + 0x38]
call qword [sym.imp.VCRUNTIME140.dll_memset]
movsxd rax, dword [rsi + 8]
lea rcx, [rbp + 0x178]
imul rdx, rax, 0x38
mov qword [rbp + 0x1a0], r12
add rdx, rbx
call fcn.1400250d0
mov dl, r13b
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x178]
mov r14d, eax
call fcn.140025584
test rax, rax
je 0x140030633
mov edx, dword [rsi + 4]
lea r9, [r15 + 0x90]
mov r8, rax
mov rcx, r12
call fcn.14005ffb0
mov r14d, eax
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x178]
call fcn.140024ad0
xor r8d, r8d
jmp 0x14002f5df
add dword [r12 + 0xc8], r13d
mov rcx, r12
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 4]
call fcn.140060354
dec dword [r12 + 0xc8]
jmp 0x14002e772
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0x18], r8
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1400311af
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400311af
mov rax, qword [rdi + 0x30]
lea rdx, [rbp + 0x18]
mov rcx, rbx
call qword [case.0x140008940.0]
mov rdx, rbx
mov rcx, r15
mov r14d, eax
mov dword [rsp + 0x30], eax
call fcn.1400298cc
xor r8d, r8d
test r14d, r14d
jne 0x140030f33
mov rax, qword [rbp + 0x18]
or r9d, 0xffffffff
mov rcx, r15
mov qword [rax], rbx
lea eax, [r14 + 2]
mov edx, dword [rsi + 4]
mov byte [rsp + 0x20], al
call fcn.14002be04
mov rcx, qword [rbp + 0x18]
xor r8d, r8d
test rax, rax
je 0x1400311a0
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r13d
jmp 0x14002c658
movsxd rax, dword [rsi + 0xc]
movsxd rcx, dword [rsi + 4]
mov r14, qword [r15 + 0x78]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x98]
add rdx, rbx
mov rax, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov qword [rsp + 0x78], rax
movsxd r9, dword [r11]
mov edx, dword [rdx]
mov rbx, qword [rax + 0x38]
mov r12, qword [rbx]
mov r13, qword [r12]
test r9d, r9d
jle 0x140030758
mov r15d, 1
mov r10d, r15d
movsxd rax, r10d
add r10d, r15d
imul rcx, rax, 0x38
add rcx, r11
mov qword [r14 + r8*8], rcx
add r8, r15
cmp r8, r9
jl 0x14003073b
mov r15, qword [rbp - 0x10]
mov r8, qword [rsi + 0x10]
mov rcx, rbx
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0x20], r14
call qword [case.0x140008940.0]
mov rdx, r12
mov rcx, r15
mov r14d, eax
mov dword [rsp + 0x30], eax
call fcn.1400298cc
xor r8d, r8d
test r14d, r14d
jne 0x14002ee07
mov rax, qword [r13 + 0x50]
mov rcx, rbx
call qword [case.0x140008940.0]
mov rcx, qword [rsp + 0x78]
xor r8d, r8d
mov byte [rcx + 2], r8b
test eax, eax
je 0x14002c9cb
lea r13d, [r14 + 1]
jmp 0x14002ce86
mov r13d, 1
xor r8d, r8d
jmp 0x14002ce86
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rbx, rcx
cmp byte [rdi + 2], r8b
je 0x1400307f1
mov rcx, rbx
call fcn.140024e18
jmp 0x14002c6b4
mov rax, qword [rdi + 0x38]
lea rcx, [rbp + 0x1e8]
xor edx, edx
mov r12, qword [rax]
lea r8d, [rdx + 0x38]
mov r14, qword [r12]
call qword [sym.imp.VCRUNTIME140.dll_memset]
xor eax, eax
mov qword [rbp + 0x1e8], rbx
cmp word [rsi + 2], ax
je 0x140030831
mov rcx, rbx
call fcn.140024e18
xor eax, eax
mov dword [rbx], eax
mov eax, 0x4001
jmp 0x140030841
movzx eax, word [rbx + 8]
mov ecx, 0x3e00
and ax, cx
or ax, r13w
mov word [rbx + 8], ax
lea rdx, [rbp + 0x1e8]
mov r8d, dword [rsi + 8]
mov rcx, qword [rdi + 0x38]
mov rax, qword [r14 + 0x58]
call qword [case.0x140008940.0]
mov rdx, r12
mov rcx, r15
mov r14d, eax
call fcn.1400298cc
mov eax, dword [rbp + 0x20c]
mov rcx, rbx
movzx edx, byte [rsp + 0x34]
test eax, eax
cmovne r14d, eax
mov dword [rsp + 0x30], r14d
call fcn.140024614
mov rcx, rbx
call fcn.14002500c
mov r12, qword [rsp + 0x48]
xor r8d, r8d
test eax, eax
jne 0x1400311bd
jmp 0x14002cf12
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x98]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], r8b
jne case.0x14002c28b.83
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov r13, qword [rbx]
mov rax, qword [r13 + 0x48]
call qword [case.0x140008940.0]
mov rdx, rbx
mov rcx, r15
mov r14d, eax
mov dword [rsp + 0x30], eax
call fcn.1400298cc
xor r8d, r8d
test r14d, r14d
jne 0x140030f33
mov rcx, qword [rdi + 0x38]
mov rax, qword [r13 + 0x50]
call qword [case.0x140008940.0]
xor r8d, r8d
lea r13d, [r14 + 1]
test eax, eax
jne 0x14002f492
mov rbx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
mov eax, dword [rsi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp 0x14002f497
mov rax, qword [rsi + 0x10]
mov edx, r13d
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.140024614
xor r8d, r8d
mov r14d, eax
test eax, eax
jne 0x140030f33
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rbx + 0x10]
mov rax, qword [rax + 0x98]
call qword [case.0x140008940.0]
mov rdx, rdi
mov rcx, r15
mov r14d, eax
mov dword [rsp + 0x30], eax
call fcn.1400298cc
and dword [r15 + 0xc4], 0xfffffffe
jmp 0x14002cf0f
mov rax, qword [rsi + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1400311af
mov r10, qword [rbx]
test r10, r10
je 0x1400311af
cmp qword [r10 + 0x68], r8
je 0x14002e1a8
movsxd rax, dword [rsi + 0xc]
xor r11d, r11d
movsxd rdx, dword [rsi + 8]
mov dil, byte [r12 + 0x66]
mov r8, qword [r15 + 0x78]
imul rcx, rax, 0x38
mov eax, r11d
add rcx, qword [rsp + 0x40]
test edx, edx
jle 0x1400309ed
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r13
cmp rax, rdx
jl 0x1400309dd
mov al, byte [rsi + 2]
lea r9, [rbp + 0x78]
mov byte [r12 + 0x66], al
mov rcx, rbx
mov rax, qword [r10 + 0x68]
call qword [case.0x140008940.0]
mov rdx, rbx
mov byte [r12 + 0x66], dil
mov rcx, r15
mov dword [rsp + 0x30], eax
mov r14d, eax
call fcn.1400298cc
xor r8d, r8d
test r14d, r14d
jne 0x140030a34
cmp dword [rsi + 4], r8d
je 0x140030a34
mov rax, qword [rbp + 0x78]
mov qword [r12 + 0x38], rax
cmp r14b, 0x13
jne 0x140030a7c
mov rax, qword [rsi + 0x10]
cmp byte [rax + 0x1c], r8b
je 0x140030a7c
mov r10d, 4
lea r11d, [r10 - 2]
cmp word [rsi + 2], r10w
jne 0x140030a62
mov r14d, r8d
mov dword [rsp + 0x30], r8d
jmp 0x14002ddae
movzx eax, byte [rsi + 2]
mov ecx, 5
cmp word [rsi + 2], cx
cmove eax, r11d
mov byte [r15 + 0xbe], al
jmp 0x140030a8a
add dword [r15 + 0x3c], r13d
mov r10d, 4
lea r11d, [r10 - 2]
test r14d, r14d
jne 0x140030f33
jmp 0x14002ddae
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
mov rcx, qword [r12 + 0x20]
movsxd rdx, dword [rsi + 4]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x3c]
mov qword [rax], rdx
jmp 0x14002c45d
mov rdx, rsi
mov rcx, r15
call fcn.14002c120
movsxd rdx, dword [rsi + 4]
mov rbx, rax
mov rcx, qword [r12 + 0x20]
xor eax, eax
mov r8d, dword [rsi + 0xc]
shl rdx, 5
mov r9, qword [rdx + rcx + 8]
mov edx, eax
test r8d, r8d
je 0x140030aff
mov rcx, qword [r9 + 8]
mov edx, dword [rcx + 0x3c]
cmp edx, r8d
cmovb edx, r8d
mov rcx, r9
call fcn.14001b514
movsxd rcx, eax
mov qword [rbx], rcx
jmp 0x14002c6b4
movzx ebx, word [rsi + 2]
mov rcx, r12
lea rdx, [rbx*8 + 0x30]
call fcn.1400093d8
xor r11d, r11d
mov r8, rax
test rax, rax
je 0x14002c79f
mov qword [rax], r11
mov rcx, qword [rsi + 0x10]
mov qword [rax + 8], rcx
mov rcx, rsi
sub rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r15
sar rdx, 2
mov byte [r8 + 0x2a], bl
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea eax, [r11 + 2]
mov dword [r8 + 0x20], edx
add byte [rsi], al
mov byte [rsi + 1], 0xf0
mov qword [rsi + 0x10], r8
jmp 0x140030b82
xor r11d, r11d
movsxd rax, dword [rsi + 0xc]
mov rbx, qword [rsi + 0x10]
mov r10, qword [rsp + 0x40]
imul rdi, rax, 0x38
add rdi, r10
cmp qword [rbx], rdi
je 0x140030bde
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx], rdi
sub rdx, 1
lea r9d, [rax - 1]
js 0x140030bde
lea r8, [rdx + 6]
mov r12d, 8
lea r8, [rbx + r8*8]
mov eax, dword [rsi + 8]
add eax, r9d
sub r9d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, r10
mov qword [r8], rcx
sub r8, r12
sub rdx, r13
jns 0x140030bbc
mov r12, qword [rsp + 0x48]
mov eax, 0x3e00
lea r8, [rbx + 0x30]
and word [rdi + 8], ax
mov rcx, rbx
or word [rdi + 8], r13w
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
mov byte [rbx + 0x29], r11b
mov rax, qword [rax + 0x18]
call qword [case.0x140008940.0]
xor r8d, r8d
cmp byte [rbx + 0x29], r8b
je 0x140030c61
cmp dword [rbx + 0x24], r8d
je 0x140030c3e
mov dl, r13b
mov rcx, rdi
call fcn.140025584
mov r8, rax
lea rdx, [0x1400d7794]
mov rcx, r15
call fcn.140025a64
mov r14d, dword [rbx + 0x24]
mov dword [rsp + 0x30], r14d
mov r9d, dword [rsi + 4]
lea rdx, [r15 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, r12
call fcn.1400281cc
xor r8d, r8d
test r14d, r14d
jne 0x140030f33
test byte [rdi + 8], 0x12
je 0x140030c8f
movzx edx, byte [rsp + 0x34]
mov rcx, rdi
call fcn.140024614
mov rcx, rdi
jmp 0x140030296
xor r8d, r8d
mov r11d, 2
jmp 0x14002dda8
mov r12, qword [rsp + 0x48]
mov r10d, 4
jmp 0x140030c7f
mov r12, r9
jmp 0x140030c8f
xor r8d, r8d
jmp 0x14002dda8
mov r12, qword [rsp + 0x48]
jmp 0x140030c7f
jmp 0x140030c8f
mov al, byte [r12 + 0x68]
test al, 0x81
je 0x140030daa
test byte [r15 + 0xc4], r11b
jne 0x140030daa
mov r9, qword [rsi + 0x10]
test r9, r9
jne 0x140030ce0
mov r9, qword [r15 + 0xf0]
test r9, r9
je 0x140030da5
test al, al
jns 0x140030d1d
mov rdi, qword [r12 + 0xd8]
mov rdx, r9
mov rcx, r15
call fcn.14002ba7c
mov rcx, qword [r12 + 0xe0]
mov rbx, rax
mov rdx, rax
mov rax, rdi
call qword [case.0x140008940.0]
mov rcx, rbx
call fcn.140009070
mov rbx, qword [rsp + 0x40]
jmp 0x140030d93
cmp dword [r12 + 0xc4], r13d
jle 0x140030d77
mov r8, r9
lea rdx, str.____s
mov rcx, r12
call fcn.14000a9b0
mov rdx, qword [r12 + 0xe0]
mov rbx, rax
mov r9, rax
mov r8, r15
mov rax, qword [r12 + 0xd8]
mov ecx, r13d
call qword [case.0x140008940.0]
xor r8d, r8d
test rbx, rbx
je 0x140030d70
mov rdx, rbx
mov rcx, r12
call fcn.140009118
jmp 0x140030d16
mov rbx, qword [rsp + 0x40]
jmp 0x140030d96
mov rdx, qword [r12 + 0xe0]
mov r8, r15
mov rax, qword [r12 + 0xd8]
mov ecx, r13d
call qword [case.0x140008940.0]
xor r8d, r8d
mov r11d, 2
mov edx, 0x2460
lea r10d, [r11 + 2]
mov r9, qword [rsp + 0x38]
mov eax, dword [rsi + 4]
cmp eax, dword [0x1401007a4]
jl 0x140030df5
cmp byte [rsi], 0xa6
je case.0x14002c28b.83
mov edx, r13d
cmp dword [r15 + 0xb8], r13d
jle 0x140030dee
mov eax, 0x18
mov rcx, qword [r15 + 0x68]
cmp byte [rax + rcx], 0x14
jne 0x140030dde
mov dword [rax + rcx + 4], r8d
add edx, r13d
add rax, 0x18
cmp edx, dword [r15 + 0xb8]
jl 0x140030dcf
mov dword [rsi + 4], r8d
mov eax, r8d
inc eax
mov dword [rsi + 4], eax
add dword [r15 + 0xe8], r13d
jmp 0x14002d55e
mov r12, qword [rsp + 0x48]
jmp 0x14002ddae
mov r12, qword [rsp + 0x48]
jmp case.0x14002c28b.83
mov dword [r15 + 0x38], ecx
mov al, byte [rsi + 8]
mov byte [r15 + 0xbe], al
mov dword [r15 + 0x34], ebx
test ecx, ecx
je 0x140030ebb
mov rcx, r15
cmp word [rsi + 2], r8w
je 0x140030e86
movzx r8d, word [rsi + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0xdcac0]
call fcn.140025a64
mov r9, qword [rsi + 0x10]
test r9, r9
je 0x140030e96
mov r8, qword [r15 + 0x90]
lea rdx, str._z:__s
mov rcx, r12
call fcn.14000a9b0
mov qword [r15 + 0x90], rax
jmp 0x140030e96
mov r8, qword [rsi + 0x10]
lea rdx, [0x1400d7794]
call fcn.140025a64
mov rax, qword [r15 + 0x90]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r15 + 0xf0]
mov r8d, ebx
mov ecx, dword [rsi + 4]
mov qword [rsp + 0x20], rax
call fcn.14000ab30
mov rcx, r15
call fcn.140027cec
mov r14d, eax
mov eax, 5
cmp r14d, eax
jne 0x1400313e3
mov dword [r15 + 0x38], eax
jmp 0x140030ff2
mov r14d, 0x14
jmp 0x140030f33
mov r9d, 0x142d8
lea rax, [0x1400dbe54]
mov r14d, 0xb
mov ecx, r14d
mov qword [rsp + 0x20], rax
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14000ab30
xor r8d, r8d
jmp 0x140030f33
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r15
call fcn.140025a64
xor r8d, r8d
mov r14d, 5
mov r12, rbx
cmp byte [r12 + 0x61], r8b
mov eax, 7
mov ebx, 0xc0a
cmovne r14d, eax
cmp r14d, ebx
je 0x140030f6e
cmp qword [r15 + 0x90], r8
jne 0x140030f6e
mov ecx, r14d
call fcn.14006f410
mov r8, rax
lea rdx, [0x1400d7794]
mov rcx, r15
call fcn.140025a64
mov edx, r14d
mov dword [r15 + 0x38], r14d
mov rcx, r12
call fcn.14000b52c
sub rsi, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r9, qword [r15 + 0xf0]
mov ecx, r14d
imul rsi
mov rax, qword [r15 + 0x90]
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.14000ab30
mov rcx, r15
call fcn.140027cec
cmp r14d, ebx
jne 0x140030fd4
mov rcx, r12
call fcn.140009664
mov al, byte [rsp + 0x68]
xor r8d, r8d
mov r14d, 1
test al, al
je 0x140030ff5
movzx edx, al
mov rcx, r12
dec edx
call fcn.1400407d8
xor r8d, r8d
mov eax, dword [rbp - 0x68]
add dword [r15 + 0xe0], eax
cmp dword [r15 + 0xcc], r8d
je 0x140031010
mov rcx, r15
call fcn.140026a28
mov eax, r14d
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.1400a95a0
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x14003135f
sub rsi, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor r8d, r8d
mov dword [r15 + 0x34], edx
mov byte [r14 + 0x5f], r8b
mov r14d, ecx
mov dword [r15 + 0x38], ecx
jmp 0x140030ff5
mov r8, r12
lea rdx, str.no_such_savepoint:__s
mov rcx, r15
call fcn.140025a64
mov r14d, 1
jmp 0x140031101
mov r14d, 8
jmp 0x140030f33
mov eax, 5
cmp r14b, al
jne 0x140030f33
sub rsi, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov dword [r15 + 0x38], r14d
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x34], edx
jmp 0x140030ff5
mov r14d, 0x204
jmp 0x140030f33
mov r14d, 0xd
mov r12, qword [rsp + 0x48]
jmp 0x140030f13
mov eax, 2
mov byte [r15 + 0xbe], al
lea r14d, [rax + 4]
jmp 0x140031101
mov r14d, 7
mov rcx, r12
call fcn.140040850
mov r8d, 7
cmp r14d, r8d
je 0x14002c79f
jmp 0x140030f13
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r15
mov r14d, r13d
call fcn.140025a64
jmp 0x140031101
mov dl, r13b
call fcn.140025584
mov r8, rax
lea rdx, [0x1400d7794]
mov rcx, r15
call fcn.140025a64
jmp 0x140030f13
cmp ebx, ecx
lea rax, str.into
lea r8, str.out_of
mov rcx, r15
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov r14d, 1
call fcn.140025a64
jmp 0x140031101
mov rax, qword [rdi + 0x38]
call qword [case.0x140008940.0]
jmp 0x14002c79f
mov r14d, 6
jmp 0x140030f33
mov r12, r9
lea rdx, str.string_or_blob_too_big
mov rcx, r15
call fcn.140025a64
mov r14d, 0x12
jmp 0x140030f13
mov rax, qword [r12 + 0x1a8]
test rax, rax
je 0x140031205
mov ecx, dword [rbp - 0x68]
cmp ecx, dword [rbp - 0x40]
jb 0x140031205
mov rcx, qword [r12 + 0x1b0]
call qword [case.0x140008940.0]
xor r8d, r8d
test eax, eax
jne 0x14002f4f9
xor edx, edx
mov rcx, r15
call fcn.140027c9c
xor r8d, r8d
mov r14d, eax
test eax, eax
jne 0x140030f33
mov rax, qword [r15]
cmp dword [rax + 0x288], r8d
je 0x14003123d
cmp dword [r15 + 0x40], r8d
je 0x14003123d
mov edx, r13d
mov rcx, r15
call fcn.140027ba8
xor r8d, r8d
mov eax, dword [r15 + 0x30]
mov edi, r8d
add eax, 2
or eax, r13d
mov dword [r15 + 0x30], eax
movsxd rax, dword [rsi + 4]
imul r14, rax, 0x38
add r14, rbx
mov qword [r15 + 0x88], r14
cmp dword [rsi + 8], r8d
jle 0x1400312b8
lea rbx, [r14 + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x14003128b
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, r14
call fcn.1400247b8
test eax, eax
jne 0x14002c79f
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x1400312a9
lea rcx, [rbx - 8]
call fcn.140024768
add edi, r13d
add rbx, 0x38
cmp edi, dword [rsi + 8]
jl 0x14003126a
xor r8d, r8d
cmp byte [r12 + 0x61], r8b
jne 0x14002c79f
mov ecx, 4
test byte [r12 + 0x68], cl
je 0x1400312ee
mov rdx, qword [r12 + 0xe0]
xor r9d, r9d
mov rax, qword [r12 + 0xd8]
mov r8, r15
call qword [case.0x140008940.0]
xor r8d, r8d
sub rsi, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov r14d, 0x64
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r13d
mov dword [r15 + 0x34], edx
jmp 0x140030ff5
movzx eax, byte [r12 + 0x5f]
mov ebx, dword [rsi + 4]
mov ecx, dword [rsi + 8]
cmp ebx, eax
je 0x1400313f9
test ecx, ecx
je 0x14003134a
mov edx, 0x204
mov rcx, r12
call fcn.14006f2c4
mov dil, r13b
jmp 0x14003138d
test ebx, ebx
je 0x140031372
cmp dword [r12 + 0xc0], r8d
jle 0x140031372
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r15
call fcn.140025a64
mov r14d, 5
jmp 0x140030f13
mov edx, r13d
mov rcx, r15
mov edi, ebx
call fcn.140027c9c
xor r8d, r8d
mov r14d, eax
test eax, eax
jne 0x140030ff5
mov rcx, r15
mov byte [r12 + 0x5f], dil
call fcn.140027cec
mov ecx, 5
cmp eax, ecx
jne 0x1400313db
sub rsi, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov r14d, ecx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub r13b, bl
mov dword [r15 + 0x34], edx
mov byte [r12 + 0x5f], r13b
mov dword [r15 + 0x38], ecx
jmp 0x140030ff2
mov rcx, r12
call fcn.14006ed14
mov eax, dword [r15 + 0x38]
neg eax
sbb r14d, r14d
and r14d, 0xffffff9c
add r14d, 0x65
jmp 0x140030ff2
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r15
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.140025a64
mov r14d, r13d
jmp 0x140030f13
mov al, byte [r12 + 0x61]
neg al
sbb r14d, r14d
and r14d, 0xfffffffe
add r14d, 9
mov ecx, r14d
mov dword [r15 + 0x38], r14d
call fcn.14006f410
jmp 0x14003115b