421204:	33 d2                	xor    %edx,%edx
421206:	57                   	push   %edi
421207:	42                   	inc    %edx
421208:	33 ff                	xor    %edi,%edi
42120a:	85 f6                	test   %esi,%esi
42120c:	78 4e                	js     0x42125c
42120e:	53                   	push   %ebx
42120f:	85 d2                	test   %edx,%edx
421211:	74 48                	je     0x42125b
421213:	8d 04 37             	lea    (%edi,%esi,1),%eax
421216:	99                   	cltd
421217:	2b c2                	sub    %edx,%eax
421219:	8b d8                	mov    %eax,%ebx
42121b:	8b 45 08             	mov    0x8(%ebp),%eax
42121e:	d1 fb                	sar    $1,%ebx
421220:	6b cb 0c             	imul   $0xc,%ebx,%ecx
421223:	89 4d fc             	mov    %ecx,-0x4(%ebp)
421226:	ff 34 01             	push   (%ecx,%eax,1)
421229:	8b 45 10             	mov    0x10(%ebp),%eax
42122c:	ff 30                	push   (%eax)
42122e:	e8 89 d4 ff ff       	call   0x41e6bc
421233:	8b d0                	mov    %eax,%edx
421235:	59                   	pop    %ecx
421236:	59                   	pop    %ecx
421237:	85 d2                	test   %edx,%edx
421239:	75 12                	jne    0x42124d
42123b:	8b 45 08             	mov    0x8(%ebp),%eax
42123e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421241:	83 c0 04             	add    $0x4,%eax
421244:	03 c8                	add    %eax,%ecx
421246:	8b 45 10             	mov    0x10(%ebp),%eax
421249:	89 08                	mov    %ecx,(%eax)
42124b:	eb 0a                	jmp    0x421257
42124d:	79 05                	jns    0x421254
42124f:	8d 73 ff             	lea    -0x1(%ebx),%esi
421252:	eb 03                	jmp    0x421257
421254:	8d 7b 01             	lea    0x1(%ebx),%edi
421257:	3b fe                	cmp    %esi,%edi
421259:	7e b4                	jle    0x42120f
42125b:	5b                   	pop    %ebx
42125c:	33 c0                	xor    %eax,%eax
42125e:	85 d2                	test   %edx,%edx
421260:	5f                   	pop    %edi
421261:	0f 94 c0             	sete   %al
421264:	5e                   	pop    %esi
421265:	8b e5                	mov    %ebp,%esp
421267:	5d                   	pop    %ebp
421268:	c3                   	ret
421269:	8b ff                	mov    %edi,%edi
42126b:	55                   	push   %ebp
42126c:	8b ec                	mov    %esp,%ebp
42126e:	51                   	push   %ecx
42126f:	51                   	push   %ecx
421270:	53                   	push   %ebx
421271:	56                   	push   %esi
421272:	57                   	push   %edi
421273:	e8 e4 78 ff ff       	call   0x418b5c
421278:	8b 5d 08             	mov    0x8(%ebp),%ebx
42127b:	33 c9                	xor    %ecx,%ecx
42127d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
421280:	8d 70 50             	lea    0x50(%eax),%esi
421283:	8d 86 50 02 00 00    	lea    0x250(%esi),%eax
421289:	89 4e 08             	mov    %ecx,0x8(%esi)
42128c:	66 89 08             	mov    %cx,(%eax)
42128f:	8d 7e 04             	lea    0x4(%esi),%edi
421292:	89 45 fc             	mov    %eax,-0x4(%ebp)
421295:	8d 83 80 00 00 00    	lea    0x80(%ebx),%eax
42129b:	89 1e                	mov    %ebx,(%esi)
42129d:	89 07                	mov    %eax,(%edi)
42129f:	66 39 08             	cmp    %cx,(%eax)
4212a2:	74 12                	je     0x4212b6
4212a4:	57                   	push   %edi
4212a5:	6a 16                	push   $0x16
4212a7:	68 a0 e5 42 00       	push   $0x42e5a0
4212ac:	e8 49 ff ff ff       	call   0x4211fa
4212b1:	83 c4 0c             	add    $0xc,%esp
4212b4:	33 c9                	xor    %ecx,%ecx
4212b6:	8b 06                	mov    (%esi),%eax
4212b8:	56                   	push   %esi
4212b9:	66 39 08             	cmp    %cx,(%eax)
4212bc:	74 47                	je     0x421305
4212be:	8b 07                	mov    (%edi),%eax
4212c0:	66 39 08             	cmp    %cx,(%eax)
4212c3:	74 07                	je     0x4212cc
4212c5:	e8 2a f9 ff ff       	call   0x420bf4
4212ca:	eb 05                	jmp    0x4212d1
4212cc:	e8 bd f9 ff ff       	call   0x420c8e
4212d1:	33 c0                	xor    %eax,%eax
4212d3:	59                   	pop    %ecx
4212d4:	39 46 08             	cmp    %eax,0x8(%esi)
4212d7:	75 32                	jne    0x42130b
4212d9:	56                   	push   %esi
4212da:	6a 40                	push   $0x40
4212dc:	68 90 e2 42 00       	push   $0x42e290
4212e1:	e8 14 ff ff ff       	call   0x4211fa
4212e6:	83 c4 0c             	add    $0xc,%esp
4212e9:	85 c0                	test   %eax,%eax
4212eb:	74 1e                	je     0x42130b
4212ed:	8b 07                	mov    (%edi),%eax
4212ef:	33 c9                	xor    %ecx,%ecx
4212f1:	56                   	push   %esi
4212f2:	66 39 08             	cmp    %cx,(%eax)
4212f5:	74 07                	je     0x4212fe
4212f7:	e8 f8 f8 ff ff       	call   0x420bf4
4212fc:	eb 0c                	jmp    0x42130a
4212fe:	e8 8b f9 ff ff       	call   0x420c8e
421303:	eb 05                	jmp    0x42130a
421305:	e8 61 f8 ff ff       	call   0x420b6b
42130a:	59                   	pop    %ecx
42130b:	33 ff                	xor    %edi,%edi
42130d:	39 7e 08             	cmp    %edi,0x8(%esi)
421310:	0f 84 0c 01 00 00    	je     0x421422
421316:	8d 83 00 01 00 00    	lea    0x100(%ebx),%eax
42131c:	56                   	push   %esi
42131d:	50                   	push   %eax
42131e:	e8 a5 fd ff ff       	call   0x4210c8
421323:	8b f0                	mov    %eax,%esi
421325:	59                   	pop    %ecx
421326:	59                   	pop    %ecx
421327:	85 f6                	test   %esi,%esi
421329:	0f 84 f3 00 00 00    	je     0x421422
42132f:	81 fe e8 fd 00 00    	cmp    $0xfde8,%esi
421335:	0f 84 e7 00 00 00    	je     0x421422
42133b:	81 fe e9 fd 00 00    	cmp    $0xfde9,%esi
421341:	0f 84 db 00 00 00    	je     0x421422
421347:	0f b7 c6             	movzwl %si,%eax
42134a:	50                   	push   %eax
42134b:	ff 15 10 72 42 00    	call   *0x427210
421351:	85 c0                	test   %eax,%eax
421353:	0f 84 c9 00 00 00    	je     0x421422
421359:	8b 45 0c             	mov    0xc(%ebp),%eax
42135c:	85 c0                	test   %eax,%eax
42135e:	74 02                	je     0x421362
421360:	89 30                	mov    %esi,(%eax)
421362:	8b 7d 10             	mov    0x10(%ebp),%edi
421365:	85 ff                	test   %edi,%edi
421367:	0f 84 b0 00 00 00    	je     0x42141d
42136d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421370:	8d 9f 20 01 00 00    	lea    0x120(%edi),%ebx
421376:	33 c0                	xor    %eax,%eax
421378:	66 89 03             	mov    %ax,(%ebx)
42137b:	8d 51 02             	lea    0x2(%ecx),%edx
42137e:	66 8b 01             	mov    (%ecx),%ax
421381:	83 c1 02             	add    $0x2,%ecx
421384:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
421388:	75 f4                	jne    0x42137e
42138a:	2b ca                	sub    %edx,%ecx
42138c:	d1 f9                	sar    $1,%ecx
42138e:	8d 41 01             	lea    0x1(%ecx),%eax
421391:	50                   	push   %eax
421392:	ff 75 fc             	push   -0x4(%ebp)
421395:	6a 55                	push   $0x55
421397:	53                   	push   %ebx
421398:	e8 80 e5 ff ff       	call   0x41f91d
42139d:	83 c4 10             	add    $0x10,%esp
4213a0:	85 c0                	test   %eax,%eax
4213a2:	0f 85 83 00 00 00    	jne    0x42142b
4213a8:	6a 40                	push   $0x40
4213aa:	57                   	push   %edi
4213ab:	68 01 10 00 00       	push   $0x1001
4213b0:	53                   	push   %ebx
4213b1:	e8 ff 7c ff ff       	call   0x4190b5
4213b6:	85 c0                	test   %eax,%eax
4213b8:	74 68                	je     0x421422
4213ba:	6a 40                	push   $0x40
4213bc:	8d 9f 80 00 00 00    	lea    0x80(%edi),%ebx
4213c2:	53                   	push   %ebx
4213c3:	68 02 10 00 00       	push   $0x1002
4213c8:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
4213ce:	50                   	push   %eax
4213cf:	e8 e1 7c ff ff       	call   0x4190b5
4213d4:	85 c0                	test   %eax,%eax
4213d6:	74 4a                	je     0x421422
4213d8:	6a 5f                	push   $0x5f
4213da:	53                   	push   %ebx
4213db:	e8 9b 54 00 00       	call   0x42687b
4213e0:	59                   	pop    %ecx
4213e1:	59                   	pop    %ecx
4213e2:	85 c0                	test   %eax,%eax
4213e4:	75 0e                	jne    0x4213f4
4213e6:	6a 2e                	push   $0x2e
4213e8:	53                   	push   %ebx
4213e9:	e8 8d 54 00 00       	call   0x42687b
4213ee:	59                   	pop    %ecx
4213ef:	59                   	pop    %ecx
4213f0:	85 c0                	test   %eax,%eax
4213f2:	74 15                	je     0x421409
4213f4:	6a 40                	push   $0x40
4213f6:	53                   	push   %ebx
4213f7:	6a 07                	push   $0x7
4213f9:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
4213ff:	50                   	push   %eax
421400:	e8 b0 7c ff ff       	call   0x4190b5
421405:	85 c0                	test   %eax,%eax
421407:	74 19                	je     0x421422
421409:	6a 0a                	push   $0xa
42140b:	6a 10                	push   $0x10
42140d:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
421413:	50                   	push   %eax
421414:	56                   	push   %esi
421415:	e8 49 42 00 00       	call   0x425663
42141a:	83 c4 10             	add    $0x10,%esp
42141d:	33 c0                	xor    %eax,%eax
42141f:	40                   	inc    %eax
421420:	eb 02                	jmp    0x421424
421422:	33 c0                	xor    %eax,%eax
421424:	5f                   	pop    %edi
421425:	5e                   	pop    %esi
421426:	5b                   	pop    %ebx
421427:	8b e5                	mov    %ebp,%esp
421429:	5d                   	pop    %ebp
42142a:	c3                   	ret
42142b:	33 c0                	xor    %eax,%eax
42142d:	50                   	push   %eax
42142e:	50                   	push   %eax
42142f:	50                   	push   %eax
421430:	50                   	push   %eax
421431:	50                   	push   %eax
421432:	e8 d8 a8 fe ff       	call   0x40bd0f
421437:	cc                   	int3
421438:	8b ff                	mov    %edi,%edi
42143a:	55                   	push   %ebp
42143b:	8b ec                	mov    %esp,%ebp
42143d:	81 ec f4 00 00 00    	sub    $0xf4,%esp
421443:	a1 28 ba 43 00       	mov    0x43ba28,%eax
421448:	33 c5                	xor    %ebp,%eax
42144a:	89 45 fc             	mov    %eax,-0x4(%ebp)
42144d:	53                   	push   %ebx
42144e:	56                   	push   %esi
42144f:	8b 75 08             	mov    0x8(%ebp),%esi
421452:	57                   	push   %edi
421453:	e8 04 77 ff ff       	call   0x418b5c
421458:	8b d8                	mov    %eax,%ebx
42145a:	e8 fd 76 ff ff       	call   0x418b5c
42145f:	56                   	push   %esi
421460:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
421466:	e8 11 05 00 00       	call   0x42197c
42146b:	59                   	pop    %ecx
42146c:	8b 4b 64             	mov    0x64(%ebx),%ecx
42146f:	8b f0                	mov    %eax,%esi
421471:	f7 d9                	neg    %ecx
421473:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
421479:	6a 78                	push   $0x78
42147b:	1b c9                	sbb    %ecx,%ecx
42147d:	81 e1 05 f0 ff ff    	and    $0xfffff005,%ecx
421483:	50                   	push   %eax
421484:	81 c1 02 10 00 00    	add    $0x1002,%ecx
42148a:	51                   	push   %ecx
42148b:	56                   	push   %esi
42148c:	ff 15 78 71 42 00    	call   *0x427178
421492:	85 c0                	test   %eax,%eax
421494:	75 05                	jne    0x42149b
421496:	21 07                	and    %eax,(%edi)
421498:	40                   	inc    %eax
421499:	eb 33                	jmp    0x4214ce
42149b:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4214a1:	50                   	push   %eax
4214a2:	ff 73 54             	push   0x54(%ebx)
4214a5:	e8 12 d2 ff ff       	call   0x41e6bc
4214aa:	59                   	pop    %ecx
4214ab:	59                   	pop    %ecx
4214ac:	85 c0                	test   %eax,%eax
4214ae:	75 14                	jne    0x4214c4
4214b0:	56                   	push   %esi
4214b1:	e8 fa 05 00 00       	call   0x421ab0
4214b6:	59                   	pop    %ecx
4214b7:	85 c0                	test   %eax,%eax
4214b9:	74 09                	je     0x4214c4
4214bb:	83 0f 04             	orl    $0x4,(%edi)
4214be:	89 77 08             	mov    %esi,0x8(%edi)
4214c1:	89 77 04             	mov    %esi,0x4(%edi)
4214c4:	8b 07                	mov    (%edi),%eax
4214c6:	c1 e8 02             	shr    $0x2,%eax
4214c9:	f7 d0                	not    %eax
4214cb:	83 e0 01             	and    $0x1,%eax
4214ce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4214d1:	5f                   	pop    %edi
4214d2:	5e                   	pop    %esi
4214d3:	33 cd                	xor    %ebp,%ecx
4214d5:	5b                   	pop    %ebx
4214d6:	e8 85 5b fe ff       	call   0x407060
4214db:	8b e5                	mov    %ebp,%esp
4214dd:	5d                   	pop    %ebp
4214de:	c2 04 00             	ret    $0x4
4214e1:	8b ff                	mov    %edi,%edi
4214e3:	55                   	push   %ebp
4214e4:	8b ec                	mov    %esp,%ebp
4214e6:	56                   	push   %esi
4214e7:	57                   	push   %edi
4214e8:	e8 6f 76 ff ff       	call   0x418b5c
4214ed:	8b d0                	mov    %eax,%edx
4214ef:	33 ff                	xor    %edi,%edi
4214f1:	8b 4a 54             	mov    0x54(%edx),%ecx
4214f4:	8d 71 02             	lea    0x2(%ecx),%esi
4214f7:	66 8b 01             	mov    (%ecx),%ax
4214fa:	83 c1 02             	add    $0x2,%ecx
4214fd:	66 3b c7             	cmp    %di,%ax
421500:	75 f5                	jne    0x4214f7
421502:	2b ce                	sub    %esi,%ecx
421504:	33 c0                	xor    %eax,%eax
421506:	d1 f9                	sar    $1,%ecx
421508:	83 f9 03             	cmp    $0x3,%ecx
42150b:	6a 01                	push   $0x1
42150d:	0f 94 c0             	sete   %al
421510:	68 38 14 42 00       	push   $0x421438
421515:	89 42 64             	mov    %eax,0x64(%edx)
421518:	ff 15 f8 71 42 00    	call   *0x4271f8
42151e:	8b 45 08             	mov    0x8(%ebp),%eax
421521:	f6 00 04             	testb  $0x4,(%eax)
421524:	75 02                	jne    0x421528
421526:	89 38                	mov    %edi,(%eax)
421528:	5f                   	pop    %edi
421529:	5e                   	pop    %esi
42152a:	5d                   	pop    %ebp
42152b:	c3                   	ret
42152c:	8b ff                	mov    %edi,%edi
42152e:	55                   	push   %ebp
42152f:	8b ec                	mov    %esp,%ebp
421531:	53                   	push   %ebx
421532:	56                   	push   %esi
421533:	57                   	push   %edi
421534:	e8 23 76 ff ff       	call   0x418b5c
421539:	8b f0                	mov    %eax,%esi
42153b:	33 db                	xor    %ebx,%ebx
42153d:	6a 02                	push   $0x2
42153f:	5a                   	pop    %edx
421540:	8b 4e 50             	mov    0x50(%esi),%ecx
421543:	8d 79 02             	lea    0x2(%ecx),%edi
421546:	66 8b 01             	mov    (%ecx),%ax
421549:	03 ca                	add    %edx,%ecx
42154b:	66 3b c3             	cmp    %bx,%ax
42154e:	75 f6                	jne    0x421546
421550:	2b cf                	sub    %edi,%ecx
421552:	33 c0                	xor    %eax,%eax
421554:	d1 f9                	sar    $1,%ecx
421556:	83 f9 03             	cmp    $0x3,%ecx
421559:	8b 4e 54             	mov    0x54(%esi),%ecx
42155c:	0f 94 c0             	sete   %al
42155f:	89 46 60             	mov    %eax,0x60(%esi)
421562:	8d 79 02             	lea    0x2(%ecx),%edi
421565:	66 8b 01             	mov    (%ecx),%ax
421568:	03 ca                	add    %edx,%ecx
42156a:	66 3b c3             	cmp    %bx,%ax
42156d:	75 f6                	jne    0x421565
42156f:	2b cf                	sub    %edi,%ecx
421571:	33 c0                	xor    %eax,%eax
421573:	8b 7d 08             	mov    0x8(%ebp),%edi
421576:	d1 f9                	sar    $1,%ecx
421578:	83 f9 03             	cmp    $0x3,%ecx
42157b:	0f 94 c0             	sete   %al