4121bf:	8d 45 fc             	lea    -0x4(%ebp),%eax
4121c2:	8b cf                	mov    %edi,%ecx
4121c4:	50                   	push   %eax
4121c5:	8d 45 ec             	lea    -0x14(%ebp),%eax
4121c8:	50                   	push   %eax
4121c9:	e8 04 35 ff ff       	call   0x4056d2
4121ce:	84 c0                	test   %al,%al
4121d0:	0f 84 a1 48 03 00    	je     0x446a77
4121d6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4121d9:	8d 45 ec             	lea    -0x14(%ebp),%eax
4121dc:	50                   	push   %eax
4121dd:	e8 ba 79 ff ff       	call   0x409b9c
4121e2:	8b 03                	mov    (%ebx),%eax
4121e4:	6a 00                	push   $0x0
4121e6:	ff 75 fc             	push   -0x4(%ebp)
4121e9:	8b 48 04             	mov    0x4(%eax),%ecx
4121ec:	03 cb                	add    %ebx,%ecx
4121ee:	e8 6e dd 00 00       	call   0x41ff61
4121f3:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4121f6:	e8 69 38 ff ff       	call   0x405a64
4121fb:	8b 45 08             	mov    0x8(%ebp),%eax
4121fe:	8b 40 04             	mov    0x4(%eax),%eax
412201:	8b 00                	mov    (%eax),%eax
412203:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
412207:	75 13                	jne    0x41221c
412209:	8b cf                	mov    %edi,%ecx
41220b:	e8 bf 3b ff ff       	call   0x405dcf
412210:	85 ff                	test   %edi,%edi
412212:	74 08                	je     0x41221c
412214:	51                   	push   %ecx
412215:	8b cf                	mov    %edi,%ecx
412217:	e8 fe 37 ff ff       	call   0x405a1a
41221c:	5f                   	pop    %edi
41221d:	5e                   	pop    %esi
41221e:	33 c0                	xor    %eax,%eax
412220:	5b                   	pop    %ebx
412221:	8b e5                	mov    %ebp,%esp
412223:	5d                   	pop    %ebp
412224:	c2 08 00             	ret    $0x8
412227:	33 ff                	xor    %edi,%edi
412229:	e9 38 ff ff ff       	jmp    0x412166
41222e:	55                   	push   %ebp
41222f:	8b ec                	mov    %esp,%ebp
412231:	83 e4 f8             	and    $0xfffffff8,%esp
412234:	83 ec 1c             	sub    $0x1c,%esp
412237:	53                   	push   %ebx
412238:	56                   	push   %esi
412239:	57                   	push   %edi
41223a:	8b d9                	mov    %ecx,%ebx
41223c:	33 c0                	xor    %eax,%eax
41223e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412241:	68 10 f9 48 00       	push   $0x48f910
412246:	89 44 24 14          	mov    %eax,0x14(%esp)
41224a:	e8 a9 79 ff ff       	call   0x409bf8
41224f:	8b 7d 08             	mov    0x8(%ebp),%edi
412252:	83 7f 08 02          	cmpl   $0x2,0x8(%edi)
412256:	75 22                	jne    0x41227a
412258:	8b 47 04             	mov    0x4(%edi),%eax
41225b:	8b 48 04             	mov    0x4(%eax),%ecx
41225e:	e8 39 7a ff ff       	call   0x409c9c
412263:	8b f0                	mov    %eax,%esi
412265:	89 74 24 10          	mov    %esi,0x10(%esp)
412269:	83 fe ff             	cmp    $0xffffffff,%esi
41226c:	0f 84 1a 48 03 00    	je     0x446a8c
412272:	85 f6                	test   %esi,%esi
412274:	0f 8e 28 48 03 00    	jle    0x446aa2
41227a:	8b 47 04             	mov    0x4(%edi),%eax
41227d:	8b 00                	mov    (%eax),%eax
41227f:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
412283:	0f 85 34 48 03 00    	jne    0x446abd
412289:	6a 38                	push   $0x38
41228b:	e8 66 ed 00 00       	call   0x420ff6
412290:	59                   	pop    %ecx
412291:	85 c0                	test   %eax,%eax
412293:	0f 84 ca 00 00 00    	je     0x412363
412299:	8b c8                	mov    %eax,%ecx
41229b:	e8 66 36 ff ff       	call   0x405906
4122a0:	8b f8                	mov    %eax,%edi
4122a2:	8b 45 08             	mov    0x8(%ebp),%eax
4122a5:	8b 40 04             	mov    0x4(%eax),%eax
4122a8:	8b 30                	mov    (%eax),%esi
4122aa:	8b ce                	mov    %esi,%ecx
4122ac:	e8 e6 76 ff ff       	call   0x409997
4122b1:	68 00 80 00 00       	push   $0x8000
4122b6:	ff 76 08             	push   0x8(%esi)
4122b9:	8b cf                	mov    %edi,%ecx
4122bb:	e8 96 36 ff ff       	call   0x405956
4122c0:	84 c0                	test   %al,%al
4122c2:	0f 84 ef 47 03 00    	je     0x446ab7
4122c8:	68 00 04 00 00       	push   $0x400
4122cd:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4122d1:	e8 a0 58 ff ff       	call   0x407b76
4122d6:	8b 74 24 10          	mov    0x10(%esp),%esi
4122da:	32 c0                	xor    %al,%al
4122dc:	88 44 24 0f          	mov    %al,0xf(%esp)
4122e0:	8b cf                	mov    %edi,%ecx
4122e2:	85 f6                	test   %esi,%esi
4122e4:	0f 84 23 48 03 00    	je     0x446b0d
4122ea:	e8 ec 30 ff ff       	call   0x4053db
4122ef:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
4122f4:	85 f6                	test   %esi,%esi
4122f6:	7e 29                	jle    0x412321
4122f8:	8d 44 24 18          	lea    0x18(%esp),%eax
4122fc:	8b cf                	mov    %edi,%ecx
4122fe:	50                   	push   %eax
4122ff:	e8 e8 32 ff ff       	call   0x4055ec
412304:	84 c0                	test   %al,%al
412306:	0f 84 db 47 03 00    	je     0x446ae7
41230c:	8b 44 24 10          	mov    0x10(%esp),%eax
412310:	40                   	inc    %eax
412311:	89 44 24 10          	mov    %eax,0x10(%esp)
412315:	3b c6                	cmp    %esi,%eax
412317:	7c df                	jl     0x4122f8
412319:	8a 44 24 0f          	mov    0xf(%esp),%al
41231d:	84 c0                	test   %al,%al
41231f:	75 0d                	jne    0x41232e
412321:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412324:	8d 44 24 18          	lea    0x18(%esp),%eax
412328:	50                   	push   %eax
412329:	e8 6e 78 ff ff       	call   0x409b9c
41232e:	8b 45 08             	mov    0x8(%ebp),%eax
412331:	8b 40 04             	mov    0x4(%eax),%eax
412334:	8b 00                	mov    (%eax),%eax
412336:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
41233a:	75 13                	jne    0x41234f
41233c:	8b cf                	mov    %edi,%ecx
41233e:	e8 8c 3a ff ff       	call   0x405dcf
412343:	85 ff                	test   %edi,%edi
412345:	74 08                	je     0x41234f
412347:	51                   	push   %ecx
412348:	8b cf                	mov    %edi,%ecx
41234a:	e8 cb 36 ff ff       	call   0x405a1a
41234f:	8d 4c 24 18          	lea    0x18(%esp),%ecx
412353:	e8 0c 37 ff ff       	call   0x405a64
412358:	5f                   	pop    %edi
412359:	5e                   	pop    %esi
41235a:	33 c0                	xor    %eax,%eax
41235c:	5b                   	pop    %ebx
41235d:	8b e5                	mov    %ebp,%esp
41235f:	5d                   	pop    %ebp
412360:	c2 08 00             	ret    $0x8
412363:	33 ff                	xor    %edi,%edi
412365:	e9 38 ff ff ff       	jmp    0x4122a2
41236a:	55                   	push   %ebp
41236b:	8b ec                	mov    %esp,%ebp
41236d:	83 ec 18             	sub    $0x18,%esp
412370:	53                   	push   %ebx
412371:	56                   	push   %esi
412372:	57                   	push   %edi
412373:	8b 7d 08             	mov    0x8(%ebp),%edi
412376:	83 cb ff             	or     $0xffffffff,%ebx
412379:	83 65 08 00          	andl   $0x0,0x8(%ebp)
41237d:	89 4d e8             	mov    %ecx,-0x18(%ebp)
412380:	89 5d fc             	mov    %ebx,-0x4(%ebp)
412383:	8b 77 08             	mov    0x8(%edi),%esi
412386:	89 5d f4             	mov    %ebx,-0xc(%ebp)
412389:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41238c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41238f:	89 5d f0             	mov    %ebx,-0x10(%ebp)
412392:	83 fe 07             	cmp    $0x7,%esi
412395:	0f 87 9b 47 03 00    	ja     0x446b36
41239b:	83 fe 06             	cmp    $0x6,%esi
41239e:	76 0e                	jbe    0x4123ae
4123a0:	8b 47 04             	mov    0x4(%edi),%eax
4123a3:	8b 48 18             	mov    0x18(%eax),%ecx
4123a6:	e8 f1 78 ff ff       	call   0x409c9c
4123ab:	89 45 fc             	mov    %eax,-0x4(%ebp)
4123ae:	83 fe 05             	cmp    $0x5,%esi
4123b1:	76 0d                	jbe    0x4123c0
4123b3:	8b 47 04             	mov    0x4(%edi),%eax
4123b6:	8b 48 14             	mov    0x14(%eax),%ecx
4123b9:	e8 de 78 ff ff       	call   0x409c9c
4123be:	8b d8                	mov    %eax,%ebx
4123c0:	83 fe 04             	cmp    $0x4,%esi
4123c3:	76 0e                	jbe    0x4123d3
4123c5:	8b 4f 04             	mov    0x4(%edi),%ecx
4123c8:	8b 49 10             	mov    0x10(%ecx),%ecx
4123cb:	e8 cc 78 ff ff       	call   0x409c9c
4123d0:	89 45 f0             	mov    %eax,-0x10(%ebp)
4123d3:	83 fe 03             	cmp    $0x3,%esi
4123d6:	76 0e                	jbe    0x4123e6
4123d8:	8b 4f 04             	mov    0x4(%edi),%ecx
4123db:	8b 49 0c             	mov    0xc(%ecx),%ecx
4123de:	e8 b9 78 ff ff       	call   0x409c9c
4123e3:	89 45 ec             	mov    %eax,-0x14(%ebp)
4123e6:	83 fe 02             	cmp    $0x2,%esi
4123e9:	76 0e                	jbe    0x4123f9
4123eb:	8b 4f 04             	mov    0x4(%edi),%ecx
4123ee:	8b 49 08             	mov    0x8(%ecx),%ecx
4123f1:	e8 a6 78 ff ff       	call   0x409c9c
4123f6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4123f9:	83 fe 01             	cmp    $0x1,%esi
4123fc:	76 0e                	jbe    0x41240c
4123fe:	8b 4f 04             	mov    0x4(%edi),%ecx
412401:	8b 49 04             	mov    0x4(%ecx),%ecx
412404:	e8 93 78 ff ff       	call   0x409c9c
412409:	89 45 f4             	mov    %eax,-0xc(%ebp)
41240c:	8b 4f 04             	mov    0x4(%edi),%ecx
41240f:	8b 31                	mov    (%ecx),%esi
412411:	8b ce                	mov    %esi,%ecx
412413:	e8 7f 75 ff ff       	call   0x409997
412418:	ff 75 08             	push   0x8(%ebp)
41241b:	8b 4e 08             	mov    0x8(%esi),%ecx
41241e:	ff 75 fc             	push   -0x4(%ebp)
412421:	53                   	push   %ebx
412422:	ff 75 f8             	push   -0x8(%ebp)
412425:	ff 75 f4             	push   -0xc(%ebp)
412428:	ff 75 f0             	push   -0x10(%ebp)
41242b:	ff 75 ec             	push   -0x14(%ebp)
41242e:	ff 31                	push   (%ecx)
412430:	e8 a4 03 ff ff       	call   0x4027d9
412435:	8b f8                	mov    %eax,%edi
412437:	85 ff                	test   %edi,%edi
412439:	0f 84 0a 47 03 00    	je     0x446b49
41243f:	8b 75 0c             	mov    0xc(%ebp),%esi
412442:	8b ce                	mov    %esi,%ecx
412444:	e8 d7 75 ff ff       	call   0x409a20
412449:	89 3e                	mov    %edi,(%esi)
41244b:	5f                   	pop    %edi
41244c:	c7 46 0c 07 00 00 00 	movl   $0x7,0xc(%esi)
412453:	33 c0                	xor    %eax,%eax
412455:	5e                   	pop    %esi
412456:	5b                   	pop    %ebx
412457:	8b e5                	mov    %ebp,%esp
412459:	5d                   	pop    %ebp
41245a:	c2 08 00             	ret    $0x8
41245d:	55                   	push   %ebp
41245e:	8b ec                	mov    %esp,%ebp
412460:	ff 75 0c             	push   0xc(%ebp)
412463:	ff 75 08             	push   0x8(%ebp)
412466:	6a 1b                	push   $0x1b
412468:	e8 3e e4 ff ff       	call   0x4108ab
41246d:	5d                   	pop    %ebp
41246e:	c2 08 00             	ret    $0x8
412471:	55                   	push   %ebp
412472:	8b ec                	mov    %esp,%ebp
412474:	8b 45 08             	mov    0x8(%ebp),%eax
412477:	56                   	push   %esi
412478:	57                   	push   %edi
412479:	8b 40 04             	mov    0x4(%eax),%eax
41247c:	8b 08                	mov    (%eax),%ecx
41247e:	e8 19 78 ff ff       	call   0x409c9c
412483:	50                   	push   %eax
412484:	b9 b0 67 4c 00       	mov    $0x4c67b0,%ecx
412489:	e8 8a 07 ff ff       	call   0x402c18
41248e:	8b 75 0c             	mov    0xc(%ebp),%esi
412491:	8b f8                	mov    %eax,%edi
412493:	8b ce                	mov    %esi,%ecx
412495:	e8 86 75 ff ff       	call   0x409a20
41249a:	89 3e                	mov    %edi,(%esi)
41249c:	33 c0                	xor    %eax,%eax
41249e:	5f                   	pop    %edi
41249f:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4124a6:	5e                   	pop    %esi
4124a7:	5d                   	pop    %ebp
4124a8:	c2 08 00             	ret    $0x8
4124ab:	55                   	push   %ebp
4124ac:	8b ec                	mov    %esp,%ebp
4124ae:	83 ec 10             	sub    $0x10,%esp
4124b1:	53                   	push   %ebx
4124b2:	56                   	push   %esi
4124b3:	8b 75 08             	mov    0x8(%ebp),%esi
4124b6:	57                   	push   %edi
4124b7:	83 cf ff             	or     $0xffffffff,%edi
4124ba:	8b df                	mov    %edi,%ebx
4124bc:	89 7d f0             	mov    %edi,-0x10(%ebp)
4124bf:	8b 46 04             	mov    0x4(%esi),%eax
4124c2:	89 7d f4             	mov    %edi,-0xc(%ebp)
4124c5:	89 7d f8             	mov    %edi,-0x8(%ebp)
4124c8:	89 7d fc             	mov    %edi,-0x4(%ebp)
4124cb:	8b 48 04             	mov    0x4(%eax),%ecx
4124ce:	e8 c9 77 ff ff       	call   0x409c9c
4124d3:	85 c0                	test   %eax,%eax
4124d5:	0f 8e df 46 03 00    	jle    0x446bba
4124db:	83 7e 08 07          	cmpl   $0x7,0x8(%esi)
4124df:	0f 87 89 46 03 00    	ja     0x446b6e
4124e5:	83 7e 08 06          	cmpl   $0x6,0x8(%esi)
4124e9:	0f 87 92 46 03 00    	ja     0x446b81
4124ef:	83 7e 08 05          	cmpl   $0x5,0x8(%esi)
4124f3:	0f 87 9b 46 03 00    	ja     0x446b94
4124f9:	83 7e 08 04          	cmpl   $0x4,0x8(%esi)
4124fd:	0f 87 a4 46 03 00    	ja     0x446ba7
412503:	83 7e 08 03          	cmpl   $0x3,0x8(%esi)
412507:	76 0d                	jbe    0x412516
412509:	8b 46 04             	mov    0x4(%esi),%eax
41250c:	8b 48 0c             	mov    0xc(%eax),%ecx
41250f:	e8 88 77 ff ff       	call   0x409c9c
412514:	8b d8                	mov    %eax,%ebx
412516:	83 7e 08 02          	cmpl   $0x2,0x8(%esi)
41251a:	76 0d                	jbe    0x412529
41251c:	8b 46 04             	mov    0x4(%esi),%eax
41251f:	8b 48 08             	mov    0x8(%eax),%ecx
412522:	e8 75 77 ff ff       	call   0x409c9c
412527:	8b f8                	mov    %eax,%edi
412529:	ff 75 fc             	push   -0x4(%ebp)
41252c:	8b 56 04             	mov    0x4(%esi),%edx
41252f:	ff 75 f8             	push   -0x8(%ebp)
412532:	ff 75 f4             	push   -0xc(%ebp)
412535:	8b 4a 04             	mov    0x4(%edx),%ecx
412538:	ff 75 f0             	push   -0x10(%ebp)
41253b:	8b 32                	mov    (%edx),%esi
41253d:	53                   	push   %ebx
41253e:	57                   	push   %edi
41253f:	e8 58 77 ff ff       	call   0x409c9c
412544:	50                   	push   %eax
412545:	8b ce                	mov    %esi,%ecx
412547:	e8 50 77 ff ff       	call   0x409c9c
41254c:	50                   	push   %eax
41254d:	e8 43 0a ff ff       	call   0x402f95
412552:	8b 75 0c             	mov    0xc(%ebp),%esi
412555:	8b f8                	mov    %eax,%edi
412557:	8b ce                	mov    %esi,%ecx
412559:	e8 c2 74 ff ff       	call   0x409a20
41255e:	89 3e                	mov    %edi,(%esi)
412560:	5f                   	pop    %edi
412561:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
412568:	33 c0                	xor    %eax,%eax
41256a:	5e                   	pop    %esi
41256b:	5b                   	pop    %ebx
41256c:	8b e5                	mov    %ebp,%esp
41256e:	5d                   	pop    %ebp
41256f:	c2 08 00             	ret    $0x8
412572:	55                   	push   %ebp
412573:	8b ec                	mov    %esp,%ebp
412575:	56                   	push   %esi
412576:	8b 75 08             	mov    0x8(%ebp),%esi
412579:	33 c0                	xor    %eax,%eax
41257b:	57                   	push   %edi
41257c:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
412580:	77 38                	ja     0x4125ba
412582:	8b 4e 04             	mov    0x4(%esi),%ecx
412585:	6a ff                	push   $0xffffffff
412587:	6a ff                	push   $0xffffffff
412589:	50                   	push   %eax
41258a:	8b 09                	mov    (%ecx),%ecx
41258c:	6a ff                	push   $0xffffffff
41258e:	6a 00                	push   $0x0
412590:	e8 07 77 ff ff       	call   0x409c9c
412595:	50                   	push   %eax
412596:	6a 00                	push   $0x0
412598:	e8 d5 05 ff ff       	call   0x402b72
41259d:	8b 75 0c             	mov    0xc(%ebp),%esi
4125a0:	8b f8                	mov    %eax,%edi
4125a2:	8b ce                	mov    %esi,%ecx
4125a4:	e8 77 74 ff ff       	call   0x409a20
4125a9:	89 3e                	mov    %edi,(%esi)
4125ab:	33 c0                	xor    %eax,%eax
4125ad:	5f                   	pop    %edi
4125ae:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4125b5:	5e                   	pop    %esi