Function at 0x140162e4c
Capabilities:
Encode data using xor
Encrypt data using speck
Reference sql statements

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 - 0x338]
sub rsp, 0x410
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x14024a418]
xor rax, rsp
mov qword [rbp + 0x2e8], rax
mov r15, qword [rcx]
xor ebx, ebx
mov r8, rcx
mov r9, qword [rcx + 0x88]
mov r12, r9
mov rsi, qword [rcx + 0x68]
mov r14d, ebx
mov qword [rsp + 0x68], rcx
mov r10d, ebx
mov dil, byte [r15 + 0x64]
mov r11d, ebx
mov byte [rsp + 0x40], dil
mov qword [rsp + 0x58], r9
mov dword [rsp + 0x44], ebx
mov qword [rsp + 0x70], r15
mov byte [rbp - 0x60], bl
mov dword [rsp + 0x48], ebx
mov qword [rbp - 0x20], rbx
mov qword [rsp + 0x78], rsi
cmp dword [rcx + 0xd0], ebx
je 0x140162ef1
call fcn.140162d78
mov r8, qword [rsp + 0x68]
mov r9, r12
mov r10d, ebx
mov r11d, ebx
cmp qword [r15 + 0x210], rbx
je 0x140162f13
mov ecx, dword [r15 + 0x220]
xor edx, edx
mov eax, dword [r8 + 0xe4]
div ecx
sub ecx, edx
mov r13d, ecx
jmp 0x140162f17
or r13, 0xffffffffffffffff
cmp dword [r8 + 0x34], 7
mov edx, 1
mov qword [rsp + 0x60], r13
je 0x140169ad9
mov dword [r8 + 0x34], ebx
mov qword [r8 + 0x48], rbx
xor r8d, r8d
mov eax, dword [r15 + 0x198]
mov dword [r15 + 0x298], r8d
test eax, eax
jne 0x140169a7a
mov r12, qword [rsp + 0x68]
xorps xmm7, xmm7
movsxd rax, dword [r12 + 0x30]
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
lea ecx, [rdx + 3]
movzx ebx, byte [r13]
add r11, rdx
mov qword [rsp + 0x50], r13
mov eax, 5
mov qword [rbp - 0x20], r11
cmp ebx, 0x5a
ja 0x1401659b8
je 0x140165892
cmp ebx, 0x2c
ja 0x140164762
je 0x1401646ce
cmp ebx, 0x16
ja 0x140163f21
je 0x140163cf0
cmp ebx, 0xb
ja 0x140163ade
je 0x140163ab4
cmp ebx, eax
ja 0x1401638a5
je 0x140163864
cmp ebx, r8d
je 0x1401634ae
sub ebx, 1
je 0x1401695b4
sub ebx, 1
je 0x14016330a
sub ebx, 1
je 0x14016322b
cmp ebx, 1
jne 0x140163219
mov rdx, r13
mov rcx, r12
call fcn.14011faf4
movsxd rcx, dword [r13 + 4]
mov r14, rax
mov rax, qword [r15 + 0x20]
shl rcx, 5
cmp dword [r13 + 0xc], 0xffffffff
mov r15, qword [rcx + rax + 8]
mov rax, qword [r15 + 8]
mov rdi, qword [rax]
lea eax, [rbx + 2]
movzx esi, byte [rdi + 9]
mov ecx, esi
cmovne ecx, dword [r13 + 0xc]
xor edx, edx
cmp byte [rdi + 0x15], al
jb 0x140163036
mov eax, edx
jmp 0x14016304a
mov rax, qword [rdi + 0x50]
cmp qword [rax], rdx
je 0x140163045
cmp qword [rdi + 0x60], rdx
jg 0x140163032
mov eax, 1
test eax, eax
mov ebx, esi
cmovne ebx, ecx
cmp byte [rdi + 0x13], dl
jne 0x14016306b
lea rax, [0x140246430]
cmp qword [rdi], rax
je 0x14016306b
mov rcx, qword [rdi + 0xd8]
jmp 0x140163072
lea rcx, [0x14022cb0c]
mov r9d, 5
cmp ebx, r9d
jne 0x1401630e9
test rcx, rcx
je 0x1401630b7
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test eax, 0x3fffffff
je 0x1401630b7
mov rax, qword [rdi + 0x48]
xor edx, edx
mov rcx, qword [rax]
cmp byte [rdi + 0x11], dl
jne 0x1401630b7
cmp byte [rdi + 8], dl
jne 0x1401630ae
lea eax, [rdx + 2]
cmp dword [rcx], eax
jl 0x1401630b7
cmp qword [rcx + 0x68], rdx
je 0x1401630b7
mov ecx, 5
mov ebx, ecx
jmp 0x1401630ee
mov ebx, esi
mov r12d, dword [rsp + 0x44]
xor r15d, r15d
mov rcx, rdi
test r12d, r12d
cmove esi, ebx
mov edx, esi
call fcn.140153474
mov word [r14 + 0x14], 0x2202
cmp eax, 6
jne 0x14016318d
mov ecx, r15d
jmp 0x14016319e
mov ecx, 5
cmp ebx, esi
je 0x1401630b9
cmp esi, ecx
je 0x1401630fa
cmp ebx, ecx
jne 0x1401630b9
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x65], dl
je 0x14016950f
mov r11d, 1
cmp dword [rax + 0xdc], r11d
jg 0x14016950f
cmp esi, ecx
jne 0x140163143
mov rdx, rax
mov rcx, rdi
call fcn.140152668
mov dword [rsp + 0x44], eax
mov r12d, eax
test eax, eax
jne 0x1401630be
mov edx, ebx
mov rcx, rdi
call fcn.140153474
xor edx, edx
jmp 0x140163167
mov eax, 4
cmp esi, eax
jne 0x140163159
lea edx, [rax - 2]
mov rcx, rdi
call fcn.140153474
xor edx, edx
mov r12d, dword [rsp + 0x44]
test r12d, r12d
jne 0x1401630be
mov r9d, 5
mov rcx, r15
cmp ebx, r9d
sete dl
lea eax, [r9 - 4]
add edx, eax
call fcn.140135148
mov r12d, eax
mov dword [rsp + 0x44], eax
jmp 0x1401630be
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x22dc80]
mov qword [r14 + 8], rcx
test rcx, rcx
jne 0x1401631ac
mov eax, r15d
jmp 0x1401631b6
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
and eax, 0x3fffffff
mov edi, 1
mov dword [r14 + 0x10], eax
mov al, byte [rsp + 0x40]
mov byte [r14 + 0x16], dil
lea esi, [rdi + 1]
test byte [r14 + 0x14], sil
jne 0x1401631d6
mov byte [r14 + 0x16], al
jmp 0x1401631e5
cmp al, dil
je 0x1401631e5
mov dl, al
mov rcx, r14
call fcn.14016bdac
mov r14d, dword [rsp + 0x44]
xor r8d, r8d
mov r15, qword [rsp + 0x70]
test r14d, r14d
jne 0x140169b41
mov rsi, qword [rsp + 0x78]
mov dil, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x48]
mov edx, 1
mov ecx, 4
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov r11, qword [rbp - 0x20]
jmp 0x140162f65
mov edx, dword [r13 + 4]
lea rax, [rbp + 0x2e0]
or dword [rbp + 0x2e0], 0xffffffff
lea r9, [rbp + 0x2dc]
or dword [rbp + 0x2dc], 0xffffffff
mov rcx, r15
mov dword [rbp + 0x2d8], r8d
mov r8d, dword [r13 + 8]
mov qword [rsp + 0x20], rax
call fcn.140135a90
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
je 0x140163292
lea r9d, [r8 + 5]
cmp eax, r9d
jne 0x14016955f
lea edx, [r8 + 1]
mov dword [rsp + 0x44], r8d
mov dword [rbp + 0x2d8], edx
mov r14d, r8d
jmp 0x140163297
mov edx, 1
movsxd rax, dword [r13 + 0xc]
mov rdi, r8
imul rbx, rax, 0x38
mov ecx, 0x9000
add rbx, rsi
mov esi, 3
movsxd rax, dword [rbp + rdi*4 + 0x2d8]
test word [rbx + 0x14], cx
je 0x1401632d4
mov rdx, rax
mov rcx, rbx
call fcn.14017b660
mov edx, 1
mov ecx, 0x9000
jmp 0x1401632dd
mov qword [rbx], rax
mov word [rbx + 0x14], 4
add rdi, rdx
add rbx, 0x38
cmp rdi, rsi
jl 0x1401632af
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov dil, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x48]
xor r8d, r8d
jmp 0x140163214
mov edx, dword [r13 + 8]
mov ebx, r8d
mov dword [rbp - 0x80], ebx
cmp edx, r8d
je 0x140163330
mov rax, qword [r15 + 0x30]
movabs rcx, 0x200100000
test rcx, rax
jne 0x14016954c
movsxd rsi, dword [r13 + 4]
shl rsi, 5
add rsi, qword [r15 + 0x20]
mov rdi, qword [rsi + 8]
cmp rdi, r8
je 0x14016340b
lea r8, [rbp - 0x80]
mov rcx, rdi
call fcn.1401324a4
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x140169569
lea eax, [r14 + 0x20]
test byte [r12 + 0xc8], al
je 0x1401634a6
cmp dword [r13 + 8], r8d
je 0x1401634a6
lea eax, [r14 + 1]
cmp byte [r15 + 0x65], r8b
je 0x14016339a
cmp dword [r15 + 0xdc], eax
jle 0x1401634a6
mov r8d, dword [r12 + 0x40]
test r8d, r8d
jne 0x1401633be
add dword [r15 + 0x2f4], eax
mov r8d, dword [r15 + 0x2f4]
add r8d, dword [r15 + 0x2f0]
mov dword [r12 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r15
call fcn.14016e574
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x1401633f0
mov edx, dword [r12 + 0x40]
mov rcx, rdi
call fcn.140132434
mov r14d, eax
mov dword [rsp + 0x44], eax
xor r8d, r8d
mov rax, qword [r15 + 0x2f8]
mov ebx, dword [rbp - 0x80]
mov qword [r12 + 0x58], rax
mov rax, qword [r15 + 0x300]
mov qword [r12 + 0x60], rax
cmp r14d, r8d
jne 0x14016955f
cmp word [r13 + 2], r8w
je 0x1401631fb
cmp ebx, dword [r13 + 0xc]
jne 0x140163436
mov rcx, qword [rsi + 0x18]
mov eax, dword [r13 + 0x10]
cmp dword [rcx + 4], eax
je 0x1401631fb
mov rdx, qword [r12 + 0xa8]
cmp rdx, r8
je 0x14016344b
mov rcx, r15
call fcn.1401392a0
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.1401395a4
mov qword [r12 + 0xa8], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [r15 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x140163482
mov rcx, r15
call fcn.140159d18
mov eax, dword [r12 + 0xc8]
mov r14d, 0x11
and eax, 0xffffffed
lea edi, [r14 - 0x10]
or eax, edi
mov dword [r12 + 0xc8], eax
jmp 0x14016953f
mov ebx, dword [rbp - 0x80]
jmp 0x140163414
mov edi, dword [r13 + 4]
mov rsi, qword [r13 + 0x10]
mov dword [rbp - 0x78], edi
cmp edi, r8d
jne 0x140163594
cmp dword [r15 + 0xe0], r8d
jg 0x1401696dc
cmp rsi, r8
jne 0x1401634d9
mov edi, r8d
jmp 0x1401634ea
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rdi, rax
and edi, 0x3fffffff
mov r8d, dword [r15 + 0x2f4]
xor edx, edx
add r8d, dword [r15 + 0x2f0]
mov rcx, r15
call fcn.14016e574
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
mov edx, edi
mov rcx, r15
add rdx, 0x21
call fcn.140139358
xor r8d, r8d
mov rbx, rax
test rax, rax
je 0x140163833
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rdi + 1]
call sub.VCRUNTIME140.dll_memcpy
xor r8d, r8d
cmp byte [r15 + 0x65], r8b
je 0x14016355b
mov byte [r15 + 0x65], r8b
mov byte [r15 + 0x6d], 1
jmp 0x140163567
mov eax, 1
add dword [r15 + 0x2f0], eax
mov rax, qword [r15 + 0x2e0]
mov qword [rbx + 0x18], rax
mov rax, qword [r15 + 0x2f8]
mov qword [r15 + 0x2e0], rbx
mov qword [rbx + 8], rax
mov rax, qword [r15 + 0x300]
mov qword [rbx + 0x10], rax
jmp 0x140163833
mov r14, qword [r15 + 0x2e0]
mov ebx, r8d
cmp r14, r8
je 0x1401635c7
mov r11d, 1
mov rcx, qword [r14]
mov rdx, rsi
call fcn.14015e960
xor r8d, r8d
test eax, eax
je 0x1401635de
mov r14, qword [r14 + 0x18]
add ebx, r11d
test r14, r14
jne 0x1401635a9
mov r8, rsi
lea rdx, str.no_such_savepoint:__s
mov rcx, r12
call fcn.140162dfc
jmp 0x1401696cf
cmp dword [r15 + 0xe0], r8d
jle 0x1401635f0
cmp edi, r11d
je 0x1401696e8
lea rsi, [r14 + 0x18]
mov qword [rbp - 0x68], rsi
cmp qword [rsi], r8
jne 0x140163666
cmp byte [r15 + 0x6d], r8b
je 0x140163666
mov r13d, r11d
cmp edi, r11d
jne 0x140163669
mov edx, r11d
mov rcx, r12
call fcn.140162744
xor r8d, r8d
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140169c41
mov rcx, r12
mov byte [r15 + 0x65], r13b
call fcn.14016a360
mov r9d, 5
cmp eax, r9d
je 0x1401696f4
mov ecx, dword [r12 + 0x34]
xor r8d, r8d
mov dword [rsp + 0x44], ecx
test ecx, ecx
je 0x140163656
mov byte [r15 + 0x65], r8b
jmp 0x14016365a
mov byte [r15 + 0x6d], r8b
lea r12, [r15 + 0x2f0]
jmp 0x140163762
mov r13d, r8d
mov rdx, qword [rsp + 0x70]
lea r12, [r15 + 0x2f0]
mov eax, dword [r12]
mov ecx, 2
sub eax, ebx
sub eax, r11d
mov dword [rbp - 0x80], eax
cmp edi, ecx
jne 0x1401636dd
mov r15d, dword [r15 + 0x2c]
mov esi, r8d
and r15d, r11d
cmp dword [rdx + 0x28], r8d
jle 0x1401636e0
mov edi, r15d
mov rbx, r8
xor edi, r11d
mov rcx, qword [rdx + 0x20]
mov r8d, edi
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.140135764
xor r8d, r8d
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140169afd
mov rdx, qword [rsp + 0x70]
inc esi
add rbx, 0x20
cmp esi, dword [rdx + 0x28]
jl 0x1401636a3
mov eax, dword [rbp - 0x80]
jmp 0x1401636e0
mov r15d, r8d
mov edi, r8d
cmp dword [rdx + 0x28], r8d
jle 0x140163728
mov esi, dword [rbp - 0x78]
mov rbx, r8
mov rcx, qword [rdx + 0x20]
mov r8d, eax
mov edx, esi
mov rcx, qword [rbx + rcx + 8]
call fcn.140134c58
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov ecx, eax
test eax, eax
jne 0x140169afd
mov rdx, qword [rsp + 0x70]
inc edi
mov eax, dword [rbp - 0x80]
add rbx, 0x20
cmp edi, dword [rdx + 0x28]
jl 0x1401636ef
jmp 0x14016372c
mov ecx, dword [rsp + 0x44]
test r15d, r15d
mov r15, qword [rsp + 0x70]
je 0x140163758
xor edx, edx
mov rcx, r15
call fcn.14013b6f8
mov rcx, r15
call fcn.140159c8c
mov ecx, dword [rsp + 0x44]
mov eax, 1
or dword [r15 + 0x2c], eax
xor r8d, r8d
mov rsi, qword [rbp - 0x68]
mov edi, dword [rbp - 0x78]
mov ebx, dword [rbp - 0x80]
test ecx, ecx
jne 0x140169b2e
mov rcx, qword [r15 + 0x2e0]
cmp rcx, r14
je 0x14016379f
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r15
mov qword [r15 + 0x2e0], rax
call fcn.1401392a0
dec dword [r12]
mov rcx, qword [r15 + 0x2e0]
cmp rcx, r14
jne 0x140163776
xor r8d, r8d
mov edx, 1
cmp edi, edx
jne 0x1401637ef
mov rax, qword [rsi]
mov rdx, r14
mov rcx, r15
mov qword [r15 + 0x2e0], rax
call fcn.1401392a0
xor r8d, r8d
test r13d, r13d
jne 0x140163824
dec dword [r12]
mov esi, 2
mov r8d, ebx
mov edx, edi
mov rcx, r15
call fcn.14016e574
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x140169768
jmp 0x140163829
mov rax, qword [r14 + 8]
mov qword [r15 + 0x2f8], rax
mov rax, qword [r14 + 0x10]
mov qword [r15 + 0x300], rax
test r13d, r13d
je 0x1401637c9
mov esi, 2
cmp edi, esi
je 0x1401637ce
mov r13, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x68]
jmp 0x140163838
mov r14d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
mov edx, 1
mov eax, 3
cmp byte [r12 + 0xc5], al
je 0x14016973e
mov rsi, qword [rsp + 0x78]
mov dil, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x48]
jmp 0x140163214
cmp dword [r13 + 8], r8d
je 0x140163877
movsxd rax, dword [r13 + 8]
imul r9, rax, 0x38
add r9, rsi
jmp 0x14016387a
mov r9, r8
mov r8d, dword [r13 + 4]
lea rcx, [r12 + 0xa8]
mov rdx, r15
call fcn.14015a9e0
xor r8d, r8d
mov dword [rsp + 0x44], eax
test eax, eax
mov r14d, eax
jne 0x14016955f
jmp 0x140163205
sub ebx, 6
je 0x140163a02
sub ebx, 1
je 0x14016390b
sub ebx, 1
je 0x1401692aa
sub ebx, 1
je 0x140165273
cmp ebx, 1
jne 0x140163219
movsxd rax, dword [r13 + 4]
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
mov word [r8 + rsi + 0x14], cx
mov rcx, r13
sub rcx, r9
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rsi], rax
xor r8d, r8d
jmp 0x14016526e
mov qword [rbp + 0x10], r8
cmp byte [r15 + 0x67], r8b
jne 0x140169abc
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x10]
cmp rbx, r8
je 0x140169777
mov r10, qword [rbx]
cmp r10, r8
je 0x140169777
movsxd rdx, dword [r13 + 8]
cmp qword [r10 + 0x68], r8
je 0x140166f75
movsxd rax, dword [r13 + 0xc]
xor r11d, r11d
mov dil, byte [r15 + 0x6c]
mov r8, qword [r12 + 0x70]
imul rcx, rax, 0x38
mov eax, r11d
add rcx, rsi
test edx, edx
jle 0x140163976
lea r11d, [rax + 1]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r11
cmp rax, rdx
jl 0x140163966
mov al, byte [r13 + 2]
lea r9, [rbp + 0x10]
mov rcx, rbx
mov byte [r15 + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r15 + 0x6c], dil
mov rcx, r12
mov dword [rsp + 0x44], eax
mov r14d, eax
call fcn.14016e2ec
xor r8d, r8d
test r14d, r14d
jne 0x1401639d5
cmp dword [r13 + 4], r8d
je 0x1401639b5
mov rax, qword [rbp + 0x10]
mov qword [r15 + 0x38], rax
mov edx, 1
add qword [r12 + 0x38], rdx
test r14d, r14d
je 0x140163850
mov r12, qword [rsp + 0x50]
mov rdi, rdx
jmp 0x140169b11
cmp r14b, 0x13
jne 0x1401639b5
mov rax, qword [r13 + 0x10]
cmp byte [rax + 0x1c], r8b
je 0x1401639b5
mov ecx, 4
cmp word [r13 + 2], cx
jne 0x140169749
mov r14d, r8d
mov dword [rsp + 0x44], r8d
jmp 0x140166f6b
movsxd rax, dword [r13 + 0xc]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
mov r13, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov edx, dword [rdx + rsi]
add r11, rsi
mov rsi, qword [r12 + 0x70]
mov rbx, qword [r13 + 0x30]
movsxd r9, dword [r11]
mov r15, qword [rbx]
mov r14, qword [r15]
test r9d, r9d
jle 0x140163a5a
mov r12d, 1
mov r10d, r12d
movsxd rax, r10d
add r10d, r12d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rsi + r8*8], rcx
add r8, r12
cmp r8, r9
jl 0x140163a41
mov r12, qword [rsp + 0x50]
mov rcx, rbx
mov qword [rsp + 0x20], rsi
mov r8, qword [r12 + 0x10]
call qword [r14 + 0x40]
mov rcx, qword [rsp + 0x68]
mov rdx, r15
mov edi, eax
mov dword [rsp + 0x44], eax
call fcn.14016e2ec
xor r8d, r8d
test edi, edi
jne 0x140169b02
mov rcx, rbx
call qword [r14 + 0x50]
xor r8d, r8d
mov r14d, edi
mov byte [r13 + 2], r8b
mov r13, r12
test eax, eax
jne 0x140163c26
mov r15, qword [rsp + 0x70]
jmp 0x1401631fb
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, dword [r13 + 0xc]
sub eax, edx
cdqe
mov qword [rcx + rsi], rax
mov word [rcx + rsi + 0x14], 4
cmp dword [r13 + 8], r8d
je 0x140163214
jmp 0x140163df5
cmp ebx, 0x11
ja 0x140163cca
je 0x140163ca0
sub ebx, 0xc
je 0x140163c5a
sub ebx, 1
je 0x140163bec
sub ebx, 1
je 0x140163bc4
sub ebx, 1
je 0x140163b3a
cmp ebx, 1
jne 0x140163219
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140162628
xor r8d, r8d
test eax, eax
jne 0x140163c26
jmp 0x140163205
mov r8, qword [r12 + 0x108]
test r8, r8
je 0x140163b9b
mov r9, qword [r8 + 0x28]
mov rcx, r13
sub rcx, qword [r12 + 0x88]
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 0x140163de8
bts eax, edx
mov edx, 1
mov byte [rcx + r9], al
mov r9, qword [rsp + 0x58]
jmp 0x140163bb0
mov rcx, qword [r12 + 0x88]
mov eax, dword [r13 + 4]
cmp dword [rcx + 4], eax
je 0x140163df2
mov rax, qword [r12 + 0x88]
mov ecx, dword [rax + 4]
mov dword [r13 + 4], ecx
jmp 0x140163302
cmp r10d, r8d
jge 0x140163bde
mov eax, dword [r13 + 4]
sub eax, edx
cdqe
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
jmp 0x140163214
jne 0x140163be6
mov eax, dword [r13 + 8]
jmp 0x140163bcd
mov eax, dword [r13 + 0xc]
jmp 0x140163bcd
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, rsi
movzx eax, word [rbx + 0x14]
test cl, al
jne 0x140163c3f
mov r8b, dil
mov dl, 0x43
mov rcx, rbx
call fcn.1400e5c18
movzx eax, word [rbx + 0x14]
mov ecx, 4
xor r8d, r8d
test cl, al
jne 0x140163c35
cmp dword [r13 + 8], r8d
je 0x140169782
mov r9, qword [rsp + 0x58]
mov edx, 1
jmp 0x140163df5
mov r9, qword [rsp + 0x58]
mov edx, 1
mov r10d, 0xf244
and ax, r10w
or ax, cx
mov word [rbx + 0x14], ax
mov r10d, dword [rsp + 0x48]
jmp 0x140163219
movsxd rax, dword [r13 + 4]
sub r13, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
mov word [r8 + rsi + 0x14], cx
movsxd rcx, dword [r8 + rsi]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
lea r13, [r9 + rcx*8]
mov qword [r8 + rsi], rax
xor r8d, r8d
jmp 0x14016320f
cmp dword [r13 + 0xc], r8d
mov edx, r8d
movsxd rax, dword [r13 + 4]
sete dl
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140162628
xor r8d, r8d
test eax, eax
je 0x140163c26
jmp 0x140163205
mov ecx, ebx
sub ecx, 0x12
je 0x140163e96
sub ecx, 1
je 0x140163e15
sub ecx, 1
je 0x140163dad
cmp ecx, 1
jne 0x140163214
mov rax, qword [r12 + 0x78]
mov r12d, r8d
movsxd rcx, dword [r13 + 4]
mov rsi, qword [rax + rcx*8]
mov byte [rsi + 2], r8b
mov byte [rsi + 3], r8b
mov dword [rsi + 0x20], r8d
cmp byte [rsi + 4], r8b
je 0x140164095
movsxd rax, dword [r13 + 0xc]
mov ecx, 2
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x78]
movzx r14d, word [rdi + 0x14]
mov al, r14b
and al, 0x2e
cmp al, cl
jne 0x140163d40
xor edx, edx
mov rcx, rdi
call fcn.1400e5c84
mov rcx, rdi
call fcn.14016a910
movzx ecx, word [rdi + 0x14]
mov r15, rax
mov word [rdi + 0x14], r14w
test cl, 0x24
jne 0x14016405f
mov eax, 8
test al, cl
jne 0x140164035
lea edx, [rax - 7]
xor r8d, r8d
test dl, cl
jne 0x1401675db
cmp ebx, 0x17
jae 0x1401675db
mov rcx, qword [rsi + 0x30]
cmp byte [rcx], r8b
jne 0x140164010
test byte [rcx + 1], al
je 0x140164010
mov dword [rbp - 0x70], r8d
mov r14d, r8d
mov dword [rsp + 0x44], r8d
mov r15, qword [rsp + 0x70]
jmp 0x14016384b
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
cmp rdx, r8
je 0x14016320f
cmp byte [rdx + 2], r8b
je 0x14016320f
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x140163e0a
call fcn.14017a5cc
mov r9, qword [rsp + 0x58]
mov edx, 1
xor r8d, r8d
mov eax, dword [r13 + 8]
sub eax, edx
cdqe
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
jmp 0x140165f89
mov edx, 1
mov word [rcx + 0x14], dx
jmp 0x140163df5
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rcx, rsi
add rbx, rsi
test byte [rcx + 0x14], dl
jne 0x140163e78
xor edx, edx
call fcn.140162628
xor r8d, r8d
test eax, eax
mov ecx, r8d
mov eax, 0x9000
sete cl
test word [rbx + 0x14], ax
je 0x140163e67
mov rdx, rcx
mov rcx, rbx
call fcn.14017b660
mov r9, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x48]
jmp 0x140163c98
mov qword [rbx], rcx
mov ecx, 4
mov word [rbx + 0x14], cx
jmp 0x140166f70
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140163e8d
mov rcx, rbx
call fcn.14017a5cc
jmp 0x140163e58
mov word [rbx + 0x14], dx
jmp 0x140163214
cmp dword [r13 + 4], r8d
jl 0x140163eeb
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0x4a]
cmp dword [r13 + 0xc], eax
jge 0x140163ee5
movsxd rax, dword [r13 + 0xc]
mov ecx, dword [rcx + rax*4 + 0x70]
cmp ecx, 0xc
jb 0x140163ed1
and cl, dl
neg cl
sbb ax, ax
and ax, 0xfffc
add ax, 8
jmp 0x140163f11
mov rax, rcx
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x22e048]
jmp 0x140163f11
mov ecx, dword [r13 + 0x10]
jmp 0x140163f0a
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rcx + rsi + 0x14]
lea rcx, [0x140000000]
and eax, 0x3f
movzx ecx, byte [rax + rcx + 0x22cb10]
sub ecx, edx
mov eax, edx
shl ax, cl
test word [r13 + 2], ax
jne 0x140163df5
jmp 0x140163214
cmp ebx, 0x21
ja 0x14016450f
je 0x140164499
cmp ebx, 0x1c
ja 0x1401641f8
je 0x140163f66
mov ecx, ebx
sub ecx, 0x17
je 0x140163cf0
sub ecx, 1
je 0x140163cf0
sub ecx, 1
je 0x140163fe6
sub ecx, 1
je 0x140163fca
cmp ecx, 1
jne 0x140163214
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, rsi
mov word [rbp + 0x94], ax
mov qword [rbp + 0x80], rcx
cmp ax, r8w
jbe 0x14016437f
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov byte [rbp + 0x96], r8b
lea rdx, [rbp + 0x78]
mov qword [rbp + 0x78], rax
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.140133644
mov r14d, eax
mov dword [rsp + 0x44], eax
jmp 0x1401643fa
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r13 + 0x10]
jl 0x140163f66
jmp 0x140163214
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
cmp rdx, r8
je 0x14016526e
cmp byte [rdx + 2], r8b
mov edx, 1
je 0x140163214
jmp 0x140165273
lea rdx, [rbp - 0x70]
call fcn.1400e8e40
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
je 0x1401641d2
mov r12, qword [rsp + 0x50]
jmp 0x140169b07
movsd xmm1, qword [rdi]
mov rcx, r15
call fcn.14015005c
test eax, eax
jle 0x140164052
mov eax, 1
test al, bl
jne 0x14016405f
sub ebx, eax
jmp 0x14016405f
jns 0x14016405f
mov eax, 1
test al, bl
je 0x14016405f
add ebx, eax
lea rdi, [rsi + 0x30]
xor r8d, r8d
mov rcx, qword [rdi]
lea r9, [rbp - 0x70]
mov rdx, r15
call fcn.1401351f8
xor r8d, r8d
mov qword [rsi + 0x50], r15
mov r15, qword [rsp + 0x70]
mov r14d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14016955f
jmp 0x140164127
lea rdi, [rsi + 0x30]
mov rax, qword [rdi]
mov r14b, byte [rax + 3]
mov rax, qword [rsi + 0x38]
and r14b, 2
mov qword [rbp + 0xa0], rax
movzx eax, word [r13 + 0x10]
setne r12b
mov word [rbp + 0xbc], ax
lea eax, [rbx - 1]
and al, dl
mov byte [rbp + 0xc2], r8b
neg al
lea r8, [rbp - 0x70]
movsxd rax, dword [r13 + 0xc]
sbb cl, cl
and cl, 0xfe
add cl, dl
lea rdx, [rbp + 0xa0]
mov byte [rbp + 0xbe], cl
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x78]
mov qword [rbp + 0xa8], rcx
mov rcx, qword [rdi]
call fcn.140133644
xor r8d, r8d
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140169b2e
test r14b, r14b
je 0x140164122
cmp byte [rbp + 0xc2], r8b
je 0x1401641cd
mov r14d, dword [rsp + 0x44]
mov eax, dword [rbp - 0x70]
cmp ebx, 0x17
jl 0x14016417b
test eax, eax
js 0x140164143
jne 0x14016413a
cmp ebx, 0x18
je 0x140164143
mov dword [rbp - 0x70], r8d
jmp 0x1401641dc
mov rcx, qword [rdi]
xor edx, edx
mov dword [rbp - 0x70], r8d
call fcn.140134390
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
je 0x1401641dc
cmp eax, 0x65
jne 0x14016955f
lea edx, [rax - 0x64]
mov dword [rsp + 0x44], r8d
mov dword [rbp - 0x70], edx
mov r14d, r8d
jmp 0x140164505
test eax, eax
jg 0x140164197
jne 0x140164186
cmp ebx, 0x15
je 0x140164197
mov rax, qword [rdi]
mov ecx, r8d
cmp byte [rax], r8b
setne cl
mov dword [rbp - 0x70], ecx
jmp 0x1401641d2
mov rcx, qword [rdi]
xor edx, edx
mov dword [rbp - 0x70], r8d
call fcn.140134a44
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
je 0x1401641dc
cmp eax, 0x65
jne 0x14016955f
lea eax, [r8 + 1]
mov dword [rsp + 0x44], r8d
mov dword [rbp - 0x70], eax
mov r14d, r8d
jmp 0x1401641d2
mov r14d, dword [rsp + 0x44]
cmp dword [rbp - 0x70], r8d
jne 0x140163c26
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
test r12d, r12d
je 0x140163200
add r13, 0x18
jmp 0x140163200
mov ecx, ebx
sub ecx, 0x1d
je 0x140163f66
sub ecx, 1
je 0x140164296
sub ecx, 1
je 0x140164302
cmp ecx, 1
jne 0x140163214
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
mov eax, r8d
mov dword [rbp - 0x78], eax
mov rcx, qword [rdi + 0x30]
cmp bl, 0x89
jne 0x140167e39
or dword [rdi + 0x24], 0xffffffff
cmp byte [rcx], r8b
je 0x140164de2
lea rdx, [rbp - 0x78]
call fcn.1400e8e40
mov r9, qword [rsp + 0x58]
xor r8d, r8d
mov r14d, eax
mov dword [rsp + 0x44], eax
mov eax, dword [rbp - 0x78]
lea edx, [r8 + 1]
mov byte [rdi + 2], al
mov byte [rdi + 3], r8b
mov dword [rdi + 0x20], r8d
cmp r14d, r8d
jne 0x14016955f
cmp dword [r13 + 8], r8d
jle 0x14016463d
cmp eax, r8d
je 0x14016463d
jmp 0x140163df5
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
test byte [rcx + 0x14], 0x24
jne 0x140164302
movups xmm0, xmmword [rcx]
mov r8b, dil
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x1c8], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x1d8], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x1c8]
movups xmmword [rbp + 0x1e8], xmm0
movsd qword [rbp + 0x1f8], xmm1
call fcn.1400e5c18
mov eax, 4
xor r8d, r8d
test byte [rbp + 0x1dc], al
je 0x140163c26
mov rdi, qword [rbp + 0x1c8]
jmp 0x14016430e
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + rsi]
movsxd rcx, dword [r13 + 4]
lea r9, [rbp - 0x78]
mov rax, qword [r12 + 0x78]
mov rdx, rdi
mov dword [rbp - 0x78], r8d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.1401351f8
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
mov qword [rbx + 0x50], rdi
mov eax, dword [rbp - 0x78]
mov word [rbx + 2], r8w
mov dword [rbx + 0x20], r8d
mov dword [rbx + 0x24], eax
test eax, eax
je 0x140164371
cmp dword [r13 + 8], r8d
jne 0x140164c6f
mov ecx, 0x1754b
call fcn.140137a14
mov r14d, eax
mov dword [rsp + 0x44], eax
xor r8d, r8d
test r14d, r14d
jne 0x14016955f
jmp 0x140163200
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x14016439b
call fcn.14016b2b8
xor esi, esi
test eax, eax
jne 0x140169abc
jmp 0x14016439d
xor esi, esi
mov rcx, qword [rbx + 0x38]
call fcn.140162598
mov rdi, rax
test rax, rax
je 0x140169abc
mov rdx, qword [rbp + 0x80]
mov r9, rax
mov rcx, qword [rbx + 0x38]
mov r8, qword [rdx + 8]
mov edx, dword [rdx + 0x10]
call fcn.14016ca48
mov byte [rdi + 0x1e], sil
mov rdx, rdi
mov rcx, qword [rbx + 0x30]
lea rsi, [rbx + 0x24]
mov r8, rsi
call fcn.140133644
mov rdx, rdi
mov dword [rsp + 0x44], eax
mov rcx, r15
mov r14d, eax
call fcn.1401392a0
mov dil, byte [rsp + 0x40]
xor r8d, r8d
test r14d, r14d
jne 0x14016955f
mov ecx, dword [rsi]
test ecx, ecx
mov byte [rbx + 3], r8b
setne al
mov dword [rbx + 0x20], r8d
mov byte [rbx + 2], al
cmp byte [r13], 0x1d
jne 0x140164431
test ecx, ecx
je 0x140163c26
mov rsi, qword [rsp + 0x78]
jmp 0x140163205
test ecx, ecx
jne 0x140163c26
cmp byte [r13], 0x1b
jne 0x14016447b
movzx edx, word [rbp + 0x94]
mov rcx, r8
test rdx, rdx
je 0x1401631fb
mov rax, qword [rbp + 0x80]
mov r9d, 1
add rax, 0x14
test byte [rax], r9b
jne 0x1401675ed
add rcx, r9
add rax, 0x38
cmp rcx, rdx
jl 0x140164464
jmp 0x140164427
cmp byte [r13], 0x1a
mov rsi, qword [rsp + 0x78]
jne 0x140163200
movzx eax, word [r13 + 0x10]
mov word [rbx + 0xc], ax
jmp 0x140163205
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x30]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.140133394
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
cmp dword [rbp - 0x30], r8d
jne 0x140164c6f
mov rcx, rbx
call fcn.140134c0c
xor r8d, r8d
test rax, rax
js 0x140163200
mov rcx, rax
call fcn.1401511d4
movsx ecx, ax
xor r8d, r8d
cmp ecx, dword [r13 + 0xc]
jge 0x140163200
lea edx, [r14 + 1]
mov dword [rbp - 0x30], edx
mov r9, qword [rsp + 0x58]
jmp 0x140163df5
cmp ebx, 0x27
ja 0x1401646a8
je 0x140164647
sub ebx, 0x22
je 0x140164577
sub ebx, 1
je 0x140164577
sub ebx, 1
je 0x14016457f
sub ebx, 1
je 0x14016455a
cmp ebx, 1
jne 0x140163219
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140134a44
jmp 0x140164661
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
mov rdx, rbx
call fcn.14016d19c
jmp 0x140164661
add dword [r12 + 0xdc], edx
movsxd rcx, dword [r13 + 4]
mov edi, edx
mov rax, qword [r12 + 0x78]
mov dword [rbp - 0x78], edx
mov rsi, qword [rax + rcx*8]
mov rbx, qword [rsi + 0x30]
cmp byte [rsi], dl
jne 0x1401645f1
mov r14d, r8d
mov dword [rsp + 0x44], r8d
cmp byte [rbx + 0x58], r8b
jne 0x1401645c1
lea rdx, [rbx + 0x38]
cmp qword [rdx], r8
je 0x140164612
lea rcx, [rbx + 0x60]
mov edi, r8d
call fcn.14017c544
xor r8d, r8d
jmp 0x14016460b
mov rcx, rbx
call fcn.14017bb90
mov edx, eax
mov rcx, rbx
call fcn.14017bce8
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x140164612
mov rcx, rbx
call fcn.14017c2cc
xor r8d, r8d
mov edi, r8d
jmp 0x14016460b
lea rdx, [rbp - 0x78]
mov rcx, rbx
call fcn.140133394
mov edi, dword [rbp - 0x78]
xor r8d, r8d
mov byte [rsi + 3], r8b
mov dword [rsi + 0x20], r8d
mov r14d, eax
mov dword [rsp + 0x44], eax
cmp r14d, r8d
jne 0x14016955f
mov r9, qword [rsp + 0x58]
mov edx, 1
mov byte [rsi + 2], dil
cmp dword [r13 + 8], r8d
jle 0x140164638
cmp edi, r8d
jne 0x140163df5
mov rsi, qword [rsp + 0x78]
mov dil, byte [rsp + 0x40]
jmp 0x14016385a
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140134390
mov r14d, eax
mov dword [rsp + 0x44], eax
xor r8d, r8d
mov dword [rbx + 0x20], r8d
test eax, eax
jne 0x14016468d
mov byte [rbx + 2], r8b
lea edx, [r14 + 1]
movzx eax, word [r13 + 2]
add dword [r12 + rax*4 + 0xd4], edx
jmp 0x140165273
cmp r14d, 0x65
jne 0x14016955f
mov r14d, r8d
mov dword [rsp + 0x44], r8d
mov byte [rbx + 2], 1
jmp 0x1401687ba
mov ecx, ebx
sub ecx, 0x28
je 0x140164b92
sub ecx, 1
je 0x140164b92
sub ecx, 1
je 0x140164b92
cmp ecx, 1
jne 0x140163214
movsxd rax, dword [r13 + 4]
mov r12d, 2
imul rcx, rax, 0x38
mov edx, r12d
add rcx, rsi
call fcn.140162628
movsxd rcx, dword [r13 + 8]
mov edx, r12d
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, rsi
call fcn.140162628
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r13], 0x2c
movsxd r8, eax
lea rax, [0x140000000]
jne 0x14016471c
mov r8b, byte [r8 + rax + 0x22e028]
jmp 0x140164724
mov r8b, byte [r8 + rax + 0x22e038]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
movzx ecx, word [rdx + rsi + 0x14]
cmp r8b, r12b
jne 0x140164744
mov eax, 0xf241
and cx, ax
or cx, 1
jmp 0x140164758
movzx eax, r8b
mov qword [rdx + rsi], rax
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rdx + rsi + 0x14], cx
jmp 0x140163e58
cmp ebx, 0x43
ja 0x1401652ad
je 0x140165292
cmp ebx, 0x38
ja 0x140164cd0
je 0x140164d89
cmp ebx, 0x32
ja 0x140164c8a
je 0x140164c79
mov ecx, ebx
sub ecx, 0x2d
je 0x140164b92
sub ecx, 1
je 0x140164ac4
sub ecx, 1
je 0x140164a49
sub ecx, 1
je 0x1401647e6
cmp ecx, 1
jne 0x140163214
cmp dword [r13 + 4], r8d
je 0x1401647df
cmp qword [r15 + 0x2f8], r8
jne 0x140163214
cmp qword [r15 + 0x300], r8
je 0x140163df5
jmp 0x140163214
cmp qword [r12 + 0x50], r8
jmp 0x1401647c7
movsxd rax, dword [r13 + 0xc]
mov r15, qword [r13 + 0x10]
imul rbx, rax, 0x38
add rbx, rsi
cmp word [r13 + 2], r8w
je 0x14016481d
mov rcx, qword [r15 + 0x20]
mov rax, qword [r12 + 0x108]
jmp 0x140164818
cmp qword [rax + 0x30], rcx
je 0x140169505
mov rax, qword [rax + 8]
cmp rax, r8
jne 0x14016480a
mov r8, qword [rsp + 0x70]
mov eax, dword [r8 + 0xb0]
cmp dword [r12 + 0x118], eax
jge 0x14016978d
mov eax, 0x10
test byte [rbx + 0x14], al
jne 0x14016496b
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
add ecx, edx
test edx, edx
lea r14d, [rcx + 1]
cmovne r14d, ecx
lea eax, [r14 + 2]
imul ecx, eax, 7
mov eax, dword [r15 + 8]
add ecx, edx
add eax, 7
jns 0x14016486e
add eax, 7
sar eax, 3
lea esi, [rax + rcx*8]
mov rcx, r8
movsxd rdx, esi
call fcn.140139434
xor r9d, r9d
mov rdi, rax
test rax, rax
je 0x140169aca
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x14016489f
cmp dword [rbx + 0x20], r9d
je 0x1401648aa
mov rcx, rbx
call fcn.14017a590
xor r9d, r9d
sub r13, qword [rsp + 0x58]
lea rax, [0x14016a184]
mov r8, qword [rsp + 0x70]
mov qword [rbx + 0x30], rax
mov word [rbx + 0x14], 0x1010
mov qword [rbx + 8], rdi
mov dword [rbx + 0x10], esi
mov qword [rdi], r12
mov dword [rdi + 0x58], r14d
mov eax, dword [r15 + 0x10]
mov dword [rdi + 0x5c], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rdi + 0x4c], edx
mov rax, qword [r12 + 0x68]
mov qword [rdi + 0x18], rax
mov eax, dword [r12 + 0x24]
mov dword [rdi + 0x54], eax
mov rax, qword [r12 + 0x78]
mov qword [rdi + 0x20], rax
mov eax, dword [r12 + 0x28]
mov dword [rdi + 0x48], eax
mov rax, qword [r12 + 0x88]
mov qword [rdi + 0x10], rax
mov eax, dword [r12 + 0x90]
mov dword [rdi + 0x50], eax
mov rax, qword [r15 + 0x20]
mov qword [rdi + 0x30], rax
movsxd rax, r14d
add rax, 2
imul rcx, rax, 0x38
lea rax, [rdi + 0x70]
add rcx, rdi
cmp rax, rcx
je 0x14016495f
mov word [rax + 0x14], r9w
mov qword [rax + 0x18], r8
add rax, 0x38
jmp 0x14016494b
mov r14d, dword [rsp + 0x44]
mov edx, 1
jmp 0x14016496f
mov rdi, qword [rbx + 8]
add dword [r12 + 0x118], edx
lea rsi, [rdi + 0x70]
mov rax, qword [r12 + 0x108]
mov qword [rdi + 8], rax
mov rax, qword [r8 + 0x38]
mov qword [rdi + 0x38], rax
mov rax, qword [r12 + 0x38]
mov qword [rdi + 0x60], rax
mov rax, qword [r12]
mov qword [rsp + 0x78], rsi
mov rcx, qword [rax + 0x78]
mov qword [rdi + 0x68], rcx
mov rax, qword [r12 + 0x128]
mov qword [rdi + 0x40], rax
xor eax, eax
mov qword [r12 + 0x128], rax
mov qword [r12 + 0x38], rax
mov qword [r12 + 0x108], rdi
mov qword [r12 + 0x68], rsi
movsxd rcx, dword [rdi + 0x58]
mov dword [r12 + 0x24], ecx
movzx eax, word [rdi + 0x5c]
mov dword [r12 + 0x28], eax
imul rcx, rcx, 0x38
add rcx, rsi
mov qword [r12 + 0x78], rcx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [rdi + 0x28], rcx
mov eax, dword [r15 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [r15]
mov qword [r12 + 0x88], rcx
mov eax, dword [r15 + 8]
mov r15, qword [rsp + 0x70]
lea r13, [rcx - 0x18]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], r13
mov dword [r12 + 0x90], eax
mov dil, byte [rsp + 0x40]
jmp 0x1401687b7
movsxd rax, dword [r13 + 4]
mov edi, dword [r13 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rbx, rsi
imul rsi, rax, 0x38
mov eax, 0x10
add rsi, qword [rsp + 0x78]
test byte [rbx + 0x14], al
jne 0x140164a82
mov rcx, rbx
call fcn.14016b84c
xor r8d, r8d
test eax, eax
jne 0x140169abc
cmp edi, r8d
je 0x140164aa9
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.14015a4fc
xor r8d, r8d
test eax, eax
jne 0x140164c6f
cmp edi, r8d
jl 0x1401631fb
mov rdx, qword [rsi]
mov rcx, qword [rbx + 8]
call fcn.14015a4a8
mov rsi, qword [rsp + 0x78]
mov dil, byte [rsp + 0x40]
jmp 0x140163e58
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
mov eax, 0x10
add rdi, rsi
test byte [rdi + 0x14], al
je 0x140164b67
mov rbx, qword [rdi + 8]
mov eax, 2
test byte [rbx + 0x32], al
jne 0x140164b0d
test byte [rbx + 0x32], dl
jne 0x140164b04
mov rcx, qword [rbx + 0x10]
call fcn.140128fec
xor r8d, r8d
mov qword [rbx + 0x10], rax
lea edx, [r8 + 1]
mov eax, 3
or word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
cmp rax, r8
je 0x140164b67
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
cmp rax, r8
jne 0x140164b31
mov rcx, rbx
call fcn.14015a428
xor r8d, r8d
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x140164b54
mov rdx, rdi
call fcn.14017b660
jmp 0x140164a3f
mov qword [rcx], rdi
mov dil, byte [rsp + 0x40]
mov word [rcx + 0x14], 4
jmp 0x1401687ba
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x140164b84
mov rcx, rdi
call fcn.14017a5cc
mov dil, byte [rsp + 0x40]
jmp 0x140163903
mov word [rdi + 0x14], dx
mov dil, byte [rsp + 0x40]
jmp 0x140165273
movsxd rcx, dword [r13 + 4]
cmp bl, 0x2a
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x30]
mov qword [rbp + 0x50], rax
movzx eax, word [r13 + 0x10]
mov word [rbp + 0x6c], ax
sbb al, al
mov byte [rbp + 0x6e], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
mov qword [rbp + 0x58], rcx
mov rcx, rbx
call fcn.140115e84
mov edx, dword [rbx + 0x40]
lea eax, [rdx - 1]
cmp eax, 0x7ffffffe
ja 0x1401697a9
xor eax, eax
mov qword [rbp + 0x148], r15
lea r8, [rbp + 0x130]
mov word [rbp + 0x144], ax
mov rcx, rbx
mov dword [rbp + 0x150], eax
call fcn.14016b4a0
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
mov rdx, qword [rbp + 0x138]
lea r8, [rbp + 0x50]
mov ecx, dword [rbp + 0x140]
xor r9d, r9d
call fcn.14016c5a4
xor r8d, r8d
mov ebx, eax
cmp dword [rbp + 0x150], r8d
je 0x140164c51
lea rcx, [rbp + 0x130]
call fcn.14017a590
xor r8d, r8d
mov edx, 1
test byte [r13], dl
jne 0x140164c60
neg ebx
jmp 0x140164c62
add ebx, edx
test ebx, ebx
jle 0x140163855
jmp 0x140164505
mov edx, 1
jmp 0x140164505
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], dl
jmp 0x140163f16
mov ecx, ebx
sub ecx, 0x33
je 0x140164cbf
sub ecx, 1
je 0x140164d84
sub ecx, 1
je 0x140164d84
sub ecx, 1
je 0x140164d84
cmp ecx, 1
mov ecx, 4
je 0x140164d89
jmp 0x140163219
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], dl
jmp 0x1401647d4
cmp ebx, 0x3e
ja 0x140165001
je 0x140164fc3
mov ecx, ebx
sub ecx, 0x39
je 0x140164d84
sub ecx, 1
je 0x140164d7c
sub ecx, 1
je 0x140164d57
sub ecx, 1
je 0x140164d30
cmp ecx, 1
jne 0x140163214
movsxd rax, dword [r13 + 4]
movabs r11, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
cmp rax, r11
jle 0x140164d28
dec rax
mov qword [rcx + rsi], rax
cmp rax, r8
jmp 0x1401647d4
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
cmp rax, r8
je 0x140163214
jle 0x140163df5
dec rax
mov qword [rcx + rsi], rax
jmp 0x140163df5
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + rsi]
cmp rdx, r8
jle 0x14016320f
movsxd rax, dword [r13 + 0xc]
sub rdx, rax
mov qword [rcx + rsi], rdx
jmp 0x140163c2b
cmp r10d, r8d
jmp 0x1401647d4
mov ecx, 4
movsxd rax, dword [r13 + 4]
imul r15, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul r14, rax, 0x38
add r15, rsi
add r14, rsi
movzx esi, word [r15 + 0x14]
movzx edi, word [r14 + 0x14]
movzx eax, di
and ax, si
test cl, al
je 0x140164e2a
mov rax, qword [r15]
cmp qword [r14], rax
jle 0x140164dec
mov rax, qword [0x140245470]
cmp byte [rbx + rax], r8b
mov r14d, dword [rsp + 0x44]
jne 0x140163df5
mov r10d, edx
mov dword [rsp + 0x48], edx
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov dil, byte [rsp + 0x40]
jmp 0x140163214
mov r14d, dword [rsp + 0x44]
jge 0x140164e0f
mov rax, qword [0x140245460]
cmp byte [rbx + rax], r8b
jne 0x140163df5
or r10d, 0xffffffff
mov dword [rsp + 0x48], r10d
jmp 0x140164dd8
mov rax, qword [0x140245468]
cmp byte [rbx + rax], r8b
jne 0x140163df5
mov r10d, r8d
mov dword [rsp + 0x48], r8d
jmp 0x140164dd8
movzx ecx, di
or cx, si
test dl, cl
je 0x140164ec4
test byte [r13 + 2], 0x80
je 0x140164eb6
test dl, al
je 0x140164e9c
mov eax, 0x100
test ax, di
jne 0x140164e9c
mov r10d, r8d
mov dword [rsp + 0x48], r8d
movzx edx, byte [r13]
mov rax, qword [0x140245468]
cmp r10d, r8d
je 0x140164e6d
mov rax, qword [0x140245470]
mov dl, byte [rdx + rax]
mov word [r14 + 0x14], di
mov r14d, dword [rsp + 0x44]
mov word [r15 + 0x14], si
cmp dl, r8b
jne 0x140163c2b
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov dil, byte [rsp + 0x40]
jmp 0x14016320f
movzx eax, di
not ax
and eax, edx
lea r10d, [rax*2 - 1]
mov dword [rsp + 0x48], r10d
jmp 0x140164fa6
mov eax, 0x10
test byte [r13 + 2], al
jmp 0x140164dc6
mov al, byte [r13 + 2]
and al, 0x47
cmp al, 0x43
jb 0x140164f10
mov r12d, 2
test r12b, cl
je 0x140164f88
mov al, sil
and al, 0x2e
cmp al, r12b
jne 0x140164ef6
xor edx, edx
mov rcx, r15
call fcn.1400e5c84
movzx edi, word [r14 + 0x14]
mov al, dil
and al, 0x2e
cmp al, r12b
jne 0x140164f88
xor edx, edx
mov rcx, r14
call fcn.1400e5c84
jmp 0x140164f88
cmp al, 0x42
jne 0x140164f88
mov r12d, 2
test r12b, cl
je 0x140164f88
mov bl, byte [rsp + 0x40]
test r12b, sil
jne 0x140164f5e
test sil, 0x2c
je 0x140164f5e
mov r8b, dl
mov rcx, r15
mov dl, bl
call fcn.14016bc98
xor si, word [r15 + 0x14]
lea edx, [r12 - 1]
mov eax, 0xdbf
and si, ax
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x140164f5e
movzx edi, si
or di, r12w
test r12b, dil
jne 0x140164f88
test dil, 0x2c
je 0x140164f88
mov r8b, dl
mov rcx, r14
mov dl, bl
call fcn.14016bc98
xor di, word [r14 + 0x14]
mov eax, 0xdbf
and di, ax
xor di, word [r14 + 0x14]
mov r8, qword [r13 + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.1401518a4
mov r9, qword [rsp + 0x58]
mov r10d, eax
mov dword [rsp + 0x48], eax
xor r8d, r8d
cmp r10d, r8d
jge 0x140164e55
movzx ecx, byte [r13]
mov rax, qword [0x140245460]
mov dl, byte [rcx + rax]
jmp 0x140164e70
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140133520
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
je 0x140163205
cmp eax, 0x65
jne 0x14016955f
mov r14d, r8d
mov dword [rsp + 0x44], r8d
jmp 0x140163c26
sub ebx, 0x3f
je 0x140165210
sub ebx, 1
je 0x1401651b1
sub ebx, 1
je 0x140165021
cmp ebx, 1
jne 0x140163219
mov rdi, qword [r13 + 0x10]
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
mov qword [rbp - 0x68], rdi
add rbx, rsi
cmp qword [rdi], rbx
je 0x14016509a
mov al, byte [rsp + 0x40]
mov byte [rdi + 0x28], al
movzx eax, byte [rdi + 0x2a]
mov qword [rdi + 0x18], r12
mov qword [rdi], rbx
lea rdx, [rax - 1]
lea r9d, [rax - 1]
cmp rdx, r8
jl 0x140165095
lea r8, [rdi + 0x30]
mov edi, 8
lea r8, [r8 + rdx*8]
lea r15d, [rdi - 7]
mov eax, dword [r13 + 8]
add eax, r9d
sub r9d, r15d
cdqe
imul rcx, rax, 0x38
add rcx, rsi
mov qword [r8], rcx
sub r8, rdi
sub rdx, r15
jns 0x140165069
mov rdi, qword [rbp - 0x68]
mov r12, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
mov edx, 1
movzx eax, word [rbx + 0x14]
lea r8, [rdi + 0x30]
mov ecx, 0xf241
and ax, cx
mov rcx, rdi
or ax, dx
mov word [rbx + 0x14], ax
mov rax, qword [rdi + 8]
movzx edx, byte [rdi + 0x2a]
call qword [rax + 0x18]
mov eax, dword [rdi + 0x24]
xor r8d, r8d
test eax, eax
je 0x140163200
jle 0x140165126
movzx eax, word [rbx + 0x14]
mov ecx, 0x202
and ax, cx
cmp ax, cx
lea eax, [r8 + 1]
jne 0x1401650ef
cmp byte [rbx + 0x16], al
jne 0x1401650ef
mov rax, qword [rbx + 8]
jmp 0x140165103
test byte [rbx + 0x14], al
je 0x1401650f9
mov rax, r8
jmp 0x140165103
mov dl, al
mov rcx, rbx
call fcn.1401797b8
mov r8, rax
lea rdx, [0x1402319f8]
mov rcx, r12
call fcn.140162dfc
mov r12d, dword [rdi + 0x24]
xor r8d, r8d
mov dword [rsp + 0x44], r12d
mov r12, qword [rsp + 0x68]
mov r15d, dword [r13 + 4]
lea rsi, [r12 + 0x128]
mov rbx, qword [rsi]
mov r14d, dword [rdi + 0x20]
test rbx, rbx
je 0x140165195
mov rdi, qword [rsp + 0x70]
test r14d, r14d
js 0x140165165
cmp dword [rbx], r14d
jne 0x14016515f
mov eax, dword [rbx + 4]
test eax, eax
js 0x14016515f
cmp eax, 0x1f
jg 0x140165165
bt r15d, eax
jae 0x140165165
lea rsi, [rbx + 0x18]
jmp 0x140165189
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140165174
mov rcx, qword [rbx + 8]
call rax
mov rax, qword [rbx + 0x18]
mov rdx, rbx
mov rcx, rdi
mov qword [rsi], rax
call fcn.1401392a0
xor r8d, r8d
mov rbx, qword [rsi]
test rbx, rbx
jne 0x140165143
mov rdi, qword [rbp - 0x68]
mov r14d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x70]
mov dword [rdi + 0x24], r8d
test r14d, r14d
jne 0x14016955f
jmp 0x1401631fb
movsxd rax, dword [r13 + 4]
mov rdx, r13
mov rcx, rsi
imul rbx, rax, 0x38
call fcn.1400f3b30
movsxd rcx, dword [rbx + rsi + 0x10]
xor edx, edx
mov r9, qword [rsp + 0x58]
div rcx
mov rax, qword [rbx + rsi + 8]
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
mov al, dl
and al, 7
mov edx, 1
movzx eax, al
bt r8d, eax
jb 0x140165203
add dword [r12 + 0xf4], edx
jmp 0x140163df2
add dword [r12 + 0xf0], edx
jmp 0x1401632fd
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], r8b
jne 0x140164de2
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r12
mov r14d, eax
mov dword [rsp + 0x44], eax
call fcn.14016e2ec
xor r8d, r8d
test r14d, r14d
jne 0x14016955f
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
mov rsi, qword [rsp + 0x78]
xor r8d, r8d
mov dil, byte [rsp + 0x40]
test eax, eax
jne 0x1401687ba
mov edx, 1
mov eax, dword [r13 + 8]
sub eax, edx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x58]
lea r13, [rax + rcx*8]
mov qword [rsp + 0x50], r13
jmp 0x1401687ba
movsxd rax, dword [r13 + 4]
imul rax, rax, 0x38
test byte [rax + rsi + 0x14], cl
je 0x140163219
mov rax, qword [rax + rsi]
jmp 0x140163bd1
cmp ebx, 0x4e
ja 0x1401655cd
je 0x140165544
cmp ebx, 0x49
ja 0x1401653e5
je 0x140167137
sub ebx, 0x44
je 0x1401653b9
sub ebx, 1
je 0x14016531d
sub ebx, 1
je 0x14016532f
sub ebx, 1
je 0x140165306
cmp ebx, 1
jne 0x140163219
mov rdx, r13
mov rcx, r12
call fcn.14011faf4
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x140163e58
mov rdx, r13
mov rcx, r12
call fcn.14011faf4
movsxd rcx, dword [r13 + 4]
mov qword [rax], rcx
jmp 0x140163e58
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], dl
je 0x140163214
mov rcx, qword [r12 + 0x108]
cmp rcx, r8
je 0x1401697bb
cmp dword [r13 + 4], r8d
jne 0x1401697bb
mov rax, qword [rcx + 8]
dec dword [r12 + 0x118]
mov qword [r12 + 0x108], rax
mov rax, qword [r12 + 0x38]
add qword [r15 + 0x80], rax
mov qword [r15 + 0x78], rax
call fcn.14016a19c
cmp dword [r13 + 8], 4
mov edx, 1
jne 0x140165393
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
sub eax, edx
mov r9, qword [r12 + 0x88]
mov rsi, qword [r12 + 0x68]
cdqe
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x78], rsi
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
jmp 0x1401632fd
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + rsi]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
mov word [rdx + rsi + 0x14], r8w
cdqe
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
jmp 0x14016320f
sub ebx, 0x4a
je 0x1401654a1
sub ebx, 1
je 0x1401654a1
sub ebx, 1
je 0x14016547a
cmp ebx, 1
jne 0x140163219
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r12 + 0x68]
test word [rbx + 0x14], ax
je 0x14016542d
mov rcx, rbx
call fcn.14011fb1c
mov rbx, rax
xor r8d, r8d
jmp 0x140165431
mov word [rbx + 0x14], cx
mov rdx, qword [r13 + 0x10]
mov rcx, rbx
cmp rdx, r8
jne 0x14016545b
mov edx, dword [r13 + 4]
call fcn.14016bbec
mov rcx, rbx
call fcn.14016b2b8
xor r8d, r8d
test eax, eax
jne 0x140169abc
jmp 0x140165471
movsxd r8, dword [r13 + 4]
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x20], rax
call fcn.14016b90c
xor r8d, r8d
mov byte [rbx + 0x16], dil
jmp 0x140163205
movsxd rax, dword [r13 + 4]
mov edx, 0xffc1
imul rcx, rax, 0x38
movzx eax, word [rcx + rsi + 0x14]
and ax, dx
mov edx, 1
or ax, dx
mov word [rcx + rsi + 0x14], ax
jmp 0x140163214
movsxd rax, dword [r13 + 8]
mov r10d, 0x9000
imul rdx, rax, 0x38
add rdx, qword [r12 + 0x68]
test word [rdx + 0x14], r10w
je 0x1401654d6
mov rcx, rdx
call fcn.14011fb1c
mov r9, qword [rsp + 0x58]
mov rdx, rax
xor r8d, r8d
mov r10d, 0x9000
jmp 0x1401654da
mov word [rdx + 0x14], cx
mov eax, dword [r13 + 4]
lea rbx, [rdx + 0x14]
mov edi, dword [r13 + 0xc]
neg eax
mov ecx, dword [r13 + 8]
mov eax, 0x100
sbb si, si
mov dword [rdx + 0x10], r8d
and si, ax
sub edi, ecx
inc si
mov edx, 1
mov word [rbx], si
cmp edi, r8d
jle 0x140164638
lea rbx, [rbx + 0x38]
test word [rbx], r10w
je 0x140165531
lea rcx, [rbx - 0x14]
call fcn.14017a5cc
xor r8d, r8d
mov r10d, 0x9000
lea edx, [r8 + 1]
sub edi, edx
mov word [rbx], si
mov dword [rbx - 4], r8d
cmp edi, r8d
jg 0x140165511
jmp 0x14016384b
movsxd rax, dword [r13 + 4]
mov rdi, qword [r12 + 0x80]
imul rcx, rax, 0x38
add rdi, 0xffffffffffffffc8
add rdi, rcx
test byte [rdi + 0x14], 0x12
je 0x140165581
mov ecx, dword [rdi + 0x10]
mov eax, 0x400
test word [rdi + 0x14], ax
je 0x140165571
add ecx, dword [rdi]
mov rax, qword [rdi + 0x18]
cmp ecx, dword [rax + 0x88]
jg 0x1401699f5
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, rsi
test word [rbx + 0x14], ax
je 0x14016559f
mov rcx, rbx
call fcn.14017a5cc
mov r8d, 0x18
mov rdx, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
movzx eax, word [rbx + 0x14]
mov ecx, 0xafff
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
jmp 0x140164aba
cmp ebx, 0x54
ja 0x140165793
je 0x1401698d0
sub ebx, 0x4f
je 0x140165707
sub ebx, 1
je 0x140165679
sub ebx, 1
je 0x140165653
sub ebx, 1
je 0x140165610
cmp ebx, 1
jne 0x140163219
xor edx, edx
mov rcx, r12
call fcn.140162744
jmp 0x14016388e
movsxd rax, dword [r13 + 8]
imul r8, rax, 0x38
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add r8, rsi
mov rax, qword [rcx + rsi]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x14016563e
mov rdx, rax
mov rcx, r8
jmp 0x140163e53
mov ecx, 4
mov qword [r8], rax
mov word [r8 + 0x14], cx
xor r8d, r8d
jmp 0x140163219
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rdx, rsi
add rcx, rsi
mov r8d, 0x4000
call fcn.14016bc38
jmp 0x140163e58
movsxd rax, dword [r13 + 4]
mov r12d, 0x4000
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
add rdi, qword [rsp + 0x78]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x78]
mov r8d, r12d
mov rdx, rdi
mov rcx, rbx
call fcn.14016bc38
test word [rbx + 0x14], r12w
je 0x1401656c7
mov rcx, rbx
call fcn.14016b664
xor r8d, r8d
test eax, eax
jne 0x140169abc
jmp 0x1401656ca
xor r8d, r8d
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x1401656ec
mov ecx, 2
test byte [r13 + 2], cl
je 0x1401656ec
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
mov edx, 1
sub esi, edx
test eax, eax
je 0x14016668e
add rbx, 0x38
add rdi, 0x38
jmp 0x14016569d
movsxd rax, dword [r13 + 4]
mov r12d, 0x4000
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
add rdi, qword [rsp + 0x78]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x78]
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x14016573c
cmp dword [rbx + 0x20], r8d
je 0x140165744
mov rcx, rbx
call fcn.14017a590
mov r8d, 0x38
mov rdx, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
xor r8d, r8d
mov edx, 1
mov word [rdi + 0x14], dx
mov dword [rdi + 0x20], r8d
test word [rbx + 0x14], r12w
je 0x140165782
mov rcx, rbx
call fcn.14016b664
xor r8d, r8d
test eax, eax
jne 0x140169abc
lea edx, [rax + 1]
add rdi, 0x38
add rbx, 0x38
sub esi, edx
jne 0x14016572b
jmp 0x14016384b
sub ebx, 0x55
je 0x14016585d
sub ebx, 1
je 0x14016583e
sub ebx, 1
je 0x1401657f3
cmp ebx, 1
jne 0x140163219
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, rsi
test word [rbx + 0x14], ax
je 0x1401657df
mov rcx, rbx
call fcn.14016b2b8
xor r8d, r8d
mov r14d, eax
test eax, eax
jne 0x14016955f
mov dl, byte [r13 + 8]
mov r8b, dil
mov rcx, rbx
call fcn.14016b0e8
jmp 0x14016388e
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, rsi
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x140163214
mov r12d, 8
test r12b, al
je 0x14016581b
movsd xmm0, qword [rcx]
jmp 0x140165823
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
mov r11d, 0xf248
movsd qword [rcx], xmm0
and ax, r11w
or ax, r12w
mov word [rcx + 0x14], ax
jmp 0x140163214
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.14016b634
movsxd rax, dword [r13 + 8]
add qword [rbx], rax
jmp 0x140163e58
cmp dword [r13 + 4], r8d
je 0x140163219
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x140165884
xor edx, edx
jmp 0x140163e53
mov qword [rcx], r8
mov word [rcx + 0x14], 4
jmp 0x140163214
test byte [r13 + 2], dl
jne 0x14016589d
mov rdi, r8
jmp 0x1401658a4
mov rdi, qword [r13 - 8]
add rdi, rcx
mov rdx, qword [rsp + 0x50]
xor r11d, r11d
mov r13, qword [r13 + 0x10]
mov esi, r11d
mov ebx, r11d
movsxd rax, dword [rdx + 0xc]
mov r8d, dword [rdx + 4]
mov ecx, dword [rdx + 8]
mov dword [rbp - 0x78], r8d
mov dword [rbp - 0x80], ecx
mov qword [rbp - 0x68], rax
test rax, rax
jle 0x1401694e4
lea r15, [r13 + 0x20]
test rdi, rdi
je 0x1401658e3
mov edx, dword [rdi + rbx*4]
jmp 0x1401658e5
mov edx, esi
mov rax, qword [r13 + 0x18]
add ecx, edx
imul r12, rcx, 0x38
movzx eax, byte [rbx + rax]
lea ecx, [rdx + r8]
mov r8, qword [r15]
and eax, 1
add r12, qword [rsp + 0x78]
imul r14, rcx, 0x38
mov rdx, r12
mov dword [rbp - 0x58], eax
add r14, qword [rsp + 0x78]
mov rcx, r14
call fcn.1401518a4
xor r8d, r8d
mov dword [rsp + 0x48], eax
mov r10d, eax
lea edx, [r8 + 1]
test eax, eax
jne 0x140165964
mov r8d, dword [rbp - 0x78]
add esi, edx
mov ecx, dword [rbp - 0x80]
add rbx, rdx
add r15, 8
cmp rbx, qword [rbp - 0x68]
jl 0x1401658d9
mov r13, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov dil, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
jmp 0x140163302
mov rax, qword [r13 + 0x18]
mov ecx, 2
test byte [rbx + rax], cl
je 0x140165987
test byte [r14 + 0x14], dl
jne 0x14016597f
test byte [r12 + 0x14], dl
je 0x140165987
neg r10d
mov dword [rsp + 0x48], r10d
mov r13, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
cmp dword [rbp - 0x58], r8d
je 0x1401659a9
neg r10d
mov dword [rsp + 0x48], r10d
mov dil, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
jmp 0x140163214
mov eax, 0x89
cmp ebx, eax
ja 0x140167e5f
je 0x14016421e
cmp ebx, 0x72
ja 0x140166fdd
je 0x140166f84
cmp ebx, 0x67
ja 0x140166887
je 0x1401666c8
cmp ebx, 0x61
ja 0x14016669d
je 0x140166244
sub ebx, 0x5b
je 0x1401661fe
sub ebx, 1
je 0x1401661b6
sub ebx, 2
je 0x140165bdd
sub ebx, 1
je 0x140165ab6
cmp ebx, 1
jne 0x140163219
movsxd rax, dword [r13 + 4]
mov rdi, qword [r13 + 0x10]
imul rbx, rax, 0x38
mov al, byte [rdi]
add rbx, rsi
mov r8b, byte [rsp + 0x40]
mov dl, al
mov rcx, rbx
call fcn.1400e5c18
cmp byte [rdi], 0x45
jne 0x140165a9b
movzx ecx, word [rbx + 0x14]
mov eax, 4
test al, cl
je 0x140165a9b
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x140165a84
and cx, ax
or cx, 0x20
jmp 0x140165a97
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 0x14], cx
mov edx, 1
xor r8d, r8d
add rdi, rdx
mov al, byte [rdi]
test al, al
je 0x140166693
add rbx, 0x38
jmp 0x140165a36
mov r15, qword [r13 + 0x10]
mov r14d, r8d
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov rdi, qword [r15 + 8]
add rbx, rsi
cmp r8w, word [r15 + 0x36]
jge 0x1401694f1
lea rsi, [rdi + 0xc]
test byte [rsi + 6], 0x60
je 0x140165afe
mov eax, 0x20
test byte [rsi + 6], al
jne 0x140165bbe
cmp dword [r13 + 0xc], r8d
je 0x140165afe
add rbx, 0x38
jmp 0x140165bbe
mov r8b, byte [rsp + 0x40]
mov rcx, rbx
mov dl, byte [rsi]
call fcn.1400e5c18
movzx ecx, word [rbx + 0x14]
mov r8d, 1
movzx edx, cx
test r8b, cl
jne 0x140165bb3
mov eax, dword [rsi - 4]
lea r11d, [r8 + 1]
shr eax, 4
and eax, 0xf
sub eax, r11d
je 0x140165ba6
sub eax, r8d
je 0x140165b9f
sub eax, r8d
je 0x140165b9f
sub eax, r8d
je 0x140165b4e
cmp eax, r8d
jne 0x140165bb3
test r11b, cl
jmp 0x140165bad
mov eax, 4
test al, cl
je 0x140165b9a
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x140165b7c
or cx, 0x20
jmp 0x140165b8c
xorps xmm0, xmm0
or cx, 8
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
mov eax, 0xfffb
and cx, ax
mov word [rbx + 0x14], cx
jmp 0x140165bb3
test cl, 0x28
jmp 0x140165bad
mov eax, 4
jmp 0x140165bab
mov eax, 0x10
test al, cl
je 0x14016995b
add rbx, 0x38
xor r8d, r8d
lea edx, [r8 + 1]
movsx eax, word [r15 + 0x36]
add r14d, edx
add rsi, 0x18
cmp r14d, eax
jl 0x140165adb
mov r14d, dword [rsp + 0x44]
jmp 0x140163da3
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov r15d, dword [r13 + 8]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x78], r15d
mov r13, qword [rbx + 0x58]
mov eax, dword [r12 + 0x2c]
mov qword [rbp - 0x68], r13
cmp dword [rbx + 0x20], eax
je 0x140165c3e
cmp byte [rbx + 2], r8b
jne 0x140165cb8
mov rdi, qword [rbx + 0x30]
cmp byte [rbx + 3], r8b
je 0x140165c37
mov rdx, qword [rbx + 0x10]
cmp rdx, r8
je 0x140165c67
lea eax, [r15 + 1]
mov eax, dword [rdx + rax*4]
cmp eax, r8d
jbe 0x140165c67
mov rbx, qword [rbx + 0x28]
lea r15d, [rax - 1]
jmp 0x140165bee
cmp byte [rdi], r8b
je 0x140165c81
jmp 0x140165c4b
mov rax, qword [rbx + 0x30]
cmp byte [rax], r8b
je 0x140165d9b
mov rcx, rbx
call fcn.14016a798
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016402b
jmp 0x140165bf2
mov rcx, rbx
call fcn.14016a13c
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016402b
mov rcx, rdi
call fcn.140115e84
mov eax, dword [rdi + 0x40]
xor r8d, r8d
mov dword [rbx + 0x68], eax
mov rax, qword [rdi + 0x88]
movzx ecx, word [rdi + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rdi + 0x38]
cmp ecx, edx
jle 0x140165caf
test edx, edx
mov ecx, edx
cmovs ecx, r8d
mov dword [rbx + 0x6c], ecx
mov rcx, qword [rdi + 0x38]
jmp 0x140165ce6
mov eax, 3
cmp byte [rbx], al
jne 0x140165d6d
cmp dword [rbx + 0x24], r8d
jle 0x140165d6d
movsxd rax, dword [rbx + 0x24]
imul rcx, rax, 0x38
mov eax, dword [rcx + rsi + 0x10]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x68], eax
mov rcx, qword [rcx + rsi + 8]
mov qword [rbx + 0x60], rcx
lea rsi, [rbx + 0x40]
mov eax, dword [r12 + 0x2c]
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r13], eax
mov qword [rbp - 0x40], rsi
cmp eax, 0x80
jae 0x140165d11
mov edx, 1
mov eax, edx
jmp 0x140165d27
mov rcx, qword [rbx + 0x60]
mov rdx, r13
call fcn.14014dc78
xor r8d, r8d
movzx eax, al
lea edx, [r8 + 1]
mov dword [rsi], eax
lea rdi, [rbx + 0x4a]
mov word [rdi], r8w
mov eax, dword [r13]
mov qword [rbp - 0x58], rdi
cmp dword [rbx + 0x6c], eax
jae 0x140165d60
mov qword [rbx + 0x60], r8
mov dword [rbx + 0x6c], r8d
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x140165f65
cmp eax, dword [rbx + 0x68]
ja 0x140165f65
jmp 0x140165d9f
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x28], rax
jmp 0x140165e1a
mov r13, qword [rsp + 0x50]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x140165feb
call fcn.14017a5cc
mov r15, qword [rsp + 0x70]
jmp 0x140164aba
lea rdi, [rbx + 0x4a]
movzx r14d, word [rdi]
cmp r14d, r15d
ja 0x140166003
mov eax, dword [r13]
lea rsi, [rbx + 0x40]
mov qword [rbp - 0x40], rsi
cmp dword [rsi], eax
jae 0x140165f93
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x28], rax
cmp rax, r8
jne 0x140165e12
xor edx, edx
lea rcx, [rbp + 0xf8]
lea r8d, [rdx + 0x38]
call sub.VCRUNTIME140.dll_memset
mov edx, dword [r13]
lea r8, [rbp + 0xf8]
mov rcx, qword [rbx + 0x30]
call fcn.14016b4a0
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016402b
mov rax, qword [rbp + 0x100]
mov qword [rbp - 0x28], rax
jmp 0x140165e16
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x58], rdi
movzx r14d, word [rdi]
mov edx, 1
mov edi, dword [rsi]
mov r15d, r14d
mov rcx, qword [rbp - 0x68]
add rdi, rax
mov r12d, dword [r13 + r14*4]
mov r13d, dword [r13]
add r13, rax
movzx esi, byte [rdi]
mov dword [rbp - 0x80], esi
mov dword [rbx + r15*4 + 0x70], esi
cmp esi, 0x80
jae 0x140165e63
lea r8, [0x140000000]
add rdi, rdx
movzx eax, byte [rsi + r8 + 0x22c480]
jmp 0x140165ea4
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14014dc78
mov esi, dword [rbp - 0x80]
movzx eax, al
add rdi, rax
mov dword [rbx + r15*4 + 0x70], esi
cmp esi, 0x80
jb 0x140165e8c
lea eax, [rsi - 0xc]
shr eax, 1
jmp 0x140165e9b
lea rcx, [0x140000000]
movzx eax, byte [rsi + rcx + 0x22c480]
mov rcx, qword [rbp - 0x68]
mov edx, 1
add r14d, edx
add r12, rax
movsxd r15, r14d
mov dword [rcx + r15*4], r12d
cmp r14d, dword [rbp - 0x78]
ja 0x140165ec0
cmp rdi, r13
jb 0x140165e3b
cmp rdi, r13
jb 0x140165f1d
ja 0x140165f25
mov eax, dword [rbx + 0x68]
cmp r12, rax
jne 0x140165f25
xor r8d, r8d
sub edi, dword [rbp - 0x28]
mov r15, qword [rbp - 0x58]
mov rax, qword [rbp - 0x40]
mov word [r15], r14w
mov dword [rax], edi
cmp qword [rbx + 0x60], r8
jne 0x140165f13
mov eax, 0x9000
test word [rbp + 0x10c], ax
jne 0x140165f00
cmp dword [rbp + 0x118], r8d
je 0x140165f13
lea rcx, [rbp + 0xf8]
call fcn.14017a590
movzx r14d, word [r15]
xor r8d, r8d
mov r13, qword [rbp - 0x68]
mov r15d, dword [rbp - 0x78]
jmp 0x140165f96
mov eax, dword [rbx + 0x68]
cmp r12, rax
jbe 0x140165ecf
xor r8d, r8d
cmp dword [rcx], r8d
jne 0x140165f35
mov r14d, r8d
mov rdi, r13
jmp 0x140165ed2
cmp qword [rbx + 0x60], r8
jne 0x140165f65
mov eax, 0x9000
test word [rbp + 0x10c], ax
jne 0x140165f52
cmp dword [rbp + 0x118], r8d
je 0x140165f65
lea rcx, [rbp + 0xf8]
call fcn.14017a590
xor r8d, r8d
lea edx, [r8 + 1]
mov r9, qword [rsp + 0x58]
mov eax, dword [r9 + 0xc]
cmp eax, r8d
jle 0x1401699c0
mov r14d, dword [rsp + 0x44]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r13, [r9 + rax*8]
mov r15, qword [rsp + 0x70]
jmp 0x140164638
mov esi, r8d
movzx eax, r14w
cmp eax, r15d
ja 0x140165ffe
mov r13, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x78]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
cmp byte [r13 + 1], 0xf6
jne 0x140165fd4
mov rdx, qword [r13 + 0x10]
mov r8d, 0x2000
call fcn.14016bc38
mov r14d, dword [rsp + 0x44]
jmp 0x140165d91
mov eax, 0x9000
test word [rcx + 0x14], ax
je 0x140165fe6
call fcn.14017a5cc
jmp 0x140165fca
mov r14d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x70]
mov edx, 1
mov word [rcx + 0x14], dx
jmp 0x140163850
mov r14d, r15d
jmp 0x14016600b
mov r14d, r15d
mov esi, dword [rbx + r14*4 + 0x70]
mov r12, qword [rsp + 0x50]
movsxd rax, dword [r12 + 0xc]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsp + 0x78]
test word [rdi + 0x14], ax
je 0x140166031
mov rcx, rdi
call fcn.14017a5cc
lea eax, [r15 + 1]
mov eax, dword [r13 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x140166108
mov r14d, dword [r13 + r14*4]
add r14, qword [rbx + 0x60]
cmp esi, 0xc
jae 0x140166070
mov rcx, r14
mov edx, esi
mov r8, rdi
call fcn.14016cc50
mov r14d, dword [rsp + 0x44]
mov r13, r12
mov r15, qword [rsp + 0x70]
jmp 0x140164ab5
mov al, byte [rsp + 0x40]
lea ebx, [rsi - 0xc]
mov r15, qword [rsp + 0x70]
shr ebx, 1
mov dword [rdi + 0x10], ebx
mov byte [rdi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rdi + 0x20], edx
jge 0x1401660b4
cmp ebx, dword [r15 + 0x88]
jg 0x140169a01
xor r8d, r8d
mov word [rdi + 0x14], 1
mov rcx, rdi
call fcn.14016b4fc
test eax, eax
jne 0x140169ad4
jmp 0x1401660bc
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
mov r8, rbx
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 8]
lea rcx, [0x140000000]
xor r8d, r8d
mov r13, r12
mov byte [rbx + rax], r8b
mov rax, qword [rdi + 8]
lea edx, [r8 + 1]
mov byte [rax + rbx + 1], r8b
mov eax, esi
and rax, rdx
movzx eax, word [rcx + rax*2 + 0x22e054]
mov word [rdi + 0x14], ax
mov r14d, dword [rsp + 0x44]
jmp 0x14016384b
mov al, byte [rsp + 0x40]
mov byte [rdi + 0x16], al
test byte [r12 + 2], 0xc0
je 0x14016612e
cmp esi, 0xc
jb 0x140166126
mov eax, 1
test al, sil
je 0x140166156
test byte [r12 + 2], 0x80
jne 0x140166156
cmp esi, 0x80
jb 0x14016613f
lea r8d, [rsi - 0xc]
shr r8d, 1
jmp 0x140166151
mov eax, esi
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x22c480]
test r8d, r8d
jne 0x140166162
lea rcx, [0x14022c920]
jmp 0x140166054
mov r15, qword [rsp + 0x70]
cmp r8d, dword [r15 + 0x88]
jg 0x140169a01
mov edx, dword [r13 + r14*4]
mov r9, rdi
mov rcx, qword [rbx + 0x30]
call fcn.14016b3c8
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x140169b0c
mov rcx, qword [rdi + 8]
mov r8, rdi
mov edx, esi
call fcn.14016cc50
mov eax, 0xbfff
mov r13, r12
and word [rdi + 0x14], ax
jmp 0x140164ab5
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], dl
jne 0x1401661db
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], dl
jne 0x1401661db
movsxd rax, dword [r13 + 8]
jmp 0x14016586b
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
jne 0x140163e86
mov word [rcx + 0x14], dx
jmp 0x140163214
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140162628
movsxd rdx, dword [r13 + 0x10]
movsxd rcx, eax
movsxd rax, dword [r13 + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
jne 0x140163e53
mov qword [rcx], rdx
mov word [rcx + 0x14], 4
jmp 0x140163e58
movsxd rax, dword [r13 + 4]
mov r9d, 1
mov rdi, qword [r13 + 0x10]
mov rdx, r8
imul r11, rax, 0x38
mov eax, dword [r13 + 8]
mov r15, r8
add r11, rsi
mov dword [rbp - 0x58], r8d
sub eax, r9d
mov qword [rbp - 0x78], rdx
cdqe
mov r12d, r8d
imul rsi, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul r13, rax, 0x38
add rsi, r11
mov qword [rbp - 0x68], r11
add r13, qword [rsp + 0x78]
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x28], r13
cmp rdi, r8
je 0x140166301
mov al, byte [rdi]
lea rbx, [r11 + 0x14]
mov r14b, byte [rsp + 0x40]
lea esi, [r9 + 3]
lea r13d, [r9 + 0x1f]
mov r12d, 0xfffb
lea rcx, [rbx - 0x14]
mov r8b, r14b
mov dl, al
call fcn.1400e5c18
cmp byte [rdi], 0x45
jne 0x1401662d7
movzx eax, word [rbx]
test sil, al
je 0x1401662d7
and ax, r12w
or ax, r13w
mov word [rbx], ax
mov r9d, 1
add rbx, 0x38
add rdi, r9
xor r8d, r8d
mov al, byte [rdi]
test al, al
jne 0x1401662b1
mov r12d, dword [rbp - 0x58]
mov r13, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x78]
mov r11, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x40]
lea r14, [rsi + 0x24]
movzx ecx, word [r14 - 0x10]
test r9b, cl
je 0x14016632a
mov eax, 0x400
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
add r12d, r9d
jmp 0x14016648a
test cl, 0x24
je 0x140166407
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x140166342
not rdx
add r12d, r9d
cmp rdx, 0x7f
ja 0x14016637b
mov rax, r8
and rax, r9
cmp rax, r8
jne 0x140166370
mov rax, qword [rsp + 0x68]
mov ecx, 4
cmp byte [rax + 0xc3], cl
jb 0x140166370
lea eax, [rdx + 8]
jmp 0x1401663ff
add r15, r9
mov eax, r9d
jmp 0x1401663ff
cmp rdx, 0x7fff
ja 0x14016638b
mov eax, 2
jmp 0x1401663a9
cmp rdx, 0x7fffff
ja 0x14016639b
mov eax, 3
jmp 0x1401663a9
cmp rdx, 0x7fffffff
ja 0x1401663ae
mov eax, 4
add r15, rax
jmp 0x1401663ff
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x1401663c8
add r15, 6
mov eax, 5
jmp 0x1401663ff
mov edx, 8
add r15, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x1401663fa
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
cvtsi2sd xmm0, r8
or cx, dx
mov word [r14 - 0x10], cx
movsd qword [r14 - 0x24], xmm0
jmp 0x1401663ff
mov eax, 6
mov dword [r14], eax
jmp 0x14016648a
mov eax, 8
test al, cl
je 0x14016641f
add r12d, r9d
mov dword [r14], 7
add r15, rax
jmp 0x14016648a
mov edi, dword [r14 - 0x14]
mov eax, ecx
shr eax, 1
and eax, r9d
bt cx, 0xa
lea esi, [rdi + 6]
lea esi, [rax + rsi*2]
jae 0x140166468
lea rbx, [r14 - 0x24]
movsxd rax, dword [rbx]
lea esi, [rsi + rax*2]
cmp r15, r8
je 0x140166461
mov rcx, rbx
call fcn.14016b2b8
xor r8d, r8d
test eax, eax
jne 0x140169aca
add edi, dword [rbx]
lea r9d, [r8 + 1]
jmp 0x140166468
add rdx, rax
mov qword [rbp - 0x78], rdx
mov eax, edi
mov ecx, r9d
add r15, rax
mov eax, esi
jmp 0x140166477
add ecx, r9d
shr rax, 7
cmp rax, r8
jne 0x140166474
mov r11, qword [rbp - 0x68]
add r12d, ecx
mov dword [r14], esi
lea rax, [r14 - 0x24]
cmp rax, r11
je 0x1401664a3
mov rdx, qword [rbp - 0x78]
sub r14, 0x38
xor r8d, r8d
jmp 0x140166305
cmp r12d, 0x7e
jg 0x1401664b1
add r12d, r9d
xor r8d, r8d
jmp 0x1401664ea
movsxd rax, r12d
mov edx, r9d
shr rax, 7
xor r8d, r8d
jmp 0x1401664c7
add edx, r9d
shr rax, 7
test rax, rax
jne 0x1401664c0
add r12d, edx
mov ecx, r9d
movsxd rax, r12d
jmp 0x1401664da
add ecx, r9d
shr rax, 7
test rax, rax
jne 0x1401664d7
cmp edx, ecx
jge 0x1401664ea
add r12d, r9d
mov rdi, qword [rbp - 0x78]
movsxd rax, dword [r13 + 0x20]
movsxd rsi, r12d
lea rbx, [r15 + rsi]
lea rcx, [rdi + rbx]
cmp rcx, rax
jle 0x14016653b
mov r15, qword [rsp + 0x70]
movsxd rax, dword [r15 + 0x88]
cmp rcx, rax
jg 0x1401699f5
cmp dword [r13 + 0x20], ebx
jge 0x14016653b
xor r8d, r8d
mov edx, ebx
mov rcx, r13
call fcn.14016b4fc
xor r8d, r8d
test eax, eax
jne 0x140169abc
mov r11, qword [rbp - 0x68]
jmp 0x140166543
mov rax, qword [r13 + 0x28]
mov qword [r13 + 8], rax
mov dword [r13 + 0x10], ebx
mov word [r13 + 0x14], 0x10
test rdi, rdi
je 0x14016655e
mov dword [r13], edi
mov word [r13 + 0x14], 0x410
mov rdi, qword [r13 + 8]
lea r14, [rsi + rdi]
cmp r12d, 0x80
jge 0x14016657c
mov edx, 1
mov byte [rdi], r12b
add rdi, rdx
jmp 0x140166594
mov rdx, rsi
mov rcx, rdi
call fcn.1401494e8
movsxd rcx, eax
add rdi, rcx
xor r8d, r8d
lea edx, [r8 + 1]
mov r15, qword [rbp - 0x40]
lea rsi, [r11 + 0x10]
mov ebx, dword [rsi + 0x14]
cmp ebx, 7
ja 0x14016661e
mov byte [rdi], bl
add rdi, rdx
test ebx, ebx
je 0x14016666d
lea rdx, [rsi - 0x10]
cmp ebx, 7
jne 0x1401665cd
lea r8d, [rbx + 1]
lea rcx, [rbp - 0x18]
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rbp - 0x18]
jmp 0x1401665d4
mov rdx, qword [rdx]
mov qword [rbp - 0x18], rdx
lea rcx, [0x140000000]
or r10d, 0xffffffff
movzx ecx, byte [rbx + rcx + 0x22c480]
mov r9d, ecx
add ecx, r10d
lea r8, [rcx + r14]
mov byte [r8], dl
mov edx, 1
je 0x140166616
mov rax, qword [rbp - 0x18]
sub r8, rdx
shr rax, 8
mov qword [rbp - 0x18], rax
mov byte [r8], al
add ecx, r10d
jne 0x1401665fb
mov r15, qword [rbp - 0x40]
add r14, r9
xor r8d, r8d
jmp 0x14016666d
cmp ebx, 0x80
jae 0x140166637
mov byte [rdi], bl
add rdi, rdx
cmp ebx, 0xe
jb 0x14016666d
cmp dword [rsi], r8d
jle 0x14016666d
jmp 0x140166650
mov rdx, rbx
mov rcx, rdi
call fcn.1401494e8
movsxd rcx, eax
xor r8d, r8d
add rdi, rcx
cmp dword [rsi], r8d
je 0x140166668
movsxd r8, dword [rsi]
mov rcx, r14
mov rdx, qword [rsi - 8]
call sub.VCRUNTIME140.dll_memcpy
movsxd rax, dword [rsi]
add r14, rax
xor r8d, r8d
mov edx, 1
lea rax, [rsi - 0x10]
cmp rax, r15
je 0x14016667f
add rsi, 0x38
jmp 0x14016659c
mov r13, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov r10d, dword [rsp + 0x48]
jmp 0x1401659a9
mov ecx, ebx
sub ecx, 0x62
je 0x14016682a
sub ecx, 1
je 0x1401667f8
sub ecx, 1
je 0x14016675c
sub ecx, 1
je 0x14016671a
cmp ecx, 1
jne 0x140163214
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rbx, rsi
add rcx, rsi
imul rsi, rax, 0x38
mov al, byte [rcx + 0x14]
add rsi, qword [rsp + 0x78]
or al, byte [rbx + 0x14]
test dl, al
je 0x14016699b
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x14016698d
mov rcx, rsi
call fcn.14017a5cc
mov rsi, qword [rsp + 0x78]
jmp 0x140163e58
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp rdi, r8
je 0x140166ac4
mov eax, dword [r13 + 8]
cmp dword [rdi + 0x44], eax
jne 0x140166ac4
mov rbx, qword [rdi + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.1400df958
xor r8d, r8d
mov qword [rbx + 0x18], r8
lea edx, [r8 + 1]
mov byte [rbx], dl
jmp 0x140166be7
movsxd rbx, dword [r13 + 4]
mov r8d, dword [r13 + 0xc]
mov edx, dword [r13 + 8]
shl rbx, 5
add rbx, qword [r15 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.140135830
mov edx, 1
mov dword [rsp + 0x44], eax
mov r14d, eax
cmp dword [r13 + 8], edx
jne 0x1401667b3
movzx eax, word [r13 + 2]
mov ecx, dword [r13 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, r15
or dword [r15 + 0x2c], edx
mov edx, dword [r13 + 4]
call fcn.14014150c
mov edx, 1
jmp 0x1401667c9
mov eax, 2
cmp dword [r13 + 8], eax
jne 0x1401667c9
mov rcx, qword [rbx + 0x18]
mov al, byte [r13 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r13 + 4], edx
jne 0x1401667e7
xor edx, edx
mov rcx, r15
call fcn.14013b6f8
and dword [r12 + 0xc8], 0xfffffffc
mov edx, 1
xor r8d, r8d
test r14d, r14d
jne 0x14016955f
jmp 0x140163855
movsxd rax, dword [r13 + 4]
lea r8, [rbp]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r13 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140133434
mov rdx, r13
mov rcx, r12
call fcn.14011faf4
movsxd rcx, dword [rbp]
jmp 0x140165315
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
cmp dword [r13 + 0xc], r8d
je 0x14016684e
mov rcx, rdx
call fcn.140134c0c
mov rbx, rax
jmp 0x140166874
mov qword [rbp - 0x68], r8
mov rcx, r15
lea r8, [rbp - 0x68]
call fcn.140132d64
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
mov rbx, qword [rbp - 0x68]
mov rdx, r13
mov rcx, r12
call fcn.14011faf4
mov qword [rax], rbx
jmp 0x1401687b7
cmp ebx, 0x6d
ja 0x140166aa2
je 0x1401668b7
sub ebx, 0x68
je 0x1401666c8
sub ebx, 1
je 0x1401666c8
sub ebx, 1
je 0x1401668b7
sub ebx, 1
je 0x1401668b7
cmp ebx, 1
jne 0x140163219
movsxd rax, dword [r13 + 4]
mov r12d, 4
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
add rdi, rsi
imul rsi, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rsi, qword [rsp + 0x78]
movzx ebx, word [rdi + 0x14]
imul r14, rax, 0x38
movzx ecx, word [rsi + 0x14]
add r14, qword [rsp + 0x78]
mov al, cl
and al, bl
test r12b, al
jne 0x140166930
or cl, bl
lea edx, [r12 - 3]
test dl, cl
jne 0x140166f16
and bx, 0x2d
jne 0x140166913
mov rcx, rdi
call fcn.1400ed7c4
movzx ebx, ax
movzx eax, word [rsi + 0x14]
and ax, 0x2d
jne 0x140166925
mov rcx, rsi
call fcn.1400ed7c4
and al, bl
test r12b, al
je 0x140166e4b
movzx r8d, byte [r13]
mov rdx, qword [rsi]
mov rcx, qword [rdi]
mov qword [rsp + 0x50], rdx
sub r8d, 0x6a
je 0x140166e1d
sub r8d, 1
je 0x140166e01
sub r8d, 1
je 0x140166df2
cmp r8d, 1
je 0x140166dc4
xor r8d, r8d
test rcx, rcx
je 0x140166f11
cmp rcx, 0xffffffffffffffff
lea eax, [r8 + 1]
cmove rcx, rax
mov rax, rdx
cqo
idiv rcx
jmp 0x140166e33
mov word [rsi + 0x14], dx
mov rsi, qword [rsp + 0x78]
jmp 0x140163214
call fcn.14016a910
mov rcx, rbx
mov qword [rbp - 0x50], rax
call fcn.14016a910
mov dil, byte [r13]
mov rbx, rax
cmp dil, 0x66
jne 0x1401669c2
and qword [rbp - 0x50], rax
jmp 0x140166a7b
cmp dil, 0x67
jne 0x1401669d1
or qword [rbp - 0x50], rbx
jmp 0x140166a7b
xor r8d, r8d
test rbx, rbx
je 0x140166a7e
jns 0x1401669ff
mov rcx, rbx
mov eax, 0xd1
sub al, dil
neg rcx
mov dil, al
mov rax, rbx
cmp rax, 0xffffffffffffffc0
lea ebx, [r8 + 0x40]
cmovg rbx, rcx
cmp rbx, 0x40
jl 0x140166a20
cmp qword [rbp - 0x50], r8
jge 0x140166a17
cmp dil, 0x68
je 0x140166a17
or rax, 0xffffffffffffffff
jmp 0x140166a1a
mov rax, r8
mov qword [rbp - 0x50], rax
jmp 0x140166a7e
mov r12d, 8
lea rdx, [rbp - 0x50]
mov r8d, r12d
lea rcx, [rbp - 0x38]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rbx
cmp dil, 0x68
jne 0x140166a45
shl qword [rbp - 0x38], cl
jmp 0x140166a6b
mov rdx, qword [rbp - 0x38]
xor eax, eax
shr rdx, cl
mov qword [rbp - 0x38], rdx
cmp qword [rbp - 0x50], rax
jge 0x140166a6b
lea ecx, [rax + 0x40]
or rax, 0xffffffffffffffff
sub cl, bl
shl rax, cl
or rax, rdx
mov qword [rbp - 0x38], rax
mov r8, r12
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x50]
call sub.VCRUNTIME140.dll_memcpy
xor r8d, r8d
mov rax, qword [rbp - 0x50]
mov ecx, 0xf244
mov qword [rsi], rax
movzx eax, word [rsi + 0x14]
and ax, cx
mov ecx, 4
or ax, cx
mov word [rsi + 0x14], ax
jmp 0x140166f66
mov ecx, ebx
sub ecx, 0x6e
je 0x1401668b7
sub ecx, 1
je 0x140166c03
sub ecx, 1
je 0x140166ac4
cmp ecx, 1
jne 0x140163214
mov eax, dword [r12 + 0xc8]
and al, 3
cmp al, dl
je 0x1401699d2
movsxd r12, dword [r13 + 0xc]
mov edi, r8d
mov rcx, qword [rsp + 0x70]
mov rax, r12
mov r15d, dword [r13 + 8]
mov r14, r8
shl rax, 5
add rax, qword [rcx + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x71
jne 0x140166b28
mov rax, qword [rax + 0x18]
mov rdx, qword [rsp + 0x50]
mov cl, byte [rax + 0x70]
movzx esi, word [rdx + 2]
mov rax, qword [rsp + 0x68]
and esi, 8
or esi, 4
cmp cl, byte [rax + 0xc3]
jae 0x140166b2b
mov byte [rax + 0xc3], cl
jmp 0x140166b2b
mov esi, r8d
mov rcx, qword [rsp + 0x50]
mov eax, 0x10
test byte [rcx + 2], al
je 0x140166b53
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x78]
mov rcx, rbx
call fcn.14016b634
mov rcx, qword [rsp + 0x50]
mov r15d, dword [rbx]
mov al, byte [rcx + 1]
cmp al, 0xf8
jne 0x140166b65
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x140166b6c
cmp al, 0xfd
jne 0x140166b6c
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x68]
mov r8d, edi
call fcn.1400e42f4
mov rdi, rax
test rax, rax
je 0x140169aca
mov rcx, qword [rdi + 0x30]
mov r9, r14
mov byte [rax + 1], r12b
mov r8d, esi
mov byte [rax + 2], 1
mov edx, r15d
mov qword [rsp + 0x20], rcx
mov eax, 4
or dword [rdi + 8], eax
mov rcx, r13
mov dword [rdi + 0x44], r15d
call fcn.140132ed0
mov r13, qword [rsp + 0x50]
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov qword [rdi + 0x38], r14
cmp byte [r13 + 1], 0xf8
mov dword [rsp + 0x44], eax
mov r14d, dword [rsp + 0x44]
setne al
xor r8d, r8d
mov byte [rdi + 4], al
lea edx, [r8 + 1]
mov cl, byte [r13 + 2]
mov rax, qword [rdi + 0x30]
and cl, 3
mov byte [rax + 3], cl
test r14d, r14d
jne 0x14016955f
jmp 0x140163850
movsxd rax, dword [r13 + 4]
mov r12, qword [rsp + 0x50]
imul r13, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add r13, rsi
imul rbx, rax, 0x38
movzx r14d, word [r13 + 0x14]
add rdi, rsi
mov al, r14b
add rbx, rsi
or al, byte [rdi + 0x14]
test dl, al
je 0x140166c6b
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140166c5a
mov rcx, rbx
call fcn.14017a5cc
mov r14d, dword [rsp + 0x44]
mov r13, r12
jmp 0x140164aba
mov r14d, dword [rsp + 0x44]
mov r13, r12
mov word [rbx + 0x14], dx
jmp 0x140164de2
test r14b, 0x12
jne 0x140166c82
mov dl, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, r13
call fcn.14016bc98
jmp 0x140166c95
mov eax, 0x400
test ax, r14w
je 0x140166cb0
mov rcx, r13
call fcn.14016b2b8
test eax, eax
jne 0x140169ad4
movzx r14d, word [r13 + 0x14]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x400
movzx esi, word [rdi + 0x14]
test sil, 0x12
jne 0x140166ce2
mov dl, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, rdi
call fcn.14016bc98
xor r8d, r8d
test eax, eax
jne 0x140169ad4
movzx esi, word [rdi + 0x14]
mov eax, 0xfffd
and si, ax
jmp 0x140166cf4
test ax, si
je 0x140166cf1
mov rcx, rdi
call fcn.14016b2b8
jmp 0x140166cc9
xor r8d, r8d
mov rax, qword [rsp + 0x70]
mov edx, dword [r13 + 0x10]
add edx, dword [rdi + 0x10]
movsxd r15, edx
movsxd rax, dword [rax + 0x88]
cmp r15, rax
jg 0x1401699fc
cmp rbx, rdi
mov rcx, rbx
sete r8b
add edx, 2
call fcn.14016b4fc
test eax, eax
jne 0x140169acf
movzx eax, word [rbx + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rbx + 0x14], ax
cmp rbx, rdi
je 0x140166d5b
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov word [rdi + 0x14], si
movsxd rcx, dword [rdi + 0x10]
add rcx, qword [rbx + 8]
movsxd r8, dword [r13 + 0x10]
mov rdx, qword [r13 + 8]
call sub.VCRUNTIME140.dll_memcpy
mov dil, byte [rsp + 0x40]
mov edx, 1
mov word [r13 + 0x14], r14w
cmp dil, dl
jbe 0x140166d88
and r15, 0xfffffffffffffffe
mov rax, qword [rbx + 8]
xor r8d, r8d
mov r14d, dword [rsp + 0x44]
mov r13, r12
mov rsi, qword [rsp + 0x78]
mov byte [r15 + rax], r8b
mov rax, qword [rbx + 8]
mov byte [rax + r15 + 1], r8b
mov eax, 0x200
or word [rbx + 0x14], ax
mov dword [rbx + 0x10], r15d
mov r15, qword [rsp + 0x70]
mov byte [rbx + 0x16], dil
jmp 0x140163855
xor r8d, r8d
test rcx, rcx
je 0x140166f11
cmp rcx, 0xffffffffffffffff
jne 0x140166de5
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x140166e4b
mov rax, rdx
cqo
idiv rcx
mov rdx, rax
jmp 0x140166e33
mov rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.1401519c4
jmp 0x140166e2a
movabs rax, 0x8000000000000000
cmp rcx, rax
jne 0x140166e1a
test rdx, rdx
jns 0x140166e4b
sub rdx, rcx
jmp 0x140166e33
neg rcx
mov rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.14012f01c
test eax, eax
jne 0x140166e4b
mov rdx, qword [rsp + 0x50]
movzx eax, word [r14 + 0x14]
mov ecx, 0xf244
and ax, cx
mov qword [r14], rdx
mov rcx, r12
jmp 0x140166f55
mov r12d, 8
test byte [rdi + 0x14], r12b
je 0x140166e5d
movsd xmm2, qword [rdi]
jmp 0x140166e83
test byte [rdi + 0x14], 0x24
je 0x140166e6d
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rdi]
jmp 0x140166e83
test byte [rdi + 0x14], 0x12
je 0x140166e80
mov rcx, rdi
call fcn.14011cb68
movaps xmm2, xmm0
jmp 0x140166e83
movaps xmm2, xmm7
mov rcx, rsi
call fcn.14016c570
movzx ecx, byte [r13]
movaps xmm6, xmm0
sub ecx, 0x6a
je 0x140166ef7
sub ecx, 1
je 0x140166ef1
sub ecx, 1
je 0x140166eeb
cmp ecx, 1
je 0x140166edd
mov rcx, rdi
call fcn.14016a910
mov rcx, rsi
mov rbx, rax
call fcn.14016a910
xor r8d, r8d
test rbx, rbx
je 0x140166f11
cmp rbx, 0xffffffffffffffff
lea r11d, [r8 + 1]
cqo
xorps xmm6, xmm6
cmove rbx, r11
idiv rbx
cvtsi2sd xmm6, rdx
jmp 0x140166efb
ucomisd xmm2, xmm7
jp 0x140166ee5
je 0x140166f0e
divsd xmm6, xmm2
jmp 0x140166efb
mulsd xmm6, xmm2
jmp 0x140166efb
subsd xmm6, xmm2
jmp 0x140166efb
addsd xmm6, xmm2
movaps xmm0, xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dclass]
mov ecx, 2
cmp ax, cx
jne 0x140166f3e
xor r8d, r8d
mov edx, 1
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x140166f34
mov rcx, r14
call fcn.14017a5cc
mov r14d, dword [rsp + 0x44]
jmp 0x140164ab5
mov word [r14 + 0x14], dx
jmp 0x1401660fe
movzx eax, word [r14 + 0x14]
mov ecx, 0xf248
and ax, cx
movsd qword [r14], xmm6
mov ecx, 4
or ax, r12w
mov word [r14 + 0x14], ax
xor r8d, r8d
mov r14d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x78]
mov dil, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x48]
mov edx, 1
jmp 0x140163219
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, rsi
mov eax, 0x9000
add rbx, rsi
test word [rbx + 0x14], ax
je 0x140166fb9
mov rcx, rbx
call fcn.14017a5cc
xor r8d, r8d
lea edx, [r8 + 1]
lea ecx, [rdx + 3]
jmp 0x140166fbd
mov word [rbx + 0x14], dx
test byte [rdi + 0x14], dl
jne 0x140163850
mov word [rbx + 0x14], cx
mov rcx, rdi
call fcn.14016a910
not rax
mov qword [rbx], rax
jmp 0x140164aba
cmp ebx, 0x7e
ja 0x1401676d3
je 0x14016766c
cmp ebx, 0x78
ja 0x14016742c
je 0x140167405
sub ebx, 0x73
je 0x14016735e
sub ebx, 1
je 0x1401671a4
sub ebx, 1
je 0x14016705c
sub ebx, 1
je 0x1401671a4
cmp ebx, 1
jne 0x140163219
mov r8d, dword [r13 + 8]
mov r9b, dl
mov edx, dword [r13 + 4]
mov rcx, r12
call fcn.1400e42f4
test rax, rax
je 0x140169abc
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r15
mov edx, dword [r13 + 0xc]
call fcn.14016cfbc
jmp 0x14016388e
mov rdx, r13
mov rcx, r12
call fcn.14011faf4
mov rcx, qword [r13 + 0x10]
xor edx, edx
mov rbx, rax
test rcx, rcx
jne 0x140167079
mov eax, edx
jmp 0x140167085
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
and eax, 0x3fffffff
xor edx, edx
mov ecx, 1
mov dword [r13 + 4], eax
cmp dil, cl
je 0x140167122
mov qword [rsp + 0x20], rdx
mov r9b, cl
mov rdx, qword [r13 + 0x10]
mov rcx, rbx
or r8, 0xffffffffffffffff
call fcn.14016b90c
mov r14d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
test r14d, r14d
jne 0x1401699f5
lea ecx, [rax + 2]
test byte [rbx + 0x14], cl
jne 0x1401670cf
mov byte [rbx + 0x16], dil
jmp 0x1401670ea
cmp byte [rbx + 0x16], dil
je 0x1401670ea
mov dl, dil
mov rcx, rbx
call fcn.14016bdac
test eax, eax
jne 0x140169abc
xor eax, eax
mov ecx, 0x2000
mov dword [rbx + 0x20], eax
or word [rbx + 0x14], cx
cmp byte [r13 + 1], 0xfa
jne 0x14016710e
mov rdx, qword [r13 + 0x10]
test rdx, rdx
je 0x14016710e
mov rcx, r15
call fcn.1401392a0
mov byte [r13 + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r13 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r13 + 4], eax
cmp eax, dword [r15 + 0x88]
jg 0x1401699f5
mov byte [r13], 0x49
xor r8d, r8d
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r12 + 0x68]
test word [rdx + 0x14], ax
je 0x14016715d
mov rcx, rdx
call fcn.14011fb1c
mov rdx, rax
xor r8d, r8d
mov word [rdx + 0x14], 0x2202
mov rax, qword [r13 + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [r13 + 4]
mov dword [rdx + 0x10], eax
mov byte [rdx + 0x16], dil
cmp dword [r13 + 0xc], r8d
jle 0x14016719a
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 2]
cmp qword [rcx + rsi], rax
jne 0x14016719a
mov word [rdx + 0x14], 0x2210
jmp 0x140163205
mov edx, 1
jmp 0x140163855
cmp dword [r13 + 0xc], r8d
jle 0x1401671cb
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov dword [rcx + rsi + 0x10], r8d
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x14022fd5a]
mov qword [rcx + rsi + 8], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rdx*8]
cmp rbx, r8
je 0x14016721f
mov eax, 8
test byte [rbx + 8], al
jne 0x14016721f
movsx eax, word [rbx + 0x48]
cmp dword [r13 + 8], eax
jg 0x14016721f
mov edx, dword [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r8
mov dword [rbx + 0x20], r8d
xor r8d, r8d
call fcn.1401327a8
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
jmp 0x140167351
mov r8d, dword [r13 + 8]
xor r9d, r9d
mov rcx, r12
call fcn.1400e42f4
mov rbx, rax
test rax, rax
je 0x140169abc
lea rdi, [rax + 0x10]
mov dword [rsp + 0x28], 0x41e
mov r12d, 1
mov r9, rdi
or dword [rax + 8], r12d
mov r8, r15
movzx ecx, word [r13 + 2]
xor edx, edx
or ecx, 5
mov dword [rsp + 0x20], ecx
mov rcx, qword [r15]
call fcn.1401343d8
xor r8d, r8d
mov r14d, eax
test eax, eax
jne 0x14016955f
mov rcx, qword [rdi]
mov edx, r12d
call fcn.1401324a4
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x140167327
mov r14, qword [r13 + 0x10]
lea rsi, [rbx + 0x44]
mov rcx, qword [rdi]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x1401672f9
movzx r8d, word [r13 + 2]
mov rdx, rsi
or r8d, 2
call fcn.140132e6c
xor r8d, r8d
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401672ee
mov rax, qword [rbx + 0x30]
lea r8d, [r12 + 3]
mov edx, dword [rsi]
mov r9, r14
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.140132ed0
mov r14d, eax
mov dword [rsp + 0x44], eax
xor r8d, r8d
jmp 0x1401672f3
mov r14d, dword [rsp + 0x44]
mov byte [rbx + 4], r8b
jmp 0x140167322
mov rax, qword [rbx + 0x30]
xor r9d, r9d
mov edx, r12d
mov dword [rsi], r12d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.140132ed0
mov r14d, eax
mov dword [rsp + 0x44], eax
xor r8d, r8d
mov byte [rbx + 4], r12b
mov rsi, qword [rsp + 0x78]
movzx eax, word [r13 + 2]
sub ax, 8
neg ax
mov eax, dword [rbx + 8]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, 4
or ecx, eax
mov dword [rbx + 8], ecx
test r14d, r14d
jne 0x1401699dd
mov dil, byte [rsp + 0x40]
mov edx, 1
mov byte [rbx + 2], dl
jmp 0x140163855
movsxd rcx, dword [r13 + 8]
xor r9d, r9d
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
movsx r8d, word [rbx + 0x48]
call fcn.1400e42f4
mov r10, rax
test rax, rax
je 0x140169abc
mov edx, dword [r10 + 8]
mov eax, 1
or edx, eax
mov byte [r10 + 2], al
mov dword [r10 + 8], edx
mov r8d, 4
mov rcx, qword [rbx + 0x38]
mov qword [r10 + 0x38], rcx
mov ecx, edx
mov al, byte [rbx + 4]
mov byte [r10 + 4], al
lea r12d, [r8 + 4]
mov eax, dword [rbx + 0x44]
mov dword [r10 + 0x44], eax
xor ecx, dword [rbx + 8]
and ecx, r8d
xor ecx, edx
mov dword [r10 + 8], ecx
or ecx, r12d
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
mov dword [r10 + 8], ecx
or dword [rbx + 8], r12d
mov rax, qword [r10 + 0x30]
mov r9, qword [r10 + 0x38]
mov edx, dword [r10 + 0x44]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140132ed0
mov r14d, eax
mov dword [rsp + 0x44], eax
jmp 0x140163e58
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
cmp rcx, r8
jne 0x14016320f
jmp 0x140163c2b
sub ebx, 0x79
je 0x140167629
sub ebx, 1
je 0x1401675f5
sub ebx, 2
je 0x14016748e
cmp ebx, 1
jne 0x140163219
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdx, qword [rax + rcx*8]
movzx eax, word [rdx + 0xc]
cmp eax, dword [r13 + 8]
jge 0x140167471
movzx eax, word [r13 + 8]
mov word [rdx + 0xc], ax
jmp 0x14016320f
mov ecx, 4
cmp eax, dword [r13 + 0xc]
jle 0x140166f7a
movzx eax, word [r13 + 0xc]
mov word [rdx + 0xc], ax
jmp 0x140166f7a
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 0x1c]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x30]
cmp byte [rax], r8b
jne 0x140164de2
mov rax, qword [rdi + 0x38]
mov r12d, 1
mov esi, dword [r13 + 4]
mov qword [rbp + 0x50], rax
movzx eax, word [r13 + 0x28]
mov word [rbp + 0x6c], ax
movsxd rax, dword [r13 + 0x24]
imul rcx, rax, 0x38
mov byte [rbp + 0x6e], r8b
add rcx, qword [rsp + 0x78]
mov qword [rbp + 0x58], rcx
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.140115e84
mov edx, dword [rbx + 0x40]
mov eax, edx
sub rax, r12
cmp rax, 0x7ffffffe
ja 0x140167567
xor eax, eax
mov qword [rbp + 0x180], r15
lea r8, [rbp + 0x168]
mov word [rbp + 0x17c], ax
mov rcx, rbx
mov dword [rbp + 0x188], eax
call fcn.14016b4a0
xor r8d, r8d
mov r14d, eax
test eax, eax
jne 0x14016955f
mov rdx, qword [rbp + 0x170]
lea r8, [rbp + 0x50]
mov ecx, dword [rbp + 0x178]
xor r9d, r9d
call fcn.14016c5a4
xor r8d, r8d
mov ebx, eax
cmp dword [rbp + 0x188], r8d
je 0x14016755d
lea rcx, [rbp + 0x168]
call fcn.14017a590
xor r8d, r8d
mov r14d, r8d
mov dword [rsp + 0x44], r8d
jmp 0x140167586
mov ecx, 0x155c6
call fcn.140137a14
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
mov ebx, r8d
test eax, eax
jne 0x14016955f
test ebx, ebx
jle 0x140167593
cmp word [r13 + 2], r8w
je 0x1401675ca
test ebx, ebx
jns 0x1401675e5
test esi, esi
jle 0x14016797d
mov rcx, qword [rdi + 0x30]
xor edx, edx
sub esi, r12d
call fcn.140134390
xor r8d, r8d
mov r14d, eax
test eax, eax
je 0x1401674d8
cmp eax, 0x65
jne 0x14016955f
mov r14d, r8d
mov dword [rsp + 0x44], r8d
mov r9, qword [rsp + 0x58]
add r13, 0x18
mov rdx, r12
jmp 0x140163df5
mov r14d, dword [rsp + 0x44]
jmp 0x140164505
mov rdx, r12
jmp 0x140164505
mov rdx, r9
jmp 0x140164505
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
cmp rdx, r8
je 0x140167617
mov rcx, r12
call fcn.14016a240
mov r9, qword [rsp + 0x58]
xor r8d, r8d
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov qword [rax + rcx*8], r8
jmp 0x14016320a
mov r8d, dword [r13 + 0xc]
mov r9d, 3
mov edx, dword [r13 + 4]
mov rcx, r12
call fcn.1400e42f4
xor r8d, r8d
test rax, rax
je 0x140169abc
lea edx, [r8 + 1]
mov byte [rax + 2], dl
mov ecx, dword [r13 + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x14024a6d4]
mov qword [rax + 0x30], rcx
mov byte [rax + 4], dl
jmp 0x140163855
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r12 + 0x68]
test word [rdx + 0x14], ax
je 0x140167699
mov rcx, rdx
call fcn.14011fb1c
mov r9, qword [rsp + 0x58]
mov rdx, rax
xor r8d, r8d
jmp 0x14016769d
mov word [rdx + 0x14], cx
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov r10d, dword [rsp + 0x48]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdx, qword [rax + rcx*8]
mov eax, 1
add qword [rdx + 0x18], rax
mov edx, eax
jmp 0x140163214
mov eax, 0x84
cmp ebx, eax
ja 0x140167bb1
je 0x140167b5f
sub ebx, 0x7f
je 0x140167987
sub ebx, 1
je 0x140167849
sub ebx, 1
je 0x140167810
sub ebx, 1
je 0x140167729
cmp ebx, 1
jne 0x140163219
mov rax, qword [r12 + 0x38]
add qword [r15 + 0x80], rax
mov qword [r15 + 0x78], rax
mov qword [r12 + 0x38], r8
jmp 0x140163219
cmp byte [r13 + 1], 0xfb
lea rsi, [r15 + 0x140]
mov rbx, qword [rsp + 0x68]
movsxd rcx, dword [r13 + 4]
mov r12d, dword [r13 + 8]
mov rax, qword [rbx + 0x78]
mov rdi, qword [rax + rcx*8]
jne 0x140167792
cmp qword [rsi], r8
je 0x140167792
mov rax, qword [r15 + 0x20]
movsx rcx, byte [rdi + 1]
mov r14, qword [r13 + 0x10]
shl rcx, 5
mov r15, qword [rcx + rax]
mov eax, 2
test byte [r13 + 2], al
je 0x140167798
cmp byte [rdi + 4], r8b
je 0x140167798
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.140115e84
mov rax, qword [rbx + 0x30]
mov rbx, qword [rsp + 0x68]
mov qword [rdi + 0x50], rax
jmp 0x140167798
mov r15, r8
mov r14, r8
mov dl, byte [r13 + 2]
mov rcx, qword [rdi + 0x30]
call fcn.140132f5c
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov qword [rdi + 0x20], r8
test eax, eax
jne 0x140169afd
lea edx, [rax + 1]
test dl, r12b
je 0x140165bd3
add qword [rbx + 0x38], rdx
mov r10, qword [rsi]
test r10, r10
je 0x140165bd3
test r14, r14
je 0x140165bd3
test byte [r14 + 0x30], 0x80
jne 0x140165bd3
mov rax, qword [rdi + 0x50]
mov r8, r15
mov r15, qword [rsp + 0x70]
mov edx, 9
mov r9, qword [r14]
mov qword [rsp + 0x20], rax
mov rcx, qword [r15 + 0x138]
call r10
jmp 0x140166f2a
mov rcx, qword [r12 + 0x78]
movsxd rax, dword [r13 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r13 + 8]
mov rdx, qword [rcx + rax*8]
cmp dword [r13 + 0xc], r8d
je 0x140167837
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + rsi]
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.1401353e8
jmp 0x14016388e
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, rsi
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + rsi]
xor ecx, ecx
cmp byte [r13 + 1], 0xfb
mov qword [rbp + 0xd0], r8
jne 0x14016789f
cmp qword [r15 + 0x140], rcx
je 0x14016789f
movsx rcx, byte [rbx + 1]
mov rax, qword [r15 + 0x20]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
xor ecx, ecx
jmp 0x1401678a5
mov rdi, rcx
mov rsi, rcx
mov eax, 1
test byte [r13 + 2], al
je 0x1401678c4
add qword [r12 + 0x38], rax
mov eax, 0x20
test byte [r13 + 2], al
je 0x1401678c4
mov qword [r15 + 0x38], r8
mov rax, qword [rdx + 8]
movzx r8d, word [r13 + 2]
mov qword [rbp + 0xd8], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0xec], eax
mov eax, 0x10
test al, r8b
je 0x1401678ed
mov r9d, dword [rbx + 0x24]
jmp 0x1401678f0
mov r9d, ecx
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x140167905
mov eax, dword [rdx]
mov dword [rbp + 0xf0], eax
jmp 0x14016790b
mov dword [rbp + 0xf0], ecx
mov qword [rbp + 0xc8], rcx
lea rdx, [rbp + 0xc8]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.1401339f0
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov byte [rbx + 3], r8b
mov r14d, eax
mov dword [rbx + 0x20], r8d
test eax, eax
jne 0x14016955f
test rdi, rdi
je 0x14016797d
mov al, byte [r13 + 2]
mov r8, rsi
mov r9, qword [rdi]
and al, 4
mov rcx, qword [r15 + 0x138]
neg al
mov rax, qword [rbp + 0xd0]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r15 + 0x140]
jmp 0x140164ab5
mov edx, 1
jmp 0x14016384b
movsxd rax, dword [r13 + 8]
imul rsi, rax, 0x38
mov eax, 0x9000
mov qword [rbp - 0x48], r8
add rsi, qword [r12 + 0x68]
mov dword [rbp - 0x80], r8d
test word [rsi + 0x14], ax
je 0x1401679b7
mov rcx, rsi
call fcn.14011fb1c
mov rsi, rax
xor r8d, r8d
jmp 0x1401679bb
mov word [rsi + 0x14], cx
movsxd rcx, dword [r13 + 4]
mov r11d, 2
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
test byte [rdi + 8], r11b
jne 0x140167a5b
mov rcx, qword [rdi + 0x30]
cmp byte [rcx], r8b
jne 0x140167a24
lea eax, [r11 + 6]
test byte [rcx + 1], al
je 0x140167a24
mov r14d, r8d
mov dword [rsp + 0x44], r8d
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.140115e84
mov rax, qword [rbx + 0x30]
movabs rcx, 0x7fffffffffffffff
mov qword [rbp - 0x48], rax
cmp rax, rcx
jl 0x140167a4b
mov r11d, 2
or dword [rdi + 8], r11d
xor r8d, r8d
jmp 0x140167a5b
lea rdx, [rbp - 0x80]
call fcn.1400e8e40
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
cmp dword [rbp - 0x80], r8d
je 0x1401679f2
lea eax, [r14 + 1]
jmp 0x140167a51
inc rax
xor r8d, r8d
mov r11d, 2
mov qword [rbp - 0x48], rax
movsxd rdx, dword [r13 + 0xc]
cmp edx, r8d
je 0x140167add
mov rcx, qword [r12 + 0x108]
cmp rcx, r8
je 0x140167a8d
mov rax, qword [rcx + 8]
jmp 0x140167a7e
mov rcx, rax
mov rax, qword [rax + 8]
cmp rax, r8
jne 0x140167a77
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x18]
jmp 0x140167a96
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x78]
mov rcx, rbx
call fcn.14016b634
mov rcx, qword [rbx]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x1401699ea
mov r11d, 2
test byte [rdi + 8], r11b
jne 0x1401699ea
mov rax, qword [rbp - 0x48]
inc rcx
cmp rax, rcx
jge 0x140167ad7
mov rax, rcx
mov qword [rbp - 0x48], rcx
mov qword [rbx], rax
xor r8d, r8d
test byte [rdi + 8], r11b
je 0x140167b4b
mov ebx, r8d
mov r12d, 1
lea rdx, [rbp - 0x48]
mov ecx, 8
call fcn.1400dfaec
mov rdx, qword [rbp - 0x48]
lea r9, [rbp - 0x80]
movabs rax, 0x3fffffffffffffff
xor r8d, r8d
and rdx, rax
add rdx, r12
mov qword [rbp - 0x48], rdx
mov rcx, qword [rdi + 0x30]
call fcn.1401351f8
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
cmp dword [rbp - 0x80], r8d
jne 0x140167b4b
add ebx, r12d
cmp ebx, 0x64
jl 0x140167aec
lea r14d, [rax + 0xd]
jmp 0x14016955f
mov byte [rdi + 3], r8b
mov dword [rdi + 0x20], r8d
mov rax, qword [rbp - 0x48]
mov qword [rsi], rax
jmp 0x1401631fb
mov rax, qword [r12 + 0x78]
lea r9, [rbp - 0x78]
movsxd rcx, dword [r13 + 4]
mov dword [rbp - 0x78], r8d
mov r8d, dword [r13 + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
add rdx, rsi
call fcn.14016cec4
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
lea edx, [rax + 1]
mov r9, qword [rsp + 0x58]
cmp dword [rbp - 0x78], r8d
je 0x14016385a
jmp 0x140163df5
sub ebx, 0x85
je 0x140167df4
sub ebx, 1
je 0x140167d54
sub ebx, 1
je 0x140167c5a
cmp ebx, 1
jne 0x140163219
movsxd rdx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rax, qword [rax + rdx*8]
cmp rax, r8
jne 0x140167c26
lea r9d, [rbx + 2]
mov r8d, ebx
mov rcx, r12
call fcn.1400e42f4
xor r8d, r8d
test rax, rax
je 0x140169abc
mov r9, qword [rsp + 0x58]
lea ecx, [rbx + 7]
or dword [rax + 8], ecx
mov edx, ebx
lea rcx, [0x14024a6d4]
mov dword [rax + 0x24], r8d
mov qword [rax + 0x30], rcx
mov byte [rax + 4], dl
jmp 0x140167c2b
mov edx, 1
mov byte [rax + 2], dl
mov dword [rax + 0x20], r8d
cmp byte [rax], r8b
jne 0x14016385a
mov rbx, qword [rax + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.1400df958
xor r8d, r8d
mov qword [rbx + 0x18], r8
lea edx, [r8 + 1]
mov byte [rbx], dl
jmp 0x140163855
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [r12 + 0x68]
test word [rdi + 0x14], ax
je 0x140167c8b
mov rcx, rdi
call fcn.14011fb1c
mov r9, qword [rsp + 0x58]
xor r8d, r8d
mov rdi, rax
lea edx, [r8 + 1]
jmp 0x140167c8f
mov word [rdi + 0x14], cx
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], r8b
je 0x140167cab
mov word [rdi + 0x14], dx
jmp 0x14016463d
cmp byte [rbx + 3], r8b
je 0x140167cba
mov rax, qword [rbx + 0x50]
jmp 0x140167d48
mov rcx, qword [rbx + 0x30]
mov eax, 2
cmp byte [rbx], al
jne 0x140167cf8
mov rbx, qword [rcx]
lea rdx, [rbp + 8]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r12
mov r14d, eax
mov dword [rsp + 0x44], eax
call fcn.14016e2ec
xor r8d, r8d
test r14d, r14d
jne 0x14016955f
mov rax, qword [rbp + 8]
jmp 0x140167d4c
cmp byte [rcx], r8b
je 0x140167d19
mov rcx, rbx
call fcn.14016a798
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
jmp 0x140167d21
mov r14d, r8d
mov dword [rsp + 0x44], r8d
cmp byte [rbx + 2], r8b
je 0x140167d35
mov edx, 1
mov word [rdi + 0x14], dx
jmp 0x140163850
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.140115e84
mov rax, qword [rbx + 0x30]
xor r8d, r8d
mov qword [rbp + 8], rax
mov qword [rdi], rax
jmp 0x140163200
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r12 + 0x68]
test word [rbx + 0x14], ax
je 0x140167d79
mov rcx, rbx
call fcn.14011fb1c
mov rbx, rax
jmp 0x140167d7d
mov word [rbx + 0x14], cx
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x30]
mov rcx, rdi
call fcn.140115e84
mov edx, dword [rdi + 0x40]
cmp edx, dword [r15 + 0x88]
ja 0x1401699f5
mov r8, rbx
mov rcx, rdi
call fcn.14016b4a0
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
cmp dword [r13 + 0xc], r8d
jne 0x140163200
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x140163200
mov rcx, rbx
call fcn.14016b664
xor r8d, r8d
test eax, eax
jne 0x140169abc
jmp 0x140163200
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, rsi
mov rcx, qword [rax + rcx*8]
call fcn.14016d3c4
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
movsxd rcx, dword [r13 + 0xc]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r8d
jmp 0x140163205
cmp byte [rcx], r8b
jne 0x14016424b
mov r10d, 8
test byte [rcx + 1], r10b
je 0x14016424b
mov r14d, r8d
mov dword [rsp + 0x44], r8d
jmp 0x14016426a
mov eax, 0xa0
cmp ebx, eax
ja 0x1401689f8
je 0x14016897b
mov eax, 0x95
cmp ebx, eax
ja 0x140168514
je 0x1401683ec
mov eax, 0x8f
cmp ebx, eax
ja 0x140168198
je 0x140168177
sub ebx, 0x8a
je 0x1401680c2
sub ebx, 1
je 0x14016806d
sub ebx, 1
je 0x140167fa0
sub ebx, 1
je 0x140167ec4
cmp ebx, 1
jne 0x140163219
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], r8b
je 0x140167efe
mov rcx, rbx
call fcn.14016a798
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
mov r9, qword [rsp + 0x58]
lea edx, [rax + 1]
jmp 0x140167f06
mov r14d, r8d
mov dword [rsp + 0x44], r8d
cmp byte [rbx + 2], r8b
jne 0x140167f7d
mov rdx, qword [rbx + 0x30]
mov rcx, r15
mov qword [rbp - 0x68], r8
lea r8, [rbp - 0x68]
call fcn.14016a7e8
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
cmp byte [r13], 0x8d
jne 0x140167f69
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 0xc]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x68]
mov word [rdx + 2], 0x100
mov qword [rdx + 0x50], rax
mov dword [rdx + 0x20], r8d
mov rax, qword [r13 + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x140163205
mov rdx, r13
mov rcx, r12
call fcn.14011faf4
mov rcx, qword [rbp - 0x68]
jmp 0x140165315
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
jne 0x140163e86
mov word [rcx + 0x14], dx
jmp 0x14016385a
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp + 0x1a0]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x30]
mov qword [rbp + 0x1a0], rax
movzx eax, word [r13 + 0xc]
mov word [rbp + 0x1bc], ax
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov byte [rbp + 0x1be], r8b
lea r8, [rbp - 4]
add rcx, rsi
mov qword [rbp + 0x1a8], rcx
mov rcx, rdi
call fcn.140133644
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
cmp dword [rbp - 4], r8d
jne 0x140168038
lea edx, [rax + 4]
mov rcx, rdi
call fcn.140132f5c
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
mov edx, 1
and qword [rbx + 0x20], 0
jmp 0x140163850
cmp word [r13 + 2], r8w
je 0x140168029
mov eax, dword [r15 + 0x30]
mov edx, 1
and eax, 0x10000001
cmp rax, rdx
je 0x14016802e
lea r8, str.index_corruption
mov edx, 0x1797e
mov ecx, 0x30b
call fcn.140159c60
jmp 0x1401697b3
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, rsi
test word [rbx + 0x14], ax
je 0x1401680a6
mov rcx, rbx
call fcn.14016b2b8
xor r8d, r8d
mov r14d, eax
test eax, eax
jne 0x14016955f
mov rdx, rbx
mov rcx, rdi
call fcn.14016d484
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jmp 0x140164374
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, rsi
test byte [r13 + 2], dl
je 0x1401680e5
add qword [r12 + 0x38], rdx
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x140168106
mov rcx, rbx
call fcn.14016b2b8
xor r8d, r8d
mov r14d, eax
test eax, eax
jne 0x14016955f
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [r13 + 2]
mov qword [rbp + 0x2b0], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x2a8], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, rsi
mov word [rbp + 0x2c8], ax
mov eax, 0x10
mov qword [rbp + 0x2c0], rcx
test al, r8b
je 0x14016814f
mov r9d, dword [rdi + 0x24]
jmp 0x140168154
xor eax, eax
mov r9d, eax
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x2a8]
and r8d, 0x8a
call fcn.1401339f0
xor r8d, r8d
mov dword [rdi + 0x20], r8d
jmp 0x1401680b4
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], r8b
je 0x140163214
call fcn.14016a13c
jmp 0x14016388e
sub ebx, 0x90
je 0x1401682c0
sub ebx, 1
je 0x14016826b
sub ebx, 1
je 0x140168231
sub ebx, 1
je 0x1401681e4
cmp ebx, 1
jne 0x140163219
add byte [r15 + 0x70], dl
xor r9d, r9d
mov rdx, qword [r13 + 0x10]
mov rcx, r15
mov qword [rsp + 0x20], r8
xor r8d, r8d
call fcn.1400de2c0
dec byte [r15 + 0x70]
jmp 0x14016388e
mov rdx, r13
mov rcx, r12
call fcn.14011faf4
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x78]
mov r8d, dword [r13 + 0xc]
mov rbx, rax
shl rcx, 5
xor eax, eax
add rcx, qword [r15 + 0x20]
mov dword [rbp - 0x78], eax
mov rcx, qword [rcx + 8]
call fcn.140132e6c
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14016955f
mov eax, dword [rbp - 0x78]
mov qword [rbx], rax
jmp 0x140163205
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], dl
jne 0x140168253
mov rdx, qword [rcx + 0x30]
mov rcx, r15
call fcn.14016d24c
jmp 0x140163e58
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.1401327a8
jmp 0x14016388e
movsxd rax, dword [r13 + 8]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r13 + 4]
mov qword [rbp + 0x18], r8
lea r8, [rbp + 0x18]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1401327a8
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
cmp dword [r13 + 0xc], r8d
je 0x1401682b8
mov rdx, qword [rbp + 0x18]
add qword [r12 + 0x38], rdx
cmp dword [r13 + 0xc], r8d
jle 0x1401682b8
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add qword [rcx + rsi], rdx
test r14d, r14d
jmp 0x14016389a
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [r12 + 0x68]
test word [rdi + 0x14], ax
je 0x1401682ea
mov rcx, rdi
call fcn.14011fb1c
xor r8d, r8d
mov rdi, rax
lea edx, [r8 + 1]
mov word [rdi + 0x14], dx
mov eax, dword [r15 + 0xe8]
add eax, edx
cmp dword [r15 + 0xdc], eax
jg 0x140169a2a
mov rax, qword [rsp + 0x70]
movsxd r15, dword [r13 + 0xc]
mov esi, dword [r13 + 4]
mov r14, r15
shl r14, 5
mov rax, qword [rax + 0x20]
mov dword [rbp - 0x78], r8d
mov rbx, qword [r14 + rax + 8]
cmp byte [rbx + 0x11], r8b
je 0x14016833c
add dword [rbx + 0x14], edx
cmp byte [rbx + 0x12], r8b
jne 0x14016833c
mov rcx, rbx
call fcn.1400e8ef8
lea r8, [rbp - 0x78]
mov edx, esi
mov rcx, rbx
call fcn.1400e88f0
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r12d, eax
cmp byte [rbx + 0x11], r8b
je 0x14016836b
sub dword [rbx + 0x14], 1
jne 0x14016836b
mov rcx, rbx
call fcn.14017802c
xor r8d, r8d
movsxd rdx, dword [rbp - 0x78]
mov ecx, 4
mov word [rdi + 0x14], cx
mov qword [rdi], rdx
test r12d, r12d
jne 0x140169afd
test edx, edx
je 0x140168d10
mov rax, qword [rsp + 0x70]
mov r9d, dword [r13 + 4]
mov r8, qword [rax + 0x20]
mov rax, qword [r14 + r8 + 0x18]
mov rcx, qword [rax + 0x10]
jmp 0x1401683b4
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], edx
jne 0x1401683b1
mov dword [rax + 0x28], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1401683a4
mov rax, qword [r14 + r8 + 0x18]
xor r8d, r8d
mov rcx, qword [rax + 0x28]
jmp 0x1401683d7
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x1401683d4
mov dword [rax + 0x58], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1401683c7
lea edx, [rcx + 1]
lea r11d, [rdx + r15]
mov byte [rbp - 0x60], r11b
jmp 0x140165bd3
movsxd rbx, dword [r13 + 4]
lea rdi, [r12 + 0xa8]
mov rdx, qword [r13 + 0x10]
mov r8, rbx
shl r8, 5
add r8, qword [r15 + 0x20]
test rdx, rdx
jne 0x14016844d
mov rcx, qword [r8 + 0x18]
call fcn.14015afdc
and dword [r15 + 0x2c], 0xffffffef
mov r8, rdi
movzx r9d, word [r13 + 2]
mov edx, ebx
mov rcx, r15
call fcn.14014e940
mov edx, 1
mov dword [rsp + 0x44], eax
or dword [r15 + 0x2c], edx
mov r14d, eax
and dword [r12 + 0xc8], 0xfffffffc
xor r8d, r8d
jmp 0x140168506
mov qword [rbp + 0x30], rdi
lea r9, str.sqlite_master
mov qword [rbp + 0x28], r15
xor edi, edi
mov dword [rbp + 0x40], edi
mov dword [rbp + 0x38], ebx
mov rax, qword [r8 + 8]
mov qword [rsp + 0x20], rdx
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rcx, qword [rax + 8]
mov eax, dword [rcx + 0x40]
mov rcx, r15
mov dword [rbp + 0x48], eax
mov r8, qword [r8]
call fcn.140151444
mov rbx, rax
test rax, rax
je 0x140169a40
lea r9, [rbp + 0x28]
mov byte [r15 + 0xc5], 1
lea r8, [fcn.14014e69c]
mov dword [rbp + 0x3c], edi
mov rdx, rax
mov dword [rbp + 0x44], edi
mov rcx, r15
mov qword [rsp + 0x20], rdi
call fcn.1400de2c0
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x1401684ed
mov r14d, dword [rbp + 0x3c]
mov dword [rsp + 0x44], r14d
test r14d, r14d
jne 0x1401684ed
cmp dword [rbp + 0x44], edi
jne 0x1401684ed
mov ecx, 0x17b47
call fcn.140137a14
mov r14d, eax
mov dword [rsp + 0x44], eax
mov rdx, rbx
mov rcx, r15
call fcn.1401392a0
xor r8d, r8d
mov byte [r15 + 0xc5], r8b
lea edx, [r8 + 1]
test r14d, r14d
jne 0x140169a46
jmp 0x140163850
mov eax, 0x9b
cmp ebx, eax
ja 0x140168819
je 0x1401686da
sub ebx, 0x96
je 0x1401686c9
sub ebx, 1
je 0x140168699
sub ebx, 1
je 0x140168622
sub ebx, 1
je 0x1401685e2
cmp ebx, 1
jne 0x140163219
movsxd rcx, dword [r13 + 4]
xor r8d, r8d
mov rax, qword [r15 + 0x20]
mov rdx, qword [r13 + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
call fcn.14014de8c
xor r8d, r8d
mov rbx, rax
test rax, rax
je 0x140168d1a
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x1401685c9
mov rdx, qword [rax + 8]
add rcx, 8
call fcn.1400f40b4
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1401685c9
add rcx, 0x58
mov rax, qword [rcx]
jmp 0x1401685bf
lea rdx, [rax + 0x40]
cmp rax, rbx
mov rax, qword [rdx]
je 0x1401685c6
mov rcx, rdx
test rax, rax
jne 0x1401685b0
jmp 0x1401685c9
mov qword [rcx], rax
mov rdx, rbx
mov rcx, r15
call fcn.14013a41c
mov edx, 1
or dword [r15 + 0x2c], edx
jmp 0x1401632f8
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r12 + 0x68]
test word [rdx + 0x14], ax
je 0x14016860d
mov rcx, rdx
call fcn.14011fb1c
mov r9, qword [rsp + 0x58]
mov rdx, rax
xor r8d, r8d
mov word [rdx + 0x14], 8
mov rax, qword [r13 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14016320a
movsxd rcx, dword [r13 + 4]
xor r8d, r8d
mov rax, qword [r15 + 0x20]
mov rdx, qword [r13 + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
call fcn.14014de8c
xor r8d, r8d
mov rdx, rax
test rax, rax
je 0x14016868b
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x140168671
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x140168680
lea r8, [rcx]
mov rcx, qword [rcx + 0x28]
cmp rcx, rdx
je 0x140168678
test rcx, rcx
jne 0x140168665
jmp 0x140168680
mov rax, qword [rdx + 0x28]
mov qword [r8 + 0x28], rax
mov rcx, r15
call fcn.140141bcc
xor r8d, r8d
mov edx, 1
or dword [r15 + 0x2c], edx
jmp 0x140163855
movsxd rcx, dword [r13 + 4]
xor r8d, r8d
mov rdx, qword [r13 + 0x10]
shl rcx, 5
add rcx, qword [r15 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.14014de8c
mov rdx, rax
mov rcx, r15
call fcn.14013a3f8
jmp 0x1401685d4
mov edx, dword [r13 + 4]
mov rcx, r15
call fcn.1401307f4
jmp 0x14016388e
movsxd rax, dword [r13 + 0xc]
lea r9, [rbp + 0x20]
mov r8, qword [r13 + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 4]
add r8, 4
mov qword [rsp + 0x30], r9
add rdi, rsi
imul rbx, rax, 0x38
movzx eax, word [r13 + 2]
lea r9, [rbp - 8]
mov ecx, dword [rdi]
add rbx, rsi
add ecx, edx
mov qword [rsp + 0x28], r9
mov rdx, qword [r15 + 0x20]
mov r9d, dword [r13 + 8]
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, r15
mov rdx, qword [rax + rdx + 8]
call fcn.140133ee0
mov r14d, eax
mov dword [rsp + 0x44], eax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140168751
mov rcx, rbx
call fcn.14017a5cc
mov edx, 1
jmp 0x14016875a
mov edx, 1
mov word [rbx + 0x14], dx
mov eax, dword [rbp - 8]
test eax, eax
je 0x140168791
test r14d, r14d
jne 0x140169a63
dec eax
mov r9b, dl
mov rdx, qword [rbp + 0x20]
or r8, 0xffffffffffffffff
movsxd rcx, eax
lea rax, [fcn.1400df958]
sub qword [rdi], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.14016b90c
mov dil, byte [rsp + 0x40]
mov eax, 2
test byte [rbx + 0x14], al
jne 0x1401687a6
mov byte [rbx + 0x16], dil
jmp 0x1401687b7
cmp byte [rbx + 0x16], dil
je 0x1401687b7
mov dl, dil
mov rcx, rbx
call fcn.14016bdac
xor r8d, r8d
mov eax, dword [r15 + 0x198]
cmp eax, r8d
jne 0x140169ac3
mov rbx, qword [rsp + 0x60]
mov r12, qword [rbp - 0x20]
cmp r12, rbx
jb 0x140168d1a
mov rdx, qword [r15 + 0x210]
cmp rdx, r8
je 0x140168d1a
mov eax, dword [r15 + 0x220]
mov rcx, qword [r15 + 0x218]
add rbx, rax
mov qword [rsp + 0x60], rbx
call rdx
xor r8d, r8d
test eax, eax
jne 0x140169a71
cmp r12, rbx
jae 0x1401687dc
jmp 0x140163205
sub ebx, 0x9c
je 0x14016893a
sub ebx, 1
je 0x1401688e1
sub ebx, 1
je 0x1401688aa
cmp ebx, 1
jne 0x140163219
mov rcx, qword [r12 + 0x108]
cmp rcx, r8
je 0x140168869
mov rax, qword [rcx + 8]
jmp 0x140168856
mov rcx, rax
mov rax, qword [rax + 8]
cmp rax, r8
jne 0x14016884f
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x140168874
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, rsi
mov rcx, rdi
call fcn.14016b634
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.14016b634
mov rax, qword [rbx]
xor r8d, r8d
lea ecx, [r8 + 4]
cmp qword [rdi], rax
jge 0x140166f6b
mov qword [rdi], rax
jmp 0x140166f6b
mov eax, dword [r15 + 0x30]
bt rax, 0x13
movsxd rax, dword [r13 + 8]
jae 0x1401688c5
add qword [r15 + 0x300], rax
jmp 0x140163219
cmp dword [r13 + 4], r8d
je 0x1401688d7
add qword [r15 + 0x2f8], rax
jmp 0x140163219
add qword [r12 + 0x50], rax
jmp 0x140163219
movsxd rax, dword [r13 + 8]
imul r9, rax, 0x38
mov eax, 0x9000
add r9, qword [r12 + 0x68]
test word [r9 + 0x14], ax
je 0x140168907
mov rcx, r9
call fcn.14011fb1c
mov r9, rax
jmp 0x14016890c
mov word [r9 + 0x14], cx
mov r8, qword [r12 + 0x108]
movsxd rax, dword [r8 + 0x4c]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov eax, dword [rax + rcx*8 + 4]
mov rcx, r9
add eax, dword [r13 + 4]
cdqe
imul rdx, rax, 0x38
add rdx, qword [r8 + 0x18]
jmp 0x140165669
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
add rbx, rsi
mov eax, 0x10
add rdi, rsi
test byte [rbx + 0x14], al
jne 0x14016896a
mov rcx, rbx
call fcn.14016b84c
test eax, eax
jne 0x140169abc
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.14015a4a8
jmp 0x140164aba
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul r10, rax, 0x38
add rdi, rsi
mov eax, 0x9000
add r10, qword [r12 + 0x68]
test word [r10 + 0x14], ax
je 0x1401689b7
mov rcx, r10
call fcn.14011fb1c
mov r10, rax
xor r8d, r8d
jmp 0x1401689bc
mov word [r10 + 0x14], cx
mov rax, qword [rbx + rsi]
mov qword [rbp - 0x68], rax
cmp rax, r8
jle 0x1401689ef
mov rdx, qword [rdi]
lea rcx, [rbp - 0x68]
cmp rdx, r8
cmovle rdx, r8
call fcn.14012f01c
xor r8d, r8d
test eax, eax
jne 0x1401689ef
mov rax, qword [rbp - 0x68]
mov qword [r10], rax
jmp 0x140163200
or qword [r10], 0xffffffffffffffff
jmp 0x140163200
mov eax, 0xab
cmp ebx, eax
ja 0x140168f1e
je 0x140168e81
mov eax, 0xa6
cmp ebx, eax
ja 0x140168d90
je 0x140168d24
sub ebx, 0xa1
je 0x140168b36
sub ebx, 1
je 0x140168b36
sub ebx, 1
je 0x140168bce
sub ebx, 1
je 0x140168a4a
cmp ebx, 1
jne 0x140163219
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, rsi
mov rsi, qword [r13 + 0x10]
cmp dword [r13 + 0xc], r8d
je 0x140168aec
movsxd rax, dword [r13 + 0xc]
lea rcx, [rbp + 0x200]
imul rdi, rax, 0x38
xor edx, edx
add rdi, qword [rsp + 0x78]
lea r8d, [rdx + 0x38]
call sub.VCRUNTIME140.dll_memset
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x140168a97
mov rcx, rdi
call fcn.14017a5cc
jmp 0x140168a9d
mov word [rdi + 0x14], 1
mov rax, qword [rbx + 0x18]
mov qword [rbp + 0x200], rdi
mov qword [rbp + 0x210], rbx
mov qword [rbp + 0x208], rsi
mov cl, byte [rax + 0x64]
mov byte [rbp + 0x228], cl
lea rcx, [rbp + 0x200]
call qword [rsi + 0x28]
movsxd rax, dword [r13 + 0xc]
mov rsi, qword [rsp + 0x78]
mov r14d, dword [rbp + 0x224]
mov dil, byte [rsp + 0x40]
imul rbx, rax, 0x38
mov dword [rsp + 0x44], r14d
add rbx, rsi
jmp 0x140168b03
mov rdx, rsi
mov rcx, rbx
call fcn.14016b31c
mov rsi, qword [rsp + 0x78]
mov r14d, eax
mov dword [rsp + 0x44], eax
xor r8d, r8d
test r14d, r14d
jne 0x140169a92
lea eax, [r8 + 2]
test byte [rbx + 0x14], al
je 0x140165471
cmp byte [rbx + 0x16], dil
je 0x140168d1a
mov dl, dil
mov rcx, rbx
call fcn.14016bdac
jmp 0x140163e58
movzx ebx, word [r13 + 2]
mov rcx, r15
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.140139358
xor r11d, r11d
mov r8, rax
test rax, rax
je 0x140169abc
mov dil, byte [rsp + 0x40]
lea rcx, [rbx + 6]
lea rcx, [rax + rcx*8]
mov qword [rax + 0x10], r11
mov qword [rax], rcx
mov word [rcx + 0x14], 1
mov qword [rcx + 0x18], r15
mov dword [rcx + 0x20], r11d
mov rcx, qword [r13 + 0x10]
mov qword [rax + 8], rcx
mov rcx, r13
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r12
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x29], r11b
mov dword [r8 + 0x24], r11d
mov byte [r8 + 0x28], dil
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x20], edx
mov word [r13], 0xf1a3
mov qword [r13 + 0x10], r8
jmp 0x140168bd1
xor r11d, r11d
movsxd rax, dword [r13 + 0xc]
mov rbx, qword [r13 + 0x10]
imul r8, rax, 0x38
add r8, rsi
cmp qword [rbx + 0x10], r8
je 0x140168c33
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r8
sub rdx, 1
lea r10d, [rax - 1]
js 0x140168c33
mov edi, 8
lea r9, [rdx + 6]
lea r9, [rbx + r9*8]
lea r15d, [rdi - 7]
mov eax, dword [r13 + 8]
add eax, r10d
sub r10d, r15d
cdqe
imul rcx, rax, 0x38
add rcx, rsi
mov qword [r9], rcx
sub r9, rdi
sub rdx, r15
jns 0x140168c0b
mov r15, qword [rsp + 0x70]
mov dil, byte [rsp + 0x40]
mov eax, 1
mov rcx, rbx
add dword [r8 + 0x10], eax
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [r13 + 4], r11d
je 0x140168c56
call qword [rax + 0x30]
jmp 0x140168c59
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r8d, r8d
test eax, eax
je 0x140168d1a
jle 0x140168c93
mov rcx, qword [rbx]
lea edx, [r8 + 1]
call fcn.140162178
mov r8, rax
lea rdx, [0x1402319f8]
mov rcx, r12
call fcn.140162dfc
mov r14d, dword [rbx + 0x24]
xor r8d, r8d
mov dword [rsp + 0x44], r14d
cmp byte [rbx + 0x29], r8b
je 0x140168cd6
cmp dword [r13 - 0x14], r8d
je 0x140168cd2
movsxd rax, dword [r13 - 0x14]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x140168cc4
mov edx, 1
call fcn.14017b660
xor r8d, r8d
jmp 0x140168cd2
mov eax, 1
mov word [rcx + 0x14], 4
mov qword [rcx], rax
mov byte [rbx + 0x29], r8b
mov rcx, qword [rbx]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x140168cea
cmp dword [rcx + 0x20], r8d
je 0x140168cf2
call fcn.14017a590
xor r8d, r8d
mov rax, qword [rbx]
mov edx, 1
mov word [rax + 0x14], dx
mov dword [rbx + 0x24], r8d
test r14d, r14d
jne 0x1401639c8
jmp 0x140163855
mov r15, qword [rsp + 0x70]
jmp 0x140166f61
mov ecx, 4
jmp 0x140166f6b
cmp dword [r13 + 4], r8d
jne 0x140168d6e
mov rdx, qword [r15 + 8]
mov eax, dword [r13 + 8]
cmp rdx, r8
je 0x140166f7a
xor edi, edi
lea r8d, [rax + 1]
lea r11d, [rdi + 3]
mov eax, dword [rdx + 0xc8]
mov ecx, r8d
xor ecx, eax
and ecx, r11d
xor ecx, eax
mov dword [rdx + 0xc8], ecx
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x140168d45
mov dil, byte [rsp + 0x40]
jmp 0x140163c98
mov eax, dword [r12 + 0xc8]
mov ecx, dword [r13 + 8]
add ecx, edx
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [r12 + 0xc8], ecx
jmp 0x140163214
sub ebx, 0xa7
je 0x140168e67
sub ebx, 1
je 0x140168e4d
sub ebx, 1
je 0x140168de9
cmp ebx, 1
jne 0x140163219
mov rbx, qword [r13 + 0x10]
mov rcx, r15
mov rdx, rbx
call fcn.14016d9a0
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test rbx, rbx
je 0x1401682b8
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.14016e2ec
xor r8d, r8d
jmp 0x1401682b8
mov r8b, byte [r13 + 0xc]
test r8b, r8b
jne 0x140168e01
mov eax, dword [r15 + 0x30]
bt rax, 0xa
jb 0x14016564b
movsxd rax, dword [r13 + 4]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1401342c4
xor r8d, r8d
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
je 0x140163205
cmp al, 6
jne 0x14016955f
mov r8, qword [r13 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r12
call fcn.140162dfc
jmp 0x140169608
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
jmp 0x140163214
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
jmp 0x140163214
xor edx, edx
lea rcx, [rbp + 0x238]
lea r8d, [rdx + 0x38]
call sub.VCRUNTIME140.dll_memset
movsxd rax, dword [r13 + 8]
lea rcx, [rbp + 0x238]
imul rdx, rax, 0x38
mov qword [rbp + 0x250], r15
add rdx, rsi
call fcn.14016b234
mov edx, 1
mov dword [rsp + 0x44], eax
lea rcx, [rbp + 0x238]
mov r14d, eax
call fcn.140162178
xor r8d, r8d
test rax, rax
je 0x140168ef2
mov edx, dword [r13 + 4]
lea r9, [r12 + 0xa8]
mov r8, rax
mov rcx, r15
call fcn.14016dc90
mov r14d, eax
mov dword [rsp + 0x44], eax
xor r8d, r8d
mov eax, 0x9000
test word [rbp + 0x24c], ax
jne 0x140168f0d
cmp dword [rbp + 0x258], r8d
je 0x1401682b8
lea rcx, [rbp + 0x238]
call fcn.14017a590
jmp 0x140168de1
mov eax, 0xb1
cmp ebx, eax
ja 0x140169283
je 0x140169235
sub ebx, 0xac
je 0x140169212
sub ebx, 1
je 0x140169192
sub ebx, 1
je 0x14016912a
sub ebx, 1
je 0x140168fec
cmp ebx, 1
jne 0x140163219
mov edi, dword [r15 + 0x30]
mov eax, 0x4000000
or qword [r15 + 0x30], rax
and edi, eax
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 2
add rbx, qword [rsp + 0x78]
test byte [rbx + 0x14], al
jne 0x140168f94
mov byte [rbx + 0x16], dl
jmp 0x140168faf
cmp byte [rbx + 0x16], dl
je 0x140168faf
mov rcx, rbx
call fcn.14016bdac
xor r8d, r8d
mov r14d, eax
test eax, eax
jne 0x14016955f
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x44], eax
mov r14d, eax
test edi, edi
jne 0x140168fd0
btr qword [r15 + 0x30], 0x1a
mov rdx, rsi
mov rcx, r12
call fcn.14016e2ec
and dword [r12 + 0xc8], 0xfffffffc
xor r8d, r8d
jmp 0x1401651a3
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, rsi
cmp byte [rdi + 2], r8b
je 0x14016902b
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140169022
mov rcx, rbx
call fcn.14017a5cc
jmp 0x140164aba
mov word [rbx + 0x14], dx
jmp 0x140164de2
mov rax, qword [rdi + 0x30]
lea rcx, [rbp + 0x270]
xor edx, edx
mov rsi, qword [rax]
lea r8d, [rdx + 0x38]
mov r14, qword [rsi]
call sub.VCRUNTIME140.dll_memset
mov al, byte [rsp + 0x40]
mov ecx, 1
mov qword [rbp + 0x270], rbx
mov byte [rbp + 0x298], al
test byte [r13 + 2], cl
je 0x140169087
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140169078
mov rcx, rbx
call fcn.14017a5cc
jmp 0x14016907c
mov word [rbx + 0x14], cx
xor eax, eax
mov dword [rbx], eax
mov eax, 0x401
jmp 0x140169096
movzx eax, word [rbx + 0x14]
mov edx, 0xf241
and ax, dx
or ax, cx
mov word [rbx + 0x14], ax
lea rdx, [rbp + 0x270]
mov r8d, dword [r13 + 8]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r12
mov r14d, eax
mov dword [rsp + 0x44], eax
call fcn.14016e2ec
xor eax, eax
cmp dword [rbp + 0x294], eax
jle 0x1401690f2
lea edx, [rax + 1]
mov rcx, rbx
call fcn.140162178
mov r8, rax
lea rdx, [0x1402319f8]
mov rcx, r12
call fcn.140162dfc
mov r14d, dword [rbp + 0x294]
mov dword [rsp + 0x44], r14d
mov dil, byte [rsp + 0x40]
mov esi, 2
test byte [rbx + 0x14], sil
jne 0x140169108
mov byte [rbx + 0x16], dil
jmp 0x140169119
cmp byte [rbx + 0x16], dil
je 0x140169119
mov dl, dil
mov rcx, rbx
call fcn.14016bdac
xor r8d, r8d
test r14d, r14d
jne 0x140169768
jmp 0x140164427
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
mov ecx, 0x10
call fcn.1400df8c0
mov rbx, rax
test rax, rax
je 0x140169abc
mov rcx, qword [rdi + 0x30]
mov qword [rax], rcx
movsxd rcx, dword [r13 + 0xc]
imul rdx, rcx, 0x38
mov rcx, r12
add rdx, rsi
mov qword [rax + 8], rdx
mov rdx, r13
call fcn.14011faf4
lea r9, [0x1401049c4]
mov rdx, rbx
lea r8, str.ValueList
mov rcx, rax
mov word [rax + 0x14], 1
call fcn.14016b7e0
jmp 0x140164aba
mov rax, qword [r13 + 0x10]
mov qword [rbp - 0x10], r8
mov rbx, qword [rax + 0x10]
cmp rbx, r8
je 0x140169777
mov rdi, qword [rbx]
cmp rdi, r8
je 0x140169777
lea rdx, [rbp - 0x10]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r12
mov r14d, eax
mov dword [rsp + 0x44], eax
call fcn.14016e2ec
xor r8d, r8d
test r14d, r14d
jne 0x14016955f
mov rax, qword [rbp - 0x10]
lea r9d, [r14 + 2]
mov rcx, r12
mov qword [rax], rbx
mov edx, dword [r13 + 4]
call fcn.1400e42f4
mov rcx, qword [rbp - 0x10]
xor r8d, r8d
test rax, rax
je 0x140169ab9
lea edx, [r14 + 1]
mov qword [rax + 0x30], rcx
add dword [rbx + 8], edx
jmp 0x140163850
add dword [r15 + 0xe8], edx
mov rcx, r15
mov r8, qword [r13 + 0x10]
mov edx, dword [r13 + 4]
call fcn.14016dda0
dec dword [r15 + 0xe8]
jmp 0x14016388e
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r12 + 0x68]
test word [rdx + 0x14], ax
je 0x140169262
mov rcx, rdx
call fcn.14011fb1c
mov r9, qword [rsp + 0x58]
mov rdx, rax
xor r8d, r8d
jmp 0x140169266
mov word [rdx + 0x14], cx
mov rax, qword [r15 + 0x20]
movsxd rcx, dword [r13 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
jmp 0x14016861a
sub ebx, 0xb2
je 0x14016943a
sub ebx, 1
je 0x140169423
sub ebx, 1
je 0x1401693e6
cmp ebx, 1
jne 0x140163219
mov al, byte [r15 + 0x6e]
test al, 0x41
je 0x14016937e
cmp byte [r12 + 0xc3], 0xfe
je 0x14016937e
mov r9, qword [r13 + 0x10]
cmp r9, r8
jne 0x1401692df
mov r9, qword [r12 + 0xf8]
cmp r9, r8
je 0x140169379
test al, 0x40
je 0x14016930c
mov rdx, r9
mov rcx, r12
call fcn.140169cf0
mov rcx, qword [r15 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r15 + 0xf8]
mov rcx, rbx
call fcn.1400df958
jmp 0x14016936e
cmp dword [r15 + 0xe4], edx
jle 0x140169358
mov r8, r9
lea rdx, str.____s
mov rcx, r15
call fcn.140151444
mov rdx, qword [r15 + 0x100]
mov r9, rax
mov r8, r12
mov ecx, 1
mov rbx, rax
call qword [r15 + 0xf8]
xor r8d, r8d
test rbx, rbx
je 0x140169371
mov rdx, rbx
mov rcx, r15
call fcn.1401392a0
jmp 0x14016936e
mov rdx, qword [r15 + 0x100]
mov r8, r12
mov ecx, 1
call qword [r15 + 0xf8]
xor r8d, r8d
mov ecx, 4
lea edx, [rcx - 3]
mov r9, qword [rsp + 0x58]
mov eax, dword [r13 + 4]
cmp eax, dword [0x1402452c8]
jl 0x1401693d3
cmp byte [r13], 0xb5
je 0x140163c50
mov r10d, 1
cmp dword [r12 + 0x90], r10d
jle 0x1401693cd
lea eax, [r10 + 0x17]
mov rcx, qword [r12 + 0x88]
cmp byte [rcx + rax], 0xf
jne 0x1401693bc
mov dword [rcx + rax + 4], r8d
add edx, r10d
add rax, 0x18
cmp edx, dword [r12 + 0x90]
jl 0x1401693a9
mov eax, r8d
mov rdx, r10
inc eax
mov dword [r13 + 4], eax
add dword [r12 + 0xec], edx
jmp 0x140163df5
movsxd rax, dword [r13 + 4]
mov rdx, r13
mov rcx, rsi
imul rbx, rax, 0x38
call fcn.1400f3b30
movsxd rcx, dword [rbx + rsi + 0x10]
xor edx, edx
div rcx
mov rcx, qword [rbx + rsi + 8]
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x140163e58
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + rsi + 0x14], ax
jmp 0x140163214
movsxd rax, dword [r13 + 8]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [r12 + 0x68]
test word [rsi + 0x14], ax
je 0x140169466
mov rcx, rsi
call fcn.14011fb1c
xor r8d, r8d
mov rsi, rax
lea edx, [r8 + 1]
jmp 0x14016946a
mov word [rsi + 0x14], cx
movsxd rcx, dword [r13 + 4]
mov edi, r8d
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
mov ecx, dword [r13 + 0xc]
cmp ecx, r8d
je 0x140169493
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x40]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], r8b
je 0x1401694ad
add dword [rbx + 0x14], edx
cmp byte [rbx + 0x12], r8b
jne 0x1401694ad
mov rcx, rbx
call fcn.1400e8ef8
xor r8d, r8d
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
cmp edi, r8d
jbe 0x1401694bf
mov dword [rcx + 0xbc], edi
mov edi, dword [rcx + 0xbc]
cmp byte [rbx + 0x11], r8b
je 0x1401694dc
sub dword [rbx + 0x14], 1
jne 0x1401694dc
mov rcx, rbx
call fcn.14017802c
xor r8d, r8d
mov qword [rsi], rdi
jmp 0x1401631fb
mov rsi, qword [rsp + 0x78]
mov r13, rdx
jmp 0x140168d64
mov r14d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x70]
mov dil, byte [rsp + 0x40]
jmp 0x140163219
mov r15, qword [rsp + 0x70]
jmp 0x140163214
cmp ebx, ecx
lea rax, str.into
lea r8, str.out_of
mov edi, 1
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, r12
mov r14d, edi
call fcn.140162dfc
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x50]
xor r8d, r8d
jmp 0x140169b11
and eax, 0x100000
neg rax
sbb r14d, r14d
and r14d, 0xfffffffd
add r14d, 0xb
mov r12, qword [rsp + 0x50]
jmp 0x140169b0c
mov rbx, qword [rsp + 0x68]
mov eax, 5
lea edi, [rax - 4]
lea esi, [rax - 3]
cmp r14b, al
jne 0x140169b3a
mov rcx, r13
mov dword [r12 + 0x34], r14d
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x30], edx
jmp 0x140169c55
movzx eax, byte [r15 + 0x65]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x1401696a4
cmp ecx, r8d
je 0x1401695e5
mov edx, 0x204
mov rcx, r15
call fcn.14015a2dc
mov edi, 1
mov al, dil
jmp 0x140169631
cmp ebx, r8d
je 0x140169615
cmp dword [r15 + 0xe0], r8d
jle 0x140169615
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r12
call fcn.140162dfc
mov r14d, 5
mov r12, qword [rsp + 0x50]
xor r8d, r8d
jmp 0x140169b0c
mov rcx, r12
call fcn.140162744
xor r8d, r8d
mov r14d, eax
lea edi, [r8 + 1]
test eax, eax
jne 0x140169c4b
mov al, bl
mov rcx, r12
mov byte [r15 + 0x65], al
call fcn.14016a360
mov r8d, 5
cmp eax, r8d
jne 0x140169688
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov r14d, r8d
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, edi
sub al, bl
mov dword [r12 + 0x30], edx
mov byte [r15 + 0x65], al
mov dword [r12 + 0x34], r8d
xor r8d, r8d
jmp 0x140169c4b
mov rcx, r15
call fcn.140135d5c
mov eax, dword [r12 + 0x34]
neg eax
sbb r14d, r14d
and r14d, 0xffffff9c
add r14d, 0x65
jmp 0x140169680
cmp ecx, r8d
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r12
cmovne rdx, rax
cmp ebx, r8d
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.140162dfc
mov edi, 1
mov r14d, edi
jmp 0x14016953f
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x1401695fa
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x1401695fa
mov rbx, qword [rsp + 0x68]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r12, qword [rsp + 0x50]
mov r14d, r9d
mov rcx, r12
sub rcx, qword [rsp + 0x58]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor r8d, r8d
mov dword [rbx + 0x30], edx
mov byte [r15 + 0x65], r8b
mov dword [rbx + 0x34], r9d
lea edi, [r8 + 1]
lea esi, [rdi + 1]
jmp 0x140169c5a
mov r14d, 0x65
jmp 0x140169c46
movzx eax, byte [r13 + 2]
mov r9d, 5
cmp word [r13 + 2], r9w
lea esi, [r9 - 3]
cmove eax, esi
mov byte [r12 + 0xc2], al
mov r12, qword [rsp + 0x50]
mov edi, 1
jmp 0x140169b16
mov r14d, 6
jmp 0x14016955f
mov r14d, 0x14
jmp 0x14016955f
mov r14d, edx
mov rcx, r12
lea rdx, str.too_many_levels_of_trigger_recursion
call fcn.140162dfc
mov r15, qword [rsp + 0x70]
jmp 0x140169608
mov ecx, 0x17a4b
call fcn.140137a14
mov r14d, eax
jmp 0x140169608
mov ecx, dword [r13 + 4]
mov dword [r12 + 0x34], ecx
mov al, byte [r13 + 8]
mov byte [r12 + 0xc2], al
cmp ecx, r8d
je 0x140169885
mov rcx, r12
cmp word [r13 + 2], r8w
je 0x14016982d
movzx r8d, word [r13 + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x22df60]
call fcn.140162dfc
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x14016983d
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, r15
call fcn.140151444
mov qword [r12 + 0xa8], rax
jmp 0x14016983d
mov r8, qword [r13 + 0x10]
lea rdx, [0x1402319f8]
call fcn.140162dfc
mov r9, qword [r12 + 0xf8]
mov rcx, r13
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r12 + 0xa8]
mov ecx, dword [r13 + 4]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.abort_at__d_in___s_:__s
call fcn.1400ce970
mov rcx, r12
call fcn.14016a360
mov rbx, qword [rsp + 0x68]
mov r14d, eax
mov r13, qword [rsp + 0x60]
mov eax, 5
lea edi, [rax - 4]
lea esi, [rax - 3]
cmp r14d, eax
jne 0x1401698b1
mov dword [r12 + 0x34], eax
jmp 0x1401698c3
mov eax, dword [r12 + 0x34]
neg eax
sbb r14d, r14d
and r14d, 0xffffff9c
add r14d, 0x65
mov r12, qword [rsp + 0x50]
xor r8d, r8d
jmp 0x140169c5f
mov eax, dword [r12 + 0x2c]
add eax, 2
or eax, edx
mov dword [r12 + 0x2c], eax
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, rsi
mov qword [r12 + 0xa0], rcx
cmp byte [r15 + 0x67], r8b
jne 0x140169abc
mov eax, 4
test byte [r15 + 0x6e], al
je 0x140169925
mov rdx, qword [r15 + 0x100]
xor r9d, r9d
mov r8, r12
mov ecx, eax
call qword [r15 + 0xf8]
mov r9, qword [rsp + 0x58]
xor r8d, r8d
mov edi, 1
mov rcx, r13
sub rcx, r9
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
lea r14d, [rdi + 0x63]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, edi
mov dword [r12 + 0x30], edx
jmp 0x140169c4b
lea r10, [0x140000000]
movsxd rax, r14d
and edx, 0x3f
lea rcx, [rax + rax*2]
mov r9d, dword [rdi + rcx*8 + 8]
mov rax, qword [rdi + rcx*8]
mov rcx, r12
shr r9d, 4
and r9d, 0xf
mov qword [rsp + 0x28], rax
mov rax, qword [r15]
sub r9d, r8d
movzx r8d, byte [rdx + r10 + 0x22cb10]
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x245480]
mov r8, qword [r10 + r8*8 + 0x2464d0]
call fcn.140162dfc
mov r14d, 0xc13
jmp 0x14016979f
mov ecx, 0x16c88
call fcn.140137a14
mov r14d, eax
jmp 0x14016979f
mov r14d, 0x204
jmp 0x14016955f
mov rcx, qword [rdi]
call fcn.140132864
jmp 0x140169608
mov r14d, 0xd
jmp 0x140169608
mov r12, qword [rsp + 0x50]
jmp 0x140169a01
mov r15, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
lea rdx, str.string_or_blob_too_big
mov rcx, rbx
call fcn.140162dfc
mov r14d, 0x12
xor r8d, r8d
lea edi, [r14 - 0x11]
lea esi, [rdi + 1]
jmp 0x140169b1b
mov esi, 2
mov byte [r12 + 0xc2], sil
lea r14d, [rsi + 4]
jmp 0x140169768
mov r14d, 7
mov rcx, r15
call fcn.140159c8c
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x60]
cmp r14d, 7
je 0x140169ad9
xor r8d, r8d
jmp 0x140169a80
mov rcx, qword [rbp + 0x20]
call fcn.1400df958
jmp 0x140169608
or r13, 0xffffffffffffffff
mov r12, qword [rsp + 0x50]
mov r14d, 9
mov rbx, qword [rsp + 0x68]
mov edi, 1
lea esi, [rdi + 1]
jmp 0x140169b20
mov edi, 1
mov rcx, rbx
mov dl, dil
call fcn.140162178
mov r8, rax
lea rdx, [0x1402319f8]
mov rcx, r12
call fcn.140162dfc
jmp 0x14016953f
call qword [rdi + 0x38]
mov r12, qword [rsp + 0x50]
jmp 0x140169ad4
mov r13, qword [rsp + 0x60]
jmp 0x140169a75
mov r12, qword [rsp + 0x50]
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x60]
mov rcx, r15
call fcn.140151d18
mov rcx, qword [rsp + 0x68]
lea rdx, str.out_of_memory
call fcn.140162dfc
mov r14d, 7
jmp 0x140169a5e
mov r12, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x70]
mov edi, 1
mov esi, 2
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x60]
cmp byte [r15 + 0x67], r8b
je 0x140169b48
mov r14d, 7
jmp 0x140169b61
mov r12, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x44]
jmp 0x140169b0c
mov r12, qword [rsp + 0x50]
jmp 0x140169b1b
mov r12, qword [rsp + 0x50]
jmp 0x140169b16
cmp r14d, 0x210a
jne 0x140169b61
mov ecx, 0x182da
call fcn.140137a14
mov r14d, eax
xor r8d, r8d
cmp qword [rbx + 0xa8], r8
jne 0x140169b8d
cmp r14d, 0xc0a
je 0x140169b8d
mov ecx, r14d
call fcn.14013b448
mov r8, rax
lea rdx, [0x1402319f8]
mov rcx, rbx
call fcn.140162dfc
mov edx, r14d
mov dword [rbx + 0x34], r14d
mov rcx, r15
call fcn.14015ec00
mov r9, qword [rbx + 0xf8]
mov rcx, r12
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rbx + 0xa8]
mov ecx, r14d
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.1400ce970
cmp byte [rbx + 0xc5], sil
jne 0x140169bf2
mov rcx, rbx
call fcn.14016a360
cmp r14d, 0xc0a
jne 0x140169c22
mov rcx, r15
call fcn.140151d18
xor r8d, r8d
movzx eax, byte [rbp - 0x60]
mov r14d, edi
test al, al
je 0x140169c5f
mov edx, eax
mov rcx, r15
sub edx, edi
call fcn.140159d18
jmp 0x1401698c8
cmp r14d, 0xb
jne 0x140169c03
xor r8d, r8d
cmp byte [r15 + 0x65], r8b
jne 0x140169c06
movabs rax, 0x200000000
or qword [r15 + 0x30], rax
jmp 0x140169c06
mov r14d, dword [rsp + 0x44]
mov edi, 1
mov rbx, qword [rsp + 0x68]
mov esi, 2
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x60]
mov rax, qword [rbp - 0x20]
cmp rax, r13
jb 0x140169c9b
mov rdx, qword [r15 + 0x210]
cmp rdx, r8
je 0x140169c9b
mov eax, dword [r15 + 0x220]
mov rcx, qword [r15 + 0x218]
add r13, rax
call rdx
xor r8d, r8d
test eax, eax
je 0x140169c5f
or r13, 0xffffffffffffffff
lea r14d, [r8 + 9]
jmp 0x140169b20
add dword [rbx + 0xe4], eax
cmp dword [rbx + 0xd0], r8d
je 0x140169cb2
mov rcx, rbx
call fcn.14017a4b8
mov eax, r14d
mov rcx, qword [rbp + 0x2e8]
xor rcx, rsp
call fcn.14018b6b0
lea r11, [rsp + 0x410]
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