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

Disassembly:
mov r11, rsp
push rbp
push r13
lea rbp, [r11 - 0x308]
sub rsp, 0x3f8
mov rax, qword [0x1402e68f8]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
mov rax, qword [rcx + 0x88]
mov r13, rcx
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov rsi, qword [rcx]
mov qword [r11 - 0x18], r12
mov r12, qword [rcx + 0x68]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x38], rax
xor al, al
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
xor r15d, r15d
mov byte [rsp + 0x70], al
mov r14d, r15d
movzx eax, byte [rsi + 0x5e]
mov byte [rsp + 0x48], al
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x40], rsi
mov dword [rbp - 0x80], r15d
mov qword [rbp - 0x20], r15
mov qword [rsp + 0x60], r12
call fcn.1401e4670
cmp qword [rsi + 0x1e0], r15
je 0x1401e4809
mov ecx, dword [rsi + 0x1f0]
xor edx, edx
mov eax, dword [r13 + 0xe4]
div ecx
sub ecx, edx
mov ebx, ecx
jmp 0x1401e4810
mov rbx, 0xffffffffffffffff
cmp dword [r13 + 0x38], 7
mov r10d, 1
mov qword [rsp + 0x428], rdi
movaps xmmword [rsp + 0x3d0], xmm6
mov qword [rsp + 0x50], rbx
je 0x1401ec4ab
xor r11d, r11d
mov dword [r13 + 0x38], r11d
mov qword [r13 + 0x48], r11
mov qword [r13 + 0xa0], r11
mov dword [rsi + 0x268], r11d
mov eax, dword [rsi + 0x170]
test eax, eax
jne 0x1401eca4e
movsxd rax, dword [r13 + 0x34]
lea rdx, [0x140000000]
mov rbx, qword [rsp + 0x58]
mov r9d, 0x2400
mov r8d, 0x1000
xorps xmm6, xmm6
lea rcx, [rax + rax*2]
mov eax, dword [rbp - 0x28]
lea r15, [rbx + rcx*8]
mov dword [rbp - 0x60], eax
movzx edi, byte [r15]
inc r14
mov qword [rsp + 0x38], r15
mov qword [rbp - 0x20], r14
cmp edi, 0xab
ja case.0x1401e48b0.85
mov ecx, dword [rdx + rdi*4 + 0x1ecadc]
add rcx, rdx
jmp rcx
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
sub rcx, rbx
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r12 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r12], rax
mov r15, qword [rsp + 0x38]
jmp 0x1401e83af
movsxd rax, dword [r15 + 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 r15, [rbx + rcx*8]
jmp 0x1401e973a
movsxd rax, dword [r15 + 4]
imul rcx, rax, 0x38
mov eax, dword [r15 + 0xc]
dec eax
cdqe
mov qword [rcx + r12], rax
mov eax, 4
mov word [rcx + r12 + 8], ax
cmp dword [r15 + 8], 0
jne 0x1401e83af
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
movsxd rax, dword [r15 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r12]
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rcx*8 + 8]
dec eax
cdqe
jmp 0x1401e4904
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 4]
sub rdi, rbx
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r12 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r12]
imul rdi
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r15, [rbx + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r12], rax
mov r8d, 0x1000
jmp 0x1401e973a
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], 1
je case.0x1401e48b0.85
mov rcx, r15
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rbx
imul rcx
mov rbx, rdx
mov rdx, qword [rsp + 0x38]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
mov ecx, dword [rdx + 4]
add rbx, rax
test ecx, ecx
jne 0x1401ec160
mov rdx, qword [r13 + 0x100]
test rdx, rdx
je 0x1401ec15b
mov rax, qword [rdx + 8]
mov rcx, rdx
mov qword [r13 + 0x100], rax
dec dword [r13 + 0x110]
mov eax, dword [r13 + 0x3c]
mov dword [rsi + 0x74], eax
add dword [rsi + 0x78], eax
call fcn.1401ed830
mov r15, qword [rsp + 0x38]
mov rbx, qword [r13 + 0x88]
mov qword [rsp + 0x58], rbx
cmp dword [r15 + 8], 4
jne 0x1401e4a65
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rcx*8 + 8]
dec eax
mov r12, qword [r13 + 0x68]
xor r11d, r11d
cdqe
mov r9d, 0x2400
mov qword [rsp + 0x60], r12
mov r8d, 0x1000
lea rcx, [rax + rax*2]
lea r15, [rbx + rcx*8]
jmp 0x1401e9734
movsxd rax, dword [r15 + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x1401e4ada
call fcn.140199ce0
mov rcx, rax
lea rdx, [0x140000000]
movsxd rax, dword [r15 + 4]
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
mov qword [rcx], rax
lea r10d, [r11 + 1]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov eax, 4
mov word [rcx + 8], ax
movsxd rax, dword [r15 + 4]
mov qword [rcx], rax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
movsxd rax, dword [r15 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401e4b3c
mov rcx, rdx
call fcn.140199ce0
mov rdx, rax
xor r11d, r11d
mov rax, qword [r15 + 0x10]
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x1401e973a
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [r15 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x1401e973a
movsxd rax, dword [r15 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401e4b85
mov rcx, rdx
call fcn.140199ce0
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
mov eax, 8
mov word [rdx + 8], ax
mov rax, qword [r15 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x1401e973a
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
imul rsi, rax, 0x38
add rsi, qword [r13 + 0x68]
test word [rsi + 8], r9w
je 0x1401e4bcf
mov rcx, rsi
call fcn.140199ce0
xor r11d, r11d
mov rsi, rax
mov r9d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401e4bd8
mov eax, 4
mov word [rsi + 8], ax
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x1401e4be6
mov eax, r11d
jmp 0x1401e4bfe
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x1401e4bf0
and eax, 0x3fffffff
mov r15, qword [rsp + 0x38]
movzx r14d, byte [rsp + 0x48]
mov dword [r15 + 4], eax
cmp r14b, 1
je 0x1401e4d1e
test rdi, rdi
jne 0x1401e4c41
test word [rsi + 8], r9w
je 0x1401e4c2d
mov rcx, rsi
call fcn.1402034d0
jmp 0x1401e4c32
mov word [rsi + 8], r10w
test byte [rsi + 8], 2
je 0x1401e4ccb
xor r15d, r15d
jmp 0x1401e4cb1
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x1401e4c50
mov r14d, dword [rax + 0x7c]
jmp 0x1401e4c56
mov r14d, 0x3b9aca00
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1401e4c60
btr ebx, 0x1f
test word [rsi + 8], r9w
jne 0x1401e4c7a
cmp dword [rsi + 0x20], 0
je 0x1401e4c82
mov rcx, rsi
call fcn.140203480
mov qword [rsi + 0x10], rdi
xor r15d, r15d
mov qword [rsi + 0x30], r15
mov eax, 0xa02
mov dword [rsi + 0xc], ebx
mov word [rsi + 8], ax
mov byte [rsi + 0xa], 1
cmp ebx, r14d
jg 0x1401ec604
movzx r14d, byte [rsp + 0x48]
mov rbx, qword [rsp + 0x58]
cmp byte [rsi + 0xa], r14b
je 0x1401e4ccb
movzx edx, r14b
mov rcx, rsi
call fcn.1401efce0
test eax, eax
jne 0x1401ec89e
xor r11d, r11d
mov eax, 0x800
mov dword [rsi + 0x20], r11d
or word [rsi + 8], ax
mov rax, qword [rsp + 0x38]
cmp byte [rax + 1], 0xf9
jne 0x1401e4d01
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1401e4d01
mov rcx, qword [rsp + 0x40]
call fcn.1401b5d40
mov rax, qword [rsp + 0x38]
xor r11d, r11d
mov r15, qword [rsp + 0x38]
mov byte [rax + 1], 0xf9
mov rax, qword [rsi + 0x10]
mov dword [rsp + 0x30], r11d
mov qword [r15 + 0x10], rax
mov eax, dword [rsi + 0xc]
mov dword [r15 + 4], eax
mov rsi, qword [rsp + 0x40]
cmp eax, dword [rsi + 0x7c]
jg 0x1401eabe1
mov byte [r15], 0x47
mov r9d, 0x2400
jmp 0x1401e4d3e
movzx r14d, byte [rsp + 0x48]
movsxd rax, dword [r15 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401e4d62
mov rcx, rdx
call fcn.140199ce0
mov rdx, rax
mov r9d, 0x2400
mov eax, 0xa02
mov word [rdx + 8], ax
mov rax, qword [r15 + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [r15 + 4]
mov dword [rdx + 0xc], eax
mov byte [rdx + 0xa], r14b
movsxd rax, dword [r15 + 0xc]
test eax, eax
jle 0x1401ebfd8
imul rcx, rax, 0x38
movzx eax, word [r15 + 2]
xor r11d, r11d
cmp qword [rcx + r12], rax
jne 0x1401ebf89
mov eax, 0xa10
mov r8d, 0x1000
mov word [rdx + 8], ax
jmp 0x1401e9734
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x1401e4de3
call fcn.140199ce0
xor r11d, r11d
mov rcx, rax
mov r9d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401e4dec
mov eax, 4
mov word [rcx + 8], ax
mov edi, dword [rsi + 0xc]
lea rbx, [rcx + 8]
mov eax, dword [rsi + 8]
mov edx, 0x101
mov r15, qword [rsp + 0x38]
mov esi, r10d
cmp dword [r15 + 4], 0
cmovne si, dx
sub edi, eax
mov word [rbx], si
mov dword [rcx + 0xc], r11d
test edi, edi
jle 0x1401ebfab
nop dword [rax]
test word [rbx + 0x38], r9w
lea rbx, [rbx + 0x38]
je 0x1401e4e3d
lea rcx, [rbx - 8]
call fcn.1402034d0
xor r11d, r11d
mov r9d, 0x2400
dec edi
mov word [rbx], si
mov dword [rbx + 4], r11d
test edi, edi
jg 0x1401e4e20
mov rsi, qword [rsp + 0x40]
jmp 0x1401e9729
movsxd rax, dword [r15 + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r12
and word [rcx + 8], ax
or word [rcx + 8], 1
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 8]
imul r14, rax, 0x38
add r14, qword [r13 + 0x68]
test word [r14 + 8], r9w
je 0x1401e4eb1
mov rcx, r14
call fcn.140199ce0
xor r11d, r11d
mov r14, rax
mov r9d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401e4ebb
mov eax, 4
mov word [r14 + 8], ax
mov r15, qword [rsp + 0x38]
mov rsi, qword [rsi + 0x10]
mov ebx, dword [r15 + 4]
test rsi, rsi
jne 0x1401e4eeb
test word [r14 + 8], r9w
je 0x1401e4ee1
mov rcx, r14
call fcn.1402034d0
jmp 0x1401e4f64
mov word [r14 + 8], r10w
jmp 0x1401e4f6a
mov rax, qword [r14 + 0x28]
test rax, rax
je 0x1401e4ef9
mov ecx, dword [rax + 0x7c]
jmp 0x1401e4efe
mov ecx, 0x3b9aca00
mov edi, 0x10
test ebx, ebx
jns 0x1401e4f33
movsxd rdx, ecx
mov ebx, r11d
test ecx, ecx
js 0x1401e4f2e
mov rcx, rsi
movzx eax, byte [rcx + 1]
or al, byte [rcx]
je 0x1401e4f2e
add rcx, 2
add ebx, 2
mov rax, rcx
sub rax, rsi
cmp rax, rdx
jle 0x1401e4f14
mov edi, 0x210
test word [r14 + 8], r9w
jne 0x1401e4f41
cmp dword [r14 + 0x20], 0
je 0x1401e4f49
mov rcx, r14
call fcn.140203480
xor eax, eax
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x30], rax
mov eax, 0x800
or di, ax
mov dword [r14 + 0xc], ebx
mov word [r14 + 8], di
mov r10d, 1
movzx eax, byte [rsp + 0x48]
xor r11d, r11d
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov rbx, qword [rsp + 0x58]
mov r8d, 0x1000
mov byte [r14 + 0xa], al
jmp 0x1401e973a
movsxd rax, dword [r15 + 4]
mov rsi, qword [r13 + 0x80]
imul rdi, rax, 0x38
movzx eax, word [rdi + rsi - 0x30]
test al, 0x12
je 0x1401e4fc6
bt ax, 0xe
mov ecx, dword [rdi + rsi - 0x2c]
jae 0x1401e4fb8
add ecx, dword [rdi + rsi - 0x38]
mov rax, qword [rdi + rsi - 0x10]
cmp ecx, dword [rax + 0x7c]
jg 0x1401ec5e2
movsxd rax, dword [r15 + 8]
imul rbx, rax, 0x38
add rbx, r12
test word [rbx + 8], r9w
je 0x1401e4ffa
mov rcx, rbx
call fcn.1402034d0
xor r11d, r11d
lea rdx, [0x140000000]
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
movups xmm0, xmmword [rdi + rsi - 0x38]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + rsi - 0x28]
mov rsi, qword [rsp + 0x40]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r12
add rbx, r12
nop
test word [rbx + 8], r9w
jne 0x1401e506d
cmp dword [rbx + 0x20], 0
je 0x1401e5082
mov rcx, rbx
call fcn.140203480
xor r11d, r11d
mov r8d, 0x1000
lea r10d, [r11 + 1]
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 8], r10w
mov dword [rdi + 0x20], r11d
movzx eax, word [rbx + 8]
test r8w, ax
je 0x1401e513d
test al, 0x12
je 0x1401e5127
bt ax, 0xe
jae 0x1401e5107
mov edx, dword [rbx]
add edx, dword [rbx + 0xc]
test edx, edx
jg 0x1401e50d4
test al, 0x10
je 0x1401e5107
mov edx, r10d
mov r8d, r10d
mov rcx, rbx
call fcn.1401ef350
test eax, eax
jne 0x1401ec86c
movsxd rcx, dword [rbx + 0xc]
xor edx, edx
add rcx, qword [rbx + 0x10]
movsxd r8, dword [rbx]
call sub.VCRUNTIME140.dll_memset
mov eax, dword [rbx]
add dword [rbx + 0xc], eax
mov eax, 0xbdff
and word [rbx + 8], ax
cmp dword [rbx + 0x20], 0
je 0x1401e5117
mov rax, qword [rbx + 0x18]
cmp qword [rbx + 0x10], rax
je 0x1401e5127
mov rcx, rbx
call fcn.140203420
test eax, eax
jne 0x1401ec86c
mov eax, 0xefff
mov r8d, 0x1000
and word [rbx + 8], ax
xor r11d, r11d
lea r10d, [r11 + 1]
add rdi, 0x38
add rbx, 0x38
mov r9d, 0x2400
sub esi, 1
jne 0x1401e5060
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
jmp 0x1401e973a
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r12
add rbx, r12
test word [rbx + 8], r9w
je 0x1401e51a6
mov rdx, rdi
mov rcx, rbx
call fcn.140201fa0
mov r10d, 1
mov r8d, 0x1000
jmp 0x1401e51cf
movups xmm0, xmmword [rdi]
mov eax, 0x800
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [rbx + 0x10], xmm1
test word [rdi + 8], ax
jne 0x1401e51cf
mov eax, 0xf3ff
and word [rbx + 8], ax
or word [rbx + 8], r8w
movzx eax, word [rbx + 8]
test r8w, ax
je 0x1401e5256
test al, 0x12
je 0x1401e5247
bt ax, 0xe
jae 0x1401e5227
mov edx, dword [rbx]
add edx, dword [rbx + 0xc]
test edx, edx
jg 0x1401e51f4
test al, 0x10
je 0x1401e5227
mov edx, r10d
mov r8d, r10d
mov rcx, rbx
call fcn.1401ef350
test eax, eax
jne 0x1401ec86c
movsxd rcx, dword [rbx + 0xc]
xor edx, edx
add rcx, qword [rbx + 0x10]
movsxd r8, dword [rbx]
call sub.VCRUNTIME140.dll_memset
mov eax, dword [rbx]
add dword [rbx + 0xc], eax
mov eax, 0xbdff
and word [rbx + 8], ax
cmp dword [rbx + 0x20], 0
je 0x1401e5237
mov rax, qword [rbx + 0x18]
cmp qword [rbx + 0x10], rax
je 0x1401e5247
mov rcx, rbx
call fcn.140203420
test eax, eax
jne 0x1401ec86c
mov eax, 0xefff
mov r8d, 0x1000
and word [rbx + 8], ax
mov eax, esi
mov r9d, 0x2400
dec esi
test eax, eax
je 0x1401ebfce
add rbx, 0x38
mov r10d, 1
add rdi, 0x38
jmp 0x1401e5186
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r12
add rcx, r12
test word [rcx + 8], r9w
je 0x1401e52bb
call fcn.140201fa0
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x1401e9734
movups xmm0, xmmword [rdx]
mov r15, qword [rsp + 0x38]
mov eax, 0x800
movups xmmword [rcx], xmm0
movsd xmm1, qword [rdx + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rdx + 8], ax
jne 0x1401ebf89
mov eax, 0xf3ff
and word [rcx + 8], ax
or word [rcx + 8], r8w
jmp 0x1401e973a
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r12
mov rax, qword [rcx + r12]
test word [r8 + 8], r9w
je 0x1401e5322
mov rdx, rax
mov rcx, r8
call fcn.140204590
jmp 0x1401e52a2
mov r15, qword [rsp + 0x38]
mov qword [r8], rax
mov eax, 4
mov word [r8 + 8], ax
mov r8d, 0x1000
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul r15, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rdi, r12
imul r14, rax, 0x38
movzx esi, word [rdi + 8]
add r15, r12
movzx eax, sil
add r14, r12
or al, byte [r15 + 8]
test al, 1
je 0x1401e53bc
test word [r14 + 8], r9w
je 0x1401e539b
mov rcx, r14
call fcn.1402034d0
mov rsi, qword [rsp + 0x40]
jmp 0x1401e52a2
mov word [r14 + 8], r10w
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
test sil, 0x12
jne 0x1401e53f2
movzx r12d, byte [rsp + 0x48]
xor r8d, r8d
movzx edx, r12b
mov rcx, rdi
call fcn.1401efbb0
test eax, eax
jne 0x1401ec86c
movzx esi, word [rdi + 8]
mov eax, 0xfffd
and si, ax
mov edx, 0x4000
jmp 0x1401e5458
mov edx, 0x4000
test dx, si
je 0x1401e5452
mov edx, dword [rdi + 0xc]
add edx, dword [rdi]
test edx, edx
jg 0x1401e540e
test sil, 0x10
je 0x1401e5445
mov edx, r10d
mov r8d, r10d
mov rcx, rdi
call fcn.1401ef350
test eax, eax
jne 0x1401ec86c
movsxd rcx, dword [rdi + 0xc]
xor edx, edx
add rcx, qword [rdi + 0x10]
movsxd r8, dword [rdi]
call sub.VCRUNTIME140.dll_memset
mov eax, dword [rdi]
add dword [rdi + 0xc], eax
mov eax, 0xbdff
and word [rdi + 8], ax
movzx esi, word [rdi + 8]
mov eax, 0xfffd
mov edx, 0x4000
and si, ax
movzx r12d, byte [rsp + 0x48]
movzx ebx, word [r15 + 8]
test bl, 0x12
jne 0x1401e5473
xor r8d, r8d
movzx edx, r12b
mov rcx, r15
call fcn.1401efbb0
jmp 0x1401e5480
test dx, bx
je 0x1401e5495
mov rcx, r15
call fcn.1401ef0d0
test eax, eax
jne 0x1401ec86c
movzx ebx, word [r15 + 8]
mov eax, 0xfffd
and bx, ax
mov r9, qword [rsp + 0x40]
mov r13d, dword [r15 + 0xc]
add r13d, dword [rdi + 0xc]
movsxd r12, r13d
movsxd rax, dword [r9 + 0x7c]
cmp r12, rax
jg 0x1401ec5ec
xor eax, eax
lea edx, [r13 + 3]
mov r8d, eax
cmp r14, r15
mov rcx, r14
sete r8b
call fcn.1401ef350
test eax, eax
jne 0x1401ec880
mov eax, 0x3e40
and word [r14 + 8], ax
or word [r14 + 8], 2
cmp r14, r15
je 0x1401e54fd
movsxd r8, dword [r15 + 0xc]
mov rdx, qword [r15 + 0x10]
mov rcx, qword [r14 + 0x10]
call sub.VCRUNTIME140.dll_memcpy
mov word [r15 + 8], bx
movsxd rcx, dword [r15 + 0xc]
add rcx, qword [r14 + 0x10]
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
call sub.VCRUNTIME140.dll_memcpy
mov word [rdi + 8], si
mov rax, qword [r14 + 0x10]
mov byte [r12 + rax], 0
mov rax, qword [r14 + 0x10]
mov byte [r12 + rax + 1], 0
mov rax, qword [r14 + 0x10]
mov byte [r12 + rax + 2], 0
mov eax, 0x200
or word [r14 + 8], ax
movzx eax, byte [rsp + 0x48]
mov dword [r14 + 0xc], r13d
mov byte [r14 + 0xa], al
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x60]
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, r12
movzx ebx, word [rdi + 8]
test bl, 0x2c
jne 0x1401e5598
test bl, 0x12
je 0x1401e5595
mov rcx, rdi
call fcn.1401834c0
movzx ebx, ax
xor r11d, r11d
jmp 0x1401e5598
mov ebx, r11d
movsxd rax, dword [rsi + 8]
imul rsi, rax, 0x38
add rsi, r12
movzx edx, word [rsi + 8]
movzx r8d, dx
and r8w, 0x2c
jne 0x1401e55cc
test dl, 0x12
je 0x1401e55c9
mov rcx, rsi
call fcn.1401834c0
movzx edx, word [rsi + 8]
movzx r8d, ax
jmp 0x1401e55cc
mov r8d, r11d
mov r15, qword [rsp + 0x38]
and r8b, bl
movzx r10d, word [rdi + 8]
or dx, r10w
movsxd rax, dword [r15 + 0xc]
imul r14, rax, 0x38
add r14, r12
test r8b, 4
je 0x1401e57ae
movzx ecx, byte [r15]
mov r9, qword [rdi]
mov r8, qword [rsi]
sub ecx, 0x69
je 0x1401e5749
sub ecx, 1
je 0x1401e570c
sub ecx, 1
je 0x1401e5671
cmp ecx, 1
je 0x1401e563f
test r9, r9
je 0x1401e5952
cmp r9, 0xffffffffffffffff
mov rax, r8
mov r13d, 1
cqo
cmove r9, r13
idiv r9
mov r8, rdx
jmp 0x1401e5785
test r9, r9
je 0x1401e5952
cmp r9, 0xffffffffffffffff
jne 0x1401e5661
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x1401e57b7
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x1401e5785
test r9, r9
jle 0x1401e56a7
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x1401e57b7
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jge 0x1401e5706
jmp 0x1401e57b7
jns 0x1401e5706
test r8, r8
jle 0x1401e56c7
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x1401e5706
jmp 0x1401e57b7
jns 0x1401e5706
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x1401e57b7
cmp r8, rax
je 0x1401e57b7
movabs rax, 0x8000000000000001
cqo
idiv r9
mov rcx, rax
mov rax, r8
neg rax
cmp rax, rcx
jg 0x1401e57b7
imul r8, r9
jmp 0x1401e5785
movabs rax, 0x8000000000000000
cmp r9, rax
jne 0x1401e5729
test r8, r8
jns 0x1401e57b7
sub r8, rax
jmp 0x1401e5785
neg r9
jns 0x1401e574e
test r8, r8
jns 0x1401e5782
movabs rcx, 0x8000000000000001
lea rax, [r9 + 1]
sub rcx, r8
cmp rcx, rax
jmp 0x1401e5780
test r9, r9
js 0x1401e5767
test r8, r8
jle 0x1401e5782
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x1401e5782
jmp 0x1401e57b7
test r8, r8
jns 0x1401e5782
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jg 0x1401e57b7
add r8, r9
mov rsi, qword [rsp + 0x40]
mov ecx, 0x3e40
mov qword [r14], r8
mov r9d, 0x2400
movzx eax, word [r14 + 8]
and ax, cx
or ax, 4
mov word [r14 + 8], ax
jmp 0x1401e9726
test dl, 1
jne 0x1401e5952
test r10b, 8
je 0x1401e57c3
movsd xmm2, qword [rdi]
jmp 0x1401e57e9
test r10b, 0x24
je 0x1401e57d3
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rdi]
jmp 0x1401e57e9
test r10b, 0x12
je 0x1401e57e6
mov rcx, rdi
call fcn.1401964c0
movaps xmm2, xmm0
jmp 0x1401e57e9
movaps xmm2, xmm6
movzx eax, word [rsi + 8]
test al, 8
je 0x1401e57f7
movsd xmm0, qword [rsi]
jmp 0x1401e5816
test al, 0x24
je 0x1401e5805
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
jmp 0x1401e5816
test al, 0x12
je 0x1401e5813
mov rcx, rsi
call fcn.1401964c0
jmp 0x1401e5816
movaps xmm0, xmm6
movzx ecx, byte [r15]
sub ecx, 0x69
je 0x1401e58f3
sub ecx, 1
je 0x1401e58ed
sub ecx, 1
je 0x1401e58e7
cmp ecx, 1
je 0x1401e58d9
movzx eax, word [rdi + 8]
test al, 0x24
je 0x1401e584d
mov rbx, qword [rdi]
xor ecx, ecx
jmp 0x1401e587f
test al, 8
je 0x1401e5861
movsd xmm0, qword [rdi]
call fcn.140186c30
mov rbx, rax
xor ecx, ecx
jmp 0x1401e587f
test al, 0x12
je 0x1401e587b
cmp qword [rdi + 0x10], 0
je 0x1401e587b
mov rcx, rdi
call fcn.140196490
mov rbx, rax
xor ecx, ecx
jmp 0x1401e587f
xor ecx, ecx
mov ebx, ecx
movzx eax, word [rsi + 8]
test al, 0x24
je 0x1401e588c
mov rax, qword [rsi]
jmp 0x1401e58b3
test al, 8
je 0x1401e589b
movsd xmm0, qword [rsi]
call fcn.140186c30
jmp 0x1401e58b3
test al, 0x12
je 0x1401e58b0
cmp qword [rsi + 0x10], 0
je 0x1401e58b0
mov rcx, rsi
call fcn.140196490
jmp 0x1401e58b3
mov rax, rcx
test rbx, rbx
je 0x1401e5952
cmp rbx, 0xffffffffffffffff
mov r13d, 1
cqo
xorps xmm0, xmm0
cmove rbx, r13
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x1401e58f7
ucomisd xmm2, xmm6
jp 0x1401e58e1
je 0x1401e5952
divsd xmm0, xmm2
jmp 0x1401e58f7
mulsd xmm0, xmm2
jmp 0x1401e58f7
subsd xmm0, xmm2
jmp 0x1401e58f7
addsd xmm0, xmm2
movabs rcx, 0xfffffffffffff
movsd qword [rbp - 0x78], xmm0
mov rax, qword [rbp - 0x78]
movabs rdx, 0x7ff0000000000000
test rcx, rax
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
jne 0x1401e5952
mov rsi, qword [rsp + 0x40]
mov ecx, 0x3e40
movsd qword [r14], xmm0
movzx eax, word [r14 + 8]
and ax, cx
or ax, 8
mov word [r14 + 8], ax
mov r9d, 0x2400
jmp 0x1401e9726
mov r9d, 0x2400
test word [r14 + 8], r9w
je 0x1401e5977
mov rcx, r14
call fcn.1402034d0
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
jmp 0x1401e9726
mov rsi, qword [rsp + 0x40]
mov r10d, 1
mov rbx, qword [rsp + 0x58]
xor r11d, r11d
mov word [r14 + 8], r10w
mov r8d, 0x1000
jmp 0x1401e973a
movsxd rax, dword [r15 + 4]
test eax, eax
je case.0x1401e48b0.85
imul rcx, rax, 0x38
add rcx, r12
test word [rcx + 8], r9w
je 0x1401e59cf
xor edx, edx
call fcn.140204590
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x1401e9734
mov eax, 4
mov qword [rcx], r11
mov word [rcx + 8], ax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rdi, r12
imul rsi, rax, 0x38
movzx edx, word [rdi + 8]
add rcx, r12
add rsi, r12
movzx r8d, word [rcx + 8]
movzx eax, r8b
or al, dl
test al, 1
je 0x1401e5a59
test word [rsi + 8], r9w
je 0x1401e5a3f
mov rcx, rsi
call fcn.1402034d0
mov rsi, qword [rsp + 0x40]
jmp 0x1401e52a2
mov r15, qword [rsp + 0x38]
mov r8d, 0x1000
mov word [rsi + 8], r10w
mov rsi, qword [rsp + 0x40]
jmp 0x1401e973a
mov eax, r8d
test r8b, 0x24
je 0x1401e5a67
mov rbx, qword [rcx]
jmp 0x1401e5a98
test al, 8
je 0x1401e5a79
movsd xmm0, qword [rcx]
call fcn.140186c30
mov rbx, rax
jmp 0x1401e5a98
test al, 0x12
je 0x1401e5a95
cmp qword [rcx + 0x10], 0
je 0x1401e5a95
call fcn.140196490
movzx edx, word [rdi + 8]
mov rbx, rax
xor r11d, r11d
jmp 0x1401e5a98
mov rbx, r11
movzx eax, dx
test al, 0x24
je 0x1401e5aa4
mov rcx, qword [rdi]
jmp 0x1401e5ad1
test al, 8
je 0x1401e5ab6
movsd xmm0, qword [rdi]
call fcn.140186c30
mov rcx, rax
jmp 0x1401e5ad1
test al, 0x12
je 0x1401e5ace
cmp qword [rdi + 0x10], 0
je 0x1401e5ace
mov rcx, rdi
call fcn.140196490
mov rcx, rax
jmp 0x1401e5ad1
mov rcx, r11
mov r15, qword [rsp + 0x38]
movzx edx, byte [r15]
cmp dl, 0x65
jne 0x1401e5ae4
and rbx, rcx
jmp 0x1401e5b59
cmp dl, 0x66
jne 0x1401e5aee
or rbx, rcx
jmp 0x1401e5b59
test rcx, rcx
je 0x1401e5b59
jns 0x1401e5b08
mov eax, 0xcf
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x1401e5b0e
neg rcx
cmp rcx, 0x40
jl 0x1401e5b27
test rbx, rbx
jns 0x1401e5b21
cmp dl, 0x67
je 0x1401e5b21
mov rbx, 0xffffffffffffffff
jmp 0x1401e5b59
xor eax, eax
mov ebx, eax
jmp 0x1401e5b59
cmp dl, 0x67
jne 0x1401e5b34
shl rbx, cl
mov r8, rbx
jmp 0x1401e5b56
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1401e5b56
mov eax, 0x40
mov rdx, 0xffffffffffffffff
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov qword [rsi], rbx
mov eax, 0x3e40
and word [rsi + 8], ax
mov r9d, 0x2400
or word [rsi + 8], 4
mov rsi, qword [rsp + 0x40]
jmp 0x1401e9726
movsxd rax, dword [r15 + 4]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.1401ef4e0
movsxd rax, dword [r15 + 8]
mov r9d, 0x2400
add qword [rbx], rax
jmp 0x1401e9726
movsxd rax, dword [r15 + 4]
imul rbx, rax, 0x38
add rbx, r12
movzx eax, word [rbx + 8]
test al, 4
jne 0x1401e5c30
test al, 8
jne 0x1401e5bda
test al, 2
je 0x1401e5be9
mov edx, r10d
mov rcx, rbx
call fcn.140179ed0
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x1401e5be2
mov rcx, rbx
call fcn.1401ee2b0
lea rdx, [0x140000000]
movzx eax, word [rbx + 8]
test al, 4
jne 0x1401e5c30
cmp dword [r15 + 8], 0
jne 0x1401e83aa
mov r10d, 0x14
mov dword [rsp + 0x30], r10d
mov edi, 1
xor r15d, r15d
lea r14, [0x140233074]
mov rbx, qword [rsp + 0x50]
cmp byte [rsi + 0x61], 0
je 0x1401ec8bb
mov r10d, 7
jmp 0x1401ec8ed
mov ecx, 0x3e40
and ax, cx
or ax, 4
mov word [rbx + 8], ax
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
movsxd rax, dword [r15 + 4]
imul rcx, rax, 0x38
add rcx, r12
movzx eax, word [rcx + 8]
test al, 0x24
je case.0x1401e48b0.85
test al, 8
je 0x1401e5c78
movsd xmm0, qword [rcx]
jmp 0x1401e5c80
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
mov edi, 0x3e40
movsd qword [rcx], xmm0
and ax, di
or ax, 8
mov word [rcx + 8], ax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
movsxd rax, dword [r15 + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r12
test word [rbx + 8], ax
je 0x1401e5cd3
mov rcx, rbx
call fcn.1401ef0d0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
movzx r8d, byte [rsp + 0x48]
mov rcx, rbx
movzx edx, byte [r15 + 8]
call fcn.1401eeee0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x1401e5947
mov rbx, qword [rsp + 0x50]
xor r15d, r15d
jmp 0x1401eca5c
mov rcx, qword [rsp + 0x38]
mov r15, rcx
movsxd rax, dword [rcx + 4]
imul r14, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rsi, rax, 0x38
add r14, r12
add rsi, r12
movzx edi, word [r14 + 8]
movzx ebx, word [rsi + 8]
movzx edx, bx
or dx, di
test dl, 1
je 0x1401e5dbb
movzx eax, word [rcx + 2]
test al, al
jns 0x1401e5d74
movzx eax, bl
and al, dil
test al, 1
je 0x1401e5d5f
mov eax, 0x100
test ax, bx
jne 0x1401e5d5f
movzx eax, byte [rcx]
mov edx, r11d
jmp 0x1401e5f7a
movzx eax, bx
not ax
and eax, 1
lea edx, [rax*2 - 1]
jmp 0x1401e5f52
test al, 0x20
je 0x1401e5da4
movsxd rax, dword [r15 + 8]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
imul rcx, rax, 0x38
mov eax, 0x3e40
mov dword [rbp - 0x80], r10d
add rcx, r12
and word [rcx + 8], ax
or word [rcx + 8], 1
jmp 0x1401e973a
test al, 0x10
jne 0x1401e83aa
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
jmp 0x1401e973a
movzx eax, byte [r15 + 2]
and al, 0x47
cmp al, 0x43
jb 0x1401e5ecb
movzx ecx, bx
test dl, 2
je 0x1401e5e04
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x1401e5dea
xor edx, edx
mov rcx, r14
call fcn.140179ed0
movzx ebx, word [rsi + 8]
movzx eax, bl
movzx ecx, bx
and al, 0x2e
cmp al, 2
jne 0x1401e5e04
xor edx, edx
mov rcx, rsi
call fcn.140179ed0
movzx ecx, word [rsi + 8]
and cl, byte [r14 + 8]
test cl, 4
je 0x1401e5f3a
mov rax, qword [rsi]
cmp rax, qword [r14]
movzx eax, byte [r15]
jle 0x1401e5eb4
mov r10d, 1
mov edx, r10d
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x228da4]
xor r11d, r11d
mov word [rsi + 8], bx
mov rsi, qword [rsp + 0x38]
mov word [r14 + 8], di
movzx r8d, cl
movzx r9d, word [rsi + 2]
test r9b, 0x20
je 0x1401e5f94
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
mov dword [rbp - 0x80], edx
add rcx, r12
test r9b, 8
je 0x1401e5e83
cmp byte [rsi], 0x35
mov eax, r11d
sete al
cmp eax, r8d
je 0x1401ebf79
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], 4
mov qword [rcx], r8
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r15, qword [rsp + 0x38]
mov r8d, 0x1000
mov rbx, qword [rsp + 0x58]
jmp 0x1401e973a
jge 0x1401e5ec0
mov edx, 0xffffffff
jmp 0x1401e5f5a
xor r11d, r11d
mov edx, r11d
jmp 0x1401e5f7a
cmp al, 0x42
jne 0x1401e5f3a
movzx r13d, byte [rsp + 0x48]
test dil, 2
jne 0x1401e5f0f
test dil, 0x2c
je 0x1401e5f0f
mov r8b, 1
movzx edx, r13b
mov rcx, r14
call fcn.1401efbb0
movzx eax, di
mov ecx, 0x3e40
xor ax, word [r14 + 8]
and ax, cx
xor di, ax
cmp r14, rsi
jne 0x1401e5f0f
movzx ebx, di
or bx, 2
test bl, 2
jne 0x1401e5f3a
test bl, 0x2c
je 0x1401e5f3a
mov r8b, 1
movzx edx, r13b
mov rcx, rsi
call fcn.1401efbb0
movzx eax, bx
mov ecx, 0x3e40
xor ax, word [rsi + 8]
and ax, cx
xor bx, ax
mov r8, qword [r15 + 0x10]
mov rdx, r14
mov rcx, rsi
call fcn.1401cb980
xor r11d, r11d
mov edx, eax
lea r10d, [r11 + 1]
movzx eax, byte [r15]
test edx, edx
jns 0x1401e5f74
lea rcx, [0x140000000]
mov r10d, 1
movzx ecx, byte [rax + rcx + 0x228ce4]
jmp 0x1401e5e39
jne 0x1401e5e2a
lea rcx, [0x140000000]
mov r10d, 1
movzx ecx, byte [rax + rcx + 0x228d50]
jmp 0x1401e5e3c
mov rbx, qword [rsp + 0x58]
test cl, cl
jne 0x1401eb8ec
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r15, qword [rsp + 0x38]
mov r8d, 0x1000
jmp 0x1401e973a
cmp dword [rbp - 0x80], 0
jne 0x1401e83af
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rax, qword [rsp + 0x38]
test byte [rax + 2], 1
jne 0x1401e5fe8
mov r13, r11
jmp 0x1401e5ff0
mov r13, qword [rax - 8]
add r13, 4
mov rdx, qword [rax + 0x10]
mov esi, r11d
mov r8d, dword [rax + 4]
mov rbx, r11
mov r9d, dword [rax + 8]
movsxd rax, dword [rax + 0xc]
mov qword [rbp - 0x78], rdx
mov dword [rsp + 0x78], r8d
mov dword [rbp - 0x68], r9d
mov qword [rbp - 0x70], rax
test rax, rax
jle 0x1401e5e94
lea r12, [rdx + 0x20]
test r13, r13
je 0x1401e6030
mov ecx, dword [r13 + rbx*4]
jmp 0x1401e6032
mov ecx, esi
mov rax, qword [rdx + 0x18]
lea r15d, [rcx + r9]
lea r14d, [rcx + r8]
mov r8, qword [r12]
imul rdx, r15, 0x38
imul rcx, r14, 0x38
movzx edi, byte [rax + rbx]
add rdx, qword [rsp + 0x60]
and edi, 1
add rcx, qword [rsp + 0x60]
call fcn.1401cb980
mov dword [rbp - 0x80], eax
mov edx, eax
test eax, eax
jne 0x1401e608a
mov rdx, qword [rbp - 0x78]
inc esi
mov r8d, dword [rsp + 0x78]
inc rbx
mov r9d, dword [rbp - 0x68]
add r12, 8
cmp rbx, qword [rbp - 0x70]
jl 0x1401e6024
jmp 0x1401e554a
mov rax, qword [rbp - 0x78]
mov r12, qword [rsp + 0x60]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x1401e60ba
imul rax, r14, 0x38
test byte [rax + r12 + 8], 1
jne 0x1401e60b5
imul rax, r15, 0x38
test byte [rax + r12 + 8], 1
je 0x1401e60ba
neg edx
mov dword [rbp - 0x80], edx
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r15, qword [rsp + 0x38]
test edi, edi
je 0x1401ebfd8
neg edx
mov dword [rbp - 0x80], edx
jmp 0x1401e9726
mov edx, dword [rbp - 0x80]
test edx, edx
jns 0x1401e60f8
mov eax, dword [r15 + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [rbx + rcx*8]
jmp 0x1401e973a
lea rdx, [0x140000000]
jne 0x1401e6123
mov eax, dword [r15 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [rbx + rcx*8]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov eax, dword [r15 + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [rbx + rcx*8]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rdi, qword [rsp + 0x38]
mov r14d, 2
mov edx, r14d
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add rcx, r12
call fcn.1401e39a0
movsxd rcx, dword [rdi + 8]
mov edx, r14d
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, r12
call fcn.1401e39a0
lea rdx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
movsxd rcx, eax
mov rax, rdi
cmp byte [rax], 0x2c
jne 0x1401e6199
movzx edx, byte [rcx + rdx + 0x228ee8]
jmp 0x1401e61a1
movzx edx, byte [rcx + rdx + 0x228ef8]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r12
cmp dl, r14b
jne 0x1401e61d6
movzx eax, word [rcx + 8]
mov edx, 0x3e40
and ax, dx
mov r15, rdi
or ax, 1
mov r9d, 0x2400
mov word [rcx + 8], ax
xor r11d, r11d
jmp 0x1401e9729
movzx eax, dl
mov r15, rdi
mov qword [rcx], rax
mov edx, 0x3e40
movzx eax, word [rcx + 8]
mov r9d, 0x2400
and ax, dx
or ax, 4
mov word [rcx + 8], ax
xor r11d, r11d
jmp 0x1401e9729
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.1401e39a0
movsxd rcx, eax
mov r9d, 0x2400
mov rax, rdi
movsxd rdx, dword [rax + 0x10]
movsxd rax, dword [rax + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, r12
test word [rcx + 8], r9w
je 0x1401e625a
call fcn.140204590
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
mov r15, rdi
jmp 0x1401e9734
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 8], ax
mov r15, rdi
xor r11d, r11d
mov r8d, 0x1000
jmp 0x1401e9734
movsxd rax, dword [r15 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r15 + 8]
imul rbx, rax, 0x38
add rcx, r12
add rbx, r12
movzx eax, word [rcx + 8]
test al, 1
jne 0x1401e6329
test al, 0x24
je 0x1401e62a9
cmp qword [rcx], 0
mov rax, r11
sete al
jmp 0x1401e62e6
test al, 8
je 0x1401e62b3
movsd xmm0, qword [rcx]
jmp 0x1401e62d6
test al, 0x12
je 0x1401e62e3
call fcn.1401964c0
xor r11d, r11d
lea rdx, [0x140000000]
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
ucomisd xmm0, xmm6
jp 0x1401e62de
je 0x1401e62e3
mov rax, r11
jmp 0x1401e62e6
mov rax, r10
test word [rbx + 8], r9w
je 0x1401e6306
mov rdx, rax
mov rcx, rbx
call fcn.140204590
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov qword [rbx], rax
mov eax, 4
mov word [rbx + 8], ax
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
test word [rbx + 8], r9w
je 0x1401e6346
mov rcx, rbx
call fcn.1402034d0
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov word [rbx + 8], r10w
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rdi, rax, 0x38
add rbx, r12
add rdi, r12
test word [rdi + 8], r9w
je 0x1401e6397
mov rcx, rdi
call fcn.1402034d0
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e639c
mov word [rdi + 8], r10w
test byte [rbx + 8], 1
jne 0x1401ebfbf
mov eax, 4
mov word [rdi + 8], ax
movzx eax, word [rbx + 8]
test al, 0x24
je 0x1401e63d3
mov rax, qword [rbx]
xor r11d, r11d
mov r15, qword [rsp + 0x38]
not rax
mov qword [rdi], rax
mov r9d, 0x2400
jmp 0x1401e9729
test al, 8
je 0x1401e63f9
movsd xmm0, qword [rbx]
call fcn.140186c30
mov r15, qword [rsp + 0x38]
not rax
mov qword [rdi], rax
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
test al, 0x12
je 0x1401e6425
cmp qword [rbx + 0x10], 0
je 0x1401e6425
mov rcx, rbx
call fcn.140196490
mov r15, qword [rsp + 0x38]
not rax
mov qword [rdi], rax
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov r15, qword [rsp + 0x38]
mov rax, r11
not rax
xor r11d, r11d
mov qword [rdi], rax
mov r9d, 0x2400
jmp 0x1401e9729
mov r8, qword [r13 + 0x100]
test r8, r8
je 0x1401e64c7
mov r9, qword [r8 + 0x30]
mov rcx, r15
sub rcx, qword [r13 + 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 0x1401e83af
bts eax, edx
mov r8d, 0x1000
mov byte [rcx + r9], al
lea rdx, [0x140000000]
mov rcx, qword [r13 + 0x88]
mov r9d, 0x2400
mov eax, dword [rcx + 4]
mov dword [r15 + 4], eax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rcx, qword [r13 + 0x88]
mov eax, dword [r15 + 4]
cmp dword [rcx + 4], eax
je 0x1401e83af
mov eax, dword [rcx + 4]
mov r8d, 0x1000
mov dword [r15 + 4], eax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
movsxd rax, dword [r15 + 4]
mov edx, dword [r15 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.1401e39a0
xor r11d, r11d
mov r10d, 1
test eax, eax
jne 0x1401e83af
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x1401e973a
mov rax, qword [rsp + 0x38]
mov edx, r11d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r12
call fcn.1401e39a0
mov r15, qword [rsp + 0x38]
xor r11d, r11d
lea r10d, [r11 + 1]
test eax, eax
je 0x1401e83af
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x1401e973a
movsxd rax, dword [r15 + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], 1
jne 0x1401e83af
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
movsxd rax, dword [r15 + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], 1
je 0x1401e83af
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
movsxd rcx, dword [r15 + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je case.0x1401e48b0.85
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
test word [rcx + 8], r9w
je 0x1401e65f9
call fcn.1402034d0
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x1401e83af
mov word [rcx + 8], r10w
jmp 0x1401e83af
movsxd rcx, dword [r15 + 4]
mov rax, qword [r13 + 0x78]
mov r15d, dword [r15 + 8]
mov dword [rsp + 0x78], r15d
mov r13, qword [rax + rcx*8]
cmp byte [r13 + 3], 0
je 0x1401e66d7
mov rdx, qword [r13 + 0x20]
test rdx, rdx
je 0x1401e66cd
lea eax, [r15 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x1401e66cd
cmp byte [r13 + 2], 0
jne 0x1401e66cd
mov r13, qword [r13 + 0x30]
lea r15d, [rax - 1]
mov dword [rsp + 0x78], r15d
lea rdx, [0x140000000]
mov dword [rsp + 0x30], r11d
mov rax, qword [rsp + 0x38]
mov rsi, qword [r13 + 0x60]
mov qword [rbp - 0x78], rsi
movsxd rax, dword [rax + 0xc]
imul r14, rax, 0x38
add r14, r12
mov r12, qword [rsp + 0x68]
mov qword [rbp + 0x18], r14
mov eax, dword [r12 + 0x30]
cmp dword [r13 + 0x28], eax
je 0x1401e6858
cmp byte [r13 + 2], 0
je 0x1401e675e
cmp byte [r13], 3
jne 0x1401e671a
movsxd rax, dword [r13 + 0x2c]
mov r8, qword [rsp + 0x60]
imul rcx, rax, 0x38
mov eax, dword [rcx + r8 + 0xc]
mov dword [r13 + 0x74], eax
mov dword [r13 + 0x70], eax
mov rcx, qword [rcx + r8 + 0x10]
mov qword [r13 + 0x68], rcx
jmp 0x1401e67ae
mov rcx, r13
call fcn.1401ed570
jmp 0x1401e66ec
mov rax, qword [r13 + 0x38]
cmp byte [rax], 0
je 0x1401e665e
mov rcx, r13
call fcn.140192970
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401ec256
xor r11d, r11d
lea r10d, [rax + 1]
mov r9d, 0x2400
lea rdx, [0x140000000]
mov r8d, 0x1000
jmp 0x1401e6663
test word [r14 + 8], r9w
je 0x1401e6738
mov rcx, r14
call fcn.1402034d0
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x60]
jmp 0x1401e52a2
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x38]
mov r12, qword [rsp + 0x60]
mov word [r14 + 8], r10w
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rbx, qword [r13 + 0x38]
mov rcx, rbx
call fcn.140191da0
mov r8d, dword [rbx + 0x40]
mov dword [r13 + 0x70], r8d
mov rax, qword [rbx + 0x88]
movzx ecx, word [rbx + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbx + 0x38]
cmp ecx, edx
jle 0x1401e6793
test edx, edx
mov ecx, edx
mov eax, 0
cmovs ecx, eax
mov r9, qword [rsp + 0x40]
mov dword [r13 + 0x74], ecx
mov rcx, qword [rbx + 0x38]
mov qword [r13 + 0x68], rcx
cmp r8d, dword [r9 + 0x7c]
ja 0x1401ec5f9
mov eax, dword [r12 + 0x30]
mov dword [r13 + 0x28], eax
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x1401e67c4
mov dword [rsi], eax
mov al, 1
jmp 0x1401e67cc
mov rdx, rsi
call fcn.1401c5e40
lea rbx, [r13 + 0x52]
movzx edx, al
mov dword [r13 + 0x48], edx
xor r11d, r11d
mov word [rbx], r11w
mov ecx, dword [rsi]
mov qword [rbp - 0x68], rbx
cmp dword [r13 + 0x74], ecx
jae 0x1401e6847
mov qword [r13 + 0x68], r11
mov dword [r13 + 0x74], r11d
mov eax, dword [rsi]
cmp eax, 0x18003
ja 0x1401e6805
mov qword [rbp - 0x68], rbx
cmp eax, dword [r13 + 0x70]
jbe 0x1401e6860
mov r9d, 0x2400
mov rbx, qword [rsp + 0x58]
mov eax, dword [rbx + 0xc]
test eax, eax
jle 0x1401ec240
mov r12, qword [rsp + 0x60]
dec eax
movsxd rcx, eax
mov r8d, 0x1000
lea rax, [rcx + rcx*2]
lea rsi, [rbx + rax*8]
mov qword [rsp + 0x38], rsi
mov r15, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
jmp 0x1401e9734
mov r9, qword [r13 + 0x68]
movzx eax, r11w
mov qword [rbp - 0x70], r9
jmp 0x1401e6928
lea rbx, [r13 + 0x52]
mov qword [rbp - 0x68], rbx
movzx eax, word [rbx]
cmp eax, r15d
ja 0x1401e6b3f
mov edx, dword [r13 + 0x48]
mov ecx, dword [rsi]
cmp edx, ecx
jae 0x1401e6a73
mov r9, qword [r13 + 0x68]
mov qword [rbp - 0x70], r9
test r9, r9
jne 0x1401e6924
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x68], rax
movups xmmword [rbp + 0x48], xmm0
movups xmmword [rbp + 0x58], xmm0
mov r10, qword [r13 + 0x38]
mov r8d, dword [rsi]
mov rax, qword [r10 + 0x88]
movzx ecx, word [r10 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x1401e68c6
test edx, edx
mov ecx, edx
cmovs ecx, r11d
mov r9, qword [r10 + 0x38]
mov qword [rbp - 0x70], r9
mov qword [rbp + 0x48], r9
cmp r8d, ecx
ja 0x1401e68f4
mov dword [rbp + 0x44], r8d
mov eax, 0x1010
mov word [rbp + 0x40], ax
movzx eax, word [rbx]
mov ecx, dword [rsi]
mov edx, dword [r13 + 0x48]
mov dword [rsp + 0x30], r11d
jmp 0x1401e6928
lea r9, [rbp + 0x38]
xor edx, edx
mov rcx, r10
call fcn.1401ef1e0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401ec8ae
mov r9, qword [rbp + 0x48]
movzx eax, word [rbx]
mov ecx, dword [rsi]
mov edx, dword [r13 + 0x48]
mov qword [rbp - 0x70], r9
jmp 0x1401e6928
mov qword [rbp - 0x68], rbx
movzx r15d, ax
mov r12d, ecx
mov ebx, r15d
mov rcx, qword [rbp - 0x78]
mov r14d, dword [rsi + r15*4]
mov esi, edx
add rsi, r9
add r12, r9
nop dword [rax]
nop word [rax + rax]
movzx edi, byte [rsi]
mov eax, 0x80
mov dword [rbp - 0x5c], edi
mov dword [r13 + rbx*4 + 0x78], edi
cmp edi, eax
jae 0x1401e6978
lea rdx, [0x140000000]
inc rsi
movzx eax, byte [rdi + rdx + 0x227940]
jmp 0x1401e69b5
lea rdx, [rbp - 0x5c]
mov rcx, rsi
call fcn.1401c5e40
mov edi, dword [rbp - 0x5c]
movzx eax, al
add rsi, rax
mov dword [r13 + rbx*4 + 0x78], edi
mov eax, 0x80
cmp edi, eax
jb 0x1401e69a2
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x1401e69b1
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x227940]
mov rcx, qword [rbp - 0x78]
inc r15d
add r14, rax
movsxd rbx, r15d
mov dword [rcx + rbx*4], r14d
cmp r15d, dword [rsp + 0x78]
ja 0x1401e69d0
cmp rsi, r12
jb 0x1401e6950
jmp 0x1401e69d5
cmp rsi, r12
jb 0x1401e6a28
cmp rsi, r12
ja 0x1401e6a31
mov eax, dword [r13 + 0x70]
cmp r14, rax
jne 0x1401e6a31
sub esi, dword [rbp - 0x70]
mov rbx, qword [rbp - 0x68]
mov word [rbx], r15w
mov dword [r13 + 0x48], esi
cmp qword [r13 + 0x68], 0
jne 0x1401e6a13
mov ecx, 0x2400
test word [rbp + 0x40], cx
jne 0x1401e6a0a
cmp dword [rbp + 0x58], 0
je 0x1401e6a13
lea rcx, [rbp + 0x38]
call fcn.140203480
movzx eax, word [rbx]
xor r11d, r11d
mov rsi, qword [rbp - 0x78]
mov r14, qword [rbp + 0x18]
mov r15d, dword [rsp + 0x78]
jmp 0x1401e6a7a
mov eax, dword [r13 + 0x70]
cmp r14, rax
jbe 0x1401e69e3
cmp dword [rcx], 0
jne 0x1401e6a40
xor eax, eax
mov rsi, r12
mov r15d, eax
jmp 0x1401e69e3
cmp qword [r13 + 0x68], 0
mov r9d, 0x2400
jne 0x1401e6a6b
test word [rbp + 0x40], r9w
jne 0x1401e6a5a
cmp dword [rbp + 0x58], 0
je 0x1401e6a6b
lea rcx, [rbp + 0x38]
call fcn.140203480
xor r11d, r11d
jmp 0x1401e6805
xor r11d, r11d
jmp 0x1401e680b
mov edi, r11d
mov dword [rbp - 0x5c], r11d
movzx eax, ax
cmp eax, r15d
ja 0x1401e6b3a
mov rsi, qword [rsp + 0x38]
mov r9d, 0x2400
cmp byte [rsi + 1], 0xf5
jne 0x1401e6afc
mov rax, qword [rsi + 0x10]
test word [r14 + 8], r9w
je 0x1401e6ab8
mov r8d, 0x800
mov rdx, rax
mov rcx, r14
call fcn.140201fa0
jmp 0x1401e554a
movups xmm0, xmmword [rax]
mov rsi, qword [rsp + 0x40]
mov ecx, 0x800
mov r15, qword [rsp + 0x38]
movups xmmword [r14], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [r14 + 0x10], xmm1
test word [rax + 8], cx
jne 0x1401ebf89
mov r12, qword [rsp + 0x60]
mov eax, 0xebff
and word [r14 + 8], ax
or word [r14 + 8], cx
jmp 0x1401e9729
test word [r14 + 8], r9w
je 0x1401e6b10
mov rcx, r14
call fcn.1402034d0
jmp 0x1401e554a
mov rsi, qword [rsp + 0x40]
mov r10d, 1
mov r15, qword [rsp + 0x38]
mov r8d, 0x1000
mov r12, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
mov word [r14 + 8], r10w
jmp 0x1401e973a
mov ebx, r15d
jmp 0x1401e6b4a
mov ebx, r15d
mov edi, dword [r13 + rbx*4 + 0x78]
mov dword [rbp - 0x5c], edi
mov eax, 0x2400
test word [r14 + 8], ax
je 0x1401e6b5e
mov rcx, r14
call fcn.1402034d0
lea eax, [r15 + 1]
mov eax, dword [rsi + rax*4]
cmp dword [r13 + 0x74], eax
jb 0x1401e6c42
mov esi, dword [rsi + rbx*4]
add rsi, qword [r13 + 0x68]
cmp edi, 0xc
jae 0x1401e6b8d
mov r8, r14
mov edx, edi
mov rcx, rsi
call fcn.1401f1450
jmp 0x1401e554a
movzx eax, byte [rsp + 0x48]
lea ebx, [rdi - 0xc]
shr ebx, 1
mov dword [r14 + 0xc], ebx
mov byte [r14 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r14 + 0x20], edx
jge 0x1401e6bcc
mov r13d, 1
xor r8d, r8d
mov rcx, r14
mov word [r14 + 8], r13w
call fcn.1401ef350
test eax, eax
jne 0x1401ec880
mov rcx, qword [r14 + 0x10]
jmp 0x1401e6bd4
mov rcx, qword [r14 + 0x18]
mov qword [r14 + 0x10], rcx
mov r8, rbx
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r14 + 0x10]
lea rdx, [0x140000000]
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r15, qword [rsp + 0x38]
mov r8d, 0x1000
mov r12, qword [rsp + 0x60]
mov byte [rbx + rax], 0
mov rax, qword [r14 + 0x10]
mov byte [rbx + rax + 1], 0
mov eax, edi
mov rbx, qword [rsp + 0x58]
and eax, 1
xor r11d, r11d
movzx eax, word [rdx + rax*2 + 0x228e7c]
mov word [r14 + 8], ax
lea r10d, [r11 + 1]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
movzx eax, byte [rsp + 0x48]
mov byte [r14 + 0xa], al
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test al, 0xc0
je 0x1401e6c67
cmp edi, 0xc
jb 0x1401e6c63
test dil, 1
je 0x1401e6c90
test al, al
js 0x1401e6c90
mov eax, 0x80
cmp edi, eax
jb 0x1401e6c79
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x1401e6c8b
mov eax, edi
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x227940]
test r8d, r8d
jne 0x1401e6ca6
mov r8, r14
lea rcx, [0x140227760]
mov edx, edi
call fcn.1401f1450
jmp 0x1401e554a
mov edx, dword [rsi + rbx*4]
mov r9, r14
mov rcx, qword [r13 + 0x38]
call fcn.1401ef1e0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401ec251
mov rcx, qword [r14 + 0x10]
mov r8, r14
mov edx, edi
call fcn.1401f1450
mov eax, 0xefff
and word [r14 + 8], ax
jmp 0x1401e554a
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r12
cmp al, 0x43
jl 0x1401e6d23
movzx eax, word [rbx + 8]
test al, 4
jne 0x1401e6d58
test al, 8
jne 0x1401e6d19
test al, 2
je 0x1401e6d58
mov edx, r10d
mov rcx, rbx
call fcn.140179ed0
jmp 0x1401e6d58
mov rcx, rbx
call fcn.1401ee2b0
jmp 0x1401e6d58
cmp al, 0x42
jne 0x1401e6d58
movzx ecx, word [rbx + 8]
movzx eax, cx
test cl, 2
jne 0x1401e6d4c
test cl, 0x2c
je 0x1401e6d4c
movzx edx, byte [rsp + 0x48]
mov r8b, 1
mov rcx, rbx
call fcn.1401efbb0
movzx eax, word [rbx + 8]
mov ecx, 0xffd3
and ax, cx
mov word [rbx + 8], ax
cmp byte [rdi], 0x45
jne 0x1401e6daa
movzx ecx, word [rbx + 8]
test cl, 4
je 0x1401e6daa
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x1401e6d93
and cx, ax
or cx, 0x20
jmp 0x1401e6da6
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
movzx eax, byte [rdi + 1]
inc rdi
test al, al
je 0x1401ebf61
add rbx, 0x38
mov r10d, 1
jmp 0x1401e6cf8
mov rcx, qword [rsp + 0x38]
mov rdx, r11
movzx r13d, byte [r13 + 0xc3]
mov r15, r11
mov r12d, r11d
mov qword [rbp - 0x70], rdx
mov byte [rsp + 0x7c], r13b
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r11, rax, 0x38
mov eax, dword [rcx + 8]
add r11, qword [rsp + 0x60]
dec eax
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rsi, r11
mov qword [rbp - 0x78], r11
add rcx, qword [rsp + 0x60]
mov qword [rbp - 0x68], rsi
mov qword [rbp + 0x18], rcx
test rdi, rdi
je 0x1401e6e8e
movzx eax, byte [rdi]
lea rbx, [r11 + 8]
movzx esi, byte [rsp + 0x48]
mov r13d, 0xfffb
nop word [rax + rax]
lea rcx, [rbx - 8]
movzx r8d, sil
movzx edx, al
call fcn.140179e50
cmp byte [rdi], 0x45
jne 0x1401e6e67
movzx eax, word [rbx]
test al, 4
je 0x1401e6e67
and ax, r13w
or ax, 0x20
mov word [rbx], ax
movzx eax, byte [rdi + 1]
inc rdi
add rbx, 0x38
test al, al
jne 0x1401e6e40
movzx r13d, byte [rsp + 0x7c]
mov r10d, 1
mov rdx, qword [rbp - 0x70]
mov r11, qword [rbp - 0x78]
mov rsi, qword [rbp - 0x68]
lea r14, [rsi + 0x24]
movzx ecx, word [r14 - 0x1c]
test cl, 1
je 0x1401e6eb7
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
inc r12d
jmp 0x1401e7037
test cl, 0x24
je 0x1401e6fb2
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x1401e6ecf
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x1401e6f02
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x1401e6ef4
cmp r13b, 4
jb 0x1401e6ef4
lea eax, [rdx + 8]
mov dword [r14], eax
jmp 0x1401e7037
mov eax, r10d
inc r15
mov dword [r14], eax
jmp 0x1401e7037
cmp rdx, 0x7fff
ja 0x1401e6f1c
mov eax, 2
add r15, 2
mov dword [r14], eax
jmp 0x1401e7037
cmp rdx, 0x7fffff
ja 0x1401e6f36
mov eax, 3
add r15, 3
mov dword [r14], eax
jmp 0x1401e7037
cmp rdx, 0x7fffffff
ja 0x1401e6f50
mov eax, 4
add r15, 4
mov dword [r14], eax
jmp 0x1401e7037
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x1401e6f70
mov eax, 5
add r15, 6
mov dword [r14], eax
jmp 0x1401e7037
add r15, 8
test cl, 0x20
je 0x1401e6fa5
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
mov eax, 7
cvtsi2sd xmm0, r8
or cx, 8
movsd qword [r14 - 0x24], xmm0
mov word [r14 - 0x1c], cx
mov dword [r14], eax
jmp 0x1401e7037
mov eax, 6
mov dword [r14], eax
jmp 0x1401e7037
test cl, 8
je 0x1401e6fc7
inc r12d
mov dword [r14], 7
add r15, 8
jmp 0x1401e7037
mov edi, dword [r14 - 0x18]
mov eax, ecx
shr eax, 1
and eax, 1
bt cx, 0xe
lea esi, [rdi + 6]
lea esi, [rax + rsi*2]
jae 0x1401e700f
movsxd rax, dword [r14 - 0x24]
lea esi, [rsi + rax*2]
test r15, r15
je 0x1401e7008
lea rcx, [r14 - 0x24]
call fcn.1401ef0d0
mov r10d, 1
test eax, eax
jne 0x1401ec88f
add edi, dword [r14 - 0x24]
jmp 0x1401e700f
add rdx, rax
mov qword [rbp - 0x70], rdx
mov eax, edi
mov ecx, r10d
add r15, rax
mov eax, esi
shr rax, 7
test rax, rax
je 0x1401e702d
inc ecx
shr rax, 7
test rax, rax
jne 0x1401e7022
mov r11, qword [rbp - 0x78]
add r12d, ecx
mov dword [r14], esi
lea rax, [r14 - 0x24]
cmp rax, r11
je 0x1401e704d
mov rdx, qword [rbp - 0x70]
sub r14, 0x38
jmp 0x1401e6e92
cmp r12d, 0x7e
jle 0x1401e708f
movsxd rax, r12d
mov edx, r10d
shr rax, 7
test rax, rax
je 0x1401e706d
inc edx
shr rax, 7
test rax, rax
jne 0x1401e7062
add r12d, edx
mov ecx, r10d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x1401e708b
nop
inc ecx
shr rax, 7
test rax, rax
jne 0x1401e7080
cmp edx, ecx
jge 0x1401e7092
inc r12d
mov r14, qword [rbp + 0x18]
mov rsi, qword [rbp - 0x70]
movsxd rbx, r12d
movsxd rdx, dword [r14 + 0x20]
lea rdi, [r15 + rbx]
lea rcx, [rdi + rsi]
cmp rcx, rdx
jle 0x1401e70e5
mov r9, qword [rsp + 0x40]
movsxd rax, dword [r9 + 0x7c]
cmp rcx, rax
jg 0x1401ec5ec
cmp edx, edi
jge 0x1401e70e5
xor r8d, r8d
mov edx, edi
mov rcx, r14
call fcn.1401ef350
mov r10d, 1
test eax, eax
jne 0x1401ec88f
mov r11, qword [rbp - 0x78]
jmp 0x1401e70ed
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
mov dword [r14 + 0xc], edi
mov eax, 0x10
mov word [r14 + 8], ax
test rsi, rsi
je 0x1401e710d
mov eax, 0x4010
mov dword [r14], esi
mov word [r14 + 8], ax
mov rsi, qword [r14 + 0x10]
mov ecx, 0x80
lea rdi, [rsi + rbx]
cmp r12d, ecx
jae 0x1401e7127
mov byte [rsi], r12b
mov eax, r10d
jmp 0x1401e716c
cmp rbx, 0x7f
ja 0x1401e7137
and bl, 0x7f
mov eax, r10d
mov byte [rsi], bl
jmp 0x1401e716c
cmp rbx, 0x3fff
ja 0x1401e715c
mov rax, rbx
mov r8d, 2
shr rax, 7
or al, cl
mov byte [rsi], al
and bl, 0x7f
mov byte [rsi + 1], bl
mov eax, r8d
jmp 0x1401e7172
mov rdx, rbx
mov rcx, rsi
call fcn.14019fd10
mov ecx, 0x80
mov r8d, 2
mov r15, qword [rbp - 0x68]
lea r14, [r11 + 0xc]
movzx eax, al
mov r13d, 1
add rsi, rax
mov r11d, dword [r14 + 0x18]
cmp r11d, ecx
jae 0x1401e7197
mov byte [rsi], r11b
mov eax, r13d
jmp 0x1401e71d1
mov rdx, r11
cmp r11, 0x7f
ja 0x1401e71aa
and dl, 0x7f
mov eax, r13d
mov byte [rsi], dl
jmp 0x1401e71d1
cmp rdx, 0x3fff
ja 0x1401e71c9
mov rax, rdx
shr rax, 7
or al, 0x80
mov byte [rsi], al
and dl, 0x7f
mov byte [rsi + 1], dl
mov eax, r8d
jmp 0x1401e71d1
mov rcx, rsi
call fcn.14019fd10
movzx eax, al
add rsi, rax
lea eax, [r11 - 1]
cmp eax, 6
ja 0x1401e7214
mov rdx, qword [r14 - 0xc]
lea rcx, [0x140000000]
movzx ecx, byte [r11 + rcx + 0x227940]
mov r13d, 0xffffffff
mov ebx, ecx
nop dword [rax]
add ecx, r13d
mov byte [rcx + rdi], dl
shr rdx, 8
test ecx, ecx
jne 0x1401e7200
lea r13d, [rcx + 1]
jmp 0x1401e7236
cmp r11d, 0xc
jb 0x1401e7232
mov ebx, dword [r14]
test ebx, ebx
je 0x1401e7236
mov rdx, qword [r14 + 4]
mov r8d, ebx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1401e7236
xor eax, eax
mov ebx, eax
add r14, 0x38
mov eax, ebx
add rdi, rax
mov ecx, 0x80
lea rax, [r14 - 0xc]
lea r8d, [rcx - 0x7e]
cmp rax, r15
jbe 0x1401e7186
jmp 0x1401e554a
mov rdi, qword [rsp + 0x38]
mov rax, qword [r13 + 0x78]
cmp dword [rdi + 0xc], 0
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x38]
je 0x1401e7286
mov rcx, rdx
call fcn.1401b05a0
mov rbx, rax
mov qword [rbp], rax
jmp 0x1401e72a9
lea r8, [rbp]
mov qword [rbp], r11
mov rcx, rsi
call fcn.1401adf50
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
mov rbx, qword [rbp]
mov rax, rdi
mov ecx, 0x2400
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
add rax, qword [r13 + 0x68]
test word [rax + 8], cx
je 0x1401e72d3
mov rcx, rax
call fcn.140199ce0
mov qword [rax], rbx
jmp 0x1401ea0c8
mov ecx, 4
mov word [rax + 8], cx
mov qword [rax], rbx
jmp 0x1401ea0c8
mov rax, qword [rsp + 0x38]
mov r10d, dword [rax + 4]
mov rsi, qword [rax + 0x10]
mov dword [rsp + 0x78], r10d
test r10d, r10d
jne 0x1401e73de
mov rdi, qword [rsp + 0x40]
cmp dword [rdi + 0xd0], r10d
jg 0x1401ec260
test rsi, rsi
jne 0x1401e731b
mov ebx, r11d
jmp 0x1401e7331
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], 0
jne 0x1401e7322
and ebx, 0x3fffffff
mov r8d, dword [rdi + 0x2c4]
xor edx, edx
add r8d, dword [rdi + 0x2c0]
mov rcx, rdi
call fcn.1401f3320
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401ec27a
mov edx, ebx
mov rcx, rdi
add rdx, 0x21
call fcn.1401b5ed0
mov rdi, rax
test rax, rax
je 0x1401ebf5c
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call sub.VCRUNTIME140.dll_memcpy
mov rsi, qword [rsp + 0x40]
cmp byte [rsi + 0x5f], 0
je 0x1401e739d
mov byte [rsi + 0x5f], 0
mov byte [rsi + 0x67], 1
jmp 0x1401e73a3
inc dword [rsi + 0x2c0]
mov rax, qword [rsi + 0x2b0]
xor r11d, r11d
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rdi + 0x18], rax
mov qword [rsi + 0x2b0], rdi
mov rax, qword [rsi + 0x2c8]
mov qword [rdi + 8], rax
mov rax, qword [rsi + 0x2d0]
mov qword [rdi + 0x10], rax
jmp 0x1401e9729
mov r9, qword [rsp + 0x40]
mov r13d, r11d
mov r12, qword [r9 + 0x2b0]
test r12, r12
je 0x1401e74e3
lea rbx, [0x140000000]
nop dword [rax]
mov r8, qword [r12]
mov r9, rsi
sub r9, r8
nop word [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1401e74b6
test edx, edx
jne 0x1401e74ca
mov rsi, qword [rsp + 0x40]
cmp dword [rsi + 0xd0], edx
jle 0x1401e7440
cmp r10d, 1
je 0x1401ec282
cmp qword [r12 + 0x18], 0
jne 0x1401e7510
cmp byte [rsi + 0x67], 0
je 0x1401e7510
mov edi, 1
mov r15d, edi
cmp r10d, edi
jne 0x1401e7513
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x2d0]
add rcx, qword [rax + 0x2c8]
test rcx, rcx
jg 0x1401ec2ee
mov rcx, rbx
mov byte [rsi + 0x5f], dil
call fcn.1401edba0
cmp eax, 5
je 0x1401ec2ad
mov r10d, dword [rbx + 0x38]
mov dword [rsp + 0x30], r10d
test r10d, r10d
jne 0x1401ec2a1
mov byte [rsi + 0x67], r10b
jmp 0x1401e7612
movzx ecx, byte [rax + rbx + 0x227660]
movzx eax, byte [rdx + rbx + 0x227660]
cmp eax, ecx
jne 0x1401e74d2
inc r8
jmp 0x1401e7410
mov r12, qword [r12 + 0x18]
inc r13d
test r12, r12
jne 0x1401e7400
mov r13, qword [rsp + 0x68]
lea rdx, str.no_such_savepoint:__s
mov rcx, r13
mov r8, rsi
call fcn.1401e4710
mov rsi, qword [rsp + 0x40]
mov edi, 1
mov r10d, edi
mov dword [rsp + 0x30], edi
jmp 0x1401e5c0c
mov r15d, r11d
mov eax, dword [rsi + 0x2c0]
sub eax, r13d
lea r13d, [rax - 1]
mov eax, dword [rsi + 0x28]
cmp r10d, 2
jne 0x1401e758c
mov r14d, dword [rsi + 0x2c]
mov edi, r11d
and r14d, 1
test eax, eax
jle 0x1401e758f
mov esi, r14d
mov rbx, r11
xor esi, 1
mov r9, qword [rsp + 0x40]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [r9 + 0x20]
mov rcx, qword [rcx + rbx + 8]
call fcn.1401b0c50
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401ec251
mov rax, qword [rsp + 0x40]
inc edi
add rbx, 0x20
mov eax, dword [rax + 0x28]
cmp edi, eax
jl 0x1401e7541
mov r10d, dword [rsp + 0x78]
xor r11d, r11d
mov rsi, qword [rsp + 0x40]
jmp 0x1401e758f
mov r14d, r11d
mov edi, r11d
test eax, eax
jle 0x1401e75d3
mov rbx, r11
nop dword [rax]
mov rcx, qword [rsi + 0x20]
mov r8d, r13d
mov edx, r10d
mov rcx, qword [rcx + rbx + 8]
call fcn.1401b0600
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401ec256
mov r10d, dword [rsp + 0x78]
inc edi
add rbx, 0x20
cmp edi, dword [rsi + 0x28]
jl 0x1401e75a0
test r14d, r14d
je 0x1401e7604
mov rax, qword [rsi + 8]
test rax, rax
je 0x1401e75f8
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401e75e1
mov rcx, rsi
call fcn.1401d5c90
or dword [rsi + 0x2c], 1
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401ec256
mov rcx, qword [rsi + 0x2b0]
cmp rcx, r12
je 0x1401e7648
nop
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, rsi
mov qword [rsi + 0x2b0], rax
call fcn.1401b5d40
dec dword [rsi + 0x2c0]
mov rcx, qword [rsi + 0x2b0]
cmp rcx, r12
jne 0x1401e7620
mov ebx, dword [rsp + 0x78]
cmp ebx, 1
jne 0x1401e7679
mov rax, qword [r12 + 0x18]
mov rdx, r12
mov rcx, rsi
mov qword [rsi + 0x2b0], rax
call fcn.1401b5d40
test r15d, r15d
jne 0x1401ebf61
dec dword [rsi + 0x2c0]
jmp 0x1401e769f
mov rax, qword [r12 + 8]
mov qword [rsi + 0x2c8], rax
mov rax, qword [r12 + 0x10]
mov qword [rsi + 0x2d0], rax
test r15d, r15d
je 0x1401e769f
cmp ebx, 2
jne 0x1401ebf61
mov r8d, r13d
mov edx, ebx
mov rcx, rsi
call fcn.1401f3320
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401ec256
jmp 0x1401e554f
mov rcx, qword [rsp + 0x38]
mov dword [rbp - 0x50], r11d
mov edx, dword [rcx + 8]
test edx, edx
je 0x1401e76de
mov eax, dword [rsi + 0x30]
bt rax, 0x14
jb 0x1401ec318
movsxd rcx, dword [rcx + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x1401e784a
lea r8, [rbp - 0x50]
mov rcx, rbx
call fcn.1401ad1e0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401ec329
test byte [r13 + 0xc8], 0x40
mov r15, qword [rsp + 0x38]
je 0x1401e77ec
cmp dword [r15 + 8], eax
je 0x1401e77ec
cmp byte [rsi + 0x5f], al
je 0x1401e7742
cmp dword [rsi + 0xcc], 1
jle 0x1401e77ec
mov r8d, dword [r13 + 0x40]
test r8d, r8d
jne 0x1401e7763
inc dword [rsi + 0x2c4]
mov r8d, dword [rsi + 0x2c0]
add r8d, dword [rsi + 0x2c4]
mov dword [r13 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, rsi
call fcn.1401f3320
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e77d6
mov edi, dword [r13 + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x1401e7798
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x1401e7798
mov rcx, rbx
call fcn.14017e040
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x1401e77b2
cmp byte [rcx + 0xa], 0
je 0x1401e77b2
mov edx, edi
call fcn.14019a690
jmp 0x1401e77b4
xor eax, eax
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x30], eax
je 0x1401e77cc
sub dword [rbx + 0x14], 1
jne 0x1401e77cc
mov rcx, rbx
call fcn.1401ffc70
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsi + 0x2c8]
mov qword [r13 + 0x58], rax
mov rax, qword [rsi + 0x2d0]
mov qword [r13 + 0x60], rax
mov r8d, 0x1000
mov r9d, 0x2400
xor r11d, r11d
cmp word [r15 + 2], 0
je 0x1401e783c
mov eax, dword [r15 + 0xc]
cmp dword [rbp - 0x50], eax
jne 0x1401ec36e
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x10]
cmp dword [rcx + 4], eax
jne 0x1401ec36e
mov r15, qword [rsp + 0x38]
test r10d, r10d
jne 0x1401e5c07
jmp 0x1401e972f
mov r10d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
jmp 0x1401e77fb
mov rcx, qword [rsi + 0x20]
lea r8, [rbp - 0x10]
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov edx, dword [r15 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1401ae760
movsxd rax, dword [r15 + 8]
mov r9d, 0x2400
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x1401e78ba
call fcn.140199ce0
mov rcx, rax
mov r9d, 0x2400
movsxd rax, dword [rbp - 0x10]
xor r11d, r11d
mov r8d, 0x1000
mov qword [rcx], rax
jmp 0x1401e9734
mov eax, 4
xor r11d, r11d
mov word [rcx + 8], ax
mov r8d, 0x1000
movsxd rax, dword [rbp - 0x10]
mov qword [rcx], rax
jmp 0x1401e9734
mov rax, qword [rsp + 0x38]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [rsi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.1401b0d60
mov r15, qword [rsp + 0x38]
mov r10d, eax
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x1401e792b
mov ecx, dword [r15 + 0xc]
mov rax, r15
movzx eax, word [rax + 2]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
or dword [rsi + 0x2c], 1
jmp 0x1401e7940
cmp eax, 2
jne 0x1401e7940
mov rax, qword [rsp + 0x38]
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rax + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r15 + 4], 1
jne 0x1401e796f
mov rax, qword [rsi + 8]
test rax, rax
je 0x1401e7967
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401e7950
and dword [r13 + 0xc8], 0xfffffffc
test r10d, r10d
jne 0x1401e5c07
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je case.0x1401e48b0.96
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
cmp dword [rbx + 0x4c], eax
je 0x1401e7ae2
mov eax, dword [r13 + 0xc8]
and al, 3
cmp al, 1
je 0x1401ec3fe
mov rax, qword [rsp + 0x38]
mov esi, r11d
mov r9, qword [rsp + 0x40]
mov r14, r11
movsxd r12, dword [rax + 0xc]
mov r15d, dword [rax + 8]
mov rax, r12
shl rax, 5
add rax, qword [r9 + 0x20]
mov r9, qword [rsp + 0x38]
mov r13, qword [rax + 8]
cmp dil, 0x61
jne 0x1401e7a18
mov rax, qword [rax + 0x18]
movzx edi, word [r9 + 2]
and edi, 8
or edi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x68]
cmp cl, byte [rax + 0xc3]
jae 0x1401e7a1b
mov byte [rax + 0xc3], cl
jmp 0x1401e7a1b
mov edi, r11d
test byte [r9 + 2], 0x10
je 0x1401e7a3b
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.1401ef4e0
mov r9, qword [rsp + 0x38]
mov r15d, dword [rbx]
movzx eax, byte [r9 + 1]
cmp al, 0xf7
jne 0x1401e7a4f
mov r14, qword [r9 + 0x10]
movzx esi, word [r14 + 8]
jmp 0x1401e7a57
cmp al, 0xfd
jne 0x1401e7a57
mov esi, dword [r9 + 0x10]
mov rcx, qword [rsp + 0x68]
mov r8d, esi
mov rsi, qword [rsp + 0x38]
mov r9d, r12d
mov byte [rsp + 0x20], 0
mov edx, dword [rsi + 4]
call fcn.140178240
mov rbx, rax
test rax, rax
je 0x1401ec880
mov byte [rax + 2], 1
mov r9, r14
or dword [rax + 8], 4
mov r8d, edi
mov dword [rax + 0x4c], r15d
mov edx, r15d
mov rcx, qword [rax + 0x38]
mov qword [rsp + 0x20], rcx
mov rcx, r13
call fcn.1401ae180
mov r13, qword [rsp + 0x68]
lea rdx, [0x140000000]
mov r12, qword [rsp + 0x60]
mov r10d, eax
mov qword [rbx + 0x40], r14
mov r9d, 0x2400
cmp byte [rsi + 1], 0xf7
mov r8d, 0x1000
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x30], eax
setne al
mov byte [rbx + 4], al
xor r11d, r11d
jmp 0x1401e7ae7
mov r10d, dword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rax + 2]
mov rax, qword [rbx + 0x38]
and cl, 3
mov byte [rax + 3], cl
test r10d, r10d
jne 0x1401e5c07
mov r15, qword [rsp + 0x38]
mov r10d, 1
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rax, qword [rsp + 0x38]
mov r9d, 0xffffffff
mov byte [rsp + 0x20], 0
movsxd rcx, dword [rax + 8]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
mov rax, qword [rsp + 0x38]
movsx r8d, word [rbx + 0x50]
mov edx, dword [rax + 4]
call fcn.140178240
test rax, rax
je 0x1401ec49d
mov byte [rax + 2], 1
mov r8d, 4
or dword [rax + 8], 1
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov edx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], edx
mov ecx, dword [rax + 8]
xor ecx, dword [rbx + 8]
and ecx, 4
xor dword [rax + 8], ecx
mov rax, qword [rax + 0x38]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1401ae180
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rsp + 0x30], eax
mov r9d, 0x2400
jmp 0x1401e9729
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 0xc]
test eax, eax
jle 0x1401e7be1
imul rcx, rax, 0x38
mov dword [rcx + r12 + 0xc], r11d
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
lea rax, [0x14022cfdf]
mov qword [rcx + r12 + 0x10], rax
mov rax, rdi
movsxd rdx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x1401e7c1d
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1401e7c1d
mov qword [rbx + 0x18], r11
xor r8d, r8d
mov dword [rbx + 0x28], r11d
mov edx, dword [rbx + 0x4c]
call fcn.1401ad610
mov r10d, eax
mov dword [rsp + 0x30], eax
jmp 0x1401e7d4a
mov rax, rdi
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov rcx, r13
mov r8d, dword [rax + 8]
call fcn.140178240
mov rbx, rax
test rax, rax
je 0x1401ec49d
or dword [rax + 8], 1
lea r9, [rbx + 0x10]
mov rax, rdi
mov dword [rsp + 0x28], 0x41e
mov r8, rsi
xor edx, edx
movzx ecx, word [rax + 2]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsi]
call fcn.1401afa60
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e7d2b
mov rcx, qword [rbx + 0x10]
mov r15d, 1
mov edx, r15d
xor r8d, r8d
call fcn.1401ad1e0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e7d2b
mov rax, rdi
mov r14, qword [rax + 0x10]
mov qword [rbx + 0x40], r14
test r14, r14
je 0x1401e7cfb
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x4c]
mov rcx, qword [rbx + 0x10]
or r8d, 2
call fcn.1401ae110
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e7cf5
mov rax, qword [rbx + 0x38]
lea r8d, [r15 + 3]
mov edx, dword [rbx + 0x4c]
mov r9, r14
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1401ae180
mov r10d, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 4], 0
jmp 0x1401e7d26
mov dword [rbx + 0x4c], r15d
xor r9d, r9d
mov rax, qword [rbx + 0x38]
mov edx, r15d
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.1401ae180
mov r10d, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 4], r15b
mov rsi, qword [rsp + 0x40]
xor eax, eax
mov ecx, eax
mov rax, rdi
cmp word [rax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [rbx + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
test r10d, r10d
jne 0x1401e5c07
mov byte [rbx + 2], 1
mov r15, rdi
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 1
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.140178240
test rax, rax
je 0x1401ec49d
mov rdx, qword [rsp + 0x38]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x40], rcx
mov rcx, rsi
mov edx, dword [rdx + 0xc]
call fcn.1401f19e0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
jmp 0x1401e52a2
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 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 0x1401e83af
jmp 0x1401e973a
mov rax, qword [rsp + 0x38]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 3
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.140178240
mov r10d, 1
test rax, rax
je 0x1401ec4a3
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov byte [rax + 2], r10b
mov r9d, 0x2400
mov r8d, 0x1000
mov ecx, dword [r15 + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x1402e6c13]
mov byte [rax + 4], r10b
mov qword [rax + 0x38], rcx
jmp 0x1401e973a
mov rdx, qword [r13 + 0x78]
mov rcx, r13
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.1401ed9d0
mov rax, qword [rsp + 0x38]
xor r11d, r11d
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
mov r8d, 0x1000
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov qword [rax + rcx*8], r11
jmp 0x1401e9734
mov rax, qword [rsp + 0x38]
mov r12d, r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov r15, qword [rax + rcx*8]
mov byte [r15 + 2], 0
mov byte [r15 + 3], 0
mov dword [r15 + 0x28], r11d
cmp byte [r15 + 4], 0
je 0x1401e7fe6
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
movzx r14d, word [rbx + 8]
movzx eax, r14b
movzx ecx, r14w
and al, 0x2e
cmp al, 2
jne 0x1401e7ef6
xor edx, edx
mov rcx, rbx
call fcn.140179ed0
movzx ecx, word [rbx + 8]
xor r11d, r11d
movzx eax, cx
test al, 0x24
je 0x1401e7f02
mov rsi, qword [rbx]
jmp 0x1401e7f33
test al, 8
je 0x1401e7f14
movsd xmm0, qword [rbx]
call fcn.140186c30
mov rsi, rax
jmp 0x1401e7f33
test al, 0x12
je 0x1401e7f30
cmp qword [rbx + 0x10], 0
je 0x1401e7f30
mov rcx, rbx
call fcn.140196490
movzx ecx, word [rbx + 8]
mov rsi, rax
jmp 0x1401e7f33
mov rsi, r11
mov word [rbx + 8], r14w
test cl, 0x24
jne 0x1401e7fae
test cl, 8
jne 0x1401e7f84
test cl, 1
jne 0x1401eb8df
cmp edi, 0x18
jae 0x1401eb8df
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x74]
call fcn.1401af3d0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401ec45a
xor r11d, r11d
cmp dword [rsp + 0x74], 0
jne 0x1401e8d69
jmp 0x1401e81a0
movsd xmm0, qword [rbx]
xorps xmm1, xmm1
cvtsi2sd xmm1, rsi
comisd xmm1, xmm0
jbe 0x1401e7fa0
test dil, 1
je 0x1401e7fae
dec edi
jmp 0x1401e7fae
comisd xmm0, xmm1
jbe 0x1401e7fae
test dil, 1
jne 0x1401e7fae
inc edi
mov rcx, qword [r15 + 0x38]
lea rax, [rsp + 0x74]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rsi
xor edx, edx
call fcn.1401af450
mov qword [r15 + 0x58], rsi
mov r10d, eax
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401e5c07
jmp 0x1401e806e
mov rax, qword [r15 + 0x38]
lea rdx, [rbp + 0x20]
movzx ebx, byte [rax + 3]
mov rax, qword [rsp + 0x38]
and bl, 2
setne r12b
test dil, 1
mov ecx, dword [rax + 0x10]
mov rax, qword [r15 + 0x40]
mov qword [rbp + 0x20], rax
mov eax, r10d
mov word [rbp + 0x30], cx
mov ecx, 0xffffffff
cmovne eax, ecx
xor r9d, r9d
mov byte [rbp + 0x32], al
xor r8d, r8d
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov byte [rbp + 0x36], 0
lea rax, [rsp + 0x74]
add rcx, qword [rsp + 0x60]
mov qword [rbp + 0x28], rcx
mov rcx, qword [r15 + 0x38]
mov qword [rsp + 0x20], rax
call fcn.1401af450
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
test bl, bl
je 0x1401e806e
cmp byte [rbp + 0x36], al
je 0x1401e7f71
mov eax, dword [rsp + 0x74]
cmp edi, 0x18
jl 0x1401e8124
test eax, eax
js 0x1401e8093
jne 0x1401e8086
cmp edi, 0x19
je 0x1401e8093
xor r11d, r11d
mov dword [rsp + 0x74], r11d
jmp 0x1401e81a0
mov rcx, qword [r15 + 0x38]
xor r11d, r11d
mov dword [rsp + 0x74], r11d
mov word [rcx + 0x46], r11w
and byte [rcx + 1], 0xf9
cmp byte [rcx], r11b
je 0x1401e80b4
call fcn.14017e200
jmp 0x1401e80ef
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x1401e80da
mov word [rcx + 0x56], r8w
call fcn.14017e200
jmp 0x1401e80ef
cmp byte [rdx + 8], r11b
je 0x1401e80ea
mov dword [rsp + 0x30], r11d
jmp 0x1401e81a0
call fcn.1401967e0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x1401e819d
cmp eax, 0x65
jne 0x1401e5c07
mov r15, qword [rsp + 0x38]
mov r10d, 1
xor r11d, r11d
mov dword [rsp + 0x74], r10d
mov dword [rsp + 0x30], r11d
jmp 0x1401e83aa
test eax, eax
jg 0x1401e8147
jne 0x1401e812f
cmp edi, 0x16
je 0x1401e8147
mov rax, qword [r15 + 0x38]
xor r11d, r11d
mov ecx, r11d
cmp byte [rax], cl
setne cl
mov dword [rsp + 0x74], ecx
jmp 0x1401e7f74
mov rcx, qword [r15 + 0x38]
xor r11d, r11d
mov dword [rsp + 0x74], r11d
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], r11w
cmp byte [rcx], r11b
jne 0x1401e8185
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x1401e8185
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], r11b
je 0x1401e8185
dec dx
mov dword [rsp + 0x30], r11d
mov word [rcx + 0x56], dx
jmp 0x1401e81a0
call fcn.14017ea20
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x1401e819d
cmp eax, 0x65
jmp 0x1401e8101
xor r11d, r11d
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
test r12d, r12d
je 0x1401ebfbf
add qword [rsp + 0x38], 0x18
mov r15, qword [rsp + 0x38]
mov r12, qword [rsp + 0x60]
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
mov rax, qword [rsi + 0x38]
cmp byte [rax], 0
jne 0x1401e53a0
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsi + 0x40]
mov qword [rbp + 0x180], rax
mov byte [rbp + 0x192], 0
movzx eax, word [rcx + 0x28]
mov edi, dword [rcx + 4]
mov word [rbp + 0x190], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r12
mov qword [rbp + 0x188], rcx
nop
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.140191da0
mov ecx, dword [rbx + 0x40]
lea rax, [rcx - 1]
cmp rax, 0x7ffffffe
ja 0x1401ec409
mov rax, qword [rsp + 0x40]
xor r15d, r15d
mov word [rbp + 0xe0], r15w
mov qword [rbp + 0x100], rax
mov dword [rbp + 0xf8], r15d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x1401e827f
test r8d, r8d
mov edx, r8d
cmovs edx, r15d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0xe8], rax
cmp ecx, edx
ja 0x1401e82a2
mov edx, 0x1010
mov dword [rbp + 0xe4], ecx
mov word [rbp + 0xe0], dx
jmp 0x1401e82d2
mov r8d, ecx
lea r9, [rbp + 0xd8]
mov rcx, rbx
xor edx, edx
call fcn.1401ef1e0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e89f3
mov rax, qword [rbp + 0xe8]
mov ecx, dword [rbp + 0xe4]
xor r9d, r9d
lea r8, [rbp + 0x180]
mov rdx, rax
call fcn.1401f06a0
mov r9d, 0x2400
mov ebx, eax
test word [rbp + 0xe0], r9w
jne 0x1401e82ff
cmp dword [rbp + 0xf8], r15d
je 0x1401e8311
lea rcx, [rbp + 0xd8]
call fcn.140203480
mov r9d, 0x2400
xor r11d, r11d
mov dword [rsp + 0x30], r11d
test ebx, ebx
jg 0x1401e8396
je 0x1401e8d69
test edi, edi
jle 0x1401ebfba
mov rcx, qword [rsi + 0x38]
dec edi
mov word [rcx + 0x46], r11w
and byte [rcx + 1], 0xf9
cmp byte [rcx], r11b
je 0x1401e8346
call fcn.14017e200
jmp 0x1401e837b
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x1401e836c
mov word [rcx + 0x56], r8w
call fcn.14017e200
jmp 0x1401e837b
cmp byte [rdx + 8], r11b
jne 0x1401e8220
call fcn.1401967e0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x1401e8220
cmp eax, 0x65
jne 0x1401e89f3
xor r11d, r11d
mov r15, qword [rsp + 0x38]
add r15, 0x18
mov dword [rsp + 0x30], r11d
mov r10d, 1
mov rbx, qword [rsp + 0x58]
mov eax, dword [r15 + 8]
mov r9d, 0x2400
mov r12, qword [rsp + 0x60]
dec eax
cdqe
mov r8d, 0x1000
lea rcx, [rax + rax*2]
lea rsi, [rbx + rcx*8]
mov qword [rsp + 0x38], rsi
mov r15, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
jmp 0x1401e973a
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
movzx ecx, word [rdx + 0xc]
mov eax, dword [rax + 8]
cmp ecx, eax
jge 0x1401e8413
mov word [rdx + 0xc], ax
jmp 0x1401e973a
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
cmp ecx, eax
jle 0x1401e973a
mov word [rdx + 0xc], ax
jmp 0x1401e973a
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
cmp qword [rax + rcx*8], 0
je case.0x1401e48b0.11
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r15 + 0x10]
jge case.0x1401e48b0.85
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
imul rbx, rax, 0x38
add rbx, r12
cmp dword [rcx + 0x10], 0
jle 0x1401e84cf
mov rax, qword [rsi + 0x40]
lea rdi, [rbp + 0x1f8]
mov qword [rbp + 0x1f8], rax
mov r14, r11
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x208], ax
mov qword [rbp + 0x200], rbx
jmp 0x1401e8521
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1401e84ea
mov rcx, rbx
call fcn.1401ef0d0
test eax, eax
jne 0x1401ec86c
mov rcx, qword [rsi + 0x40]
call fcn.1401e3900
mov rdi, rax
mov r14, rax
test rax, rax
je 0x1401ec86c
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.1401f0f50
mov rcx, qword [rsp + 0x38]
xor r11d, r11d
lea r10d, [r11 + 1]
mov byte [rdi + 0x12], 0
mov ebx, r11d
cmp byte [rcx], 0x1c
jne 0x1401e855a
movzx eax, word [rdi + 0x10]
mov rcx, r11
cmp r11w, ax
jae 0x1401e855a
mov edx, eax
mov rax, qword [rdi + 8]
add rax, 8
test byte [rax], 1
jne 0x1401e8557
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x1401e8544
jmp 0x1401e855a
mov ebx, r10d
mov rcx, qword [rsi + 0x38]
lea rax, [rbp - 0xc]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.1401af450
mov dword [rsp + 0x30], eax
mov r10d, eax
test r14, r14
je 0x1401e8593
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call fcn.1401b5d40
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401ec45a
mov eax, dword [rbp - 0xc]
xor r11d, r11d
test eax, eax
mov dword [rsi + 0x2c], eax
mov ecx, r11d
sete cl
test eax, eax
setne al
mov byte [rsi + 2], al
mov rax, qword [rsp + 0x38]
mov byte [rsi + 3], r11b
mov dword [rsi + 0x28], r11d
movzx eax, byte [rax]
cmp al, 0x1e
jne 0x1401e85f7
test ecx, ecx
mov rbx, qword [rsp + 0x58]
mov r10d, 1
mov r15, qword [rsp + 0x38]
jne 0x1401e83af
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x1401e973a
test ebx, ebx
jne 0x1401e8d69
test ecx, ecx
je 0x1401e8d69
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
cmp al, 0x1b
jne 0x1401ebfab
mov rax, r15
movzx eax, word [rax + 0x10]
mov word [rsi + 0xc], ax
mov rsi, qword [rsp + 0x40]
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r12
test byte [rcx + 8], 0x24
jne case.0x1401e48b0.32
movups xmm2, xmmword [rcx]
movups xmmword [rbp + 0x110], xmm2
movups xmm0, xmmword [rcx + 0x10]
psrldq xmm2, 8
movups xmmword [rbp + 0x120], xmm0
movups xmm1, xmmword [rcx + 0x20]
movd edx, xmm2
movups xmmword [rbp + 0x130], xmm1
movsd xmm0, qword [rcx + 0x30]
movsd qword [rbp + 0x140], xmm0
test dl, 4
jne 0x1401e870e
test dl, 8
jne 0x1401e86aa
test dl, 2
je 0x1401e8705
mov edx, r10d
lea rcx, [rbp + 0x110]
call fcn.140179ed0
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x1401e86fe
movsd xmm3, qword [rbp + 0x110]
movaps xmm0, xmm3
call fcn.140186c30
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
ucomisd xmm3, xmm2
jp 0x1401e8705
jne 0x1401e8705
movabs rcx, 0x7fffffffffffffff
add rcx, rax
cmp rcx, 0xfffffffffffffffd
ja 0x1401e8705
mov qword [rbp + 0x110], rax
mov ecx, 0x3e40
movzx eax, word [rbp + 0x118]
and ax, cx
or ax, 4
mov word [rbp + 0x118], ax
movzx edx, byte [rbp + 0x118]
test dl, 4
je 0x1401e48ee
mov rdi, qword [rbp + 0x110]
jmp 0x1401e8728
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r12]
mov rax, qword [rsp + 0x38]
xor r9d, r9d
mov r8, rdi
mov dword [rbp - 0x40], r11d
xor edx, edx
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x38]
call fcn.1401af450
mov qword [rbx + 0x58], rdi
xor r11d, r11d
mov byte [rbx + 2], 0
mov r10d, eax
mov dword [rbx + 0x28], r11d
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x40]
mov byte [rbx + 3], r11b
mov dword [rbx + 0x2c], eax
test eax, eax
je 0x1401e87ca
mov r15, qword [rsp + 0x38]
cmp dword [r15 + 8], r11d
jne 0x1401e83a4
lea r14, [0x140233074]
mov r9d, 0x1614a
lea r8, str.database_corruption
mov qword [rsp + 0x20], r14
lea rdx, str._s_at_line__d_of___.10s_
lea ecx, [r11 + 0xb]
call fcn.140176260
mov r10d, 0xb
xor r15d, r15d
mov dword [rsp + 0x30], r10d
lea edi, [r10 - 0xa]
jmp 0x1401e5c16
test r10d, r10d
jne 0x1401e5c07
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
jmp 0x1401e9729
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401e881b
mov rcx, rdx
call fcn.140199ce0
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x1401e8824
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [r13 + 0x78]
mov r15, rdi
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
mov rax, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x1401e973a
mov rsi, qword [rsp + 0x38]
mov rbx, r11
mov qword [rbp - 0x48], rbx
mov dword [rbp - 0x58], r11d
movsxd rax, dword [rsi + 8]
imul r14, rax, 0x38
add r14, qword [r13 + 0x68]
test word [r14 + 8], r9w
je 0x1401e8882
mov rcx, r14
call fcn.140199ce0
mov r14, rax
jmp 0x1401e888c
mov eax, 4
mov word [r14 + 8], ax
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x1401e88ca
mov rcx, qword [rsi + 0x38]
lea rdx, [rbp - 0x58]
call fcn.1401af3d0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401ec45a
cmp dword [rbp - 0x58], eax
je 0x1401e8916
mov eax, 1
mov ebx, eax
mov qword [rbp - 0x48], rax
movabs r15, 0x7fffffffffffffff
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 0xc]
test edx, edx
je 0x1401e897e
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x1401e8948
mov rax, qword [rcx + 8]
test rax, rax
je 0x1401e890c
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401e8900
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1401e894f
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.140191da0
mov rbx, qword [rbx + 0x30]
movabs r15, 0x7fffffffffffffff
mov qword [rbp - 0x48], rbx
cmp rbx, r15
jl 0x1401e893f
or dword [rsi + 8], 2
jmp 0x1401e88d4
inc rbx
mov qword [rbp - 0x48], rbx
jmp 0x1401e88d4
imul rdi, rdx, 0x38
add rdi, r12
mov rcx, rdi
call fcn.1401ef4e0
mov rax, qword [rdi]
cmp rax, r15
je 0x1401ec44f
test byte [rsi + 8], 2
jne 0x1401ec44f
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x48], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x1401e8a02
xor r15d, r15d
mov edi, r15d
nop word [rax + rax]
lea rdx, [rbp - 0x48]
mov ecx, 8
call fcn.140169f50
mov rbx, qword [rbp - 0x48]
movabs rax, 0x3fffffffffffffff
mov rcx, qword [rsi + 0x38]
and rbx, rax
inc rbx
lea rax, [rbp - 0x58]
mov r8, rbx
mov qword [rbp - 0x48], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.1401af450
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e89f3
cmp dword [rbp - 0x58], r15d
jne 0x1401e8a02
inc edi
cmp edi, 0x64
jl 0x1401e8990
mov r10d, 0xd
mov dword [rsp + 0x30], r10d
mov rsi, qword [rsp + 0x40]
mov edi, 1
jmp 0x1401e5c0f
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov byte [rsi + 3], 0
mov r9d, 0x2400
mov dword [rsi + 0x28], r11d
mov rsi, qword [rsp + 0x40]
mov qword [r14], rbx
jmp 0x1401e9729
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rdx, r12
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r12]
mov qword [rbp + 0x1d0], r8
cmp byte [rdi + 1], 0xfa
jne 0x1401e8a7b
cmp qword [rsi + 0x130], 0
je 0x1401e8a7b
movsx rcx, byte [rbx + 1]
mov rax, qword [rsi + 0x20]
mov rdi, qword [rdi + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x1401e8a81
mov rdi, r11
mov rsi, r11
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + 2]
test al, 1
je 0x1401e8a9d
inc dword [r13 + 0x3c]
movzx eax, word [rcx + 2]
mov r8, qword [rbp + 0x1d0]
test al, 0x20
je 0x1401e8aaa
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x38], r8
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0x1d8], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0x1ec], eax
test byte [rcx + 2], 0x10
je 0x1401e8aca
mov r9d, dword [rbx + 0x2c]
jmp 0x1401e8acd
mov r9d, r11d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x1401e8ae2
mov eax, dword [rdx]
mov dword [rbp + 0x1f0], eax
jmp 0x1401e8ae9
mov dword [rbp + 0x1f0], r11d
mov qword [rbp + 0x1c8], r11
lea rdx, [rbp + 0x1c8]
movzx r8d, word [rcx + 2]
mov rcx, qword [rbx + 0x38]
and r8d, 0xa
call fcn.1401ae860
xor r11d, r11d
mov byte [rbx + 3], 0
mov dword [rsp + 0x30], eax
mov r10d, eax
mov dword [rbx + 0x28], r11d
test eax, eax
jne 0x1401ec45a
test rdi, rdi
je 0x1401ebf79
mov rax, qword [rsp + 0x38]
mov r8, rsi
mov rsi, qword [rsp + 0x40]
mov edx, 0x12
mov r9, qword [rdi]
test byte [rax + 2], 4
mov eax, 0x17
mov rcx, qword [rsi + 0x128]
cmovne edx, eax
mov rax, qword [rbp + 0x1d0]
mov qword [rsp + 0x20], rax
call qword [rsi + 0x130]
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
cmp byte [rdx + 1], 0xfa
mov r15d, dword [rax + 8]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
jne 0x1401e8be4
cmp qword [rsi + 0x130], 0
je 0x1401e8be4
mov rax, qword [rsi + 0x20]
movsx rcx, byte [rdi + 1]
mov rsi, qword [rdx + 0x10]
shl rcx, 5
test byte [rdx + 2], 2
mov r14, qword [rcx + rax]
je 0x1401e8bea
cmp byte [rdi + 4], 0
je 0x1401e8bea
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.140191da0
mov rax, qword [rbx + 0x30]
mov rdx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
mov qword [rdi + 0x58], rax
jmp 0x1401e8bea
mov r14, r11
mov rsi, r11
movzx edx, byte [rdx + 2]
mov rcx, qword [rdi + 0x38]
call fcn.1401ae210
xor r11d, r11d
mov dword [rsp + 0x30], eax
mov dword [rdi + 0x28], r11d
mov r10d, eax
mov dword [rdi + 0x2c], r11d
test eax, eax
jne 0x1401ec45a
test r15b, 1
je 0x1401ebf79
inc dword [r13 + 0x3c]
mov rax, qword [rsp + 0x40]
mov r10, qword [rax + 0x130]
test r10, r10
je 0x1401ebf93
test byte [rsi + 0x40], 0x80
jne 0x1401ebf93
mov r9, qword [rsi]
lea edx, [r11 + 9]
mov rax, qword [rdi + 0x58]
mov r8, r14
mov rsi, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi + 0x128]
call r10
jmp 0x1401e52a2
mov eax, dword [r13 + 0x3c]
mov dword [rsi + 0x74], eax
add dword [rsi + 0x78], eax
mov dword [r13 + 0x3c], r11d
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rdi, qword [rsp + 0x38]
mov rax, qword [r13 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rdx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
mov edi, dword [rdi + 0x10]
imul r15, rax, 0x38
mov rbx, qword [rdx + 0x38]
mov rsi, qword [rdx + 0x40]
mov r14, qword [rbx + 0x30]
test r14, r14
jne 0x1401e8cce
mov rcx, rsi
call fcn.1401e3900
mov qword [rbx + 0x30], rax
mov r14, rax
test rax, rax
je 0x1401e8df0
mov word [rax + 0x10], di
cmp byte [rbx + 0x58], 0
je 0x1401e8d0a
cmp byte [rbx + 0x59], 0
je 0x1401e8ce8
mov rax, qword [rbx + 0x10]
mov r8, qword [rax + 0x28]
add rax, 0x14
jmp 0x1401e8d12
mov rdx, qword [rbx + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov r8, qword [rax + 0x28]
add rax, 0x14
jmp 0x1401e8d12
mov rax, qword [rbx + 0x38]
lea r8, [rax + 0x10]
mov edx, dword [rax]
mov r9, r14
mov rcx, rsi
call fcn.1401f0f50
xor r11d, r11d
mov ecx, r11d
test edi, edi
jle 0x1401e8d40
mov rax, qword [r14 + 8]
add rax, 8
test byte [rax], 1
jne 0x1401e8d64
inc ecx
add rax, 0x38
cmp ecx, edi
jl 0x1401e8d31
mov rdx, qword [r15 + r12 + 0x10]
xor r9d, r9d
mov ecx, dword [r15 + r12 + 0xc]
mov r8, r14
call fcn.1401f06a0
xor r11d, r11d
mov dword [rsp + 0x30], r11d
test eax, eax
jmp 0x1401e85cb
mov dword [rsp + 0x30], r11d
mov r15, qword [rsp + 0x38]
jmp 0x1401e83a4
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rbx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rbx, r12
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
cmp byte [rax + 0x58], 0
je 0x1401e8dcf
cmp byte [rax + 0x59], 0
je 0x1401e8dad
mov rax, qword [rax + 0x10]
mov rsi, qword [rax + 0x28]
add rax, 0x14
jmp 0x1401e8dd7
mov rdx, qword [rax + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov rsi, qword [rax + 0x28]
add rax, 0x14
jmp 0x1401e8dd7
mov rax, qword [rax + 0x38]
lea rsi, [rax + 0x10]
movsxd rdi, dword [rax]
cmp dword [rbx + 0x20], edi
jge 0x1401e8e00
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.1401ef350
test eax, eax
je 0x1401e8e0d
mov rsi, qword [rsp + 0x40]
mov r10d, 7
jmp 0x1401e5c02
mov rax, qword [rbx + 0x18]
mov qword [rbx + 0x10], rax
and word [rbx + 8], 0x2d
mov dword [rbx + 0xc], edi
mov eax, 0x3e40
and word [rbx + 8], ax
mov r8, rdi
or word [rbx + 8], 0x10
mov rdx, rsi
mov rcx, qword [rbx + 0x10]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x38]
xor r11d, r11d
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r15, qword [rsp + 0x38]
mov dword [rsp + 0x30], r11d
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r11d
jmp 0x1401e9729
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x68]
test word [rbx + 8], r9w
je 0x1401e8e84
mov rcx, rbx
call fcn.140199ce0
mov rbx, rax
jmp 0x1401e8e8d
mov eax, 4
mov word [rbx + 8], ax
movsxd rcx, dword [rdi + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x38]
mov rcx, rdi
call fcn.140191da0
mov edx, dword [rdi + 0x40]
cmp edx, dword [rsi + 0x7c]
ja 0x1401eabe1
mov r8, rbx
mov rcx, rdi
call fcn.1401ef2f0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
mov r15, qword [rsp + 0x38]
cmp dword [r15 + 0xc], eax
jne 0x1401ebf66
movzx eax, word [rbx + 8]
bt ax, 0xc
jae 0x1401ebf66
test al, 0x12
je 0x1401e8f24
bt ax, 0xe
jae 0x1401e8f04
mov rcx, rbx
call fcn.1401ef0d0
test eax, eax
jne 0x1401ec49d
cmp dword [rbx + 0x20], 0
je 0x1401e8f14
mov rax, qword [rbx + 0x18]
cmp qword [rbx + 0x10], rax
je 0x1401e8f24
mov rcx, rbx
call fcn.140203420
test eax, eax
jne 0x1401ec49d
mov eax, 0xefff
mov r9d, 0x2400
and word [rbx + 8], ax
xor r11d, r11d
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x68]
test word [rdi + 8], r9w
je 0x1401e8f7a
mov rcx, rdi
call fcn.140199ce0
xor r11d, r11d
lea rdx, [0x140000000]
mov rdi, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x1401e8f83
mov eax, 4
mov word [rdi + 8], ax
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x1401e8fbb
mov r15, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
mov word [rdi + 8], r10w
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
cmp byte [rbx + 3], 0
je 0x1401e8fdf
mov rax, qword [rbx + 0x58]
xor r11d, r11d
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rbp + 8], rax
mov qword [rdi], rax
jmp 0x1401e9729
cmp byte [rbx], 2
mov rcx, qword [rbx + 0x38]
jne 0x1401e902c
mov rbx, qword [rcx]
lea rdx, [rbp + 8]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.1401f2f60
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401e5c07
mov rax, qword [rbp + 8]
xor r11d, r11d
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rdi], rax
jmp 0x1401e9729
cmp byte [rcx], 0
je 0x1401e904d
mov rcx, rbx
call fcn.140192970
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
xor r11d, r11d
jmp 0x1401e9052
mov dword [rsp + 0x30], r11d
cmp byte [rbx + 2], 0
je 0x1401e907e
mov r15, qword [rsp + 0x38]
mov r10d, 1
mov rbx, qword [rsp + 0x58]
mov r9d, 0x2400
mov word [rdi + 8], r10w
mov r8d, 0x1000
jmp 0x1401e973a
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.140191da0
mov rax, qword [rbx + 0x30]
xor r11d, r11d
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rbp + 8], rax
mov qword [rdi], rax
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov byte [rcx + 2], 1
mov dword [rcx + 0x28], r11d
cmp byte [rcx], 0
jne 0x1401ebfbf
mov rcx, qword [rcx + 0x38]
call fcn.1401ad550
jmp 0x1401e52a2
mov rax, qword [rsp + 0x38]
mov dword [rbp - 0x3c], r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
cmp dil, 0x82
jne 0x1401e9107
mov dword [rbx + 0x2c], 0xffffffff
cmp byte [rcx], 0
je 0x1401ebfbf
lea rdx, [rbp - 0x3c]
call fcn.1401af3d0
mov r10d, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x3c]
xor r11d, r11d
mov byte [rbx + 2], al
mov byte [rbx + 3], 0
mov dword [rbx + 0x28], r11d
test r10d, r10d
jne 0x1401e5c07
mov r15, qword [rsp + 0x38]
cmp dword [r15 + 8], r11d
jle 0x1401ebf83
mov rbx, qword [rsp + 0x58]
jmp 0x1401e6511
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.140196a70
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e9189
xor r15d, r15d
mov rcx, rbx
mov edi, r15d
call fcn.1401967e0
mov r10d, eax
mov dword [rsp + 0x30], eax
jmp 0x1401e91b0
cmp eax, 0x10
jne 0x1401e91aa
mov r15, qword [rsp + 0x38]
mov r10d, 1
xor r11d, r11d
mov dword [rbp - 0x60], r10d
mov dword [rsp + 0x30], r11d
jmp 0x1401e83aa
mov edi, dword [rbp - 0x60]
xor r15d, r15d
mov dword [rbp - 0x60], edi
mov r11d, r10d
test r10d, r10d
jne 0x1401e89f8
mov dword [rsp + 0x30], r10d
test edi, edi
jne 0x1401eb8df
mov rcx, rbx
call fcn.1401b05a0
test rax, rax
js 0x1401e9206
mov rcx, rax
call fcn.1401cb1a0
mov r15, qword [rsp + 0x38]
movsx ecx, ax
cmp ecx, dword [r15 + 0xc]
jge 0x1401e920b
mov r10d, 1
mov dword [rsp + 0x30], r11d
mov dword [rbp - 0x60], r10d
xor r11d, r11d
jmp 0x1401e83aa
mov r15, qword [rsp + 0x38]
mov dword [rsp + 0x30], r11d
mov r9d, 0x2400
xor r11d, r11d
mov dword [rbp - 0x60], edi
jmp 0x1401e9729
inc dword [r13 + 0xdc]
mov rax, qword [rsp + 0x38]
mov edi, r10d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi], 1
mov rbx, qword [rsi + 0x38]
jne 0x1401e929e
cmp byte [rbx + 0x58], 0
mov dword [rsp + 0x30], r11d
jne 0x1401e9270
cmp qword [rbx + 0x38], 0
lea rdx, [rbx + 0x38]
je 0x1401e92c9
lea rcx, [rbx + 0x60]
mov edi, r11d
call fcn.140205ed0
mov dword [rsp + 0x30], eax
xor r11d, r11d
jmp 0x1401e92c9
mov rcx, rbx
call fcn.140204e10
mov edx, eax
mov rcx, rbx
call fcn.140204f80
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401e926b
mov rcx, rbx
call fcn.140205c00
xor r11d, r11d
mov dword [rsp + 0x30], eax
mov edi, r11d
jmp 0x1401e92c9
mov rcx, rbx
call fcn.140196a70
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401e9309
xor eax, eax
mov rcx, rbx
mov edi, eax
call fcn.1401967e0
mov dword [rsp + 0x30], eax
xor r11d, r11d
mov byte [rsi + 3], 0
mov dword [rsi + 0x28], r11d
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401ec45a
mov r15, qword [rsp + 0x38]
mov r10d, 1
mov rbx, qword [rsp + 0x58]
mov byte [rsi + 2], dil
test edi, edi
jne 0x1401e83af
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x1401e973a
cmp eax, 0x10
jne 0x1401e92be
xor r11d, r11d
lea edi, [rax - 0xf]
mov dword [rsp + 0x30], r11d
jmp 0x1401e92c1
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rbx, qword [rdi + 0x38]
cmp byte [rbx + 0x58], 0
je 0x1401e93a7
cmp byte [rbx + 0x59], 0
je 0x1401e9375
mov rcx, qword [rbx + 0x10]
call fcn.140203fe0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e9406
mov rax, qword [rbx + 0x10]
xor r11d, r11d
cmp qword [rax + 0x18], r11
jne 0x1401e9409
mov r10d, 0x65
mov dword [rsp + 0x30], r10d
jmp 0x1401e9409
mov rcx, qword [rbx + 0x18]
lea rdx, [rbp - 0x38]
mov dword [rbp - 0x38], r11d
call fcn.140203970
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e9406
xor r11d, r11d
cmp dword [rbp - 0x38], r11d
je 0x1401e9409
mov r10d, 0x65
mov dword [rsp + 0x30], r10d
jmp 0x1401e9409
mov rdx, qword [rbx + 0x38]
mov rax, qword [rdx + 8]
mov qword [rbx + 0x38], rax
mov qword [rdx + 8], r11
cmp qword [rbx + 0x40], 0
jne 0x1401e93c9
mov rcx, rsi
call fcn.140205b00
xor r11d, r11d
cmp qword [rbx + 0x38], 0
mov r10d, 0x65
cmovne r10d, r11d
mov dword [rsp + 0x30], r10d
jmp 0x1401e9409
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x38]
mov edx, dword [rax + 0xc]
call qword [rax + 0x10]
mov r10d, eax
mov dword [rsp + 0x30], eax
xor r11d, r11d
mov dword [rdi + 0x28], r11d
test r10d, r10d
jne 0x1401e942c
mov rax, qword [rsp + 0x38]
mov byte [rdi + 2], r10b
movzx eax, word [rax + 2]
inc dword [r13 + rax*4 + 0xd4]
jmp 0x1401ebb05
cmp r10d, 0x65
jne 0x1401e5c07
mov dword [rsp + 0x30], r11d
mov byte [rdi + 2], 1
jmp 0x1401ea0c8
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r12
test byte [rcx + 2], 1
je 0x1401e946f
inc dword [r13 + 0x3c]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1401e9499
mov rcx, rbx
call fcn.1401ef0d0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
mov rcx, qword [rsp + 0x38]
xor r11d, r11d
movsxd rax, dword [rbx + 0xc]
mov qword [rbp + 0x288], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x280], rax
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r12
mov qword [rbp + 0x298], rcx
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x2a0], ax
movzx r8d, word [rcx + 2]
test r8b, 0x10
je 0x1401e94e2
mov r9d, dword [rdi + 0x2c]
jmp 0x1401e94e5
mov r9d, r11d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x280]
and r8d, 0xa
call fcn.1401ae860
xor r11d, r11d
mov dword [rsp + 0x30], eax
mov dword [rdi + 0x28], r11d
mov r10d, eax
test eax, eax
jne 0x1401e5c07
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r12
test word [rbx + 8], ax
je 0x1401e9562
mov rcx, rbx
call fcn.1401ef0d0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
mov rdx, rbx
mov rcx, rdi
call fcn.1401f2010
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
lea rdx, [rbp + 0x1b0]
xor r9d, r9d
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp + 0x1b0], rax
movzx eax, word [rcx + 0xc]
mov word [rbp + 0x1c0], ax
mov byte [rbp + 0x1c2], 0
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
lea rax, [rbp - 8]
add rcx, r12
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x1b8], rcx
mov rcx, rdi
call fcn.1401af450
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
cmp dword [rbp - 8], eax
jne 0x1401e963e
mov dl, 4
mov rcx, rdi
call fcn.1401ae210
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rbx + 0x28], r11d
mov r9d, 0x2400
mov dword [rbx + 0x2c], r11d
jmp 0x1401e9729
mov r15, qword [rsp + 0x38]
cmp word [r15 + 2], 0
jne 0x1401ec464
xor r11d, r11d
mov r9d, 0x2400
mov dword [rbx + 0x28], r11d
mov dword [rbx + 0x2c], r11d
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], 0
je 0x1401e96b2
mov rcx, rbx
call fcn.140192970
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
xor r11d, r11d
lea r10d, [rax + 1]
mov r9d, 0x2400
lea rdx, [0x140000000]
mov r8d, 0x1000
jmp 0x1401e96b7
mov dword [rsp + 0x30], r11d
cmp byte [rbx + 2], 0
jne 0x1401e978f
mov rdx, qword [rbx + 0x38]
lea r8, [rbp + 0x10]
mov rcx, rsi
mov qword [rbp + 0x10], r11
call fcn.1401ee080
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
mov rax, qword [rsp + 0x38]
mov r9d, 0x2400
cmp byte [rax], 0x86
jne 0x1401e9753
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp + 0x10]
mov byte [rdx + 2], r10b
mov qword [rdx + 0x58], rax
mov rax, qword [rsp + 0x38]
mov byte [rdx + 3], 1
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov r8d, 0x1000
mov rbx, qword [rsp + 0x58]
mov r10d, 1
lea rdx, [0x140000000]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x1401e977d
call fcn.140199ce0
mov rcx, rax
mov r9d, 0x2400
mov rax, qword [rbp + 0x10]
mov qword [rcx], rax
jmp 0x1401e9721
mov eax, 4
mov word [rcx + 8], ax
mov rax, qword [rbp + 0x10]
mov qword [rcx], rax
jmp 0x1401e9721
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r12
test word [rcx + 8], r9w
je 0x1401e97be
call fcn.1402034d0
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov r15, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
mov word [rcx + 8], r10w
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x1401e53a5
call fcn.1401ed570
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
jmp 0x1401e52a2
mov rax, qword [rsp + 0x38]
cmp dil, 0x28
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rdx + 0x40]
mov rbx, qword [rdx + 0x38]
mov qword [rbp + 0x198], rax
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x1a8], ax
sbb al, al
mov byte [rbp + 0x1aa], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r12
mov qword [rbp + 0x1a0], rcx
mov rcx, rbx
call fcn.140191da0
mov r10d, dword [rbx + 0x40]
lea eax, [r10 - 1]
cmp eax, 0x7ffffffe
ja 0x1401ec46f
mov qword [rbp + 0x170], rsi
xor r15d, r15d
mov word [rbp + 0x150], r15w
mov dword [rbp + 0x168], r15d
mov rax, qword [rbx + 0x88]
movzx ecx, word [rbx + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbx + 0x38]
cmp ecx, edx
jle 0x1401e98b2
test edx, edx
mov ecx, edx
cmovs ecx, r15d
mov rdx, qword [rbx + 0x38]
mov qword [rbp + 0x158], rdx
cmp r10d, ecx
ja 0x1401e98dc
mov eax, 0x1010
mov dword [rbp + 0x154], r10d
mov word [rbp + 0x150], ax
mov dword [rsp + 0x30], r15d
jmp 0x1401e990d
lea r9, [rbp + 0x148]
mov r8d, r10d
xor edx, edx
mov rcx, rbx
call fcn.1401ef1e0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e89f8
mov rdx, qword [rbp + 0x158]
mov r10d, dword [rbp + 0x154]
xor r9d, r9d
lea r8, [rbp + 0x198]
mov ecx, r10d
call fcn.1401f06a0
mov r9d, 0x2400
mov ebx, eax
test word [rbp + 0x150], r9w
jne 0x1401e993a
cmp dword [rbp + 0x168], r15d
je 0x1401e994c
lea rcx, [rbp + 0x148]
call fcn.140203480
mov r9d, 0x2400
mov r15, qword [rsp + 0x38]
test byte [r15], 1
jne 0x1401e995b
neg ebx
jmp 0x1401e995d
inc ebx
xor r11d, r11d
test ebx, ebx
mov rbx, qword [rsp + 0x58]
lea r10d, [r11 + 1]
jg 0x1401e83af
mov r8d, 0x1000
jmp 0x1401e973a
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x68]
test word [rdi + 8], r9w
je 0x1401e99a8
mov rcx, rdi
call fcn.140199ce0
mov rdi, rax
xor r11d, r11d
mov r10d, 1
mov word [rdi + 8], r10w
mov eax, dword [rsi + 0xd8]
inc eax
cmp dword [rsi + 0xcc], eax
jg 0x1401ec485
mov rax, qword [rsp + 0x38]
mov dword [rbp - 0x34], r11d
movsxd r15, dword [rax + 0xc]
mov esi, dword [rax + 4]
mov r14, r15
mov rax, qword [rsp + 0x40]
shl r14, 5
mov rax, qword [rax + 0x20]
mov rbx, qword [rax + r14 + 8]
cmp byte [rbx + 0x11], 0
je 0x1401e99fd
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1401e99fd
mov rcx, rbx
call fcn.14017e040
lea r8, [rbp - 0x34]
mov edx, esi
mov rcx, rbx
call fcn.14017d7b0
cmp byte [rbx + 0x11], 0
mov r10d, eax
mov dword [rsp + 0x30], eax
je 0x1401e9a2b
sub dword [rbx + 0x14], 1
jne 0x1401e9a2b
mov rcx, rbx
call fcn.1401ffc70
mov r10d, dword [rsp + 0x30]
movsxd rdx, dword [rbp - 0x34]
mov eax, 4
mov word [rdi + 8], ax
mov qword [rdi], rdx
test r10d, r10d
jne 0x1401ec45a
mov rsi, qword [rsp + 0x40]
test edx, edx
je 0x1401ebf61
mov rax, qword [rsp + 0x38]
mov r9, qword [rsi + 0x20]
mov r8d, dword [rax + 4]
mov rcx, qword [r9 + r14 + 0x18]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1401e9a8a
nop dword [rax]
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x38], edx
jne 0x1401e9a7d
mov dword [rcx + 0x38], r8d
mov rax, qword [rax]
test rax, rax
jne 0x1401e9a70
mov rcx, qword [r9 + r14 + 0x18]
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x1401e9aa8
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x58], edx
jne 0x1401e9aa0
mov dword [rcx + 0x58], r8d
mov rax, qword [rax]
test rax, rax
jne 0x1401e9a93
lea eax, [r15 + 1]
xor r11d, r11d
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
mov byte [rsp + 0x70], al
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
lea r8, [rbp - 0x54]
mov r15, qword [rsp + 0x38]
mov dword [rbp - 0x54], r11d
mov rcx, qword [rsi + 0x20]
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 8]
mov edx, dword [r15 + 4]
cmove r8, r11
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1401ad610
cmp dword [r15 + 0xc], 0
mov r10d, eax
mov dword [rsp + 0x30], eax
je 0x1401e9b23
mov eax, dword [rbp - 0x54]
add dword [r13 + 0x3c], eax
mov rax, r15
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x1401e9b23
imul rcx, rax, 0x38
movsxd rax, dword [rbp - 0x54]
add qword [rcx + r12], rax
test r10d, r10d
jne 0x1401e5c07
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x1401e9734
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x1401e9b67
mov rdx, qword [rcx + 0x38]
mov rcx, rsi
call fcn.1401f1bd0
jmp 0x1401e52a2
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.1401ad610
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
jmp 0x1401e52a2
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x68]
test word [rdi + 8], r9w
je 0x1401e9bb6
mov rcx, rdi
call fcn.140199ce0
mov rdi, rax
xor r11d, r11d
jmp 0x1401e9bbf
mov eax, 4
mov word [rdi + 8], ax
mov rax, qword [rsp + 0x38]
mov dword [rbp - 0x30], r11d
movsxd rcx, dword [rax + 4]
mov esi, dword [rax + 0xc]
mov rax, qword [rsp + 0x40]
shl rcx, 5
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x1401e9bf8
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1401e9bf8
mov rcx, rbx
call fcn.14017e040
mov r8d, esi
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.14017d2a0
cmp byte [rbx + 0x11], 0
mov r10d, eax
mov dword [rsp + 0x30], eax
je 0x1401e9c27
sub dword [rbx + 0x14], 1
jne 0x1401e9c27
mov rcx, rbx
call fcn.1401ffc70
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
jne 0x1401e5c07
mov eax, dword [rbp - 0x30]
xor r11d, r11d
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rdi], rax
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
xor r9d, r9d
inc byte [rsi + 0x6a]
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x20], r11
mov rdx, qword [rax + 0x10]
call fcn.140167520
dec byte [rsi + 0x6a]
mov r10d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401e5c07
jmp 0x1401e52a2
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0
movsxd rbx, dword [rax + 4]
jne 0x1401e9cdf
mov rcx, qword [rsi + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1401d7c00
and dword [rsi + 0x2c], 0xffffffef
lea r8, [r13 + 0xa8]
mov r9d, 1
mov edx, ebx
mov rcx, rsi
call fcn.1401c7320
or dword [rsi + 0x2c], 1
mov r10d, eax
and dword [r13 + 0xc8], 0xfffffffc
xor r15d, r15d
mov dword [rsp + 0x30], eax
jmp 0x1401e9ded
mov qword [rbp + 0x78], rsi
lea rax, [r13 + 0xa8]
mov qword [rbp + 0x80], rax
lea r9, str.sqlite_master
mov dword [rbp + 0x88], ebx
mov rdx, rbx
mov dword [rbp + 0x90], r11d
mov rax, qword [rsi + 0x20]
shl rdx, 5
mov rcx, qword [rax + rdx + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov rax, qword [rsp + 0x38]
mov dword [rbp + 0x98], ecx
mov rcx, rsi
mov r8, qword [rsi + 0x20]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x20], rax
mov r8, qword [r8 + rdx]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.1401cb370
mov rbx, rax
mov rcx, rsi
test rax, rax
je 0x1401ec498
xor r15d, r15d
mov byte [rsi + 0xb5], 1
lea r9, [rbp + 0x78]
mov dword [rbp + 0x8c], r15d
lea r8, [fcn.1401c6b70]
mov dword [rbp + 0x94], r15d
mov rdx, rax
mov qword [rsp + 0x20], r15
call fcn.140167520
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401e9dd6
mov eax, dword [rbp + 0x8c]
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401e9dd6
cmp dword [rbp + 0x94], r15d
jne 0x1401e9dd6
lea rax, [0x140233074]
mov r9d, 0x1670d
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
lea ecx, [r15 + 0xb]
call fcn.140176260
mov dword [rsp + 0x30], 0xb
mov rdx, rbx
mov rcx, rsi
call fcn.1401b5d40
mov r10d, dword [rsp + 0x30]
mov byte [rsi + 0xb5], r15b
test r10d, r10d
je 0x1401e5554
mov rcx, rsi
call fcn.1401d5c90
mov r10d, dword [rsp + 0x30]
mov rbx, qword [rsp + 0x50]
cmp r10d, 7
jne 0x1401eca57
mov r10d, 1
jmp 0x1401ec4ab
mov rax, qword [rsp + 0x38]
mov rcx, rsi
mov edx, dword [rax + 4]
call fcn.1401aab10
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
jmp 0x1401e52a2
mov rax, qword [rsp + 0x38]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rdx, qword [rax + 0x10]
shl rcx, 5
add rcx, qword [rsi + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.1401c6130
test rax, rax
je 0x1401e9e8a
cmp qword [rsi + 0x2d8], 0
jne 0x1401e9e7f
mov ecx, 0xffffffff
add dword [rax + 0x3c], ecx
jne 0x1401e9e8a
mov rdx, rax
mov rcx, rsi
call fcn.140186370
or dword [rsi + 0x2c], 1
jmp 0x1401e52a2
mov rax, qword [rsp + 0x38]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x38]
add rcx, 0x20
mov rdx, qword [rax + 0x10]
call fcn.1401c6130
mov rdx, rax
test rax, rax
je 0x1401e9e8a
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x1401e9eec
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
mov rcx, rsi
call fcn.1401c1cb0
or dword [rsi + 0x2c], 1
jmp 0x1401e52a2
test rcx, rcx
je 0x1401e9f1b
mov rax, qword [rcx + 0x28]
cmp rax, rdx
je 0x1401e9f13
mov rcx, rax
test rax, rax
jne 0x1401e9ef1
mov rcx, rsi
call fcn.1401c1cb0
or dword [rsi + 0x2c], 1
jmp 0x1401e52a2
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
mov rcx, rsi
call fcn.1401c1cb0
or dword [rsi + 0x2c], 1
jmp 0x1401e52a2
mov rax, qword [rsp + 0x38]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x38]
add rcx, 0x38
mov rdx, qword [rax + 0x10]
call fcn.1401c6130
mov rbx, rax
test rax, rax
je 0x1401ebf61
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x1401e9fce
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.14018bed0
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1401e9fce
mov rax, qword [rdx + 0x68]
add rdx, 0x68
test rax, rax
je 0x1401e9fce
cmp rax, rbx
je 0x1401e9fc7
lea rdx, [rax + 0x40]
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1401e9f93
mov rdx, rbx
mov rcx, rsi
call fcn.1401b70c0
or dword [rsi + 0x2c], 1
mov r9d, 0x2400
mov r15, qword [rsp + 0x38]
xor r11d, r11d
jmp 0x1401e9729
mov rax, qword [rax + 0x40]
mov qword [rdx], rax
mov rdx, rbx
mov rcx, rsi
call fcn.1401b70c0
or dword [rsi + 0x2c], 1
mov r9d, 0x2400
mov r15, qword [rsp + 0x38]
xor r11d, r11d
jmp 0x1401e9729
mov rcx, qword [rsp + 0x38]
lea r10, [rbp - 0x28]
mov r9, qword [rsp + 0x38]
mov rdx, qword [rsi + 0x20]
mov qword [rsp + 0x28], r10
movsxd rax, dword [rcx + 0xc]
mov r8, qword [rcx + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
add r8, 4
imul rbx, rax, 0x38
movzx eax, word [r9 + 2]
mov ecx, dword [rdi + r12]
add rbx, r12
mov r9d, dword [r9 + 8]
inc ecx
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, rsi
mov rdx, qword [rax + rdx + 8]
call fcn.1401aecb0
mov rsi, rax
mov eax, 0x2400
test word [rbx + 8], ax
je 0x1401ea064
mov rcx, rbx
call fcn.1402034d0
mov r10d, 1
jmp 0x1401ea06f
mov r10d, 1
mov word [rbx + 8], r10w
mov eax, dword [rbp - 0x28]
test eax, eax
je 0x1401ea0a8
test rsi, rsi
je 0x1401ec876
dec eax
mov r9b, 1
movsxd rcx, eax
mov r8d, 0xffffffff
sub qword [rdi + r12], rcx
lea rax, [fcn.140169e00]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.1401ef870
test byte [rbx + 8], 2
je 0x1401ea0c3
movzx eax, byte [rsp + 0x48]
cmp byte [rbx + 0xa], al
je 0x1401ea0c3
movzx edx, al
mov rcx, rbx
call fcn.1401efce0
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov eax, dword [rsi + 0x170]
mov rbx, qword [rsp + 0x50]
test eax, eax
jne 0x1401eca4e
cmp r14, rbx
jb 0x1401ebfd3
nop word [rax + rax]
mov rdx, qword [rsi + 0x1e0]
test rdx, rdx
je 0x1401ebf61
mov eax, dword [rsi + 0x1f0]
mov rcx, qword [rsi + 0x1e8]
add rbx, rax
mov qword [rsp + 0x50], rbx
call rdx
test eax, eax
jne 0x1401eca47
cmp r14, rbx
jae 0x1401ea0f0
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r12
imul rdi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x1401ea165
mov rcx, rbx
call fcn.1401ef760
test eax, eax
jne 0x1401ec49d
mov rdx, qword [rdi + r12]
mov rcx, qword [rbx + 0x10]
call fcn.1401d6a30
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r12
movzx eax, word [rdi + 8]
test al, 0x10
je 0x1401ea236
mov rbx, qword [rdi + 0x10]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x1401ea1d6
test al, 1
jne 0x1401ea1ce
mov rcx, qword [rbx + 0x10]
call fcn.1401a5100
mov qword [rbx + 0x10], rax
mov r10d, 1
movzx eax, word [rbx + 0x32]
mov r9d, 0x2400
or ax, 3
mov word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1401ea232
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x1401ea1fd
mov rcx, rbx
call fcn.1401d68e0
mov r9d, 0x2400
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r12
test word [rcx + 8], r9w
je 0x1401ea221
mov rdx, rdi
call fcn.140204590
jmp 0x1401ea0c8
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 8], ax
jmp 0x1401ea0ce
movzx eax, word [rdi + 8]
test r9w, ax
je 0x1401ea249
mov rcx, rdi
call fcn.1402034d0
jmp 0x1401ebb05
mov word [rdi + 8], r10w
jmp case.0x1401e48b0.11
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r12
imul rsi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x1401ea284
mov rcx, rbx
call fcn.1401ef760
test eax, eax
jne 0x1401ec86c
test edi, edi
je 0x1401ea2a7
mov r8, qword [rsi + r12]
mov edx, edi
mov rcx, qword [rbx + 0x10]
call fcn.1401d6aa0
test eax, eax
jne 0x1401eb8df
test edi, edi
js 0x1401ebf5c
mov rdx, qword [rsi + r12]
mov rcx, qword [rbx + 0x10]
call fcn.1401d6a30
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
jmp 0x1401e9729
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
mov r12, qword [rcx + 0x10]
imul r15, rax, 0x38
add r15, qword [rsp + 0x60]
cmp word [rcx + 2], 0
je 0x1401ea313
mov rax, qword [r13 + 0x100]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x1401ea313
nop word [rax + rax]
cmp qword [rax + 0x38], rcx
je 0x1401ec139
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401ea300
mov eax, dword [r13 + 0x110]
cmp eax, dword [rsi + 0xa4]
jge 0x1401ec506
test byte [r15 + 8], 0x10
jne 0x1401ea47d
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12 + 0xc]
add ecx, edx
test edx, edx
lea esi, [rcx + 1]
cmovne esi, ecx
lea eax, [rsi + 2]
imul ecx, eax, 7
mov eax, dword [r12 + 8]
add ecx, edx
add eax, 7
jns 0x1401ea35a
add eax, 7
sar eax, 3
lea edi, [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
movsxd rbx, edi
mov rdx, rbx
call fcn.1401b5ed0
mov r14, rax
test rax, rax
je 0x1401ec86c
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov eax, 0x2400
test word [r15 + 8], ax
jne 0x1401ea39c
cmp dword [r15 + 0x20], 0
je 0x1401ea3a4
mov rcx, r15
call fcn.140203480
mov rcx, qword [rsp + 0x38]
mov eax, 0x410
sub rcx, qword [rsp + 0x58]
mov word [r15 + 8], ax
lea rax, [0x1401ed810]
mov qword [r15 + 0x10], r14
mov dword [r15 + 0xc], edi
mov qword [r15 + 0x30], rax
mov qword [r14], r13
mov dword [r14 + 0x60], esi
mov eax, dword [r12 + 0x10]
mov dword [r14 + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x54], edx
mov rax, qword [r13 + 0x68]
mov qword [r14 + 0x20], rax
mov eax, dword [r13 + 0x28]
mov dword [r14 + 0x5c], eax
mov rax, qword [r13 + 0x78]
mov qword [r14 + 0x28], rax
mov eax, dword [r13 + 0x2c]
mov dword [r14 + 0x50], eax
mov rax, qword [r13 + 0x88]
mov qword [r14 + 0x10], rax
mov eax, dword [r13 + 0x90]
mov dword [r14 + 0x58], eax
mov rax, qword [r12 + 0x20]
mov qword [r14 + 0x38], rax
movsxd rax, esi
mov rsi, qword [rsp + 0x40]
add rax, 2
imul rcx, rax, 0x38
lea rax, [r14 + 0x70]
add rcx, r14
cmp rax, rcx
je 0x1401ea471
mov edx, 0x80
nop word [rax + rax]
mov word [rax + 8], dx
mov qword [rax + 0x28], rsi
add rax, 0x38
cmp rax, rcx
jne 0x1401ea460
mov eax, dword [r13 + 0x110]
xor r11d, r11d
jmp 0x1401ea481
mov r14, qword [r15 + 0x10]
inc eax
lea r8, [r14 + 0x70]
mov dword [r13 + 0x110], eax
mov rax, qword [r13 + 0x100]
mov qword [r14 + 8], rax
mov rax, qword [rsi + 0x38]
mov qword [r14 + 0x40], rax
mov eax, dword [r13 + 0x3c]
mov dword [r14 + 0x68], eax
mov rax, qword [r13]
mov qword [rsp + 0x60], r8
mov ecx, dword [rax + 0x74]
mov dword [r14 + 0x6c], ecx
mov rax, qword [r13 + 0x120]
mov qword [r14 + 0x48], rax
mov qword [r13 + 0x120], r11
mov dword [r13 + 0x3c], r11d
mov qword [r13 + 0x100], r14
mov qword [r13 + 0x68], r8
movsxd rcx, dword [r14 + 0x60]
mov dword [r13 + 0x28], ecx
movzx eax, word [r14 + 0x64]
mov dword [r13 + 0x2c], eax
imul rdx, rcx, 0x38
add rdx, r8
mov qword [r13 + 0x78], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [r14 + 0x30], rcx
mov eax, dword [r12 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call sub.VCRUNTIME140.dll_memset
mov rdi, qword [r12]
mov r14, qword [rbp - 0x20]
mov qword [r13 + 0x88], rdi
mov eax, dword [r12 + 8]
mov r12, qword [rsp + 0x60]
mov dword [r13 + 0x90], eax
lea rax, [rdi - 0x18]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], rdi
jmp 0x1401ea0c8
mov rax, qword [rsp + 0x38]
mov edi, 0x2400
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
add r9, qword [r13 + 0x68]
test word [r9 + 8], di
je 0x1401ea582
mov rcx, r9
call fcn.140199ce0
xor r11d, r11d
mov r9, rax
lea r10d, [r11 + 1]
jmp 0x1401ea58c
mov eax, 4
mov word [r9 + 8], ax
mov r8, qword [r13 + 0x100]
movsxd rax, dword [r8 + 0x54]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rax, qword [rsp + 0x38]
add edx, dword [rax + 4]
movsxd rax, edx
imul rcx, rax, 0x38
add rcx, qword [r8 + 0x20]
test word [r9 + 8], di
je 0x1401ea5e4
mov rdx, rcx
mov r8d, 0x1000
mov rcx, r9
call fcn.140201fa0
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, edi
mov r8d, 0x1000
jmp 0x1401e9734
movups xmm0, xmmword [rcx]
mov r15, qword [rsp + 0x38]
mov eax, 0x800
movups xmmword [r9], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [r9 + 0x10], xmm1
test word [rcx + 8], ax
jne 0x1401ebfe5
mov eax, 0xf3ff
mov r8d, 0x1000
and word [r9 + 8], ax
or word [r9 + 8], r8w
mov r9d, edi
jmp 0x1401e973a
mov eax, dword [rsi + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x38]
mov r15, rax
jae 0x1401ea656
movsxd rax, dword [rax + 8]
add qword [rsi + 0x2d0], rax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
je 0x1401ea679
add qword [rsi + 0x2c8], rax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
add qword [r13 + 0x50], rax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
cmp dword [r15 + 4], 0
je 0x1401ea6c4
cmp qword [rsi + 0x2c8], 0
jne case.0x1401e48b0.85
cmp qword [rsi + 0x2d0], 0
je 0x1401e83af
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
cmp qword [r13 + 0x50], 0
jne case.0x1401e48b0.85
cmp qword [rsi + 0x2d0], 0
je 0x1401e83af
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x1401ea723
mov rax, qword [rcx + 8]
test rax, rax
je 0x1401ea710
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401ea704
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1401ea733
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r12
mov rcx, rdi
call fcn.1401ef4e0
mov r15, qword [rsp + 0x38]
movsxd rax, dword [r15 + 8]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.1401ef4e0
mov rax, qword [rbx]
xor r11d, r11d
mov r9d, 0x2400
cmp qword [rdi], rax
jge 0x1401ebf89
mov qword [rdi], rax
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r12]
test rdx, rdx
jle 0x1401e973a
mov rax, r15
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r12], rdx
jmp 0x1401e83af
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401ea7e4
mov rcx, rdx
call fcn.140199ce0
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401ea7ed
mov eax, 4
mov word [rdx + 8], ax
mov r8, qword [rbx + r12]
test r8, r8
jle 0x1401ea834
mov rcx, qword [rdi + r12]
test rcx, rcx
cmovle rcx, r11
test rcx, rcx
js 0x1401ea818
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jl 0x1401ea834
mov r15, qword [rsp + 0x38]
lea rax, [rcx + r8]
mov rbx, qword [rsp + 0x58]
mov r8d, 0x1000
mov qword [rdx], rax
jmp 0x1401e973a
mov r15, qword [rsp + 0x38]
mov rax, 0xffffffffffffffff
mov rbx, qword [rsp + 0x58]
mov r8d, 0x1000
mov qword [rdx], rax
jmp 0x1401e973a
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
test rax, rax
je 0x1401e53a5
mov r15, qword [rsp + 0x38]
jle 0x1401e83af
dec rax
mov qword [rcx + r12], rax
jmp 0x1401e83af
mov rax, qword [rsp + 0x38]
movabs rdi, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
cmp rax, rdi
jle 0x1401ea8ab
dec rax
mov qword [rcx + r12], rax
mov r15, qword [rsp + 0x38]
test rax, rax
je 0x1401e83af
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rax, qword [rsp + 0x38]
mov rcx, rsi
movzx ebx, word [rax + 2]
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.1401b5ed0
mov r8, rax
test rax, rax
je 0x1401ec49d
xor r14d, r14d
add rdi, 6
mov qword [rax + 0x10], r14
lea rcx, [rax + rdi*8]
mov qword [rax], rcx
mov edi, 1
mov rax, qword [rsp + 0x38]
mov word [rcx + 8], di
mov qword [rcx + 0x28], rsi
mov dword [rcx + 0x20], r14d
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x38]
mov dword [r8 + 0x20], edx
mov qword [r8 + 0x18], r13
mov byte [r8 + 0x28], r14b
mov dword [r8 + 0x24], r14d
mov byte [r8 + 0x29], bl
mov byte [rax + 1], 0xf0
mov qword [rax + 0x10], r8
mov byte [rax], 0x9c
jmp 0x1401ea977
mov rax, qword [rsp + 0x38]
xor r14d, r14d
lea edi, [r14 + 1]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, r12
cmp qword [rbx + 0x10], r10
je 0x1401ea9d5
mov qword [rbx + 0x10], r10
movzx eax, byte [rbx + 0x29]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x1401ea9d5
mov rsi, qword [rsp + 0x38]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax]
mov eax, dword [rsi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r12
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x1401ea9b0
mov rsi, qword [rsp + 0x40]
inc dword [r10 + 0xc]
lea r8, [rbx + 0x30]
mov r15, qword [rsp + 0x38]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [r15 + 4], 0
je 0x1401ea9f9
call qword [rax + 0x30]
jmp 0x1401ea9fc
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1401ebf66
jle 0x1401eaa63
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1401eaa16
mov rax, r14
jmp 0x1401eaa4a
movzx edx, word [rcx + 8]
mov r8d, 0x202
movzx eax, dx
and ax, r8w
cmp ax, r8w
jne 0x1401eaa39
cmp byte [rcx + 0xa], 1
jne 0x1401eaa39
mov rax, qword [rcx + 0x10]
jmp 0x1401eaa4a
test dl, 1
je 0x1401eaa43
mov rax, r14
jmp 0x1401eaa4a
mov dl, 1
call fcn.140201b90
mov r8, rax
lea rdx, [0x14022e9c0]
mov rcx, r13
call fcn.1401e4710
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x30], eax
cmp byte [rbx + 0x28], 0
je 0x1401eaaa0
mov rax, r15
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x1401eaa9c
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
je 0x1401eaa90
mov rdx, rdi
call fcn.140204590
jmp 0x1401eaa9c
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 8], ax
mov byte [rbx + 0x28], 0
mov rax, qword [rbx]
mov r9d, 0x2400
test word [rax + 8], r9w
jne 0x1401eaab6
cmp dword [rax + 0x20], 0
je 0x1401eaac7
mov rcx, rax
call fcn.140203480
mov rax, qword [rbx]
mov r9d, 0x2400
mov r10d, dword [rsp + 0x30]
xor r11d, r11d
mov word [rax + 8], di
mov dword [rbx + 0x24], r11d
test r10d, r10d
jne 0x1401e5c0c
jmp 0x1401e9729
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov rsi, qword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r12
test eax, eax
je 0x1401eab7c
imul rdi, rax, 0x38
xorps xmm0, xmm0
movups xmmword [rbp + 0x210], xmm0
movups xmmword [rbp + 0x220], xmm0
xor eax, eax
add rdi, r12
mov qword [rbp + 0x240], rax
movups xmmword [rbp + 0x230], xmm0
test word [rdi + 8], r9w
je 0x1401eab3a
mov rcx, rdi
call fcn.1402034d0
jmp 0x1401eab3f
mov word [rdi + 8], r10w
lea rcx, [rbp + 0x210]
mov qword [rbp + 0x210], rdi
mov qword [rbp + 0x220], rbx
mov qword [rbp + 0x218], rsi
call qword [rsi + 0x28]
mov rax, qword [rsp + 0x38]
mov r10d, dword [rbp + 0x234]
mov dword [rsp + 0x30], r10d
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r12
jmp 0x1401eab8e
mov rdx, rsi
mov rcx, rbx
call fcn.1401ef130
mov r10d, eax
mov dword [rsp + 0x30], eax
test r10d, r10d
jne 0x1401ec524
movzx eax, word [rbx + 8]
test al, 2
je 0x1401eabbb
movzx r14d, byte [rsp + 0x48]
cmp byte [rbx + 0xa], r14b
je 0x1401eabbb
movzx edx, r14b
mov rcx, rbx
call fcn.1401efce0
movzx eax, word [rbx + 8]
test al, 0x12
je 0x1401ebf5c
bt ax, 0xe
mov ecx, dword [rbx + 0xc]
jae 0x1401eabcf
add ecx, dword [rbx]
mov rax, qword [rbx + 0x28]
mov rsi, qword [rsp + 0x40]
cmp ecx, dword [rax + 0x7c]
jle 0x1401e5554
xor r15d, r15d
lea rdx, str.string_or_blob_too_big
mov rcx, r13
call fcn.1401e4710
mov r10d, 0x12
mov dword [rsp + 0x30], r10d
lea edi, [r10 - 0x11]
jmp 0x1401e5c0f
lea rax, [rbp + 0x2b8]
mov dword [rbp + 0x2b0], r11d
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2b4]
mov rax, qword [rsp + 0x38]
mov rcx, rsi
mov dword [rbp + 0x2b8], 0xffffffff
mov dword [rbp + 0x2b4], 0xffffffff
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.1401b1180
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x1401eac6e
cmp eax, 5
jne 0x1401e5c07
xor eax, eax
mov dword [rsp + 0x30], eax
mov eax, 1
mov dword [rbp + 0x2b0], eax
mov rax, qword [rsp + 0x38]
mov r9d, 0x2400
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r12
xor eax, eax
mov edi, eax
lea esi, [rax + 4]
nop dword [rax + rax]
movsxd rax, dword [rbp + rdi*4 + 0x2b0]
test word [rbx + 8], r9w
je 0x1401eacb2
mov rdx, rax
mov rcx, rbx
call fcn.140204590
mov r9d, 0x2400
jmp 0x1401eacb9
mov qword [rbx], rax
mov word [rbx + 8], si
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x1401eac90
mov rsi, qword [rsp + 0x40]
jmp 0x1401e9721
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
movsxd rax, dword [rdi + 8]
imul r13, rax, 0x38
add r13, qword [r12 + 0x68]
test word [r13 + 8], r9w
je 0x1401ead02
mov rcx, r13
call fcn.140199ce0
xor r11d, r11d
mov r13, rax
lea r10d, [r11 + 1]
jmp 0x1401ead0c
mov eax, 4
mov word [r13 + 8], ax
mov rax, qword [rsi + 0x20]
mov edx, dword [rdi + 0xc]
movsxd rcx, dword [rdi + 4]
shl rcx, 5
cmp edx, 0xffffffff
mov r15, qword [rcx + rax + 8]
mov rax, qword [r15 + 8]
mov rdi, qword [rax]
movzx r14d, byte [rdi + 9]
mov esi, r14d
cmovne esi, edx
cmp byte [rdi + 0x14], 3
jae 0x1401ead4c
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x1401ead4f
cmp qword [rdi + 0x60], 0
jle 0x1401ead4f
mov esi, r14d
cmp byte [rdi + 0x13], 0
lea rcx, [0x14022793c]
jne 0x1401ead63
mov rcx, qword [rdi + 0xd0]
cmp esi, 5
jne 0x1401eaddd
test rcx, rcx
je 0x1401eada3
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1401ead74
and eax, 0x3fffffff
je 0x1401eada3
cmp byte [rdi + 0x11], 0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax]
jne 0x1401eada3
cmp byte [rdi + 8], 0
jne 0x1401eaddd
cmp dword [rcx], 2
jl 0x1401eada3
cmp qword [rcx + 0x68], 0
jne 0x1401eaddd
mov esi, r14d
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1401eadb1
mov esi, r14d
mov edx, esi
mov rcx, rdi
call fcn.1401cdd80
mov ecx, 0xa02
mov word [r13 + 8], cx
cmp eax, 6
jne 0x1401eaf58
xor r15d, r15d
mov qword [r13 + 0x10], r15
mov eax, r15d
jmp 0x1401eaf92
cmp esi, r14d
je 0x1401eada6
cmp r14d, 5
je 0x1401eaded
cmp esi, 5
jne 0x1401eada6
mov r12, qword [rsp + 0x40]
cmp byte [r12 + 0x5f], 0
je 0x1401ec54d
cmp dword [r12 + 0xcc], 1
jg 0x1401ec54d
cmp r14d, 5
jne 0x1401eaf1e
cmp qword [rdi + 0x120], 0
mov ebx, r11d
jne 0x1401eae9e
mov dword [rbp - 0x2c], r11d
movzx eax, byte [rdi + 0x15]
cmp al, 1
jb 0x1401eae35
cmp al, r14b
jne 0x1401eae58
cmp byte [rdi + 0x11], 0
jne 0x1401eae4e
mov rcx, qword [rdi + 0x48]
mov edx, r10d
mov rax, qword [rcx]
call qword [rax + 0x38]
mov ebx, eax
test eax, eax
jne 0x1401eae58
cmp byte [rdi + 0x15], 5
je 0x1401eae58
mov byte [rdi + 0x15], 1
test ebx, ebx
jne 0x1401eaf06
mov rax, qword [rdi]
lea r9, [rbp - 0x2c]
mov rdx, qword [rdi + 0x128]
xor r8d, r8d
mov rcx, rax
call qword [rax + 0x38]
mov ebx, eax
test eax, eax
jne 0x1401eaf06
cmp dword [rbp - 0x2c], eax
je 0x1401eae94
mov rcx, rdi
call fcn.14019a7f0
mov ebx, eax
test eax, eax
jne 0x1401eaf06
cmp qword [rdi + 0x120], 0
je 0x1401eaf06
mov rcx, rdi
call fcn.14019a4f0
mov ebx, eax
test eax, eax
jne 0x1401eaf06
mov rax, qword [rdi + 0x110]
mov rdx, r12
movzx r8d, byte [rdi + 0xf]
mov r9d, dword [rdi + 0xbc]
mov rcx, qword [rdi + 0x120]
mov qword [rsp + 0x20], rax
call fcn.1401f3b10
mov ebx, eax
mov dword [rsp + 0x30], eax
xor eax, eax
mov rcx, rdi
mov qword [rdi + 0x120], rax
call fcn.14019a580
test ebx, ebx
je 0x1401eaf06
cmp byte [rdi + 8], 0
jne 0x1401eaf06
mov edx, 1
mov rcx, rdi
call fcn.14019b320
jmp 0x1401eadae
mov dword [rsp + 0x30], ebx
test ebx, ebx
jne 0x1401eadae
mov edx, esi
mov rcx, rdi
call fcn.1401cdd80
jmp 0x1401eaf3b
cmp r14d, 4
jne 0x1401eaf30
lea edx, [r14 - 2]
mov rcx, rdi
call fcn.1401cdd80
cmp dword [rsp + 0x30], 0
jne 0x1401eadae
xor eax, eax
mov rcx, r15
mov edx, eax
cmp esi, 5
sete dl
inc edx
call fcn.1401b0b50
mov dword [rsp + 0x30], eax
jmp 0x1401eadaa
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x228b48]
mov qword [r13 + 0x10], rcx
test rcx, rcx
jne 0x1401eaf7a
xor r15d, r15d
mov eax, r15d
jmp 0x1401eaf92
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1401eaf81
and eax, 0x3fffffff
xor r15d, r15d
movzx r14d, byte [rsp + 0x48]
mov dword [r13 + 0xc], eax
mov byte [r13 + 0xa], 1
cmp r14b, 1
je 0x1401eafb3
movzx edx, r14b
mov rcx, r13
call fcn.1401efce0
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
je 0x1401e554f
mov r13, qword [rsp + 0x68]
mov edi, 1
jmp 0x1401e5c0f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
test eax, eax
je 0x1401eafeb
imul r9, rax, 0x38
add r9, r12
jmp 0x1401eafee
mov r9, r11
mov rax, qword [rsp + 0x38]
lea rcx, [r13 + 0xa8]
mov rdx, rsi
mov r8d, dword [rax + 4]
call fcn.1401d7450
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401e5c07
jmp 0x1401e52a2
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax + 8]
cmp byte [rsi + 0x11], 0
mov rdi, qword [rsi + 8]
je 0x1401eb04b
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x1401eb04b
mov rcx, rsi
call fcn.14017e040
cmp byte [rdi + 0x21], 0
jne 0x1401eb05e
mov dword [rsp + 0x30], 0x65
jmp 0x1401eb126
mov rax, qword [rdi + 0x18]
mov r14d, dword [rdi + 0x40]
mov edx, r14d
mov rcx, qword [rax + 0x50]
mov ebx, dword [rcx + 0x24]
mov rcx, rdi
bswap ebx
mov r8d, ebx
call fcn.14018bac0
mov r15d, eax
cmp r14d, eax
jb 0x1401eb113
cmp ebx, r14d
jae 0x1401eb113
test ebx, ebx
je 0x1401eb109
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x1401eb0b1
xor r8d, r8d
xor edx, edx
call fcn.1401a5620
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401eb121
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1401eb0cd
nop word [rax + rax]
and byte [rax + 1], 0xfb
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401eb0c0
xor r9d, r9d
mov r8d, r14d
mov edx, r15d
mov rcx, rdi
call fcn.140193170
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401eb121
mov rcx, qword [rdi + 0x18]
mov rcx, qword [rcx + 0x70]
call fcn.1401ce490
mov edx, dword [rdi + 0x40]
mov dword [rsp + 0x30], eax
mov rax, qword [rdi + 0x18]
bswap edx
mov rcx, qword [rax + 0x50]
mov dword [rcx + 0x1c], edx
jmp 0x1401eb121
mov dword [rsp + 0x30], 0x65
jmp 0x1401eb121
mov ecx, 0x10c0b
call fcn.1401b3e90
mov dword [rsp + 0x30], eax
mov rbx, qword [rsp + 0x58]
cmp byte [rsi + 0x11], 0
je 0x1401eb13a
sub dword [rsi + 0x14], 1
jne 0x1401eb13a
mov rcx, rsi
call fcn.1401ffc70
mov r10d, dword [rsp + 0x30]
test r10d, r10d
je 0x1401e5391
cmp r10d, 0x65
jne 0x1401ec45a
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rsp + 0x30], r11d
lea r10d, [r11 + 1]
jmp 0x1401e83af
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
jne 0x1401eb1bd
mov ecx, dword [rax + 8]
mov rax, qword [rsi + 8]
test rax, rax
je 0x1401e53a5
inc ecx
and ecx, 3
nop dword [rax + rax]
and dword [rax + 0xc8], 0xfffffffc
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401eb190
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov eax, dword [rax + 8]
mov r15, qword [rsp + 0x38]
inc eax
xor eax, dword [r13 + 0xc8]
and eax, 3
xor dword [r13 + 0xc8], eax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
or byte [rax + 1], 0x40
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
and byte [rax + 1], 0xbf
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rax, qword [rsp + 0x38]
movzx esi, byte [rax + 0xc]
test sil, sil
jne 0x1401eb270
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x30]
bt rax, 0xa
jb 0x1401e53a0
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov r10d, r11d
mov edi, dword [rax + 8]
mov rax, qword [rsp + 0x40]
shl rcx, 5
mov dword [rsp + 0x30], r11d
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x1401eb365
inc dword [rbx + 0x14]
inc sil
cmp byte [rbx + 0x12], 0
jne 0x1401eb2b2
mov rcx, rbx
call fcn.14017e040
xor r11d, r11d
movzx r8d, sil
mov edx, edi
mov rcx, rbx
call fcn.14019fe20
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401eb336
mov r14, qword [rbx + 8]
mov rax, qword [r14 + 0x78]
test rax, rax
je 0x1401eb2eb
cmp dword [rax + 8], edi
jne 0x1401eb2e2
cmp qword [rax], rbx
je 0x1401eb317
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401eb2d8
mov ecx, 0x18
call fcn.1401cb3a0
test rax, rax
je 0x1401eb32b
xor r11d, r11d
mov qword [rax + 0xc], r11
mov dword [rax + 0x14], r11d
mov dword [rax + 8], edi
mov qword [rax], rbx
mov rcx, qword [r14 + 0x78]
mov qword [rax + 0x10], rcx
mov qword [r14 + 0x78], rax
cmp sil, byte [rax + 0xc]
jbe 0x1401eb321
mov byte [rax + 0xc], sil
mov r10d, r11d
mov dword [rsp + 0x30], r11d
jmp 0x1401eb336
mov r10d, 7
mov dword [rsp + 0x30], r10d
cmp byte [rbx + 0x11], 0
je 0x1401eb34f
sub dword [rbx + 0x14], 1
jne 0x1401eb34f
mov rcx, rbx
call fcn.1401ffc70
mov r10d, dword [rsp + 0x30]
xor r11d, r11d
lea rdx, [0x140000000]
mov r9d, 0x2400
mov r8d, 0x1000
test r10d, r10d
jne 0x1401ec588
mov rsi, qword [rsp + 0x40]
jmp 0x1401e7b03
movsxd rdx, dword [rsi + 0x1f4]
mov rbx, qword [r15 + 0x10]
mov dword [rsp + 0x30], r11d
test edx, edx
jle 0x1401eb3af
cmp qword [rsi + 0x218], 0
jne 0x1401eb3af
mov r10d, 6
mov dword [rsp + 0x30], r10d
test rbx, rbx
je 0x1401e5c07
jmp 0x1401eb45f
test rbx, rbx
jne 0x1401eb3c3
mov rbx, qword [rsp + 0x58]
mov dword [rsp + 0x30], r11d
jmp 0x1401e973a
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x70], 0
je 0x1401eb45f
mov rcx, r11
test edx, edx
jle 0x1401eb3f8
mov rax, qword [rsi + 0x218]
cmp qword [rax], rbx
je 0x1401eb487
inc rcx
add rax, 8
cmp rcx, rdx
jl 0x1401eb3e3
mov rcx, rsi
call fcn.1401928b0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401eb45f
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0x70]
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401eb45f
mov edx, dword [rsi + 0x2c4]
add edx, dword [rsi + 0x2c0]
movsxd rcx, dword [rsi + 0x1f4]
mov rax, qword [rsi + 0x218]
mov qword [rax + rcx*8], rbx
inc dword [rsi + 0x1f4]
inc dword [rbx + 0x18]
test edx, edx
je 0x1401eb45f
cmp qword [rdi + 0xa0], 0
je 0x1401eb45f
mov dword [rbx + 0x20], edx
dec edx
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0xa0]
mov dword [rsp + 0x30], eax
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.1401f2f60
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401e5c07
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov dword [rsp + 0x30], r11d
jmp 0x1401eb45f
mov rax, qword [rsp + 0x38]
lea rcx, [rbp + 0xa0]
xorps xmm0, xmm0
mov qword [rbp + 0xa0], r11
xorps xmm1, xmm1
mov qword [rbp + 0xd0], r11
movdqu xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xc8], rsi
movdqu xmmword [rbp + 0xb8], xmm1
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, r12
call fcn.1401ef030
mov rcx, qword [rbp + 0xa8]
mov edx, 0x202
mov dword [rsp + 0x30], eax
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1401eb502
cmp byte [rbp + 0xaa], 1
jne 0x1401eb502
mov rax, qword [rbp + 0xb0]
jmp 0x1401eb520
test cl, 1
jne 0x1401eb666
mov dl, 1
lea rcx, [rbp + 0xa0]
call fcn.140201b90
mov rcx, qword [rbp + 0xa8]
mov r15, qword [rsp + 0x38]
test rax, rax
je 0x1401eb66b
movsxd rcx, dword [r15 + 4]
lea rbx, [r13 + 0xa8]
mov r8, qword [rsi + 0x20]
mov rdx, rax
shl rcx, 5
mov r8, qword [rcx + r8]
mov rcx, rsi
call fcn.1401bf400
mov r14, qword [rsp + 0x40]
xor r8d, r8d
mov rsi, rax
mov rcx, qword [rax + 0x58]
mov rdi, qword [rcx]
lea rcx, [r14 + 0x1f8]
mov rdx, rdi
call fcn.14018bed0
mov r8, qword [rax + 0x10]
test r8, r8
je 0x1401eb637
mov rcx, qword [r8]
mov r9, qword [rcx + 8]
test r9, r9
je 0x1401eb637
cmp qword [rcx + 0x28], 0
je 0x1401eb637
mov rdx, rsi
mov qword [rsp + 0x20], rbx
mov rcx, r14
call fcn.140206270
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401eb5ce
mov rax, qword [rsi + 0x60]
test rax, rax
je 0x1401eb5ce
nop word [rax + rax]
cmp qword [rax], r14
je 0x1401eb5e2
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401eb5c0
mov rcx, qword [rbp + 0xa8]
mov rsi, r14
mov rbx, qword [rsp + 0x58]
jmp 0x1401eb66b
mov rcx, r14
call fcn.1401928b0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401eb5ce
mov rdx, qword [rsi + 0x60]
mov rsi, r14
test rdx, rdx
je 0x1401eb60e
nop
cmp qword [rdx], rsi
je 0x1401eb60e
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x1401eb600
movsxd rcx, dword [rsi + 0x1f4]
mov rax, qword [rsi + 0x218]
mov rbx, qword [rsp + 0x58]
mov qword [rax + rcx*8], rdx
inc dword [rsi + 0x1f4]
inc dword [rdx + 0x18]
mov rcx, qword [rbp + 0xa8]
jmp 0x1401eb66b
mov r8, rdi
lea rdx, str.no_such_module:__s
mov rcx, r14
mov rsi, r14
call fcn.1401cb370
mov qword [rbx], rax
mov eax, 1
mov rcx, qword [rbp + 0xa8]
mov rbx, qword [rsp + 0x58]
mov dword [rsp + 0x30], eax
jmp 0x1401eb66b
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
test r9w, cx
jne 0x1401eb680
cmp dword [rbp + 0xc0], 0
je 0x1401eb692
lea rcx, [rbp + 0xa0]
call fcn.140203480
mov r9d, 0x2400
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401e5c07
xor r11d, r11d
mov r8d, 0x1000
jmp 0x1401e9734
inc dword [rsi + 0xd8]
mov rcx, qword [rsp + 0x38]
mov r8, qword [rsi + 0x20]
mov dword [rsp + 0x30], r11d
movsxd rax, dword [rcx + 4]
mov rdx, qword [rcx + 0x10]
mov rcx, rsi
shl rax, 5
mov r8, qword [rax + r8]
call fcn.1401bf400
mov rdi, rax
test rax, rax
je 0x1401eb780
mov rdx, qword [rax + 0x60]
test rdx, rdx
je 0x1401eb780
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rdx + 0x10]
cmp dword [rcx + 8], 0
jg 0x1401ec5a4
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x1401eb700
mov rdx, rdi
mov rcx, rsi
call fcn.140206870
mov rbx, rax
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x28]
test rax, rax
jne 0x1401eb739
mov rax, qword [rdx + 0x20]
inc dword [rdi + 0x3c]
mov rcx, qword [rbx + 0x10]
call rax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401eb75c
xor eax, eax
mov rcx, rbx
mov qword [rbx + 0x10], rax
mov qword [rdi + 0x60], rax
call fcn.1401f3410
cmp qword [rsi + 0x2d8], 0
jne 0x1401eb770
mov eax, 0xffffffff
add dword [rdi + 0x3c], eax
jne 0x1401eb77b
mov rdx, rdi
mov rcx, rsi
call fcn.140186370
mov rbx, qword [rsp + 0x58]
dec dword [rsi + 0xd8]
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401e5c07
mov dword [rsp + 0x30], r10d
jmp 0x1401e52a2
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x18], r11
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1401ec5bd
mov rdi, qword [rbx]
test rdi, rdi
je 0x1401ec5bd
lea rdx, [rbp - 0x18]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.1401f2f60
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401e5c07
mov rax, qword [rbp - 0x18]
lea r9d, [r10 - 1]
xor r8d, r8d
mov byte [rsp + 0x20], 2
mov rcx, r13
mov qword [rax], rbx
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
call fcn.140178240
mov rcx, qword [rbp - 0x18]
test rax, rax
je 0x1401ec5b5
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rax + 0x38], rcx
inc dword [rbx + 8]
xor r11d, r11d
jmp 0x1401e9729
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x78]
mov r13, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov edx, dword [rdx + r12]
add r11, r12
mov r12, qword [rsp + 0x68]
xor eax, eax
mov r8d, eax
mov rsi, qword [r13 + 0x38]
movsxd r9, dword [r11]
mov rdi, qword [r12 + 0x70]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x1401eb899
nop word [rax + rax]
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x1401eb880
mov rax, qword [rsp + 0x38]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x30], eax
call fcn.1401f2f60
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401ec8ae
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x1401e554a
mov r15, qword [rsp + 0x38]
xor r11d, r11d
jmp 0x1401e83a4
mov r15, rsi
jmp 0x1401e83af
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r12
cmp byte [rdi + 2], 0
je 0x1401eb95e
test word [rbx + 8], r9w
je 0x1401eb93d
mov rcx, rbx
call fcn.1402034d0
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov r15, qword [rsp + 0x38]
mov word [rbx + 8], r10w
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rax, qword [rdi + 0x38]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov rsi, qword [rax]
mov rax, qword [rsp + 0x38]
mov r14, qword [rsi]
movdqu xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x248], rbx
movdqu xmmword [rbp + 0x260], xmm1
movdqu xmmword [rbp + 0x270], xmm0
test byte [rax + 2], 1
je 0x1401eb9bd
test word [rbx + 8], r9w
je 0x1401eb9af
mov rcx, rbx
call fcn.1402034d0
mov rax, qword [rsp + 0x38]
xor r11d, r11d
mov ecx, 0x4001
mov word [rbx + 8], cx
mov dword [rbx], r11d
jmp 0x1401eb9cb
mov ecx, 0x3e40
and word [rbx + 8], cx
or word [rbx + 8], 1
mov r8d, dword [rax + 8]
lea rdx, [rbp + 0x248]
mov rcx, qword [rdi + 0x38]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.1401f2f60
cmp dword [rbp + 0x26c], 0
jle 0x1401eba45
movzx ecx, word [rbx + 8]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1401eba16
cmp byte [rbx + 0xa], 1
jne 0x1401eba16
mov rax, qword [rbx + 0x10]
jmp 0x1401eba29
test cl, 1
je 0x1401eba1f
xor eax, eax
jmp 0x1401eba29
mov dl, 1
mov rcx, rbx
call fcn.140201b90
mov r8, rax
lea rdx, [0x14022e9c0]
mov rcx, r13
call fcn.1401e4710
mov eax, dword [rbp + 0x26c]
mov dword [rsp + 0x30], eax
movzx eax, word [rbx + 8]
test al, 2
je 0x1401eba69
movzx r14d, byte [rsp + 0x48]
cmp byte [rbx + 0xa], r14b
je 0x1401eba69
movzx edx, r14b
mov rcx, rbx
call fcn.1401efce0
movzx eax, word [rbx + 8]
test al, 0x12
je 0x1401eba86
bt ax, 0xe
mov ecx, dword [rbx + 0xc]
jae 0x1401eba79
add ecx, dword [rbx]
mov rax, qword [rbx + 0x28]
cmp ecx, dword [rax + 0x7c]
jg 0x1401ec5e2
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
jne 0x1401e5c07
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x1401e53a5
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.1401f2f60
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401ec45a
mov rcx, qword [rdi + 0x38]
call qword [rsi + 0x50]
test eax, eax
jne 0x1401ea0c3
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x58]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x38], rax
jmp 0x1401ea0ce
mov edi, dword [rsi + 0x30]
or qword [rsi + 0x30], 0x4000000
and edi, 0x4000000
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r12
test byte [rbx + 8], 2
je 0x1401ebb7c
cmp byte [rbx + 0xa], 1
je 0x1401ebb7c
mov dl, 1
mov rcx, rbx
call fcn.1401efce0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401ec45a
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov dword [rsp + 0x30], eax
test edi, edi
jne 0x1401ebba1
mov rax, qword [rsp + 0x40]
and qword [rax + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r13
call fcn.1401f2f60
and dword [r13 + 0xc8], 0xfffffffc
jmp 0x1401eba86
cmp byte [rsi + 0x61], 0
jne 0x1401ec4a3
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1401ec5bd
mov r10, qword [rbx]
test r10, r10
je 0x1401ec5bd
cmp qword [r10 + 0x68], 0
mov r15, qword [rsp + 0x38]
movsxd rdx, dword [r15 + 8]
je 0x1401e972f
movsxd rax, dword [r15 + 0xc]
movzx edi, byte [rsi + 0x66]
mov r8, qword [r13 + 0x70]
imul rcx, rax, 0x38
mov rax, r11
add rcx, r12
test edx, edx
jle 0x1401ebc30
nop dword [rax]
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x1401ebc20
mov rax, r15
lea r9, [rbp + 0x70]
mov rcx, rbx
movzx eax, byte [rax + 2]
mov byte [rsi + 0x66], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [rsi + 0x66], dil
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.1401f2f60
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401ebc72
cmp dword [r15 + 4], r10d
je 0x1401ebca6
mov rax, qword [rbp + 0x70]
mov qword [rsi + 0x38], rax
jmp 0x1401ebca6
cmp r10b, 0x13
jne 0x1401ebca6
mov rax, r15
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], 0
je 0x1401ebca6
movzx ecx, word [r15 + 2]
cmp ecx, 4
jne 0x1401ec5c8
xor r11d, r11d
mov r9d, 0x2400
mov dword [rsp + 0x30], r11d
jmp 0x1401e9729
inc dword [r13 + 0x3c]
test r10d, r10d
jne 0x1401e5c07
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401ebcf9
mov rcx, rdx
call fcn.140199ce0
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x1401ebd02
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov qword [rdx], rcx
jmp 0x1401e973a
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
imul rsi, rax, 0x38
add rsi, qword [r13 + 0x68]
test word [rsi + 8], r9w
je 0x1401ebd54
mov rcx, rsi
call fcn.140199ce0
mov rsi, rax
xor r11d, r11d
jmp 0x1401ebd5d
mov eax, 4
mov word [rsi + 8], ax
movsxd rcx, dword [rdi + 4]
mov edi, r11d
mov rax, qword [rsp + 0x40]
shl rcx, 5
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x1401ebd8e
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x40]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x1401ebda5
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1401ebda5
mov rcx, rbx
call fcn.14017e040
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x1401ebdb8
mov dword [rcx + 0xc0], edi
jmp 0x1401ebdbe
mov edi, dword [rcx + 0xc0]
cmp byte [rbx + 0x11], 0
je 0x1401ebdd2
sub dword [rbx + 0x14], 1
jne 0x1401ebdd2
mov rcx, rbx
call fcn.1401ffc70
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov eax, edi
mov r9d, 0x2400
mov qword [rsi], rax
mov rsi, qword [rsp + 0x40]
jmp 0x1401e9729
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r12
cmp qword [rdi], rbx
je 0x1401ebe55
mov qword [rdi + 0x18], r13
mov qword [rdi], rbx
movzx eax, byte [rdi + 0x29]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x1401ebe55
mov rsi, qword [rsp + 0x38]
lea r8, [rdi + 0x30]
lea r8, [r8 + rdx*8]
nop dword [rax]
mov eax, dword [rsi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r12
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x1401ebe30
mov rsi, qword [rsp + 0x40]
mov eax, 0x3e40
lea r8, [rdi + 0x30]
and word [rbx + 8], ax
mov rcx, rdi
or word [rbx + 8], 1
mov rax, qword [rdi + 8]
movzx edx, byte [rdi + 0x29]
call qword [rax + 0x18]
mov eax, dword [rdi + 0x24]
test eax, eax
je 0x1401ebf01
jle 0x1401ebece
movzx ecx, word [rbx + 8]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1401ebea2
cmp byte [rbx + 0xa], 1
jne 0x1401ebea2
mov rax, qword [rbx + 0x10]
jmp 0x1401ebeb5
test cl, 1
je 0x1401ebeab
xor eax, eax
jmp 0x1401ebeb5
mov dl, 1
mov rcx, rbx
call fcn.140201b90
mov r8, rax
lea rdx, [0x14022e9c0]
mov rcx, r13
call fcn.1401e4710
mov eax, dword [rdi + 0x24]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
lea rdx, [r13 + 0x120]
mov r8d, dword [rdi + 0x20]
mov rcx, rsi
mov r9d, dword [rax + 4]
call fcn.1401e4080
mov r10d, dword [rsp + 0x30]
xor r11d, r11d
mov dword [rdi + 0x24], r11d
test r10d, r10d
jne 0x1401e5c07
jmp 0x1401ebf04
xor r11d, r11d
movzx eax, word [rbx + 8]
test al, 0x12
je 0x1401ebf7e
test al, 2
je 0x1401ebf2c
movzx r14d, byte [rsp + 0x48]
cmp byte [rbx + 0xa], r14b
je 0x1401ebf2c
movzx edx, r14b
mov rcx, rbx
call fcn.1401efce0
movzx eax, word [rbx + 8]
test al, 0x12
je 0x1401ebf61
bt ax, 0xe
mov ecx, dword [rbx + 0xc]
jae 0x1401ebf3c
add ecx, dword [rbx]
mov rax, qword [rbx + 0x28]
cmp ecx, dword [rax + 0x7c]
jg 0x1401eabe1
mov r15, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x38]
mov r12, qword [rsp + 0x60]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401e9729
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x38]
mov r9d, 0x2400
mov r12, qword [rsp + 0x60]
jmp 0x1401e9729
mov r15, qword [rsp + 0x38]
mov rsi, rax
mov r12, qword [rsp + 0x60]
mov r9d, 0x2400
jmp 0x1401e9729
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x60]
jmp 0x1401e9729
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x38]
mov r12, qword [rsp + 0x60]
jmp 0x1401e9729
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x38]
mov r12, qword [rsp + 0x60]
xor r11d, r11d
jmp 0x1401e9729
mov r12, qword [rsp + 0x60]
mov r9d, edi
jmp 0x1401e9729
movzx eax, byte [rsi + 0x68]
test al, 0x41
je 0x1401ec0d2
cmp byte [r13 + 0xc5], 0
jne 0x1401ec0d2
mov r9, qword [r15 + 0x10]
test r9, r9
jne 0x1401ec025
mov r9, qword [r13 + 0xf0]
test r9, r9
je 0x1401ec0cc
test al, 0x40
je 0x1401ec056
mov rdx, r9
mov rcx, r13
call fcn.1401ecd90
mov rcx, qword [rsi + 0xf0]
mov rdx, rax
mov rbx, rax
call qword [rsi + 0xe8]
mov rcx, rbx
call fcn.140169e00
mov rbx, qword [rsp + 0x58]
jmp 0x1401ec0b6
cmp dword [rsi + 0xd4], 1
jle 0x1401ec0a3
mov r8, r9
lea rdx, str.____s
mov rcx, rsi
call fcn.1401cb370
mov rdx, qword [rsi + 0xf0]
mov r9, rax
mov r8, r13
mov ecx, 1
mov rbx, rax
call qword [rsi + 0xe8]
test rbx, rbx
je 0x1401ec04f
mov rdx, rbx
mov rcx, rsi
call fcn.1401b5d40
mov rbx, qword [rsp + 0x58]
jmp 0x1401ec0b6
mov rdx, qword [rsi + 0xf0]
mov r8, r13
mov ecx, r10d
call qword [rsi + 0xe8]
mov r8d, 0x1000
lea rdx, [0x140000000]
mov r10d, 1
xor r11d, r11d
mov r9d, 0x2400
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
mov eax, dword [rax + 4]
cmp eax, dword [0x1402e1194]
jl 0x1401ec127
cmp byte [r15], 0xab
je case.0x1401e48b0.85
cmp dword [r13 + 0x90], 1
mov edx, r10d
jle 0x1401ec124
mov eax, 0x18
mov rcx, qword [r13 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x1401ec115
mov dword [rax + rcx + 4], r11d
inc edx
add rax, 0x18
cmp edx, dword [r13 + 0x90]
jl 0x1401ec103
mov eax, r11d
inc eax
mov dword [r15 + 4], eax
inc dword [r13 + 0xec]
jmp 0x1401e83af
mov r15, qword [rsp + 0x38]
mov r8d, 0x1000
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov r14, qword [rbp - 0x20]
jmp 0x1401e488a
mov rdx, qword [rsp + 0x38]
mov dword [r13 + 0x38], ecx
movzx eax, byte [rdx + 8]
mov byte [r13 + 0xc2], al
mov dword [r13 + 0x34], ebx
test ecx, ecx
je 0x1401ec20c
movzx eax, word [rdx + 2]
mov rcx, r13
test ax, ax
je 0x1401ec1d2
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x228e78]
call fcn.1401e4710
mov rax, qword [rsp + 0x38]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x1401ec1e2
mov r8, qword [r13 + 0xa8]
lea rdx, str._z:__s
mov rcx, rsi
call fcn.1401cb370
mov qword [r13 + 0xa8], rax
jmp 0x1401ec1e2
mov r8, qword [rdx + 0x10]
lea rdx, [0x14022e9c0]
call fcn.1401e4710
mov rax, qword [r13 + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r13 + 0xf0]
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 4]
call fcn.140176260
mov rcx, r13
call fcn.1401edba0
mov rbx, qword [rsp + 0x50]
mov edi, eax
cmp eax, 5
jne 0x1401ec229
mov dword [r13 + 0x38], eax
jmp 0x1401eca20
cmp dword [r13 + 0x38], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x1401eca20
mov ecx, 0x15975
call fcn.1401b3e90
mov r10d, eax
mov dword [rsp + 0x30], eax
mov rsi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x68]
jmp 0x1401e5c07
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1401e4710
mov r10d, 5
mov dword [rsp + 0x30], r10d
mov rsi, rdi
jmp 0x1401e5c07
mov r13, qword [rsp + 0x68]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1401e4710
mov r10d, 5
jmp 0x1401e5c02
mov byte [rsi + 0x5f], 0
mov r13, rbx
jmp 0x1401e5c0c
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov edi, 5
imul rcx
mov r13, rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x34], edx
mov byte [rsi + 0x5f], 0
mov dword [rbx + 0x38], edi
mov rbx, qword [rsp + 0x50]
jmp 0x1401eca20
mov dword [rbx + 0x38], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, rbx
mov byte [rbx + 0xc2], 2
mov r13, rbx
call fcn.1401e4710
mov rbx, qword [rsp + 0x50]
jmp 0x1401eca20
mov eax, 8
mov r10d, eax
mov dword [rsp + 0x30], eax
jmp 0x1401e5c07
mov rbx, qword [rsp + 0x50]
cmp r10b, 5
jne 0x1401e5cfa
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov edi, dword [rsp + 0x30]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r13 + 0x34], edx
mov dword [r13 + 0x38], r10d
jmp 0x1401eca20
mov rdx, qword [r13 + 0xa8]
test rdx, rdx
je 0x1401ec382
mov rcx, rsi
call fcn.1401b5d40
mov edx, 0x1c
mov rcx, rsi
call fcn.1401b5ed0
test rax, rax
je 0x1401ec3b4
movups xmm0, xmmword [str.database_schema_has_changed]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x14022e6f0]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x14022e6f8]
mov dword [rax + 0x18], ecx
mov qword [r13 + 0xa8], rax
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x50]
cmp dword [rcx], eax
je 0x1401ec3e3
mov rcx, rsi
call fcn.1401d5d30
and dword [r13 + 0xc8], 0xfffffffd
mov r10d, 0x11
or dword [r13 + 0xc8], 1
jmp 0x1401e5c02
mov r10d, 0x204
jmp 0x1401e5c02
lea r14, [0x140233074]
mov r9d, 0x1442b
lea r8, str.database_corruption
mov qword [rsp + 0x20], r14
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, 0xb
call fcn.140176260
mov rsi, qword [rsp + 0x40]
mov r10d, 0xb
mov dword [rsp + 0x30], r10d
xor r15d, r15d
lea edi, [r10 - 0xa]
jmp 0x1401e5c16
mov r10d, 0xd
mov dword [rsp + 0x30], r10d
mov rsi, qword [rsp + 0x40]
jmp 0x1401e5c07
mov r10d, 0x30b
jmp 0x1401e5c02
mov ecx, 0x16610
call fcn.1401b3e90
mov r10d, eax
mov dword [rsp + 0x30], eax
jmp 0x1401e5c07
mov r10d, 6
mov byte [r13 + 0xc2], 2
jmp 0x1401e5c02
call fcn.1401d5c90
mov r10d, 1
xor r15d, r15d
mov rbx, qword [rsp + 0x50]
cmp byte [rsi + 0x61], 0
jne 0x1401ec4ec
cmp byte [rsi + 0x62], 0
jne 0x1401ec4ec
mov byte [rsi + 0x61], 1
cmp dword [rsi + 0xd4], 0
jle 0x1401ec4cb
mov dword [rsi + 0x170], r10d
inc dword [rsi + 0x178]
mov word [rsi + 0x17c], r15w
mov rax, qword [rsi + 0x138]
test rax, rax
je 0x1401ec4ec
mov dword [rax + 0x18], 7
lea rdx, str.out_of_memory
mov rcx, r13
call fcn.1401e4710
mov r10d, 7
jmp 0x1401eca57
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x30], r10d
mov rcx, r13
call fcn.1401e4710
mov r10d, dword [rsp + 0x30]
jmp 0x1401e5c07
mov rcx, rbx
call fcn.14016da80
mov r8, rax
lea rdx, [0x14022e9c0]
mov rcx, r13
call fcn.1401e4710
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
jmp 0x1401e5c07
mov r13, qword [rsp + 0x68]
lea rax, str.into
cmp esi, 5
mov dword [rsp + 0x30], r10d
lea r8, str.out_of
mov rcx, r13
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
call fcn.1401e4710
mov r10d, dword [rsp + 0x30]
mov rsi, r12
jmp 0x1401e5c07
cmp r10b, 6
jne 0x1401ec45a
mov rax, qword [rsp + 0x38]
lea rdx, str.database_table_is_locked:__s
mov r8, qword [rax + 0x10]
jmp 0x1401ec536
dec dword [rsi + 0xd8]
mov r10d, 6
jmp 0x1401e5c02
call qword [rdi + 0x38]
jmp 0x1401ec49d
mov r10d, 6
jmp 0x1401e5c02
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [r13 + 0xc2], al
jmp 0x1401e5c07
mov rsi, qword [rsp + 0x40]
jmp 0x1401eabe1
mov r13, qword [rsp + 0x68]
mov rsi, r9
jmp 0x1401eabe1
mov rsi, r9
mov r13, r12
jmp 0x1401eabe1
mov rsi, qword [rsp + 0x40]
jmp 0x1401eabe4
cmp qword [r13 + 0x50], 0
jle 0x1401ec645
mov dword [r13 + 0x38], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov byte [r13 + 0xc2], 2
mov rcx, r13
call fcn.1401e4710
mov edi, 1
mov r10d, edi
mov dword [rsp + 0x30], edi
jmp 0x1401e5c0c
mov rax, qword [r13]
cmp dword [rax + 0x2c4], 0
je 0x1401ec66d
cmp dword [r13 + 0x40], 0
je 0x1401ec66d
mov edx, r10d
mov rcx, r13
call fcn.140201d40
xor r11d, r11d
mov r8d, 0x1000
mov eax, dword [r13 + 0x30]
mov edi, r11d
add eax, 2
or eax, 1
mov dword [r13 + 0x30], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rsi, rax, 0x38
mov rax, qword [rsp + 0x38]
add rsi, r12
mov qword [r13 + 0xa0], rsi
cmp dword [rax + 8], 0
jle 0x1401ec6fe
lea rbx, [rsi + 8]
mov r15d, 0x202
nop word [rax + rax]
test word [rbx], r8w
je 0x1401ec6cd
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rsi
call fcn.1401ef540
test eax, eax
jne 0x1401ec86c
movzx eax, word [rbx]
and ax, r15w
cmp ax, 2
jne 0x1401ec6e3
lea rcx, [rbx - 8]
call fcn.140203420
mov rax, qword [rsp + 0x38]
inc edi
add rbx, 0x38
mov r8d, 0x1000
cmp edi, dword [rax + 8]
jl 0x1401ec6b0
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x40]
cmp byte [rsi + 0x61], 0
jne 0x1401ec49d
test byte [rsi + 0x68], 4
je 0x1401ec72a
mov rdx, qword [rsi + 0xf0]
xor r9d, r9d
mov r8, r13
lea ecx, [r9 + 4]
call qword [rsi + 0xe8]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rbx
mov edi, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r13 + 0x34], edx
mov rbx, qword [rsp + 0x50]
jmp 0x1401eca20
mov rax, qword [rsp + 0x38]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [rsi + 0x5f]
cmp ebx, eax
je 0x1401ec843
test ecx, ecx
je 0x1401ec78e
mov edx, 0x204
mov rcx, rsi
call fcn.1401d6780
mov al, 1
jmp 0x1401ec7c9
test ebx, ebx
je 0x1401ec7b5
cmp dword [rsi + 0xd0], 0
jle 0x1401ec7b5
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r13
call fcn.1401e4710
mov r10d, 5
jmp 0x1401e5c02
mov edx, r10d
mov rcx, r13
call fcn.1401e3b20
mov edi, eax
test eax, eax
jne 0x1401ec758
movzx eax, bl
mov rcx, r13
mov byte [rsi + 0x5f], al
call fcn.1401edba0
cmp eax, 5
jne 0x1401ec81f
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov edi, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
sub al, bl
mov dword [r13 + 0x34], edx
mov rbx, qword [rsp + 0x50]
mov byte [rsi + 0x5f], al
mov dword [r13 + 0x38], edi
jmp 0x1401eca20
mov rcx, rsi
call fcn.1401b15c0
cmp dword [r13 + 0x38], 0
mov edi, 0x65
mov rbx, qword [rsp + 0x50]
mov eax, 1
cmovne edi, eax
jmp 0x1401eca20
test ebx, ebx
jne 0x1401ec853
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1401ec62c
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
jmp 0x1401ec62c
mov rsi, qword [rsp + 0x40]
jmp 0x1401ec49d
mov rsi, qword [rsp + 0x40]
jmp 0x1401ec4a3
mov rsi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x68]
jmp 0x1401ec49d
mov rsi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x68]
jmp 0x1401ec4a3
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1401ec4a6
mov rsi, qword [rsp + 0x40]
mov r13, r12
jmp 0x1401e5c07
cmp r10d, 0x210a
jne 0x1401ec8f2
mov r9d, 0x16e39
mov qword [rsp + 0x20], r14
lea r8, str.database_corruption
mov ecx, 0xb
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140176260
mov r10d, 0xb
mov dword [rsp + 0x30], r10d
cmp qword [r13 + 0xa8], 0
jne 0x1401ec92a
cmp r10d, 0xc0a
je 0x1401ec92a
mov ecx, r10d
call fcn.14016b410
mov r8, rax
lea rdx, [0x14022e9c0]
mov rcx, r13
call fcn.1401e4710
mov r10d, dword [rsp + 0x30]
mov dword [r13 + 0x38], r10d
jmp 0x1401ec937
mov dword [r13 + 0x38], r10d
cmp r10d, 0xc0a
je 0x1401ec968
movzx eax, r10b
sub eax, 0xa
test eax, 0xfffffffb
jne 0x1401ec968
mov rcx, qword [rsi]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x1401ec962
xor r8d, r8d
xor edx, edx
call rax
mov r10d, dword [rsp + 0x30]
jmp 0x1401ec965
mov eax, r15d
mov dword [rsi + 0x58], eax
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov r9, qword [r13 + 0xf0]
imul rcx
mov rax, qword [r13 + 0xa8]
mov ecx, r10d
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.140176260
mov rcx, r13
call fcn.1401edba0
cmp dword [rsp + 0x30], 0xc0a
jne 0x1401eca01
cmp byte [rsi + 0x61], 0
jne 0x1401eca01
cmp byte [rsi + 0x62], 0
jne 0x1401eca01
mov byte [rsi + 0x61], 1
cmp dword [rsi + 0xd4], 0
jle 0x1401ec9e0
mov dword [rsi + 0x170], edi
inc dword [rsi + 0x178]
mov word [rsi + 0x17c], r15w
mov rax, qword [rsi + 0x138]
test rax, rax
je 0x1401eca01
mov dword [rax + 0x18], 7
movzx eax, byte [rsp + 0x70]
test al, al
je 0x1401eca15
lea edx, [rax - 1]
mov rcx, rsi
call fcn.1401d5d30
mov r14, qword [rbp - 0x20]
nop dword [rax]
cmp r14, rbx
jb 0x1401eca6d
mov rdx, qword [rsi + 0x1e0]
test rdx, rdx
je 0x1401eca6d
mov eax, dword [rsi + 0x1f0]
mov rcx, qword [rsi + 0x1e8]
add rbx, rax
call rdx
test eax, eax
je 0x1401eca20
mov rbx, 0xffffffffffffffff
mov r10d, 9
xor r15d, r15d
mov dword [rsp + 0x30], r10d
mov edi, 1
lea r14, [0x140233074]
jmp 0x1401e5c1b
add dword [r13 + 0xe4], r14d
cmp dword [r13 + 0xd0], 0
movaps xmm6, xmmword [rsp + 0x3d0]
mov r15, qword [rsp + 0x3e0]
mov r14, qword [rsp + 0x3e8]
mov r12, qword [rsp + 0x3f0]
mov rsi, qword [rsp + 0x420]
mov rbx, qword [rsp + 0x418]
je 0x1401ecab6
mov rcx, r13
call fcn.140203390
mov eax, edi
mov rdi, qword [rsp + 0x428]
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.140218cd0
add rsp, 0x3f8
pop r13
pop rbp
ret