4513f2:	eb 14                	jmp    0x451408
4513f4:	8b 75 0c             	mov    0xc(%ebp),%esi
4513f7:	8b ce                	mov    %esi,%ecx
4513f9:	e8 22 18 fc ff       	call   0x412c20
4513fe:	83 26 00             	andl   $0x0,(%esi)
451401:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
451408:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45140b:	e8 27 b7 fb ff       	call   0x40cb37
451410:	5f                   	pop    %edi
451411:	5e                   	pop    %esi
451412:	33 c0                	xor    %eax,%eax
451414:	5b                   	pop    %ebx
451415:	c9                   	leave
451416:	c2 08 00             	ret    $0x8
451419:	55                   	push   %ebp
45141a:	8b ec                	mov    %esp,%ebp
45141c:	83 ec 20             	sub    $0x20,%esp
45141f:	53                   	push   %ebx
451420:	8b 5d 0c             	mov    0xc(%ebp),%ebx
451423:	56                   	push   %esi
451424:	57                   	push   %edi
451425:	8b f9                	mov    %ecx,%edi
451427:	8b cb                	mov    %ebx,%ecx
451429:	e8 f2 17 fc ff       	call   0x412c20
45142e:	83 23 00             	andl   $0x0,(%ebx)
451431:	8d 4d e0             	lea    -0x20(%ebp),%ecx
451434:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
45143b:	e8 b7 c3 fb ff       	call   0x40d7f7
451440:	8b 45 08             	mov    0x8(%ebp),%eax
451443:	8b 40 04             	mov    0x4(%eax),%eax
451446:	8b 30                	mov    (%eax),%esi
451448:	8b ce                	mov    %esi,%ecx
45144a:	e8 1d 7f fb ff       	call   0x40936c
45144f:	8b 4e 08             	mov    0x8(%esi),%ecx
451452:	8d 55 e0             	lea    -0x20(%ebp),%edx
451455:	e8 b5 51 fb ff       	call   0x40660f
45145a:	8b 45 08             	mov    0x8(%ebp),%eax
45145d:	6a 05                	push   $0x5
45145f:	8b 40 04             	mov    0x4(%eax),%eax
451462:	8b 70 08             	mov    0x8(%eax),%esi
451465:	8b ce                	mov    %esi,%ecx
451467:	e8 78 c1 fb ff       	call   0x40d5e4
45146c:	6a 02                	push   $0x2
45146e:	5a                   	pop    %edx
45146f:	84 c0                	test   %al,%al
451471:	0f 84 79 01 00 00    	je     0x4515f0
451477:	6a 00                	push   $0x0
451479:	8b ce                	mov    %esi,%ecx
45147b:	e8 9f ab fc ff       	call   0x41c01f
451480:	3b c2                	cmp    %edx,%eax
451482:	0f 85 68 01 00 00    	jne    0x4515f0
451488:	52                   	push   %edx
451489:	8b ce                	mov    %esi,%ecx
45148b:	e8 8f ab fc ff       	call   0x41c01f
451490:	3b c2                	cmp    %edx,%eax
451492:	0f 85 58 01 00 00    	jne    0x4515f0
451498:	8b 7d 08             	mov    0x8(%ebp),%edi
45149b:	33 db                	xor    %ebx,%ebx
45149d:	43                   	inc    %ebx
45149e:	83 7f 08 04          	cmpl   $0x4,0x8(%edi)
4514a2:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4514a5:	72 1a                	jb     0x4514c1
4514a7:	8b 4f 04             	mov    0x4(%edi),%ecx
4514aa:	8b 49 0c             	mov    0xc(%ecx),%ecx
4514ad:	e8 d4 bd fb ff       	call   0x40d286
4514b2:	8b d8                	mov    %eax,%ebx
4514b4:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4514b7:	85 db                	test   %ebx,%ebx
4514b9:	79 06                	jns    0x4514c1
4514bb:	33 db                	xor    %ebx,%ebx
4514bd:	43                   	inc    %ebx
4514be:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4514c1:	8b 47 04             	mov    0x4(%edi),%eax
4514c4:	8b d3                	mov    %ebx,%edx
4514c6:	8b 40 08             	mov    0x8(%eax),%eax
4514c9:	33 f6                	xor    %esi,%esi
4514cb:	89 45 f4             	mov    %eax,-0xc(%ebp)
4514ce:	8b d8                	mov    %eax,%ebx
4514d0:	6a 01                	push   $0x1
4514d2:	8b cb                	mov    %ebx,%ecx
4514d4:	89 55 fc             	mov    %edx,-0x4(%ebp)
4514d7:	89 75 f0             	mov    %esi,-0x10(%ebp)
4514da:	e8 40 ab fc ff       	call   0x41c01f
4514df:	3b d0                	cmp    %eax,%edx
4514e1:	7d 54                	jge    0x451537
4514e3:	6a 00                	push   $0x0
4514e5:	52                   	push   %edx
4514e6:	6a 02                	push   $0x2
4514e8:	5a                   	pop    %edx
4514e9:	52                   	push   %edx
4514ea:	6a 01                	push   $0x1
4514ec:	53                   	push   %ebx
4514ed:	e8 9e 06 fc ff       	call   0x411b90
4514f2:	8b f0                	mov    %eax,%esi
4514f4:	83 c4 14             	add    $0x14,%esp
4514f7:	8b ce                	mov    %esi,%ecx
4514f9:	e8 6e 7e fb ff       	call   0x40936c
4514fe:	8b 46 08             	mov    0x8(%esi),%eax
451501:	6a 01                	push   $0x1
451503:	ff 75 fc             	push   -0x4(%ebp)
451506:	8b 78 04             	mov    0x4(%eax),%edi
451509:	6a 02                	push   $0x2
45150b:	58                   	pop    %eax
45150c:	50                   	push   %eax
45150d:	6a 01                	push   $0x1
45150f:	53                   	push   %ebx
451510:	e8 7b 06 fc ff       	call   0x411b90
451515:	8b f0                	mov    %eax,%esi
451517:	83 c4 14             	add    $0x14,%esp
45151a:	8b ce                	mov    %esi,%ecx
45151c:	e8 4b 7e fb ff       	call   0x40936c
451521:	8b 46 08             	mov    0x8(%esi),%eax
451524:	8b 75 f0             	mov    -0x10(%ebp),%esi
451527:	8b 40 04             	mov    0x4(%eax),%eax
45152a:	8b 55 fc             	mov    -0x4(%ebp),%edx
45152d:	03 c7                	add    %edi,%eax
45152f:	83 c6 02             	add    $0x2,%esi
451532:	03 f0                	add    %eax,%esi
451534:	42                   	inc    %edx
451535:	eb 99                	jmp    0x4514d0
451537:	33 c9                	xor    %ecx,%ecx
451539:	6a 02                	push   $0x2
45153b:	8d 46 01             	lea    0x1(%esi),%eax
45153e:	5e                   	pop    %esi
45153f:	f7 e6                	mul    %esi
451541:	0f 90 c1             	seto   %cl
451544:	f7 d9                	neg    %ecx
451546:	0b c8                	or     %eax,%ecx
451548:	51                   	push   %ecx
451549:	e8 9c df fc ff       	call   0x41f4ea
45154e:	8b 5d f8             	mov    -0x8(%ebp),%ebx
451551:	59                   	pop    %ecx
451552:	89 45 f0             	mov    %eax,-0x10(%ebp)
451555:	8b f8                	mov    %eax,%edi
451557:	8b 55 f4             	mov    -0xc(%ebp),%edx
45155a:	6a 01                	push   $0x1
45155c:	8b ca                	mov    %edx,%ecx
45155e:	e8 bc aa fc ff       	call   0x41c01f
451563:	3b d8                	cmp    %eax,%ebx
451565:	7d 79                	jge    0x4515e0
451567:	6a 00                	push   $0x0
451569:	53                   	push   %ebx
45156a:	56                   	push   %esi
45156b:	6a 01                	push   $0x1
45156d:	52                   	push   %edx
45156e:	e8 1d 06 fc ff       	call   0x411b90
451573:	8b f0                	mov    %eax,%esi
451575:	83 c4 14             	add    $0x14,%esp
451578:	8b ce                	mov    %esi,%ecx
45157a:	e8 ed 7d fb ff       	call   0x40936c
45157f:	8b 46 08             	mov    0x8(%esi),%eax
451582:	6a 02                	push   $0x2
451584:	8b 00                	mov    (%eax),%eax
451586:	5a                   	pop    %edx
451587:	0f b7 08             	movzwl (%eax),%ecx
45158a:	66 85 c9             	test   %cx,%cx
45158d:	74 09                	je     0x451598
45158f:	66 89 0f             	mov    %cx,(%edi)
451592:	03 fa                	add    %edx,%edi
451594:	03 c2                	add    %edx,%eax
451596:	eb ef                	jmp    0x451587
451598:	6a 3d                	push   $0x3d
45159a:	58                   	pop    %eax
45159b:	6a 01                	push   $0x1
45159d:	53                   	push   %ebx
45159e:	52                   	push   %edx
45159f:	6a 01                	push   $0x1
4515a1:	ff 75 f4             	push   -0xc(%ebp)
4515a4:	66 89 07             	mov    %ax,(%edi)
4515a7:	03 fa                	add    %edx,%edi
4515a9:	e8 e2 05 fc ff       	call   0x411b90
4515ae:	8b f0                	mov    %eax,%esi
4515b0:	83 c4 14             	add    $0x14,%esp
4515b3:	8b ce                	mov    %esi,%ecx
4515b5:	e8 b2 7d fb ff       	call   0x40936c
4515ba:	8b 46 08             	mov    0x8(%esi),%eax
4515bd:	6a 02                	push   $0x2
4515bf:	8b 00                	mov    (%eax),%eax
4515c1:	5e                   	pop    %esi
4515c2:	0f b7 08             	movzwl (%eax),%ecx
4515c5:	66 85 c9             	test   %cx,%cx
4515c8:	74 09                	je     0x4515d3
4515ca:	66 89 0f             	mov    %cx,(%edi)
4515cd:	03 fe                	add    %esi,%edi
4515cf:	03 c6                	add    %esi,%eax
4515d1:	eb ef                	jmp    0x4515c2
4515d3:	33 c0                	xor    %eax,%eax
4515d5:	66 89 07             	mov    %ax,(%edi)
4515d8:	03 fe                	add    %esi,%edi
4515da:	43                   	inc    %ebx
4515db:	e9 77 ff ff ff       	jmp    0x451557
4515e0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4515e3:	33 c0                	xor    %eax,%eax
4515e5:	66 89 07             	mov    %ax,(%edi)
4515e8:	8b 7d f0             	mov    -0x10(%ebp),%edi
4515eb:	e9 80 00 00 00       	jmp    0x451670
4515f0:	6a 04                	push   $0x4
4515f2:	8b ce                	mov    %esi,%ecx
4515f4:	e8 eb bf fb ff       	call   0x40d5e4
4515f9:	84 c0                	test   %al,%al
4515fb:	0f 84 b8 00 00 00    	je     0x4516b9
451601:	8b ce                	mov    %esi,%ecx
451603:	e8 64 7d fb ff       	call   0x40936c
451608:	8b 46 08             	mov    0x8(%esi),%eax
45160b:	33 c9                	xor    %ecx,%ecx
45160d:	8b 40 04             	mov    0x4(%eax),%eax
451610:	6a 02                	push   $0x2
451612:	83 c0 02             	add    $0x2,%eax
451615:	5a                   	pop    %edx
451616:	f7 e2                	mul    %edx
451618:	0f 90 c1             	seto   %cl
45161b:	f7 d9                	neg    %ecx
45161d:	0b c8                	or     %eax,%ecx
45161f:	51                   	push   %ecx
451620:	e8 c5 de fc ff       	call   0x41f4ea
451625:	8b f8                	mov    %eax,%edi
451627:	8b 45 08             	mov    0x8(%ebp),%eax
45162a:	59                   	pop    %ecx
45162b:	8b 40 04             	mov    0x4(%eax),%eax
45162e:	8b 70 08             	mov    0x8(%eax),%esi
451631:	8b ce                	mov    %esi,%ecx
451633:	e8 34 7d fb ff       	call   0x40936c
451638:	8b 46 08             	mov    0x8(%esi),%eax
45163b:	6a 0a                	push   $0xa
45163d:	8b 08                	mov    (%eax),%ecx
45163f:	5a                   	pop    %edx
451640:	6a 02                	push   $0x2
451642:	8b c7                	mov    %edi,%eax
451644:	89 55 0c             	mov    %edx,0xc(%ebp)
451647:	5e                   	pop    %esi
451648:	66 39 11             	cmp    %dx,(%ecx)
45164b:	75 04                	jne    0x451651
45164d:	03 ce                	add    %esi,%ecx
45164f:	eb f7                	jmp    0x451648
451651:	0f b7 11             	movzwl (%ecx),%edx
451654:	66 3b 55 0c          	cmp    0xc(%ebp),%dx
451658:	75 04                	jne    0x45165e
45165a:	33 d2                	xor    %edx,%edx
45165c:	eb 05                	jmp    0x451663
45165e:	66 85 d2             	test   %dx,%dx
451661:	74 09                	je     0x45166c
451663:	66 89 10             	mov    %dx,(%eax)
451666:	03 c6                	add    %esi,%eax
451668:	03 ce                	add    %esi,%ecx
45166a:	eb e5                	jmp    0x451651
45166c:	33 c9                	xor    %ecx,%ecx
45166e:	89 08                	mov    %ecx,(%eax)
451670:	8b 45 08             	mov    0x8(%ebp),%eax
451673:	8b 40 04             	mov    0x4(%eax),%eax
451676:	8b 70 04             	mov    0x4(%eax),%esi
451679:	8b ce                	mov    %esi,%ecx
45167b:	e8 ec 7c fb ff       	call   0x40936c
451680:	ff 75 e0             	push   -0x20(%ebp)
451683:	8b 46 08             	mov    0x8(%esi),%eax
451686:	57                   	push   %edi
451687:	ff 30                	push   (%eax)
451689:	ff 15 84 d2 48 00    	call   *0x48d284
45168f:	85 c0                	test   %eax,%eax
451691:	74 1d                	je     0x4516b0
451693:	ff 75 e0             	push   -0x20(%ebp)
451696:	33 c0                	xor    %eax,%eax
451698:	50                   	push   %eax
451699:	50                   	push   %eax
45169a:	50                   	push   %eax
45169b:	ff 15 7c d2 48 00    	call   *0x48d27c
4516a1:	8b cb                	mov    %ebx,%ecx
4516a3:	e8 78 15 fc ff       	call   0x412c20
4516a8:	33 c0                	xor    %eax,%eax
4516aa:	40                   	inc    %eax
4516ab:	89 43 0c             	mov    %eax,0xc(%ebx)
4516ae:	89 03                	mov    %eax,(%ebx)
4516b0:	57                   	push   %edi
4516b1:	e8 a8 de fc ff       	call   0x41f55e
4516b6:	59                   	pop    %ecx
4516b7:	eb 10                	jmp    0x4516c9
4516b9:	8b 07                	mov    (%edi),%eax
4516bb:	6a 00                	push   $0x0
4516bd:	8b 48 04             	mov    0x4(%eax),%ecx
4516c0:	6a 01                	push   $0x1
4516c2:	03 cf                	add    %edi,%ecx
4516c4:	e8 83 b8 ff ff       	call   0x44cf4c
4516c9:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4516cc:	e8 66 b4 fb ff       	call   0x40cb37
4516d1:	5f                   	pop    %edi
4516d2:	5e                   	pop    %esi
4516d3:	33 c0                	xor    %eax,%eax
4516d5:	5b                   	pop    %ebx
4516d6:	c9                   	leave
4516d7:	c2 08 00             	ret    $0x8
4516da:	55                   	push   %ebp
4516db:	8b ec                	mov    %esp,%ebp
4516dd:	83 e4 f8             	and    $0xfffffff8,%esp
4516e0:	81 ec d4 00 00 00    	sub    $0xd4,%esp
4516e6:	53                   	push   %ebx
4516e7:	56                   	push   %esi
4516e8:	8b d9                	mov    %ecx,%ebx
4516ea:	57                   	push   %edi
4516eb:	8d 4c 24 78          	lea    0x78(%esp),%ecx
4516ef:	e8 03 c1 fb ff       	call   0x40d7f7
4516f4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4516f7:	33 c0                	xor    %eax,%eax
4516f9:	68 00 dc 49 00       	push   $0x49dc00
4516fe:	89 44 24 28          	mov    %eax,0x28(%esp)
451702:	e8 b2 b6 fb ff       	call   0x40cdb9
451707:	8b 7d 08             	mov    0x8(%ebp),%edi
45170a:	8b 47 04             	mov    0x4(%edi),%eax
45170d:	8b 30                	mov    (%eax),%esi
45170f:	8b ce                	mov    %esi,%ecx
451711:	e8 56 7c fb ff       	call   0x40936c
451716:	8b 4e 08             	mov    0x8(%esi),%ecx
451719:	8b 01                	mov    (%ecx),%eax
45171b:	89 44 24 2c          	mov    %eax,0x2c(%esp)
45171f:	89 44 24 58          	mov    %eax,0x58(%esp)
451723:	8b 41 04             	mov    0x4(%ecx),%eax
451726:	89 44 24 5c          	mov    %eax,0x5c(%esp)
45172a:	8b 41 08             	mov    0x8(%ecx),%eax
45172d:	89 44 24 60          	mov    %eax,0x60(%esp)
451731:	8b 41 0c             	mov    0xc(%ecx),%eax
451734:	89 44 24 64          	mov    %eax,0x64(%esp)
451738:	ff 00                	incl   (%eax)
45173a:	8b 47 04             	mov    0x4(%edi),%eax
45173d:	8b 70 04             	mov    0x4(%eax),%esi
451740:	8b ce                	mov    %esi,%ecx
451742:	e8 25 7c fb ff       	call   0x40936c
451747:	8b 4e 08             	mov    0x8(%esi),%ecx
45174a:	8b 01                	mov    (%ecx),%eax
45174c:	89 44 24 28          	mov    %eax,0x28(%esp)
451750:	89 44 24 48          	mov    %eax,0x48(%esp)
451754:	8b 41 04             	mov    0x4(%ecx),%eax
451757:	89 44 24 4c          	mov    %eax,0x4c(%esp)
45175b:	8b 41 08             	mov    0x8(%ecx),%eax
45175e:	89 44 24 50          	mov    %eax,0x50(%esp)
451762:	8b 41 0c             	mov    0xc(%ecx),%eax
451765:	8d 4c 24 14          	lea    0x14(%esp),%ecx
451769:	ff 00                	incl   (%eax)
45176b:	89 44 24 54          	mov    %eax,0x54(%esp)
45176f:	e8 83 c0 fb ff       	call   0x40d7f7
451774:	8d 4c 24 30          	lea    0x30(%esp),%ecx
451778:	e8 7a c0 fb ff       	call   0x40d7f7
45177d:	8b 47 04             	mov    0x4(%edi),%eax
451780:	8b 70 08             	mov    0x8(%eax),%esi
451783:	8b ce                	mov    %esi,%ecx
451785:	e8 e2 7b fb ff       	call   0x40936c
45178a:	8b 46 08             	mov    0x8(%esi),%eax
45178d:	8b 08                	mov    (%eax),%ecx
45178f:	e8 60 af fc ff       	call   0x41c6f4
451794:	50                   	push   %eax
451795:	8d 4c 24 44          	lea    0x44(%esp),%ecx
451799:	e8 19 30 fb ff       	call   0x4047b7
45179e:	be 8c 2a 4b 00       	mov    $0x4b2a8c,%esi