41622c:	cc                   	int3
41622d:	cc                   	int3
41622e:	cc                   	int3
41622f:	cc                   	int3
416230:	6a 03                	push   $0x3
416232:	58                   	pop    %eax
416233:	c2 0c 00             	ret    $0xc
416236:	cc                   	int3
416237:	cc                   	int3
416238:	cc                   	int3
416239:	cc                   	int3
41623a:	cc                   	int3
41623b:	cc                   	int3
41623c:	cc                   	int3
41623d:	cc                   	int3
41623e:	cc                   	int3
41623f:	cc                   	int3
416240:	8b ff                	mov    %edi,%edi
416242:	55                   	push   %ebp
416243:	8b ec                	mov    %esp,%ebp
416245:	51                   	push   %ecx
416246:	53                   	push   %ebx
416247:	56                   	push   %esi
416248:	8b 75 10             	mov    0x10(%ebp),%esi
41624b:	33 db                	xor    %ebx,%ebx
41624d:	38 1e                	cmp    %bl,(%esi)
41624f:	0f 84 6b e3 00 00    	je     0x4245c0
416255:	57                   	push   %edi
416256:	8b 7d 08             	mov    0x8(%ebp),%edi
416259:	8b 17                	mov    (%edi),%edx
41625b:	8b 42 10             	mov    0x10(%edx),%eax
41625e:	2b c3                	sub    %ebx,%eax
416260:	74 13                	je     0x416275
416262:	83 e8 01             	sub    $0x1,%eax
416265:	75 22                	jne    0x416289
416267:	89 5a 10             	mov    %ebx,0x10(%edx)
41626a:	8b c3                	mov    %ebx,%eax
41626c:	5f                   	pop    %edi
41626d:	5e                   	pop    %esi
41626e:	5b                   	pop    %ebx
41626f:	8b e5                	mov    %ebp,%esp
416271:	5d                   	pop    %ebp
416272:	c2 0c 00             	ret    $0xc
416275:	5f                   	pop    %edi
416276:	88 1e                	mov    %bl,(%esi)
416278:	8b c3                	mov    %ebx,%eax
41627a:	5e                   	pop    %esi
41627b:	c7 42 10 02 00 00 00 	movl   $0x2,0x10(%edx)
416282:	5b                   	pop    %ebx
416283:	8b e5                	mov    %ebp,%esp
416285:	5d                   	pop    %ebp
416286:	c2 0c 00             	ret    $0xc
416289:	83 e8 01             	sub    $0x1,%eax
41628c:	0f 85 ee e2 00 00    	jne    0x424580
416292:	8b 45 0c             	mov    0xc(%ebp),%eax
416295:	8b 78 10             	mov    0x10(%eax),%edi
416298:	83 ff 01             	cmp    $0x1,%edi
41629b:	89 7d fc             	mov    %edi,-0x4(%ebp)
41629e:	8b 7d 08             	mov    0x8(%ebp),%edi
4162a1:	0f 85 83 00 00 00    	jne    0x41632a
4162a7:	8b 42 08             	mov    0x8(%edx),%eax
4162aa:	8b 70 04             	mov    0x4(%eax),%esi
4162ad:	8b 42 0c             	mov    0xc(%edx),%eax
4162b0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4162b3:	85 c0                	test   %eax,%eax
4162b5:	0f 85 04 01 00 00    	jne    0x4163bf
4162bb:	89 31                	mov    %esi,(%ecx)
4162bd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4162c0:	89 72 0c             	mov    %esi,0xc(%edx)
4162c3:	89 71 0c             	mov    %esi,0xc(%ecx)
4162c6:	8b 46 04             	mov    0x4(%esi),%eax
4162c9:	85 c0                	test   %eax,%eax
4162cb:	0f 85 ce e2 00 00    	jne    0x42459f
4162d1:	8b 46 08             	mov    0x8(%esi),%eax
4162d4:	85 c0                	test   %eax,%eax
4162d6:	74 03                	je     0x4162db
4162d8:	89 48 0c             	mov    %ecx,0xc(%eax)
4162db:	8b 46 04             	mov    0x4(%esi),%eax
4162de:	89 42 08             	mov    %eax,0x8(%edx)
4162e1:	8b 46 08             	mov    0x8(%esi),%eax
4162e4:	89 41 04             	mov    %eax,0x4(%ecx)
4162e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4162ea:	89 46 0c             	mov    %eax,0xc(%esi)
4162ed:	8b 46 10             	mov    0x10(%esi),%eax
4162f0:	89 56 04             	mov    %edx,0x4(%esi)
4162f3:	89 4e 08             	mov    %ecx,0x8(%esi)
4162f6:	85 c0                	test   %eax,%eax
4162f8:	74 7b                	je     0x416375
4162fa:	83 e8 01             	sub    $0x1,%eax
4162fd:	0f 84 ae e2 00 00    	je     0x4245b1
416303:	83 e8 01             	sub    $0x1,%eax
416306:	0f 85 9b e2 00 00    	jne    0x4245a7
41630c:	89 59 10             	mov    %ebx,0x10(%ecx)
41630f:	c7 42 10 01 00 00 00 	movl   $0x1,0x10(%edx)
416316:	89 37                	mov    %esi,(%edi)
416318:	8b c3                	mov    %ebx,%eax
41631a:	5f                   	pop    %edi
41631b:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
416322:	5e                   	pop    %esi
416323:	5b                   	pop    %ebx
416324:	8b e5                	mov    %ebp,%esp
416326:	5d                   	pop    %ebp
416327:	c2 0c 00             	ret    $0xc
41632a:	29 5d fc             	sub    %ebx,-0x4(%ebp)
41632d:	75 4e                	jne    0x41637d
41632f:	88 1e                	mov    %bl,(%esi)
416331:	8b 72 0c             	mov    0xc(%edx),%esi
416334:	85 f6                	test   %esi,%esi
416336:	0f 85 4e e2 00 00    	jne    0x42458a
41633c:	89 01                	mov    %eax,(%ecx)
41633e:	8b 48 04             	mov    0x4(%eax),%ecx
416341:	85 c9                	test   %ecx,%ecx
416343:	74 03                	je     0x416348
416345:	89 51 0c             	mov    %edx,0xc(%ecx)
416348:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41634b:	c7 42 10 02 00 00 00 	movl   $0x2,0x10(%edx)
416352:	8b 40 04             	mov    0x4(%eax),%eax
416355:	89 42 08             	mov    %eax,0x8(%edx)
416358:	8b c3                	mov    %ebx,%eax
41635a:	89 4a 0c             	mov    %ecx,0xc(%edx)
41635d:	89 0f                	mov    %ecx,(%edi)
41635f:	5f                   	pop    %edi
416360:	89 71 0c             	mov    %esi,0xc(%ecx)
416363:	5e                   	pop    %esi
416364:	c7 41 10 01 00 00 00 	movl   $0x1,0x10(%ecx)
41636b:	89 51 04             	mov    %edx,0x4(%ecx)
41636e:	5b                   	pop    %ebx
41636f:	8b e5                	mov    %ebp,%esp
416371:	5d                   	pop    %ebp
416372:	c2 0c 00             	ret    $0xc
416375:	89 59 10             	mov    %ebx,0x10(%ecx)
416378:	89 5a 10             	mov    %ebx,0x10(%edx)
41637b:	eb 99                	jmp    0x416316
41637d:	83 6d fc 02          	subl   $0x2,-0x4(%ebp)
416381:	0f 85 f9 e1 00 00    	jne    0x424580
416387:	8b 72 0c             	mov    0xc(%edx),%esi
41638a:	85 f6                	test   %esi,%esi
41638c:	74 43                	je     0x4163d1
41638e:	39 56 04             	cmp    %edx,0x4(%esi)
416391:	74 39                	je     0x4163cc
416393:	89 46 08             	mov    %eax,0x8(%esi)
416396:	8b 48 04             	mov    0x4(%eax),%ecx
416399:	85 c9                	test   %ecx,%ecx
41639b:	75 38                	jne    0x4163d5
41639d:	89 5a 10             	mov    %ebx,0x10(%edx)
4163a0:	8b 48 04             	mov    0x4(%eax),%ecx
4163a3:	89 4a 08             	mov    %ecx,0x8(%edx)
4163a6:	89 42 0c             	mov    %eax,0xc(%edx)
4163a9:	89 07                	mov    %eax,(%edi)
4163ab:	5f                   	pop    %edi
4163ac:	89 70 0c             	mov    %esi,0xc(%eax)
4163af:	89 58 10             	mov    %ebx,0x10(%eax)
4163b2:	89 50 04             	mov    %edx,0x4(%eax)
4163b5:	8b c3                	mov    %ebx,%eax
4163b7:	5e                   	pop    %esi
4163b8:	5b                   	pop    %ebx
4163b9:	8b e5                	mov    %ebp,%esp
4163bb:	5d                   	pop    %ebp
4163bc:	c2 0c 00             	ret    $0xc
4163bf:	39 50 04             	cmp    %edx,0x4(%eax)
4163c2:	74 16                	je     0x4163da
4163c4:	89 70 08             	mov    %esi,0x8(%eax)
4163c7:	e9 f1 fe ff ff       	jmp    0x4162bd
4163cc:	89 46 04             	mov    %eax,0x4(%esi)
4163cf:	eb c5                	jmp    0x416396
4163d1:	89 01                	mov    %eax,(%ecx)
4163d3:	eb c1                	jmp    0x416396
4163d5:	89 51 0c             	mov    %edx,0xc(%ecx)
4163d8:	eb c3                	jmp    0x41639d
4163da:	89 70 04             	mov    %esi,0x4(%eax)
4163dd:	e9 db fe ff ff       	jmp    0x4162bd
4163e2:	8b ff                	mov    %edi,%edi
4163e4:	55                   	push   %ebp
4163e5:	8b ec                	mov    %esp,%ebp
4163e7:	51                   	push   %ecx
4163e8:	53                   	push   %ebx
4163e9:	57                   	push   %edi
4163ea:	8b 7d 10             	mov    0x10(%ebp),%edi
4163ed:	33 db                	xor    %ebx,%ebx
4163ef:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4163f2:	38 1f                	cmp    %bl,(%edi)
4163f4:	0f 84 a1 00 00 00    	je     0x41649b
4163fa:	56                   	push   %esi
4163fb:	8b 75 08             	mov    0x8(%ebp),%esi
4163fe:	8b 16                	mov    (%esi),%edx
416400:	8b 42 10             	mov    0x10(%edx),%eax
416403:	2b c3                	sub    %ebx,%eax
416405:	0f 84 a4 00 00 00    	je     0x4164af
41640b:	83 e8 01             	sub    $0x1,%eax
41640e:	0f 85 8f 00 00 00    	jne    0x4164a3
416414:	8b 55 0c             	mov    0xc(%ebp),%edx
416417:	88 1f                	mov    %bl,(%edi)
416419:	8b 42 10             	mov    0x10(%edx),%eax
41641c:	2b c3                	sub    %ebx,%eax
41641e:	74 7a                	je     0x41649a
416420:	83 e8 01             	sub    $0x1,%eax
416423:	0f 84 85 ed 00 00    	je     0x4251ae
416429:	83 e8 01             	sub    $0x1,%eax
41642c:	0f 85 b9 00 00 00    	jne    0x4164eb
416432:	8b 3e                	mov    (%esi),%edi
416434:	8b 47 04             	mov    0x4(%edi),%eax
416437:	8b 7f 0c             	mov    0xc(%edi),%edi
41643a:	8b 48 08             	mov    0x8(%eax),%ecx
41643d:	85 ff                	test   %edi,%edi
41643f:	74 7c                	je     0x4164bd
416441:	8b 06                	mov    (%esi),%eax
416443:	39 47 04             	cmp    %eax,0x4(%edi)
416446:	74 70                	je     0x4164b8
416448:	89 4f 08             	mov    %ecx,0x8(%edi)
41644b:	8b 06                	mov    (%esi),%eax
41644d:	89 48 0c             	mov    %ecx,0xc(%eax)
416450:	89 4a 0c             	mov    %ecx,0xc(%edx)
416453:	8b 41 04             	mov    0x4(%ecx),%eax
416456:	85 c0                	test   %eax,%eax
416458:	0f 85 37 ed 00 00    	jne    0x425195
41645e:	8b 41 08             	mov    0x8(%ecx),%eax
416461:	89 45 fc             	mov    %eax,-0x4(%ebp)
416464:	85 c0                	test   %eax,%eax
416466:	75 5c                	jne    0x4164c4
416468:	8b 06                	mov    (%esi),%eax
41646a:	8b 55 fc             	mov    -0x4(%ebp),%edx
41646d:	89 50 04             	mov    %edx,0x4(%eax)
416470:	8b 55 0c             	mov    0xc(%ebp),%edx
416473:	8b 41 04             	mov    0x4(%ecx),%eax
416476:	89 42 08             	mov    %eax,0x8(%edx)
416479:	89 51 04             	mov    %edx,0x4(%ecx)
41647c:	8b 06                	mov    (%esi),%eax
41647e:	89 41 08             	mov    %eax,0x8(%ecx)
416481:	8b 41 10             	mov    0x10(%ecx),%eax
416484:	89 79 0c             	mov    %edi,0xc(%ecx)
416487:	83 e8 00             	sub    $0x0,%eax
41648a:	75 48                	jne    0x4164d4
41648c:	21 5a 10             	and    %ebx,0x10(%edx)
41648f:	8b 06                	mov    (%esi),%eax
416491:	21 58 10             	and    %ebx,0x10(%eax)
416494:	83 61 10 00          	andl   $0x0,0x10(%ecx)
416498:	89 0e                	mov    %ecx,(%esi)
41649a:	5e                   	pop    %esi
41649b:	5f                   	pop    %edi
41649c:	8b c3                	mov    %ebx,%eax
41649e:	5b                   	pop    %ebx
41649f:	c9                   	leave
4164a0:	c2 0c 00             	ret    $0xc
4164a3:	83 e8 01             	sub    $0x1,%eax
4164a6:	75 43                	jne    0x4164eb
4164a8:	21 5a 10             	and    %ebx,0x10(%edx)
4164ab:	88 1f                	mov    %bl,(%edi)
4164ad:	eb eb                	jmp    0x41649a
4164af:	c7 42 10 01 00 00 00 	movl   $0x1,0x10(%edx)
4164b6:	eb e2                	jmp    0x41649a
4164b8:	89 4f 04             	mov    %ecx,0x4(%edi)
4164bb:	eb 8e                	jmp    0x41644b
4164bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4164c0:	89 08                	mov    %ecx,(%eax)
4164c2:	eb 87                	jmp    0x41644b
4164c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
4164c7:	8b 06                	mov    (%esi),%eax
4164c9:	89 42 0c             	mov    %eax,0xc(%edx)
4164cc:	8b 41 08             	mov    0x8(%ecx),%eax
4164cf:	89 45 fc             	mov    %eax,-0x4(%ebp)
4164d2:	eb 94                	jmp    0x416468
4164d4:	83 e8 01             	sub    $0x1,%eax
4164d7:	0f 84 c0 ec 00 00    	je     0x42519d
4164dd:	83 e8 01             	sub    $0x1,%eax
4164e0:	75 10                	jne    0x4164f2
4164e2:	c7 42 10 01 00 00 00 	movl   $0x1,0x10(%edx)
4164e9:	eb a4                	jmp    0x41648f
4164eb:	bb 07 00 00 80       	mov    $0x80000007,%ebx
4164f0:	eb a8                	jmp    0x41649a
4164f2:	bb 07 00 00 80       	mov    $0x80000007,%ebx
4164f7:	eb 9b                	jmp    0x416494
4164f9:	8b ff                	mov    %edi,%edi
4164fb:	55                   	push   %ebp
4164fc:	8b ec                	mov    %esp,%ebp
4164fe:	51                   	push   %ecx
4164ff:	51                   	push   %ecx
416500:	53                   	push   %ebx
416501:	57                   	push   %edi
416502:	8b 7d 10             	mov    0x10(%ebp),%edi
416505:	33 db                	xor    %ebx,%ebx
416507:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41650a:	38 1f                	cmp    %bl,(%edi)
41650c:	74 15                	je     0x416523
41650e:	56                   	push   %esi
41650f:	8b 75 08             	mov    0x8(%ebp),%esi
416512:	8b 16                	mov    (%esi),%edx
416514:	8b 42 10             	mov    0x10(%edx),%eax
416517:	2b c3                	sub    %ebx,%eax
416519:	75 10                	jne    0x41652b
41651b:	c7 42 10 02 00 00 00 	movl   $0x2,0x10(%edx)
416522:	5e                   	pop    %esi
416523:	5f                   	pop    %edi
416524:	8b c3                	mov    %ebx,%eax
416526:	5b                   	pop    %ebx
416527:	c9                   	leave
416528:	c2 0c 00             	ret    $0xc
41652b:	83 e8 01             	sub    $0x1,%eax
41652e:	0f 84 9a 00 00 00    	je     0x4165ce
416534:	83 e8 01             	sub    $0x1,%eax
416537:	0f 85 bb ec 00 00    	jne    0x4251f8
41653d:	8b 55 0c             	mov    0xc(%ebp),%edx
416540:	88 1f                	mov    %bl,(%edi)
416542:	8b 42 10             	mov    0x10(%edx),%eax
416545:	83 e8 00             	sub    $0x0,%eax
416548:	74 d8                	je     0x416522
41654a:	83 e8 01             	sub    $0x1,%eax
41654d:	0f 85 85 00 00 00    	jne    0x4165d8
416553:	8b 0e                	mov    (%esi),%ecx
416555:	8b 41 08             	mov    0x8(%ecx),%eax
416558:	8b 78 04             	mov    0x4(%eax),%edi
41655b:	8b 41 0c             	mov    0xc(%ecx),%eax
41655e:	89 45 f8             	mov    %eax,-0x8(%ebp)
416561:	85 c0                	test   %eax,%eax
416563:	0f 84 b7 00 00 00    	je     0x416620
416569:	39 48 04             	cmp    %ecx,0x4(%eax)
41656c:	0f 84 a5 ec 00 00    	je     0x425217
416572:	89 78 08             	mov    %edi,0x8(%eax)
416575:	8b 06                	mov    (%esi),%eax
416577:	89 78 0c             	mov    %edi,0xc(%eax)
41657a:	89 7a 0c             	mov    %edi,0xc(%edx)
41657d:	8b 47 08             	mov    0x8(%edi),%eax
416580:	85 c0                	test   %eax,%eax
416582:	0f 85 97 ec 00 00    	jne    0x42521f
416588:	8b 4f 04             	mov    0x4(%edi),%ecx
41658b:	85 c9                	test   %ecx,%ecx
41658d:	0f 85 94 ec 00 00    	jne    0x425227
416593:	8b 47 08             	mov    0x8(%edi),%eax
416596:	89 42 04             	mov    %eax,0x4(%edx)
416599:	8b 0e                	mov    (%esi),%ecx
41659b:	8b 47 04             	mov    0x4(%edi),%eax
41659e:	89 41 08             	mov    %eax,0x8(%ecx)
4165a1:	33 c9                	xor    %ecx,%ecx
4165a3:	89 57 08             	mov    %edx,0x8(%edi)
4165a6:	8b 06                	mov    (%esi),%eax
4165a8:	89 47 04             	mov    %eax,0x4(%edi)
4165ab:	8b 45 f8             	mov    -0x8(%ebp),%eax
4165ae:	89 47 0c             	mov    %eax,0xc(%edi)
4165b1:	8b 47 10             	mov    0x10(%edi),%eax
4165b4:	2b c1                	sub    %ecx,%eax
4165b6:	0f 85 75 ec 00 00    	jne    0x425231
4165bc:	89 4a 10             	mov    %ecx,0x10(%edx)
4165bf:	8b 06                	mov    (%esi),%eax
4165c1:	89 48 10             	mov    %ecx,0x10(%eax)
4165c4:	89 4f 10             	mov    %ecx,0x10(%edi)
4165c7:	89 3e                	mov    %edi,(%esi)
4165c9:	e9 54 ff ff ff       	jmp    0x416522
4165ce:	21 5a 10             	and    %ebx,0x10(%edx)
4165d1:	88 1f                	mov    %bl,(%edi)
4165d3:	e9 4a ff ff ff       	jmp    0x416522
4165d8:	83 e8 01             	sub    $0x1,%eax