47854f:	83 47 00 2f          	addl   $0x2f,0x0(%edi)
478553:	83 47 00 39          	addl   $0x39,0x0(%edi)
478557:	83 47 00 01          	addl   $0x1,0x0(%edi)
47855b:	84 47 00             	test   %al,0x0(%edi)
47855e:	8b e2                	mov    %edx,%esp
478560:	40                   	inc    %eax
478561:	00 8b e2 40 00 c9    	add    %cl,-0x36ffbf1e(%ebx)
478567:	83 47 00 8b          	addl   $0xffffff8b,0x0(%edi)
47856b:	e2 40                	loop   0x4785ad
47856d:	00 eb                	add    %ch,%bl
47856f:	83 47 00 0e          	addl   $0xe,0x0(%edi)
478573:	84 47 00             	test   %al,0x0(%edi)
478576:	2c 84                	sub    $0x84,%al
478578:	47                   	inc    %edi
478579:	00 58 84             	add    %bl,-0x7c(%eax)
47857c:	47                   	inc    %edi
47857d:	00 58 84             	add    %bl,-0x7c(%eax)
478580:	47                   	inc    %edi
478581:	00 42 84             	add    %al,-0x7c(%edx)
478584:	47                   	inc    %edi
478585:	00 8b 45 0c 8b 10    	add    %cl,0x108b0c45(%ebx)
47858b:	8b 45 08             	mov    0x8(%ebp),%eax
47858e:	8b 40 04             	mov    0x4(%eax),%eax
478591:	8b 04 90             	mov    (%eax,%edx,4),%eax
478594:	0f bf 40 0a          	movswl 0xa(%eax),%eax
478598:	50                   	push   %eax
478599:	68 81 00 00 00       	push   $0x81
47859e:	e8 b9 46 fd ff       	call   0x44cc5c
4785a3:	e9 e4 56 f9 ff       	jmp    0x40dc8c
4785a8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4785ab:	e8 70 a6 f9 ff       	call   0x412c20
4785b0:	e9 d7 56 f9 ff       	jmp    0x40dc8c
4785b5:	0f bf 40 0a          	movswl 0xa(%eax),%eax
4785b9:	50                   	push   %eax
4785ba:	6a 72                	push   $0x72
4785bc:	8b ce                	mov    %esi,%ecx
4785be:	e8 99 46 fd ff       	call   0x44cc5c
4785c3:	e9 db d0 f8 ff       	jmp    0x4056a3
4785c8:	0f bf 40 0a          	movswl 0xa(%eax),%eax
4785cc:	50                   	push   %eax
4785cd:	6a 72                	push   $0x72
4785cf:	8b cb                	mov    %ebx,%ecx
4785d1:	e8 86 46 fd ff       	call   0x44cc5c
4785d6:	e9 c5 cf f8 ff       	jmp    0x4055a0
4785db:	8d 47 01             	lea    0x1(%edi),%eax
4785de:	89 02                	mov    %eax,(%edx)
4785e0:	e9 bb cf f8 ff       	jmp    0x4055a0
4785e5:	ff 75 0c             	push   0xc(%ebp)
4785e8:	52                   	push   %edx
4785e9:	e8 9f 51 fe ff       	call   0x45d78d
4785ee:	e9 33 69 f9 ff       	jmp    0x40ef26
4785f3:	ff 75 0c             	push   0xc(%ebp)
4785f6:	51                   	push   %ecx
4785f7:	e8 82 52 fe ff       	call   0x45d87e
4785fc:	e9 25 69 f9 ff       	jmp    0x40ef26
478601:	8d 8b 60 01 00 00    	lea    0x160(%ebx),%ecx
478607:	e8 38 d1 f8 ff       	call   0x405744
47860c:	8b 48 08             	mov    0x8(%eax),%ecx
47860f:	8b 45 0c             	mov    0xc(%ebp),%eax
478612:	89 08                	mov    %ecx,(%eax)
478614:	e9 0d 69 f9 ff       	jmp    0x40ef26
478619:	ff 75 0c             	push   0xc(%ebp)
47861c:	52                   	push   %edx
47861d:	e8 bb 5a fe ff       	call   0x45e0dd
478622:	e9 ff 68 f9 ff       	jmp    0x40ef26
478627:	ff 75 0c             	push   0xc(%ebp)
47862a:	8d 45 fc             	lea    -0x4(%ebp),%eax
47862d:	50                   	push   %eax
47862e:	52                   	push   %edx
47862f:	e8 1d 4e fe ff       	call   0x45d451
478634:	e9 ed 68 f9 ff       	jmp    0x40ef26
478639:	6a 00                	push   $0x0
47863b:	8d 45 fc             	lea    -0x4(%ebp),%eax
47863e:	50                   	push   %eax
47863f:	52                   	push   %edx
478640:	e8 0d 4f fe ff       	call   0x45d552
478645:	e9 dc 68 f9 ff       	jmp    0x40ef26
47864a:	6a 00                	push   $0x0
47864c:	8d 45 fc             	lea    -0x4(%ebp),%eax
47864f:	50                   	push   %eax
478650:	52                   	push   %edx
478651:	e8 74 48 fe ff       	call   0x45ceca
478656:	e9 cb 68 f9 ff       	jmp    0x40ef26
47865b:	6a 00                	push   $0x0
47865d:	8d 45 fc             	lea    -0x4(%ebp),%eax
478660:	50                   	push   %eax
478661:	52                   	push   %edx
478662:	e8 09 b5 f9 ff       	call   0x413b70
478667:	e9 ba 68 f9 ff       	jmp    0x40ef26
47866c:	6a 04                	push   $0x4
47866e:	8d 45 fc             	lea    -0x4(%ebp),%eax
478671:	50                   	push   %eax
478672:	52                   	push   %edx
478673:	e8 f8 b4 f9 ff       	call   0x413b70
478678:	e9 a9 68 f9 ff       	jmp    0x40ef26
47867d:	6a 00                	push   $0x0
47867f:	8d 45 fc             	lea    -0x4(%ebp),%eax
478682:	50                   	push   %eax
478683:	52                   	push   %edx
478684:	e8 85 53 fe ff       	call   0x45da0e
478689:	e9 98 68 f9 ff       	jmp    0x40ef26
47868e:	83 7a 08 01          	cmpl   $0x1,0x8(%edx)
478692:	76 2c                	jbe    0x4786c0
478694:	8b 47 04             	mov    0x4(%edi),%eax
478697:	66 39 70 08          	cmp    %si,0x8(%eax)
47869b:	75 23                	jne    0x4786c0
47869d:	83 38 20             	cmpl   $0x20,(%eax)
4786a0:	75 1e                	jne    0x4786c0
4786a2:	be 01 00 00 00       	mov    $0x1,%esi
4786a7:	8b 44 b7 04          	mov    0x4(%edi,%esi,4),%eax
4786ab:	ff 30                	push   (%eax)
4786ad:	e8 f8 95 f8 ff       	call   0x401caa
4786b2:	8b 48 1c             	mov    0x1c(%eax),%ecx
4786b5:	8b 45 0c             	mov    0xc(%ebp),%eax
4786b8:	41                   	inc    %ecx
4786b9:	89 08                	mov    %ecx,(%eax)
4786bb:	e9 66 68 f9 ff       	jmp    0x40ef26
4786c0:	6a ff                	push   $0xffffffff
4786c2:	6a 69                	push   $0x69
4786c4:	e8 93 45 fd ff       	call   0x44cc5c
4786c9:	e9 58 68 f9 ff       	jmp    0x40ef26
4786ce:	8d 45 fc             	lea    -0x4(%ebp),%eax
4786d1:	50                   	push   %eax
4786d2:	52                   	push   %edx
4786d3:	e8 a4 5c fe ff       	call   0x45e37c
4786d8:	e9 49 68 f9 ff       	jmp    0x40ef26
4786dd:	8d 8b 6c 01 00 00    	lea    0x16c(%ebx),%ecx
4786e3:	e8 f8 44 fe ff       	call   0x45cbe0
4786e8:	e9 39 68 f9 ff       	jmp    0x40ef26
4786ed:	6a ff                	push   $0xffffffff
4786ef:	68 81 00 00 00       	push   $0x81
4786f4:	e8 63 45 fd ff       	call   0x44cc5c
4786f9:	e9 28 68 f9 ff       	jmp    0x40ef26
4786fe:	8b 75 f0             	mov    -0x10(%ebp),%esi
478701:	6a ff                	push   $0xffffffff
478703:	8d 45 d4             	lea    -0x2c(%ebp),%eax
478706:	50                   	push   %eax
478707:	8d 45 f8             	lea    -0x8(%ebp),%eax
47870a:	50                   	push   %eax
47870b:	53                   	push   %ebx
47870c:	8b ce                	mov    %esi,%ecx
47870e:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
478715:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
47871c:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
478723:	e8 08 77 f9 ff       	call   0x40fe30
478728:	8b 4b 04             	mov    0x4(%ebx),%ecx
47872b:	8b 45 f8             	mov    -0x8(%ebp),%eax
47872e:	8b 04 81             	mov    (%ecx,%eax,4),%eax
478731:	66 83 78 08 7f       	cmpw   $0x7f,0x8(%eax)
478736:	74 0e                	je     0x478746
478738:	0f bf 40 0a          	movswl 0xa(%eax),%eax
47873c:	50                   	push   %eax
47873d:	6a 72                	push   $0x72
47873f:	8b ce                	mov    %esi,%ecx
478741:	e8 16 45 fd ff       	call   0x44cc5c
478746:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
478749:	e8 d2 a4 f9 ff       	call   0x412c20
47874e:	e9 00 6e f9 ff       	jmp    0x40f553
478753:	a1 f4 20 4c 00       	mov    0x4c20f4,%eax
478758:	8b 70 08             	mov    0x8(%eax),%esi
47875b:	e9 af 6a f9 ff       	jmp    0x40f20f
478760:	83 c8 01             	or     $0x1,%eax
478763:	b9 f4 21 4c 00       	mov    $0x4c21f4,%ecx
478768:	a3 f0 21 4c 00       	mov    %eax,0x4c21f0
47876d:	e8 85 50 f9 ff       	call   0x40d7f7
478772:	68 a5 1a 47 00       	push   $0x471aa5
478777:	e8 8e 87 fa ff       	call   0x420f0a
47877c:	83 c4 04             	add    $0x4,%esp
47877f:	e9 a5 6a f9 ff       	jmp    0x40f229
478784:	85 c9                	test   %ecx,%ecx
478786:	0f 84 d8 6a f9 ff    	je     0x40f264
47878c:	e9 9d 6b f9 ff       	jmp    0x40f32e
478791:	83 c8 01             	or     $0x1,%eax
478794:	b9 f4 21 4c 00       	mov    $0x4c21f4,%ecx
478799:	a3 f0 21 4c 00       	mov    %eax,0x4c21f0
47879e:	e8 54 50 f9 ff       	call   0x40d7f7
4787a3:	68 a5 1a 47 00       	push   $0x471aa5
4787a8:	e8 5d 87 fa ff       	call   0x420f0a
4787ad:	8b 3d e0 20 4c 00    	mov    0x4c20e0,%edi
4787b3:	83 c4 04             	add    $0x4,%esp
4787b6:	e9 f9 6d f9 ff       	jmp    0x40f5b4
4787bb:	85 c9                	test   %ecx,%ecx
4787bd:	0f 84 30 6e f9 ff    	je     0x40f5f3
4787c3:	e9 b2 71 f9 ff       	jmp    0x40f97a
4787c8:	8b 5d 08             	mov    0x8(%ebp),%ebx
4787cb:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4787ce:	8b 43 04             	mov    0x4(%ebx),%eax
4787d1:	8b 00                	mov    (%eax),%eax
4787d3:	0f bf 40 0a          	movswl 0xa(%eax),%eax
4787d7:	50                   	push   %eax
4787d8:	68 a3 00 00 00       	push   $0xa3
4787dd:	e8 7a 44 fd ff       	call   0x44cc5c
4787e2:	e9 5e 6d f9 ff       	jmp    0x40f545
4787e7:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4787ee:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
4787f5:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
4787fc:	ff 31                	push   (%ecx)
4787fe:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
478804:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
47880b:	e8 e1 12 fd ff       	call   0x449af1
478810:	8b 5d f0             	mov    -0x10(%ebp),%ebx
478813:	8d 45 d4             	lea    -0x2c(%ebp),%eax
478816:	50                   	push   %eax
478817:	8d 45 f8             	lea    -0x8(%ebp),%eax
47881a:	50                   	push   %eax
47881b:	57                   	push   %edi
47881c:	8b cb                	mov    %ebx,%ecx
47881e:	e8 d5 66 fe ff       	call   0x45eef8
478823:	85 c0                	test   %eax,%eax
478825:	0f 88 0a 01 00 00    	js     0x478935
47882b:	6a 0d                	push   $0xd
47882d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
478830:	e8 af 4d f9 ff       	call   0x40d5e4
478835:	84 c0                	test   %al,%al
478837:	75 12                	jne    0x47884b
478839:	6a 0e                	push   $0xe
47883b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47883e:	e8 a1 4d f9 ff       	call   0x40d5e4
478843:	84 c0                	test   %al,%al
478845:	0f 84 ea 00 00 00    	je     0x478935
47884b:	57                   	push   %edi
47884c:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
478852:	e8 85 44 fe ff       	call   0x45ccdc
478857:	6a 0d                	push   $0xd
478859:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47885c:	e8 83 4d f9 ff       	call   0x40d5e4
478861:	84 c0                	test   %al,%al
478863:	74 45                	je     0x4788aa
478865:	83 c8 ff             	or     $0xffffffff,%eax
478868:	66 89 45 d0          	mov    %ax,-0x30(%ebp)
47886c:	33 c0                	xor    %eax,%eax
47886e:	6a 01                	push   $0x1
478870:	8d 4d c8             	lea    -0x38(%ebp),%ecx
478873:	66 89 45 d2          	mov    %ax,-0x2e(%ebp)
478877:	e8 80 33 f9 ff       	call   0x40bbfc
47887c:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47887f:	e8 0a 1e fd ff       	call   0x44a68e
478884:	89 45 c8             	mov    %eax,-0x38(%ebp)
478887:	8b 45 f8             	mov    -0x8(%ebp),%eax
47888a:	8d 4d c8             	lea    -0x38(%ebp),%ecx
47888d:	51                   	push   %ecx
47888e:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
478894:	48                   	dec    %eax
478895:	89 45 f8             	mov    %eax,-0x8(%ebp)
478898:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
47889b:	e8 d2 12 fd ff       	call   0x449b72
4788a0:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4788a3:	e8 4d 50 fa ff       	call   0x41d8f5
4788a8:	eb 50                	jmp    0x4788fa
4788aa:	6a 0e                	push   $0xe
4788ac:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4788af:	e8 30 4d f9 ff       	call   0x40d5e4
4788b4:	84 c0                	test   %al,%al
4788b6:	74 42                	je     0x4788fa
4788b8:	8b 75 f8             	mov    -0x8(%ebp),%esi
4788bb:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
4788c1:	4e                   	dec    %esi
4788c2:	6a 34                	push   $0x34
4788c4:	8b 0c b1             	mov    (%ecx,%esi,4),%ecx
4788c7:	89 75 f8             	mov    %esi,-0x8(%ebp)
4788ca:	e8 2d 33 f9 ff       	call   0x40bbfc
4788cf:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
4788d5:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4788d8:	8b 34 b0             	mov    (%eax,%esi,4),%esi
4788db:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
4788e1:	50                   	push   %eax
4788e2:	e8 b6 1d fd ff       	call   0x44a69d
4788e7:	50                   	push   %eax
4788e8:	8b ce                	mov    %esi,%ecx
4788ea:	e8 85 33 f9 ff       	call   0x40bc74
4788ef:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
4788f5:	e8 3d 42 f9 ff       	call   0x40cb37
4788fa:	6a ff                	push   $0xffffffff
4788fc:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4788ff:	50                   	push   %eax
478900:	8d 45 f8             	lea    -0x8(%ebp),%eax
478903:	50                   	push   %eax
478904:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
47890a:	50                   	push   %eax
47890b:	8b cb                	mov    %ebx,%ecx
47890d:	e8 1e 75 f9 ff       	call   0x40fe30
478912:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
478918:	e8 f4 c5 f8 ff       	call   0x404f11
47891d:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
478923:	e8 cd 4f fa ff       	call   0x41d8f5
478928:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47892b:	e8 f0 a2 f9 ff       	call   0x412c20
478930:	e9 10 6c f9 ff       	jmp    0x40f545
478935:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
47893b:	e8 b5 4f fa ff       	call   0x41d8f5
478940:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
478943:	e8 d8 a2 f9 ff       	call   0x412c20
478948:	8b 55 f8             	mov    -0x8(%ebp),%edx
47894b:	e9 d0 6a f9 ff       	jmp    0x40f420
478950:	8b 45 cc             	mov    -0x34(%ebp),%eax
478953:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
478956:	8b 10                	mov    (%eax),%edx
478958:	e8 8c 46 f9 ff       	call   0x40cfe9
47895d:	84 c0                	test   %al,%al
47895f:	74 1e                	je     0x47897f
478961:	8d 4a 04             	lea    0x4(%edx),%ecx
478964:	6a 10                	push   $0x10
478966:	8d 55 84             	lea    -0x7c(%ebp),%edx
478969:	e8 e3 3a fa ff       	call   0x41c451
47896e:	8b 45 84             	mov    -0x7c(%ebp),%eax
478971:	8b 7d d0             	mov    -0x30(%ebp),%edi
478974:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
478977:	83 c4 04             	add    $0x4,%esp
47897a:	e9 a1 6d f9 ff       	jmp    0x40f720
47897f:	52                   	push   %edx
478980:	e8 9c 8c fa ff       	call   0x421621
478985:	8b 7d d0             	mov    -0x30(%ebp),%edi
478988:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
47898b:	83 c4 04             	add    $0x4,%esp
47898e:	e9 8d 6d f9 ff       	jmp    0x40f720
478993:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
478996:	8b 43 04             	mov    0x4(%ebx),%eax
478999:	e9 82 6d f9 ff       	jmp    0x40f720
47899e:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
4789a1:	8b 13                	mov    (%ebx),%edx
4789a3:	83 fa 08             	cmp    $0x8,%edx
4789a6:	0f 8f 7c 6d f9 ff    	jg     0x40f728
4789ac:	8b 4b 04             	mov    0x4(%ebx),%ecx
4789af:	8d 45 94             	lea    -0x6c(%ebp),%eax
4789b2:	50                   	push   %eax
4789b3:	e8 87 f3 fc ff       	call   0x447d3f
4789b8:	8b 45 94             	mov    -0x6c(%ebp),%eax
4789bb:	83 c4 04             	add    $0x4,%esp
4789be:	e9 5d 6d f9 ff       	jmp    0x40f720
4789c3:	8b 45 cc             	mov    -0x34(%ebp),%eax
4789c6:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4789c9:	8b 10                	mov    (%eax),%edx
4789cb:	e8 19 46 f9 ff       	call   0x40cfe9
4789d0:	84 c0                	test   %al,%al
4789d2:	74 21                	je     0x4789f5
4789d4:	8d 4a 04             	lea    0x4(%edx),%ecx
4789d7:	6a 10                	push   $0x10
4789d9:	8d 95 7c ff ff ff    	lea    -0x84(%ebp),%edx
4789df:	e8 6d 3a fa ff       	call   0x41c451
4789e4:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
4789ea:	8b 55 f8             	mov    -0x8(%ebp),%edx
4789ed:	83 c4 04             	add    $0x4,%esp
4789f0:	e9 57 6d f9 ff       	jmp    0x40f74c
4789f5:	52                   	push   %edx
4789f6:	e8 26 8c fa ff       	call   0x421621
4789fb:	8b 55 f8             	mov    -0x8(%ebp),%edx
4789fe:	83 c4 04             	add    $0x4,%esp
478a01:	8b d8                	mov    %eax,%ebx
478a03:	e9 44 6d f9 ff       	jmp    0x40f74c
478a08:	33 c0                	xor    %eax,%eax