1401a7ff4:	85 ff                	test   %edi,%edi
1401a7ff6:	48 8b bc 24 b8 00 00 	mov    0xb8(%rsp),%rdi
1401a7ffd:	00
1401a7ffe:	75 0e                	jne    0x1401a800e
1401a8000:	b8 02 00 00 00       	mov    $0x2,%eax
1401a8005:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
1401a800c:	5b                   	pop    %rbx
1401a800d:	c3                   	ret
1401a800e:	8b 84 24 b0 00 00 00 	mov    0xb0(%rsp),%eax
1401a8015:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
1401a801c:	5b                   	pop    %rbx
1401a801d:	c3                   	ret
1401a801e:	cc                   	int3
1401a801f:	cc                   	int3
1401a8020:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401a8025:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1401a802a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401a802f:	57                   	push   %rdi
1401a8030:	b8 30 00 00 00       	mov    $0x30,%eax
1401a8035:	e8 f6 8a 10 00       	call   0x1402b0b30
1401a803a:	48 2b e0             	sub    %rax,%rsp
1401a803d:	48 8b 01             	mov    (%rcx),%rax
1401a8040:	49 8b f9             	mov    %r9,%rdi
1401a8043:	41 8b f0             	mov    %r8d,%esi
1401a8046:	8b ea                	mov    %edx,%ebp
1401a8048:	48 8b d9             	mov    %rcx,%rbx
1401a804b:	4c 8b 50 78          	mov    0x78(%rax),%r10
1401a804f:	4d 85 d2             	test   %r10,%r10
1401a8052:	74 0b                	je     0x1401a805f
1401a8054:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1401a8058:	41 ff d2             	call   *%r10
1401a805b:	85 c0                	test   %eax,%eax
1401a805d:	74 40                	je     0x1401a809f
1401a805f:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
1401a8064:	4c 8b cf             	mov    %rdi,%r9
1401a8067:	4c 8b 13             	mov    (%rbx),%r10
1401a806a:	44 8b c6             	mov    %esi,%r8d
1401a806d:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1401a8071:	8b d5                	mov    %ebp,%edx
1401a8073:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1401a8078:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
1401a807d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1401a8082:	41 ff 52 48          	call   *0x48(%r10)
1401a8086:	48 8b 0b             	mov    (%rbx),%rcx
1401a8089:	8b f8                	mov    %eax,%edi
1401a808b:	48 8b 91 80 00 00 00 	mov    0x80(%rcx),%rdx
1401a8092:	48 85 d2             	test   %rdx,%rdx
1401a8095:	74 06                	je     0x1401a809d
1401a8097:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1401a809b:	ff d2                	call   *%rdx
1401a809d:	8b c7                	mov    %edi,%eax
1401a809f:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401a80a4:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1401a80a9:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1401a80ae:	48 83 c4 30          	add    $0x30,%rsp
1401a80b2:	5f                   	pop    %rdi
1401a80b3:	c3                   	ret
1401a80b4:	cc                   	int3
1401a80b5:	cc                   	int3
1401a80b6:	cc                   	int3
1401a80b7:	cc                   	int3
1401a80b8:	cc                   	int3
1401a80b9:	cc                   	int3
1401a80ba:	cc                   	int3
1401a80bb:	cc                   	int3
1401a80bc:	cc                   	int3
1401a80bd:	cc                   	int3
1401a80be:	cc                   	int3
1401a80bf:	cc                   	int3
1401a80c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401a80c5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1401a80ca:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401a80cf:	57                   	push   %rdi
1401a80d0:	b8 30 00 00 00       	mov    $0x30,%eax
1401a80d5:	e8 56 8a 10 00       	call   0x1402b0b30
1401a80da:	48 2b e0             	sub    %rax,%rsp
1401a80dd:	48 8b 01             	mov    (%rcx),%rax
1401a80e0:	49 8b f9             	mov    %r9,%rdi
1401a80e3:	49 8b f0             	mov    %r8,%rsi
1401a80e6:	8b ea                	mov    %edx,%ebp
1401a80e8:	48 8b d9             	mov    %rcx,%rbx
1401a80eb:	4c 8b 50 78          	mov    0x78(%rax),%r10
1401a80ef:	4d 85 d2             	test   %r10,%r10
1401a80f2:	74 0b                	je     0x1401a80ff
1401a80f4:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1401a80f8:	41 ff d2             	call   *%r10
1401a80fb:	85 c0                	test   %eax,%eax
1401a80fd:	74 4f                	je     0x1401a814e
1401a80ff:	48 8b 03             	mov    (%rbx),%rax
1401a8102:	4c 8b 50 60          	mov    0x60(%rax),%r10
1401a8106:	4d 85 d2             	test   %r10,%r10
1401a8109:	74 2a                	je     0x1401a8135
1401a810b:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
1401a8110:	4c 8b cf             	mov    %rdi,%r9
1401a8113:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1401a8117:	4c 8b c6             	mov    %rsi,%r8
1401a811a:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1401a811f:	8b d5                	mov    %ebp,%edx
1401a8121:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
1401a8126:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1401a812b:	41 ff d2             	call   *%r10
1401a812e:	8b f8                	mov    %eax,%edi
1401a8130:	48 8b 03             	mov    (%rbx),%rax
1401a8133:	eb 05                	jmp    0x1401a813a
1401a8135:	bf 01 00 00 00       	mov    $0x1,%edi
1401a813a:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
1401a8141:	48 85 c0             	test   %rax,%rax
1401a8144:	74 06                	je     0x1401a814c
1401a8146:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1401a814a:	ff d0                	call   *%rax
1401a814c:	8b c7                	mov    %edi,%eax
1401a814e:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401a8153:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1401a8158:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1401a815d:	48 83 c4 30          	add    $0x30,%rsp
1401a8161:	5f                   	pop    %rdi
1401a8162:	c3                   	ret
1401a8163:	cc                   	int3
1401a8164:	cc                   	int3
1401a8165:	cc                   	int3
1401a8166:	cc                   	int3
1401a8167:	cc                   	int3
1401a8168:	cc                   	int3
1401a8169:	cc                   	int3
1401a816a:	cc                   	int3
1401a816b:	cc                   	int3
1401a816c:	cc                   	int3
1401a816d:	cc                   	int3
1401a816e:	cc                   	int3
1401a816f:	cc                   	int3
1401a8170:	48 85 c9             	test   %rcx,%rcx
1401a8173:	74 61                	je     0x1401a81d6
1401a8175:	53                   	push   %rbx
1401a8176:	b8 20 00 00 00       	mov    $0x20,%eax
1401a817b:	e8 b0 89 10 00       	call   0x1402b0b30
1401a8180:	48 2b e0             	sub    %rax,%rsp
1401a8183:	48 8b d9             	mov    %rcx,%rbx
1401a8186:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1401a818b:	f0 0f c1 41 20       	lock xadd %eax,0x20(%rcx)
1401a8190:	83 e8 01             	sub    $0x1,%eax
1401a8193:	7f 3c                	jg     0x1401a81d1
1401a8195:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1401a8199:	48 8d 15 68 09 18 00 	lea    0x180968(%rip),%rdx        # 0x140328b08
1401a81a0:	41 b8 48 00 00 00    	mov    $0x48,%r8d
1401a81a6:	e8 15 3c f4 ff       	call   0x1400ebdc0
1401a81ab:	48 8b 0b             	mov    (%rbx),%rcx
1401a81ae:	e8 bd 7b f9 ff       	call   0x14013fd70
1401a81b3:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
1401a81b7:	e8 14 f7 f7 ff       	call   0x1401278d0
1401a81bc:	41 b8 4b 00 00 00    	mov    $0x4b,%r8d
1401a81c2:	48 8d 15 3f 09 18 00 	lea    0x18093f(%rip),%rdx        # 0x140328b08
1401a81c9:	48 8b cb             	mov    %rbx,%rcx
1401a81cc:	e8 ef 3b f4 ff       	call   0x1400ebdc0
1401a81d1:	48 83 c4 20          	add    $0x20,%rsp
1401a81d5:	5b                   	pop    %rbx
1401a81d6:	c3                   	ret
1401a81d7:	cc                   	int3
1401a81d8:	cc                   	int3
1401a81d9:	cc                   	int3
1401a81da:	cc                   	int3
1401a81db:	cc                   	int3
1401a81dc:	cc                   	int3
1401a81dd:	cc                   	int3
1401a81de:	cc                   	int3
1401a81df:	cc                   	int3
1401a81e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401a81e5:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1401a81ea:	55                   	push   %rbp
1401a81eb:	56                   	push   %rsi
1401a81ec:	57                   	push   %rdi
1401a81ed:	41 54                	push   %r12
1401a81ef:	41 55                	push   %r13
1401a81f1:	41 56                	push   %r14
1401a81f3:	41 57                	push   %r15
1401a81f5:	b8 20 00 00 00       	mov    $0x20,%eax
1401a81fa:	e8 31 89 10 00       	call   0x1402b0b30
1401a81ff:	48 2b e0             	sub    %rax,%rsp
1401a8202:	48 8b 7a 10          	mov    0x10(%rdx),%rdi
1401a8206:	44 8d 40 30          	lea    0x30(%rax),%r8d
1401a820a:	48 8b f2             	mov    %rdx,%rsi
1401a820d:	8b e9                	mov    %ecx,%ebp
1401a820f:	45 33 f6             	xor    %r14d,%r14d
1401a8212:	41 8d 48 70          	lea    0x70(%r8),%ecx
1401a8216:	48 8d 15 eb 08 18 00 	lea    0x1808eb(%rip),%rdx        # 0x140328b08
1401a821d:	45 8b fe             	mov    %r14d,%r15d
1401a8220:	45 8b e6             	mov    %r14d,%r12d
1401a8223:	e8 98 3e f4 ff       	call   0x1400ec0c0
1401a8228:	48 8b d8             	mov    %rax,%rbx
1401a822b:	48 85 c0             	test   %rax,%rax
1401a822e:	0f 84 9f 03 00 00    	je     0x1401a85d3
1401a8234:	e8 d7 f6 f7 ff       	call   0x140127910
1401a8239:	48 89 43 28          	mov    %rax,0x28(%rbx)
1401a823d:	48 85 c0             	test   %rax,%rax
1401a8240:	0f 84 8d 03 00 00    	je     0x1401a85d3
1401a8246:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%rbx)
1401a824d:	48 8b ce             	mov    %rsi,%rcx
1401a8250:	89 6b 08             	mov    %ebp,0x8(%rbx)
1401a8253:	e8 b8 92 f9 ff       	call   0x140141510
1401a8258:	48 89 43 10          	mov    %rax,0x10(%rbx)
1401a825c:	48 85 c0             	test   %rax,%rax
1401a825f:	75 50                	jne    0x1401a82b1
1401a8261:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1401a8266:	f0 0f c1 43 20       	lock xadd %eax,0x20(%rbx)
1401a826b:	83 e8 01             	sub    $0x1,%eax
1401a826e:	0f 8f a2 03 00 00    	jg     0x1401a8616
1401a8274:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1401a8278:	45 8d 46 48          	lea    0x48(%r14),%r8d
1401a827c:	48 8d 15 85 08 18 00 	lea    0x180885(%rip),%rdx        # 0x140328b08
1401a8283:	e8 38 3b f4 ff       	call   0x1400ebdc0
1401a8288:	48 8b 0b             	mov    (%rbx),%rcx
1401a828b:	e8 e0 7a f9 ff       	call   0x14013fd70
1401a8290:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
1401a8294:	e8 37 f6 f7 ff       	call   0x1401278d0
1401a8299:	45 8d 46 4b          	lea    0x4b(%r14),%r8d
1401a829d:	48 8b cb             	mov    %rbx,%rcx
1401a82a0:	48 8d 15 61 08 18 00 	lea    0x180861(%rip),%rdx        # 0x140328b08
1401a82a7:	e8 14 3b f4 ff       	call   0x1400ebdc0
1401a82ac:	e9 65 03 00 00       	jmp    0x1401a8616
1401a82b1:	48 8b 46 18          	mov    0x18(%rsi),%rax
1401a82b5:	48 89 43 18          	mov    %rax,0x18(%rbx)
1401a82b9:	48 89 7b 30          	mov    %rdi,0x30(%rbx)
1401a82bd:	8b 07                	mov    (%rdi),%eax
1401a82bf:	85 c0                	test   %eax,%eax
1401a82c1:	0f 84 9d 02 00 00    	je     0x1401a8564
1401a82c7:	48 8d 57 08          	lea    0x8(%rdi),%rdx
1401a82cb:	45 8b ec             	mov    %r12d,%r13d
1401a82ce:	4c 8d 05 2b 7d e5 ff 	lea    -0x1a82d5(%rip),%r8        # 0x140000000
1401a82d5:	ff c8                	dec    %eax
1401a82d7:	83 f8 10             	cmp    $0x10,%eax
1401a82da:	0f 87 b5 01 00 00    	ja     0x1401a8495
1401a82e0:	48 98                	cltq
1401a82e2:	41 8b 8c 80 30 86 1a 	mov    0x1a8630(%r8,%rax,4),%ecx
1401a82e9:	00
1401a82ea:	49 03 c8             	add    %r8,%rcx
1401a82ed:	ff e1                	jmp    *%rcx
1401a82ef:	48 83 7b 38 00       	cmpq   $0x0,0x38(%rbx)
1401a82f4:	0f 85 9b 01 00 00    	jne    0x1401a8495
1401a82fa:	48 8b 02             	mov    (%rdx),%rax
1401a82fd:	41 ff c7             	inc    %r15d
1401a8300:	48 89 43 38          	mov    %rax,0x38(%rbx)
1401a8304:	e9 8c 01 00 00       	jmp    0x1401a8495
1401a8309:	48 83 7b 40 00       	cmpq   $0x0,0x40(%rbx)
1401a830e:	0f 85 81 01 00 00    	jne    0x1401a8495
1401a8314:	48 8b 02             	mov    (%rdx),%rax
1401a8317:	41 ff c7             	inc    %r15d
1401a831a:	48 89 43 40          	mov    %rax,0x40(%rbx)
1401a831e:	e9 72 01 00 00       	jmp    0x1401a8495
1401a8323:	48 83 7b 48 00       	cmpq   $0x0,0x48(%rbx)
1401a8328:	0f 85 67 01 00 00    	jne    0x1401a8495
1401a832e:	48 8b 02             	mov    (%rdx),%rax
1401a8331:	41 ff c6             	inc    %r14d
1401a8334:	48 89 43 48          	mov    %rax,0x48(%rbx)
1401a8338:	e9 58 01 00 00       	jmp    0x1401a8495
1401a833d:	48 83 7b 50 00       	cmpq   $0x0,0x50(%rbx)
1401a8342:	0f 85 4d 01 00 00    	jne    0x1401a8495
1401a8348:	48 8b 02             	mov    (%rdx),%rax
1401a834b:	41 ff c6             	inc    %r14d
1401a834e:	48 89 43 50          	mov    %rax,0x50(%rbx)
1401a8352:	e9 3e 01 00 00       	jmp    0x1401a8495
1401a8357:	48 83 7b 58 00       	cmpq   $0x0,0x58(%rbx)
1401a835c:	0f 85 33 01 00 00    	jne    0x1401a8495
1401a8362:	48 8b 02             	mov    (%rdx),%rax
1401a8365:	41 ff c6             	inc    %r14d
1401a8368:	48 89 43 58          	mov    %rax,0x58(%rbx)
1401a836c:	e9 24 01 00 00       	jmp    0x1401a8495
1401a8371:	48 83 7b 60 00       	cmpq   $0x0,0x60(%rbx)
1401a8376:	0f 85 19 01 00 00    	jne    0x1401a8495
1401a837c:	48 8b 02             	mov    (%rdx),%rax
1401a837f:	48 89 43 60          	mov    %rax,0x60(%rbx)
1401a8383:	e9 0d 01 00 00       	jmp    0x1401a8495
1401a8388:	48 83 7b 68 00       	cmpq   $0x0,0x68(%rbx)
1401a838d:	0f 85 02 01 00 00    	jne    0x1401a8495
1401a8393:	48 8b 02             	mov    (%rdx),%rax
1401a8396:	48 89 43 68          	mov    %rax,0x68(%rbx)
1401a839a:	e9 f6 00 00 00       	jmp    0x1401a8495
1401a839f:	48 83 7b 70 00       	cmpq   $0x0,0x70(%rbx)
1401a83a4:	0f 85 eb 00 00 00    	jne    0x1401a8495
1401a83aa:	48 8b 02             	mov    (%rdx),%rax
1401a83ad:	41 ff c5             	inc    %r13d
1401a83b0:	48 89 43 70          	mov    %rax,0x70(%rbx)
1401a83b4:	e9 dc 00 00 00       	jmp    0x1401a8495
1401a83b9:	48 83 7b 78 00       	cmpq   $0x0,0x78(%rbx)
1401a83be:	0f 85 d1 00 00 00    	jne    0x1401a8495
1401a83c4:	48 8b 02             	mov    (%rdx),%rax
1401a83c7:	41 ff c4             	inc    %r12d
1401a83ca:	48 89 43 78          	mov    %rax,0x78(%rbx)
1401a83ce:	e9 c2 00 00 00       	jmp    0x1401a8495
1401a83d3:	48 83 bb 80 00 00 00 	cmpq   $0x0,0x80(%rbx)
1401a83da:	00
1401a83db:	0f 85 b4 00 00 00    	jne    0x1401a8495
1401a83e1:	48 8b 02             	mov    (%rdx),%rax
1401a83e4:	41 ff c4             	inc    %r12d
1401a83e7:	48 89 83 80 00 00 00 	mov    %rax,0x80(%rbx)
1401a83ee:	e9 a2 00 00 00       	jmp    0x1401a8495
1401a83f3:	48 83 bb 88 00 00 00 	cmpq   $0x0,0x88(%rbx)
1401a83fa:	00
1401a83fb:	0f 85 94 00 00 00    	jne    0x1401a8495
1401a8401:	48 8b 02             	mov    (%rdx),%rax
1401a8404:	48 89 83 88 00 00 00 	mov    %rax,0x88(%rbx)
1401a840b:	e9 85 00 00 00       	jmp    0x1401a8495
1401a8410:	48 83 bb 90 00 00 00 	cmpq   $0x0,0x90(%rbx)
1401a8417:	00
1401a8418:	75 7b                	jne    0x1401a8495
1401a841a:	48 8b 02             	mov    (%rdx),%rax
1401a841d:	48 89 83 90 00 00 00 	mov    %rax,0x90(%rbx)
1401a8424:	eb 6f                	jmp    0x1401a8495
1401a8426:	48 83 bb 98 00 00 00 	cmpq   $0x0,0x98(%rbx)
1401a842d:	00
1401a842e:	75 65                	jne    0x1401a8495
1401a8430:	48 8b 02             	mov    (%rdx),%rax
1401a8433:	48 89 83 98 00 00 00 	mov    %rax,0x98(%rbx)
1401a843a:	eb 59                	jmp    0x1401a8495
1401a843c:	48 83 bb a0 00 00 00 	cmpq   $0x0,0xa0(%rbx)
1401a8443:	00
1401a8444:	75 4f                	jne    0x1401a8495
1401a8446:	48 8b 02             	mov    (%rdx),%rax
1401a8449:	48 89 83 a0 00 00 00 	mov    %rax,0xa0(%rbx)
1401a8450:	eb 43                	jmp    0x1401a8495
1401a8452:	48 83 bb a8 00 00 00 	cmpq   $0x0,0xa8(%rbx)
1401a8459:	00
1401a845a:	75 39                	jne    0x1401a8495
1401a845c:	48 8b 02             	mov    (%rdx),%rax
1401a845f:	41 ff c7             	inc    %r15d
1401a8462:	48 89 83 a8 00 00 00 	mov    %rax,0xa8(%rbx)
1401a8469:	eb 2a                	jmp    0x1401a8495
1401a846b:	48 83 bb b0 00 00 00 	cmpq   $0x0,0xb0(%rbx)
1401a8472:	00
1401a8473:	75 20                	jne    0x1401a8495
1401a8475:	48 8b 02             	mov    (%rdx),%rax
1401a8478:	48 89 83 b0 00 00 00 	mov    %rax,0xb0(%rbx)
1401a847f:	eb 14                	jmp    0x1401a8495
1401a8481:	48 83 bb b8 00 00 00 	cmpq   $0x0,0xb8(%rbx)
1401a8488:	00
1401a8489:	75 0a                	jne    0x1401a8495
1401a848b:	48 8b 02             	mov    (%rdx),%rax
1401a848e:	48 89 83 b8 00 00 00 	mov    %rax,0xb8(%rbx)
1401a8495:	8b 42 08             	mov    0x8(%rdx),%eax
1401a8498:	48 83 c2 10          	add    $0x10,%rdx
1401a849c:	85 c0                	test   %eax,%eax
1401a849e:	0f 85 31 fe ff ff    	jne    0x1401a82d5
1401a84a4:	44 89 6c 24 68       	mov    %r13d,0x68(%rsp)
1401a84a9:	4c 8b 6c 24 70       	mov    0x70(%rsp),%r13
1401a84ae:	41 83 fe 03          	cmp    $0x3,%r14d
1401a84b2:	0f 85 ac 00 00 00    	jne    0x1401a8564
1401a84b8:	41 83 ff 03          	cmp    $0x3,%r15d
1401a84bc:	0f 85 a2 00 00 00    	jne    0x1401a8564
1401a84c2:	83 7c 24 68 01       	cmpl   $0x1,0x68(%rsp)
1401a84c7:	0f 87 97 00 00 00    	ja     0x1401a8564
1401a84cd:	41 f7 c4 fd ff ff ff 	test   $0xfffffffd,%r12d
1401a84d4:	0f 85 8a 00 00 00    	jne    0x1401a8564