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
478a0a:	84 db                	test   %bl,%bl
478a0c:	0f 95 c0             	setne  %al
478a0f:	8b d8                	mov    %eax,%ebx
478a11:	e9 36 6d f9 ff       	jmp    0x40f74c
478a16:	8b 13                	mov    (%ebx),%edx
478a18:	83 fa 08             	cmp    $0x8,%edx
478a1b:	7f 20                	jg     0x478a3d
478a1d:	8b 4b 04             	mov    0x4(%ebx),%ecx
478a20:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
478a26:	50                   	push   %eax
478a27:	e8 13 f3 fc ff       	call   0x447d3f
478a2c:	8b 9d 64 ff ff ff    	mov    -0x9c(%ebp),%ebx
478a32:	8b 55 f8             	mov    -0x8(%ebp),%edx
478a35:	83 c4 04             	add    $0x4,%esp
478a38:	e9 0f 6d f9 ff       	jmp    0x40f74c
478a3d:	8b 55 f8             	mov    -0x8(%ebp),%edx
478a40:	e9 ab 72 f9 ff       	jmp    0x40fcf0
478a45:	8b ce                	mov    %esi,%ecx
478a47:	e8 63 37 fa ff       	call   0x41c1af
478a4c:	e9 29 6d f9 ff       	jmp    0x40f77a
478a51:	51                   	push   %ecx
478a52:	e8 42 a0 f8 ff       	call   0x402a99
478a57:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
478a5e:	e9 80 6d f9 ff       	jmp    0x40f7e3
478a63:	83 c0 fb             	add    $0xfffffffb,%eax
478a66:	83 f8 0a             	cmp    $0xa,%eax
478a69:	0f 87 80 6d f9 ff    	ja     0x40f7ef
478a6f:	ff 24 85 0a 90 47 00 	jmp    *0x47900a(,%eax,4)
478a76:	8b 45 c4             	mov    -0x3c(%ebp),%eax
478a79:	85 c0                	test   %eax,%eax
478a7b:	0f 84 6e 6d f9 ff    	je     0x40f7ef
478a81:	50                   	push   %eax
478a82:	ff 15 4c d4 48 00    	call   *0x48d44c
478a88:	ff 75 c4             	push   -0x3c(%ebp)
478a8b:	e8 ce 6a fa ff       	call   0x41f55e
478a90:	83 c4 04             	add    $0x4,%esp
478a93:	e9 57 6d f9 ff       	jmp    0x40f7ef
478a98:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
478a9b:	85 c9                	test   %ecx,%ecx
478a9d:	0f 84 4c 6d f9 ff    	je     0x40f7ef
478aa3:	51                   	push   %ecx
478aa4:	e8 c2 16 fd ff       	call   0x44a16b
478aa9:	e9 41 6d f9 ff       	jmp    0x40f7ef
478aae:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
478ab1:	e8 08 52 fa ff       	call   0x41dcbe
478ab6:	e9 34 6d f9 ff       	jmp    0x40f7ef
478abb:	8b 45 c4             	mov    -0x3c(%ebp),%eax
478abe:	ff 70 04             	push   0x4(%eax)
478ac1:	e8 98 6a fa ff       	call   0x41f55e
478ac6:	83 c4 04             	add    $0x4,%esp
478ac9:	ff 75 c4             	push   -0x3c(%ebp)
478acc:	e8 8d 6a fa ff       	call   0x41f55e
478ad1:	83 c4 04             	add    $0x4,%esp
478ad4:	e9 16 6d f9 ff       	jmp    0x40f7ef
478ad9:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
478adc:	85 c9                	test   %ecx,%ecx
478ade:	0f 84 0b 6d f9 ff    	je     0x40f7ef
478ae4:	51                   	push   %ecx
478ae5:	e8 d9 0c fc ff       	call   0x4397c3
478aea:	e9 00 6d f9 ff       	jmp    0x40f7ef
478aef:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
478af2:	85 c9                	test   %ecx,%ecx
478af4:	0f 84 f5 6c f9 ff    	je     0x40f7ef
478afa:	51                   	push   %ecx
478afb:	e8 ed 0c fc ff       	call   0x4397ed
478b00:	e9 ea 6c f9 ff       	jmp    0x40f7ef
478b05:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
478b08:	85 c9                	test   %ecx,%ecx
478b0a:	0f 84 df 6c f9 ff    	je     0x40f7ef
478b10:	51                   	push   %ecx
478b11:	e8 83 9f f8 ff       	call   0x402a99
478b16:	e9 d4 6c f9 ff       	jmp    0x40f7ef
478b1b:	6a 0f                	push   $0xf
478b1d:	8b ce                	mov    %esi,%ecx
478b1f:	e8 c0 4a f9 ff       	call   0x40d5e4
478b24:	84 c0                	test   %al,%al
478b26:	0f 84 a3 00 00 00    	je     0x478bcf
478b2c:	6a 00                	push   $0x0
478b2e:	6a 00                	push   $0x0
478b30:	8d 45 b8             	lea    -0x48(%ebp),%eax
478b33:	50                   	push   %eax
478b34:	8d 45 f8             	lea    -0x8(%ebp),%eax
478b37:	50                   	push   %eax
478b38:	57                   	push   %edi
478b39:	8b cb                	mov    %ebx,%ecx
478b3b:	89 75 90             	mov    %esi,-0x70(%ebp)
478b3e:	e8 ab 6a fe ff       	call   0x45f5ee
478b43:	85 c0                	test   %eax,%eax
478b45:	0f 88 fa 69 f9 ff    	js     0x40f545
478b4b:	8b 75 b8             	mov    -0x48(%ebp),%esi
478b4e:	c6 45 eb 00          	movb   $0x0,-0x15(%ebp)
478b52:	e9 b0 6c f9 ff       	jmp    0x40f807
478b57:	8b ce                	mov    %esi,%ecx
478b59:	e8 22 40 fe ff       	call   0x45cb80
478b5e:	84 c0                	test   %al,%al
478b60:	0f 84 85 00 00 00    	je     0x478beb
478b66:	8b 55 f8             	mov    -0x8(%ebp),%edx
478b69:	e9 d7 68 f9 ff       	jmp    0x40f445
478b6e:	66 83 ff 35          	cmp    $0x35,%di
478b72:	74 0a                	je     0x478b7e
478b74:	66 83 ff 47          	cmp    $0x47,%di
478b78:	0f 85 e5 68 f9 ff    	jne    0x40f463
478b7e:	8b 7d 08             	mov    0x8(%ebp),%edi
478b81:	8d 45 b8             	lea    -0x48(%ebp),%eax
478b84:	50                   	push   %eax
478b85:	8d 45 f8             	lea    -0x8(%ebp),%eax
478b88:	50                   	push   %eax
478b89:	57                   	push   %edi
478b8a:	8b cb                	mov    %ebx,%ecx
478b8c:	e8 79 58 fe ff       	call   0x45e40a
478b91:	83 f8 01             	cmp    $0x1,%eax
478b94:	0f 85 ab 69 f9 ff    	jne    0x40f545
478b9a:	8b 75 b8             	mov    -0x48(%ebp),%esi
478b9d:	8b 55 f8             	mov    -0x8(%ebp),%edx
478ba0:	e9 7b 68 f9 ff       	jmp    0x40f420
478ba5:	8b 41 04             	mov    0x4(%ecx),%eax
478ba8:	8b 44 90 fc          	mov    -0x4(%eax,%edx,4),%eax
478bac:	0f bf 40 0a          	movswl 0xa(%eax),%eax
478bb0:	50                   	push   %eax
478bb1:	6a 7b                	push   $0x7b
478bb3:	eb 05                	jmp    0x478bba
478bb5:	ff 75 e4             	push   -0x1c(%ebp)
478bb8:	6a 7a                	push   $0x7a
478bba:	8b 4d f0             	mov    -0x10(%ebp),%ecx
478bbd:	e8 9a 40 fd ff       	call   0x44cc5c
478bc2:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
478bc5:	e8 a6 54 f9 ff       	call   0x40e070
478bca:	e9 76 69 f9 ff       	jmp    0x40f545
478bcf:	8b 47 04             	mov    0x4(%edi),%eax
478bd2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
478bd5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
478bd8:	8b cb                	mov    %ebx,%ecx
478bda:	0f bf 40 0a          	movswl 0xa(%eax),%eax
478bde:	50                   	push   %eax
478bdf:	6a 7c                	push   $0x7c
478be1:	e8 76 40 fd ff       	call   0x44cc5c
478be6:	e9 5a 69 f9 ff       	jmp    0x40f545
478beb:	6a 01                	push   $0x1
478bed:	68 e0 40 4b 00       	push   $0x4b40e0
478bf2:	6a 00                	push   $0x0
478bf4:	68 a9 00 00 00       	push   $0xa9
478bf9:	8b cb                	mov    %ebx,%ecx
478bfb:	e8 bd 31 fe ff       	call   0x45bdbd
478c00:	85 c0                	test   %eax,%eax
478c02:	0f 89 3d 69 f9 ff    	jns    0x40f545
478c08:	8b 5d 08             	mov    0x8(%ebp),%ebx
478c0b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
478c0e:	8b 43 04             	mov    0x4(%ebx),%eax
478c11:	8b 04 88             	mov    (%eax,%ecx,4),%eax
478c14:	8b 4d f0             	mov    -0x10(%ebp),%ecx
478c17:	0f bf 40 0a          	movswl 0xa(%eax),%eax
478c1b:	50                   	push   %eax
478c1c:	68 a9 00 00 00       	push   $0xa9
478c21:	e8 36 40 fd ff       	call   0x44cc5c
478c26:	e9 1a 69 f9 ff       	jmp    0x40f545
478c2b:	66 83 f9 53          	cmp    $0x53,%cx
478c2f:	0f 84 4c 68 f9 ff    	je     0x40f481
478c35:	66 83 f9 54          	cmp    $0x54,%cx
478c39:	0f 84 42 68 f9 ff    	je     0x40f481
478c3f:	66 83 f9 55          	cmp    $0x55,%cx
478c43:	0f 84 38 68 f9 ff    	je     0x40f481
478c49:	66 83 f9 56          	cmp    $0x56,%cx
478c4d:	0f 84 2e 68 f9 ff    	je     0x40f481
478c53:	0f bf 40 0a          	movswl 0xa(%eax),%eax
478c57:	8b 4d f0             	mov    -0x10(%ebp),%ecx
478c5a:	50                   	push   %eax
478c5b:	68 80 00 00 00       	push   $0x80
478c60:	e8 f7 3f fd ff       	call   0x44cc5c
478c65:	e9 db 68 f9 ff       	jmp    0x40f545
478c6a:	8b 45 dc             	mov    -0x24(%ebp),%eax
478c6d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
478c70:	8b 10                	mov    (%eax),%edx
478c72:	e8 72 43 f9 ff       	call   0x40cfe9
478c77:	84 c0                	test   %al,%al
478c79:	74 24                	je     0x478c9f