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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x118]
sub rsp, 0x1f0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140250b18]
xor rax, rsp
mov qword [rbp + 0xc8], rax
mov r15, qword [rcx + 0x88]
mov rax, rcx
mov qword [rsp + 0x30], rcx
mov rdi, r15
xor ecx, ecx
mov qword [rsp + 0x48], r15
mov esi, ecx
mov dword [rsp + 0x38], ecx
mov r13, qword [rax]
mov r12, qword [rax + 0x68]
mov byte [rbp - 0x77], cl
mov dword [rbp - 0x68], ecx
mov bl, byte [r13 + 0x5e]
mov qword [rsp + 0x40], rcx
mov rcx, rax
mov byte [rsp + 0x50], bl
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r12
call fcn.140178ddc
mov r11, qword [rsp + 0x30]
xor r10d, r10d
cmp qword [r13 + 0x1e0], r10
je 0x140178f64
mov ecx, dword [r13 + 0x1f0]
xor edx, edx
mov eax, dword [r11 + 0xe4]
div ecx
sub ecx, edx
mov r14d, ecx
jmp 0x140178f68
or r14, 0xffffffffffffffff
mov eax, 7
mov qword [rsp + 0x58], r14
lea r8d, [rax - 6]
cmp dword [r11 + 0x38], eax
je 0x14017ef5e
mov dword [r11 + 0x38], r10d
mov qword [r11 + 0x48], r10
mov qword [r11 + 0xa0], r10
mov eax, dword [r13 + 0x170]
mov dword [r13 + 0x268], r10d
test eax, eax
jne 0x14017ec6b
movsxd rax, dword [r11 + 0x34]
lea edx, [r8 + 3]
lea r9d, [r8 + 1]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
mov eax, dword [rbp]
lea rdi, [r15 + rcx*8]
mov dword [rbp - 0x58], eax
mov rax, qword [rsp + 0x40]
lea rcx, [0x140000000]
movzx r14d, byte [rdi]
add rax, r8
mov qword [rbp - 0x60], rdi
mov qword [rsp + 0x40], rax
cmp r14d, 0xaa
ja case.default.0x140178ffd
mov ecx, dword [rcx + r14*4 + 0x17f118]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
movsxd rax, dword [rdi + 4]
mov rcx, rdi
imul r8, rax, 0x38
sub rcx, r15
movabs rax, 0x2aaaaaaaaaaaaaab
mov word [r8 + r12 + 8], dx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r12], rax
mov r8d, 1
mov eax, dword [rdi + 8]
mov r11, qword [rsp + 0x30]
sub eax, r8d
mov r13, qword [rsp + 0x60]
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
jmp 0x14017e070
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r12]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + r12 + 8], ax
lea rdi, [r15 + rcx*8]
mov edx, 4
mov rax, qword [rsp + 0x40]
lea rcx, [0x140000000]
mov bl, byte [rsp + 0x50]
add rdi, 0x18
jmp 0x140178fce
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, dword [rdi + 0xc]
sub eax, r8d
cdqe
mov qword [rcx + r12], rax
mov word [rcx + r12 + 8], dx
cmp dword [rdi + 8], r10d
jne 0x14017903a
jmp case.0x140178ffd.85
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r12]
lea rcx, [rax + rax*2]
mov eax, dword [r15 + rcx*8 + 8]
sub eax, r8d
cdqe
jmp 0x140179065
movsxd rax, dword [rdi + 4]
sub rdi, r15
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r12]
mov word [r8 + r12 + 8], dx
imul rdi
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea rdi, [r15 + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r12], rax
mov edx, 4
mov r8d, 1
jmp case.0x140178ffd.85
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], r8b
je case.0x140178ffd.85
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r15
imul rcx
mov ecx, dword [rdi + 4]
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test ecx, ecx
jne 0x14017e8dc
mov rdx, qword [r11 + 0x100]
test rdx, rdx
je 0x14017e8dc
mov rax, qword [rdx + 8]
mov rcx, rdx
dec dword [r11 + 0x110]
mov qword [r11 + 0x100], rax
mov eax, dword [r11 + 0x3c]
add dword [r13 + 0x78], eax
mov dword [r13 + 0x74], eax
call fcn.14017f898
mov r11, qword [rsp + 0x30]
mov edx, 4
mov r15, qword [r11 + 0x88]
mov qword [rsp + 0x48], r15
cmp dword [rdi + 8], edx
jne 0x1401791c2
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [r15 + rcx*8 + 8]
dec eax
mov r12, qword [r11 + 0x68]
cdqe
mov qword [rsp + 0x68], r12
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
xor r10d, r10d
mov r8d, 1
mov r9d, 2
jmp case.0x140178ffd.85
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
mov rcx, rax
movsxd rax, dword [rdi + 4]
mov qword [rcx], rax
mov r11, qword [rsp + 0x30]
xor r10d, r10d
mov edx, 4
jmp 0x1401791d8
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
mov rdx, rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x1401791fe
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
mov ebx, 8
mov word [rax + 8], bx
jmp 0x140179218
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
mov rcx, qword [rdi + 0x10]
xor edx, edx
mov rbx, rax
test rcx, rcx
jne 0x14017925a
mov eax, edx
jmp 0x140179266
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
and eax, 0x3fffffff
xor edx, edx
mov r14b, byte [rsp + 0x50]
mov ecx, 1
mov dword [rdi + 4], eax
cmp r14b, cl
je 0x1401792fe
mov qword [rsp + 0x20], rdx
mov r9b, cl
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
or r8d, 0xffffffff
call fcn.140180e84
mov esi, eax
mov dword [rsp + 0x38], eax
xor eax, eax
test esi, esi
jne 0x14017ecc0
lea r11d, [rsi + 2]
test byte [rbx + 8], r11b
je 0x1401792c9
cmp byte [rbx + 0xa], r14b
je 0x1401792c9
mov dl, r14b
mov rcx, rbx
call fcn.1401812f0
test eax, eax
jne 0x14017ef59
xor eax, eax
mov ecx, 0x800
mov dword [rbx + 0x20], eax
or word [rbx + 8], cx
cmp byte [rdi + 1], 0xf9
jne 0x1401792ec
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x1401792ec
mov rcx, r13
call fcn.140152380
mov byte [rdi + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rdi + 4], eax
mov r11, qword [rsp + 0x30]
cmp eax, dword [r13 + 0x7c]
jg 0x14017ecc5
mov byte [rdi], 0x47
jmp 0x140179317
mov r14b, byte [rsp + 0x50]
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
mov r11, qword [rsp + 0x30]
mov rdx, rax
mov eax, 0xa02
xor r10d, r10d
mov word [rdx + 8], ax
mov rax, qword [rdi + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [rdi + 4]
mov dword [rdx + 0xc], eax
mov byte [rdx + 0xa], r14b
cmp dword [rdi + 0xc], r10d
jle 0x14017c70e
movsxd rax, dword [rdi + 0xc]
lea r8d, [r10 + 1]
imul rcx, rax, 0x38
movzx eax, word [rdi + 2]
lea r9d, [r10 + 2]
cmp qword [rcx + r12], rax
jne 0x14017e777
mov eax, 0xa10
mov word [rdx + 8], ax
jmp 0x140179078
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
mov r14d, dword [rdi + 0xc]
mov rcx, rax
mov eax, dword [rdi + 4]
mov r8d, 1
mov edx, dword [rdi + 8]
neg eax
mov eax, 0x100
sbb r15w, r15w
lea rbx, [rcx + 8]
and r15w, ax
xor r10d, r10d
add r15w, r8w
mov dword [rcx + 0xc], r10d
sub r14d, edx
mov word [rbx], r15w
test r14d, r14d
jle 0x14017e760
mov eax, 0x2400
add rbx, 0x38
test word [rbx], ax
je 0x1401793ed
lea rcx, [rbx - 8]
call fcn.14018e7f8
xor r10d, r10d
mov eax, 0x2400
lea r8d, [r10 + 1]
sub r14d, r8d
mov word [rbx], r15w
mov dword [rbx + 4], r10d
test r14d, r14d
jg 0x1401793cf
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x30]
mov edx, 4
jmp 0x1401791de
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r12
and word [rcx + 8], ax
or word [rcx + 8], r8w
jmp case.0x140178ffd.85
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
mov r8d, dword [rdi + 4]
mov rbx, rax
mov rdx, qword [rdi + 0x10]
xor eax, eax
mov rcx, rbx
mov qword [rsp + 0x20], rax
xor r9d, r9d
call fcn.140180e84
mov al, byte [rsp + 0x50]
mov byte [rbx + 0xa], al
jmp 0x1401791fe
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, qword [r11 + 0x80]
test byte [r14 - 0x30], 0x12
je 0x14017949a
mov ecx, dword [r14 - 0x2c]
mov eax, 0x4000
test word [r14 - 0x30], ax
je 0x14017948d
add ecx, dword [r14 - 0x38]
mov rax, qword [r14 - 0x10]
cmp ecx, dword [rax + 0x7c]
jg 0x14017ecc5
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
mov eax, 0x2400
add rbx, r12
test word [rbx + 8], ax
je 0x1401794b8
mov rcx, rbx
call fcn.14018e7f8
mov r8d, 0x18
lea rdx, [r14 - 0x38]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
movzx eax, word [rbx + 8]
mov ecx, 0xebff
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
jmp 0x1401791fe
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0xc]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r14, r12
add rbx, r12
mov eax, 0x2400
test word [rbx + 8], ax
jne 0x140179512
cmp dword [rbx + 0x20], r10d
je 0x14017951a
mov rcx, rbx
call fcn.14018e7bc
mov r8d, 0x38
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
xor r10d, r10d
mov r8d, 1
mov eax, 0x1000
mov word [r14 + 8], r8w
mov dword [r14 + 0x20], r10d
test word [rbx + 8], ax
je 0x14017955f
mov rcx, rbx
call fcn.140180c20
xor r10d, r10d
test eax, eax
jne 0x14017ef59
lea r8d, [r10 + 1]
add r14, 0x38
add rbx, 0x38
sub r15d, r8d
jne 0x140179501
jmp 0x1401793fd
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0xc]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
add r14, r12
imul rbx, rax, 0x38
add rbx, r12
mov r12d, 0x1000
mov r8d, r12d
mov rdx, r14
mov rcx, rbx
call fcn.140181150
test word [rbx + 8], r12w
je 0x1401795bb
mov rcx, rbx
call fcn.140180c20
xor r10d, r10d
test eax, eax
jne 0x14017ef59
jmp 0x1401795be
xor r10d, r10d
mov eax, r15d
mov r8d, 1
sub r15d, r8d
test eax, eax
je 0x14017e760
add rbx, 0x38
add r14, 0x38
jmp 0x140179591
movsxd rax, dword [rdi + 4]
mov r8d, 0x1000
imul rdx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rdx, r12
add rcx, r12
call fcn.140181150
jmp 0x1401791fe
movsxd rax, dword [rdi + 8]
imul r8, rax, 0x38
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add r8, r12
mov rax, qword [rcx + r12]
mov ecx, 0x2400
test word [r8 + 8], cx
je 0x140179635
mov rdx, rax
mov rcx, r8
call fcn.14018f8a0
jmp 0x1401791fe
mov qword [r8], rax
mov word [r8 + 8], dx
jmp 0x140179117
movsxd rax, dword [rdi + 4]
imul r13, rax, 0x38
movsxd rax, dword [rdi + 8]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r13, r12
imul rbx, rax, 0x38
add r14, r12
add rbx, r12
movzx r12d, word [r13 + 8]
mov al, byte [r14 + 8]
or al, r12b
test r8b, al
je 0x1401796af
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14017969b
mov rcx, rbx
call fcn.14018e7f8
mov r13, qword [rsp + 0x60]
mov r11, qword [rsp + 0x30]
mov r12, qword [rsp + 0x68]
jmp 0x140179203
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov word [rbx + 8], r8w
jmp case.0x140178ffd.85
test r12b, 0x12
jne 0x1401796c6
mov dl, byte [rsp + 0x50]
xor r8d, r8d
mov rcx, r13
call fcn.1401811b0
jmp 0x1401796d9
mov eax, 0x4000
test ax, r12w
je 0x1401796f4
mov rcx, r13
call fcn.1401808a0
test eax, eax
jne 0x14017ef54
movzx r12d, word [r13 + 8]
mov eax, 0xfffd
and r12w, ax
mov eax, 0x4000
movzx r15d, word [r14 + 8]
test r15b, 0x12
jne 0x140179729
mov dl, byte [rsp + 0x50]
xor r8d, r8d
mov rcx, r14
call fcn.1401811b0
xor r8d, r8d
test eax, eax
jne 0x14017ef54
movzx r15d, word [r14 + 8]
mov eax, 0xfffd
and r15w, ax
jmp 0x14017973c
test ax, r15w
je 0x140179739
mov rcx, r14
call fcn.1401808a0
jmp 0x14017970e
xor r8d, r8d
mov r9, qword [rsp + 0x60]
mov edx, dword [r13 + 0xc]
add edx, dword [r14 + 0xc]
mov dword [rsp + 0x78], edx
cmp edx, dword [r9 + 0x7c]
jg 0x14017ecb6
cmp rbx, r14
mov rcx, rbx
sete r8b
add edx, 3
call fcn.140180ae4
test eax, eax
jne 0x14017ef54
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 2
or word [rbx + 8], ax
cmp rbx, r14
je 0x14017979e
movsxd r8, dword [r14 + 0xc]
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rbx + 0x10]
call sub.VCRUNTIME140.dll_memcpy
mov word [r14 + 8], r15w
movsxd rcx, dword [r14 + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [r13 + 0xc]
mov rdx, qword [r13 + 0x10]
call sub.VCRUNTIME140.dll_memcpy
movsxd r9, dword [rsp + 0x78]
xor r10d, r10d
mov word [r13 + 8], r12w
mov r8, r9
mov rax, qword [rbx + 0x10]
mov edx, r10d
lea edi, [r10 + 2]
mov byte [r9 + rax], r10b
lea r9d, [r10 + 1]
mov rcx, qword [rbx + 0x10]
add rcx, r8
mov byte [rcx + rdx + 1], r10b
add rdx, r9
cmp rdx, rdi
jl 0x1401797d6
mov r9d, dword [rsp + 0x78]
mov eax, 0x200
or word [rbx + 8], ax
mov al, byte [rsp + 0x50]
mov rdi, qword [rbp - 0x60]
mov byte [rbx + 0xa], al
mov dword [rbx + 0xc], r9d
mov r11, qword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov r15, qword [rsp + 0x48]
jmp 0x140179206
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r12
movzx ebx, word [r14 + 8]
and bx, 0x2c
jne 0x140179850
test byte [r14 + 8], 0x12
je 0x14017984d
mov rcx, r14
call fcn.140108fc4
movzx ebx, ax
xor r10d, r10d
jmp 0x140179850
mov ebx, r10d
movsxd rax, dword [rdi + 8]
imul r15, rax, 0x38
add r15, r12
movzx edx, word [r15 + 8]
test dl, 0x2c
je 0x14017986b
movzx r8d, dx
jmp 0x140179886
test dl, 0x12
je 0x140179883
mov rcx, r15
call fcn.140108fc4
movzx edx, word [r15 + 8]
movzx r8d, ax
jmp 0x140179886
mov r8d, r10d
movsxd rax, dword [rdi + 0xc]
and r8b, bl
movzx r10d, word [r14 + 8]
imul rcx, rax, 0x38
or dx, r10w
mov eax, 4
add r12, rcx
test al, r8b
je 0x140179a13
movzx ecx, byte [rdi]
mov r9, qword [r15]
mov r8, qword [r14]
mov qword [rbp - 0x60], r9
sub ecx, 0x69
je 0x1401799dd
sub ecx, 1
je 0x1401799c0
sub ecx, 1
je 0x14017992e
cmp ecx, 1
je 0x1401798fc
xor r10d, r10d
test r8, r8
je 0x140179b22
cmp r8, 0xffffffffffffffff
lea eax, [r10 + 1]
cmove r8, rax
mov rax, r9
cqo
idiv r8
mov r8, rdx
jmp 0x1401799f4
test r8, r8
je 0x140179b1f
cmp r8, 0xffffffffffffffff
jne 0x14017991e
movabs rcx, 0x8000000000000000
cmp r9, rcx
je 0x140179a22
mov rax, r9
cqo
idiv r8
mov r8, rax
jmp 0x1401799f1
test r8, r8
jle 0x140179964
movabs rax, 0x7fffffffffffffff
cqo
idiv r8
cmp r9, rax
jg 0x140179a22
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x1401799ba
jmp 0x140179a22
jns 0x1401799ba
test r9, r9
jle 0x14017997f
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jmp 0x14017995d
jns 0x1401799ba
movabs rcx, 0x8000000000000000
cmp r8, rcx
je 0x140179a22
cmp r9, rcx
je 0x140179a22
movabs rax, 0x8000000000000001
cqo
idiv r8
mov rcx, rax
mov rax, r9
neg rax
cmp rax, rcx
jg 0x140179a22
imul r8, r9
jmp 0x1401799f1
movabs rcx, 0x8000000000000000
cmp r8, rcx
jne 0x1401799da
test r9, r9
jns 0x140179a22
lea r8, [r9 + rcx]
jmp 0x1401799f1
neg r8
mov rdx, r8
lea rcx, [rbp - 0x60]
call fcn.1401494e4
test eax, eax
jne 0x140179a22
mov r8, qword [rbp - 0x60]
xor r10d, r10d
movzx eax, word [r12 + 8]
mov ecx, 0x3e40
and ax, cx
mov qword [r12], r8
mov edx, 4
or ax, dx
jmp 0x140179b00
mov r8d, 1
test r8b, dl
jne 0x140179b1a
mov ebx, 8
test bl, r10b
je 0x140179a33
movsd xmm2, qword [r14]
jmp 0x140179a59
test r10b, 0x24
je 0x140179a43
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [r14]
jmp 0x140179a59
test r10b, 0x12
je 0x140179a56
mov rcx, r14
call fcn.140137f0c
movaps xmm2, xmm0
jmp 0x140179a59
movaps xmm2, xmm7
mov rcx, r15
call fcn.140181aac
movzx ecx, byte [rdi]
movaps xmm6, xmm0
sub ecx, 0x69
je 0x140179ad2
sub ecx, 1
je 0x140179acc
sub ecx, 1
je 0x140179ac6
cmp ecx, 1
je 0x140179ab8
mov rcx, r14
call fcn.14017ff90
mov rcx, r15
mov rbx, rax
call fcn.14017ff90
xor r10d, r10d
test rbx, rbx
je 0x140179b22
cmp rbx, 0xffffffffffffffff
lea ecx, [r10 + 1]
cqo
xorps xmm6, xmm6
cmove rbx, rcx
idiv rbx
lea ebx, [rcx + 7]
cvtsi2sd xmm6, rdx
jmp 0x140179ad6
ucomisd xmm2, xmm7
jp 0x140179ac0
je 0x140179b1f
divsd xmm6, xmm2
jmp 0x140179ad6
mulsd xmm6, xmm2
jmp 0x140179ad6
subsd xmm6, xmm2
jmp 0x140179ad6
addsd xmm6, xmm2
movaps xmm0, xmm6
call fcn.140168364
xor r10d, r10d
test eax, eax
jne 0x140179b22
movzx eax, word [r12 + 8]
lea edx, [r10 + 4]
mov ecx, 0x3e40
movsd qword [r12], xmm6
and ax, cx
or ax, bx
mov word [r12 + 8], ax
mov r12, qword [rsp + 0x68]
mov r11, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
jmp 0x1401791d8
xor r10d, r10d
jmp 0x140179b28
xor r10d, r10d
mov r8d, 1
mov eax, 0x2400
test word [r12 + 8], ax
je 0x140179b4c
mov rcx, r12
call fcn.14018e7f8
mov r12, qword [rsp + 0x68]
mov r15, qword [rsp + 0x48]
jmp 0x1401791fe
mov word [r12 + 8], r8w
mov r12, qword [rsp + 0x68]
jmp 0x1401793fd
cmp dword [rdi + 4], r10d
je case.0x140178ffd.85
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
je 0x140179b83
xor edx, edx
jmp 0x14017962b
mov qword [rcx], r10
mov word [rcx + 8], dx
jmp case.0x140178ffd.85
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add rbx, r12
imul r15, rax, 0x38
add rcx, r12
add r15, r12
mov al, byte [rcx + 8]
or al, byte [rbx + 8]
test r8b, al
je 0x140179be3
mov eax, 0x2400
test word [r15 + 8], ax
je 0x140179bd4
mov rcx, r15
call fcn.14018e7f8
jmp 0x140179b42
mov word [r15 + 8], r8w
mov r15, qword [rsp + 0x48]
jmp case.0x140178ffd.85
call fcn.14017ff90
mov rcx, rbx
mov qword [rbp - 0x50], rax
call fcn.14017ff90
mov r14b, byte [rdi]
mov rbx, rax
cmp r14b, 0x65
jne 0x140179c09
and qword [rbp - 0x50], rax
jmp 0x140179cc2
cmp r14b, 0x66
jne 0x140179c18
or qword [rbp - 0x50], rbx
jmp 0x140179cc2
xor r10d, r10d
test rbx, rbx
je 0x140179cc5
jns 0x140179c46
mov rcx, rbx
mov eax, 0xcf
sub al, r14b
neg rcx
mov r14b, al
mov rax, rbx
cmp rax, 0xffffffffffffffc0
lea ebx, [r10 + 0x40]
cmovg rbx, rcx
cmp rbx, 0x40
jl 0x140179c67
cmp qword [rbp - 0x50], r10
jge 0x140179c5e
cmp r14b, 0x67
je 0x140179c5e
or rax, 0xffffffffffffffff
jmp 0x140179c61
mov rax, r10
mov qword [rbp - 0x50], rax
jmp 0x140179cc5
mov r8d, 8
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rbx
cmp r14b, 0x67
jne 0x140179c89
shl qword [rbp - 8], cl
jmp 0x140179caf
mov r8, qword [rbp - 8]
xor eax, eax
shr r8, cl
mov qword [rbp - 8], r8
cmp qword [rbp - 0x50], rax
jge 0x140179caf
or rdx, 0xffffffffffffffff
lea ecx, [rax + 0x40]
sub cl, bl
shl rdx, cl
or rdx, r8
mov qword [rbp - 8], rdx
mov r8d, 8
lea rdx, [rbp - 8]
lea rcx, [rbp - 0x50]
call sub.VCRUNTIME140.dll_memcpy
xor r10d, r10d
mov rax, qword [rbp - 0x50]
mov edx, 4
mov qword [r15], rax
mov eax, 0x3e40
and word [r15 + 8], ax
or word [r15 + 8], dx
jmp 0x140179b0b
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.14017ff90
mov qword [rbx], rax
mov rcx, rax
mov eax, 0x3e40
mov edx, 4
and word [rbx + 8], ax
or word [rbx + 8], dx
movsxd rax, dword [rdi + 8]
add rax, rcx
mov qword [rbx], rax
mov r11, qword [rsp + 0x30]
jmp 0x1401791d5
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r12
movzx eax, word [rbx + 8]
test dl, al
jne 0x140179d90
mov ecx, 8
test cl, al
jne 0x140179d62
test r9b, al
je 0x140179d6f
mov edx, r8d
mov rcx, rbx
call fcn.14010238c
mov r11, qword [rsp + 0x30]
xor r10d, r10d
lea r8d, [r10 + 1]
lea r9d, [r10 + 2]
jmp 0x140179d6a
mov rcx, rbx
call fcn.14017ffbc
mov edx, 4
movzx eax, word [rbx + 8]
test dl, al
jne 0x140179d90
cmp dword [rdi + 8], r10d
jne 0x14017903a
mov esi, 0x14
mov r12, qword [rsp + 0x30]
jmp 0x14017ef8b
mov ecx, 0x3e40
and ax, cx
or ax, dx
mov word [rbx + 8], ax
jmp case.0x140178ffd.85
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add rcx, r12
movzx eax, word [rcx + 8]
test al, 0x24
je case.0x140178ffd.85
mov ebx, 8
test bl, al
je 0x140179dca
movsd xmm0, qword [rcx]
jmp 0x140179dd2
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
mov r14d, 0x3e40
movsd qword [rcx], xmm0
and ax, r14w
or ax, bx
mov word [rcx + 8], ax
jmp case.0x140178ffd.85
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r12
test word [rbx + 8], ax
je 0x140179e17
mov rcx, rbx
call fcn.1401808a0
xor r10d, r10d
mov esi, eax
test eax, eax
jne 0x140179d86
mov r8b, byte [rsp + 0x50]
mov rcx, rbx
mov dl, byte [rdi + 8]
call fcn.140180700
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
mov r11, qword [rsp + 0x30]
jmp 0x140179206
movsxd rax, dword [rdi + 4]
imul r15, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r13, rax, 0x38
add r15, r12
add r13, r12
movzx r14d, word [r15 + 8]
movzx ebx, word [r13 + 8]
movzx edx, bx
or dx, r14w
test r8b, dl
je 0x140179f00
mov eax, 0x80
test byte [rdi + 2], al
je 0x140179ead
mov al, bl
and al, r14b
test r8b, al
je 0x140179e98
mov eax, 0x100
test ax, bx
jne 0x140179e98
mov ecx, r10d
jmp 0x14017a01a
movzx eax, bx
not ax
and eax, r8d
lea ecx, [rax*2 - 1]
jmp 0x14017a01a
mov eax, 0x20
test byte [rdi + 2], al
je 0x140179ee3
movsxd rax, dword [rdi + 8]
mov r13, qword [rsp + 0x60]
imul rcx, rax, 0x38
mov eax, 0x3e40
mov dword [rbp - 0x68], r8d
add rcx, r12
and word [rcx + 8], ax
or word [rcx + 8], r8w
mov r15, qword [rsp + 0x48]
jmp 0x140179078
mov r15, qword [rsp + 0x48]
mov eax, 0x10
test byte [rdi + 2], al
jne 0x14017903a
mov r13, qword [rsp + 0x60]
jmp 0x140179078
mov al, byte [rdi + 2]
and al, 0x47
cmp al, 0x43
jb 0x140179f91
movzx ecx, bx
test r9b, dl
je 0x140179f4f
mov al, r14b
and al, 0x2e
cmp al, r9b
jne 0x140179f34
xor edx, edx
mov rcx, r15
call fcn.14010238c
movzx ebx, word [r13 + 8]
mov r9d, 2
mov al, bl
movzx ecx, bx
and al, 0x2e
cmp al, r9b
jne 0x140179f4f
xor edx, edx
mov rcx, r13
call fcn.14010238c
movzx ecx, word [r13 + 8]
mov al, byte [r15 + 8]
mov edx, 4
and al, cl
test dl, al
je 0x14017a001
mov rax, qword [r15]
xor r10d, r10d
mov r11, qword [rsp + 0x30]
cmp qword [r13], rax
jle 0x140179f7b
lea ecx, [rdx - 3]
jmp 0x14017a01f
cmp qword [r13], rax
mov ecx, r10d
mov eax, 1
setge cl
sub ecx, eax
jmp 0x14017a01f
cmp al, 0x42
jne 0x14017a001
test r9b, r14b
jne 0x140179fd8
test r14b, 0x2c
je 0x140179fd8
mov dl, byte [rsp + 0x50]
mov rcx, r15
call fcn.1401811b0
movzx eax, word [r15 + 8]
mov ecx, 0x3e40
xor ax, r14w
mov r9d, 2
and ax, cx
xor r14w, ax
lea r8d, [r9 - 1]
cmp r15, r13
jne 0x140179fd8
movzx ebx, r14w
or bx, r9w
test r9b, bl
jne 0x14017a001
test bl, 0x2c
je 0x14017a001
mov dl, byte [rsp + 0x50]
mov rcx, r13
call fcn.1401811b0
movzx eax, bx
mov ecx, 0x3e40
xor ax, word [r13 + 8]
and ax, cx
xor bx, ax
mov r8, qword [rdi + 0x10]
mov rdx, r15
mov rcx, r13
call fcn.1401699f4
mov r11, qword [rsp + 0x30]
mov ecx, eax
xor r10d, r10d
mov edx, 4
movzx eax, byte [rdi]
lea r8, [0x140000000]
test ecx, ecx
jns 0x14017a037
mov al, byte [rax + r8 + 0x219924]
jmp 0x14017a04b
jne 0x14017a043
mov al, byte [rax + r8 + 0x219c34]
jmp 0x14017a04b
mov al, byte [rax + r8 + 0x219ce0]
mov word [r13 + 8], bx
movzx r8d, al
mov eax, 0x20
mov word [r15 + 8], r14w
test byte [rdi + 2], al
je 0x14017a0ac
movsxd rax, dword [rdi + 8]
imul rdx, rax, 0x38
mov eax, 8
mov dword [rbp - 0x68], ecx
add rdx, r12
test byte [rdi + 2], al
je 0x14017a08d
cmp byte [rdi], 0x35
mov eax, r10d
sete al
cmp eax, r8d
je 0x14017e756
mov r13, qword [rsp + 0x60]
mov eax, 0x3e40
and word [rdx + 8], ax
mov eax, 4
or word [rdx + 8], ax
mov qword [rdx], r8
jmp 0x140179816
mov r15, qword [rsp + 0x48]
test r8d, r8d
mov r8d, 1
jne 0x14017903a
mov r13, qword [rsp + 0x60]
jmp 0x1401791de
cmp dword [rbp - 0x68], r10d
jmp 0x1401790b4
test byte [rdi + 2], r8b
jne 0x14017a0de
mov r14, r10
jmp 0x14017a0e5
mov r14, qword [rdi - 8]
add r14, rdx
movsxd rcx, dword [rdi + 0xc]
mov r15d, r10d
mov rax, qword [rdi + 0x10]
mov rbx, r10
mov r8d, dword [rdi + 4]
mov edx, dword [rdi + 8]
mov qword [rbp - 0x70], rax
mov dword [rsp + 0x78], r8d
mov dword [rsp + 0x70], edx
mov qword [rbp + 0x10], rcx
test rcx, rcx
jle 0x14017c241
lea r12, [rax + 0x20]
test r14, r14
je 0x14017a123
mov ecx, dword [r14 + rbx*4]
jmp 0x14017a126
mov ecx, r15d
mov rax, qword [rax + 0x18]
lea r13d, [rcx + r8]
mov r8, qword [r12]
add edx, ecx
mov qword [rbp + 8], rdx
imul rdx, rdx, 0x38
imul rcx, r13, 0x38
movzx eax, byte [rax + rbx]
add rdx, qword [rsp + 0x68]
and eax, 1
mov dword [rbp - 0x80], eax
add rcx, qword [rsp + 0x68]
call fcn.1401699f4
xor r10d, r10d
mov dword [rbp - 0x68], eax
mov r9d, eax
test eax, eax
jne 0x14017a18c
mov r8d, dword [rsp + 0x78]
lea eax, [r9 + 1]
mov edx, dword [rsp + 0x70]
add r15d, eax
add rbx, rax
add r12, 8
mov rax, qword [rbp - 0x70]
cmp rbx, qword [rbp + 0x10]
jl 0x14017a118
jmp 0x140179807
mov rax, qword [rbp - 0x70]
mov r11d, 2
mov r12, qword [rsp + 0x68]
mov rax, qword [rax + 0x18]
lea r8d, [r11 - 1]
test byte [rbx + rax], r11b
je 0x14017a1c7
imul rax, r13, 0x38
test byte [rax + r12 + 8], r8b
jne 0x14017a1c0
imul rax, qword [rbp + 8], 0x38
test byte [rax + r12 + 8], r8b
je 0x14017a1c7
neg r9d
mov dword [rbp - 0x68], r9d
mov edx, 4
mov r11, qword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
mov rax, qword [rsp + 0x40]
cmp dword [rbp - 0x80], r10d
je 0x14017e76c
mov r15, qword [rsp + 0x48]
neg r9d
mov dword [rbp - 0x68], r9d
mov r9d, 2
jmp 0x140179082
mov r9d, dword [rbp - 0x68]
test r9d, r9d
jns 0x14017a21a
mov eax, dword [rdi + 4]
sub eax, r8d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
jmp 0x1401791de
mov r9d, 2
jne 0x14017a237
mov eax, dword [rdi + 8]
sub eax, r8d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
jmp case.0x140178ffd.85
mov eax, dword [rdi + 0xc]
jmp 0x14017a225
movsxd rax, dword [rdi + 4]
mov edx, r9d
imul rcx, rax, 0x38
add rcx, r12
call fcn.140178668
movsxd rcx, dword [rdi + 8]
mov edx, 2
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, r12
call fcn.140178668
cmp byte [rdi], 0x2c
jne 0x14017a284
lea ecx, [rax + rbx*2]
add ebx, ecx
lea rcx, [0x140000000]
movsxd rax, ebx
mov r8b, byte [rax + rcx + 0x219dc8]
jmp 0x14017a29b
lea eax, [rax + rbx*2]
add ebx, eax
lea rcx, [0x140000000]
movsxd rax, ebx
mov r8b, byte [rax + rcx + 0x219dd8]
movsxd rax, dword [rdi + 0xc]
mov r9d, 2
imul rdx, rax, 0x38
mov eax, 0x3e40
movzx ecx, word [rdx + r12 + 8]
and cx, ax
cmp r8b, r9b
jne 0x14017a2c6
lea r8d, [r9 - 1]
or cx, r8w
jmp 0x14017a2d8
movzx eax, r8b
or cx, 4
mov qword [rdx + r12], rax
mov r8d, 1
mov r11, qword [rsp + 0x30]
xor r10d, r10d
mov word [rdx + r12 + 8], cx
jmp 0x140179078
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.140178668
movsxd rdx, dword [rdi + 0x10]
movsxd rcx, eax
movsxd rax, dword [rdi + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
jne 0x14017962b
mov qword [rcx], rdx
mov edx, 4
mov word [rcx + 8], dx
jmp 0x140179d1a
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rcx, r12
add rbx, r12
test byte [rcx + 8], r8b
jne 0x14017a38d
xor edx, edx
call fcn.140178668
xor r10d, r10d
test eax, eax
mov ecx, r10d
mov eax, 0x2400
sete cl
test word [rbx + 8], ax
je 0x14017a377
mov rdx, rcx
mov rcx, rbx
jmp 0x14017962b
mov r11, qword [rsp + 0x30]
mov edx, 4
mov word [rbx + 8], dx
mov qword [rbx], rcx
jmp 0x1401791d8
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14017a3a5
mov rcx, rbx
call fcn.14018e7f8
jmp 0x1401791fe
mov word [rbx + 8], r8w
jmp case.0x140178ffd.85
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r14, r12
mov eax, 0x2400
add rbx, r12
test word [rbx + 8], ax
je 0x14017a3ee
mov rcx, rbx
call fcn.14018e7f8
mov r11, qword [rsp + 0x30]
xor r10d, r10d
lea edx, [r10 + 4]
lea r8d, [r10 + 1]
lea r9d, [r10 + 2]
jmp 0x14017a3f3
mov word [rbx + 8], r8w
test byte [r14 + 8], r8b
jne 0x14017e738
mov rcx, r14
mov word [rbx + 8], dx
call fcn.14017ff90
not rax
mov qword [rbx], rax
jmp 0x1401791fe
mov r8, qword [r11 + 0x100]
test r8, r8
je 0x14017a479
mov r9, qword [r8 + 0x30]
mov rcx, rdi
sub rcx, qword [r11 + 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 0x140179034
bts eax, edx
mov edx, 4
mov byte [rcx + r9], al
mov rcx, qword [r11 + 0x88]
lea r9d, [rdx - 2]
jmp 0x14017a48c
mov rcx, qword [r11 + 0x88]
mov eax, dword [rdi + 4]
cmp dword [rcx + 4], eax
je 0x140179034
mov eax, dword [rcx + 4]
mov dword [rdi + 4], eax
jmp 0x140179117
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.140178668
xor r10d, r10d
test eax, eax
mov r8d, 1
jne 0x14017903a
jmp 0x140179402
cmp dword [rdi + 0xc], r10d
mov edx, r10d
movsxd rax, dword [rdi + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r12
call fcn.140178668
xor r10d, r10d
test eax, eax
mov r8d, 1
je 0x14017903a
jmp 0x140179402
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], r8b
jmp 0x1401790b4
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], r8b
je 0x14017903a
jmp case.0x140178ffd.85
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r10b
je case.0x140178ffd.85
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
je 0x14017a553
call fcn.14018e7f8
xor r10d, r10d
jmp 0x140179034
mov word [rcx + 8], r8w
jmp 0x14017903a
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r8d, dword [rdi + 8]
mov dword [rsp + 0x70], r8d
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 3], r10b
je 0x14017a613
mov rdx, qword [rbx + 0x20]
test rdx, rdx
je 0x14017a609
lea eax, [r8 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x14017a609
cmp byte [rbx + 2], r10b
jne 0x14017a609
mov rbx, qword [rbx + 0x30]
dec eax
mov dword [rsp + 0x70], eax
mov edx, 4
mov dword [rsp + 0x38], r10d
mov esi, r10d
movsxd rax, dword [rdi + 0xc]
mov r15, qword [rbx + 0x60]
imul r13, rax, 0x38
mov eax, dword [r11 + 0x30]
add r13, r12
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x10], r13
cmp dword [rbx + 0x28], eax
je 0x14017a740
cmp byte [rbx + 2], r10b
je 0x14017a679
mov eax, 3
cmp byte [rbx], al
jne 0x14017a646
movsxd rax, dword [rbx + 0x2c]
imul rcx, rax, 0x38
mov eax, dword [rcx + r12 + 0xc]
mov dword [rbx + 0x74], eax
mov dword [rbx + 0x70], eax
mov rcx, qword [rcx + r12 + 0x10]
mov qword [rbx + 0x68], rcx
jmp 0x14017a6ce
mov rcx, rbx
call fcn.14017f830
jmp 0x14017a624
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x14017a5a9
mov rcx, rbx
call fcn.140132414
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
mov r11, qword [rsp + 0x30]
lea edx, [rax + 4]
lea r9d, [rax + 2]
jmp 0x14017a5b1
mov eax, 0x2400
test word [r13 + 8], ax
je 0x14017a664
mov rcx, r13
call fcn.14018e7f8
mov r13, qword [rsp + 0x60]
jmp 0x140179b42
mov r8d, 1
mov word [r13 + 8], r8w
mov r13, qword [rsp + 0x60]
jmp 0x140179bd9
mov r14, qword [rbx + 0x38]
mov rcx, r14
call fcn.1401311e0
mov r8d, dword [r14 + 0x40]
xor r10d, r10d
mov dword [rbx + 0x70], r8d
mov rax, qword [r14 + 0x88]
movzx ecx, word [r14 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r14 + 0x38]
cmp ecx, edx
jle 0x14017a6af
test edx, edx
mov ecx, edx
cmovs ecx, r10d
mov r9, qword [rsp + 0x60]
mov r11, qword [rsp + 0x30]
mov dword [rbx + 0x74], ecx
mov rcx, qword [r14 + 0x38]
mov qword [rbx + 0x68], rcx
cmp r8d, dword [r9 + 0x7c]
ja 0x14017ecbb
mov eax, dword [r11 + 0x30]
mov edx, 0x80
mov dword [rbx + 0x28], eax
movzx eax, byte [rcx]
cmp al, dl
jae 0x14017a6e9
mov dword [r15], eax
lea eax, [rdx - 0x7f]
jmp 0x14017a6f4
mov rdx, r15
call fcn.14016604c
xor r10d, r10d
lea r14, [rbx + 0x52]
movzx eax, al
mov dword [rbx + 0x48], eax
mov word [r14], r10w
mov ecx, dword [r15]
mov qword [rbp - 0x80], r14
cmp dword [rbx + 0x74], ecx
jae 0x14017a732
mov qword [rbx + 0x68], r10
mov dword [rbx + 0x74], r10d
mov eax, dword [r15]
cmp eax, 0x18003
ja 0x14017a910
mov qword [rbp - 0x80], r14
cmp eax, dword [rbx + 0x70]
jbe 0x14017a748
jmp 0x14017a910
mov r9, qword [rbx + 0x68]
movzx r12d, r10w
mov qword [rbp + 0x10], r9
jmp 0x14017a7bc
lea r14, [rbx + 0x52]
mov qword [rbp - 0x80], r14
movzx r12d, word [r14]
mov ecx, dword [rsp + 0x70]
cmp r12d, ecx
ja 0x14017a999
mov ecx, dword [r15]
mov eax, dword [rbx + 0x48]
cmp eax, ecx
jae 0x14017a93d
mov r9, qword [rbx + 0x68]
mov qword [rbp + 0x10], r9
test r9, r9
jne 0x14017a7b8
xor edx, edx
lea r8d, [r9 + 0x38]
lea rcx, [rbp + 0x48]
call sub.VCRUNTIME140.dll_memset
mov edx, dword [r15]
lea r8, [rbp + 0x48]
mov rcx, qword [rbx + 0x38]
call fcn.140180a84
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017ef81
mov r9, qword [rbp + 0x58]
movzx r12d, word [r14]
mov eax, dword [rbx + 0x48]
mov ecx, dword [r15]
mov qword [rbp + 0x10], r9
jmp 0x14017a7bc
mov qword [rbp - 0x80], r14
movzx r12d, r12w
lea rdi, [0x140000000]
mov r13d, 1
mov edx, r12d
mov r8d, dword [r15 + r12*4]
mov r15d, eax
lea esi, [r13 + 0x7f]
add r15, r9
mov qword [rbp + 8], r8
add rcx, r9
mov r9, qword [rbp - 0x70]
mov qword [rbp + 0x38], rcx
movzx r14d, byte [r15]
mov dword [rsp + 0x78], r14d
mov dword [rbx + rdx*4 + 0x78], r14d
cmp r14d, esi
jae 0x14017a80e
movzx eax, byte [r14 + rdi + 0x2177a0]
add r15, r13
jmp 0x14017a850
lea rdx, [rsp + 0x78]
mov rcx, r15
call fcn.14016604c
mov r14d, dword [rsp + 0x78]
movzx eax, al
add r15, rax
movsxd rax, r12d
mov dword [rbx + rax*4 + 0x78], r14d
cmp r14d, esi
jb 0x14017a83b
lea eax, [r14 - 0xc]
shr eax, 1
jmp 0x14017a844
movzx eax, byte [r14 + rdi + 0x2177a0]
mov r8, qword [rbp + 8]
mov rcx, qword [rbp + 0x38]
mov r9, qword [rbp - 0x70]
add r8, rax
add r12d, r13d
movsxd rdx, r12d
mov qword [rbp + 8], r8
mov dword [r9 + rdx*4], r8d
cmp r12d, dword [rsp + 0x70]
ja 0x14017a86d
cmp r15, rcx
jb 0x14017a7ed
mov rdi, qword [rbp - 0x60]
mov esi, dword [rsp + 0x38]
mov r13, qword [rbp - 0x10]
cmp r15, rcx
jb 0x14017a8d0
ja 0x14017a8d8
mov eax, dword [rbx + 0x70]
cmp r8, rax
jne 0x14017a8d8
xor r10d, r10d
sub r15d, dword [rbp + 0x10]
mov rax, qword [rbp - 0x80]
mov dword [rbx + 0x48], r15d
mov word [rax], r12w
cmp qword [rbx + 0x68], r10
jne 0x14017a940
mov eax, 0x2400
test word [rbp + 0x50], ax
jne 0x14017a8ba
cmp dword [rbp + 0x68], r10d
je 0x14017a940
lea rcx, [rbp + 0x48]
call fcn.14018e7bc
mov rax, qword [rbp - 0x80]
xor r10d, r10d
movzx r12d, word [rax]
jmp 0x14017a940
mov eax, dword [rbx + 0x70]
cmp r8, rax
jbe 0x14017a888
xor r10d, r10d
cmp dword [r9], r10d
jne 0x14017a8e8
mov r12d, r10d
mov r15, rcx
jmp 0x14017a88b
cmp qword [rbx + 0x68], r10
jne 0x14017a90b
mov eax, 0x2400
test word [rbp + 0x50], ax
jne 0x14017a8ff
cmp dword [rbp + 0x68], r10d
je 0x14017a90b
lea rcx, [rbp + 0x48]
call fcn.14018e7bc
xor r10d, r10d
mov r12, qword [rsp + 0x68]
mov r15, qword [rsp + 0x48]
mov eax, dword [r15 + 0xc]
test eax, eax
jle 0x14017e9d0
mov r11, qword [rsp + 0x30]
dec eax
mov r13, qword [rsp + 0x60]
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r15 + rax*8]
jmp 0x140179206
mov r14d, r10d
mov ecx, dword [rsp + 0x70]
movzx eax, r12w
cmp eax, ecx
ja 0x14017a99e
cmp byte [rdi + 1], 0xf5
jne 0x14017a96e
mov rdx, qword [rdi + 0x10]
mov r8d, 0x800
mov rcx, r13
call fcn.140181150
mov r13, qword [rsp + 0x60]
jmp 0x140179b3d
mov eax, 0x2400
test word [r13 + 8], ax
je 0x14017a984
mov rcx, r13
call fcn.14018e7f8
jmp 0x14017a964
mov r8d, 1
mov word [r13 + 8], r8w
mov r13, qword [rsp + 0x60]
jmp 0x140179b52
mov r14d, dword [rbx + rcx*4 + 0x78]
mov eax, 0x2400
mov r15, rcx
test word [r13 + 8], ax
je 0x14017a9b5
mov rcx, r13
call fcn.14018e7f8
mov eax, dword [rsp + 0x70]
mov rdx, qword [rbp - 0x70]
inc eax
mov eax, dword [rdx + rax*4]
cmp dword [rbx + 0x74], eax
jb 0x14017aa95
mov r15d, dword [rdx + r15*4]
add r15, qword [rbx + 0x68]
cmp r14d, 0xc
jae 0x14017a9ec
mov rcx, r15
mov edx, r14d
mov r8, r13
call fcn.140182174
jmp 0x14017a964
mov al, byte [rsp + 0x50]
lea ebx, [r14 - 0xc]
shr ebx, 1
mov dword [r13 + 0xc], ebx
mov byte [r13 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r13 + 0x20], edx
jge 0x14017aa2a
mov eax, 1
xor r8d, r8d
mov rcx, r13
mov word [r13 + 8], ax
call fcn.140180ae4
test eax, eax
jne 0x14017ef54
mov rcx, qword [r13 + 0x10]
jmp 0x14017aa32
mov rcx, qword [r13 + 0x18]
mov qword [r13 + 0x10], rcx
mov r8, rbx
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r13 + 0x10]
lea rcx, [0x140000000]
mov r11, qword [rsp + 0x30]
xor r10d, r10d
mov r12, qword [rsp + 0x68]
mov r15, qword [rsp + 0x48]
mov byte [rbx + rax], r10b
mov rax, qword [r13 + 0x10]
lea r8d, [r10 + 1]
lea edx, [r10 + 4]
lea r9d, [r10 + 2]
mov byte [rbx + rax + 1], r10b
mov eax, r14d
and rax, r8
movzx eax, word [rcx + rax*2 + 0x219dc4]
mov word [r13 + 8], ax
mov r13, qword [rsp + 0x60]
mov rax, qword [rsp + 0x40]
jmp case.default.0x140178ffd
mov al, byte [rsp + 0x50]
mov byte [r13 + 0xa], al
test byte [rdi + 2], 0xc0
je 0x14017aabf
cmp r14d, 0xc
jb 0x14017aab3
mov eax, 1
test al, r14b
je 0x14017aaea
mov eax, 0x80
test byte [rdi + 2], al
jne 0x14017aaea
jmp 0x14017aac4
mov eax, 0x80
cmp r14d, eax
jb 0x14017aad2
lea r8d, [r14 - 0xc]
shr r8d, 1
jmp 0x14017aae5
mov eax, r14d
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x2177a0]
test r8d, r8d
jne 0x14017aaf6
lea rcx, [0x140217920]
jmp 0x14017a9dc
mov edx, dword [rdx + r15*4]
mov r9, r13
mov rcx, qword [rbx + 0x38]
call fcn.1401809a4
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017ef81
mov rcx, qword [r13 + 0x10]
mov r8, r13
mov edx, r14d
call fcn.140182174
mov eax, 0xefff
and word [r13 + 8], ax
jmp 0x14017a964
movsxd rax, dword [rdi + 4]
mov r14, qword [rdi + 0x10]
imul rbx, rax, 0x38
mov al, byte [r14]
add rbx, r12
mov r12b, byte [rsp + 0x50]
mov r8b, r12b
mov dl, al
mov rcx, rbx
call fcn.140102314
cmp byte [r14], 0x45
jne 0x14017abb0
movzx ecx, word [rbx + 8]
mov eax, 4
test al, cl
je 0x14017abb0
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x14017ab99
and cx, ax
or cx, 0x20
jmp 0x14017abac
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
mov r8d, 1
xor r10d, r10d
add r14, r8
mov al, byte [r14]
test al, al
je 0x14017e760
add rbx, 0x38
jmp 0x14017ab4c
movsxd rax, dword [rdi + 4]
mov rdx, r10
mov r14, qword [rdi + 0x10]
mov r13, r10
imul r11, rax, 0x38
mov eax, dword [rdi + 8]
mov r9d, r10d
add r11, r12
mov dword [rsp + 0x70], r10d
mov r12, qword [rsp + 0x30]
sub eax, r8d
cdqe
imul r15, rax, 0x38
movsxd rax, dword [rdi + 0xc]
mov r10b, byte [r12 + 0xc3]
add r15, r11
imul rcx, rax, 0x38
mov qword [rsp + 0x78], rdx
add rcx, qword [rsp + 0x68]
mov qword [rbp - 0x80], r11
mov qword [rbp - 0x70], r15
mov byte [rbp - 0x78], r10b
mov qword [rbp - 0x10], rcx
test r14, r14
je 0x14017ac98
mov al, byte [r14]
lea rbx, [r11 + 8]
mov r12b, byte [rsp + 0x50]
mov esi, 0x20
mov edi, 0xfffb
lea rcx, [rbx - 8]
mov r8b, r12b
mov dl, al
call fcn.140102314
cmp byte [r14], 0x45
jne 0x14017ac6a
movzx eax, word [rbx]
test al, 4
je 0x14017ac6a
and ax, di
or ax, si
mov word [rbx], ax
mov r8d, 1
add rbx, 0x38
add r14, r8
mov al, byte [r14]
test al, al
jne 0x14017ac46
mov rdi, qword [rbp - 0x60]
mov r9d, dword [rsp + 0x70]
mov r10b, byte [rbp - 0x78]
mov rdx, qword [rsp + 0x78]
mov r11, qword [rbp - 0x80]
mov r15, qword [rbp - 0x70]
lea r12, [r15 + 0x24]
movzx ecx, word [r12 - 0x1c]
test r8b, cl
je 0x14017acc3
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r12], eax
add r9d, r8d
jmp 0x14017ae37
test cl, 0x24
je 0x14017ada6
mov r8, qword [r12 - 0x24]
mov rdx, r8
test r8, r8
jns 0x14017acdc
not rdx
mov ebx, 1
add r9d, ebx
mov dword [rsp + 0x70], r9d
cmp rdx, 0x7f
ja 0x14017ad14
mov rax, r8
and rax, rbx
cmp rax, r8
jne 0x14017ad0a
lea eax, [rbx + 3]
cmp r10b, al
jb 0x14017ad0a
lea eax, [rdx + 8]
jmp 0x14017ad9a
add r13, rbx
mov eax, ebx
jmp 0x14017ad9a
cmp rdx, 0x7fff
ja 0x14017ad24
mov eax, 2
jmp 0x14017ad42
cmp rdx, 0x7fffff
ja 0x14017ad34
mov eax, 3
jmp 0x14017ad42
cmp rdx, 0x7fffffff
ja 0x14017ad47
mov eax, 4
add r13, rax
jmp 0x14017ad9a
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14017ad61
add r13, 6
mov eax, 5
jmp 0x14017ad9a
mov edx, 8
add r13, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x14017ad95
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
cvtsi2sd xmm0, r8
or cx, dx
mov word [r12 - 0x1c], cx
movsd qword [r12 - 0x24], xmm0
jmp 0x14017ad9a
mov eax, 6
mov dword [r12], eax
mov r8, rbx
jmp 0x14017ae3c
mov eax, 8
test al, cl
je 0x14017adc0
add r9d, r8d
add r13, rax
mov eax, 7
mov dword [r12], eax
jmp 0x14017ae37
mov r14d, dword [r12 - 0x18]
mov eax, ecx
shr eax, 1
and eax, r8d
bt cx, 0xe
lea r15d, [r14 + 6]
lea r15d, [rax + r15*2]
jae 0x14017ae0d
lea rbx, [r12 - 0x24]
movsxd rax, dword [rbx]
lea r15d, [r15 + rax*2]
test r13, r13
je 0x14017ae05
mov rcx, rbx
call fcn.1401808a0
test eax, eax
jne 0x14017ef54
add r14d, dword [rbx]
lea r8d, [rax + 1]
jmp 0x14017ae0d
add rdx, rax
mov qword [rsp + 0x78], rdx
mov eax, r14d
mov ecx, r8d
add r13, rax
mov eax, r15d
jmp 0x14017ae1e
add ecx, r8d
shr rax, 7
test rax, rax
jne 0x14017ae1b
mov r9d, dword [rsp + 0x70]
mov r11, qword [rbp - 0x80]
add r9d, ecx
mov dword [r12], r15d
mov dword [rsp + 0x70], r9d
lea rax, [r12 - 0x24]
cmp rax, r11
je 0x14017ae58
mov r10b, byte [rbp - 0x78]
sub r12, 0x38
mov rdx, qword [rsp + 0x78]
jmp 0x14017ac9c
cmp r9d, 0x7e
jle 0x14017ae92
mov edx, r8d
movsxd rax, r9d
jmp 0x14017ae69
add edx, r8d
shr rax, 7
test rax, rax
jne 0x14017ae66
add r9d, edx
mov ecx, r8d
mov dword [rsp + 0x70], r9d
movsxd rax, r9d
jmp 0x14017ae85
add ecx, r8d
shr rax, 7
test rax, rax
jne 0x14017ae82
cmp edx, ecx
jge 0x14017ae9a
add r9d, r8d
mov dword [rsp + 0x70], r9d
mov r12, qword [rsp + 0x78]
mov r14, qword [rbp - 0x10]
movsxd r15, r9d
movsxd rax, dword [r14 + 0x20]
lea rbx, [r15 + r13]
lea rcx, [rbx + r12]
cmp rcx, rax
jle 0x14017aef3
mov r13, qword [rsp + 0x60]
movsxd rax, dword [r13 + 0x7c]
cmp rcx, rax
jg 0x14017ecc0
cmp dword [r14 + 0x20], ebx
jge 0x14017aef3
xor r8d, r8d
mov edx, ebx
mov rcx, r14
call fcn.140180ae4
test eax, eax
jne 0x14017ef59
mov r9d, dword [rsp + 0x70]
lea r8d, [rax + 1]
mov r11, qword [rbp - 0x80]
jmp 0x14017aefb
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
mov dword [r14 + 0xc], ebx
mov eax, 0x10
mov word [r14 + 8], ax
test r12, r12
je 0x14017af1b
mov eax, 0x4010
mov dword [r14], r12d
mov word [r14 + 8], ax
mov r14, qword [r14 + 0x10]
mov ecx, 0x80
lea r12, [r14 + r15]
cmp r9d, ecx
jae 0x14017af35
mov byte [r14], r9b
mov eax, r8d
jmp 0x14017af49
mov rdx, r15
mov rcx, r14
call fcn.140161d78
mov ecx, 0x80
lea r8d, [rcx - 0x7f]
mov r15, qword [rbp - 0x70]
lea rdi, [0x140000000]
mov r13d, 8
movzx eax, al
add r14, rax
lea esi, [r13 - 1]
mov ebx, dword [r11 + 0x24]
cmp ebx, ecx
jae 0x14017af74
mov byte [r14], bl
mov eax, r8d
jmp 0x14017af7f
mov rdx, rbx
mov rcx, r14
call fcn.140161d78
movzx eax, al
add r14, rax
lea eax, [rbx - 1]
cmp eax, 6
ja 0x14017afd6
cmp ebx, esi
jne 0x14017afaa
mov r8, r13
lea rcx, [rbp + 0x18]
mov rdx, r11
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp + 0x18]
mov r11, qword [rbp - 0x80]
jmp 0x14017afb1
mov rcx, qword [r11]
mov qword [rbp + 0x18], rcx
movzx edx, byte [rbx + rdi + 0x2177a0]
xor r10d, r10d
mov ebx, edx
dec edx
mov byte [rdx + r12], cl
mov rcx, qword [rbp + 0x18]
shr rcx, 8
mov qword [rbp + 0x18], rcx
test edx, edx
jne 0x14017afbe
jmp 0x14017b001
xor r10d, r10d
cmp ebx, 0xc
jb 0x14017affe
mov ebx, dword [r11 + 0xc]
test ebx, ebx
je 0x14017b001
mov rdx, qword [r11 + 0x10]
mov r8d, ebx
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
mov r11, qword [rbp - 0x80]
xor r10d, r10d
jmp 0x14017b001
mov ebx, r10d
add r11, 0x38
mov eax, ebx
mov ecx, 0x80
mov qword [rbp - 0x80], r11
add r12, rax
lea r8d, [rcx - 0x7f]
cmp r11, r15
jbe 0x14017af64
mov rdi, qword [rbp - 0x60]
mov esi, dword [rsp + 0x38]
jmp 0x14017a98f
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x38]
cmp dword [rdi + 0xc], r10d
je 0x14017b050
mov rcx, rdx
call fcn.14014e8c8
mov rbx, rax
jmp 0x14017b07a
lea r8, [rbp - 0x70]
mov qword [rbp - 0x70], r10
mov rcx, r13
call fcn.14014ca08
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
mov rbx, qword [rbp - 0x70]
mov r11, qword [rsp + 0x30]
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
mov qword [rax], rbx
mov r11, qword [rsp + 0x30]
xor r10d, r10d
jmp 0x14017e2ff
mov r12d, dword [rdi + 4]
mov r15, qword [rdi + 0x10]
mov dword [rbp - 0x80], r12d
test r12d, r12d
jne 0x14017b17b
cmp dword [r13 + 0xd0], r10d
jg 0x14017e9f1
test r15, r15
jne 0x14017b0c1
mov r14d, r10d
jmp 0x14017b0d3
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r14, rax
and r14d, 0x3fffffff
mov r8d, dword [r13 + 0x2c4]
xor edx, edx
add r8d, dword [r13 + 0x2c0]
mov rcx, r13
call fcn.140183c74
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
mov edx, r14d
mov rcx, r13
add rdx, 0x21
call fcn.140152438
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x14017c709
lea r9, [rax + 0x20]
mov rdx, r15
mov rcx, r9
mov qword [rax], r9
lea r8d, [r14 + 1]
call sub.VCRUNTIME140.dll_memcpy
xor r10d, r10d
lea r8d, [rsi + 1]
cmp byte [r13 + 0x5f], r10b
je 0x14017b147
mov byte [r13 + 0x5f], r10b
mov byte [r13 + 0x67], r8b
jmp 0x14017b14e
add dword [r13 + 0x2c0], r8d
mov rax, qword [r13 + 0x2b0]
mov qword [rbx + 0x18], rax
mov rax, qword [r13 + 0x2c8]
mov qword [r13 + 0x2b0], rbx
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x2d0]
mov qword [rbx + 0x10], rax
jmp 0x140179b52
mov r9, qword [rsp + 0x60]
mov r13d, r10d
mov rbx, qword [r9 + 0x2b0]
test rbx, rbx
je 0x14017ea7a
mov rcx, qword [rbx]
mov rdx, r15
call fcn.140174cfc
xor r10d, r10d
test eax, eax
je 0x14017b1ae
mov rbx, qword [rbx + 0x18]
inc r13d
jmp 0x14017b18a
mov r8, qword [rsp + 0x60]
mov ecx, 1
cmp dword [r8 + 0xd0], r10d
jle 0x14017b1ca
cmp r12d, ecx
je 0x14017ea12
lea r15, [rbx + 0x18]
mov qword [rbp - 0x70], r15
cmp qword [r15], r10
jne 0x14017b24d
cmp byte [r8 + 0x67], r10b
je 0x14017b24d
mov dword [rsp + 0x78], ecx
mov r14d, ecx
cmp r12d, ecx
jne 0x14017b252
mov edx, ecx
mov rcx, r11
call fcn.140178784
xor r10d, r10d
mov esi, eax
test eax, eax
jne 0x14017f069
mov r9, qword [rsp + 0x60]
lea eax, [rsi + 1]
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
mov byte [r9 + 0x5f], al
call fcn.14017fa78
mov r8d, 5
cmp eax, r8d
je 0x14017ea28
mov esi, dword [rsi + 0x38]
xor r10d, r10d
mov r8, qword [rsp + 0x60]
mov dword [rsp + 0x38], esi
test esi, esi
je 0x14017b244
mov byte [r8 + 0x5f], r10b
jmp 0x14017b364
mov byte [r8 + 0x67], r10b
jmp 0x14017b364
mov dword [rsp + 0x78], r10d
mov edx, dword [r8 + 0x2c0]
mov r11d, 2
mov eax, dword [r8 + 0x28]
sub edx, r13d
sub edx, ecx
mov dword [rsp + 0x70], edx
cmp r12d, r11d
jne 0x14017b2d1
mov r13d, dword [r8 + 0x2c]
mov r12d, r10d
and r13d, ecx
test eax, eax
jle 0x14017b2cb
mov r15d, r13d
mov r14, r10
xor r15d, ecx
mov rcx, qword [r8 + 0x20]
mov edx, 0x204
mov r8d, r15d
mov rcx, qword [r14 + rcx + 8]
call fcn.14014ef64
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017ef81
mov r8, qword [rsp + 0x60]
lea ecx, [rax + 1]
add r12d, ecx
add r14, 0x20
mov eax, dword [r8 + 0x28]
cmp r12d, eax
jl 0x14017b288
mov edx, dword [rsp + 0x70]
mov r12d, dword [rbp - 0x80]
jmp 0x14017b2d4
mov r13d, r10d
mov r15d, r10d
test eax, eax
jle 0x14017b31c
mov r14, r10
mov rcx, qword [r8 + 0x20]
mov r8d, edx
mov edx, r12d
mov rcx, qword [r14 + rcx + 8]
call fcn.14014e914
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017ef81
mov r8, qword [rsp + 0x60]
lea ecx, [rax + 1]
mov edx, dword [rsp + 0x70]
add r15d, ecx
add r14, 0x20
cmp r15d, dword [r8 + 0x28]
jl 0x14017b2de
test r13d, r13d
je 0x14017b356
mov rax, qword [r8 + 8]
jmp 0x14017b338
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14017b327
mov rcx, r8
call fcn.140170698
mov r8, qword [rsp + 0x60]
mov eax, 1
or dword [r8 + 0x2c], eax
xor r10d, r10d
mov r15, qword [rbp - 0x70]
mov r13d, dword [rsp + 0x70]
mov r14d, dword [rsp + 0x78]
test esi, esi
jne 0x14017ef81
mov rcx, qword [r8 + 0x2b0]
cmp rcx, rbx
je 0x14017b3a9
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r8
mov qword [r8 + 0x2b0], rax
call fcn.140152380
mov r8, qword [rsp + 0x60]
mov rcx, qword [r8 + 0x2b0]
dec dword [r8 + 0x2c0]
cmp rcx, rbx
jne 0x14017b378
xor r10d, r10d
mov eax, 1
cmp r12d, eax
jne 0x14017b3e1
mov rax, qword [r15]
mov rdx, rbx
mov rcx, r8
mov qword [r8 + 0x2b0], rax
call fcn.140152380
xor r10d, r10d
test r14d, r14d
jne 0x14017e751
mov rax, qword [rsp + 0x60]
dec dword [rax + 0x2c0]
jmp 0x14017b40b
mov rax, qword [rbx + 8]
mov qword [r8 + 0x2c8], rax
mov rax, qword [rbx + 0x10]
mov qword [r8 + 0x2d0], rax
test r14d, r14d
je 0x14017b40b
mov r9d, 2
cmp r12d, r9d
jne 0x14017e74a
mov r8d, r13d
mov edx, r12d
mov r13, qword [rsp + 0x60]
mov rcx, r13
call fcn.140183c74
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
mov r11, qword [rsp + 0x30]
jmp 0x140179811
mov edx, dword [rdi + 8]
mov r14d, r10d
mov dword [rsp + 0x78], r10d
test edx, edx
je 0x14017b457
mov eax, dword [r13 + 0x30]
bt rax, 0x14
jb 0x14017eaac
movsxd rcx, dword [rdi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x14017b5a2
lea r8, [rsp + 0x78]
mov rcx, rbx
call fcn.14014c12c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017eab6
mov r11, qword [rsp + 0x30]
test byte [r11 + 0xc8], 0x40
je 0x14017b591
cmp dword [rdi + 8], r10d
je 0x14017b591
cmp byte [r13 + 0x5f], r10b
je 0x14017b4c3
lea r8d, [rax + 1]
cmp dword [r13 + 0xcc], r8d
jle 0x14017b597
mov r8d, dword [r11 + 0x40]
test r8d, r8d
jne 0x14017b4e9
lea eax, [r8 + 1]
mov r8d, dword [r13 + 0x2c0]
add dword [r13 + 0x2c4], eax
add r8d, dword [r13 + 0x2c4]
mov dword [r11 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r13
call fcn.140183c74
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017b576
mov r12, qword [rsp + 0x30]
mov r14, qword [rbx + 8]
mov esi, dword [r12 + 0x40]
cmp byte [rbx + 0x11], r10b
je 0x14017b52f
lea eax, [r10 + 1]
add dword [rbx + 0x14], eax
cmp byte [rbx + 0x12], r10b
jne 0x14017b52f
mov rcx, rbx
call fcn.140105408
xor r10d, r10d
mov rcx, qword [r14]
cmp esi, dword [rcx + 0x80]
jle 0x14017b552
cmp byte [rcx + 0xa], r10b
je 0x14017b552
mov edx, esi
call fcn.14013b4f4
mov esi, eax
mov dword [rsp + 0x38], eax
xor r10d, r10d
jmp 0x14017b55a
mov esi, r10d
mov dword [rsp + 0x38], r10d
cmp byte [rbx + 0x11], r10b
je 0x14017b571
sub dword [rbx + 0x14], 1
jne 0x14017b571
mov rcx, rbx
call fcn.14018c438
xor r10d, r10d
mov r12, qword [rsp + 0x68]
mov rax, qword [r13 + 0x2c8]
mov r11, qword [rsp + 0x30]
mov qword [r11 + 0x58], rax
mov rax, qword [r13 + 0x2d0]
mov qword [r11 + 0x60], rax
mov r8d, 1
mov r14d, dword [rsp + 0x78]
mov r9d, 2
cmp word [rdi + 2], r10w
je 0x14017b5d0
cmp r14d, dword [rdi + 0xc]
jne 0x14017eaff
mov rax, qword [r13 + 0x20]
movsxd rcx, dword [rdi + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rdi + 0x10]
cmp dword [rcx + 4], eax
jne 0x14017eaff
test esi, esi
jne 0x140179d86
jmp 0x140179078
movsxd rax, dword [rdi + 4]
lea r8, [rbp + 0x20]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rdi + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14014d03c
mov rcx, qword [rsp + 0x30]
mov rdx, rdi
call fcn.14013ade4
movsxd rcx, dword [rbp + 0x20]
mov qword [rax], rcx
jmp 0x14017968c
movsxd rbx, dword [rdi + 4]
mov r8d, dword [rdi + 0xc]
mov edx, dword [rdi + 8]
shl rbx, 5
add rbx, qword [r13 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14014f030
mov r8d, 1
mov dword [rsp + 0x38], eax
mov esi, eax
lea r9d, [r8 + 1]
cmp dword [rdi + 8], r8d
jne 0x14017b65a
movzx eax, word [rdi + 2]
mov ecx, dword [rdi + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
or dword [r13 + 0x2c], r8d
jmp 0x14017b66a
cmp dword [rdi + 8], r9d
jne 0x14017b66a
mov rcx, qword [rbx + 0x18]
mov al, byte [rdi + 0xc]
mov byte [rcx + 0x70], al
xor r10d, r10d
cmp dword [rdi + 4], r8d
jne 0x14017b69f
mov rax, qword [r13 + 8]
jmp 0x14017b68b
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r8d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14017b679
mov r11, qword [rsp + 0x30]
and dword [r11 + 0xc8], 0xfffffffc
jmp 0x14017b6a4
mov r11, qword [rsp + 0x30]
test esi, esi
je 0x140179078
mov r12, qword [rsp + 0x30]
jmp 0x14017eba7
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je case.0x140178ffd.96
mov eax, dword [rdi + 8]
cmp dword [rbx + 0x4c], eax
je 0x14017b819
mov eax, dword [r11 + 0xc8]
and al, 3
cmp al, r8b
je 0x14017eb71
movsxd rdx, dword [rdi + 0xc]
mov r15d, r10d
mov r9, qword [rsp + 0x60]
mov rax, rdx
mov r13d, dword [rdi + 8]
mov r12, r10
shl rax, 5
mov dword [rbp - 0x80], edx
add rax, qword [r9 + 0x20]
cmp r14b, 0x61
mov r14d, 4
mov rcx, qword [rax + 8]
mov qword [rbp - 0x10], rcx
jne 0x14017b73d
mov rax, qword [rax + 0x18]
movzx esi, word [rdi + 2]
and esi, 8
or esi, r14d
mov cl, byte [rax + 0x70]
cmp cl, byte [r11 + 0xc3]
jae 0x14017b740
mov byte [r11 + 0xc3], cl
jmp 0x14017b740
mov esi, r10d
mov eax, 0x10
test byte [rdi + 2], al
je 0x14017b77a
imul rbx, r13, 0x38
add rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.14017ff90
mov edx, dword [rbp - 0x80]
mov r11, qword [rsp + 0x30]
mov qword [rbx], rax
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], r14w
mov r13d, dword [rbx]
xor r10d, r10d
mov al, byte [rdi + 1]
cmp al, 0xf7
jne 0x14017b78d
mov r12, qword [rdi + 0x10]
movzx r15d, word [r12 + 8]
jmp 0x14017b795
cmp al, 0xfd
jne 0x14017b795
mov r15d, dword [rdi + 0x10]
mov r9d, edx
mov byte [rsp + 0x20], r10b
mov edx, dword [rdi + 4]
mov r8d, r15d
mov rcx, r11
call fcn.140100b30
mov rbx, rax
test rax, rax
je 0x14017ef54
mov rcx, qword [rbx + 0x38]
mov eax, 1
or dword [rbx + 8], r14d
mov r9, r12
mov qword [rsp + 0x20], rcx
mov r8d, esi
mov rcx, qword [rbp - 0x10]
mov edx, r13d
mov byte [rbx + 2], al
mov dword [rbx + 0x4c], r13d
call fcn.14014cb70
mov r11, qword [rsp + 0x30]
mov esi, eax
mov r13, qword [rsp + 0x60]
mov r15, qword [rsp + 0x48]
mov qword [rbx + 0x40], r12
cmp byte [rdi + 1], 0xf7
mov r12, qword [rsp + 0x68]
mov dword [rsp + 0x38], eax
setne al
xor r10d, r10d
mov byte [rbx + 4], al
lea edx, [r10 + 4]
lea r8d, [r10 + 1]
lea r9d, [r10 + 2]
mov cl, byte [rdi + 2]
mov rax, qword [rbx + 0x38]
and cl, 3
mov byte [rax + 3], cl
test esi, esi
jne 0x140179d86
jmp case.0x140178ffd.85
movsxd rcx, dword [rdi + 8]
or r9d, 0xffffffff
mov rax, qword [r11 + 0x78]
mov edx, dword [rdi + 4]
mov byte [rsp + 0x20], r10b
mov rbx, qword [rax + rcx*8]
mov rcx, r11
movsx r8d, word [rbx + 0x50]
call fcn.140100b30
test rax, rax
je 0x14017ef59
mov ecx, 1
mov r8d, 4
or dword [rax + 8], ecx
mov byte [rax + 2], cl
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
mov cl, byte [rbx + 4]
mov byte [rax + 4], cl
mov edx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], edx
mov ecx, dword [rbx + 8]
xor ecx, dword [rax + 8]
and ecx, r8d
xor dword [rax + 8], ecx
mov rax, qword [rax + 0x38]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14014cb70
mov esi, eax
mov dword [rsp + 0x38], eax
jmp 0x1401791fe
movsxd rdx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14017b8ec
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14017b8ec
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
mov qword [rbx + 0x18], r10
mov dword [rbx + 0x28], r10d
call fcn.14014c434
mov esi, eax
mov dword [rsp + 0x38], eax
mov edx, 4
jmp 0x14017ba16
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], r10b
call fcn.140100b30
mov rbx, rax
test rax, rax
je 0x14017ef59
mov eax, 1
mov dword [rsp + 0x28], 0x41e
or dword [rbx + 8], eax
lea r14, [rbx + 0x10]
movzx ecx, word [rdi + 2]
mov r9, r14
or ecx, 5
mov r8, r13
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [r13]
call fcn.14014e074
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017b9f7
mov rcx, qword [r14]
lea edx, [rax + 1]
xor r8d, r8d
call fcn.14014c12c
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017b9f7
mov r15, qword [rdi + 0x10]
lea r12, [rbx + 0x4c]
mov rcx, qword [r14]
mov qword [rbx + 0x40], r15
test r15, r15
je 0x14017b9c1
movzx r8d, word [rdi + 2]
mov rdx, r12
or r8d, 2
call fcn.14014cb0c
mov esi, eax
mov dword [rsp + 0x38], eax
xor eax, eax
test esi, esi
jne 0x14017b9bc
mov rax, qword [rbx + 0x38]
lea r8d, [rsi + 4]
mov edx, dword [r12]
mov r9, r15
mov rcx, qword [r14]
mov qword [rsp + 0x20], rax
call fcn.14014cb70
mov esi, eax
mov dword [rsp + 0x38], eax
xor eax, eax
mov byte [rbx + 4], al
jmp 0x14017b9ed
mov rax, qword [rbx + 0x38]
mov r15d, 1
xor r9d, r9d
mov dword [r12], r15d
mov edx, r15d
mov qword [rsp + 0x20], rax
lea r8d, [r15 + 3]
call fcn.14014cb70
mov esi, eax
mov dword [rsp + 0x38], eax
mov byte [rbx + 4], r15b
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
movzx eax, word [rdi + 2]
mov edx, 4
sub ax, 8
neg ax
mov eax, dword [rbx + 8]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, edx
or ecx, eax
mov dword [rbx + 8], ecx
xor r10d, r10d
test esi, esi
jne 0x140179d86
mov r11, qword [rsp + 0x30]
lea r8d, [r10 + 1]
mov byte [rbx + 2], r8b
jmp 0x1401791de
mov edx, dword [rdi + 4]
or r9d, 0xffffffff
mov byte [rsp + 0x20], r8b
mov rcx, r11
mov r8d, dword [rdi + 8]
call fcn.140100b30
test rax, rax
je 0x14017ef59
mov rcx, qword [rdi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, r13
mov edx, dword [rdi + 0xc]
call fcn.14018250c
jmp 0x140179e27
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x14017903a
jmp 0x140179078
mov r8d, dword [rdi + 0xc]
mov eax, 3
mov edx, dword [rdi + 4]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], al
call fcn.140100b30
xor r10d, r10d
test rax, rax
je 0x14017ef59
lea r8d, [r10 + 1]
mov byte [rax + 2], r8b
mov ecx, dword [rdi + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x140251893]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], r8b
jmp 0x140179402
movsxd rax, dword [rdi + 4]
mov rcx, r11
mov rdx, qword [r11 + 0x78]
mov rdx, qword [rdx + rax*8]
call fcn.14017f938
mov r11, qword [rsp + 0x30]
xor r10d, r10d
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov qword [rax + rcx*8], r10
jmp 0x140179206
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov dword [rsp + 0x78], r10d
mov r15, qword [rax + rcx*8]
and word [r15 + 2], 0
mov dword [r15 + 0x28], r10d
cmp byte [r15 + 4], r10b
je 0x14017bc63
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r12
movzx r12d, word [rbx + 8]
mov al, r12b
and al, 0x2e
cmp al, r9b
jne 0x14017bb55
xor edx, edx
mov rcx, rbx
call fcn.14010238c
mov rcx, rbx
call fcn.14017ff90
movzx ecx, word [rbx + 8]
mov r13, rax
mov word [rbx + 8], r12w
test cl, 0x24
jne 0x14017bc2a
mov eax, 8
test al, cl
jne 0x14017bbf6
lea r8d, [rax - 7]
test r8b, cl
jne 0x14017e131
cmp r14d, 0x18
jae 0x14017e131
mov rcx, qword [r15 + 0x38]
lea rdx, [rbp - 0x74]
call fcn.14014da7c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017ef81
mov r8d, 1
cmp dword [rbp - 0x74], r10d
jne 0x14017bd48
mov edx, 4
mov r11, qword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
mov rax, qword [rsp + 0x40]
lea r8d, [rdx - 3]
lea r9d, [rdx - 2]
cmp dword [rsp + 0x78], r10d
je 0x14017bbe7
add rdi, 0x18
mov r12, qword [rsp + 0x68]
mov r15, qword [rsp + 0x48]
jmp 0x140179082
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
cvtsi2sd xmm0, r13
comisd xmm0, xmm1
jbe 0x14017bc17
mov ebx, 1
test bl, r14b
je 0x14017bc2a
sub r14d, ebx
jmp 0x14017bc2a
comisd xmm1, xmm0
jbe 0x14017bc2a
mov ebx, 1
test bl, r14b
jne 0x14017bc2a
add r14d, ebx
mov rcx, qword [r15 + 0x38]
lea rax, [rbp - 0x74]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r13
xor edx, edx
call fcn.14014dbb0
xor r10d, r10d
mov qword [r15 + 0x58], r13
mov r13, qword [rsp + 0x60]
mov esi, eax
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x140179d86
jmp 0x14017bcf1
mov rax, qword [r15 + 0x38]
lea rdx, [rbp - 0x48]
mov r12d, r10d
mov bl, byte [rax + 3]
mov rax, qword [r15 + 0x40]
and bl, r9b
mov qword [rbp - 0x48], rax
movzx eax, word [rdi + 0x10]
setne r12b
mov word [rbp - 0x38], ax
mov eax, r14d
and al, r8b
mov byte [rbp - 0x32], r10b
neg al
mov dword [rsp + 0x78], r12d
movsxd rax, dword [rdi + 0xc]
sbb cl, cl
xor r9d, r9d
and cl, 0xfe
add cl, r8b
xor r8d, r8d
mov byte [rbp - 0x36], cl
imul rcx, rax, 0x38
lea rax, [rbp - 0x74]
add rcx, qword [rsp + 0x68]
mov qword [rbp - 0x40], rcx
mov rcx, qword [r15 + 0x38]
mov qword [rsp + 0x20], rax
call fcn.14014dbb0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
test bl, bl
je 0x14017bcf1
mov dword [rsp + 0x78], r12d
cmp byte [rbp - 0x32], r10b
je 0x14017bbb0
mov eax, dword [rbp - 0x74]
cmp r14d, 0x18
jl 0x14017bd52
test eax, eax
js 0x14017bd0f
jne 0x14017bd06
cmp r14d, 0x19
je 0x14017bd0f
mov dword [rbp - 0x74], r10d
jmp 0x14017bbc0
mov rcx, qword [r15 + 0x38]
xor edx, edx
mov dword [rbp - 0x74], r10d
call fcn.14014e02c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
je 0x14017bbc0
cmp eax, 0x65
jne 0x140179d86
lea r8d, [rax - 0x64]
mov dword [rsp + 0x38], r10d
mov dword [rbp - 0x74], r8d
mov esi, r10d
mov r15, qword [rsp + 0x48]
jmp 0x14017903a
test eax, eax
jg 0x14017bd73
jne 0x14017bd5e
cmp r14d, 0x16
je 0x14017bd73
mov rax, qword [r15 + 0x38]
mov ecx, r10d
cmp byte [rax], r10b
setne cl
mov dword [rbp - 0x74], ecx
jmp 0x14017bbb0
mov rcx, qword [r15 + 0x38]
xor edx, edx
mov dword [rbp - 0x74], r10d
call fcn.14014e700
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
je 0x14017bbc0
cmp eax, 0x65
jne 0x140179d86
lea r8d, [rax - 0x64]
mov dword [rsp + 0x38], r10d
mov dword [rbp - 0x74], r8d
mov esi, r10d
jmp 0x14017bbb6
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rdi + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, 8
xor dword [rdx + 8], eax
jmp 0x140179078
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
cmp qword [rax + rcx*8], r10
je case.0x140178ffd.11
jmp case.0x140178ffd.85
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov eax, 8
test byte [rcx + 8], al
jne case.0x140178ffd.85
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r12
cmp dword [rdi + 0x10], r10d
jle 0x14017be3c
mov rax, qword [r14 + 0x40]
lea rsi, [rbp - 0x48]
mov qword [rbp - 0x48], rax
mov r15, r10
movzx eax, word [rdi + 0x10]
mov word [rbp - 0x38], ax
mov qword [rbp - 0x40], rbx
jmp 0x14017be89
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14017be57
mov rcx, rbx
call fcn.1401808a0
test eax, eax
jne 0x14017ef59
mov rcx, qword [r14 + 0x40]
call fcn.1401785d8
mov rsi, rax
mov r15, rax
test rax, rax
je 0x14017ef59
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [r14 + 0x40]
call fcn.140181f5c
xor r10d, r10d
lea r8d, [r10 + 1]
mov byte [rsi + 0x12], r10b
mov ebx, r10d
cmp byte [rdi], 0x1c
jne 0x14017bebd
movzx edx, word [rsi + 0x10]
mov ecx, r10d
test edx, edx
je 0x14017bebd
mov rax, qword [rsi + 8]
add rax, 8
test byte [rax], r8b
jne 0x14017beba
add ecx, r8d
add rax, 0x38
cmp ecx, edx
jl 0x14017bea8
jmp 0x14017bebd
mov ebx, r8d
mov rcx, qword [r14 + 0x38]
lea rax, [rbp + 0x24]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rsi
call fcn.14014dbb0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test r15, r15
je 0x14017bef4
mov rdx, r15
mov rcx, r13
call fcn.140152380
xor r10d, r10d
test esi, esi
jne 0x140179d86
mov eax, dword [rbp + 0x24]
mov ecx, r10d
test eax, eax
mov dword [r14 + 0x2c], eax
mov byte [r14 + 3], r10b
sete cl
mov dword [r14 + 0x28], r10d
test eax, eax
setne al
mov byte [r14 + 2], al
cmp byte [rdi], 0x1e
jne 0x14017bf2d
mov r15, qword [rsp + 0x48]
test ecx, ecx
jmp 0x14017a4af
test ebx, ebx
jne 0x14017e127
mov r15, qword [rsp + 0x48]
test ecx, ecx
jmp 0x14017a4df
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r12
test byte [rcx + 8], 0x24
jne case.0x140178ffd.32
movups xmm0, xmmword [rcx]
mov r8b, bl
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x80], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x90], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x80]
movups xmmword [rbp + 0xa0], xmm0
movsd qword [rbp + 0xb0], xmm1
call fcn.140102314
mov eax, 4
xor r10d, r10d
test byte [rbp + 0x88], al
je 0x140179034
mov r14, qword [rbp + 0x80]
mov r11, qword [rsp + 0x30]
jmp 0x14017bfbe
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r14, qword [rcx + r12]
movsxd rcx, dword [rdi + 4]
xor r9d, r9d
mov rax, qword [r11 + 0x78]
mov r8, r14
xor edx, edx
mov dword [rsp + 0x78], r10d
mov rbx, qword [rax + rcx*8]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x38]
call fcn.14014dbb0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
mov qword [rbx + 0x58], r14
mov eax, dword [rsp + 0x78]
mov word [rbx + 2], r10w
mov dword [rbx + 0x28], r10d
mov dword [rbx + 0x2c], eax
test eax, eax
je 0x14017c028
cmp dword [rdi + 8], r10d
jne 0x140179034
mov ecx, 0x15fa6
call fcn.140150b10
mov esi, eax
mov dword [rsp + 0x38], eax
xor r10d, r10d
test esi, esi
jmp 0x140179e32
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
movsxd rdx, dword [rdi + 4]
mov r8d, 1
mov r11, qword [rsp + 0x30]
mov rcx, qword [r11 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r8
xor r10d, r10d
jmp 0x140179407
mov rbx, r10
mov dword [rsp + 0x70], r10d
mov rdx, rdi
mov qword [rbp - 0x80], rbx
mov rcx, r11
call fcn.14013ade4
movsxd rdx, dword [rdi + 4]
mov r12, rax
mov rax, qword [rsp + 0x30]
mov r9d, 2
mov rcx, qword [rax + 0x78]
mov r15, qword [rcx + rdx*8]
test byte [r15 + 8], r9b
jne 0x14017c11c
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x70]
call fcn.14014da7c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
cmp dword [rsp + 0x70], r10d
je 0x14017c0e1
lea eax, [rsi + 1]
mov ebx, eax
mov qword [rbp - 0x80], rax
mov rax, qword [rsp + 0x30]
lea r9d, [rsi + 2]
jmp 0x14017c11f
mov rbx, qword [r15 + 0x38]
mov rcx, rbx
call fcn.1401311e0
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
mov qword [rbp - 0x80], rbx
mov rax, qword [rsp + 0x30]
mov r9d, 2
jl 0x14017c115
or dword [r15 + 8], r9d
jmp 0x14017c11c
inc rbx
mov qword [rbp - 0x80], rbx
xor r10d, r10d
movsxd rdx, dword [rdi + 0xc]
test edx, edx
je 0x14017c1b2
mov rcx, qword [rax + 0x100]
test rcx, rcx
je 0x14017c153
mov rax, qword [rcx + 8]
jmp 0x14017c144
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14017c13d
imul r14, rdx, 0x38
add r14, qword [rcx + 0x20]
jmp 0x14017c15c
imul r14, rdx, 0x38
add r14, qword [rsp + 0x68]
mov rcx, r14
call fcn.14017ff90
mov ecx, 0x3e40
mov qword [r14], rax
and word [r14 + 8], cx
mov ecx, 4
or word [r14 + 8], cx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14017eb7b
mov r9d, 2
test byte [r15 + 8], r9b
jne 0x14017eb7b
inc rax
cmp rbx, rax
cmovl rbx, rax
xor r10d, r10d
mov qword [rbp - 0x80], rbx
mov qword [r14], rbx
test byte [r15 + 8], r9b
je 0x14017c22b
mov r14d, r10d
lea rdx, [rbp - 0x80]
mov ecx, 8
call fcn.1400f374c
mov rbx, qword [rbp - 0x80]
movabs rax, 0x3fffffffffffffff
mov rcx, qword [r15 + 0x38]
and rbx, rax
inc rbx
lea rax, [rsp + 0x70]
mov r8, rbx
mov qword [rbp - 0x80], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.14014dbb0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
cmp dword [rsp + 0x70], r10d
jne 0x14017c225
inc r14d
cmp r14d, 0x64
jl 0x14017c1bb
lea esi, [rax + 0xd]
jmp 0x140179d86
mov r9d, 2
mov r11, qword [rsp + 0x30]
mov byte [r15 + 3], r10b
mov dword [r15 + 0x28], r10d
mov qword [r12], rbx
mov r12, qword [rsp + 0x68]
mov r15, qword [rsp + 0x48]
jmp 0x140179112
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x78]
add rdx, r12
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
cmp byte [rdi + 1], 0xfa
mov r8, qword [rcx + r12]
mov qword [rbp - 0x40], r8
jne 0x14017c298
cmp qword [r13 + 0x130], r10
je 0x14017c298
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
mov r14, qword [rdi + 0x10]
shl rcx, 5
mov r15, qword [rcx + rax]
jmp 0x14017c29e
mov r14, r10
mov r15, r10
movzx ecx, word [rdi + 2]
mov eax, 1
test al, cl
je 0x14017c2b3
add dword [r11 + 0x3c], eax
movzx ecx, word [rdi + 2]
mov eax, 0x20
test al, cl
je 0x14017c2c4
mov qword [r13 + 0x38], r8
movzx ecx, word [rdi + 2]
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x38], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp - 0x24], eax
mov eax, 0x10
test al, cl
je 0x14017c2e1
mov r9d, dword [rbx + 0x2c]
jmp 0x14017c2e4
mov r9d, r10d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x14017c2f6
mov eax, dword [rdx]
mov dword [rbp - 0x20], eax
jmp 0x14017c2fa
mov dword [rbp - 0x20], r10d
movzx r8d, cx
lea rdx, [rbp - 0x48]
mov qword [rbp - 0x48], r10
and r8d, 0xa
mov rcx, qword [rbx + 0x38]
call fcn.14014d250
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov byte [rbx + 3], r10b
mov esi, eax
mov dword [rbx + 0x28], r10d
test eax, eax
jne 0x140179d86
test r14, r14
je 0x14017c709
mov al, byte [rdi + 2]
mov r8, r15
mov r9, qword [r14]
and al, 4
mov rcx, qword [r13 + 0x128]
neg al
mov rax, qword [rbp - 0x40]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r13 + 0x130]
jmp 0x140179b42
cmp byte [rdi + 1], 0xfa
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r13d, dword [rdi + 8]
mov r14, qword [rax + rcx*8]
jne 0x14017c3c1
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x130], r10
je 0x14017c3c1
movsx rcx, byte [r14 + 1]
mov rax, qword [rax + 0x20]
mov r15, qword [rdi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
test byte [rdi + 2], r9b
je 0x14017c3c7
cmp byte [r14 + 4], r10b
je 0x14017c3c7
mov rbx, qword [r14 + 0x38]
mov rcx, rbx
call fcn.1401311e0
mov rax, qword [rbx + 0x30]
mov qword [r14 + 0x58], rax
jmp 0x14017c3c7
mov r12, r10
mov r15, r10
mov dl, byte [rdi + 2]
mov rcx, qword [r14 + 0x38]
call fcn.14014cbfc
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov qword [r14 + 0x28], r10
mov esi, eax
test eax, eax
jne 0x14017ef81
mov r11, qword [rsp + 0x30]
lea r8d, [rax + 1]
test r8b, r13b
mov r13, qword [rsp + 0x60]
je 0x14017e765
add dword [r11 + 0x3c], r8d
mov r10, qword [r13 + 0x130]
test r10, r10
je 0x14017e77e
lea eax, [r8 + 0x7f]
test byte [r15 + 0x40], al
jne 0x14017e77e
mov rax, qword [r14 + 0x58]
lea edx, [rsi + 9]
mov r9, qword [r15]
mov r8, r12
mov rcx, qword [r13 + 0x128]
mov qword [rsp + 0x20], rax
call r10
jmp 0x140179b3d
mov eax, dword [r11 + 0x3c]
add dword [r13 + 0x78], eax
mov dword [r13 + 0x74], eax
mov dword [r11 + 0x3c], r10d
jmp case.0x140178ffd.85
mov rax, qword [r11 + 0x78]
lea r9, [rsp + 0x78]
movsxd rcx, dword [rdi + 4]
mov r8d, dword [rdi + 0x10]
mov dword [rsp + 0x78], r10d
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rdx, rax, 0x38
add rdx, r12
call fcn.140182414
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
cmp dword [rsp + 0x78], r10d
jmp 0x14017a4af
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x78]
add rdx, r12
mov rcx, qword [rax + rcx*8]
call fcn.1401828dc
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
movsxd rcx, dword [rdi + 0xc]
mov r11, qword [rsp + 0x30]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r10d
jmp 0x140179206
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
movsxd rdx, dword [rdi + 4]
mov rbx, rax
mov r12, qword [rsp + 0x30]
mov rcx, qword [r12 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rsi, qword [rdx + 0x38]
mov rcx, rsi
call fcn.1401311e0
mov edx, dword [rsi + 0x40]
cmp edx, dword [r13 + 0x7c]
ja 0x14017ecb1
mov r8, rbx
mov rcx, rsi
call fcn.140180a84
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017ef8b
cmp dword [rdi + 0xc], r10d
jne 0x14017e742
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14017e742
mov rcx, rbx
call fcn.140180c20
xor r10d, r10d
test eax, eax
jne 0x14017ef59
mov r11, r12
mov r12, qword [rsp + 0x68]
jmp 0x140179206
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
mov r11, qword [rsp + 0x30]
xor r10d, r10d
movsxd rdx, dword [rdi + 4]
mov r14, rax
mov rcx, qword [r11 + 0x78]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r10b
je 0x14017c5a7
lea r8d, [r10 + 1]
mov word [rax + 8], r8w
jmp 0x140179407
cmp byte [rbx + 3], r10b
je 0x14017c5b6
mov rax, qword [rbx + 0x58]
jmp 0x14017c664
mov r9d, 2
cmp byte [rbx], r9b
jne 0x14017c601
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0x30]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov r12, qword [rsp + 0x30]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x38], eax
mov esi, eax
call fcn.1401839e8
xor r10d, r10d
test esi, esi
jne 0x14017ef8b
mov rax, qword [rbp + 0x30]
mov r11, r12
mov r12, qword [rsp + 0x68]
jmp 0x14017c668
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x14017c62e
mov rcx, rbx
call fcn.140132414
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
mov r11, qword [rsp + 0x30]
lea r9d, [rax + 2]
jmp 0x14017c636
mov esi, r10d
mov dword [rsp + 0x38], r10d
cmp byte [rbx + 2], r10b
je 0x14017c64c
mov r8d, 1
mov word [r14 + 8], r8w
jmp 0x140179078
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.1401311e0
mov rax, qword [rbx + 0x30]
xor r10d, r10d
mov r11, qword [rsp + 0x30]
mov qword [rbp + 0x30], rax
mov qword [r14], rax
jmp 0x140179206
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 2], r8b
mov dword [rbx + 0x28], r10d
cmp byte [rbx], r10b
jne 0x14017e738
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.1400f3680
xor r10d, r10d
mov qword [rbx + 0x18], r10
lea r8d, [r10 + 1]
mov byte [rbx], r8b
jmp 0x140179402
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov dword [rsp + 0x78], r10d
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
cmp r14b, 0x81
jne 0x14017c6d5
or dword [rbx + 0x2c], 0xffffffff
cmp byte [rcx], r10b
je 0x14017e738
lea rdx, [rsp + 0x78]
call fcn.14014da7c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
mov byte [rbx + 3], r10b
mov eax, dword [rsp + 0x78]
mov byte [rbx + 2], al
mov dword [rbx + 0x28], r10d
test esi, esi
jne 0x140179d86
cmp dword [rdi + 8], r10d
jg 0x14017a4ad
mov r11, qword [rsp + 0x30]
mov rax, qword [rsp + 0x40]
jmp 0x14017e72a
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.140138540
xor r10d, r10d
mov esi, eax
test eax, eax
jne 0x14017c74b
mov rcx, rbx
mov r14d, r10d
call fcn.14013843c
mov esi, eax
xor r10d, r10d
jmp 0x14017c76d
mov eax, 0x10
cmp esi, eax
jne 0x14017c769
lea r8d, [rax - 0xf]
mov dword [rsp + 0x38], r10d
mov dword [rbp - 0x58], r8d
mov esi, r10d
jmp 0x14017903a
mov r14d, dword [rbp - 0x58]
mov dword [rbp - 0x58], r14d
test esi, esi
jne 0x140179d86
mov dword [rsp + 0x38], esi
test r14d, r14d
jne 0x140179034
mov rcx, rbx
call fcn.14014e8c8
xor r10d, r10d
test rax, rax
js 0x14017c7b7
mov rcx, rax
call fcn.140169424
movsx ecx, ax
cmp ecx, dword [rdi + 0xc]
jge 0x14017c7b7
lea r8d, [r14 + 1]
mov dword [rsp + 0x38], esi
mov dword [rbp - 0x58], r8d
jmp 0x14017903a
mov dword [rbp - 0x58], r14d
mov dword [rsp + 0x38], esi
jmp 0x140179e38
add dword [r11 + 0xdc], r8d
movsxd rcx, dword [rdi + 4]
mov r14d, r8d
mov rax, qword [r11 + 0x78]
mov r15, qword [rax + rcx*8]
mov rbx, qword [r15 + 0x38]
cmp byte [r15], r8b
jne 0x14017c84a
mov esi, r10d
mov dword [rsp + 0x38], r10d
cmp byte [rbx + 0x58], r10b
jne 0x14017c815
lea rdx, [rbx + 0x38]
cmp qword [rdx], r10
je 0x14017c892
lea rcx, [rbx + 0x60]
mov r14d, r10d
call fcn.140190768
mov esi, eax
mov dword [rsp + 0x38], eax
xor r10d, r10d
jmp 0x14017c892
mov rcx, rbx
call fcn.14018fdb4
mov edx, eax
mov rcx, rbx
call fcn.14018ff0c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017c892
mov rcx, rbx
call fcn.1401904f4
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r14d, r10d
mov esi, eax
jmp 0x14017c892
mov rcx, rbx
call fcn.140138540
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017c875
mov rcx, rbx
mov r14d, r10d
call fcn.14013843c
mov esi, eax
mov dword [rsp + 0x38], eax
xor r10d, r10d
jmp 0x14017c88a
mov eax, 0x10
cmp esi, eax
jne 0x14017c88a
lea r14d, [rax - 0xf]
mov dword [rsp + 0x38], r10d
mov esi, r10d
mov byte [r15 + 3], r10b
mov dword [r15 + 0x28], r10d
test esi, esi
jne 0x140179d86
mov byte [r15 + 2], r14b
test r14d, r14d
mov r15, qword [rsp + 0x48]
jmp 0x14017a4af
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
mov rdx, rbx
call fcn.1401826b4
jmp 0x14017c8da
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov edx, dword [rdi + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
call qword [rdi + 0x10]
mov dword [rsp + 0x38], eax
mov esi, eax
xor r10d, r10d
mov dword [rbx + 0x28], r10d
test eax, eax
jne 0x14017c909
mov rcx, qword [rsp + 0x30]
lea r8d, [rsi + 1]
mov byte [rbx + 2], r10b
movzx eax, word [rdi + 2]
add dword [rcx + rax*4 + 0xd4], r8d
jmp case.0x140178ffd.11
cmp esi, 0x65
jne 0x140179d86
mov r8d, 1
mov dword [rsp + 0x38], r10d
mov byte [rbx + 2], r8b
mov esi, r10d
mov r11, qword [rsp + 0x30]
jmp 0x14017e305
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, r12
test byte [rdi + 2], r8b
je 0x14017c94f
add dword [r11 + 0x3c], r8d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14017c96f
mov rcx, rbx
call fcn.1401808a0
xor r10d, r10d
mov esi, eax
test eax, eax
jne 0x140179d86
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [rdi + 2]
mov qword [rbp - 0x40], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp - 0x48], rax
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rdi + 0x10]
add rcx, r12
mov word [rbp - 0x28], ax
mov eax, 0x10
mov qword [rbp - 0x30], rcx
test al, r8b
je 0x14017c9ab
mov r9d, dword [r14 + 0x2c]
jmp 0x14017c9ae
mov r9d, r10d
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp - 0x48]
and r8d, 0xa
call fcn.14014d250
xor r10d, r10d
mov dword [r14 + 0x28], r10d
jmp 0x140179e2a
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r12
test word [rbx + 8], ax
je 0x14017ca02
mov rcx, rbx
call fcn.1401808a0
xor r10d, r10d
mov esi, eax
test eax, eax
jne 0x140179d86
mov rdx, rbx
mov rcx, r14
call fcn.140182990
jmp 0x140179e27
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x48]
mov rax, qword [r11 + 0x78]
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x40]
mov r14, qword [rbx + 0x38]
mov qword [rbp - 0x48], rax
movzx eax, word [rdi + 0xc]
mov word [rbp - 0x38], ax
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x28]
mov byte [rbp - 0x36], r10b
add rcx, r12
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x40], rcx
mov rcx, r14
call fcn.14014dbb0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
cmp dword [rbp + 0x28], r10d
jne 0x14017ca95
lea edx, [rax + 4]
mov rcx, r14
call fcn.14014cbfc
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
jmp 0x14017caa0
cmp word [rdi + 2], r10w
jne 0x14017eb85
and qword [rbx + 0x28], 0
jmp 0x140179e38
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x14017caea
mov rcx, rbx
call fcn.140132414
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
mov r11, qword [rsp + 0x30]
lea edx, [rax + 4]
lea r8d, [rax + 1]
lea r9d, [rax + 2]
jmp 0x14017caf2
mov esi, r10d
mov dword [rsp + 0x38], r10d
cmp byte [rbx + 2], r10b
jne 0x14017cb6c
mov rdx, qword [rbx + 0x38]
lea r8, [rbp - 0x70]
mov rcx, r13
mov qword [rbp - 0x70], r10
call fcn.14017fe54
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
cmp byte [rdi], 0x85
jne 0x14017cb56
movsxd rcx, dword [rdi + 0xc]
lea r8d, [rsi + 1]
mov r11, qword [rsp + 0x30]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x70]
mov word [rdx + 2], 0x100
mov qword [rdx + 0x58], rax
mov rax, qword [rdi + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x140179407
mov rcx, qword [rsp + 0x30]
mov rdx, rdi
call fcn.14013ade4
mov rcx, qword [rbp - 0x70]
jmp 0x14017b60b
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
jne 0x14017a39b
mov word [rcx + 8], r8w
jmp case.0x140178ffd.85
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], r10b
je case.0x140178ffd.85
call fcn.14017f830
jmp 0x140179e27
movsxd rcx, dword [rdi + 4]
lea r9, [rsp + 0x78]
mov rax, qword [r11 + 0x78]
lea r8, [rbp - 0x48]
cmp r14b, 0x28
mov dword [rsp + 0x78], r10d
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp - 0x48], rax
movzx eax, word [rdi + 0x10]
mov word [rbp - 0x38], ax
sbb al, al
mov byte [rbp - 0x36], al
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r12
mov qword [rbp - 0x40], rcx
mov rcx, r13
call fcn.14017fd98
mov r8d, 1
mov dword [rsp + 0x38], eax
mov esi, eax
mov eax, dword [rsp + 0x78]
test byte [rdi], r8b
jne 0x14017cc13
neg eax
jmp 0x14017cc15
inc eax
xor r10d, r10d
test esi, esi
jne 0x14017b6ac
test eax, eax
jg 0x14017903a
jmp 0x140179402
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
mov r8d, 1
mov r14, rax
mov word [rax + 8], r8w
mov ecx, dword [r13 + 0xd8]
add ecx, r8d
cmp dword [r13 + 0xcc], ecx
jg 0x14017eb8f
movsxd r12, dword [rdi + 0xc]
xor ecx, ecx
mov rax, qword [r13 + 0x20]
mov r15, r12
mov esi, dword [rdi + 4]
shl r15, 5
mov dword [rsp + 0x78], ecx
mov rbx, qword [rax + r15 + 8]
cmp byte [rbx + 0x11], cl
je 0x14017cc90
add dword [rbx + 0x14], r8d
cmp byte [rbx + 0x12], cl
jne 0x14017cc90
mov rcx, rbx
call fcn.140105408
lea r8, [rsp + 0x78]
mov edx, esi
mov rcx, rbx
call fcn.140104e58
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
cmp byte [rbx + 0x11], r10b
je 0x14017ccbf
sub dword [rbx + 0x14], 1
jne 0x14017ccbf
mov rcx, rbx
call fcn.14018c438
xor r10d, r10d
movsxd rdx, dword [rsp + 0x78]
mov eax, 4
mov word [r14 + 8], ax
mov qword [r14], rdx
test esi, esi
jne 0x140179d86
test edx, edx
je 0x14017c709
mov r8, qword [r13 + 0x20]
mov r9d, dword [rdi + 4]
mov rcx, qword [r8 + r15 + 0x18]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14017cd11
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x38], edx
jne 0x14017cd04
mov dword [rcx + 0x38], r9d
mov rax, qword [rax]
test rax, rax
jne 0x14017ccf7
mov rcx, qword [r8 + r15 + 0x18]
mov rax, qword [rcx + 0x28]
jmp 0x14017cd27
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x58], edx
jne 0x14017cd24
mov dword [rcx + 0x58], r9d
mov rax, qword [rax]
test rax, rax
jne 0x14017cd17
lea r8d, [rax + 1]
lea eax, [r8 + r12]
mov byte [rbp - 0x77], al
jmp 0x140179b52
mov eax, dword [rdi + 0xc]
mov rcx, qword [r13 + 0x20]
neg eax
mov edx, dword [rdi + 4]
lea rax, [rsp + 0x78]
sbb r8, r8
mov dword [rsp + 0x78], r10d
and r8, rax
movsxd rax, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14014c434
mov r11, qword [rsp + 0x30]
xor r10d, r10d
mov esi, eax
mov dword [rsp + 0x38], eax
cmp dword [rdi + 0xc], r10d
je 0x14017cd99
movsxd rdx, dword [rsp + 0x78]
add dword [r11 + 0x3c], edx
cmp dword [rdi + 0xc], r10d
jle 0x14017cd99
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r12], rdx
test esi, esi
jne 0x140179d86
jmp 0x140179206
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r8b
jne 0x14017cdc8
mov rdx, qword [rcx + 0x38]
mov rcx, r13
call fcn.140182764
jmp 0x1401791fe
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.14014c434
jmp 0x140179e27
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
movsxd rcx, dword [rdi + 4]
lea rdx, [rsp + 0x78]
mov r8d, dword [rdi + 0xc]
mov rbx, rax
shl rcx, 5
xor eax, eax
add rcx, qword [r13 + 0x20]
mov dword [rsp + 0x78], eax
mov rcx, qword [rcx + 8]
call fcn.14014cb0c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140179d86
mov eax, dword [rsp + 0x78]
mov qword [rbx], rax
jmp 0x140179e38
add byte [r13 + 0x6a], r8b
xor r9d, r9d
mov rdx, qword [rdi + 0x10]
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x20], r10
call fcn.1400f1a4c
dec byte [r13 + 0x6a]
jmp 0x140179e27
mov r9, qword [rdi + 0x10]
movsxd rbx, dword [rdi + 4]
test r9, r9
jne 0x14017cec0
mov rcx, qword [r13 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1401719f4
mov r8, qword [rsp + 0x30]
mov r9d, 1
and dword [r13 + 0x2c], 0xffffffef
add r8, 0xa8
mov edx, ebx
mov rcx, r13
call fcn.140166c1c
mov r11, qword [rsp + 0x30]
mov r8d, 1
or dword [r13 + 0x2c], r8d
mov esi, eax
mov r12, qword [rsp + 0x68]
mov dword [rsp + 0x38], eax
and dword [r11 + 0xc8], 0xfffffffc
xor r10d, r10d
jmp 0x14017cf95
mov r8, qword [r13 + 0x20]
lea rax, [r11 + 0xa8]
mov qword [rbp - 0x48], r13
mov rdx, rbx
mov dword [rbp - 0x38], ebx
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x30], r10d
shl rdx, 5
mov qword [rsp + 0x20], r9
lea r9, str.sqlite_master
mov rax, qword [rdx + r8 + 8]
mov rcx, qword [rax + 8]
mov eax, dword [rcx + 0x40]
mov rcx, r13
mov dword [rbp - 0x28], eax
mov r8, qword [rdx + r8]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.1401695e8
xor r14d, r14d
mov rbx, rax
test rax, rax
je 0x14017ebb4
lea eax, [r14 + 1]
mov dword [rbp - 0x34], r14d
lea r9, [rbp - 0x48]
mov byte [r13 + 0xb5], al
lea r8, [fcn.140166994]
mov dword [rbp - 0x2c], r14d
mov rdx, rbx
mov qword [rsp + 0x20], r14
mov rcx, r13
call fcn.1400f1a4c
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017cf77
mov esi, dword [rbp - 0x34]
mov dword [rsp + 0x38], esi
test esi, esi
jne 0x14017cf77
cmp dword [rbp - 0x2c], r14d
jne 0x14017cf77
mov ecx, 0x16553
call fcn.140150b10
mov esi, eax
mov dword [rsp + 0x38], eax
mov rdx, rbx
mov rcx, r13
call fcn.140152380
mov r11, qword [rsp + 0x30]
xor r10d, r10d
mov byte [r13 + 0xb5], r10b
lea r8d, [r10 + 1]
test esi, esi
jne 0x14017ebb9
jmp 0x140179407
mov edx, dword [rdi + 4]
mov rcx, r13
call fcn.14014a5f0
jmp 0x140179e27
movsxd rcx, dword [rdi + 4]
xor r8d, r8d
mov rdx, qword [rdi + 0x10]
shl rcx, 5
add rcx, qword [r13 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.140166260
xor r10d, r10d
test rax, rax
je 0x14017cff7
cmp qword [r13 + 0x2d8], r10
jne 0x14017cfe9
add dword [rax + 0x3c], 0xffffffff
jne 0x14017cff7
mov rdx, rax
mov rcx, r13
call fcn.14010b258
xor r10d, r10d
mov r8d, 1
or dword [r13 + 0x2c], r8d
jmp 0x140179402
movsxd rcx, dword [rdi + 4]
xor r8d, r8d
mov rax, qword [r13 + 0x20]
mov rdx, qword [rdi + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
call fcn.140166260
xor r10d, r10d
mov rdx, rax
test rax, rax
je 0x14017cff7
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x14017d055
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x14017d06a
lea r8, [rcx]
mov rcx, qword [rcx + 0x28]
cmp rcx, rdx
je 0x14017d05c
test rcx, rcx
jne 0x14017d049
jmp 0x14017d06a
cmp qword [r8 + 0x28], rdx
jne 0x14017d06a
mov rax, qword [rdx + 0x28]
mov qword [r8 + 0x28], rax
mov rcx, r13
call fcn.14015a398
jmp 0x14017cff4
movsxd rcx, dword [rdi + 4]
xor r8d, r8d
mov rax, qword [r13 + 0x20]
mov rdx, qword [rdi + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
call fcn.140166260
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x14017c709
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x14017d0e9
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.14010efec
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14017d0e9
add rcx, 0x68
mov rax, qword [rcx]
jmp 0x14017d0df
lea rdx, [rax + 0x40]
cmp rax, rbx
mov rax, qword [rdx]
je 0x14017d0e6
mov rcx, rdx
test rax, rax
jne 0x14017d0d0
jmp 0x14017d0e9
mov qword [rcx], rax
mov rdx, rbx
mov rcx, r13
call fcn.1401533e8
mov r11, qword [rsp + 0x30]
mov r8d, 1
or dword [r13 + 0x2c], r8d
jmp 0x14017c068
movsxd rax, dword [rdi + 0xc]
lea r9, [rbp]
mov rdx, qword [r13 + 0x20]
mov r8, qword [rdi + 0x10]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 4]
add r8, 4
imul rbx, rax, 0x38
mov ecx, dword [r14 + r12]
movzx eax, word [rdi + 2]
inc ecx
mov qword [rsp + 0x28], r9
add rbx, r12
mov r9d, dword [rdi + 8]
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, r13
mov rdx, qword [rax + rdx + 8]
call fcn.14014d66c
mov r15, rax
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14017d170
mov rcx, rbx
call fcn.14018e7f8
mov edx, 1
jmp 0x14017d179
mov edx, 1
mov word [rbx + 8], dx
mov eax, dword [rbp]
test eax, eax
je 0x14017d1b0
test r15, r15
je 0x14017ef59
dec eax
mov r9b, dl
movsxd rcx, eax
or r8d, 0xffffffff
sub qword [r14 + r12], rcx
lea rax, [fcn.1400f3680]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, r15
call fcn.140180e84
mov r9d, 2
test byte [rbx + 8], r9b
je 0x14017e2df
mov r14b, byte [rsp + 0x50]
cmp byte [rbx + 0xa], r14b
je 0x14017e2df
mov dl, r14b
mov rcx, rbx
call fcn.1401812f0
mov r11, qword [rsp + 0x30]
xor r10d, r10d
jmp 0x14017e2fa
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul r14, rax, 0x38
add rbx, r12
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14017d214
mov rcx, rbx
call fcn.140180dbc
test eax, eax
jne 0x14017ef59
mov rdx, qword [r14 + r12]
mov rcx, qword [rbx + 0x10]
call fcn.140170e4c
jmp 0x1401791fe
movsxd rax, dword [rdi + 4]
mov ecx, 0x10
imul r14, rax, 0x38
add r14, r12
movzx eax, word [r14 + 8]
test cl, al
je 0x14017d2d7
mov rbx, qword [r14 + 0x10]
movzx eax, word [rbx + 0x32]
test r9b, al
jne 0x14017d275
test r8b, al
jne 0x14017d26d
mov rcx, qword [rbx + 0x10]
call fcn.140143a40
xor r10d, r10d
mov qword [rbx + 0x10], rax
movzx eax, word [rbx + 0x32]
lea r8d, [r10 + 1]
or ax, 3
mov word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x14017d2d2
mov r14, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x14017d299
mov rcx, rbx
call fcn.140170dcc
xor r10d, r10d
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
je 0x14017d2bc
mov rdx, r14
call fcn.14018f8a0
jmp 0x14017b088
mov r11, qword [rsp + 0x30]
mov eax, 4
mov word [rcx + 8], ax
mov qword [rcx], r14
jmp 0x14017e2ff
movzx eax, word [r14 + 8]
mov ecx, 0x2400
test cx, ax
je 0x14017d2f1
mov rcx, r14
call fcn.14018e7f8
xor r10d, r10d
jmp 0x14017e2c4
mov word [r14 + 8], r8w
jmp case.0x140178ffd.11
movsxd rax, dword [rdi + 4]
mov r14d, dword [rdi + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r15, rax, 0x38
add rbx, r12
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14017d32c
mov rcx, rbx
call fcn.140180dbc
test eax, eax
jne 0x14017ef59
test r14d, r14d
je 0x14017d355
mov r8, qword [r15 + r12]
mov edx, r14d
mov rcx, qword [rbx + 0x10]
call fcn.140170ea0
xor r10d, r10d
test eax, eax
jne 0x14017e127
test r14d, r14d
js 0x14017c709
mov rdx, qword [r15 + r12]
mov rcx, qword [rbx + 0x10]
call fcn.140170e4c
jmp 0x140179b42
movsxd rax, dword [rdi + 0xc]
mov r13, qword [rdi + 0x10]
imul rbx, rax, 0x38
add rbx, r12
cmp word [rdi + 2], r10w
je 0x14017d39d
mov rcx, qword [r13 + 0x20]
mov rax, qword [r11 + 0x100]
jmp 0x14017d398
cmp qword [rax + 0x38], rcx
je 0x14017e8d2
mov rax, qword [rax + 8]
test rax, rax
jne 0x14017d38a
mov r8, qword [rsp + 0x60]
mov eax, dword [r11 + 0x110]
cmp eax, dword [r8 + 0xa4]
jge 0x14017ebdd
mov ecx, 0x10
test byte [rbx + 8], cl
jne 0x14017d4fa
mov edx, dword [r13 + 0x10]
mov ecx, dword [r13 + 0xc]
add ecx, edx
test edx, edx
lea r15d, [rcx + 1]
cmovne r15d, ecx
lea eax, [r15 + 2]
imul ecx, eax, 7
mov eax, dword [r13 + 8]
add ecx, edx
mov edx, 7
add eax, edx
jns 0x14017d3f0
add eax, edx
sar eax, 3
lea r12d, [rax + rcx*8]
mov rcx, r8
movsxd rdx, r12d
call fcn.140152514
xor r10d, r10d
mov r14, rax
test rax, rax
je 0x14017ef54
mov eax, 0x2400
test word [rbx + 8], ax
jne 0x14017d422
cmp dword [rbx + 0x20], r10d
je 0x14017d42d
mov rcx, rbx
call fcn.14018e7bc
xor r10d, r10d
mov r11, qword [rsp + 0x30]
mov eax, 0x410
sub rdi, qword [rsp + 0x48]
mov r8, qword [rsp + 0x60]
mov word [rbx + 8], ax
lea rax, [0x14017f880]
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x10], r14
mov dword [rbx + 0xc], r12d
mov qword [r14], r11
mov dword [r14 + 0x60], r15d
mov eax, dword [r13 + 0x10]
mov dword [r14 + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x54], edx
mov rax, qword [r11 + 0x68]
mov qword [r14 + 0x20], rax
mov eax, dword [r11 + 0x28]
mov dword [r14 + 0x5c], eax
mov rax, qword [r11 + 0x78]
mov qword [r14 + 0x28], rax
mov eax, dword [r11 + 0x2c]
mov dword [r14 + 0x50], eax
mov rax, qword [r11 + 0x88]
mov qword [r14 + 0x10], rax
mov eax, dword [r11 + 0x90]
mov dword [r14 + 0x58], eax
mov rax, qword [r13 + 0x20]
mov qword [r14 + 0x38], rax
movsxd rax, r15d
add rax, 2
imul rcx, rax, 0x38
lea rax, [r14 + 0x70]
add rcx, r14
cmp rax, rcx
je 0x14017d4f1
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r8
add rax, 0x38
cmp rax, rcx
jne 0x14017d4e0
mov eax, dword [r11 + 0x110]
jmp 0x14017d4fe
mov r14, qword [rbx + 0x10]
inc eax
lea r12, [r14 + 0x70]
mov dword [r11 + 0x110], eax
mov rax, qword [r11 + 0x100]
mov qword [r14 + 8], rax
mov rax, qword [r8 + 0x38]
mov r8d, 7
mov qword [r14 + 0x40], rax
mov eax, dword [r11 + 0x3c]
mov dword [r14 + 0x68], eax
mov rax, qword [r11]
mov qword [rsp + 0x68], r12
mov ecx, dword [rax + 0x74]
mov dword [r14 + 0x6c], ecx
mov rax, qword [r11 + 0x120]
mov qword [r14 + 0x48], rax
mov qword [r11 + 0x120], r10
mov dword [r11 + 0x3c], r10d
mov qword [r11 + 0x100], r14
mov qword [r11 + 0x68], r12
movsxd rcx, dword [r14 + 0x60]
mov dword [r11 + 0x28], ecx
movzx eax, word [r14 + 0x64]
mov dword [r11 + 0x2c], eax
imul rdx, rcx, 0x38
add rdx, r12
mov qword [r11 + 0x78], rdx
movsxd rax, dword [r13 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [r14 + 0x30], rcx
mov eax, dword [r13 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call sub.VCRUNTIME140.dll_memset
mov r15, qword [r13]
mov r11, qword [rsp + 0x30]
mov qword [rsp + 0x48], r15
lea rdi, [r15 - 0x18]
mov qword [r11 + 0x88], r15
mov eax, dword [r13 + 8]
mov r13, qword [rsp + 0x60]
mov dword [r11 + 0x90], eax
jmp 0x14017b08d
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
mov r12, qword [rsp + 0x30]
mov r9, qword [r12 + 0x100]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
add r8d, dword [rdi + 4]
movsxd rcx, r8d
mov r8d, 0x1000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.140181150
mov r11, r12
jmp 0x140179691
mov eax, dword [r13 + 0x30]
bt rax, 0x13
movsxd rax, dword [rdi + 8]
jae 0x14017d635
add qword [r13 + 0x2d0], rax
jmp case.0x140178ffd.85
lea rcx, [0x140000000]
cmp dword [rdi + 4], r10d
je 0x14017d64b
add qword [r13 + 0x2c8], rax
jmp 0x14017d64f
add qword [r11 + 0x50], rax
mov rax, qword [rsp + 0x40]
jmp case.default.0x140178ffd
cmp dword [rdi + 4], r10d
je 0x14017d678
cmp qword [r13 + 0x2c8], r10
jne case.0x140178ffd.85
cmp qword [r13 + 0x2d0], r10
jmp 0x14017a50f
cmp qword [r11 + 0x50], r10
jmp 0x14017d666
mov rcx, qword [r11 + 0x100]
test rcx, rcx
je 0x14017d6aa
mov rax, qword [rcx + 8]
jmp 0x14017d697
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14017d690
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, qword [rcx + 0x20]
jmp 0x14017d6b5
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r12
mov rcx, r14
call fcn.14017ff90
mov qword [r14], rax
mov eax, 0x3e40
and word [r14 + 8], ax
mov eax, 4
or word [r14 + 8], ax
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.14017ff90
mov r11, qword [rsp + 0x30]
mov edx, 4
mov ecx, 0x3e40
mov qword [rbx], rax
and word [rbx + 8], cx
xor r10d, r10d
or word [rbx + 8], dx
lea r8d, [rdx - 3]
lea r9d, [rdx - 2]
cmp qword [r14], rax
jge 0x14017e738
mov qword [r14], rax
jmp case.0x140178ffd.85
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r12]
test rdx, rdx
jle 0x140179078
movsxd rax, dword [rdi + 0xc]
sub rdx, rax
mov qword [rcx + r12], rdx
jmp 0x14017903a
movsxd rax, dword [rdi + 4]
mov rdx, rdi
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
mov rcx, r11
add rbx, r12
imul r14, rax, 0x38
call fcn.14013ade4
mov rcx, qword [rbx]
xor r11d, r11d
mov qword [rbp - 0x70], rcx
mov r10, rax
test rcx, rcx
jle 0x14017d796
mov rdx, qword [r14 + r12]
lea rcx, [rbp - 0x70]
test rdx, rdx
cmovle rdx, r11
call fcn.1401494e4
test eax, eax
jne 0x14017d796
mov rax, qword [rbp - 0x70]
mov qword [r10], rax
jmp 0x1401791fe
or qword [r10], 0xffffffffffffffff
jmp 0x1401791fe
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
test rax, rax
je case.0x140178ffd.85
jle 0x14017903a
dec rax
mov qword [rcx + r12], rax
jmp 0x14017903a
movsxd rax, dword [rdi + 4]
movabs rbx, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
cmp rax, rbx
jle 0x14017d7e8
dec rax
mov qword [rcx + r12], rax
test rax, rax
jmp 0x14017a50f
movzx ebx, word [rdi + 2]
mov rcx, r13
lea rdx, [rbx*8 + 0x68]
call fcn.140152438
xor r10d, r10d
mov r8, rax
test rax, rax
je 0x14017ef59
mov r12, qword [rsp + 0x30]
lea rcx, [rbx + 6]
lea rcx, [rax + rcx*8]
mov qword [rax + 0x10], r10
mov qword [rax], rcx
lea eax, [r10 + 1]
mov word [rcx + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [rcx + 0x28], r13
mov dword [rcx + 0x20], r10d
mov rcx, qword [rdi + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rdi
sub rcx, r15
mov qword [r8 + 0x18], r12
imul rcx
mov byte [r8 + 0x28], r10b
sar rdx, 2
mov rax, rdx
mov dword [r8 + 0x24], r10d
mov byte [r8 + 0x29], bl
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x20], edx
mov word [rdi], 0xf09b
mov qword [rdi + 0x10], r8
jmp 0x14017d884
mov r12, qword [rsp + 0x30]
movsxd rax, dword [rdi + 0xc]
xor r11d, r11d
mov rbx, qword [rdi + 0x10]
mov r14, qword [rsp + 0x68]
imul rdx, rax, 0x38
add rdx, r14
cmp qword [rbx + 0x10], rdx
je 0x14017d8ed
movzx eax, byte [rbx + 0x29]
mov r8d, eax
mov qword [rbx + 0x10], rdx
sub r8, 1
lea r10d, [rax - 1]
js 0x14017d8ed
lea r9, [r8 + 6]
lea r9, [rbx + r9*8]
lea r15d, [r11 + 1]
lea r13d, [r11 + 8]
mov eax, dword [rdi + 8]
add eax, r10d
sub r10d, r15d
cdqe
imul rcx, rax, 0x38
add rcx, r14
mov qword [r9], rcx
sub r9, r13
sub r8, r15
jns 0x14017d8c6
mov r13, qword [rsp + 0x60]
mov r15, qword [rsp + 0x48]
mov eax, 1
lea r8, [rbx + 0x30]
add dword [rdx + 0xc], eax
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [rdi + 4], r11d
je 0x14017d90f
call qword [rax + 0x30]
jmp 0x14017d912
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x14017c709
jle 0x14017d94a
mov rcx, qword [rbx]
lea edx, [r10 + 1]
call fcn.1401781fc
mov r8, rax
lea rdx, [0x1402201e8]
mov rcx, r12
call fcn.140178e60
mov esi, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x38], esi
cmp byte [rbx + 0x28], r10b
je 0x14017d990
cmp dword [rdi - 0x14], r10d
je 0x14017d98c
movsxd rax, dword [rdi - 0x14]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
je 0x14017d97b
mov edx, 1
call fcn.14018f8a0
xor r10d, r10d
jmp 0x14017d98c
mov eax, 1
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 8], ax
mov byte [rbx + 0x28], r10b
mov rax, qword [rbx]
mov ecx, 0x2400
test word [rax + 8], cx
jne 0x14017d9a4
cmp dword [rax + 0x20], r10d
je 0x14017d9b2
mov rcx, rax
call fcn.14018e7bc
mov rax, qword [rbx]
xor r10d, r10d
mov r8d, 1
mov word [rax + 8], r8w
mov dword [rbx + 0x24], r10d
test esi, esi
jne 0x14017eba7
mov r12, r14
jmp 0x140179402
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r12
cmp dword [rdi + 0xc], r10d
je 0x14017da46
movsxd rax, dword [rdi + 0xc]
lea rcx, [rbp - 0x48]
mov r14, qword [rdi + 0x10]
xor edx, edx
imul rsi, rax, 0x38
lea r8d, [rdx + 0x38]
add rsi, r12
call sub.VCRUNTIME140.dll_memset
mov eax, 0x2400
test word [rsi + 8], ax
je 0x14017da15
mov rcx, rsi
call fcn.14018e7f8
jmp 0x14017da1e
mov eax, 1
mov word [rsi + 8], ax
lea rcx, [rbp - 0x48]
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], r14
call qword [r14 + 0x28]
movsxd rax, dword [rdi + 0xc]
mov esi, dword [rbp - 0x24]
imul rbx, rax, 0x38
mov dword [rsp + 0x38], esi
add rbx, r12
jmp 0x14017da58
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.1401808fc
mov esi, eax
mov dword [rsp + 0x38], eax
xor r10d, r10d
test esi, esi
jne 0x14017ebfa
movzx eax, word [rbx + 8]
lea r9d, [r10 + 2]
test r9b, al
je 0x14017da91
mov r14b, byte [rsp + 0x50]
cmp byte [rbx + 0xa], r14b
je 0x14017da91
mov dl, r14b
mov rcx, rbx
call fcn.1401812f0
movzx eax, word [rbx + 8]
lea r9d, [rsi + 2]
xor r10d, r10d
test al, 0x12
je 0x14017e70b
bt ax, 0xe
mov ecx, dword [rbx + 0xc]
jae 0x14017daa5
add ecx, dword [rbx]
mov rax, qword [rbx + 0x28]
mov r11, qword [rsp + 0x30]
cmp ecx, dword [rax + 0x7c]
jg 0x14017ecc5
jmp 0x140179112
mov r8d, dword [rdi + 8]
lea rax, [rbp + 0xc0]
mov edx, dword [rdi + 4]
lea r9, [rbp + 0xbc]
or dword [rbp + 0xc0], 0xffffffff
mov rcx, r13
or dword [rbp + 0xbc], 0xffffffff
mov qword [rsp + 0x20], rax
mov dword [rbp + 0xb8], r10d
call fcn.14014f2a4
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
je 0x14017db21
lea eax, [r10 + 5]
cmp esi, eax
jne 0x140179d86
lea r8d, [r10 + 1]
mov dword [rsp + 0x38], r10d
mov dword [rbp + 0xb8], r8d
mov esi, r10d
jmp 0x14017db27
mov r8d, 1
movsxd rax, dword [rdi + 0xc]
mov r15d, 4
imul rbx, rax, 0x38
mov r14, r10
mov ecx, 0x2400
add rbx, r12
lea r13d, [r15 - 1]
movsxd rax, dword [rbp + r14*4 + 0xb8]
test word [rbx + 8], cx
je 0x14017db6a
mov rdx, rax
mov rcx, rbx
call fcn.14018f8a0
mov ecx, 0x2400
mov r8d, 1
jmp 0x14017db72
mov qword [rbx], rax
mov word [rbx + 8], r15w
add r14, r8
add rbx, 0x38
cmp r14, r13
jl 0x14017db44
mov r11, qword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
mov r15, qword [rsp + 0x48]
jmp 0x14017c068
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
mov rdx, qword [rsp + 0x60]
mov r13, rax
movsxd rcx, dword [rdi + 4]
shl rcx, 5
cmp dword [rdi + 0xc], 0xffffffff
mov rax, qword [rdx + 0x20]
mov r12, qword [rcx + rax + 8]
mov rax, qword [r12 + 8]
mov r14, qword [rax]
mov eax, 3
movzx r15d, byte [r14 + 9]
mov ebx, r15d
cmovne ebx, dword [rdi + 0xc]
xor r8d, r8d
cmp byte [r14 + 0x14], al
jae 0x14017dbeb
mov rax, qword [r14 + 0x50]
cmp qword [rax], r8
je 0x14017dbee
cmp qword [r14 + 0x60], r8
jle 0x14017dbee
mov ebx, r15d
lea rcx, [0x140217794]
cmp byte [r14 + 0x13], r8b
jne 0x14017dc02
mov rcx, qword [r14 + 0xd0]
mov r10d, 5
cmp ebx, r10d
jne 0x14017dc58
test rcx, rcx
je 0x14017dc43
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
and eax, 0x3fffffff
je 0x14017dc43
mov rax, qword [r14 + 0x48]
xor r8d, r8d
mov rcx, qword [rax]
cmp byte [r14 + 0x11], r8b
jne 0x14017dc43
lea r9d, [r8 + 2]
cmp byte [r14 + 8], r8b
jne 0x14017dc4b
cmp dword [rcx], r9d
jl 0x14017dc43
cmp qword [rcx + 0x68], r8
jne 0x14017dc4b
mov ebx, r15d
jmp 0x14017dcf0
mov rdx, qword [rsp + 0x60]
mov r10d, 5
jmp 0x14017dc5e
mov r9d, 2
cmp ebx, r15d
je 0x14017dcf0
cmp r15b, r10b
je 0x14017dc71
cmp ebx, r10d
jne 0x14017dcf0
cmp byte [rdx + 0x5f], r8b
je 0x14017ec27
mov eax, 1
cmp dword [rdx + 0xcc], eax
jg 0x14017ec27
cmp r15b, r10b
jne 0x14017dcb2
mov rcx, r14
call fcn.14016a578
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14017dcf4
mov edx, ebx
mov rcx, r14
call fcn.14016b2f8
xor r8d, r8d
jmp 0x14017dcce
mov eax, 4
cmp r15b, al
jne 0x14017dcca
mov edx, r9d
mov rcx, r14
call fcn.14016b2f8
xor r8d, r8d
test esi, esi
jne 0x14017dcf4
mov edx, r8d
mov eax, 5
cmp ebx, eax
mov rcx, r12
mov eax, 1
sete dl
add edx, eax
call fcn.14014eeb4
mov esi, eax
mov dword [rsp + 0x38], eax
test esi, esi
je 0x14017dcf7
mov ebx, r15d
mov edx, ebx
mov rcx, r14
call fcn.14016b2f8
mov edx, 0xa02
mov word [r13 + 8], dx
cmp eax, 6
jne 0x14017dd16
xor eax, eax
mov ecx, eax
jmp 0x14017dd29
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x219808]
xor eax, eax
mov qword [r13 + 0x10], rcx
test rcx, rcx
jne 0x14017dd37
movzx ecx, dx
jmp 0x14017dd46
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
movzx ecx, word [r13 + 8]
and eax, 0x3fffffff
mov r8d, 1
mov dword [r13 + 0xc], eax
mov byte [r13 + 0xa], r8b
lea r9d, [r8 + 1]
test r9b, cl
je 0x14017dd7c
mov r14b, byte [rsp + 0x50]
cmp r14b, r8b
je 0x14017dd7c
mov dl, r14b
mov rcx, r13
call fcn.1401812f0
mov r8d, 1
lea r9d, [r8 + 1]
mov r13, qword [rsp + 0x60]
xor r10d, r10d
test esi, esi
jne 0x140179d86
mov r11, qword [rsp + 0x30]
mov r12, qword [rsp + 0x68]
jmp 0x140179ed9
cmp dword [rdi + 8], r10d
je 0x14017ddae
movsxd rax, dword [rdi + 8]
imul r9, rax, 0x38
add r9, r12
jmp 0x14017ddb1
mov r9, r10
mov r8d, dword [rdi + 4]
lea rcx, [r11 + 0xa8]
mov rdx, r13
call fcn.140171438
jmp 0x140179e27
movsxd rcx, dword [rdi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14014d12c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
je 0x14017c709
cmp eax, 0x65
jne 0x140179d86
mov esi, r10d
mov dword [rsp + 0x38], r10d
jmp 0x140179034
cmp dword [rdi + 4], r10d
jne 0x14017de40
mov rax, qword [r13 + 8]
mov ecx, dword [rdi + 8]
test rax, rax
je case.0x140178ffd.85
inc ecx
mov ebx, 3
and ecx, ebx
and dword [rax + 0xc8], 0xfffffffc
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14017de25
jmp case.0x140178ffd.85
mov eax, dword [rdi + 8]
add eax, r8d
xor eax, dword [r11 + 0xc8]
and eax, 3
xor dword [r11 + 0xc8], eax
jmp case.0x140178ffd.85
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
or byte [rax + 1], 0x40
jmp case.0x140178ffd.85
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
and byte [rax + 1], 0xbf
jmp case.0x140178ffd.85
mov r8b, byte [rdi + 0xc]
test r8b, r8b
jne 0x14017dea6
mov eax, dword [r13 + 0x30]
bt rax, 0xa
jb 0x140179117
movsxd rax, dword [rdi + 4]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14014dae4
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
je 0x140179e38
mov r12, qword [rsp + 0x30]
cmp al, 6
jne 0x14017ef8b
mov r8, qword [rdi + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r12
call fcn.140178e60
jmp 0x14017ea0a
mov rbx, qword [rdi + 0x10]
mov rcx, r13
mov rdx, rbx
call fcn.140183160
mov r12, qword [rsp + 0x30]
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test rbx, rbx
je 0x14017df26
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.1401839e8
xor r10d, r10d
test esi, esi
jne 0x14017ef8b
mov r11, qword [rsp + 0x30]
jmp 0x14017c567
xor edx, edx
lea rcx, [rbp - 0x48]
lea r8d, [rdx + 0x38]
call sub.VCRUNTIME140.dll_memset
movsxd rax, dword [rdi + 8]
lea rcx, [rbp - 0x48]
imul rdx, rax, 0x38
mov qword [rbp - 0x20], r13
add rdx, r12
call fcn.14018081c
mov edx, 1
mov dword [rsp + 0x38], eax
lea rcx, [rbp - 0x48]
mov esi, eax
call fcn.1401781fc
mov r12, qword [rsp + 0x30]
xor r10d, r10d
test rax, rax
je 0x14017df9f
mov edx, dword [rdi + 4]
lea r9, [r12 + 0xa8]
mov r8, rax
mov rcx, r13
call fcn.140183364
mov esi, eax
mov dword [rsp + 0x38], eax
xor r10d, r10d
mov eax, 0x2400
test word [rbp - 0x40], ax
jne 0x14017dfb4
cmp dword [rbp - 0x28], r10d
je 0x14017df26
lea rcx, [rbp - 0x48]
call fcn.14018e7bc
jmp 0x14017df23
add dword [r13 + 0xd8], r8d
mov rcx, r13
mov r8, qword [rdi + 0x10]
mov edx, dword [rdi + 4]
call fcn.140183474
dec dword [r13 + 0xd8]
jmp 0x140179e27
mov rax, qword [rdi + 0x10]
mov qword [rbp - 0x60], r10
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14017eca7
mov r14, qword [rbx]
test r14, r14
je 0x14017eca7
lea rdx, [rbp - 0x60]
mov rcx, rbx
call qword [r14 + 0x30]
mov r12, qword [rsp + 0x30]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x38], eax
mov esi, eax
call fcn.1401839e8
xor r10d, r10d
test esi, esi
jne 0x14017ef8b
mov rax, qword [rbp - 0x60]
or r9d, 0xffffffff
xor r8d, r8d
mov rcx, r12
mov qword [rax], rbx
lea eax, [rsi + 2]
mov edx, dword [rdi + 4]
mov byte [rsp + 0x20], al
call fcn.140100b30
mov rcx, qword [rbp - 0x60]
xor r10d, r10d
test rax, rax
je 0x14017ec5e
lea r8d, [rsi + 1]
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r8d
mov r11, r12
mov r12, qword [rsp + 0x68]
jmp 0x140179407
mov r8, qword [rsp + 0x30]
movsxd rax, dword [rdi + 0xc]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r8 + 0x78]
mov r14, qword [r8 + 0x70]
add rdx, r12
mov r8, r10
mov r13, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov qword [rbp - 0x10], r13
movsxd r9, dword [r11]
mov edx, dword [rdx]
mov rbx, qword [r13 + 0x38]
mov r12, qword [rbx]
mov r15, qword [r12]
test r9d, r9d
jle 0x14017e0e0
mov r13d, 1
mov r10d, r13d
movsxd rax, r10d
add r10d, r13d
imul rcx, rax, 0x38
add rcx, r11
mov qword [r14 + r8*8], rcx
add r8, r13
cmp r8, r9
jl 0x14017e0c3
mov r13, qword [rbp - 0x10]
mov r8, qword [rdi + 0x10]
mov rcx, rbx
mov qword [rsp + 0x20], r14
call qword [r15 + 0x40]
mov rdx, r12
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov dword [rsp + 0x38], eax
mov esi, eax
call fcn.1401839e8
xor r10d, r10d
test esi, esi
jne 0x14017ef86
mov rcx, rbx
call qword [r15 + 0x50]
xor r10d, r10d
mov byte [r13 + 2], r10b
test eax, eax
je 0x14017e8ca
mov r15, qword [rsp + 0x48]
jmp 0x140179034
mov r15, qword [rsp + 0x48]
xor r10d, r10d
jmp 0x14017903a
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r12
cmp byte [r14 + 2], r10b
jne 0x14017a38d
mov rax, qword [r14 + 0x38]
lea rcx, [rbp - 0x48]
xor edx, edx
mov r15, qword [rax]
lea r8d, [rdx + 0x38]
mov rsi, qword [r15]
call sub.VCRUNTIME140.dll_memset
mov ecx, 1
mov qword [rbp - 0x48], rbx
test byte [rdi + 2], cl
je 0x14017e1a4
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14017e199
mov rcx, rbx
call fcn.14018e7f8
xor eax, eax
mov dword [rbx], eax
mov eax, 0x4001
jmp 0x14017e1b3
movzx eax, word [rbx + 8]
mov edx, 0x3e40
and ax, dx
or ax, cx
mov word [rbx + 8], ax
lea rdx, [rbp - 0x48]
mov r8d, dword [rdi + 8]
mov rcx, qword [r14 + 0x38]
call qword [rsi + 0x58]
mov r12, qword [rsp + 0x30]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x38], eax
mov esi, eax
call fcn.1401839e8
xor eax, eax
cmp dword [rbp - 0x24], eax
jle 0x14017e207
lea edx, [rax + 1]
mov rcx, rbx
call fcn.1401781fc
mov r8, rax
lea rdx, [0x1402201e8]
mov rcx, r12
call fcn.140178e60
mov esi, dword [rbp - 0x24]
mov dword [rsp + 0x38], esi
movzx eax, word [rbx + 8]
mov r9d, 2
test r9b, al
je 0x14017e236
mov r14b, byte [rsp + 0x50]
cmp byte [rbx + 0xa], r14b
je 0x14017e236
mov dl, r14b
mov rcx, rbx
call fcn.1401812f0
movzx eax, word [rbx + 8]
mov r9d, 2
test al, 0x12
je 0x14017e253
bt ax, 0xe
mov ecx, dword [rbx + 0xc]
jae 0x14017e246
add ecx, dword [rbx]
mov rax, qword [rbx + 0x28]
cmp ecx, dword [rax + 0x7c]
jg 0x14017ecb1
xor r10d, r10d
test esi, esi
jne 0x14017ef8b
mov r11, r12
jmp 0x14017c23c
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r14, qword [rax + rcx*8]
cmp byte [r14 + 2], r10b
jne case.0x140178ffd.85
mov rcx, qword [r14 + 0x38]
mov rbx, qword [rcx]
mov r15, qword [rbx]
call qword [r15 + 0x48]
mov r12, qword [rsp + 0x30]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x38], eax
mov esi, eax
call fcn.1401839e8
xor r10d, r10d
test esi, esi
jne 0x14017ef8b
mov rcx, qword [r14 + 0x38]
call qword [r15 + 0x50]
xor r10d, r10d
test eax, eax
jne 0x14017e2f2
mov r12, qword [rsp + 0x68]
mov r15, qword [rsp + 0x48]
mov r8d, 1
mov eax, dword [rdi + 8]
sub eax, r8d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
jmp 0x14017c924
mov r11, qword [rsp + 0x30]
xor r10d, r10d
mov r15, qword [rsp + 0x48]
lea r8d, [r10 + 1]
jmp 0x14017e30b
mov r11, r12
mov r12, qword [rsp + 0x68]
mov r15, qword [rsp + 0x48]
mov r8d, 1
mov r9d, 2
mov eax, dword [r13 + 0x170]
test eax, eax
jne 0x14017ef4a
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
cmp rax, rbx
jb 0x14017e71b
mov rdx, qword [r13 + 0x1e0]
test rdx, rdx
je 0x14017e725
mov eax, dword [r13 + 0x1f0]
mov rcx, qword [r13 + 0x1e8]
add rbx, rax
mov qword [rsp + 0x58], rbx
call rdx
xor r10d, r10d
test eax, eax
jne 0x14017ec67
mov rax, qword [rsp + 0x40]
cmp rax, rbx
jae 0x14017e32d
mov r11, qword [rsp + 0x30]
lea edx, [r10 + 4]
lea r8d, [r10 + 1]
jmp 0x14017a1f1
mov r14d, dword [r13 + 0x30]
mov eax, 0x4000000
or qword [r13 + 0x30], rax
and r14d, eax
mov rax, qword [rdi + 0x10]
mov r15, qword [rax + 0x10]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r12
test byte [rbx + 8], r9b
je 0x14017e3c3
cmp byte [rbx + 0xa], r8b
je 0x14017e3c3
mov dl, r8b
mov rcx, rbx
call fcn.1401812f0
xor r10d, r10d
mov esi, eax
test eax, eax
jne 0x140179d86
mov rax, qword [r15]
mov rcx, r15
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov dword [rsp + 0x38], eax
mov esi, eax
test r14d, r14d
jne 0x14017e3e4
btr qword [r13 + 0x30], 0x1a
mov rcx, qword [rsp + 0x30]
mov rdx, r15
call fcn.1401839e8
mov r11, qword [rsp + 0x30]
xor r10d, r10d
and dword [r11 + 0xc8], 0xfffffffc
test esi, esi
je 0x140179811
mov r12, r11
jmp 0x14017ef8b
cmp byte [r13 + 0x61], r10b
jne 0x14017ef59
mov rax, qword [rdi + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14017eca7
mov r10, qword [rbx]
xor r9d, r9d
test r10, r10
je 0x14017eca7
movsxd rdx, dword [rdi + 8]
cmp qword [r10 + 0x68], r9
je 0x14017c068
movsxd rax, dword [rdi + 0xc]
mov r14b, byte [r13 + 0x66]
mov r8, qword [r11 + 0x70]
imul rcx, rax, 0x38
mov eax, r9d
add rcx, r12
test edx, edx
jle 0x14017e477
lea r11d, [r9 + 1]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r11
cmp rax, rdx
jl 0x14017e467
mov al, byte [rdi + 2]
lea r9, [rbp + 0x40]
mov rcx, rbx
mov byte [r13 + 0x66], al
call qword [r10 + 0x68]
mov r12, qword [rsp + 0x30]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x38], eax
mov esi, eax
mov byte [r13 + 0x66], r14b
call fcn.1401839e8
xor r10d, r10d
test esi, esi
jne 0x14017e4d3
cmp dword [rdi + 4], r10d
je 0x14017e4b8
mov rax, qword [rbp + 0x40]
mov qword [r13 + 0x38], rax
mov r8d, 1
mov r11, r12
add dword [r12 + 0x3c], r8d
test esi, esi
jne 0x14017eba7
jmp 0x14017e070
cmp sil, 0x13
jne 0x14017e4b8
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x14017e4b8
mov edx, 4
cmp word [rdi + 2], dx
jne 0x14017ec85
mov r11, r12
mov dword [rsp + 0x38], r10d
mov r12, qword [rsp + 0x68]
mov esi, r10d
jmp 0x1401791d8
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
mov rcx, qword [r13 + 0x20]
movsxd rdx, dword [rdi + 4]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x40]
mov qword [rax], rdx
jmp 0x1401791fe
mov rdx, rdi
mov rcx, r11
call fcn.14013ade4
movsxd rdx, dword [rdi + 4]
xor r10d, r10d
mov rcx, qword [r13 + 0x20]
mov r15, rax
shl rdx, 5
mov r14d, r10d
mov rbx, qword [rdx + rcx + 8]
mov edx, dword [rdi + 0xc]
test edx, edx
je 0x14017e56d
mov rcx, qword [rbx + 8]
mov r14d, dword [rcx + 0x40]
cmp r14d, edx
cmovb r14d, edx
cmp byte [rbx + 0x11], r10b
je 0x14017e58c
mov eax, 1
add dword [rbx + 0x14], eax
cmp byte [rbx + 0x12], r10b
jne 0x14017e58c
mov rcx, rbx
call fcn.140105408
xor r10d, r10d
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test r14d, r14d
je 0x14017e5a1
mov dword [rcx + 0xc0], r14d
jmp 0x14017e5a8
mov r14d, dword [rcx + 0xc0]
cmp byte [rbx + 0x11], r10b
je 0x14017e5bf
sub dword [rbx + 0x14], 1
jne 0x14017e5bf
mov rcx, rbx
call fcn.14018c438
xor r10d, r10d
mov r11, qword [rsp + 0x30]
mov eax, r14d
mov qword [r15], rax
jmp 0x140179816
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
imul r14, rax, 0x38
add r14, r12
cmp qword [rbx], r14
je 0x14017e639
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx + 0x18], r11
sub rdx, 1
mov qword [rbx], r14
lea r9d, [rax - 1]
js 0x14017e639
mov r13d, 1
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
lea r15d, [r13 + 7]
mov eax, dword [rdi + 8]
add eax, r9d
sub r9d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, r12
mov qword [r8], rcx
sub r8, r15
sub rdx, r13
jns 0x14017e60c
mov r13, qword [rsp + 0x60]
mov r8d, 1
mov r15, qword [rsp + 0x48]
mov eax, 0x3e40
mov rcx, rbx
and word [r14 + 8], ax
or word [r14 + 8], r8w
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x14017e6c3
jle 0x14017e692
lea edx, [r10 + 1]
mov rcx, r14
call fcn.1401781fc
mov r12, qword [rsp + 0x30]
lea rdx, [0x1402201e8]
mov rcx, r12
mov r8, rax
call fcn.140178e60
mov esi, dword [rbx + 0x24]
mov dword [rsp + 0x38], esi
jmp 0x14017e697
mov r12, qword [rsp + 0x30]
mov r9d, dword [rdi + 4]
lea rdx, [r12 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, r13
call fcn.1401789cc
xor r10d, r10d
mov dword [rbx + 0x24], r10d
test esi, esi
jne 0x14017ef8b
mov r12, qword [rsp + 0x68]
test byte [r14 + 8], 0x12
mov r9d, 2
je 0x14017e70b
test byte [r14 + 8], r9b
je 0x14017e6f1
mov al, byte [rsp + 0x50]
cmp byte [r14 + 0xa], al
je 0x14017e6f1
mov dl, al
mov rcx, r14
call fcn.1401812f0
xor r10d, r10d
lea r9d, [r10 + 2]
mov rcx, r14
call fcn.1401812c8
mov r11, qword [rsp + 0x30]
test eax, eax
jne 0x14017ecc5
jmp 0x140179112
mov r11, qword [rsp + 0x30]
mov r8d, 1
mov rax, qword [rsp + 0x40]
mov edx, 4
jmp 0x14017bbe7
mov r11, qword [rsp + 0x30]
mov r8d, 1
mov r9d, 2
jmp 0x14017e71b
mov rax, qword [rsp + 0x40]
jmp 0x14017bbe7
mov r11, r12
jmp 0x14017c70e
mov r13, qword [rsp + 0x60]
jmp 0x14017e70b
mov r11, qword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
jmp 0x14017c70e
mov r11, qword [rsp + 0x30]
mov rax, qword [rsp + 0x40]
jmp 0x14017e730
mov r9d, 2
jmp 0x14017bbe7
mov rax, qword [rsp + 0x40]
jmp 0x14017e71b
mov rax, qword [rsp + 0x40]
xor r10d, r10d
jmp 0x14017e730
mov al, byte [r13 + 0x68]
test al, 0x41
je 0x14017e86f
cmp byte [r11 + 0xc5], r10b
jne 0x14017e86f
mov r9, qword [rdi + 0x10]
test r9, r9
jne 0x14017e7ba
mov r9, qword [r11 + 0xf0]
test r9, r9
je 0x14017e869
test al, 0x40
je 0x14017e7e7
mov rdx, r9
mov rcx, r11
call fcn.14017f3c4
mov rcx, qword [r13 + 0xf0]
mov rdx, rax
mov rbx, rax
call qword [r13 + 0xe8]
mov rcx, rbx
call fcn.1400f3680
jmp 0x14017e857
cmp dword [r13 + 0xd4], r8d
jle 0x14017e841
mov r8, r9
lea rdx, str.____s
mov rcx, r13
call fcn.1401695e8
mov r8, qword [rsp + 0x30]
mov r9, rax
mov rdx, qword [r13 + 0xf0]
mov ecx, 1
mov rbx, rax
call qword [r13 + 0xe8]
xor r10d, r10d
test rbx, rbx
je 0x14017e83a
mov rdx, rbx
mov rcx, r13
call fcn.140152380
mov r12, qword [rsp + 0x68]
jmp 0x14017e857
mov r12, qword [rsp + 0x68]
jmp 0x14017e85a
mov rdx, qword [r13 + 0xf0]
mov r8, r11
mov ecx, 1
call qword [r13 + 0xe8]
xor r10d, r10d
mov r11, qword [rsp + 0x30]
mov r8d, 1
lea edx, [r8 + 3]
mov r9d, 2
mov eax, dword [rdi + 4]
cmp eax, dword [0x14024c394]
jl 0x14017e8b9
cmp byte [rdi], 0xaa
je case.0x140178ffd.85
mov edx, r8d
cmp dword [r11 + 0x90], r8d
jle 0x14017e8b6
mov eax, 0x18
mov rcx, qword [r11 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x14017e8a6
mov dword [rax + rcx + 4], r10d
add edx, r8d
add rax, 0x18
cmp edx, dword [r11 + 0x90]
jl 0x14017e894
mov eax, r10d
inc eax
mov dword [rdi + 4], eax
add dword [r11 + 0xec], r8d
jmp 0x14017903a
mov r11, r12
jmp 0x14017980c
mov r13, qword [rsp + 0x60]
jmp case.0x140178ffd.85
mov dword [r11 + 0x38], ecx
mov al, byte [rdi + 8]
mov byte [r11 + 0xc2], al
mov dword [r11 + 0x34], ebx
test ecx, ecx
je 0x14017e98c
mov rcx, r11
cmp word [rdi + 2], r10w
je 0x14017e94d
movzx r8d, word [rdi + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x219c40]
call fcn.140178e60
mov r9, qword [rdi + 0x10]
mov rsi, qword [rsp + 0x30]
test r9, r9
je 0x14017e962
mov r8, qword [rsi + 0xa8]
lea rdx, str._z:__s
mov rcx, r13
call fcn.1401695e8
mov qword [rsi + 0xa8], rax
jmp 0x14017e962
mov r8, qword [rdi + 0x10]
lea rdx, [0x1402201e8]
call fcn.140178e60
mov rsi, qword [rsp + 0x30]
mov rax, qword [rsi + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [rsi + 0xf0]
mov r8d, ebx
mov ecx, dword [rdi + 4]
mov qword [rsp + 0x20], rax
call fcn.1400fd364
mov r11, qword [rsp + 0x30]
mov rcx, r11
call fcn.14017fa78
mov r12, qword [rsp + 0x30]
mov esi, eax
mov rbx, qword [rsp + 0x48]
mov eax, 5
mov r14, qword [rsp + 0x58]
lea r15d, [rax - 4]
cmp esi, eax
jne 0x14017e9b9
mov dword [r12 + 0x38], eax
jmp 0x14017e9c8
mov eax, dword [r12 + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
xor r10d, r10d
jmp 0x14017f083
mov ecx, 0x1587b
call fcn.140150b10
mov r12, qword [rsp + 0x30]
mov esi, eax
mov r13, qword [rsp + 0x60]
xor r10d, r10d
mov rbx, r15
jmp 0x14017ef90
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r11
call fcn.140178e60
mov esi, 5
mov r12, qword [rsp + 0x30]
xor r10d, r10d
jmp 0x14017ef8b
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r11
call fcn.140178e60
mov r13, qword [rsp + 0x60]
jmp 0x14017ea00
mov rbx, qword [rsp + 0x48]
mov rcx, rdi
mov r13, qword [rsp + 0x60]
sub rcx, rbx
mov r14, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rcx, rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x34], edx
xor r10d, r10d
mov byte [r13 + 0x5f], r10b
mov esi, r8d
mov dword [rcx + 0x38], r8d
mov r12, rcx
mov r15d, 1
jmp 0x14017f083
mov r8, r15
lea rdx, str.no_such_savepoint:__s
mov rcx, r11
call fcn.140178e60
mov r15d, 1
mov esi, r15d
mov r12, qword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x48]
xor r10d, r10d
jmp 0x14017ef96
mov esi, 8
jmp 0x140179d86
mov rbx, qword [rsp + 0x48]
mov eax, 5
mov r14, qword [rsp + 0x58]
cmp sil, al
jne 0x14017ec75
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r15
imul rcx
mov rcx, qword [rsp + 0x30]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rcx + 0x38], esi
mov dword [rcx + 0x34], edx
jmp 0x14017ea6c
mov rdx, qword [r11 + 0xa8]
test rdx, rdx
je 0x14017eb13
mov rcx, r13
call fcn.140152380
lea rdx, str.database_schema_has_changed
mov rcx, r13
call fcn.140152630
mov rsi, qword [rsp + 0x30]
mov qword [rsi + 0xa8], rax
movsxd rdx, dword [rdi + 4]
mov rax, qword [r13 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], r14d
je 0x14017eb4f
mov rcx, r13
call fcn.140170724
and dword [rsi + 0xc8], 0xfffffffd
mov r15d, 1
or dword [rsi + 0xc8], r15d
lea esi, [r15 + 0x10]
mov r12, qword [rsp + 0x30]
jmp 0x14017ea9f
mov esi, 0x204
jmp 0x140179d86
mov esi, 0xd
jmp 0x14017ea05
mov esi, 0x30b
jmp 0x140179d86
mov r12, qword [rsp + 0x30]
mov esi, 6
xor r10d, r10d
lea eax, [rsi - 4]
mov byte [r12 + 0xc2], al
mov rbx, qword [rsp + 0x48]
mov r15, r8
jmp 0x14017ef96
mov esi, 7
mov rcx, r13
call fcn.140170698
mov r14, qword [rsp + 0x58]
mov r10d, 7
cmp esi, r10d
je 0x14017ef5e
xor r10d, r10d
jmp 0x14017ec70
mov r15d, 1
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r11
mov esi, r15d
call fcn.140178e60
jmp 0x14017ea95
mov r15d, 1
mov rcx, rbx
mov dl, r15b
call fcn.1401781fc
mov r12, qword [rsp + 0x30]
lea rdx, [0x1402201e8]
mov rcx, r12
mov r8, rax
call fcn.140178e60
jmp 0x14017ea9f
mov r12, qword [rsp + 0x30]
lea rax, str.into
cmp ebx, r10d
lea r8, str.out_of
mov r15d, 1
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r8, rax
mov rcx, r12
mov esi, r15d
call fcn.140178e60
jmp 0x14017ea9a
call qword [r14 + 0x38]
jmp 0x14017ef59
or r14, 0xffffffffffffffff
mov esi, 9
mov rbx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x30]
mov r15d, 1
jmp 0x14017ef9b
movzx eax, byte [rdi + 2]
mov ecx, 5
cmp word [rdi + 2], cx
mov ecx, 2
cmove eax, ecx
mov byte [r12 + 0xc2], al
jmp 0x14017ef8b
mov esi, 6
jmp 0x140179d86
mov r11, r12
jmp 0x14017ecc5
mov r11, qword [rsp + 0x30]
mov r13, r9
jmp 0x14017ecc5
mov r11, qword [rsp + 0x30]
lea rdx, str.string_or_blob_too_big
mov rcx, r11
call fcn.140178e60
mov esi, 0x12
jmp 0x14017ea05
cmp qword [r11 + 0x50], r10
jle 0x14017ed10
mov dword [r11 + 0x38], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov byte [r11 + 0xc2], r9b
mov rcx, r11
call fcn.140178e60
mov r15d, 1
mov esi, r15d
jmp 0x14017eb67
mov rax, qword [r11]
cmp dword [rax + 0x2c4], r10d
je 0x14017ed3d
cmp dword [r11 + 0x40], r10d
je 0x14017ed3d
mov edx, r8d
mov rcx, r11
call fcn.14018da7c
mov r11, qword [rsp + 0x30]
xor r10d, r10d
lea r8d, [r10 + 1]
lea r9d, [r10 + 2]
mov eax, dword [r11 + 0x30]
mov esi, r10d
add eax, r9d
or eax, r8d
mov dword [r11 + 0x30], eax
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r12
mov qword [r11 + 0xa0], r14
cmp dword [rdi + 8], r10d
jle 0x14017edcb
lea rbx, [r14 + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x14017ed93
movsxd rax, esi
imul rcx, rax, 0x38
add rcx, r14
call fcn.140180c20
test eax, eax
jne 0x14017ef59
lea r8d, [rax + 1]
lea r9d, [rax + 2]
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
cmp ax, r9w
jne 0x14017edb7
lea rcx, [rbx - 8]
call fcn.14018e75c
mov r8d, 1
lea r9d, [r8 + 1]
add esi, r8d
add rbx, 0x38
cmp esi, dword [rdi + 8]
jl 0x14017ed6a
mov r11, qword [rsp + 0x30]
xor r10d, r10d
cmp byte [r13 + 0x61], r10b
jne 0x14017ef59
mov eax, 4
test byte [r13 + 0x68], al
je 0x14017edf9
mov rdx, qword [r13 + 0xf0]
xor r9d, r9d
mov r8, r11
mov ecx, eax
call qword [r13 + 0xe8]
xor r10d, r10d
mov r12, qword [rsp + 0x30]
mov rcx, rdi
mov rbx, qword [rsp + 0x48]
sub rcx, r15
mov r14, qword [rsp + 0x58]
mov r15d, 1
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
lea esi, [r15 + 0x63]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r15d
mov dword [r12 + 0x34], edx
jmp 0x14017f083
movzx eax, byte [r13 + 0x5f]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
cmp ebx, eax
je 0x14017ef24
test ecx, ecx
je 0x14017ee6b
mov edx, 0x204
mov rcx, r13
call fcn.140170c8c
mov eax, 1
jmp 0x14017ee9e
test ebx, ebx
je 0x14017ee84
cmp dword [r13 + 0xd0], r10d
jle 0x14017ee84
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x14017e9f8
mov edx, r8d
mov rcx, r11
call fcn.140178784
xor r10d, r10d
mov esi, eax
test eax, eax
jne 0x14017f06e
mov al, bl
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
mov byte [r13 + 0x5f], al
call fcn.14017fa78
mov r8d, 5
cmp eax, r8d
jne 0x14017ef07
mov r12, qword [rsp + 0x30]
mov rcx, rdi
mov r14, qword [rsp + 0x58]
sub rcx, r15
movabs rax, 0x2aaaaaaaaaaaaaab
lea r15d, [r8 - 4]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r15d
sub al, bl
mov dword [rsi + 0x34], edx
mov rbx, qword [rsp + 0x48]
mov esi, r8d
mov byte [r13 + 0x5f], al
mov dword [r12 + 0x38], r8d
jmp 0x14017e9c8
mov rcx, r13
call fcn.14014f5d8
mov eax, dword [rsi + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
xor r10d, r10d
jmp 0x14017f06e
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
jmp 0x14017ecfa
mov r14, qword [rsp + 0x58]
jmp 0x14017ec6b
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
mov rcx, r13
call fcn.140169d44
mov rcx, qword [rsp + 0x30]
lea rdx, str.out_of_memory
call fcn.140178e60
mov esi, 7
jmp 0x14017ebd5
mov r12, qword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x48]
mov r15d, 1
mov r14, qword [rsp + 0x58]
cmp byte [r13 + 0x61], r10b
mov eax, 7
cmovne esi, eax
cmp qword [r12 + 0xa8], r10
jne 0x14017efd9
cmp esi, 0xc0a
je 0x14017efd9
mov ecx, esi
call fcn.1401542d0
mov rcx, qword [rsp + 0x30]
lea rdx, [0x1402201e8]
mov r8, rax
call fcn.140178e60
mov r12, qword [rsp + 0x30]
mov edx, esi
mov dword [r12 + 0x38], esi
mov rcx, r13
call fcn.140174d34
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rbx
imul rcx
mov rcx, qword [rsp + 0x30]
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
mov rax, qword [rcx + 0xa8]
add r8, rdx
mov r9, qword [rcx + 0xf0]
lea rdx, str.statement_aborts_at__d:___s___s
mov ecx, esi
mov qword [rsp + 0x20], rax
call fcn.1400fd364
mov rcx, qword [rsp + 0x30]
call fcn.14017fa78
cmp esi, 0xc0a
jne 0x14017f049
mov rcx, r13
call fcn.140169d44
movzx eax, byte [rbp - 0x77]
xor r10d, r10d
mov esi, r15d
test al, al
je 0x14017f07e
mov edx, eax
mov rcx, r13
sub edx, r15d
call fcn.140170724
xor r10d, r10d
jmp 0x14017f07e
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
mov r15d, 1
mov rbx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x30]
mov rax, qword [rsp + 0x40]
cmp rax, r14
jb 0x14017f0c0
mov rdx, qword [r13 + 0x1e0]
test rdx, rdx
je 0x14017f0c0
mov eax, dword [r13 + 0x1f0]
mov rcx, qword [r13 + 0x1e8]
add r14, rax
call rdx
xor r10d, r10d
test eax, eax
je 0x14017f083
or r14, 0xffffffffffffffff
lea esi, [r10 + 9]
jmp 0x14017ef9b
mov rcx, qword [rsp + 0x30]
add dword [rcx + 0xe4], eax
cmp dword [rcx + 0xd0], r10d
je 0x14017f0d9
call fcn.14018e6e0
mov eax, esi
mov rcx, qword [rbp + 0xc8]
xor rcx, rsp
call fcn.14019eac0
lea r11, [rsp + 0x1f0]
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