477737:	e8 e3 57 f9 ff       	call   0x40cf1f
47773c:	e9 3b b8 f9 ff       	jmp    0x412f7c
477741:	6a 02                	push   $0x2
477743:	8d 4d a8             	lea    -0x58(%ebp),%ecx
477746:	e8 99 5e f9 ff       	call   0x40d5e4
47774b:	84 c0                	test   %al,%al
47774d:	0f 85 5d b8 f9 ff    	jne    0x412fb0
477753:	6a 03                	push   $0x3
477755:	8d 4d a8             	lea    -0x58(%ebp),%ecx
477758:	e8 87 5e f9 ff       	call   0x40d5e4
47775d:	84 c0                	test   %al,%al
47775f:	0f 85 4b b8 f9 ff    	jne    0x412fb0
477765:	8d 4d a8             	lea    -0x58(%ebp),%ecx
477768:	e8 b7 4f fa ff       	call   0x41c724
47776d:	8d 4d a8             	lea    -0x58(%ebp),%ecx
477770:	84 c0                	test   %al,%al
477772:	74 0a                	je     0x47777e
477774:	e8 b9 5b fa ff       	call   0x41d332
477779:	e9 32 b8 f9 ff       	jmp    0x412fb0
47777e:	e8 9c 57 f9 ff       	call   0x40cf1f
477783:	e9 28 b8 f9 ff       	jmp    0x412fb0
477788:	0f bf 40 0a          	movswl 0xa(%eax),%eax
47778c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47778f:	50                   	push   %eax
477790:	6a 72                	push   $0x72
477792:	e8 c5 54 fd ff       	call   0x44cc5c
477797:	e9 64 b9 f9 ff       	jmp    0x413100
47779c:	8b 45 90             	mov    -0x70(%ebp),%eax
47779f:	40                   	inc    %eax
4777a0:	89 06                	mov    %eax,(%esi)
4777a2:	e9 59 b9 f9 ff       	jmp    0x413100
4777a7:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4777aa:	83 f8 05             	cmp    $0x5,%eax
4777ad:	0f 84 f6 00 00 00    	je     0x4778a9
4777b3:	83 f8 0f             	cmp    $0xf,%eax
4777b6:	0f 84 78 b8 f9 ff    	je     0x413034
4777bc:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4777bf:	e8 5c b4 f9 ff       	call   0x412c20
4777c4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4777c7:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
4777ce:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
4777d5:	e8 46 b4 f9 ff       	call   0x412c20
4777da:	8b 7d fc             	mov    -0x4(%ebp),%edi
4777dd:	8d 45 d8             	lea    -0x28(%ebp),%eax
4777e0:	50                   	push   %eax
4777e1:	8d 45 c8             	lea    -0x38(%ebp),%eax
4777e4:	50                   	push   %eax
4777e5:	53                   	push   %ebx
4777e6:	8b cf                	mov    %edi,%ecx
4777e8:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
4777ef:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
4777f6:	e8 0d 43 fe ff       	call   0x45bb08
4777fb:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4777fe:	e8 25 3d fd ff       	call   0x44b528
477803:	8b cb                	mov    %ebx,%ecx
477805:	84 c0                	test   %al,%al
477807:	75 41                	jne    0x47784a
477809:	68 00 dc 49 00       	push   $0x49dc00
47780e:	e8 a6 55 f9 ff       	call   0x40cdb9
477813:	8d 4d c8             	lea    -0x38(%ebp),%ecx
477816:	e8 05 b4 f9 ff       	call   0x412c20
47781b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47781e:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
477825:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
47782c:	e8 ef b3 f9 ff       	call   0x412c20
477831:	8b 45 90             	mov    -0x70(%ebp),%eax
477834:	40                   	inc    %eax
477835:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
47783c:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
477843:	89 06                	mov    %eax,(%esi)
477845:	e9 b6 b8 f9 ff       	jmp    0x413100
47784a:	8d 45 d8             	lea    -0x28(%ebp),%eax
47784d:	50                   	push   %eax
47784e:	e8 5b 64 f9 ff       	call   0x40dcae
477853:	8d 45 c8             	lea    -0x38(%ebp),%eax
477856:	50                   	push   %eax
477857:	8d 4d a8             	lea    -0x58(%ebp),%ecx
47785a:	e8 4f 64 f9 ff       	call   0x40dcae
47785f:	8d 45 88             	lea    -0x78(%ebp),%eax
477862:	8d 8f 60 01 00 00    	lea    0x160(%edi),%ecx
477868:	50                   	push   %eax
477869:	e8 17 e6 f8 ff       	call   0x405e85
47786e:	8b 45 8c             	mov    -0x74(%ebp),%eax
477871:	40                   	inc    %eax
477872:	e9 87 b8 f9 ff       	jmp    0x4130fe
477877:	8d 4d 88             	lea    -0x78(%ebp),%ecx
47787a:	51                   	push   %ecx
47787b:	8b 88 64 01 00 00    	mov    0x164(%eax),%ecx
477881:	e8 dc 54 fe ff       	call   0x45cd62
477886:	8b 4d fc             	mov    -0x4(%ebp),%ecx
477889:	c6 81 69 01 00 00 00 	movb   $0x0,0x169(%ecx)
477890:	e9 60 b8 f9 ff       	jmp    0x4130f5
477895:	8d 55 98             	lea    -0x68(%ebp),%edx
477898:	8b cb                	mov    %ebx,%ecx
47789a:	e8 43 6c fa ff       	call   0x41e4e2
47789f:	84 c0                	test   %al,%al
4778a1:	0f 84 f5 fe ff ff    	je     0x47779c
4778a7:	eb 16                	jmp    0x4778bf
4778a9:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4778ac:	e8 6f b3 f9 ff       	call   0x412c20
4778b1:	c7 45 b4 01 00 00 00 	movl   $0x1,-0x4c(%ebp)
4778b8:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
4778bf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4778c2:	8d 45 88             	lea    -0x78(%ebp),%eax
4778c5:	8d 89 60 01 00 00    	lea    0x160(%ecx),%ecx
4778cb:	50                   	push   %eax
4778cc:	e8 b4 e5 f8 ff       	call   0x405e85
4778d1:	8b 45 8c             	mov    -0x74(%ebp),%eax
4778d4:	40                   	inc    %eax
4778d5:	e9 24 b8 f9 ff       	jmp    0x4130fe
4778da:	0f bf 40 0a          	movswl 0xa(%eax),%eax
4778de:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4778e1:	50                   	push   %eax
4778e2:	68 94 00 00 00       	push   $0x94
4778e7:	e8 70 53 fd ff       	call   0x44cc5c
4778ec:	e9 0f b8 f9 ff       	jmp    0x413100
4778f1:	ff 75 ec             	push   -0x14(%ebp)
4778f4:	e8 65 7c fa ff       	call   0x41f55e
4778f9:	83 c4 04             	add    $0x4,%esp
4778fc:	56                   	push   %esi
4778fd:	e8 5c 7c fa ff       	call   0x41f55e
477902:	83 c4 04             	add    $0x4,%esp
477905:	e9 01 b8 f9 ff       	jmp    0x41310b
47790a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47790d:	e8 5e 67 f9 ff       	call   0x40e070
477912:	e9 39 6b f9 ff       	jmp    0x40e450
477917:	dd 45 e0             	fldl   -0x20(%ebp)
47791a:	d9 ee                	fldz
47791c:	da e9                	fucompp
47791e:	df e0                	fnstsw %ax
477920:	f6 c4 44             	test   $0x44,%ah
477923:	0f 8a 43 6b f9 ff    	jp     0x40e46c
477929:	e9 db 6a f9 ff       	jmp    0x40e409
47792e:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
477932:	0f 84 d1 6a f9 ff    	je     0x40e409
477938:	8b 55 e0             	mov    -0x20(%ebp),%edx
47793b:	e9 2c 6b f9 ff       	jmp    0x40e46c
477940:	83 3a 00             	cmpl   $0x0,(%edx)
477943:	0f 85 23 6b f9 ff    	jne    0x40e46c
477949:	e9 bb 6a f9 ff       	jmp    0x40e409
47794e:	51                   	push   %ecx
47794f:	8b cf                	mov    %edi,%ecx
477951:	e8 43 b1 f8 ff       	call   0x402a99
477956:	8b 4d ec             	mov    -0x14(%ebp),%ecx
477959:	8b 55 e0             	mov    -0x20(%ebp),%edx
47795c:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
477963:	e9 ae 6a f9 ff       	jmp    0x40e416
477968:	ff 24 8d ea 7b 47 00 	jmp    *0x477bea(,%ecx,4)
47796f:	85 d2                	test   %edx,%edx
477971:	0f 84 a8 6a f9 ff    	je     0x40e41f
477977:	52                   	push   %edx
477978:	ff 15 4c d4 48 00    	call   *0x48d44c
47797e:	ff 75 e0             	push   -0x20(%ebp)
477981:	e8 d8 7b fa ff       	call   0x41f55e
477986:	83 c4 04             	add    $0x4,%esp
477989:	e9 91 6a f9 ff       	jmp    0x40e41f
47798e:	85 d2                	test   %edx,%edx
477990:	0f 84 89 6a f9 ff    	je     0x40e41f
477996:	51                   	push   %ecx
477997:	8b ca                	mov    %edx,%ecx
477999:	e8 cd 27 fd ff       	call   0x44a16b
47799e:	e9 7c 6a f9 ff       	jmp    0x40e41f
4779a3:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4779a6:	e8 13 63 fa ff       	call   0x41dcbe
4779ab:	e9 6f 6a f9 ff       	jmp    0x40e41f
4779b0:	ff 72 04             	push   0x4(%edx)
4779b3:	e8 a6 7b fa ff       	call   0x41f55e
4779b8:	83 c4 04             	add    $0x4,%esp
4779bb:	ff 75 e0             	push   -0x20(%ebp)
4779be:	e8 9b 7b fa ff       	call   0x41f55e
4779c3:	83 c4 04             	add    $0x4,%esp
4779c6:	e9 54 6a f9 ff       	jmp    0x40e41f
4779cb:	85 d2                	test   %edx,%edx
4779cd:	0f 84 4c 6a f9 ff    	je     0x40e41f
4779d3:	51                   	push   %ecx
4779d4:	8b ca                	mov    %edx,%ecx
4779d6:	e8 e8 1d fc ff       	call   0x4397c3
4779db:	e9 3f 6a f9 ff       	jmp    0x40e41f
4779e0:	85 d2                	test   %edx,%edx
4779e2:	0f 84 37 6a f9 ff    	je     0x40e41f
4779e8:	51                   	push   %ecx
4779e9:	8b ca                	mov    %edx,%ecx
4779eb:	e8 fd 1d fc ff       	call   0x4397ed
4779f0:	e9 2a 6a f9 ff       	jmp    0x40e41f
4779f5:	85 d2                	test   %edx,%edx
4779f7:	0f 84 22 6a f9 ff    	je     0x40e41f
4779fd:	51                   	push   %ecx
4779fe:	8b ca                	mov    %edx,%ecx
477a00:	e8 94 b0 f8 ff       	call   0x402a99
477a05:	e9 15 6a f9 ff       	jmp    0x40e41f
477a0a:	8b 03                	mov    (%ebx),%eax
477a0c:	89 06                	mov    %eax,(%esi)
477a0e:	8b 43 04             	mov    0x4(%ebx),%eax
477a11:	89 46 04             	mov    %eax,0x4(%esi)
477a14:	e9 c3 6a f9 ff       	jmp    0x40e4dc
477a19:	03 c0                	add    %eax,%eax
477a1b:	83 f8 08             	cmp    $0x8,%eax
477a1e:	73 05                	jae    0x477a25
477a20:	b8 08 00 00 00       	mov    $0x8,%eax
477a25:	33 c9                	xor    %ecx,%ecx
477a27:	89 45 ec             	mov    %eax,-0x14(%ebp)
477a2a:	ba 04 00 00 00       	mov    $0x4,%edx
477a2f:	f7 e2                	mul    %edx
477a31:	0f 90 c1             	seto   %cl
477a34:	f7 d9                	neg    %ecx
477a36:	0b c8                	or     %eax,%ecx
477a38:	51                   	push   %ecx
477a39:	e8 ac 7a fa ff       	call   0x41f4ea
477a3e:	8b f0                	mov    %eax,%esi
477a40:	8b 45 e4             	mov    -0x1c(%ebp),%eax
477a43:	83 c4 04             	add    $0x4,%esp
477a46:	85 c0                	test   %eax,%eax
477a48:	74 20                	je     0x477a6a
477a4a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
477a4d:	85 c9                	test   %ecx,%ecx
477a4f:	74 19                	je     0x477a6a
477a51:	c1 e1 02             	shl    $0x2,%ecx
477a54:	51                   	push   %ecx
477a55:	50                   	push   %eax
477a56:	56                   	push   %esi
477a57:	e8 24 74 fa ff       	call   0x41ee80
477a5c:	83 c4 0c             	add    $0xc,%esp
477a5f:	ff 75 e4             	push   -0x1c(%ebp)
477a62:	e8 f7 7a fa ff       	call   0x41f55e
477a67:	83 c4 04             	add    $0x4,%esp
477a6a:	89 75 e4             	mov    %esi,-0x1c(%ebp)
477a6d:	e9 32 6b f9 ff       	jmp    0x40e5a4
477a72:	66 83 f8 30          	cmp    $0x30,%ax
477a76:	0f 8c 5a 6b f9 ff    	jl     0x40e5d6
477a7c:	6a 10                	push   $0x10
477a7e:	e8 67 7a fa ff       	call   0x41f4ea
477a83:	8b d0                	mov    %eax,%edx
477a85:	83 c4 04             	add    $0x4,%esp
477a88:	85 d2                	test   %edx,%edx
477a8a:	74 21                	je     0x477aad
477a8c:	8b 07                	mov    (%edi),%eax
477a8e:	8b 08                	mov    (%eax),%ecx
477a90:	89 0a                	mov    %ecx,(%edx)
477a92:	8b 48 04             	mov    0x4(%eax),%ecx
477a95:	89 4a 04             	mov    %ecx,0x4(%edx)
477a98:	8b 48 08             	mov    0x8(%eax),%ecx
477a9b:	89 4a 08             	mov    %ecx,0x8(%edx)
477a9e:	8b 40 0c             	mov    0xc(%eax),%eax
477aa1:	89 42 0c             	mov    %eax,0xc(%edx)
477aa4:	ff 00                	incl   (%eax)
477aa6:	89 16                	mov    %edx,(%esi)
477aa8:	e9 41 6b f9 ff       	jmp    0x40e5ee
477aad:	33 d2                	xor    %edx,%edx
477aaf:	89 16                	mov    %edx,(%esi)
477ab1:	e9 38 6b f9 ff       	jmp    0x40e5ee
477ab6:	8b 07                	mov    (%edi),%eax
477ab8:	89 06                	mov    %eax,(%esi)
477aba:	8b 47 04             	mov    0x4(%edi),%eax
477abd:	89 46 04             	mov    %eax,0x4(%esi)
477ac0:	e9 29 6b f9 ff       	jmp    0x40e5ee
477ac5:	ff 33                	push   (%ebx)
477ac7:	e8 92 7a fa ff       	call   0x41f55e
477acc:	83 c4 04             	add    $0x4,%esp
477acf:	ff 73 0c             	push   0xc(%ebx)
477ad2:	e8 87 7a fa ff       	call   0x41f55e
477ad7:	83 c4 04             	add    $0x4,%esp
477ada:	e9 9d 6b f9 ff       	jmp    0x40e67c
477adf:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
477ae3:	0f 85 ee 6b f9 ff    	jne    0x40e6d7
477ae9:	80 7d 0b 01          	cmpb   $0x1,0xb(%ebp)
477aed:	0f 84 b3 00 00 00    	je     0x477ba6
477af3:	84 db                	test   %bl,%bl
477af5:	0f 85 dc 6b f9 ff    	jne    0x40e6d7
477afb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
477afe:	8d 42 ff             	lea    -0x1(%edx),%eax
477b01:	89 81 f4 00 00 00    	mov    %eax,0xf4(%ecx)
477b07:	8d 45 ff             	lea    -0x1(%ebp),%eax
477b0a:	50                   	push   %eax
477b0b:	8d 45 f0             	lea    -0x10(%ebp),%eax
477b0e:	50                   	push   %eax
477b0f:	56                   	push   %esi
477b10:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
477b17:	e8 94 db f8 ff       	call   0x4056b0
477b1c:	85 c0                	test   %eax,%eax
477b1e:	0f 88 89 6c f9 ff    	js     0x40e7ad
477b24:	8b 56 04             	mov    0x4(%esi),%edx
477b27:	8b 4d f0             	mov    -0x10(%ebp),%ecx
477b2a:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
477b2d:	66 83 78 08 00       	cmpw   $0x0,0x8(%eax)
477b32:	75 4a                	jne    0x477b7e
477b34:	83 38 05             	cmpl   $0x5,(%eax)
477b37:	75 45                	jne    0x477b7e
477b39:	8b 44 8a 04          	mov    0x4(%edx,%ecx,4),%eax
477b3d:	66 83 78 08 7f       	cmpw   $0x7f,0x8(%eax)
477b42:	75 15                	jne    0x477b59
477b44:	8a 5d ff             	mov    -0x1(%ebp),%bl
477b47:	84 db                	test   %bl,%bl
477b49:	0f 84 88 6b f9 ff    	je     0x40e6d7
477b4f:	8b 17                	mov    (%edi),%edx
477b51:	89 55 f4             	mov    %edx,-0xc(%ebp)
477b54:	e9 7e 6b f9 ff       	jmp    0x40e6d7
477b59:	8b 07                	mov    (%edi),%eax
477b5b:	8b 55 f8             	mov    -0x8(%ebp),%edx
477b5e:	48                   	dec    %eax
477b5f:	89 82 f4 00 00 00    	mov    %eax,0xf4(%edx)
477b65:	8b 46 04             	mov    0x4(%esi),%eax
477b68:	8b 04 88             	mov    (%eax,%ecx,4),%eax
477b6b:	8b ca                	mov    %edx,%ecx
477b6d:	0f bf 40 0a          	movswl 0xa(%eax),%eax
477b71:	50                   	push   %eax
477b72:	6a 72                	push   $0x72
477b74:	e8 e3 50 fd ff       	call   0x44cc5c
477b79:	e9 2f 6c f9 ff       	jmp    0x40e7ad
477b7e:	8b 07                	mov    (%edi),%eax
477b80:	8b 55 f8             	mov    -0x8(%ebp),%edx
477b83:	48                   	dec    %eax
477b84:	89 82 f4 00 00 00    	mov    %eax,0xf4(%edx)
477b8a:	8b 46 04             	mov    0x4(%esi),%eax
477b8d:	8b 04 88             	mov    (%eax,%ecx,4),%eax
477b90:	8b ca                	mov    %edx,%ecx
477b92:	0f bf 40 0a          	movswl 0xa(%eax),%eax
477b96:	50                   	push   %eax
477b97:	68 a1 00 00 00       	push   $0xa1
477b9c:	e8 bb 50 fd ff       	call   0x44cc5c
477ba1:	e9 07 6c f9 ff       	jmp    0x40e7ad
477ba6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
477ba9:	6a ff                	push   $0xffffffff
477bab:	6a 76                	push   $0x76
477bad:	e8 aa 50 fd ff       	call   0x44cc5c
477bb2:	e9 f6 6b f9 ff       	jmp    0x40e7ad
477bb7:	8b 8b 64 01 00 00    	mov    0x164(%ebx),%ecx
477bbd:	8d 45 b0             	lea    -0x50(%ebp),%eax
477bc0:	50                   	push   %eax
477bc1:	e8 9c 51 fe ff       	call   0x45cd62
477bc6:	c6 83 69 01 00 00 00 	movb   $0x0,0x169(%ebx)
477bcd:	e9 d5 6b f9 ff       	jmp    0x40e7a7
477bd2:	0f bf 40 0a          	movswl 0xa(%eax),%eax
477bd6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
477bd9:	50                   	push   %eax
477bda:	68 a1 00 00 00       	push   $0xa1
477bdf:	e8 78 50 fd ff       	call   0x44cc5c
477be4:	e9 67 68 f9 ff       	jmp    0x40e450
477be9:	90                   	nop
477bea:	a3 79 47 00 1f       	mov    %eax,0x1f004779
477bef:	e4 40                	in     $0x40,%al
477bf1:	00 1f                	add    %bl,(%edi)
477bf3:	e4 40                	in     $0x40,%al
477bf5:	00 6f 79             	add    %ch,0x79(%edi)
477bf8:	47                   	inc    %edi
477bf9:	00 1f                	add    %bl,(%edi)
477bfb:	e4 40                	in     $0x40,%al
477bfd:	00 8e 79 47 00 b0    	add    %cl,-0x4fffb887(%esi)
477c03:	79 47                	jns    0x477c4c
477c05:	00 cb                	add    %cl,%bl
477c07:	79 47                	jns    0x477c50