Function at 0x1401574f0
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 [0x1402b8d08]
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 qword [rsp + 0x58], rax
mov rsi, qword [r13]
mov qword [rsp + 0x38], rax
xor al, al
mov qword [rsp + 0x68], rcx
xor ecx, ecx
mov qword [r11 - 0x20], r14
mov r14, qword [r13 + 0x68]
mov qword [r11 - 0x28], r15
mov r15d, ecx
mov byte [rsp + 0x70], al
movzx eax, byte [rsi + 0x60]
mov dword [rsp + 0x30], ecx
mov dword [rbp - 0x80], ecx
mov qword [rbp - 0x40], rcx
mov rcx, r13
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x60], r14
call fcn.140157400
cmp qword [rsi + 0x1e8], r15
je 0x140157596
mov ecx, dword [rsi + 0x1f8]
xor edx, edx
mov eax, dword [r13 + 0xe4]
div ecx
sub ecx, edx
mov ebx, ecx
jmp 0x14015759d
mov rbx, 0xffffffffffffffff
cmp dword [r13 + 0x38], 7
mov r10d, 1
mov qword [rsp + 0x428], rdi
mov qword [rsp + 0x3f0], r12
movaps xmmword [rsp + 0x3d0], xmm6
mov qword [rsp + 0x50], rbx
je 0x14015f71d
xor r11d, r11d
mov dword [r13 + 0x38], r11d
mov qword [r13 + 0x48], r11
mov qword [r13 + 0xa0], r11
mov dword [rsi + 0x270], r11d
mov eax, dword [rsi + 0x178]
test eax, eax
jne 0x14015f13a
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 - 0x20]
lea r12, [rbx + rcx*8]
mov dword [rbp - 0x60], eax
movzx edi, byte [r12]
inc r15
mov qword [rsp + 0x38], r12
mov qword [rbp - 0x40], r15
cmp edi, 0xad
ja case.0x140157646.86
mov ecx, dword [rdx + rdi*4 + 0x15f960]
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 + r14 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
mov r12, qword [rsp + 0x38]
jmp 0x14015b1c9
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + r14 + 8], ax
lea r12, [rbx + rcx*8]
jmp 0x14015c5d9
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, dword [r12 + 0xc]
dec eax
cdqe
mov qword [rcx + r14], rax
mov eax, 4
mov word [rcx + r14 + 8], ax
cmp dword [r12 + 8], 0
jne 0x14015b1c9
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rcx*8 + 8]
dec eax
cdqe
jmp 0x14015769b
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 4]
sub rdi, rbx
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r14 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r14]
imul rdi
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r12, [rbx + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
mov r8d, 0x1000
jmp 0x14015c5d9
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
je case.0x140157646.86
mov rcx, r12
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 0x14015ef74
mov rdx, qword [r13 + 0x100]
test rdx, rdx
je 0x14015ef6f
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 + 0x78], eax
add dword [rsi + 0x7c], eax
call fcn.1401606d0
mov r12, qword [rsp + 0x38]
mov rbx, qword [r13 + 0x88]
mov qword [rsp + 0x58], rbx
cmp dword [r12 + 8], 4
jne 0x140157802
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rcx*8 + 8]
dec eax
mov r14, qword [r13 + 0x68]
xor r11d, r11d
cdqe
mov r9d, 0x2400
mov qword [rsp + 0x60], r14
mov r8d, 0x1000
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
jmp 0x14015c5d3
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x140157879
call fcn.14010b720
mov rcx, rax
lea rdx, [0x140000000]
movsxd rax, dword [r12 + 4]
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
mov qword [rcx], rax
lea r10d, [r11 + 1]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
mov eax, 4
mov word [rcx + 8], ax
movsxd rax, dword [r12 + 4]
mov qword [rcx], rax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401578de
mov rcx, rdx
call fcn.14010b720
mov rdx, rax
xor r11d, r11d
mov rax, qword [r12 + 0x10]
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14015c5d9
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [r12 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14015c5d9
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x140157929
mov rcx, rdx
call fcn.14010b720
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 [r12 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14015c5d9
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 0x140157974
mov rcx, rsi
call fcn.14010b720
xor r11d, r11d
mov rsi, rax
mov r9d, 0x2400
lea r10d, [r11 + 1]
jmp 0x14015797d
mov eax, 4
mov word [rsi + 8], ax
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x14015798b
mov eax, r11d
jmp 0x1401579a0
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x140157992
and eax, 0x3fffffff
mov r12, qword [rsp + 0x38]
movzx r15d, byte [rsp + 0x48]
mov dword [r12 + 4], eax
cmp r15b, 1
je 0x140157ab5
test rdi, rdi
jne 0x1401579e1
test word [rsi + 8], r9w
je 0x1401579d0
mov rcx, rsi
call fcn.140177040
jmp 0x1401579d5
mov word [rsi + 8], r10w
test byte [rsi + 8], 2
je 0x140157a69
jmp 0x140157a4f
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x1401579f3
mov r14d, dword [rax + 0x80]
jmp 0x1401579f9
mov r14d, 0x3b9aca00
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x140157a00
btr ebx, 0x1f
test word [rsi + 8], r9w
jne 0x140157a1a
cmp dword [rsi + 0x20], 0
je 0x140157a22
mov rcx, rsi
call fcn.140176ff0
mov qword [rsi + 0x10], rdi
xor eax, eax
mov qword [rsi + 0x30], rax
mov eax, 0xa02
mov dword [rsi + 0xc], ebx
mov word [rsi + 8], ax
mov byte [rsi + 0xa], 1
cmp ebx, r14d
jg 0x14015f47c
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
cmp byte [rsi + 0xa], r15b
je 0x140157a69
movzx edx, r15b
mov rcx, rsi
call fcn.140162b80
test eax, eax
jne 0x14015f6ce
xor r11d, r11d
mov eax, 0x800
mov dword [rsi + 0x20], r11d
or word [rsi + 8], ax
mov rax, r12
cmp byte [rax + 1], 0xf9
jne 0x140157a9b
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x140157a9b
mov rcx, qword [rsp + 0x40]
call fcn.1401288c0
mov rax, r12
xor r11d, r11d
mov byte [rax + 1], 0xf9
mov rax, qword [rsi + 0x10]
mov dword [rsp + 0x30], r11d
mov qword [r12 + 0x10], rax
mov eax, dword [rsi + 0xc]
mov dword [r12 + 4], eax
mov rsi, qword [rsp + 0x40]
cmp eax, dword [rsi + 0x80]
jg 0x14015f47c
mov byte [r12], 0x47
mov r9d, 0x2400
jmp 0x140157ad9
movzx r15d, byte [rsp + 0x48]
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x140157afe
mov rcx, rdx
call fcn.14010b720
mov rdx, rax
mov r9d, 0x2400
mov eax, 0xa02
mov word [rdx + 8], ax
mov rax, qword [r12 + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [r12 + 4]
mov dword [rdx + 0xc], eax
mov byte [rdx + 0xa], r15b
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x14015c5c5
imul rcx, rax, 0x38
movzx eax, word [r12 + 2]
xor r11d, r11d
cmp qword [rcx + r14], rax
jne 0x14015c5c8
mov eax, 0xa10
mov r8d, 0x1000
mov word [rdx + 8], ax
jmp 0x14015c5d3
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 0x140157b82
call fcn.14010b720
mov rcx, rax
mov r10d, 1
mov r9d, 0x2400
jmp 0x140157b8b
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 r12, qword [rsp + 0x38]
mov esi, r10d
cmp dword [r12 + 4], 0
cmovne si, dx
xor r15d, r15d
sub edi, eax
mov word [rbx], si
mov dword [rcx + 0xc], r15d
test edi, edi
jle 0x140157be7
nop dword [rax]
test word [rbx + 0x38], r9w
lea rbx, [rbx + 0x38]
je 0x140157bda
lea rcx, [rbx - 8]
call fcn.140177040
mov r9d, 0x2400
dec edi
mov word [rbx], si
mov dword [rbx + 4], r15d
test edi, edi
jg 0x140157bc0
mov rsi, qword [rsp + 0x40]
jmp 0x14015c5c5
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r14
and word [rcx + 8], ax
or word [rcx + 8], 1
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
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 0x140157c4f
mov rcx, r14
call fcn.14010b720
xor r11d, r11d
mov r14, rax
mov r9d, 0x2400
lea r10d, [r11 + 1]
jmp 0x140157c59
mov eax, 4
mov word [r14 + 8], ax
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsi + 0x10]
mov ebx, dword [r12 + 4]
test rsi, rsi
jne 0x140157c8a
test word [r14 + 8], r9w
je 0x140157c80
mov rcx, r14
call fcn.140177040
jmp 0x140157d06
mov word [r14 + 8], r10w
jmp 0x140157d0c
mov rax, qword [r14 + 0x28]
test rax, rax
je 0x140157c9b
mov ecx, dword [rax + 0x80]
jmp 0x140157ca0
mov ecx, 0x3b9aca00
mov edi, 0x10
test ebx, ebx
jns 0x140157cd5
movsxd rdx, ecx
mov ebx, r11d
test ecx, ecx
js 0x140157cd0
mov rcx, rsi
movzx eax, byte [rcx + 1]
or al, byte [rcx]
je 0x140157cd0
add rcx, 2
add ebx, 2
mov rax, rcx
sub rax, rsi
cmp rax, rdx
jle 0x140157cb6
mov edi, 0x210
test word [r14 + 8], r9w
jne 0x140157ce3
cmp dword [r14 + 0x20], 0
je 0x140157ceb
mov rcx, r14
call fcn.140176ff0
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]
mov byte [r14 + 0xa], al
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
mov rbx, qword [rsp + 0x58]
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x14015c5d9
movsxd rax, dword [r12 + 4]
mov rsi, qword [r13 + 0x80]
imul rdi, rax, 0x38
movzx eax, word [rdi + rsi - 0x30]
test al, 0x12
je 0x140157d71
bt ax, 0xe
mov ecx, dword [rdi + rsi - 0x2c]
jae 0x140157d60
add ecx, dword [rdi + rsi - 0x38]
mov rax, qword [rdi + rsi - 0x10]
cmp ecx, dword [rax + 0x80]
jg 0x14015f47c
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, r14
test word [rbx + 8], r9w
je 0x140157da6
mov rcx, rbx
call fcn.140177040
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 r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
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, r14
add rbx, r14
xor r15d, r15d
nop
test word [rbx + 8], r9w
jne 0x140157e1d
cmp dword [rbx + 0x20], r15d
je 0x140157e31
mov rcx, rbx
call fcn.140176ff0
mov r10d, 1
mov r8d, 0x1000
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], r15d
movzx eax, word [rbx + 8]
test r8w, ax
je 0x140157eeb
test al, 0x12
je 0x140157ed6
bt ax, 0xe
jae 0x140157eb6
mov edx, dword [rbx]
add edx, dword [rbx + 0xc]
test edx, edx
jg 0x140157e83
test al, 0x10
je 0x140157eb6
mov edx, r10d
mov r8d, r10d
mov rcx, rbx
call fcn.1401621e0
test eax, eax
jne 0x14015f70b
movsxd rcx, dword [rbx + 0xc]
xor edx, edx
add rcx, qword [rbx + 0x10]
movsxd r8, dword [rbx]
call fcn.1401b3ce0
mov eax, dword [rbx]
add dword [rbx + 0xc], eax
mov eax, 0xbdff
and word [rbx + 8], ax
cmp dword [rbx + 0x20], r15d
je 0x140157ec6
mov rax, qword [rbx + 0x18]
cmp qword [rbx + 0x10], rax
je 0x140157ed6
mov rcx, rbx
call fcn.140176f90
test eax, eax
jne 0x14015f70b
mov eax, 0xefff
mov r10d, 1
and word [rbx + 8], ax
mov r8d, 0x1000
add rdi, 0x38
add rbx, 0x38
mov r9d, 0x2400
sub esi, 1
jne 0x140157e10
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
jmp 0x14015c5d9
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, r14
add rbx, r14
test word [rbx + 8], r9w
je 0x140157f51
mov rdx, rdi
mov rcx, rbx
call fcn.140175b10
mov r8d, 0x1000
jmp 0x140157f7a
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 0x140157f7a
mov eax, 0xf3ff
and word [rbx + 8], ax
or word [rbx + 8], r8w
movzx eax, word [rbx + 8]
test r8w, ax
je 0x140157fce
test al, 0x12
je 0x140157fbf
bt ax, 0xe
jae 0x140157f9f
mov rcx, rbx
call fcn.140161f60
test eax, eax
jne 0x14015f6ce
cmp dword [rbx + 0x20], 0
je 0x140157faf
mov rax, qword [rbx + 0x18]
cmp qword [rbx + 0x10], rax
je 0x140157fbf
mov rcx, rbx
call fcn.140176f90
test eax, eax
jne 0x14015f6ce
mov eax, 0xefff
mov r8d, 0x1000
and word [rbx + 8], ax
mov eax, esi
mov r9d, 0x2400
dec esi
test eax, eax
je 0x14015db37
add rbx, 0x38
add rdi, 0x38
jmp 0x140157f37
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, r14
add rcx, r14
test word [rcx + 8], r9w
je 0x14015802d
call fcn.140175b10
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x14015c5d3
movups xmm0, xmmword [rdx]
mov r12, 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 0x14015c5c8
mov eax, 0xf3ff
and word [rcx + 8], ax
or word [rcx + 8], r8w
jmp 0x14015c5d9
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, r14
mov rax, qword [rcx + r14]
test word [r8 + 8], r9w
je 0x140158094
mov rdx, rax
mov rcx, r8
call fcn.140178100
jmp 0x140158014
mov r12, qword [rsp + 0x38]
mov qword [r8], rax
mov eax, 4
mov word [r8 + 8], ax
mov r8d, 0x1000
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
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, r14
add r15, r14
imul r14, rax, 0x38
movzx esi, word [rdi + 8]
movzx eax, byte [r15 + 8]
add r14, qword [rsp + 0x60]
or al, sil
test al, 1
je 0x14015812d
test word [r14 + 8], r9w
je 0x140158114
mov rcx, r14
call fcn.140177040
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
jmp 0x140158014
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x60]
jmp 0x14015c5d9
test sil, 0x12
jne 0x140158163
movzx r12d, byte [rsp + 0x48]
xor r8d, r8d
movzx edx, r12b
mov rcx, rdi
call fcn.140162a50
test eax, eax
jne 0x14015f6ce
movzx esi, word [rdi + 8]
mov eax, 0xfffd
and si, ax
mov edx, 0x4000
jmp 0x1401581c9
mov edx, 0x4000
test dx, si
je 0x1401581c3
mov edx, dword [rdi + 0xc]
add edx, dword [rdi]
test edx, edx
jg 0x14015817f
test sil, 0x10
je 0x1401581b6
mov edx, r10d
mov r8d, r10d
mov rcx, rdi
call fcn.1401621e0
test eax, eax
jne 0x14015f6ce
movsxd rcx, dword [rdi + 0xc]
xor edx, edx
add rcx, qword [rdi + 0x10]
movsxd r8, dword [rdi]
call fcn.1401b3ce0
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 0x1401581e4
xor r8d, r8d
movzx edx, r12b
mov rcx, r15
call fcn.140162a50
jmp 0x1401581f1
test dx, bx
je 0x140158206
mov rcx, r15
call fcn.140161f60
test eax, eax
jne 0x14015f6ce
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 + 0x80]
cmp r12, rax
jg 0x14015f477
xor eax, eax
lea edx, [r13 + 3]
mov r8d, eax
cmp r14, r15
mov rcx, r14
sete r8b
call fcn.1401621e0
test eax, eax
jne 0x14015f6f0
mov eax, 0x3e40
and word [r14 + 8], ax
or word [r14 + 8], 2
cmp r14, r15
je 0x140158271
movsxd r8, dword [r15 + 0xc]
mov rdx, qword [r15 + 0x10]
mov rcx, qword [r14 + 0x10]
call fcn.1401b3e90
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 fcn.1401b3e90
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 + 0x38]
mov r14, qword [rsp + 0x60]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, r14
movzx eax, word [rdi + 8]
movzx ebx, ax
and bx, 0x2c
je 0x1401582fd
xor r15d, r15d
jmp 0x140158317
test al, 0x12
je 0x140158311
mov rcx, rdi
call fcn.1400f43b0
movzx ebx, ax
xor r15d, r15d
jmp 0x140158317
xor r15d, r15d
mov ebx, r15d
movsxd rax, dword [rsi + 8]
imul rsi, rax, 0x38
add rsi, r14
movzx edx, word [rsi + 8]
test dl, 0x2c
je 0x140158331
movzx r8d, dx
jmp 0x14015834b
test dl, 0x12
je 0x140158348
mov rcx, rsi
call fcn.1400f43b0
movzx edx, word [rsi + 8]
movzx r8d, ax
jmp 0x14015834b
mov r8d, r15d
mov r12, qword [rsp + 0x38]
and r8b, bl
movzx r10d, word [rdi + 8]
or dx, r10w
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add r14, rcx
test r8b, 4
je 0x140158537
movzx ecx, byte [r12]
mov r9, qword [rdi]
mov r8, qword [rsi]
sub ecx, 0x6a
je 0x1401584ca
sub ecx, 1
je 0x14015848d
sub ecx, 1
je 0x1401583f2
cmp ecx, 1
je 0x1401583c0
test r9, r9
je 0x1401586dd
cmp r9, 0xffffffffffffffff
mov rax, r8
mov r13d, 1
cqo
cmove r9, r13
idiv r9
mov r8, rdx
jmp 0x140158506
test r9, r9
je 0x1401586dd
cmp r9, 0xffffffffffffffff
jne 0x1401583e2
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x140158540
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x140158506
test r9, r9
jle 0x140158428
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x140158540
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jge 0x140158487
jmp 0x140158540
jns 0x140158487
test r8, r8
jle 0x140158448
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x140158487
jmp 0x140158540
jns 0x140158487
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x140158540
cmp r8, rax
je 0x140158540
movabs rax, 0x8000000000000001
cqo
idiv r9
mov rcx, rax
mov rax, r8
neg rax
cmp rax, rcx
jg 0x140158540
imul r8, r9
jmp 0x140158506
movabs rax, 0x8000000000000000
cmp r9, rax
jne 0x1401584aa
test r8, r8
jns 0x140158540
sub r8, rax
jmp 0x140158506
neg r9
jns 0x1401584cf
test r8, r8
jns 0x140158503
movabs rcx, 0x8000000000000001
lea rax, [r9 + 1]
sub rcx, r8
cmp rcx, rax
jmp 0x140158501
test r9, r9
js 0x1401584e8
test r8, r8
jle 0x140158503
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x140158503
jmp 0x140158540
test r8, r8
jns 0x140158503
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jg 0x140158540
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
xor r11d, r11d
mov r14, qword [rsp + 0x60]
jmp 0x14015c5c8
test dl, 1
jne 0x1401586dd
test r10b, 8
je 0x14015854c
movsd xmm2, qword [rdi]
jmp 0x140158572
test r10b, 0x24
je 0x14015855c
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rdi]
jmp 0x140158572
test r10b, 0x12
je 0x14015856f
mov rcx, rdi
call fcn.140107eb0
movaps xmm2, xmm0
jmp 0x140158572
movaps xmm2, xmm6
movzx eax, word [rsi + 8]
test al, 8
je 0x140158580
movsd xmm0, qword [rsi]
jmp 0x14015859f
test al, 0x24
je 0x14015858e
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
jmp 0x14015859f
test al, 0x12
je 0x14015859c
mov rcx, rsi
call fcn.140107eb0
jmp 0x14015859f
movaps xmm0, xmm6
movzx ecx, byte [r12]
sub ecx, 0x6a
je 0x140158676
sub ecx, 1
je 0x140158670
sub ecx, 1
je 0x14015866a
cmp ecx, 1
je 0x14015865c
movzx eax, word [rdi + 8]
test al, 0x24
je 0x1401585d5
mov rbx, qword [rdi]
jmp 0x140158602
test al, 8
je 0x1401585e7
movsd xmm0, qword [rdi]
call fcn.1400f7b00
mov rbx, rax
jmp 0x140158602
test al, 0x12
je 0x1401585ff
cmp qword [rdi + 0x10], 0
je 0x1401585ff
mov rcx, rdi
call fcn.140107e80
mov rbx, rax
jmp 0x140158602
mov rbx, r15
movzx eax, word [rsi + 8]
test al, 0x24
je 0x14015860f
mov rax, qword [rsi]
jmp 0x140158636
test al, 8
je 0x14015861e
movsd xmm0, qword [rsi]
call fcn.1400f7b00
jmp 0x140158636
test al, 0x12
je 0x140158633
cmp qword [rsi + 0x10], 0
je 0x140158633
mov rcx, rsi
call fcn.140107e80
jmp 0x140158636
mov rax, r15
test rbx, rbx
je 0x1401586dd
cmp rbx, 0xffffffffffffffff
mov r13d, 1
cqo
xorps xmm0, xmm0
cmove rbx, r13
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x14015867a
ucomisd xmm2, xmm6
jp 0x140158664
je 0x1401586dd
divsd xmm0, xmm2
jmp 0x14015867a
mulsd xmm0, xmm2
jmp 0x14015867a
subsd xmm0, xmm2
jmp 0x14015867a
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 0x1401586dd
mov rsi, qword [rsp + 0x40]
mov ecx, 0x3e40
movsd qword [r14], xmm0
mov r9d, 0x2400
movzx eax, word [r14 + 8]
and ax, cx
or ax, 8
mov word [r14 + 8], ax
xor r11d, r11d
mov r14, qword [rsp + 0x60]
jmp 0x14015c5c8
mov r9d, 0x2400
test word [r14 + 8], r9w
je 0x14015870a
mov rcx, r14
call fcn.140177040
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
mov r14, qword [rsp + 0x60]
mov r9d, 0x2400
jmp 0x14015c5c8
mov rsi, qword [rsp + 0x40]
mov r10d, 1
mov rbx, qword [rsp + 0x58]
xor r11d, r11d
mov word [r14 + 8], r10w
mov r8d, 0x1000
mov r14, qword [rsp + 0x60]
jmp 0x14015c5d9
movsxd rax, dword [r12 + 4]
test eax, eax
je case.0x140157646.86
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x140158768
xor edx, edx
call fcn.140178100
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x14015c5d3
mov eax, 4
mov qword [rcx], r11
mov word [rcx + 8], ax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
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, r14
imul rsi, rax, 0x38
movzx edx, word [rdi + 8]
add rcx, r14
add rsi, r14
movzx r8d, word [rcx + 8]
movzx eax, r8b
or al, dl
test al, 1
je 0x1401587f2
test word [rsi + 8], r9w
je 0x1401587d8
mov rcx, rsi
call fcn.140177040
mov rsi, qword [rsp + 0x40]
jmp 0x140158014
mov r12, qword [rsp + 0x38]
mov r8d, 0x1000
mov word [rsi + 8], r10w
mov rsi, qword [rsp + 0x40]
jmp 0x14015c5d9
mov eax, r8d
test r8b, 0x24
je 0x140158803
mov rbx, qword [rcx]
xor r15d, r15d
jmp 0x14015883a
test al, 8
je 0x140158818
movsd xmm0, qword [rcx]
call fcn.1400f7b00
mov rbx, rax
xor r15d, r15d
jmp 0x14015883a
test al, 0x12
je 0x140158834
cmp qword [rcx + 0x10], 0
je 0x140158834
call fcn.140107e80
movzx edx, word [rdi + 8]
mov rbx, rax
xor r15d, r15d
jmp 0x14015883a
xor r15d, r15d
mov ebx, r15d
movzx eax, dx
test al, 0x24
je 0x140158846
mov rcx, qword [rdi]
jmp 0x140158873
test al, 8
je 0x140158858
movsd xmm0, qword [rdi]
call fcn.1400f7b00
mov rcx, rax
jmp 0x140158873
test al, 0x12
je 0x140158870
cmp qword [rdi + 0x10], 0
je 0x140158870
mov rcx, rdi
call fcn.140107e80
mov rcx, rax
jmp 0x140158873
mov rcx, r15
mov r12, qword [rsp + 0x38]
movzx edx, byte [r12]
cmp dl, 0x66
jne 0x140158887
and rbx, rcx
jmp 0x1401588fb
cmp dl, 0x67
jne 0x140158891
or rbx, rcx
jmp 0x1401588fb
test rcx, rcx
je 0x1401588fb
jns 0x1401588ab
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x1401588b1
neg rcx
cmp rcx, 0x40
jl 0x1401588c9
test rbx, rbx
jns 0x1401588c4
cmp dl, 0x68
je 0x1401588c4
mov rbx, 0xffffffffffffffff
jmp 0x1401588fb
mov rbx, r15
jmp 0x1401588fb
cmp dl, 0x68
jne 0x1401588d6
shl rbx, cl
mov r8, rbx
jmp 0x1401588f8
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1401588f8
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]
xor r11d, r11d
jmp 0x14015c5c8
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140162370
movsxd rax, dword [r12 + 8]
mov r9d, 0x2400
add qword [rbx], rax
xor r11d, r11d
jmp 0x14015c5c8
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx eax, word [rbx + 8]
test al, 4
jne 0x1401589dc
test al, 8
jne 0x140158985
test al, 2
je 0x140158994
mov edx, r10d
mov rcx, rbx
call fcn.1400ead10
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x14015898d
mov rcx, rbx
call fcn.140161140
lea rdx, [0x140000000]
movzx eax, word [rbx + 8]
test al, 4
jne 0x1401589dc
cmp dword [r12 + 8], 0
jne 0x14015b1c4
mov r10d, 0x14
mov dword [rsp + 0x30], r10d
xor r15d, r15d
mov edi, 1
lea r14, [0x1402429a4]
mov rbx, qword [rsp + 0x50]
cmp byte [rsi + 0x63], 0
je 0x14015f790
mov r10d, 7
jmp 0x14015f7c2
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 r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r14
movzx eax, word [rcx + 8]
test al, 0x24
je case.0x140157646.86
test al, 8
je 0x140158a25
movsd xmm0, qword [rcx]
jmp 0x140158a2d
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 r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r14
test word [rbx + 8], ax
je 0x140158a81
mov rcx, rbx
call fcn.140161f60
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
movzx r8d, byte [rsp + 0x48]
mov rcx, rbx
movzx edx, byte [r12 + 8]
call fcn.140161d70
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x1401582cd
mov rbx, qword [rsp + 0x50]
xor r15d, r15d
jmp 0x14015f148
mov rcx, qword [rsp + 0x38]
mov r12, rcx
movsxd rax, dword [rcx + 4]
lea r15, [rcx + 2]
imul r14, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add r14, qword [rsp + 0x60]
imul rsi, rax, 0x38
movzx edi, word [r14 + 8]
add rsi, qword [rsp + 0x60]
movzx ebx, word [rsi + 8]
movzx edx, bx
or dx, di
test dl, 1
je 0x140158b7d
movzx eax, word [r15]
test al, al
jns 0x140158b2b
movzx eax, bl
and al, dil
test al, 1
je 0x140158b16
mov eax, 0x100
test ax, bx
jne 0x140158b16
movzx eax, byte [rcx]
mov edx, r11d
jmp 0x140158d42
movzx eax, bx
not ax
and eax, 1
lea edx, [rax*2 - 1]
jmp 0x140158d19
test al, 0x20
je 0x140158b61
movsxd rax, dword [r12 + 8]
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
imul rcx, rax, 0x38
mov eax, 0x3e40
mov dword [rbp - 0x80], r10d
add rcx, r14
and word [rcx + 8], ax
or word [rcx + 8], 1
jmp 0x14015c5d9
test al, 0x10
jne 0x14015b1c4
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
jmp 0x14015c5d9
movzx eax, byte [r15]
and al, 0x47
cmp al, 0x43
jb 0x140158c91
movzx ecx, bx
test dl, 2
je 0x140158bc5
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x140158bab
xor edx, edx
mov rcx, r14
call fcn.1400ead10
movzx ebx, word [rsi + 8]
movzx eax, bl
movzx ecx, bx
and al, 0x2e
cmp al, 2
jne 0x140158bc5
xor edx, edx
mov rcx, rsi
call fcn.1400ead10
movzx ecx, word [rsi + 8]
and cl, byte [r14 + 8]
test cl, 4
je 0x140158d00
mov rax, qword [rsi]
cmp rax, qword [r14]
movzx eax, byte [r12]
jle 0x140158c7a
mov r10d, 1
mov edx, r10d
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x2386dc]
xor r11d, r11d
mov word [rsi + 8], bx
mov word [r14 + 8], di
movzx r9d, word [r15]
movzx r8d, cl
test r9b, 0x20
je 0x140158d5c
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
mov dword [rbp - 0x80], edx
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, r14
test r9b, 8
je 0x140158c49
cmp byte [rsi], 0x35
mov eax, r11d
sete al
cmp eax, r8d
je 0x14015ede2
mov rsi, qword [rsp + 0x40]
mov eax, 0x3e40
and word [rcx + 8], ax
mov r9d, 0x2400
or word [rcx + 8], 4
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
mov qword [rcx], r8
mov r8d, 0x1000
jmp 0x14015c5d9
jge 0x140158c86
mov edx, 0xffffffff
jmp 0x140158d22
xor r11d, r11d
mov edx, r11d
jmp 0x140158d42
cmp al, 0x42
jne 0x140158d00
movzx r13d, byte [rsp + 0x48]
test dil, 2
jne 0x140158cd5
test dil, 0x2c
je 0x140158cd5
mov r8b, 1
movzx edx, r13b
mov rcx, r14
call fcn.140162a50
movzx eax, di
mov ecx, 0x3e40
xor ax, word [r14 + 8]
and ax, cx
xor di, ax
cmp r14, rsi
jne 0x140158cd5
movzx ebx, di
or bx, 2
test bl, 2
jne 0x140158d00
test bl, 0x2c
je 0x140158d00
mov r8b, 1
movzx edx, r13b
mov rcx, rsi
call fcn.140162a50
movzx eax, word [rsi + 8]
mov ecx, 0x3e40
xor ax, bx
and ax, cx
xor bx, ax
mov r8, qword [r12 + 0x10]
mov rdx, r14
mov rcx, rsi
call fcn.14013e410
xor r11d, r11d
mov edx, eax
lea r10d, [r11 + 1]
movzx eax, byte [r12]
test edx, edx
jns 0x140158d3c
lea rcx, [0x140000000]
mov r10d, 1
movzx ecx, byte [rax + rcx + 0x237fd4]
jmp 0x140158bfb
jne 0x140158bec
lea rcx, [0x140000000]
mov r10d, 1
movzx ecx, byte [rax + rcx + 0x238594]
jmp 0x140158bfe
mov rbx, qword [rsp + 0x58]
test cl, cl
jne 0x14015b1c9
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r14, qword [rsp + 0x60]
mov r8d, 0x1000
jmp 0x14015c5d9
cmp dword [rbp - 0x80], 0
jne 0x14015b1c9
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
mov rax, qword [rsp + 0x38]
test byte [rax + 2], 1
jne 0x140158db3
xor r15d, r15d
mov r13d, r15d
jmp 0x140158dbe
mov r13, qword [rax - 8]
add r13, 4
xor r15d, r15d
mov rdx, qword [rax + 0x10]
mov esi, r15d
mov r8d, dword [rax + 4]
mov rbx, r15
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 0x14015ef65
lea r12, [rdx + 0x20]
test r13, r13
je 0x140158dfe
mov ecx, dword [r13 + rbx*4]
jmp 0x140158e00
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.14013e410
mov dword [rbp - 0x80], eax
mov edx, eax
test eax, eax
jne 0x140158e58
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 0x140158df2
jmp 0x1401582be
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x140158e8a
imul rax, r14, 0x38
mov r14, qword [rsp + 0x60]
test byte [rax + r14 + 8], 1
jne 0x140158e83
imul rax, r15, 0x38
test byte [rax + r14 + 8], 1
je 0x140158e8f
neg edx
mov dword [rbp - 0x80], edx
jmp 0x140158e8f
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
test edi, edi
je 0x14015c5c5
neg edx
mov dword [rbp - 0x80], edx
jmp 0x14015c5c5
mov edx, dword [rbp - 0x80]
test edx, edx
jns 0x140158ece
mov eax, dword [r12 + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
jmp 0x14015c5d9
lea rdx, [0x140000000]
jne 0x140158efa
mov eax, dword [r12 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
mov eax, dword [r12 + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
movsxd rax, dword [r12 + 4]
mov edi, 2
imul rcx, rax, 0x38
mov edx, edi
add rcx, r14
call fcn.140156730
movsxd rcx, dword [r12 + 8]
mov edx, edi
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, r14
call fcn.140156730
lea rcx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r12], 0x2c
cdqe
jne 0x140158f69
movzx edx, byte [rax + rcx + 0x238718]
jmp 0x140158f71
movzx edx, byte [rax + rcx + 0x238728]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
cmp dl, dil
jne 0x140158fa4
movzx eax, word [rcx + 8]
mov edx, 0x3e40
and ax, dx
mov r9d, 0x2400
or ax, 1
mov word [rcx + 8], ax
xor r11d, r11d
jmp 0x14015c5c8
movzx eax, dl
mov r9d, 0x2400
mov qword [rcx], rax
mov edx, 0x3e40
movzx eax, word [rcx + 8]
and ax, dx
or ax, 4
mov word [rcx + 8], ax
xor r11d, r11d
jmp 0x14015c5c8
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140156730
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, r14
test word [rcx + 8], r9w
je 0x140159025
call fcn.140178100
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
mov r12, rdi
jmp 0x14015c5d3
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 8], ax
mov r12, rdi
xor r11d, r11d
mov r8d, 0x1000
jmp 0x14015c5d3
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rcx, r14
add rbx, r14
movzx eax, word [rcx + 8]
test al, 1
jne 0x1401590f6
test al, 0x24
je 0x140159076
cmp qword [rcx], 0
mov rax, r11
sete al
jmp 0x1401590b3
test al, 8
je 0x140159080
movsd xmm0, qword [rcx]
jmp 0x1401590a3
test al, 0x12
je 0x1401590b0
call fcn.140107eb0
xor r11d, r11d
lea rdx, [0x140000000]
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
ucomisd xmm0, xmm6
jp 0x1401590ab
je 0x1401590b0
mov rax, r11
jmp 0x1401590b3
mov rax, r10
test word [rbx + 8], r9w
je 0x1401590d3
mov rdx, rax
mov rcx, rbx
call fcn.140178100
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov qword [rbx], rax
mov eax, 4
mov word [rbx + 8], ax
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
test word [rbx + 8], r9w
je 0x140159113
mov rcx, rbx
call fcn.140177040
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov word [rbx + 8], r10w
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
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, r14
add rdi, r14
test word [rdi + 8], r9w
je 0x140159164
mov rcx, rdi
call fcn.140177040
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140159169
mov word [rdi + 8], r10w
test byte [rbx + 8], 1
jne 0x14015afc1
mov eax, 4
mov word [rdi + 8], ax
movzx eax, word [rbx + 8]
test al, 0x24
je 0x1401591a0
mov rax, qword [rbx]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
not rax
mov qword [rdi], rax
mov r9d, 0x2400
jmp 0x14015c5c8
test al, 8
je 0x1401591c6
movsd xmm0, qword [rbx]
call fcn.1400f7b00
mov r12, qword [rsp + 0x38]
not rax
mov qword [rdi], rax
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
test al, 0x12
je 0x1401591f2
cmp qword [rbx + 0x10], 0
je 0x1401591f2
mov rcx, rbx
call fcn.140107e80
mov r12, qword [rsp + 0x38]
not rax
mov qword [rdi], rax
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov r12, qword [rsp + 0x38]
mov rax, r11
not rax
xor r11d, r11d
mov qword [rdi], rax
mov r9d, 0x2400
jmp 0x14015c5c8
mov r8, qword [r13 + 0x100]
test r8, r8
je 0x140159299
mov r9, qword [r8 + 0x30]
mov rcx, r12
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 0x14015b1c9
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 [r12 + 4], eax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
mov rcx, qword [r13 + 0x88]
mov eax, dword [r12 + 4]
cmp dword [rcx + 4], eax
je 0x14015b1c9
mov eax, dword [rcx + 4]
mov r8d, 0x1000
mov dword [r12 + 4], eax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
movsxd rax, dword [r12 + 4]
mov edx, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140156730
xor r11d, r11d
mov r10d, 1
test eax, eax
jne 0x14015b1c9
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x14015c5d9
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, r14
call fcn.140156730
mov r12, qword [rsp + 0x38]
xor r11d, r11d
lea r10d, [r11 + 1]
test eax, eax
je 0x14015b1c9
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x14015c5d9
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
jne 0x14015b1c9
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
je 0x14015b1c9
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
movsxd rcx, dword [r12 + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je case.0x140157646.86
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x1401593d3
call fcn.140177040
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x14015b1c9
mov word [rcx + 8], r10w
jmp 0x14015b1c9
movsxd rcx, dword [r12 + 4]
mov rax, qword [r13 + 0x78]
mov r15d, dword [r12 + 8]
mov dword [rsp + 0x78], r15d
mov r13, qword [rax + rcx*8]
cmp byte [r13 + 3], 0
je 0x1401594b2
mov rdx, qword [r13 + 0x20]
test rdx, rdx
je 0x1401594a8
lea eax, [r15 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x1401594a8
cmp byte [r13 + 2], 0
jne 0x1401594a8
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 r12, qword [rsp + 0x68]
mov rsi, qword [r13 + 0x60]
mov qword [rbp - 0x78], rsi
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, dword [r12 + 0x30]
add r14, rcx
mov qword [rbp + 0x18], r14
cmp dword [r13 + 0x28], eax
je 0x140159623
cmp byte [r13 + 2], 0
je 0x140159526
cmp byte [r13], 3
jne 0x1401594f5
movsxd rax, dword [r13 + 0x2c]
mov rdx, qword [rsp + 0x60]
imul rcx, rax, 0x38
mov eax, dword [rcx + rdx + 0xc]
mov dword [r13 + 0x74], eax
mov dword [r13 + 0x70], eax
mov rcx, qword [rcx + rdx + 0x10]
mov qword [r13 + 0x68], rcx
jmp 0x140159579
mov rcx, r13
call fcn.140160410
jmp 0x1401594c7
mov rax, qword [r13 + 0x38]
cmp byte [rax], 0
je 0x14015943a
mov rcx, r13
call fcn.1401043f0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015f06a
xor r11d, r11d
lea r10d, [rax + 1]
mov r9d, 0x2400
lea rdx, [0x140000000]
mov r8d, 0x1000
jmp 0x14015943f
test word [r14 + 8], r9w
jne 0x1401580fd
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
mov rbx, qword [r13 + 0x38]
mov rcx, rbx
call fcn.140103820
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 0x14015955b
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 + 0x80]
ja 0x14015f472
mov eax, dword [r12 + 0x30]
mov dword [r13 + 0x28], eax
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x14015958f
mov dword [rsi], eax
mov al, 1
jmp 0x140159597
mov rdx, rsi
call fcn.140138db0
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 0x140159612
mov qword [r13 + 0x68], r11
mov dword [r13 + 0x74], r11d
mov eax, dword [rsi]
cmp eax, 0x18003
ja 0x1401595d0
mov qword [rbp - 0x68], rbx
cmp eax, dword [r13 + 0x70]
jbe 0x14015962b
mov r9d, 0x2400
mov rbx, qword [rsp + 0x58]
mov eax, dword [rbx + 0xc]
test eax, eax
jle 0x14015f054
mov r14, 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 r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
jmp 0x14015c5d3
mov r9, qword [r13 + 0x68]
movzx eax, r11w
mov qword [rbp - 0x70], r9
jmp 0x1401596f3
lea rbx, [r13 + 0x52]
mov qword [rbp - 0x68], rbx
movzx eax, word [rbx]
cmp eax, r15d
ja 0x140159903
mov edx, dword [r13 + 0x48]
mov ecx, dword [rsi]
cmp edx, ecx
jae 0x140159835
mov r9, qword [r13 + 0x68]
mov qword [rbp - 0x70], r9
test r9, r9
jne 0x1401596ef
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 0x140159691
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 0x1401596bf
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 0x1401596f3
lea r9, [rbp + 0x38]
xor edx, edx
mov rcx, r10
call fcn.140162070
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015f77b
mov r9, qword [rbp + 0x48]
movzx eax, word [rbx]
mov ecx, dword [rsi]
mov edx, dword [r13 + 0x48]
mov qword [rbp - 0x70], r9
jmp 0x1401596f3
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]
movzx edi, byte [rsi]
mov eax, 0x80
mov dword [rbp - 0x5c], edi
mov dword [r13 + rbx*4 + 0x78], edi
cmp edi, eax
jae 0x140159738
lea rdx, [0x140000000]
inc rsi
movzx eax, byte [rdi + rdx + 0x238630]
jmp 0x140159775
lea rdx, [rbp - 0x5c]
mov rcx, rsi
call fcn.140138db0
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 0x140159762
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x140159771
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x238630]
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 0x140159790
cmp rsi, r12
jb 0x140159710
jmp 0x140159795
cmp rsi, r12
jb 0x1401597ea
cmp rsi, r12
ja 0x1401597f3
mov eax, dword [r13 + 0x70]
cmp r14, rax
jne 0x1401597f3
sub esi, dword [rbp - 0x70]
mov r12d, 0x2400
mov rbx, qword [rbp - 0x68]
mov word [rbx], r15w
mov dword [r13 + 0x48], esi
cmp qword [r13 + 0x68], 0
jne 0x1401597d5
test word [rbp + 0x40], r12w
jne 0x1401597cc
cmp dword [rbp + 0x58], 0
je 0x1401597d5
lea rcx, [rbp + 0x38]
call fcn.140176ff0
movzx eax, word [rbx]
xor r11d, r11d
mov rsi, qword [rbp - 0x78]
mov r14, qword [rbp + 0x18]
mov r15d, dword [rsp + 0x78]
jmp 0x140159842
mov eax, dword [r13 + 0x70]
cmp r14, rax
jbe 0x1401597a3
cmp dword [rcx], 0
jne 0x140159802
xor eax, eax
mov rsi, r12
mov r15d, eax
jmp 0x1401597a3
cmp qword [r13 + 0x68], 0
mov r9d, 0x2400
jne 0x14015982d
test word [rbp + 0x40], r9w
jne 0x14015981c
cmp dword [rbp + 0x58], 0
je 0x14015982d
lea rcx, [rbp + 0x38]
call fcn.140176ff0
xor r11d, r11d
jmp 0x1401595d0
xor r11d, r11d
jmp 0x1401595d6
mov edi, r11d
mov dword [rbp - 0x5c], r11d
mov r12d, 0x2400
movzx eax, ax
cmp eax, r15d
ja 0x1401598fe
mov rsi, qword [rsp + 0x38]
mov r9d, 0x2400
cmp byte [rsi + 1], 0xf5
jne 0x1401598c0
mov rax, qword [rsi + 0x10]
test word [r14 + 8], r9w
je 0x140159880
mov r8d, 0x800
mov rdx, rax
mov rcx, r14
call fcn.140175b10
jmp 0x1401582be
movups xmm0, xmmword [rax]
mov rsi, qword [rsp + 0x40]
mov ecx, 0x800
mov r12, qword [rsp + 0x38]
movups xmmword [r14], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [r14 + 0x10], xmm1
test word [rax + 8], cx
jne 0x1401598b6
mov eax, 0xebff
and word [r14 + 8], ax
or word [r14 + 8], cx
mov r14, qword [rsp + 0x60]
jmp 0x14015c5c8
test word [r14 + 8], r9w
je 0x1401598d4
mov rcx, r14
call fcn.140177040
jmp 0x1401582be
mov rsi, qword [rsp + 0x40]
mov r10d, 1
mov r12, qword [rsp + 0x38]
mov r8d, 0x1000
mov rbx, qword [rsp + 0x58]
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x60]
jmp 0x14015c5d9
mov ebx, r15d
jmp 0x140159914
mov ebx, r15d
mov r12d, 0x2400
mov edi, dword [r13 + rbx*4 + 0x78]
mov dword [rbp - 0x5c], edi
test word [r14 + 8], r12w
je 0x140159923
mov rcx, r14
call fcn.140177040
lea eax, [r15 + 1]
mov eax, dword [rsi + rax*4]
cmp dword [r13 + 0x74], eax
jb 0x140159a07
mov esi, dword [rsi + rbx*4]
add rsi, qword [r13 + 0x68]
cmp edi, 0xc
jae 0x140159952
mov r8, r14
mov edx, edi
mov rcx, rsi
call fcn.1401642f0
jmp 0x1401582be
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 0x140159991
mov r12d, 1
xor r8d, r8d
mov rcx, r14
mov word [r14 + 8], r12w
call fcn.1401621e0
test eax, eax
jne 0x14015f6f7
mov rcx, qword [r14 + 0x10]
jmp 0x140159999
mov rcx, qword [r14 + 0x18]
mov qword [r14 + 0x10], rcx
mov r8, rbx
mov rdx, rsi
call fcn.1401b3e90
mov rax, qword [r14 + 0x10]
lea rdx, [0x140000000]
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
mov r8d, 0x1000
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 + 0x237ee4]
mov word [r14 + 8], ax
lea r10d, [r11 + 1]
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
movzx eax, byte [rsp + 0x48]
mov byte [r14 + 0xa], al
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test al, 0xc0
je 0x140159a2c
cmp edi, 0xc
jb 0x140159a28
test dil, 1
je 0x140159a55
test al, al
js 0x140159a55
mov eax, 0x80
cmp edi, eax
jb 0x140159a3e
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x140159a50
mov eax, edi
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x238630]
test r8d, r8d
jne 0x140159a6b
mov r8, r14
lea rcx, [0x140236500]
mov edx, edi
call fcn.1401642f0
jmp 0x1401582be
mov edx, dword [rsi + rbx*4]
mov r9, r14
mov rcx, qword [r13 + 0x38]
call fcn.140162070
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015f065
mov rcx, qword [r14 + 0x10]
mov r8, r14
mov edx, edi
call fcn.1401642f0
mov eax, 0xefff
and word [r14 + 8], ax
jmp 0x1401582be
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, r14
nop dword [rax]
cmp al, 0x43
jl 0x140159aeb
movzx eax, word [rbx + 8]
test al, 4
jne 0x140159b20
test al, 8
jne 0x140159ae1
test al, 2
je 0x140159b20
mov edx, r10d
mov rcx, rbx
call fcn.1400ead10
jmp 0x140159b20
mov rcx, rbx
call fcn.140161140
jmp 0x140159b20
cmp al, 0x42
jne 0x140159b20
movzx ecx, word [rbx + 8]
movzx eax, cx
test cl, 2
jne 0x140159b14
test cl, 0x2c
je 0x140159b14
movzx edx, byte [rsp + 0x48]
mov r8b, 1
mov rcx, rbx
call fcn.140162a50
movzx eax, word [rbx + 8]
mov ecx, 0xffd3
and ax, cx
mov word [rbx + 8], ax
cmp byte [rdi], 0x45
jne 0x140159b72
movzx ecx, word [rbx + 8]
test cl, 4
je 0x140159b72
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x140159b5b
and cx, ax
or cx, 0x20
jmp 0x140159b6e
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 0x14015ed9d
add rbx, 0x38
mov r10d, 1
jmp 0x140159ac0
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]
dec eax
add r11, r14
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rsi, r11
mov qword [rbp - 0x78], r11
add rcx, r14
mov qword [rbp - 0x68], rsi
mov qword [rbp + 0x18], rcx
test rdi, rdi
je 0x140159c4e
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.1400eac90
cmp byte [rdi], 0x45
jne 0x140159c27
movzx eax, word [rbx]
test al, 4
je 0x140159c27
and ax, r13w
or ax, 0x20
mov word [rbx], ax
movzx eax, byte [rdi + 1]
inc rdi
add rbx, 0x38
test al, al
jne 0x140159c00
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 0x140159c77
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
inc r12d
jmp 0x140159df5
test cl, 0x24
je 0x140159d72
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x140159c8f
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x140159cc2
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x140159cb4
cmp r13b, 4
jb 0x140159cb4
lea eax, [rdx + 8]
mov dword [r14], eax
jmp 0x140159df5
mov eax, r10d
inc r15
mov dword [r14], eax
jmp 0x140159df5
cmp rdx, 0x7fff
ja 0x140159cdc
mov eax, 2
add r15, 2
mov dword [r14], eax
jmp 0x140159df5
cmp rdx, 0x7fffff
ja 0x140159cf6
mov eax, 3
add r15, 3
mov dword [r14], eax
jmp 0x140159df5
cmp rdx, 0x7fffffff
ja 0x140159d10
mov eax, 4
add r15, 4
mov dword [r14], eax
jmp 0x140159df5
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x140159d30
mov eax, 5
add r15, 6
mov dword [r14], eax
jmp 0x140159df5
add r15, 8
test cl, 0x20
je 0x140159d65
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 0x140159df5
mov eax, 6
mov dword [r14], eax
jmp 0x140159df5
test cl, 8
je 0x140159d87
inc r12d
mov dword [r14], 7
add r15, 8
jmp 0x140159df5
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 0x140159dcd
movsxd rax, dword [r14 - 0x24]
lea esi, [rsi + rax*2]
test r15, r15
je 0x140159dc6
lea rcx, [r14 - 0x24]
call fcn.140161f60
test eax, eax
jne 0x14015f6f0
add edi, dword [r14 - 0x24]
lea r10d, [rax + 1]
jmp 0x140159dcd
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 0x140159deb
inc ecx
shr rax, 7
test rax, rax
jne 0x140159de0
mov r11, qword [rbp - 0x78]
add r12d, ecx
mov dword [r14], esi
lea rax, [r14 - 0x24]
cmp rax, r11
je 0x140159e0b
mov rdx, qword [rbp - 0x70]
sub r14, 0x38
jmp 0x140159c52
cmp r12d, 0x7e
jle 0x140159e4f
movsxd rax, r12d
mov edx, r10d
shr rax, 7
test rax, rax
je 0x140159e2b
inc edx
shr rax, 7
test rax, rax
jne 0x140159e20
add r12d, edx
mov ecx, r10d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x140159e4b
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x140159e40
cmp edx, ecx
jge 0x140159e52
inc r12d
mov r14, qword [rbp + 0x18]
mov rsi, qword [rbp - 0x70]
movsxd rbx, r12d
movsxd rdx, dword [r14 + 0x20]
lea rdi, [rbx + r15]
lea rcx, [rdi + rsi]
cmp rcx, rdx
jle 0x140159ea6
mov r9, qword [rsp + 0x40]
movsxd rax, dword [r9 + 0x80]
cmp rcx, rax
jg 0x14015f477
cmp edx, edi
jge 0x140159ea6
xor r8d, r8d
mov edx, edi
mov rcx, r14
call fcn.1401621e0
test eax, eax
jne 0x14015f6f0
mov r11, qword [rbp - 0x78]
lea r10d, [rax + 1]
jmp 0x140159eae
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 0x140159ece
mov eax, 0x4010
mov dword [r14], esi
mov word [r14 + 8], ax
mov rsi, qword [r14 + 0x10]
mov ecx, 0x80
lea rdi, [rbx + rsi]
cmp r12d, ecx
jae 0x140159ee8
mov byte [rsi], r12b
mov eax, r10d
jmp 0x140159f2d
cmp rbx, 0x7f
ja 0x140159ef8
and bl, 0x7f
mov eax, r10d
mov byte [rsi], bl
jmp 0x140159f2d
cmp rbx, 0x3fff
ja 0x140159f1d
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 0x140159f33
mov rdx, rbx
mov rcx, rsi
call fcn.140111890
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 0x140159f58
mov byte [rsi], r11b
mov eax, r13d
jmp 0x140159f92
mov rdx, r11
cmp r11, 0x7f
ja 0x140159f6b
and dl, 0x7f
mov eax, r13d
mov byte [rsi], dl
jmp 0x140159f92
cmp rdx, 0x3fff
ja 0x140159f8a
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 0x140159f92
mov rcx, rsi
call fcn.140111890
movzx eax, al
add rsi, rax
lea eax, [r11 - 1]
cmp eax, 6
ja 0x140159fd4
mov rdx, qword [r14 - 0xc]
lea rcx, [0x140000000]
movzx ecx, byte [r11 + rcx + 0x238630]
mov r13d, 0xffffffff
mov ebx, ecx
nop dword [rax]
add ecx, r13d
mov byte [rcx + rdi], dl
shr rdx, 8
test ecx, ecx
jne 0x140159fc0
lea r13d, [rcx + 1]
jmp 0x140159ff6
cmp r11d, 0xc
jb 0x140159ff2
mov ebx, dword [r14]
test ebx, ebx
je 0x140159ff6
mov rdx, qword [r14 + 4]
mov r8d, ebx
mov rcx, rdi
call fcn.1401b3e90
jmp 0x140159ff6
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 0x140159f47
jmp 0x1401582be
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 0x14015a046
mov rcx, rdx
call fcn.140122a80
mov rbx, rax
mov qword [rbp], rax
jmp 0x14015a069
lea r8, [rbp]
mov qword [rbp], r11
mov rcx, rsi
call fcn.140120400
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
mov rbx, qword [rbp]
mov rax, rdi
mov r12d, 0x2400
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
add rax, qword [r13 + 0x68]
test word [rax + 8], r12w
je 0x14015a098
mov rcx, rax
call fcn.14010b720
mov r9d, r12d
mov qword [rax], rbx
jmp 0x14015cf3f
mov ecx, 4
mov r9d, r12d
mov word [rax + 8], cx
mov qword [rax], rbx
jmp 0x14015cf3f
mov rax, qword [rsp + 0x38]
mov r10d, dword [rax + 4]
mov rsi, qword [rax + 0x10]
mov dword [rsp + 0x78], r10d
test r10d, r10d
jne 0x14015a1af
mov rdi, qword [rsp + 0x40]
cmp dword [rdi + 0xd8], r10d
jg 0x14015f074
test rsi, rsi
jne 0x14015a0e6
xor r15d, r15d
mov ebx, r15d
jmp 0x14015a102
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x14015a0f0
and ebx, 0x3fffffff
xor r15d, r15d
mov r8d, dword [rdi + 0x2cc]
xor edx, edx
add r8d, dword [rdi + 0x2c8]
mov rcx, rdi
call fcn.1401661d0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015f788
mov edx, ebx
mov rcx, rdi
add rdx, 0x21
call fcn.140128a50
mov rdi, rax
test rax, rax
je 0x14015ed98
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.1401b3e90
mov rsi, qword [rsp + 0x40]
cmp byte [rsi + 0x61], 0
je 0x14015a16e
mov byte [rsi + 0x61], 0
mov byte [rsi + 0x69], 1
jmp 0x14015a174
inc dword [rsi + 0x2c8]
mov rax, qword [rsi + 0x2b8]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rdi + 0x18], rax
mov qword [rsi + 0x2b8], rdi
mov rax, qword [rsi + 0x2d0]
mov qword [rdi + 8], rax
mov rax, qword [rsi + 0x2d8]
mov qword [rdi + 0x10], rax
jmp 0x14015c5c8
mov r9, qword [rsp + 0x40]
xor r15d, r15d
mov r13d, r15d
mov r12, qword [r9 + 0x2b8]
test r12, r12
je 0x14015a2b5
lea r11, [0x140000000]
mov r8, qword [r12]
mov r9, rsi
sub r9, r8
nop dword [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x14015a286
test edx, edx
jne 0x14015a29c
mov rsi, qword [rsp + 0x40]
cmp dword [rsi + 0xd8], r15d
jle 0x14015a211
cmp r10d, 1
je 0x14015f091
cmp qword [r12 + 0x18], r15
jne 0x14015a2e2
cmp byte [rsi + 0x69], r15b
je 0x14015a2e2
mov edi, 1
mov r15d, edi
cmp r10d, edi
jne 0x14015a2e2
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x2d8]
add rcx, qword [rax + 0x2d0]
test rcx, rcx
jg 0x14015f159
mov rcx, rbx
mov byte [rsi + 0x61], dil
call fcn.140160a30
cmp eax, 5
je 0x14015f0c4
mov r10d, dword [rbx + 0x38]
mov dword [rsp + 0x30], r10d
test r10d, r10d
jne 0x14015f0b5
mov byte [rsi + 0x69], r10b
jmp 0x14015a3e7
movzx ecx, byte [rax + r11 + 0x237d20]
movzx eax, byte [rdx + r11 + 0x237d20]
cmp eax, ecx
jne 0x14015a2a4
inc r8
jmp 0x14015a1e0
mov r12, qword [r12 + 0x18]
inc r13d
test r12, r12
jne 0x14015a1d1
mov r13, qword [rsp + 0x68]
lea rdx, str.no_such_savepoint:__s
mov rcx, r13
mov r8, rsi
call fcn.1401574a0
mov rsi, qword [rsp + 0x40]
mov edi, 1
mov r10d, edi
mov dword [rsp + 0x30], edi
jmp 0x1401589bb
mov eax, dword [rsi + 0x2c8]
xor ecx, ecx
sub eax, r13d
lea r13d, [rax - 1]
mov eax, dword [rsi + 0x28]
cmp r10d, 2
jne 0x14015a35a
mov r14d, dword [rsi + 0x2c]
mov edi, ecx
and r14d, 1
test eax, eax
jle 0x14015a35d
mov esi, r14d
mov ebx, ecx
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.140123690
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015f065
mov rax, qword [rsp + 0x40]
inc edi
add rbx, 0x20
mov eax, dword [rax + 0x28]
cmp edi, eax
jl 0x14015a310
mov r10d, dword [rsp + 0x78]
xor ecx, ecx
mov rsi, qword [rsp + 0x40]
jmp 0x14015a35d
mov r14d, ecx
mov edi, ecx
test eax, eax
jle 0x14015a3a3
mov rbx, rcx
nop word [rax + rax]
mov rcx, qword [rsi + 0x20]
mov r8d, r13d
mov edx, r10d
mov rcx, qword [rcx + rbx + 8]
call fcn.140122ae0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015f06a
mov r10d, dword [rsp + 0x78]
inc edi
add rbx, 0x20
cmp edi, dword [rsi + 0x28]
jl 0x14015a370
test r14d, r14d
je 0x14015a3d4
mov rax, qword [rsi + 8]
test rax, rax
je 0x14015a3c8
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14015a3b1
mov rcx, rsi
call fcn.1401486f0
or dword [rsi + 0x2c], 1
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14015f06a
mov r14, qword [rsp + 0x60]
mov rcx, qword [rsi + 0x2b8]
cmp rcx, r12
je 0x14015a41b
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, rsi
mov qword [rsi + 0x2b8], rax
call fcn.1401288c0
dec dword [rsi + 0x2c8]
mov rcx, qword [rsi + 0x2b8]
cmp rcx, r12
jne 0x14015a3f3
mov ebx, dword [rsp + 0x78]
cmp ebx, 1
jne 0x14015a44c
mov rax, qword [r12 + 0x18]
mov rdx, r12
mov rcx, rsi
mov qword [rsi + 0x2b8], rax
call fcn.1401288c0
test r15d, r15d
jne 0x14015ed9d
dec dword [rsi + 0x2c8]
jmp 0x14015a472
mov rax, qword [r12 + 8]
mov qword [rsi + 0x2d0], rax
mov rax, qword [r12 + 0x10]
mov qword [rsi + 0x2d8], rax
test r15d, r15d
je 0x14015a472
cmp ebx, 2
jne 0x14015ed9d
mov r8d, r13d
mov edx, ebx
mov rcx, rsi
call fcn.1401661d0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015f06a
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov rcx, qword [rsp + 0x38]
mov dword [rbp - 0x50], r11d
mov edx, dword [rcx + 8]
test edx, edx
je 0x14015a4bf
mov eax, dword [rsi + 0x30]
bt rax, 0x14
jb 0x14015f17b
movsxd rcx, dword [rcx + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x14015a62e
lea r8, [rbp - 0x50]
mov rcx, rbx
call fcn.14011f6b0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015f18c
test byte [r13 + 0xc8], 0x40
mov r12, qword [rsp + 0x38]
je 0x14015a5ce
cmp dword [r12 + 8], eax
je 0x14015a5ce
cmp byte [rsi + 0x61], al
je 0x14015a524
cmp dword [rsi + 0xd4], 1
jle 0x14015a5ce
mov r8d, dword [r13 + 0x40]
test r8d, r8d
jne 0x14015a545
inc dword [rsi + 0x2cc]
mov r8d, dword [rsi + 0x2c8]
add r8d, dword [rsi + 0x2cc]
mov dword [r13 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, rsi
call fcn.1401661d0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015a5b8
mov edi, dword [r13 + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x14015a57a
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x14015a57a
mov rcx, rbx
call fcn.1400eedb0
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x14015a594
cmp byte [rcx + 0xa], 0
je 0x14015a594
mov edx, edi
call fcn.14010c0d0
jmp 0x14015a596
xor eax, eax
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x30], eax
je 0x14015a5ae
sub dword [rbx + 0x14], 1
jne 0x14015a5ae
mov rcx, rbx
call fcn.1401735c0
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsi + 0x2d0]
mov qword [r13 + 0x58], rax
mov rax, qword [rsi + 0x2d8]
mov qword [r13 + 0x60], rax
mov r8d, 0x1000
mov r9d, 0x2400
xor r11d, r11d
cmp word [r12 + 2], 0
je 0x14015a620
mov eax, dword [r12 + 0xc]
cmp dword [rbp - 0x50], eax
jne 0x14015f1d1
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 0x14015f1d1
mov r12, qword [rsp + 0x38]
test r10d, r10d
jne 0x1401589b3
jmp 0x14015c5ce
mov r10d, dword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
jmp 0x14015a5dd
mov rcx, qword [rsi + 0x20]
lea r8, [rbp - 0x10]
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov edx, dword [r12 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140120bb0
movsxd rax, dword [r12 + 8]
mov r9d, 0x2400
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x14015a6a0
call fcn.14010b720
mov rcx, rax
mov r9d, 0x2400
movsxd rax, dword [rbp - 0x10]
xor r11d, r11d
mov r8d, 0x1000
mov qword [rcx], rax
jmp 0x14015c5d3
mov eax, 4
xor r11d, r11d
mov word [rcx + 8], ax
mov r8d, 0x1000
movsxd rax, dword [rbp - 0x10]
mov qword [rcx], rax
jmp 0x14015c5d3
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.1401237a0
mov r12, 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 0x14015a712
mov ecx, dword [r12 + 0xc]
mov rax, r12
movzx eax, word [rax + 2]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
or dword [rsi + 0x2c], 1
jmp 0x14015a727
cmp eax, 2
jne 0x14015a727
mov rax, qword [rsp + 0x38]
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rax + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r12 + 4], 1
jne 0x14015a75f
mov rax, qword [rsi + 8]
test rax, rax
je 0x14015a757
nop dword [rax + rax]
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14015a740
and dword [r13 + 0xc8], 0xfffffffc
test r10d, r10d
jne 0x1401589b3
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
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.0x140157646.97
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
cmp dword [rbx + 0x4c], eax
je 0x14015a8d2
mov eax, dword [r13 + 0xc8]
and al, 3
cmp al, 1
je 0x14015f261
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, 0x62
jne 0x14015a808
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 0x14015a80b
mov byte [rax + 0xc3], cl
jmp 0x14015a80b
mov edi, r11d
test byte [r9 + 2], 0x10
je 0x14015a82b
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.140162370
mov r9, qword [rsp + 0x38]
mov r15d, dword [rbx]
movzx eax, byte [r9 + 1]
cmp al, 0xf7
jne 0x14015a83f
mov r14, qword [r9 + 0x10]
movzx esi, word [r14 + 8]
jmp 0x14015a847
cmp al, 0xfd
jne 0x14015a847
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.1400e9050
mov rbx, rax
test rax, rax
je 0x14015f6f0
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.140120630
mov r13, qword [rsp + 0x68]
lea rdx, [0x140000000]
mov qword [rbx + 0x40], r14
mov r10d, eax
cmp byte [rsi + 1], 0xf7
mov r9d, 0x2400
mov rsi, qword [rsp + 0x40]
mov r8d, 0x1000
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x30], eax
setne al
mov byte [rbx + 4], al
xor r11d, r11d
jmp 0x14015a8d7
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 0x1401589b3
mov r12, qword [rsp + 0x38]
mov r10d, 1
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
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.1400e9050
mov r10, rax
test rax, rax
je 0x14015f6d3
mov byte [rax + 2], 1
mov r8d, 4
or dword [rax + 8], 1
mov rcx, qword [rbx + 0x40]
mov qword [rax + 0x40], rcx
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], ecx
mov ecx, dword [rbx + 8]
xor ecx, dword [rax + 8]
and ecx, 4
xor ecx, dword [rax + 8]
mov dword [rax + 8], ecx
or ecx, 8
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
mov dword [r10 + 8], ecx
or dword [rbx + 8], 8
mov rax, qword [r10 + 0x38]
mov r9, qword [r10 + 0x40]
mov edx, dword [r10 + 0x4c]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140120630
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rsp + 0x30], eax
mov r9d, 0x2400
jmp 0x14015c5c8
mov rdi, qword [rsp + 0x38]
xor r15d, r15d
movsxd rax, dword [rdi + 0xc]
test eax, eax
jle 0x14015a9f5
imul rcx, rax, 0x38
mov dword [rcx + r14 + 0xc], r15d
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
lea rax, [0x14023d684]
mov qword [rcx + r14 + 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 0x14015aa4a
test byte [rbx + 8], 8
jne 0x14015aa4a
mov qword [rbx + 0x18], r15
xor r8d, r8d
mov dword [rbx + 0x28], r15d
mov edx, dword [rbx + 0x4c]
mov rcx, qword [rbx + 0x10]
call fcn.14011fae0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b6
mov byte [rbx + 2], 1
mov r12, rdi
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov rax, rdi
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov rcx, r13
mov r8d, dword [rax + 8]
call fcn.1400e9050
mov rbx, rax
test rax, rax
je 0x14015f42d
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.140121f40
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b6
mov rcx, qword [rbx + 0x10]
mov r12d, 1
mov edx, r12d
xor r8d, r8d
call fcn.14011f6b0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015ab5e
mov rax, rdi
mov r14, qword [rax + 0x10]
mov qword [rbx + 0x40], r14
test r14, r14
je 0x14015ab29
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x4c]
mov rcx, qword [rbx + 0x10]
or r8d, 2
call fcn.1401205c0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015ab23
mov rax, qword [rbx + 0x38]
lea r8d, [r12 + 3]
mov edx, dword [rbx + 0x4c]
mov r9, r14
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140120630
mov r10d, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 4], 0
jmp 0x14015ab54
mov dword [rbx + 0x4c], r12d
xor r9d, r9d
mov rax, qword [rbx + 0x38]
mov edx, r12d
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.140120630
mov r10d, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 4], r12b
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
mov rax, rdi
mov ecx, r15d
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 0x14015f26c
mov byte [rbx + 2], 1
mov r12, rdi
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
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.1400e9050
test rax, rax
je 0x14015f6d3
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.140164880
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
jmp 0x140158014
mov rax, qword [rsp + 0x38]
mov r12, 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 0x14015b1c9
jmp 0x14015c5d9
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.1400e9050
test rax, rax
je 0x14015f6d3
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov byte [rax + 2], 1
mov r9d, 0x2400
mov r8d, 0x1000
mov ecx, dword [r12 + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x1402bfcd3]
mov byte [rax + 4], 1
mov qword [rax + 0x38], rcx
jmp 0x14015c5d3
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.140160870
mov rax, qword [rsp + 0x38]
xor r11d, r11d
mov r12, 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 0x14015c5d3
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 0x14015ae11
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
movzx r14d, word [rbx + 8]
movzx eax, r14b
movzx ecx, r14w
and al, 0x2e
cmp al, 2
jne 0x14015ad21
xor edx, edx
mov rcx, rbx
call fcn.1400ead10
movzx ecx, word [rbx + 8]
xor r11d, r11d
movzx eax, cx
test al, 0x24
je 0x14015ad2d
mov rsi, qword [rbx]
jmp 0x14015ad5e
test al, 8
je 0x14015ad3f
movsd xmm0, qword [rbx]
call fcn.1400f7b00
mov rsi, rax
jmp 0x14015ad5e
test al, 0x12
je 0x14015ad5b
cmp qword [rbx + 0x10], 0
je 0x14015ad5b
mov rcx, rbx
call fcn.140107e80
movzx ecx, word [rbx + 8]
mov rsi, rax
jmp 0x14015ad5e
mov rsi, r11
mov word [rbx + 8], r14w
test cl, 0x24
jne 0x14015add9
test cl, 8
jne 0x14015adaf
test cl, 1
jne 0x14015e75f
cmp edi, 0x18
jae 0x14015e75f
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x74]
call fcn.1401218b0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015bc99
xor r11d, r11d
cmp dword [rsp + 0x74], 0
jne 0x14015bc01
jmp 0x14015afa6
movsd xmm0, qword [rbx]
xorps xmm1, xmm1
cvtsi2sd xmm1, rsi
comisd xmm1, xmm0
jbe 0x14015adcb
test dil, 1
je 0x14015add9
dec edi
jmp 0x14015add9
comisd xmm0, xmm1
jbe 0x14015add9
test dil, 1
jne 0x14015add9
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.140121930
mov qword [r15 + 0x58], rsi
mov r10d, eax
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401589b3
jmp 0x14015ae97
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, r14
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x28], rcx
mov rcx, qword [r15 + 0x38]
call fcn.140121930
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
test bl, bl
je 0x14015ae97
cmp byte [rbp + 0x36], al
je 0x14015ad9c
mov eax, dword [rsp + 0x74]
cmp edi, 0x18
jl 0x14015af44
test eax, eax
js 0x14015aebc
jne 0x14015aeaf
cmp edi, 0x19
je 0x14015aebc
xor r11d, r11d
mov dword [rsp + 0x74], r11d
jmp 0x14015afa6
mov rcx, qword [r15 + 0x38]
xor eax, eax
xor r15d, r15d
mov dword [rsp + 0x74], eax
mov word [rcx + 0x46], r15w
and byte [rcx + 1], 0xf9
cmp byte [rcx], al
je 0x14015aedd
call fcn.1400eef70
jmp 0x14015af12
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 0x14015af03
mov word [rcx + 0x56], r8w
call fcn.1400eef70
jmp 0x14015af12
cmp byte [rdx + 8], r15b
jne 0x14015af9e
call fcn.1401081b0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x14015afa3
cmp eax, 0x65
jne 0x1401589b6
mov r12, qword [rsp + 0x38]
mov r10d, 1
mov dword [rsp + 0x74], r10d
mov dword [rsp + 0x30], r15d
jmp 0x14015b1c1
test eax, eax
jg 0x14015af67
jne 0x14015af4f
cmp edi, 0x16
je 0x14015af67
mov rax, qword [r15 + 0x38]
xor r11d, r11d
mov ecx, r11d
cmp byte [rax], cl
setne cl
mov dword [rsp + 0x74], ecx
jmp 0x14015ad9f
mov rcx, qword [r15 + 0x38]
xor eax, eax
xor r15d, r15d
mov dword [rsp + 0x74], eax
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], r15w
cmp byte [rcx], al
jne 0x14015afcb
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x14015afcb
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], r15b
je 0x14015afcb
dec dx
mov word [rcx + 0x56], dx
mov dword [rsp + 0x30], r15d
xor r11d, r11d
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r14, qword [rsp + 0x60]
test r12d, r12d
je 0x14015afc1
add qword [rsp + 0x38], 0x18
mov r12, qword [rsp + 0x38]
jmp 0x14015c5c8
call fcn.1400ef700
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x14015afa3
cmp eax, 0x65
jmp 0x14015af24
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 0x14015ef49
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, r14
mov qword [rbp + 0x188], rcx
xor r15d, r15d
nop dword [rax + rax]
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.140103820
mov ecx, dword [rbx + 0x40]
lea rax, [rcx - 1]
cmp rax, 0x7ffffffe
ja 0x14015f282
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
mov word [rbp + 0xe0], r15w
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 0x14015b09c
test r8d, r8d
mov edx, r8d
cmovs edx, r15d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0xe8], rax
cmp ecx, edx
ja 0x14015b0bf
mov edx, 0x1010
mov dword [rbp + 0xe4], ecx
mov word [rbp + 0xe0], dx
jmp 0x14015b0ef
mov r8d, ecx
lea r9, [rbp + 0xd8]
mov rcx, rbx
xor edx, edx
call fcn.140162070
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015b803
mov rax, qword [rbp + 0xe8]
mov ecx, dword [rbp + 0xe4]
xor r9d, r9d
lea r8, [rbp + 0x180]
mov rdx, rax
call fcn.140163540
mov r9d, 0x2400
mov ebx, eax
test word [rbp + 0xe0], r9w
jne 0x14015b11c
cmp dword [rbp + 0xf8], r15d
je 0x14015b12e
lea rcx, [rbp + 0xd8]
call fcn.140176ff0
mov r9d, 0x2400
mov dword [rsp + 0x30], r15d
test ebx, ebx
jg 0x14015b1ad
je 0x14015e75f
test edi, edi
jle 0x14015db37
mov rcx, qword [rsi + 0x38]
dec edi
mov word [rcx + 0x46], r15w
and byte [rcx + 1], 0xf9
cmp byte [rcx], r15b
je 0x14015b160
call fcn.1400eef70
jmp 0x14015b195
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 0x14015b186
mov word [rcx + 0x56], r8w
call fcn.1400eef70
jmp 0x14015b195
cmp byte [rdx + 8], r15b
jne 0x14015b040
call fcn.1401081b0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x14015b040
cmp eax, 0x65
jne 0x14015b803
mov r12, qword [rsp + 0x38]
add r12, 0x18
mov dword [rsp + 0x30], r15d
mov r10d, 1
xor r11d, r11d
mov rbx, qword [rsp + 0x58]
mov eax, dword [r12 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rbx + rcx*8]
mov qword [rsp + 0x38], rsi
mov r12, rsi
jmp 0x140158d69
mov rax, qword [rsp + 0x38]
mov r12, 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 0x14015b216
mov word [rdx + 0xc], ax
jmp 0x14015c5d9
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
cmp ecx, eax
jle 0x14015c5d9
mov word [rdx + 0xc], ax
jmp 0x14015c5d9
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
cmp qword [rax + rcx*8], 0
je case.0x140157646.11
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
mov rax, qword [rsp + 0x38]
mov r12, 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 [r12 + 0x10]
jge case.0x140157646.86
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, r14
cmp dword [rcx + 0x10], 0
jle 0x14015b2d6
mov rax, qword [rsi + 0x40]
lea rdi, [rbp + 0x1f8]
mov qword [rbp + 0x1f8], rax
xor r15d, r15d
movzx eax, word [rcx + 0x10]
mov r14d, r15d
mov word [rbp + 0x208], ax
mov qword [rbp + 0x200], rbx
jmp 0x14015b328
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14015b2f1
mov rcx, rbx
call fcn.140161f60
test eax, eax
jne 0x14015f6ce
mov rcx, qword [rsi + 0x40]
call fcn.140156690
mov rdi, rax
mov r14, rax
test rax, rax
je 0x14015f6ce
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.140163df0
mov rcx, qword [rsp + 0x38]
xor r15d, r15d
lea r10d, [r15 + 1]
mov byte [rdi + 0x12], 0
mov ebx, r15d
cmp byte [rcx], 0x1c
jne 0x14015b366
movzx eax, word [rdi + 0x10]
mov rcx, r15
cmp r15w, ax
jae 0x14015b366
mov edx, eax
mov rax, qword [rdi + 8]
add rax, 8
nop dword [rax + rax]
test byte [rax], 1
jne 0x14015b363
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x14015b350
jmp 0x14015b366
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.140121930
mov dword [rsp + 0x30], eax
mov r10d, eax
test r14, r14
je 0x14015b39f
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call fcn.1401288c0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14015b803
mov eax, dword [rbp - 0xc]
mov ecx, r15d
test eax, eax
mov dword [rsi + 0x2c], eax
sete cl
test eax, eax
setne al
mov byte [rsi + 2], al
mov rax, qword [rsp + 0x38]
mov byte [rsi + 3], r10b
mov dword [rsi + 0x28], r15d
movzx eax, byte [rax]
cmp al, 0x1e
jne 0x14015b406
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov rbx, qword [rsp + 0x58]
lea r10d, [r11 + 1]
test ecx, ecx
jne 0x14015b1c9
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r14, qword [rsp + 0x60]
mov r8d, 0x1000
jmp 0x14015c5d9
test ebx, ebx
jne 0x14015e75f
test ecx, ecx
je 0x14015e75f
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r14, qword [rsp + 0x60]
mov r9d, 0x2400
cmp al, 0x1b
jne 0x14015b438
mov rax, r12
movzx eax, word [rax + 0x10]
mov word [rsi + 0xc], ax
mov rsi, qword [rsp + 0x40]
jmp 0x14015c5c8
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 0x24
jne case.0x140157646.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 0x14015b521
test dl, 8
jne 0x14015b4bd
test dl, 2
je 0x14015b518
mov edx, r10d
lea rcx, [rbp + 0x110]
call fcn.1400ead10
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x14015b511
movsd xmm3, qword [rbp + 0x110]
movaps xmm0, xmm3
call fcn.1400f7b00
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
ucomisd xmm3, xmm2
jp 0x14015b518
jne 0x14015b518
movabs rcx, 0x7fffffffffffffff
add rcx, rax
cmp rcx, 0xfffffffffffffffd
ja 0x14015b518
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 0x140157684
mov rdi, qword [rbp + 0x110]
jmp 0x14015b53b
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r14]
mov rax, qword [rsp + 0x38]
xor r15d, r15d
xor r9d, r9d
mov dword [rbp - 0x38], r15d
mov r8, rdi
xor edx, edx
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x38]
call fcn.140121930
mov qword [rbx + 0x58], rdi
mov r10d, eax
mov byte [rbx + 2], r15b
mov dword [rbx + 0x28], r15d
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x38]
mov byte [rbx + 3], r15b
mov dword [rbx + 0x2c], eax
test eax, eax
je 0x14015b5db
mov r12, qword [rsp + 0x38]
cmp dword [r12 + 8], r15d
jne 0x14015b1bb
lea r14, [0x1402429a4]
mov r9d, 0x162cb
lea r8, str.database_corruption
mov qword [rsp + 0x20], r14
lea rdx, str._s_at_line__d_of___.10s_
lea ecx, [r15 + 0xb]
call fcn.1400e70c0
mov r10d, VariantTimeToDosDateTime
lea edi, [r15 + 1]
mov dword [rsp + 0x30], r10d
jmp 0x1401589c2
test r10d, r10d
jne 0x1401589b6
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
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 0x14015b62f
mov rcx, rdx
call fcn.14010b720
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x14015b638
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [r13 + 0x78]
mov r12, rdi
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
mov rax, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x14015c5d9
mov rsi, qword [rsp + 0x38]
xor r15d, r15d
mov ebx, r15d
mov dword [rbp - 0x58], r15d
mov qword [rbp - 0x48], rbx
movsxd rax, dword [rsi + 8]
imul r14, rax, 0x38
add r14, qword [r13 + 0x68]
test word [r14 + 8], r9w
je 0x14015b699
mov rcx, r14
call fcn.14010b720
mov r14, rax
jmp 0x14015b6a3
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 0x14015b6e1
mov rcx, qword [rsi + 0x38]
lea rdx, [rbp - 0x58]
call fcn.1401218b0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015b803
cmp dword [rbp - 0x58], ebx
je 0x14015b727
mov eax, 1
mov ebx, eax
mov qword [rbp - 0x48], rax
movabs r12, 0x7fffffffffffffff
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 0xc]
test edx, edx
je 0x14015b78d
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x14015b759
mov rax, qword [rcx + 8]
test rax, rax
je 0x14015b71d
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14015b711
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14015b762
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.140103820
mov rbx, qword [rbx + 0x30]
movabs r12, 0x7fffffffffffffff
mov qword [rbp - 0x48], rbx
cmp rbx, r12
jl 0x14015b750
or dword [rsi + 8], 2
jmp 0x14015b6eb
inc rbx
mov qword [rbp - 0x48], rbx
jmp 0x14015b6eb
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.140162370
mov rax, qword [rdi]
cmp rax, r12
je 0x14015b7f8
test byte [rsi + 8], 2
jne 0x14015b7f8
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x48], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x14015b80d
mov edi, r15d
nop word [rax + rax]
lea rdx, [rbp - 0x48]
mov ecx, 8
call fcn.1400da310
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.140121930
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015b803
cmp dword [rbp - 0x58], r15d
jne 0x14015b80d
inc edi
cmp edi, 0x64
jl 0x14015b7a0
mov r10d, 0xd
mov dword [rsp + 0x30], r10d
mov rsi, qword [rsp + 0x40]
jmp 0x1401589b6
mov byte [rsi + 3], r15b
mov dword [rsi + 0x28], r15d
mov qword [r14], rbx
jmp 0x1401582be
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, r14
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r14]
mov qword [rbp + 0x1d0], r8
cmp byte [rdi + 1], 0xfa
jne 0x14015b876
cmp qword [rsi + 0x138], 0
je 0x14015b876
movsx rcx, byte [rbx + 1]
mov rax, qword [rsi + 0x20]
mov rdi, qword [rdi + 0x10]
shl rcx, 5
xor r15d, r15d
mov rsi, qword [rcx + rax]
jmp 0x14015b87f
xor r15d, r15d
mov edi, r15d
mov esi, r15d
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + 2]
test al, 1
je 0x14015b89b
inc dword [r13 + 0x3c]
movzx eax, word [rcx + 2]
mov r8, qword [rbp + 0x1d0]
test al, 0x20
je 0x14015b8a8
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 0x14015b8c8
mov r9d, dword [rbx + 0x2c]
jmp 0x14015b8cb
mov r9d, r15d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x14015b8e0
mov eax, dword [rdx]
mov dword [rbp + 0x1f0], eax
jmp 0x14015b8e7
mov dword [rbp + 0x1f0], r15d
mov qword [rbp + 0x1c8], r15
lea rdx, [rbp + 0x1c8]
movzx r8d, word [rcx + 2]
mov rcx, qword [rbx + 0x38]
and r8d, 0x8a
call fcn.140120cb0
mov byte [rbx + 3], 0
mov r10d, eax
mov dword [rsp + 0x30], eax
mov dword [rbx + 0x28], r15d
test eax, eax
jne 0x14015b803
test rdi, rdi
je 0x14015ed98
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 + 0x130]
cmovne edx, eax
mov rax, qword [rbp + 0x1d0]
mov qword [rsp + 0x20], rax
call qword [rsi + 0x138]
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov rdi, qword [rsp + 0x38]
mov rcx, qword [r13 + 0x78]
movsxd rax, dword [rdi + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [rdi + 8]
mov rdx, qword [rcx + rax*8]
mov rax, rdi
movsxd rax, dword [rax + 0xc]
test eax, eax
je 0x14015b9a8
imul rcx, rax, 0x38
xor r15d, r15d
mov r8, qword [rcx + r14]
jmp 0x14015b9ae
xor r15d, r15d
mov r8d, r15d
mov rdx, qword [rdx + 0x38]
mov rcx, qword [r9 + 0x38]
call fcn.140123100
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b6
mov r12, rdi
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x14015c5d3
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 0x14015ba4c
cmp qword [rsi + 0x138], 0
je 0x14015ba4c
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 0x14015ba52
cmp byte [rdi + 4], 0
je 0x14015ba52
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.140103820
mov rax, qword [rbx + 0x30]
mov rdx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
mov qword [rdi + 0x58], rax
jmp 0x14015ba52
mov r14, r11
mov rsi, r11
movzx edx, byte [rdx + 2]
mov rcx, qword [rdi + 0x38]
call fcn.1401206c0
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 0x14015bc99
test r15b, 1
je 0x14015edb0
inc dword [r13 + 0x3c]
mov rax, qword [rsp + 0x40]
mov r10, qword [rax + 0x138]
test r10, r10
je 0x14015edca
test byte [rsi + 0x40], 0x80
jne 0x14015edca
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 + 0x130]
call r10
mov r14, qword [rsp + 0x60]
jmp 0x140158014
mov eax, dword [r13 + 0x3c]
mov dword [rsi + 0x78], eax
add dword [rsi + 0x7c], eax
mov dword [r13 + 0x3c], r11d
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
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]
add r15, r14
mov r14, qword [rbx + 0x30]
test r14, r14
jne 0x14015bb3e
mov rcx, rsi
call fcn.140156690
mov qword [rbx + 0x30], rax
mov r14, rax
test rax, rax
je 0x14015bc8e
mov word [rax + 0x10], di
cmp byte [rbx + 0x58], 0
je 0x14015bb7a
cmp byte [rbx + 0x59], 0
je 0x14015bb58
mov rax, qword [rbx + 0x10]
mov r8, qword [rax + 0x28]
add rax, 0x14
jmp 0x14015bb82
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 0x14015bb82
mov rax, qword [rbx + 0x38]
lea r8, [rax + 0x10]
mov edx, dword [rax]
mov r9, r14
mov rcx, rsi
call fcn.140163df0
xor r11d, r11d
mov ecx, r11d
test edi, edi
jle 0x14015bbb0
mov rax, qword [r14 + 8]
add rax, 8
test byte [rax], 1
jne 0x14015bbfc
inc ecx
add rax, 0x38
cmp ecx, edi
jl 0x14015bba1
mov rdx, qword [r15 + 0x10]
xor r9d, r9d
mov ecx, dword [r15 + 0xc]
mov r8, r14
call fcn.140163540
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov rbx, qword [rsp + 0x58]
mov dword [rsp + 0x30], r11d
lea r10d, [r11 + 1]
test eax, eax
jne 0x14015b1c9
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r14, qword [rsp + 0x60]
mov r8d, 0x1000
jmp 0x14015c5d9
mov dword [rsp + 0x30], r11d
mov r12, qword [rsp + 0x38]
mov r10d, 1
jmp 0x14015b1c4
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, r14
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
cmp byte [rax + 0x58], 0
je 0x14015bc6d
cmp byte [rax + 0x59], 0
je 0x14015bc4b
mov rax, qword [rax + 0x10]
mov rsi, qword [rax + 0x28]
add rax, 0x14
jmp 0x14015bc75
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 0x14015bc75
mov rax, qword [rax + 0x38]
lea rsi, [rax + 0x10]
movsxd rdi, dword [rax]
cmp dword [rbx + 0x20], edi
jge 0x14015bca3
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.1401621e0
test eax, eax
je 0x14015bcb0
mov r10d, 7
mov dword [rsp + 0x30], r10d
mov rsi, qword [rsp + 0x40]
jmp 0x1401589b3
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 fcn.1401b3e90
mov rax, qword [rsp + 0x38]
xor r11d, r11d
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r12, 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 0x14015c5c8
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 0x14015bd27
mov rcx, rbx
call fcn.14010b720
mov rbx, rax
jmp 0x14015bd30
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.140103820
mov edx, dword [rdi + 0x40]
cmp edx, dword [rsi + 0x80]
ja 0x14015f47c
mov r8, rbx
mov rcx, rdi
call fcn.140162180
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
mov r12, qword [rsp + 0x38]
cmp dword [r12 + 0xc], eax
jne 0x14015eda2
movzx eax, word [rbx + 8]
bt ax, 0xc
jae 0x14015eda2
test al, 0x12
je 0x14015bdcb
bt ax, 0xe
jae 0x14015bdab
mov rcx, rbx
call fcn.140161f60
test eax, eax
jne 0x14015f6d3
cmp dword [rbx + 0x20], 0
je 0x14015bdbb
mov rax, qword [rbx + 0x18]
cmp qword [rbx + 0x10], rax
je 0x14015bdcb
mov rcx, rbx
call fcn.140176f90
test eax, eax
jne 0x14015f6d3
mov eax, 0xefff
mov r9d, 0x2400
and word [rbx + 8], ax
xor r11d, r11d
jmp 0x14015c5c8
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 0x14015be21
mov rcx, rdi
call fcn.14010b720
xor r11d, r11d
lea rdx, [0x140000000]
mov rdi, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x14015be2a
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 0x14015be62
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
mov word [rdi + 8], r10w
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
cmp byte [rbx + 3], 0
je 0x14015be86
mov rax, qword [rbx + 0x58]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rbp + 8], rax
mov qword [rdi], rax
jmp 0x14015c5c8
cmp byte [rbx], 2
mov rcx, qword [rbx + 0x38]
jne 0x14015bed3
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.140165e10
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401589b3
mov rax, qword [rbp + 8]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rdi], rax
jmp 0x14015c5c8
cmp byte [rcx], 0
je 0x14015bef4
mov rcx, rbx
call fcn.1401043f0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
xor r11d, r11d
jmp 0x14015bef9
mov dword [rsp + 0x30], r11d
cmp byte [rbx + 2], 0
je 0x14015bf25
mov r12, qword [rsp + 0x38]
mov r10d, 1
mov rbx, qword [rsp + 0x58]
mov r9d, 0x2400
mov word [rdi + 8], r10w
mov r8d, 0x1000
jmp 0x14015c5d9
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.140103820
mov rax, qword [rbx + 0x30]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rbp + 8], rax
mov qword [rdi], rax
jmp 0x14015c5c8
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 0x14015afc1
mov rcx, qword [rcx + 0x38]
call fcn.14011fa20
jmp 0x140158014
mov rax, qword [rsp + 0x38]
xor r15d, r15d
mov dword [rbp - 0x34], r15d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
cmp dil, 0x84
jne 0x14015bfb1
mov dword [rbx + 0x2c], 0xffffffff
cmp byte [rcx], r15b
je 0x14015c5c0
lea rdx, [rbp - 0x34]
call fcn.1401218b0
mov r10d, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x34]
mov byte [rbx + 2], al
mov byte [rbx + 3], r15b
mov dword [rbx + 0x28], r15d
test r10d, r10d
jne 0x1401589b6
mov r12, qword [rsp + 0x38]
xor r11d, r11d
cmp dword [r12 + 8], r15d
jle 0x14015eda5
mov rbx, qword [rsp + 0x58]
jmp 0x1401592e7
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.140108440
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015c034
xor r15d, r15d
mov rcx, rbx
mov edi, r15d
call fcn.1401081b0
mov r10d, eax
mov dword [rsp + 0x30], eax
jmp 0x14015c05b
cmp eax, 0x10
jne 0x14015c055
mov r12, qword [rsp + 0x38]
mov r10d, 1
xor r11d, r11d
mov dword [rbp - 0x60], r10d
mov dword [rsp + 0x30], r11d
jmp 0x14015b1c4
mov edi, dword [rbp - 0x60]
xor r15d, r15d
mov dword [rbp - 0x60], edi
mov r11d, r10d
test r10d, r10d
jne 0x1401589b6
mov dword [rsp + 0x30], r10d
test edi, edi
jne 0x14015e75f
mov rcx, rbx
call fcn.140122a80
test rax, rax
js 0x14015c0af
mov rcx, rax
call fcn.14013dc30
mov r12, qword [rsp + 0x38]
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x14015c0b4
mov r10d, 1
mov dword [rsp + 0x30], r11d
mov dword [rbp - 0x60], r10d
jmp 0x14015b1c1
mov r12, qword [rsp + 0x38]
mov dword [rsp + 0x30], r11d
mov r9d, 0x2400
xor r11d, r11d
mov dword [rbp - 0x60], edi
jmp 0x14015c5c8
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 0x14015c143
xor r15d, r15d
mov dword [rsp + 0x30], r15d
cmp byte [rbx + 0x58], r15b
jne 0x14015c118
cmp qword [rbx + 0x38], r15
lea rdx, [rbx + 0x38]
je 0x14015c17c
lea rcx, [rbx + 0x60]
mov edi, r15d
call fcn.140179a60
mov dword [rsp + 0x30], eax
jmp 0x14015c17c
mov rcx, rbx
call fcn.140178980
mov edx, eax
mov rcx, rbx
call fcn.140178af0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14015c17c
mov rcx, rbx
call fcn.140179770
mov dword [rsp + 0x30], eax
mov edi, r15d
jmp 0x14015c17c
mov rcx, rbx
call fcn.140108440
xor r15d, r15d
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14015c167
mov rcx, rbx
mov edi, r15d
call fcn.1401081b0
mov dword [rsp + 0x30], eax
jmp 0x14015c174
cmp eax, 0x10
jne 0x14015c174
lea edi, [rax - 0xf]
mov dword [rsp + 0x30], r15d
mov byte [rsi + 3], 0
mov dword [rsi + 0x28], r15d
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14015b803
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov rbx, qword [rsp + 0x58]
mov byte [rsi + 2], dil
lea r10d, [r11 + 1]
test edi, edi
jne 0x14015b1c9
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x14015c5d9
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 0x14015c243
cmp byte [rbx + 0x59], 0
je 0x14015c215
mov rcx, qword [rbx + 0x10]
call fcn.140177b50
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015c2a2
mov rax, qword [rbx + 0x10]
cmp qword [rax + 0x18], 0
jne 0x14015c2a2
mov r10d, 0x65
mov dword [rsp + 0x30], r10d
jmp 0x14015c2a2
mov rcx, qword [rbx + 0x18]
lea rdx, [rbp - 0x30]
mov dword [rbp - 0x30], r11d
call fcn.1401774e0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015c2a2
cmp dword [rbp - 0x30], eax
je 0x14015c2a2
mov r10d, 0x65
mov dword [rsp + 0x30], r10d
jmp 0x14015c2a2
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 0x14015c265
mov rcx, rsi
call fcn.140179670
xor r11d, r11d
cmp qword [rbx + 0x38], 0
mov r10d, 0x65
cmovne r10d, r11d
mov dword [rsp + 0x30], r10d
jmp 0x14015c2a2
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 eax, eax
mov dword [rdi + 0x28], eax
test r10d, r10d
jne 0x14015c2c5
mov byte [rdi + 2], al
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
inc dword [r13 + rax*4 + 0xd4]
jmp 0x14015e96f
cmp r10d, 0x65
jne 0x1401589b3
mov dword [rsp + 0x30], eax
mov byte [rdi + 2], 1
jmp 0x14015cf39
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, r14
test byte [rcx + 2], 1
je 0x14015c307
inc dword [r13 + 0x3c]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14015c32e
mov rcx, rbx
call fcn.140161f60
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 0xc]
xor r15d, r15d
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, r14
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 0x14015c37a
mov r9d, dword [rdi + 0x2c]
jmp 0x14015c37d
mov r9d, r15d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x280]
and r8d, 0x8a
call fcn.140120cb0
mov dword [rsp + 0x30], eax
mov r10d, eax
mov dword [rdi + 0x28], r15d
test eax, eax
jne 0x1401589b6
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
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, r14
test word [rbx + 8], ax
je 0x14015c3fd
mov rcx, rbx
call fcn.140161f60
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
mov rdx, rbx
mov rcx, rdi
call fcn.140164eb0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
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, r14
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x1b8], rcx
mov rcx, rdi
call fcn.140121930
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
cmp dword [rbp - 8], eax
jne 0x14015c4d9
mov dl, 4
mov rcx, rdi
call fcn.1401206c0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rbx + 0x28], r11d
mov r9d, 0x2400
mov dword [rbx + 0x2c], r11d
jmp 0x14015c5c8
mov r12, qword [rsp + 0x38]
cmp word [r12 + 2], 0
jne 0x14015f2c5
xor r11d, r11d
mov r9d, 0x2400
mov dword [rbx + 0x28], r11d
mov dword [rbx + 0x2c], r11d
jmp 0x14015c5c8
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 0x14015c54e
mov rcx, rbx
call fcn.1401043f0
xor r15d, r15d
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b6
lea r10d, [rax + 1]
mov r9d, 0x2400
lea rdx, [0x140000000]
mov r8d, 0x1000
jmp 0x14015c556
xor r15d, r15d
mov dword [rsp + 0x30], r15d
cmp byte [rbx + 2], 0
jne 0x14015c62e
mov rdx, qword [rbx + 0x38]
lea r8, [rbp + 0x10]
mov rcx, rsi
mov qword [rbp + 0x10], r15
call fcn.140160f10
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b6
mov rax, qword [rsp + 0x38]
mov r9d, 0x2400
cmp byte [rax], 0x88
jne 0x14015c5f2
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 r12, 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 r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x14015c61c
call fcn.14010b720
mov rcx, rax
mov r9d, 0x2400
mov rax, qword [rbp + 0x10]
mov qword [rcx], rax
jmp 0x14015c5c0
mov eax, 4
mov word [rcx + 8], ax
mov rax, qword [rbp + 0x10]
mov qword [rcx], rax
jmp 0x14015c5c0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x14015c65d
call fcn.140177040
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov rbx, qword [rsp + 0x58]
mov word [rcx + 8], r10w
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
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 0x14015b247
call fcn.140160410
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
jmp 0x140158014
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, r14
mov qword [rbp + 0x1a0], rcx
mov rcx, rbx
call fcn.140103820
mov r10d, dword [rbx + 0x40]
lea eax, [r10 - 1]
cmp eax, 0x7ffffffe
ja 0x14015f307
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 0x14015c754
test edx, edx
mov ecx, edx
cmovs ecx, r15d
mov rdx, qword [rbx + 0x38]
mov qword [rbp + 0x158], rdx
cmp r10d, ecx
ja 0x14015c77e
mov eax, 0x1010
mov dword [rbp + 0x154], r10d
mov word [rbp + 0x150], ax
mov dword [rsp + 0x30], r15d
jmp 0x14015c7af
lea r9, [rbp + 0x148]
mov r8d, r10d
xor edx, edx
mov rcx, rbx
call fcn.140162070
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b6
mov rdx, qword [rbp + 0x158]
mov r10d, dword [rbp + 0x154]
xor r9d, r9d
lea r8, [rbp + 0x198]
mov ecx, r10d
call fcn.140163540
mov r9d, 0x2400
mov ebx, eax
test word [rbp + 0x150], r9w
jne 0x14015c7dc
cmp dword [rbp + 0x168], r15d
je 0x14015c7ee
lea rcx, [rbp + 0x148]
call fcn.140176ff0
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
test byte [r12], 1
jne 0x14015c7fe
neg ebx
jmp 0x14015c800
inc ebx
xor r11d, r11d
test ebx, ebx
mov rbx, qword [rsp + 0x58]
lea r10d, [r11 + 1]
jg 0x14015b1c9
mov r8d, 0x1000
jmp 0x14015c5d9
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 0x14015c84b
mov rcx, rdi
call fcn.14010b720
mov rdi, rax
xor r11d, r11d
mov r10d, 1
mov word [rdi + 8], r10w
mov eax, dword [rsi + 0xe0]
inc eax
cmp dword [rsi + 0xd4], eax
jg 0x14015f31d
mov rax, qword [rsp + 0x38]
mov dword [rbp - 0x2c], 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 [r14 + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x14015c8a0
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14015c8a0
mov rcx, rbx
call fcn.1400eedb0
lea r8, [rbp - 0x2c]
mov edx, esi
mov rcx, rbx
call fcn.1400ee500
cmp byte [rbx + 0x11], 0
mov r10d, eax
mov dword [rsp + 0x30], eax
je 0x14015c8ce
sub dword [rbx + 0x14], 1
jne 0x14015c8ce
mov rcx, rbx
call fcn.1401735c0
mov r10d, dword [rsp + 0x30]
movsxd rdx, dword [rbp - 0x2c]
mov eax, 4
mov word [rdi + 8], ax
mov qword [rdi], rdx
test r10d, r10d
jne 0x14015bc99
mov rsi, qword [rsp + 0x40]
test edx, edx
je 0x1401582c3
mov rax, qword [rsp + 0x38]
mov r9, qword [rsi + 0x20]
mov r8d, dword [rax + 4]
mov rcx, qword [r14 + r9 + 0x18]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14015c92a
nop
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x38], edx
jne 0x14015c91d
mov dword [rcx + 0x38], r8d
mov rax, qword [rax]
test rax, rax
jne 0x14015c910
mov rcx, qword [r14 + r9 + 0x18]
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x14015c948
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x58], edx
jne 0x14015c940
mov dword [rcx + 0x58], r8d
mov rax, qword [rax]
test rax, rax
jne 0x14015c933
lea eax, [r15 + 1]
mov byte [rsp + 0x70], al
jmp 0x1401582c3
mov rax, qword [rsp + 0x38]
lea r8, [rbp - 0x54]
mov r12, qword [rsp + 0x38]
xor r15d, r15d
mov dword [rbp - 0x54], r15d
mov rcx, qword [rsi + 0x20]
cmp dword [rax + 0xc], r15d
movsxd rax, dword [rax + 8]
mov edx, dword [r12 + 4]
cmove r8, r15
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14011fae0
mov r10d, eax
mov dword [rsp + 0x30], eax
cmp dword [r12 + 0xc], r15d
je 0x14015c9b9
mov eax, dword [rbp - 0x54]
add dword [r13 + 0x3c], eax
mov rax, r12
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x14015c9b9
imul rcx, rax, 0x38
movsxd rax, dword [rbp - 0x54]
add qword [rcx + r14], rax
test r10d, r10d
jne 0x1401589b6
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x14015c5d3
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 0x14015c9fd
mov rdx, qword [rcx + 0x38]
mov rcx, rsi
call fcn.140164a70
jmp 0x140158014
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.14011fae0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
jmp 0x140158014
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 0x14015ca49
mov rcx, rdi
call fcn.14010b720
mov rdi, rax
jmp 0x14015ca52
mov eax, 4
mov word [rdi + 8], ax
mov rax, qword [rsp + 0x38]
xor r15d, r15d
mov dword [rbp - 0x28], r15d
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], r15b
je 0x14015ca8e
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], r15b
jne 0x14015ca8e
mov rcx, rbx
call fcn.1400eedb0
mov r8d, esi
lea rdx, [rbp - 0x28]
mov rcx, rbx
call fcn.1400edff0
mov r10d, eax
mov dword [rsp + 0x30], eax
cmp byte [rbx + 0x11], r15b
je 0x14015cabd
sub dword [rbx + 0x14], 1
jne 0x14015cabd
mov rcx, rbx
call fcn.1401735c0
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
jne 0x1401589b6
mov eax, dword [rbp - 0x28]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rdi], rax
jmp 0x14015c5c8
mov rax, qword [rsp + 0x38]
xor r15d, r15d
inc byte [rsi + 0x6c]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r15
mov rcx, rsi
mov rdx, qword [rax + 0x10]
call fcn.1400d7e10
dec byte [rsi + 0x6c]
mov r10d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401589b6
jmp 0x140158014
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0
movsxd rbx, dword [rax + 4]
jne 0x14015cb7c
mov rcx, qword [rsi + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.14014a390
mov rax, qword [rsp + 0x38]
lea r8, [r13 + 0xa8]
and dword [rsi + 0x2c], 0xffffffef
mov edx, ebx
mov rcx, rsi
movzx r9d, word [rax + 2]
call fcn.140139ea0
or dword [rsi + 0x2c], 1
mov r10d, eax
and dword [r13 + 0xc8], 0xfffffffc
xor r15d, r15d
mov dword [rsp + 0x30], eax
jmp 0x14015cc8a
mov qword [rbp + 0x78], rsi
lea rax, [r13 + 0xa8]
mov qword [rbp + 0x80], rax
lea r9, str.sqlite_master
mov dword [rbp + 0x88], ebx
xor r15d, r15d
mov dword [rbp + 0x90], r15d
mov rdx, rbx
mov rax, qword [rsi + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rax + 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 [rdx + r8]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.14013de00
mov rbx, rax
mov rcx, rsi
test rax, rax
je 0x14015f351
mov byte [rsi + 0xbd], 1
lea r9, [rbp + 0x78]
lea r8, [fcn.140139ad0]
mov dword [rbp + 0x8c], r15d
mov rdx, rax
mov dword [rbp + 0x94], r15d
mov qword [rsp + 0x20], r15
call fcn.1400d7e10
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14015cc73
mov eax, dword [rbp + 0x8c]
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14015cc73
cmp dword [rbp + 0x94], r15d
jne 0x14015cc73
lea rax, [0x1402429a4]
mov r9d, 0x168ae
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.1400e70c0
mov dword [rsp + 0x30], VariantTimeToDosDateTime
mov rdx, rbx
mov rcx, rsi
call fcn.1401288c0
mov r10d, dword [rsp + 0x30]
mov byte [rsi + 0xbd], r15b
test r10d, r10d
jne 0x14015f330
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov rax, qword [rsp + 0x38]
mov rcx, rsi
mov edx, dword [rax + 4]
call fcn.14011cfa0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b3
jmp 0x140158014
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.1401390a0
test rax, rax
je 0x14015cd13
cmp qword [rsi + 0x2e0], 0
jne 0x14015cd08
mov ecx, 0xffffffff
add dword [rax + 0x3c], ecx
jne 0x14015cd13
mov rdx, rax
mov rcx, rsi
call fcn.1400f7240
or dword [rsi + 0x2c], 1
jmp 0x140158014
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.1401390a0
mov rdx, rax
test rax, rax
je 0x14015cd13
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x14015cd75
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
mov rcx, rsi
call fcn.140134b70
or dword [rsi + 0x2c], 1
jmp 0x140158014
test rcx, rcx
je 0x14015cdaa
nop word [rax + rax]
mov rax, qword [rcx + 0x28]
cmp rax, rdx
je 0x14015cda2
mov rcx, rax
test rax, rax
jne 0x14015cd80
mov rcx, rsi
call fcn.140134b70
or dword [rsi + 0x2c], 1
jmp 0x140158014
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
mov rcx, rsi
call fcn.140134b70
or dword [rsi + 0x2c], 1
jmp 0x140158014
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.1401390a0
mov rbx, rax
test rax, rax
je 0x14015ed9d
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x14015ce3d
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.1400fd7e0
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14015ce3d
mov rax, qword [rdx + 0x68]
add rdx, 0x68
test rax, rax
je 0x14015ce3d
cmp rax, rbx
je 0x14015ce36
lea rdx, [rax + 0x40]
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x14015ce22
jmp 0x14015ce3d
mov rax, qword [rax + 0x40]
mov qword [rdx], rax
mov rdx, rbx
mov rcx, rsi
call fcn.140129d90
or dword [rsi + 0x2c], 1
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
xor r11d, r11d
jmp 0x14015c5c8
mov rcx, qword [rsp + 0x38]
lea r10, [rbp - 0x20]
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 + r14]
add rbx, r14
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.140121190
mov r12d, 0x2400
mov rsi, rax
test word [rbx + 8], r12w
je 0x14015ced5
mov rcx, rbx
call fcn.140177040
mov r12d, 1
jmp 0x14015cee0
mov r12d, 1
mov word [rbx + 8], r12w
mov eax, dword [rbp - 0x20]
test eax, eax
je 0x14015cf19
test rsi, rsi
je 0x14015f6e1
dec eax
mov r9b, 1
movsxd rcx, eax
mov r8d, 0xffffffff
sub qword [rdi + r14], rcx
lea rax, [fcn.1400da150]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.140162700
test byte [rbx + 8], 2
je 0x14015cf34
movzx eax, byte [rsp + 0x48]
cmp byte [rbx + 0xa], al
je 0x14015cf34
movzx edx, al
mov rcx, rbx
call fcn.140162b80
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov eax, dword [rsi + 0x178]
mov rbx, qword [rsp + 0x50]
test eax, eax
jne 0x14015f13a
cmp r15, rbx
jb 0x14015c5c0
nop dword [rax + rax]
mov rdx, qword [rsi + 0x1e8]
test rdx, rdx
je 0x14015ed9d
mov eax, dword [rsi + 0x1f8]
mov rcx, qword [rsi + 0x1f0]
add rbx, rax
mov qword [rsp + 0x50], rbx
call rdx
test eax, eax
jne 0x14015f133
cmp r15, rbx
jae 0x14015cf60
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r14
imul rdi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x14015cfd5
mov rcx, rbx
call fcn.1401625f0
test eax, eax
jne 0x14015f6d3
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.140149300
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
movzx eax, word [rdi + 8]
test al, 0x10
je 0x14015d0a6
mov rbx, qword [rdi + 0x10]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x14015d046
test al, 1
jne 0x14015d03e
mov rcx, qword [rbx + 0x10]
call fcn.1401170e0
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 0x14015d0a2
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x14015d06d
mov rcx, rbx
call fcn.1401491b0
mov r9d, 0x2400
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x14015d091
mov rdx, rdi
call fcn.140178100
jmp 0x14015cf39
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 8], ax
jmp 0x14015cf3f
movzx eax, word [rdi + 8]
test r9w, ax
je 0x14015d0b9
mov rcx, rdi
call fcn.140177040
jmp 0x14015e96f
mov word [rdi + 8], r10w
jmp case.0x140157646.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, r14
imul rsi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x14015d0f4
mov rcx, rbx
call fcn.1401625f0
test eax, eax
jne 0x14015f6ce
test edi, edi
je 0x14015d117
mov r8, qword [rsi + r14]
mov edx, edi
mov rcx, qword [rbx + 0x10]
call fcn.140149370
test eax, eax
jne 0x14015e75f
test edi, edi
js 0x14015ed98
mov rdx, qword [rsi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.140149300
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
jmp 0x14015c5c8
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
mov r12, qword [rcx + 0x10]
imul r15, rax, 0x38
add r15, r14
cmp word [rcx + 2], 0
je 0x14015d183
mov rax, qword [r13 + 0x100]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x14015d183
nop dword [rax + rax]
cmp qword [rax + 0x38], rcx
je 0x14015b247
mov rax, qword [rax + 8]
test rax, rax
jne 0x14015d170
mov eax, dword [r13 + 0x110]
cmp eax, dword [rsi + 0xa8]
jge 0x14015f366
test byte [r15 + 8], 0x10
jne 0x14015d2ed
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 0x14015d1ca
add eax, 7
sar eax, 3
lea edi, [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
movsxd rbx, edi
mov rdx, rbx
call fcn.140128a50
mov r14, rax
test rax, rax
je 0x14015f6ce
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.1401b3ce0
mov eax, 0x2400
test word [r15 + 8], ax
jne 0x14015d20c
cmp dword [r15 + 0x20], 0
je 0x14015d214
mov rcx, r15
call fcn.140176ff0
mov rcx, qword [rsp + 0x38]
mov eax, 0x410
sub rcx, qword [rsp + 0x58]
mov word [r15 + 8], ax
lea rax, [0x1401606b0]
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 0x14015d2e1
mov edx, 0x80
nop word [rax + rax]
mov word [rax + 8], dx
mov qword [rax + 0x28], rsi
add rax, 0x38
cmp rax, rcx
jne 0x14015d2d0
mov eax, dword [r13 + 0x110]
xor r11d, r11d
jmp 0x14015d2f1
mov r14, qword [r15 + 0x10]
inc eax
lea rdx, [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], rdx
mov ecx, dword [rax + 0x78]
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], rdx
movsxd rcx, dword [r14 + 0x60]
mov dword [r13 + 0x28], ecx
movzx eax, word [r14 + 0x64]
mov dword [r13 + 0x2c], eax
imul rcx, rcx, 0x38
add rdx, rcx
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 fcn.1401b3ce0
mov rdi, qword [r12]
mov r14, qword [rsp + 0x60]
mov r15, qword [rbp - 0x40]
mov qword [r13 + 0x88], rdi
mov eax, dword [r12 + 8]
mov dword [r13 + 0x90], eax
lea rax, [rdi - 0x18]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], rdi
jmp 0x14015cf39
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 0x14015d3f2
mov rcx, r9
call fcn.14010b720
xor r11d, r11d
mov r9, rax
lea r10d, [r11 + 1]
jmp 0x14015d3fc
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 0x14015d454
mov rdx, rcx
mov r8d, 0x1000
mov rcx, r9
call fcn.140175b10
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, edi
mov r8d, 0x1000
jmp 0x14015c5d3
movups xmm0, xmmword [rcx]
mov r12, 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 0x14015edf7
mov eax, 0xf3ff
mov r8d, 0x1000
and word [r9 + 8], ax
or word [r9 + 8], r8w
mov r9d, edi
jmp 0x14015c5d9
mov eax, dword [rsi + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x38]
mov r12, rax
jae 0x14015d4c6
movsxd rax, dword [rax + 8]
add qword [rsi + 0x2d8], rax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
je 0x14015d4e9
add qword [rsi + 0x2d0], rax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
add qword [r13 + 0x50], rax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
cmp dword [r12 + 4], 0
je 0x14015d535
cmp qword [rsi + 0x2d0], 0
jne case.0x140157646.86
cmp qword [rsi + 0x2d8], 0
je 0x14015b1c9
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
cmp qword [r13 + 0x50], 0
jne case.0x140157646.86
cmp qword [rsi + 0x2d8], 0
je 0x14015b1c9
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x14015d59f
mov rax, qword [rcx + 8]
test rax, rax
je 0x14015d58c
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14015d580
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14015d5af
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.140162370
mov r12, qword [rsp + 0x38]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140162370
mov rax, qword [rbx]
xor r11d, r11d
mov r9d, 0x2400
cmp qword [rdi], rax
jge 0x14015c5c8
mov qword [rdi], rax
jmp 0x14015c5c8
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r14]
test rdx, rdx
jle 0x14015c5d9
mov rax, r12
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x14015b1c9
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 0x14015d661
mov rcx, rdx
call fcn.14010b720
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
lea r10d, [r11 + 1]
jmp 0x14015d66a
mov eax, 4
mov word [rdx + 8], ax
mov r8, qword [rbx + r14]
test r8, r8
jle 0x14015d6b1
mov rcx, qword [rdi + r14]
test rcx, rcx
cmovle rcx, r11
test rcx, rcx
js 0x14015d695
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jl 0x14015d6b1
mov r12, qword [rsp + 0x38]
lea rax, [rcx + r8]
mov rbx, qword [rsp + 0x58]
mov r8d, 0x1000
mov qword [rdx], rax
jmp 0x14015c5d9
mov r12, qword [rsp + 0x38]
mov rax, 0xffffffffffffffff
mov rbx, qword [rsp + 0x58]
mov r8d, 0x1000
mov qword [rdx], rax
jmp 0x14015c5d9
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
test rax, rax
je 0x14015b247
mov r12, qword [rsp + 0x38]
jle 0x14015b1c9
dec rax
mov qword [rcx + r14], rax
jmp 0x14015b1c9
mov rax, qword [rsp + 0x38]
movabs rdi, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
cmp rax, rdi
jle 0x14015d728
dec rax
mov qword [rcx + r14], rax
mov r12, qword [rsp + 0x38]
test rax, rax
je 0x14015b1c9
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
mov rax, qword [rsp + 0x38]
mov rcx, rsi
movzx ebx, word [rax + 2]
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.140128a50
xor r15d, r15d
mov r8, rax
test rax, rax
je 0x14015f42d
mov qword [rax + 0x10], r15
add rdi, 6
lea rcx, [rax + rdi*8]
mov edi, 1
mov qword [rax], rcx
mov rax, qword [rsp + 0x38]
mov word [rcx + 8], di
mov qword [rcx + 0x28], rsi
mov dword [rcx + 0x20], r15d
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], r15b
mov dword [r8 + 0x24], r15d
mov byte [r8 + 0x29], bl
mov byte [rax + 1], 0xf0
mov qword [rax + 0x10], r8
mov byte [rax], 0x9e
jmp 0x14015d7f4
mov rax, qword [rsp + 0x38]
xor r15d, r15d
lea edi, [r15 + 1]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, r14
cmp qword [rbx + 0x10], r10
je 0x14015d855
mov qword [rbx + 0x10], r10
movzx eax, byte [rbx + 0x29]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x14015d855
mov rsi, qword [rsp + 0x38]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop word [rax + rax]
mov eax, dword [rsi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14015d830
mov rsi, qword [rsp + 0x40]
inc dword [r10 + 0xc]
lea r8, [rbx + 0x30]
mov r12, qword [rsp + 0x38]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [r12 + 4], 0
je 0x14015d87a
call qword [rax + 0x30]
jmp 0x14015d87d
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x14015eda2
jle 0x14015d8e4
mov rcx, qword [rbx]
test rcx, rcx
jne 0x14015d897
mov rax, r15
jmp 0x14015d8cb
movzx edx, word [rcx + 8]
mov r8d, 0x202
movzx eax, dx
and ax, r8w
cmp ax, r8w
jne 0x14015d8ba
cmp byte [rcx + 0xa], 1
jne 0x14015d8ba
mov rax, qword [rcx + 0x10]
jmp 0x14015d8cb
test dl, 1
je 0x14015d8c4
mov rax, r15
jmp 0x14015d8cb
mov dl, 1
call fcn.140175700
mov r8, rax
lea rdx, [0x14023d260]
mov rcx, r13
call fcn.1401574a0
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x30], eax
cmp byte [rbx + 0x28], 0
je 0x14015d921
mov rax, r12
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x14015d91d
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
je 0x14015d911
mov rdx, rdi
call fcn.140178100
jmp 0x14015d91d
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 0x14015d937
cmp dword [rax + 0x20], 0
je 0x14015d948
mov rcx, rax
call fcn.140176ff0
mov rax, qword [rbx]
mov r9d, 0x2400
mov r10d, dword [rsp + 0x30]
mov word [rax + 8], di
mov dword [rbx + 0x24], r15d
test r10d, r10d
jne 0x1401589bb
jmp 0x14015c5c5
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r14
test eax, eax
je 0x14015da03
mov rsi, qword [rcx + 0x10]
xorps xmm0, xmm0
imul rdi, rax, 0x38
movups xmmword [rbp + 0x210], xmm0
movups xmmword [rbp + 0x220], xmm0
xor eax, eax
add rdi, r14
mov qword [rbp + 0x240], rax
movups xmmword [rbp + 0x230], xmm0
test word [rdi + 8], r9w
je 0x14015d9bc
mov rcx, rdi
call fcn.140177040
jmp 0x14015d9c1
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 rsi, qword [rsp + 0x40]
mov dword [rsp + 0x30], r10d
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
jmp 0x14015da16
mov rdx, qword [rcx + 0x10]
mov rcx, rbx
call fcn.140161fc0
mov r10d, eax
mov dword [rsp + 0x30], eax
test r10d, r10d
jne 0x14015f384
movzx eax, word [rbx + 8]
test al, 2
je 0x14015da43
movzx r15d, byte [rsp + 0x48]
cmp byte [rbx + 0xa], r15b
je 0x14015da43
movzx edx, r15b
mov rcx, rbx
call fcn.140162b80
movzx eax, word [rbx + 8]
test al, 0x12
je 0x14015ed9d
bt ax, 0xe
mov ecx, dword [rbx + 0xc]
jae 0x14015da57
add ecx, dword [rbx]
mov rax, qword [rbx + 0x28]
cmp ecx, dword [rax + 0x80]
jg 0x14015f47c
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
lea rax, [rbp + 0x2b8]
mov dword [rbp + 0x2b8], 0xffffffff
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2b4]
mov rax, qword [rsp + 0x38]
xor r15d, r15d
mov rcx, rsi
mov dword [rbp + 0x2b0], r15d
mov dword [rbp + 0x2b4], 0xffffffff
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.140123b70
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x14015dae3
cmp eax, 5
jne 0x1401589b6
mov eax, 1
mov dword [rsp + 0x30], r15d
mov dword [rbp + 0x2b0], eax
mov rax, qword [rsp + 0x38]
mov rdi, r15
mov esi, 4
mov r9d, 0x2400
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
movsxd rax, dword [rbp + rdi*4 + 0x2b0]
test word [rbx + 8], r9w
je 0x14015db23
mov rdx, rax
mov rcx, rbx
call fcn.140178100
mov r9d, 0x2400
jmp 0x14015db2a
mov qword [rbx], rax
mov word [rbx + 8], si
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x14015db01
mov rsi, qword [rsp + 0x40]
jmp 0x14015c5c0
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 0x14015db73
mov rcx, r13
call fcn.14010b720
xor r11d, r11d
mov r13, rax
lea r10d, [r11 + 1]
jmp 0x14015db7d
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 0x14015dbbd
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x14015dbc0
cmp qword [rdi + 0x60], 0
jle 0x14015dbc0
mov esi, r14d
cmp byte [rdi + 0x13], 0
lea rcx, [0x1402364c4]
jne 0x14015dbd4
mov rcx, qword [rdi + 0xd0]
cmp esi, 5
jne 0x14015dc4a
test rcx, rcx
je 0x14015dc14
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x14015dbe5
and eax, 0x3fffffff
je 0x14015dc14
cmp byte [rdi + 0x11], 0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax]
jne 0x14015dc14
cmp byte [rdi + 8], 0
jne 0x14015dc4a
cmp dword [rcx], 2
jl 0x14015dc14
cmp qword [rcx + 0x68], 0
jne 0x14015dc4a
mov esi, r14d
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x14015dc22
mov esi, r14d
mov edx, esi
mov rcx, rdi
call fcn.140140860
mov ecx, 0xa02
mov word [r13 + 8], cx
cmp eax, 6
jne 0x14015ddc5
xor eax, eax
mov qword [r13 + 0x10], rax
jmp 0x14015ddfe
cmp esi, r14d
je 0x14015dc17
cmp r14d, 5
je 0x14015dc5a
cmp esi, 5
jne 0x14015dc17
mov r12, qword [rsp + 0x40]
cmp byte [r12 + 0x61], 0
je 0x14015f3a8
cmp dword [r12 + 0xd4], 1
jg 0x14015f3a8
cmp r14d, 5
jne 0x14015dd8b
cmp qword [rdi + 0x120], 0
mov ebx, r11d
jne 0x14015dd0b
mov dword [rbp - 0x24], r11d
movzx eax, byte [rdi + 0x15]
cmp al, 1
jb 0x14015dca2
cmp al, r14b
jne 0x14015dcc5
cmp byte [rdi + 0x11], 0
jne 0x14015dcbb
mov rcx, qword [rdi + 0x48]
mov edx, r10d
mov rax, qword [rcx]
call qword [rax + 0x38]
mov ebx, eax
test eax, eax
jne 0x14015dcc5
cmp byte [rdi + 0x15], 5
je 0x14015dcc5
mov byte [rdi + 0x15], 1
test ebx, ebx
jne 0x14015dd73
mov rax, qword [rdi]
lea r9, [rbp - 0x24]
mov rdx, qword [rdi + 0x128]
xor r8d, r8d
mov rcx, rax
call qword [rax + 0x38]
mov ebx, eax
test eax, eax
jne 0x14015dd73
cmp dword [rbp - 0x24], eax
je 0x14015dd01
mov rcx, rdi
call fcn.14010c220
mov ebx, eax
test eax, eax
jne 0x14015dd73
cmp qword [rdi + 0x120], 0
je 0x14015dd73
mov rcx, rdi
call fcn.14010bf30
mov ebx, eax
test eax, eax
jne 0x14015dd73
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.1401669c0
mov ebx, eax
mov dword [rsp + 0x30], eax
xor eax, eax
mov rcx, rdi
mov qword [rdi + 0x120], rax
call fcn.14010bfc0
test ebx, ebx
je 0x14015dd73
cmp byte [rdi + 8], 0
jne 0x14015dd73
mov edx, 1
mov rcx, rdi
call fcn.14010cd70
jmp 0x14015dc1f
mov dword [rsp + 0x30], ebx
test ebx, ebx
jne 0x14015dc1f
mov edx, esi
mov rcx, rdi
call fcn.140140860
jmp 0x14015dda8
cmp r14d, 4
jne 0x14015dd9d
lea edx, [r14 - 2]
mov rcx, rdi
call fcn.140140860
cmp dword [rsp + 0x30], 0
jne 0x14015dc1f
xor eax, eax
mov rcx, r15
mov edx, eax
cmp esi, 5
sete dl
inc edx
call fcn.140123050
mov dword [rsp + 0x30], eax
jmp 0x14015dc1b
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x2387b0]
mov qword [r13 + 0x10], rcx
test rcx, rcx
jne 0x14015dde3
xor eax, eax
jmp 0x14015ddfe
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14015ddf0
and eax, 0x3fffffff
movzx r15d, byte [rsp + 0x48]
mov dword [r13 + 0xc], eax
mov byte [r13 + 0xa], 1
cmp r15b, 1
je 0x14015de1f
movzx edx, r15b
mov rcx, r13
call fcn.140162b80
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
jne 0x14015f06a
jmp 0x1401582c3
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
test eax, eax
je 0x14015de50
imul r9, rax, 0x38
add r9, r14
xor r15d, r15d
jmp 0x14015de56
xor r15d, r15d
mov r9d, r15d
mov rax, qword [rsp + 0x38]
lea rcx, [r13 + 0xa8]
mov rdx, rsi
mov r8d, dword [rax + 4]
call fcn.140149be0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401589b6
jmp 0x140158014
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 0x14015deb3
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x14015deb3
mov rcx, rsi
call fcn.1400eedb0
cmp byte [rdi + 0x21], 0
jne 0x14015dec6
mov dword [rsp + 0x30], 0x65
jmp 0x14015df8d
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.1400fd3d0
mov r15d, eax
cmp r14d, eax
jb 0x14015df75
cmp ebx, r14d
jae 0x14015df75
test ebx, ebx
je 0x14015df6b
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x14015df19
xor r8d, r8d
xor edx, edx
call fcn.140117600
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14015df83
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14015df2f
and byte [rax + 1], 0xfb
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14015df22
xor r9d, r9d
mov r8d, r14d
mov edx, r15d
mov rcx, rdi
call fcn.140104bf0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14015df83
mov rcx, qword [rdi + 0x18]
mov rcx, qword [rcx + 0x70]
call fcn.140140f70
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 0x14015df83
mov dword [rsp + 0x30], 0x65
jmp 0x14015df83
mov ecx, 0x10d0f
call fcn.1401269b0
mov dword [rsp + 0x30], eax
mov rbx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
cmp byte [rsi + 0x11], 0
je 0x14015dfa1
sub dword [rsi + 0x14], 1
jne 0x14015dfa1
mov rcx, rsi
call fcn.1401735c0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
je 0x1401587ce
cmp r10d, 0x65
jne 0x14015bc99
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rsp + 0x30], r11d
lea r10d, [r11 + 1]
jmp 0x14015b1c9
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
jne 0x14015e01d
mov ecx, dword [rax + 8]
mov rax, qword [rsi + 8]
test rax, rax
je 0x14015b247
inc ecx
and ecx, 3
nop
and dword [rax + 0xc8], 0xfffffffc
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14015dff0
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
mov eax, dword [rax + 8]
mov r12, qword [rsp + 0x38]
inc eax
xor eax, dword [r13 + 0xc8]
and eax, 3
xor dword [r13 + 0xc8], eax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
mov rax, qword [rsp + 0x38]
mov r12, 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 r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
mov rax, qword [rsp + 0x38]
mov r12, 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 r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
mov rax, qword [rsp + 0x38]
movzx esi, byte [rax + 0xc]
test sil, sil
jne 0x14015e0d0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x30]
bt rax, 0xa
jb 0x14015ef49
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
xor r15d, r15d
mov edi, dword [rax + 8]
mov r10d, r15d
mov rax, qword [rsp + 0x40]
shl rcx, 5
mov dword [rsp + 0x30], r15d
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], r10b
je 0x14015e1c4
inc dword [rbx + 0x14]
inc sil
cmp byte [rbx + 0x12], r10b
jne 0x14015e112
mov rcx, rbx
call fcn.1400eedb0
movzx r8d, sil
mov edx, edi
mov rcx, rbx
call fcn.1401119a0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015e198
mov r14, qword [rbx + 8]
mov rax, qword [r14 + 0x78]
test rax, rax
je 0x14015e14b
cmp dword [rax + 8], edi
jne 0x14015e142
cmp qword [rax], rbx
je 0x14015e174
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14015e138
mov ecx, 0x18
call fcn.14013de30
test rax, rax
je 0x14015e188
mov qword [rax + 0xc], r15
mov dword [rax + 0x14], r15d
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 0x14015e17e
mov byte [rax + 0xc], sil
mov r10d, r15d
mov dword [rsp + 0x30], r15d
jmp 0x14015e193
mov r10d, 7
mov dword [rsp + 0x30], r10d
mov r14, qword [rsp + 0x60]
cmp byte [rbx + 0x11], r15b
je 0x14015e1b1
sub dword [rbx + 0x14], 1
jne 0x14015e1b1
mov rcx, rbx
call fcn.1401735c0
mov r10d, dword [rsp + 0x30]
mov r9d, 0x2400
lea rdx, [0x140000000]
mov r8d, 0x1000
test r10d, r10d
jne 0x14015f3e3
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
lea r10d, [r11 + 1]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
movsxd rdx, dword [rsi + 0x1fc]
xor r15d, r15d
mov rbx, qword [r12 + 0x10]
mov dword [rsp + 0x30], r15d
test edx, edx
jle 0x14015e22f
cmp qword [rsi + 0x220], r15
jne 0x14015e22f
mov r10d, 6
mov dword [rsp + 0x30], r10d
test rbx, rbx
je 0x1401589b6
jmp 0x14015e2e0
test rbx, rbx
jne 0x14015e246
mov rbx, qword [rsp + 0x58]
xor r11d, r11d
mov dword [rsp + 0x30], r15d
jmp 0x14015c5d9
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x70], r15
je 0x14015e2e0
mov rcx, r15
test edx, edx
jle 0x14015e27a
mov rax, qword [rsi + 0x220]
cmp qword [rax], rbx
je 0x14015e308
inc rcx
add rax, 8
cmp rcx, rdx
jl 0x14015e265
mov rcx, rsi
call fcn.140104330
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14015e2e0
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0x70]
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14015e2e0
mov edx, dword [rsi + 0x2cc]
add edx, dword [rsi + 0x2c8]
movsxd rcx, dword [rsi + 0x1fc]
mov rax, qword [rsi + 0x220]
mov qword [rax + rcx*8], rbx
inc dword [rsi + 0x1fc]
inc dword [rbx + 0x18]
test edx, edx
je 0x14015e2e0
cmp qword [rdi + 0xa0], r15
je 0x14015e2e0
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.140165e10
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401589b6
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov dword [rsp + 0x30], r15d
jmp 0x14015e2e0
mov rax, qword [rsp + 0x38]
lea rcx, [rbp + 0xa0]
xor r15d, r15d
mov qword [rbp + 0xc8], rsi
xorps xmm0, xmm0
mov qword [rbp + 0xa0], r15
xorps xmm1, xmm1
mov qword [rbp + 0xd0], r15
movdqu xmmword [rbp + 0xa8], xmm0
movdqu xmmword [rbp + 0xb8], xmm1
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, r14
call fcn.140161ec0
mov rcx, qword [rbp + 0xa8]
mov edx, 0x202
mov dword [rsp + 0x30], eax
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14015e386
cmp byte [rbp + 0xaa], 1
jne 0x14015e386
mov rax, qword [rbp + 0xb0]
jmp 0x14015e3a4
test cl, 1
jne 0x14015e4f3
mov dl, 1
lea rcx, [rbp + 0xa0]
call fcn.140175700
mov rcx, qword [rbp + 0xa8]
mov r12, qword [rsp + 0x38]
test rax, rax
je 0x14015e4f8
movsxd rcx, dword [r12 + 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.140132520
mov r14, qword [rsp + 0x40]
xor r8d, r8d
mov rsi, rax
mov rcx, qword [rax + 0x58]
mov rdi, qword [rcx]
lea rcx, [r14 + 0x200]
mov rdx, rdi
call fcn.1400fd7e0
mov r8, qword [rax + 0x10]
test r8, r8
je 0x14015e4bf
mov rcx, qword [r8]
mov r9, qword [rcx + 8]
test r9, r9
je 0x14015e4bf
cmp qword [rcx + 0x28], r15
je 0x14015e4bf
mov rdx, rsi
mov qword [rsp + 0x20], rbx
mov rcx, r14
call fcn.140179e00
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14015e44e
mov rax, qword [rsi + 0x60]
test rax, rax
je 0x14015e44e
nop
cmp qword [rax], r14
je 0x14015e467
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14015e440
mov rcx, qword [rbp + 0xa8]
mov rsi, r14
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
jmp 0x14015e4f8
mov rcx, r14
call fcn.140104330
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14015e44e
mov rdx, qword [rsi + 0x60]
mov rsi, r14
test rdx, rdx
je 0x14015e491
cmp qword [rdx], rsi
je 0x14015e491
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x14015e483
movsxd rcx, dword [rsi + 0x1fc]
mov rax, qword [rsi + 0x220]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
mov qword [rax + rcx*8], rdx
inc dword [rsi + 0x1fc]
inc dword [rdx + 0x18]
mov rcx, qword [rbp + 0xa8]
jmp 0x14015e4f8
mov r8, rdi
lea rdx, str.no_such_module:__s
mov rcx, r14
mov rsi, r14
call fcn.14013de00
mov r14, qword [rsp + 0x60]
mov qword [rbx], rax
mov eax, 1
mov rcx, qword [rbp + 0xa8]
mov rbx, qword [rsp + 0x58]
mov dword [rsp + 0x30], eax
jmp 0x14015e4f8
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
test r9w, cx
jne 0x14015e50d
cmp dword [rbp + 0xc0], r15d
je 0x14015e51f
lea rcx, [rbp + 0xa0]
call fcn.140176ff0
mov r9d, 0x2400
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401589b6
xor r11d, r11d
mov r8d, 0x1000
jmp 0x14015c5d3
inc dword [rsi + 0xe0]
xor r15d, r15d
mov rcx, qword [rsp + 0x38]
mov r8, qword [rsi + 0x20]
mov dword [rsp + 0x30], r15d
movsxd rax, dword [rcx + 4]
mov rdx, qword [rcx + 0x10]
mov rcx, rsi
shl rax, 5
mov r8, qword [rax + r8]
call fcn.140132520
mov rdi, rax
test rax, rax
je 0x14015e5fd
mov rdx, qword [rax + 0x60]
test rdx, rdx
je 0x14015e5fd
nop
mov rcx, qword [rdx + 0x10]
cmp dword [rcx + 8], r15d
jg 0x14015f414
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x14015e580
mov rdx, rdi
mov rcx, rsi
call fcn.14017a410
mov rbx, rax
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x28]
test rax, rax
jne 0x14015e5b9
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 0x14015e5da
mov qword [rbx + 0x10], r15
mov rcx, rbx
mov qword [rdi + 0x60], r15
call fcn.1401662c0
cmp qword [rsi + 0x2e0], r15
jne 0x14015e5ed
mov eax, 0xffffffff
add dword [rdi + 0x3c], eax
jne 0x14015e5f8
mov rdx, rdi
mov rcx, rsi
call fcn.1400f7240
mov rbx, qword [rsp + 0x58]
dec dword [rsi + 0xe0]
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401589b6
mov dword [rsp + 0x30], r10d
jmp 0x140158014
mov rax, qword [rsp + 0x38]
xor r15d, r15d
mov qword [rbp - 0x18], r15
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14015f43d
mov rdi, qword [rbx]
test rdi, rdi
je 0x14015f43d
lea rdx, [rbp - 0x18]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.140165e10
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401589b6
mov rax, qword [rbp - 0x18]
lea r9d, [r15 - 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.1400e9050
mov rcx, qword [rbp - 0x18]
test rax, rax
je 0x14015f42a
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rax + 0x38], rcx
inc dword [rbx + 8]
xor r11d, r11d
jmp 0x14015c5c8
mov rcx, qword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
mov rdi, qword [r12 + 0x70]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rdx, r14
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
xor eax, eax
mov edx, dword [rdx]
mov r8d, eax
mov rsi, qword [r13 + 0x38]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x14015e719
nop dword [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 0x14015e700
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.140165e10
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14015f77b
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x1401582be
mov r12, qword [rsp + 0x38]
jmp 0x14015b1bb
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, r14
cmp byte [rdi + 2], 0
je 0x14015e7d3
test word [rbx + 8], r9w
je 0x14015e7b2
mov rcx, rbx
call fcn.140177040
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov r12, qword [rsp + 0x38]
mov word [rbx + 8], r10w
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
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 0x14015e832
test word [rbx + 8], r9w
je 0x14015e824
mov rcx, rbx
call fcn.140177040
mov rax, qword [rsp + 0x38]
xor r11d, r11d
mov ecx, 0x4001
mov word [rbx + 8], cx
mov dword [rbx], r11d
jmp 0x14015e840
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.140165e10
cmp dword [rbp + 0x26c], 0
jle 0x14015e8ba
movzx ecx, word [rbx + 8]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14015e88b
cmp byte [rbx + 0xa], 1
jne 0x14015e88b
mov rax, qword [rbx + 0x10]
jmp 0x14015e89e
test cl, 1
je 0x14015e894
xor eax, eax
jmp 0x14015e89e
mov dl, 1
mov rcx, rbx
call fcn.140175700
mov r8, rax
lea rdx, [0x14023d260]
mov rcx, r13
call fcn.1401574a0
mov eax, dword [rbp + 0x26c]
mov dword [rsp + 0x30], eax
movzx eax, word [rbx + 8]
test al, 2
je 0x14015e8de
movzx r15d, byte [rsp + 0x48]
cmp byte [rbx + 0xa], r15b
je 0x14015e8de
movzx edx, r15b
mov rcx, rbx
call fcn.140162b80
movzx eax, word [rbx + 8]
test al, 0x12
je 0x14015e8fe
bt ax, 0xe
mov ecx, dword [rbx + 0xc]
jae 0x14015e8ee
add ecx, dword [rbx]
mov rax, qword [rbx + 0x28]
cmp ecx, dword [rax + 0x80]
jg 0x14015f47c
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
jne 0x1401589b3
jmp 0x1401582c3
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 0x14015b247
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.140165e10
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14015bc99
mov rcx, qword [rdi + 0x38]
call qword [rsi + 0x50]
test eax, eax
jne 0x14015cf34
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 0x14015cf3f
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, r14
test byte [rbx + 8], 2
je 0x14015e9e6
cmp byte [rbx + 0xa], 1
je 0x14015e9e6
mov dl, 1
mov rcx, rbx
call fcn.140162b80
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015bc99
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 0x14015ea0b
mov rax, qword [rsp + 0x40]
and qword [rax + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r13
call fcn.140165e10
and dword [r13 + 0xc8], 0xfffffffc
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
jne 0x1401589b3
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
cmp byte [rsi + 0x63], 0
jne 0x14015f6d3
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14015f467
mov r10, qword [rbx]
test r10, r10
je 0x14015f467
cmp qword [r10 + 0x68], 0
mov r12, qword [rsp + 0x38]
movsxd rdx, dword [r12 + 8]
je 0x14015c5ce
movsxd rax, dword [r12 + 0xc]
xor r15d, r15d
movzx edi, byte [rsi + 0x68]
mov r8, qword [r13 + 0x70]
imul rcx, rax, 0x38
mov eax, r15d
add rcx, r14
test edx, edx
jle 0x14015eac0
nop dword [rax]
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x14015eab0
mov rax, r12
lea r9, [rbp + 0x70]
mov rcx, rbx
movzx eax, byte [rax + 2]
mov byte [rsi + 0x68], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [rsi + 0x68], dil
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.140165e10
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14015eb03
cmp dword [r12 + 4], r15d
je 0x14015eb38
mov rax, qword [rbp + 0x70]
mov qword [rsi + 0x38], rax
jmp 0x14015eb38
cmp r10b, 0x13
jne 0x14015eb38
mov rax, r12
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], r15b
je 0x14015eb38
movzx ecx, word [r12 + 2]
cmp ecx, 4
jne 0x14015f44d
mov dword [rsp + 0x30], r15d
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
inc dword [r13 + 0x3c]
test r10d, r10d
jne 0x1401589b6
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
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 0x14015eb8b
mov rcx, rdx
call fcn.14010b720
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x14015eb94
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [rsp + 0x38]
mov r12, 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 0x14015c5d9
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 0x14015ebe6
mov rcx, rsi
call fcn.14010b720
mov rsi, rax
xor r11d, r11d
jmp 0x14015ebef
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 0x14015ec20
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x40]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x14015ec37
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14015ec37
mov rcx, rbx
call fcn.1400eedb0
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x14015ec4a
mov dword [rcx + 0xc0], edi
jmp 0x14015ec50
mov edi, dword [rcx + 0xc0]
cmp byte [rbx + 0x11], 0
je 0x14015ec64
sub dword [rbx + 0x14], 1
jne 0x14015ec64
mov rcx, rbx
call fcn.1401735c0
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov eax, edi
mov r9d, 0x2400
mov qword [rsi], rax
mov rsi, qword [rsp + 0x40]
jmp 0x14015c5c8
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp qword [rdi], rbx
je 0x14015ece5
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 0x14015ece5
mov rsi, qword [rsp + 0x38]
lea r8, [rdi + 0x30]
lea r8, [r8 + rdx*8]
nop
mov eax, dword [rsi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14015ecc0
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 0x14015ed8b
jle 0x14015ed5a
movzx ecx, word [rbx + 8]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14015ed2e
cmp byte [rbx + 0xa], 1
jne 0x14015ed2e
mov rax, qword [rbx + 0x10]
jmp 0x14015ed41
test cl, 1
je 0x14015ed37
xor eax, eax
jmp 0x14015ed41
mov dl, 1
mov rcx, rbx
call fcn.140175700
mov r8, rax
lea rdx, [0x14023d260]
mov rcx, r13
call fcn.1401574a0
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.140156e10
mov r10d, dword [rsp + 0x30]
xor r15d, r15d
mov dword [rdi + 0x24], r15d
test r10d, r10d
jne 0x1401589b6
movzx eax, word [rbx + 8]
test al, 0x12
je 0x14015ed9d
jmp 0x14015da23
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x14015c5c8
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
jmp 0x14015c5c8
mov r12, qword [rsp + 0x38]
mov rsi, rax
mov r14, qword [rsp + 0x60]
mov r9d, 0x2400
jmp 0x14015c5c8
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
jmp 0x14015c5c8
mov r9d, edi
jmp 0x14015c5c8
movzx eax, byte [rsi + 0x6a]
test al, 0x41
je 0x14015eee0
cmp byte [r13 + 0xc5], 0
jne 0x14015eee0
mov r9, qword [r12 + 0x10]
test r9, r9
jne 0x14015ee33
mov r9, qword [r13 + 0xf0]
test r9, r9
je 0x14015eeda
test al, 0x40
je 0x14015ee64
mov rdx, r9
mov rcx, r13
call fcn.14015fc20
mov rcx, qword [rsi + 0xf8]
mov rdx, rax
mov rbx, rax
call qword [rsi + 0xf0]
mov rcx, rbx
call fcn.1400da150
mov rbx, qword [rsp + 0x58]
jmp 0x14015eec4
cmp dword [rsi + 0xdc], 1
jle 0x14015eeb1
mov r8, r9
lea rdx, str.____s
mov rcx, rsi
call fcn.14013de00
mov rdx, qword [rsi + 0xf8]
mov r9, rax
mov r8, r13
mov ecx, 1
mov rbx, rax
call qword [rsi + 0xf0]
test rbx, rbx
je 0x14015ee5d
mov rdx, rbx
mov rcx, rsi
call fcn.1401288c0
mov rbx, qword [rsp + 0x58]
jmp 0x14015eec4
mov rdx, qword [rsi + 0xf8]
mov r8, r13
mov ecx, r10d
call qword [rsi + 0xf0]
mov r8d, 0x1000
lea rdx, [0x140000000]
mov r10d, 1
xor r11d, r11d
mov r9d, 0x2400
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
mov eax, dword [rax + 4]
cmp eax, dword [0x1402b6414]
jl 0x14015ef36
cmp byte [r12], 0xad
je case.0x140157646.86
cmp dword [r13 + 0x90], 1
mov edx, r10d
jle 0x14015ef33
mov eax, 0x18
mov rcx, qword [r13 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x14015ef24
mov dword [rax + rcx + 4], r11d
inc edx
add rax, 0x18
cmp edx, dword [r13 + 0x90]
jl 0x14015ef12
mov eax, r11d
inc eax
mov dword [r12 + 4], eax
inc dword [r13 + 0xec]
jmp 0x14015b1c9
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14015761f
mov r12, qword [rsp + 0x38]
jmp 0x140157d1a
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 0x14015f020
movzx eax, word [rdx + 2]
mov rcx, r13
test ax, ax
je 0x14015efe6
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x2386e8]
call fcn.1401574a0
mov rax, qword [rsp + 0x38]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x14015eff6
mov r8, qword [r13 + 0xa8]
lea rdx, str._z:__s
mov rcx, rsi
call fcn.14013de00
mov qword [r13 + 0xa8], rax
jmp 0x14015eff6
mov r8, qword [rdx + 0x10]
lea rdx, [0x14023d260]
call fcn.1401574a0
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.1400e70c0
mov rcx, r13
call fcn.140160a30
mov rbx, qword [rsp + 0x50]
mov edi, eax
cmp eax, 5
jne 0x14015f03d
mov dword [r13 + 0x38], eax
jmp 0x14015f104
cmp dword [r13 + 0x38], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x14015f104
mov ecx, 0x15aee
call fcn.1401269b0
mov r10d, eax
mov dword [rsp + 0x30], eax
mov rsi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x68]
jmp 0x1401589b3
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1401574a0
mov r10d, 5
mov rsi, rdi
jmp 0x1401589ae
mov r13, qword [rsp + 0x68]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1401574a0
mov r10d, 5
mov dword [rsp + 0x30], r10d
jmp 0x1401589b6
mov byte [rsi + 0x61], 0
mov r13, rbx
xor r15d, r15d
jmp 0x1401589bb
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 + 0x61], 0
mov dword [rbx + 0x38], edi
mov rbx, qword [rsp + 0x50]
mov r15, qword [rbp - 0x40]
cmp r15, rbx
jb 0x14015f8f3
mov rdx, qword [rsi + 0x1e8]
test rdx, rdx
je 0x14015f8f3
mov eax, dword [rsi + 0x1f8]
mov rcx, qword [rsi + 0x1f0]
add rbx, rax
call rdx
test eax, eax
je 0x14015f104
mov rbx, 0xffffffffffffffff
mov r10d, 9
xor r15d, r15d
mov dword [rsp + 0x30], r10d
mov edi, 1
lea r14, [0x1402429a4]
jmp 0x1401589c7
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.1401574a0
jmp 0x14015f0fb
mov eax, 8
mov r10d, eax
mov dword [rsp + 0x30], eax
jmp 0x1401589b3
mov rbx, qword [rsp + 0x50]
cmp r10b, 5
jne 0x140158aa9
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 0x14015f104
mov rdx, qword [r13 + 0xa8]
test rdx, rdx
je 0x14015f1e5
mov rcx, rsi
call fcn.1401288c0
mov edx, 0x1c
mov rcx, rsi
call fcn.140128a50
test rax, rax
je 0x14015f217
movups xmm0, xmmword [str.database_schema_has_changed]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x14023e8c8]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x14023e8d0]
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 0x14015f246
mov rcx, rsi
call fcn.140148790
and dword [r13 + 0xc8], 0xfffffffd
mov r10d, 0x11
or dword [r13 + 0xc8], 1
jmp 0x1401589ae
mov r10d, 0x204
jmp 0x1401589ae
mov rcx, qword [rbx + 0x10]
call fcn.14011fbc0
mov r10d, dword [rsp + 0x30]
mov rdi, r12
jmp 0x1401589bb
lea r14, [0x1402429a4]
mov r9d, 0x145b1
lea r8, str.database_corruption
mov qword [rsp + 0x20], r14
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.1400e70c0
mov rsi, qword [rsp + 0x40]
mov r10d, VariantTimeToDosDateTime
mov dword [rsp + 0x30], r10d
lea edi, [r10 - 0xa]
jmp 0x1401589c2
mov eax, 0x30b
lea r14, [0x1402429a4]
mov ecx, eax
mov qword [rsp + 0x20], r14
mov r9d, 0x166e5
mov dword [rsp + 0x30], eax
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400e70c0
xor r15d, r15d
mov r10d, 0x30b
lea edi, [r15 + 1]
jmp 0x1401589c2
mov ecx, 0x167b1
call fcn.1401269b0
mov r10d, eax
mov dword [rsp + 0x30], eax
jmp 0x1401589b3
mov r10d, 6
mov byte [r13 + 0xc2], 2
jmp 0x1401589ae
mov rcx, rsi
call fcn.1401486f0
mov r10d, dword [rsp + 0x30]
mov rbx, qword [rsp + 0x50]
cmp r10d, 7
je 0x14015f432
jmp 0x14015f143
call fcn.1401486f0
mov rbx, qword [rsp + 0x50]
mov r12d, 1
jmp 0x14015f720
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x30], r10d
mov rcx, r13
call fcn.1401574a0
mov r10d, dword [rsp + 0x30]
jmp 0x1401589b3
mov rcx, rbx
call fcn.1400df090
mov r8, rax
lea rdx, [0x14023d260]
mov rcx, r13
call fcn.1401574a0
mov r10d, dword [rsp + 0x30]
jmp 0x1401589b3
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.1401574a0
mov r10d, dword [rsp + 0x30]
mov rsi, r12
jmp 0x1401589b3
cmp r10b, 6
jne 0x14015b803
mov rax, qword [rsp + 0x38]
lea rdx, str.database_table_is_locked:__s
mov rcx, r13
mov r8, qword [rax + 0x10]
call fcn.1401574a0
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
jmp 0x1401589b6
dec dword [rsi + 0xe0]
mov r10d, 6
mov dword [rsp + 0x30], r10d
jmp 0x1401589b6
call qword [rdi + 0x38]
mov rbx, qword [rsp + 0x50]
mov r12d, 1
jmp 0x14015f720
mov r10d, 6
mov dword [rsp + 0x30], r10d
jmp 0x1401589b6
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [r13 + 0xc2], al
jmp 0x1401589b6
mov r10d, 6
jmp 0x1401589ae
mov r13, r12
jmp 0x14015f47c
mov r13, qword [rsp + 0x68]
lea rdx, str.string_or_blob_too_big
mov rcx, r13
call fcn.1401574a0
mov rsi, qword [rsp + 0x40]
mov r10d, 0x12
jmp 0x1401589ae
cmp qword [r13 + 0x50], 0
jle case.0x140157646.81
mov dword [r13 + 0x38], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov byte [r13 + 0xc2], 2
mov rcx, r13
call fcn.1401574a0
mov edi, 1
xor r15d, r15d
mov r10d, edi
mov dword [rsp + 0x30], edi
jmp 0x1401589bb
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, r14
mov qword [r13 + 0xa0], rsi
cmp dword [rax + 8], 0
jle 0x14015f560
lea rbx, [rsi + 8]
mov r14d, 0x202
test word [rbx], r8w
je 0x14015f52f
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rsi
call fcn.1401623d0
test eax, eax
jne 0x14015f6ce
movzx eax, word [rbx]
and ax, r14w
cmp ax, 2
jne 0x14015f545
lea rcx, [rbx - 8]
call fcn.140176f90
mov rax, qword [rsp + 0x38]
inc edi
add rbx, 0x38
mov r8d, 0x1000
cmp edi, dword [rax + 8]
jl 0x14015f512
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x40]
cmp byte [rsi + 0x63], 0
jne 0x14015f6d3
test byte [rsi + 0x6a], 4
je 0x14015f58c
mov rdx, qword [rsi + 0xf8]
xor r9d, r9d
mov r8, r13
lea ecx, [r9 + 4]
call qword [rsi + 0xf0]
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 0x14015f104
mov rax, qword [rsp + 0x38]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [rsi + 0x61]
cmp ebx, eax
je 0x14015f6a5
test ecx, ecx
je 0x14015f5f0
mov edx, 0x204
mov rcx, rsi
call fcn.140149050
mov al, 1
jmp 0x14015f62b
test ebx, ebx
je 0x14015f617
cmp dword [rsi + 0xd8], 0
jle 0x14015f617
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r13
call fcn.1401574a0
mov r10d, 5
jmp 0x1401589ae
mov edx, r10d
mov rcx, r13
call fcn.1401568b0
mov edi, eax
test eax, eax
jne 0x14015f5ba
movzx eax, bl
mov rcx, r13
mov byte [rsi + 0x61], al
call fcn.140160a30
cmp eax, 5
jne 0x14015f681
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 + 0x61], al
mov dword [r13 + 0x38], edi
jmp 0x14015f104
mov rcx, rsi
call fcn.140123fb0
cmp dword [r13 + 0x38], 0
mov edi, 0x65
mov rbx, qword [rsp + 0x50]
mov eax, 1
cmovne edi, eax
jmp 0x14015f104
test ebx, ebx
jne 0x14015f6b5
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x14015f4b9
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 0x14015f4b9
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
xor r15d, r15d
lea r12d, [r15 + 1]
jmp 0x14015f720
mov rsi, qword [rsp + 0x40]
xor r15d, r15d
mov rbx, qword [rsp + 0x50]
jmp 0x14015f720
mov r13, qword [rsp + 0x68]
jmp 0x14015f6ce
mov rsi, qword [rsp + 0x40]
xor r15d, r15d
mov r13, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
jmp 0x14015f720
mov rsi, qword [rsp + 0x40]
mov r12d, 1
mov rbx, qword [rsp + 0x50]
jmp 0x14015f720
mov r12, r10
cmp byte [rsi + 0x63], 0
jne 0x14015f761
cmp byte [rsi + 0x64], 0
jne 0x14015f761
mov byte [rsi + 0x63], 1
cmp dword [rsi + 0xdc], 0
jle 0x14015f740
mov dword [rsi + 0x178], r12d
inc dword [rsi + 0x180]
mov word [rsi + 0x184], r15w
mov rax, qword [rsi + 0x140]
test rax, rax
je 0x14015f761
mov dword [rax + 0x18], 7
lea rdx, str.out_of_memory
mov rcx, r13
call fcn.1401574a0
mov r10d, 7
jmp 0x14015f143
mov rsi, qword [rsp + 0x40]
mov r13, r12
jmp 0x1401589b3
mov rsi, rdi
jmp 0x1401589b6
cmp r10d, 0x210a
jne 0x14015f7c7
mov r9d, 0x16fda
mov qword [rsp + 0x20], r14
lea r8, str.database_corruption
mov ecx, VariantTimeToDosDateTime
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400e70c0
mov r10d, VariantTimeToDosDateTime
mov dword [rsp + 0x30], r10d
cmp qword [r13 + 0xa8], 0
jne 0x14015f7ff
cmp r10d, 0xc0a
je 0x14015f7ff
mov ecx, r10d
call fcn.14012b2c0
mov r8, rax
lea rdx, [0x14023d260]
mov rcx, r13
call fcn.1401574a0
mov r10d, dword [rsp + 0x30]
mov dword [r13 + 0x38], r10d
jmp 0x14015f80c
mov dword [r13 + 0x38], r10d
cmp r10d, 0xc0a
je 0x14015f83d
movzx eax, r10b
sub eax, 0xa
test eax, 0xfffffffb
jne 0x14015f83d
mov rcx, qword [rsi]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x14015f837
xor r8d, r8d
xor edx, edx
call rax
mov r10d, dword [rsp + 0x30]
jmp 0x14015f83a
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.1400e70c0
mov rcx, r13
call fcn.140160a30
cmp dword [rsp + 0x30], 0xc0a
jne 0x14015f8d6
cmp byte [rsi + 0x63], 0
jne 0x14015f8d6
cmp byte [rsi + 0x64], 0
jne 0x14015f8d6
mov byte [rsi + 0x63], 1
cmp dword [rsi + 0xdc], 0
jle 0x14015f8b5
mov dword [rsi + 0x178], edi
inc dword [rsi + 0x180]
mov word [rsi + 0x184], r15w
mov rax, qword [rsi + 0x140]
test rax, rax
je 0x14015f8d6
mov dword [rax + 0x18], 7
movzx eax, byte [rsp + 0x70]
test al, al
je 0x14015f100
lea edx, [rax - 1]
mov rcx, rsi
call fcn.140148790
jmp 0x14015f100
add dword [r13 + 0xe4], r15d
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 0x14015f93c
mov rcx, r13
call fcn.140176f00
mov eax, edi
mov rdi, qword [rsp + 0x428]
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.1401b1920
add rsp, 0x3f8
pop r13
pop rbp
ret