4517a3:	56                   	push   %esi
4517a4:	ff 74 24 44          	push   0x44(%esp)
4517a8:	e9 a1 00 00 00       	jmp    0x45184e
4517ad:	50                   	push   %eax
4517ae:	8d 4c 24 34          	lea    0x34(%esp),%ecx
4517b2:	e8 ac 52 fb ff       	call   0x406a63
4517b7:	68 6c 32 4b 00       	push   $0x4b326c
4517bc:	8d 4c 24 34          	lea    0x34(%esp),%ecx
4517c0:	e8 a4 09 00 00       	call   0x452169
4517c5:	68 70 32 4b 00       	push   $0x4b3270
4517ca:	8d 4c 24 34          	lea    0x34(%esp),%ecx
4517ce:	89 44 24 10          	mov    %eax,0x10(%esp)
4517d2:	e8 92 09 00 00       	call   0x452169
4517d7:	8b f0                	mov    %eax,%esi
4517d9:	8b 44 24 0c          	mov    0xc(%esp),%eax
4517dd:	83 f8 ff             	cmp    $0xffffffff,%eax
4517e0:	0f 84 00 01 00 00    	je     0x4518e6
4517e6:	83 fe ff             	cmp    $0xffffffff,%esi
4517e9:	0f 84 f7 00 00 00    	je     0x4518e6
4517ef:	3b f0                	cmp    %eax,%esi
4517f1:	0f 82 ef 00 00 00    	jb     0x4518e6
4517f7:	8d 44 24 30          	lea    0x30(%esp),%eax
4517fb:	50                   	push   %eax
4517fc:	8d 4c 24 18          	lea    0x18(%esp),%ecx
451800:	e8 08 39 fb ff       	call   0x40510d
451805:	68 8c 2a 4b 00       	push   $0x4b2a8c
45180a:	8d 4c 24 18          	lea    0x18(%esp),%ecx
45180e:	e8 79 39 fb ff       	call   0x40518c
451813:	8b 44 24 0c          	mov    0xc(%esp),%eax
451817:	2b f0                	sub    %eax,%esi
451819:	4e                   	dec    %esi
45181a:	56                   	push   %esi
45181b:	40                   	inc    %eax
45181c:	50                   	push   %eax
45181d:	8d 44 24 38          	lea    0x38(%esp),%eax
451821:	50                   	push   %eax
451822:	8d 8c 24 84 00 00 00 	lea    0x84(%esp),%ecx
451829:	e8 bb 51 fb ff       	call   0x4069e9
45182e:	8d 44 24 78          	lea    0x78(%esp),%eax
451832:	50                   	push   %eax
451833:	8d 4c 24 18          	lea    0x18(%esp),%ecx
451837:	e8 d1 38 fb ff       	call   0x40510d
45183c:	be 8c 2a 4b 00       	mov    $0x4b2a8c,%esi
451841:	56                   	push   %esi
451842:	8d 4c 24 18          	lea    0x18(%esp),%ecx
451846:	e8 41 39 fb ff       	call   0x40518c
45184b:	56                   	push   %esi
45184c:	6a 00                	push   $0x0
45184e:	e8 35 0e fd ff       	call   0x422688
451853:	59                   	pop    %ecx
451854:	59                   	pop    %ecx
451855:	85 c0                	test   %eax,%eax
451857:	0f 85 50 ff ff ff    	jne    0x4517ad
45185d:	56                   	push   %esi
45185e:	8d 4c 24 18          	lea    0x18(%esp),%ecx
451862:	e8 25 39 fb ff       	call   0x40518c
451867:	33 f6                	xor    %esi,%esi
451869:	46                   	inc    %esi
45186a:	39 74 24 18          	cmp    %esi,0x18(%esp)
45186e:	76 26                	jbe    0x451896
451870:	56                   	push   %esi
451871:	8d 4c 24 18          	lea    0x18(%esp),%ecx
451875:	e8 2c 49 fb ff       	call   0x4061a6
45187a:	66 83 38 7c          	cmpw   $0x7c,(%eax)
45187e:	75 0f                	jne    0x45188f
451880:	56                   	push   %esi
451881:	8d 4c 24 18          	lea    0x18(%esp),%ecx
451885:	e8 1c 49 fb ff       	call   0x4061a6
45188a:	33 c9                	xor    %ecx,%ecx
45188c:	66 89 08             	mov    %cx,(%eax)
45188f:	46                   	inc    %esi
451890:	3b 74 24 18          	cmp    0x18(%esp),%esi
451894:	72 da                	jb     0x451870
451896:	83 7d 10 06          	cmpl   $0x6,0x10(%ebp)
45189a:	72 0f                	jb     0x4518ab
45189c:	8b 47 04             	mov    0x4(%edi),%eax
45189f:	8b 48 14             	mov    0x14(%eax),%ecx
4518a2:	e8 d0 9c ff ff       	call   0x44b577
4518a7:	89 44 24 24          	mov    %eax,0x24(%esp)
4518ab:	68 fe ff 01 00       	push   $0x1fffe
4518b0:	e8 35 dc fc ff       	call   0x41f4ea
4518b5:	59                   	pop    %ecx
4518b6:	50                   	push   %eax
4518b7:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4518bb:	e8 f7 2e fb ff       	call   0x4047b7
4518c0:	83 7d 10 05          	cmpl   $0x5,0x10(%ebp)
4518c4:	72 35                	jb     0x4518fb
4518c6:	8b 47 04             	mov    0x4(%edi),%eax
4518c9:	8b 70 10             	mov    0x10(%eax),%esi
4518cc:	8b ce                	mov    %esi,%ecx
4518ce:	e8 99 7a fb ff       	call   0x40936c
4518d3:	8b 46 08             	mov    0x8(%esi),%eax
4518d6:	8b 74 24 0c          	mov    0xc(%esp),%esi
4518da:	ff 30                	push   (%eax)
4518dc:	56                   	push   %esi
4518dd:	e8 41 f4 fc ff       	call   0x420d23
4518e2:	59                   	pop    %ecx
4518e3:	59                   	pop    %ecx
4518e4:	eb 1e                	jmp    0x451904
4518e6:	8b 03                	mov    (%ebx),%eax
4518e8:	6a 00                	push   $0x0
4518ea:	8b 48 04             	mov    0x4(%eax),%ecx
4518ed:	6a 02                	push   $0x2
4518ef:	03 cb                	add    %ebx,%ecx
4518f1:	e8 56 b6 ff ff       	call   0x44cf4c
4518f6:	e9 f3 01 00 00       	jmp    0x451aee
4518fb:	8b 74 24 0c          	mov    0xc(%esp),%esi
4518ff:	33 c0                	xor    %eax,%eax
451901:	66 89 06             	mov    %ax,(%esi)
451904:	6a 58                	push   $0x58
451906:	8d 84 24 8c 00 00 00 	lea    0x8c(%esp),%eax
45190d:	6a 00                	push   $0x0
45190f:	50                   	push   %eax
451910:	e8 3b f4 fc ff       	call   0x420d50
451915:	8b 44 24 30          	mov    0x30(%esp),%eax
451919:	89 84 24 98 00 00 00 	mov    %eax,0x98(%esp)
451920:	8b 44 24 20          	mov    0x20(%esp),%eax
451924:	89 84 24 a0 00 00 00 	mov    %eax,0xa0(%esp)
45192b:	8b 44 24 38          	mov    0x38(%esp),%eax
45192f:	89 84 24 c4 00 00 00 	mov    %eax,0xc4(%esp)
451936:	8b 44 24 34          	mov    0x34(%esp),%eax
45193a:	83 c4 0c             	add    $0xc,%esp
45193d:	83 7d 10 04          	cmpl   $0x4,0x10(%ebp)
451941:	89 b4 24 a4 00 00 00 	mov    %esi,0xa4(%esp)
451948:	c7 84 24 88 00 00 00 	movl   $0x58,0x88(%esp)
45194f:	58 00 00 00
451953:	c7 84 24 a8 00 00 00 	movl   $0xffff,0xa8(%esp)
45195a:	ff ff 00 00
45195e:	89 84 24 b4 00 00 00 	mov    %eax,0xb4(%esp)
451965:	c7 84 24 c4 00 00 00 	movl   $0x49dc00,0xc4(%esp)
45196c:	00 dc 49 00
451970:	be 04 00 08 00       	mov    $0x80004,%esi
451975:	0f 82 85 00 00 00    	jb     0x451a00
45197b:	8b 47 04             	mov    0x4(%edi),%eax
45197e:	8b 48 0c             	mov    0xc(%eax),%ecx
451981:	e8 00 b9 fb ff       	call   0x40d286
451986:	83 f8 1f             	cmp    $0x1f,%eax
451989:	7f 75                	jg     0x451a00
45198b:	8b 47 04             	mov    0x4(%edi),%eax
45198e:	8b 48 0c             	mov    0xc(%eax),%ecx
451991:	e8 f0 b8 fb ff       	call   0x40d286
451996:	85 c0                	test   %eax,%eax
451998:	78 66                	js     0x451a00
45199a:	8b 47 04             	mov    0x4(%edi),%eax
45199d:	8b 48 0c             	mov    0xc(%eax),%ecx
4519a0:	e8 e1 b8 fb ff       	call   0x40d286
4519a5:	a8 10                	test   $0x10,%al
4519a7:	74 03                	je     0x4519ac
4519a9:	83 c6 02             	add    $0x2,%esi
4519ac:	8b 47 04             	mov    0x4(%edi),%eax
4519af:	8b 48 0c             	mov    0xc(%eax),%ecx
4519b2:	e8 cf b8 fb ff       	call   0x40d286
4519b7:	a8 08                	test   $0x8,%al
4519b9:	74 06                	je     0x4519c1
4519bb:	81 ce 00 20 00 00    	or     $0x2000,%esi
4519c1:	8b 47 04             	mov    0x4(%edi),%eax
4519c4:	8b 48 0c             	mov    0xc(%eax),%ecx
4519c7:	e8 ba b8 fb ff       	call   0x40d286
4519cc:	a8 04                	test   $0x4,%al
4519ce:	74 06                	je     0x4519d6
4519d0:	81 ce 00 02 00 00    	or     $0x200,%esi
4519d6:	8b 47 04             	mov    0x4(%edi),%eax
4519d9:	8b 48 0c             	mov    0xc(%eax),%ecx
4519dc:	e8 a5 b8 fb ff       	call   0x40d286
4519e1:	a8 02                	test   $0x2,%al
4519e3:	74 06                	je     0x4519eb
4519e5:	81 ce 00 08 00 00    	or     $0x800,%esi
4519eb:	8b 47 04             	mov    0x4(%edi),%eax
4519ee:	8b 48 0c             	mov    0xc(%eax),%ecx
4519f1:	e8 90 b8 fb ff       	call   0x40d286
4519f6:	a8 01                	test   $0x1,%al
4519f8:	74 06                	je     0x451a00
4519fa:	81 ce 00 10 00 00    	or     $0x1000,%esi
451a00:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
451a04:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
451a0b:	89 b4 24 bc 00 00 00 	mov    %esi,0xbc(%esp)
451a12:	50                   	push   %eax
451a13:	0f 84 a0 00 00 00    	je     0x451ab9
451a19:	ff 15 bc d0 48 00    	call   *0x48d0bc
451a1f:	85 c0                	test   %eax,%eax
451a21:	0f 84 ad 00 00 00    	je     0x451ad4
451a27:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
451a2e:	f7 c6 00 02 00 00    	test   $0x200,%esi
451a34:	0f 84 90 00 00 00    	je     0x451aca
451a3a:	e8 9c f2 fc ff       	call   0x420cdb
451a3f:	59                   	pop    %ecx
451a40:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
451a47:	8d 4c 24 6c          	lea    0x6c(%esp),%ecx
451a4b:	8b f0                	mov    %eax,%esi
451a4d:	e8 c7 b3 fb ff       	call   0x40ce19
451a52:	8b 84 24 a4 00 00 00 	mov    0xa4(%esp),%eax
451a59:	83 c0 02             	add    $0x2,%eax
451a5c:	33 db                	xor    %ebx,%ebx
451a5e:	eb 32                	jmp    0x451a92
451a60:	50                   	push   %eax
451a61:	e8 75 f2 fc ff       	call   0x420cdb
451a66:	8d 4c 24 6c          	lea    0x6c(%esp),%ecx
451a6a:	8b f0                	mov    %eax,%esi
451a6c:	c7 04 24 8c 2a 4b 00 	movl   $0x4b2a8c,(%esp)
451a73:	e8 14 37 fb ff       	call   0x40518c
451a78:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
451a7f:	8d 4c 24 6c          	lea    0x6c(%esp),%ecx
451a83:	e8 04 37 fb ff       	call   0x40518c
451a88:	8b 84 24 a4 00 00 00 	mov    0xa4(%esp),%eax
451a8f:	83 c0 02             	add    $0x2,%eax
451a92:	8d 04 70             	lea    (%eax,%esi,2),%eax
451a95:	89 84 24 a4 00 00 00 	mov    %eax,0xa4(%esp)
451a9c:	66 39 18             	cmp    %bx,(%eax)
451a9f:	75 bf                	jne    0x451a60
451aa1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
451aa4:	8d 44 24 68          	lea    0x68(%esp),%eax
451aa8:	50                   	push   %eax
451aa9:	e8 ba 50 fb ff       	call   0x406b68
451aae:	8d 4c 24 68          	lea    0x68(%esp),%ecx
451ab2:	e8 80 b0 fb ff       	call   0x40cb37
451ab7:	eb 2c                	jmp    0x451ae5
451ab9:	ff 15 b8 d0 48 00    	call   *0x48d0b8
451abf:	85 c0                	test   %eax,%eax
451ac1:	74 11                	je     0x451ad4
451ac3:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
451aca:	8b 4d 0c             	mov    0xc(%ebp),%ecx
451acd:	e8 e7 b2 fb ff       	call   0x40cdb9
451ad2:	eb 11                	jmp    0x451ae5
451ad4:	33 c0                	xor    %eax,%eax
451ad6:	50                   	push   %eax
451ad7:	8b 03                	mov    (%ebx),%eax
451ad9:	6a 01                	push   $0x1
451adb:	8b 48 04             	mov    0x4(%eax),%ecx
451ade:	03 cb                	add    %ebx,%ecx
451ae0:	e8 67 b4 ff ff       	call   0x44cf4c
451ae5:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
451ae9:	e8 f4 2c fb ff       	call   0x4047e2
451aee:	8d 4c 24 40          	lea    0x40(%esp),%ecx
451af2:	e8 eb 2c fb ff       	call   0x4047e2
451af7:	8d 4c 24 30          	lea    0x30(%esp),%ecx
451afb:	e8 37 b0 fb ff       	call   0x40cb37
451b00:	8d 4c 24 14          	lea    0x14(%esp),%ecx
451b04:	e8 2e b0 fb ff       	call   0x40cb37
451b09:	8d 4c 24 48          	lea    0x48(%esp),%ecx
451b0d:	e8 25 b0 fb ff       	call   0x40cb37
451b12:	8d 4c 24 58          	lea    0x58(%esp),%ecx
451b16:	e8 1c b0 fb ff       	call   0x40cb37
451b1b:	8d 4c 24 78          	lea    0x78(%esp),%ecx
451b1f:	e8 13 b0 fb ff       	call   0x40cb37
451b24:	5f                   	pop    %edi
451b25:	5e                   	pop    %esi
451b26:	33 c0                	xor    %eax,%eax
451b28:	5b                   	pop    %ebx
451b29:	8b e5                	mov    %ebp,%esp
451b2b:	5d                   	pop    %ebp
451b2c:	c2 10 00             	ret    $0x10
451b2f:	55                   	push   %ebp
451b30:	8b ec                	mov    %esp,%ebp
451b32:	81 ec 5c 02 00 00    	sub    $0x25c,%esp
451b38:	53                   	push   %ebx
451b39:	56                   	push   %esi
451b3a:	57                   	push   %edi
451b3b:	8b 3d f0 d1 48 00    	mov    0x48d1f0,%edi
451b41:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
451b47:	50                   	push   %eax
451b48:	ff 75 08             	push   0x8(%ebp)
451b4b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
451b4e:	32 db                	xor    %bl,%bl
451b50:	ff d7                	call   *%edi
451b52:	8b f0                	mov    %eax,%esi
451b54:	83 fe ff             	cmp    $0xffffffff,%esi
451b57:	74 71                	je     0x451bca
451b59:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451b5f:	68 b0 da 49 00       	push   $0x49dab0
451b64:	50                   	push   %eax
451b65:	e8 79 fa fc ff       	call   0x4215e3
451b6a:	59                   	pop    %ecx
451b6b:	59                   	pop    %ecx
451b6c:	85 c0                	test   %eax,%eax
451b6e:	74 48                	je     0x451bb8
451b70:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451b76:	68 fc 39 4b 00       	push   $0x4b39fc
451b7b:	50                   	push   %eax
451b7c:	e8 62 fa fc ff       	call   0x4215e3
451b81:	59                   	pop    %ecx
451b82:	59                   	pop    %ecx
451b83:	85 c0                	test   %eax,%eax
451b85:	74 31                	je     0x451bb8
451b87:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451b8d:	50                   	push   %eax
451b8e:	ff 15 ec d1 48 00    	call   *0x48d1ec
451b94:	8b c8                	mov    %eax,%ecx
451b96:	0b 4d 0c             	or     0xc(%ebp),%ecx
451b99:	8b 45 10             	mov    0x10(%ebp),%eax
451b9c:	f7 d0                	not    %eax
451b9e:	23 c8                	and    %eax,%ecx
451ba0:	51                   	push   %ecx
451ba1:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451ba7:	50                   	push   %eax
451ba8:	ff 15 b4 d2 48 00    	call   *0x48d2b4
451bae:	85 c0                	test   %eax,%eax
451bb0:	0f 84 c5 00 00 00    	je     0x451c7b
451bb6:	b3 01                	mov    $0x1,%bl
451bb8:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
451bbe:	50                   	push   %eax
451bbf:	56                   	push   %esi
451bc0:	ff 15 00 d2 48 00    	call   *0x48d200
451bc6:	85 c0                	test   %eax,%eax
451bc8:	75 8f                	jne    0x451b59
451bca:	56                   	push   %esi
451bcb:	ff 15 f4 d1 48 00    	call   *0x48d1f4
451bd1:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
451bd5:	0f 84 97 00 00 00    	je     0x451c72
451bdb:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
451be1:	50                   	push   %eax
451be2:	68 f4 39 4b 00       	push   $0x4b39f4
451be7:	ff d7                	call   *%edi
451be9:	8b f0                	mov    %eax,%esi
451beb:	83 fe ff             	cmp    $0xffffffff,%esi
451bee:	74 79                	je     0x451c69
451bf0:	8b 3d 18 d3 48 00    	mov    0x48d318,%edi
451bf6:	8b 5d fc             	mov    -0x4(%ebp),%ebx
451bf9:	f6 85 a8 fd ff ff 10 	testb  $0x10,-0x258(%ebp)
451c00:	74 55                	je     0x451c57
451c02:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451c08:	68 b0 da 49 00       	push   $0x49dab0
451c0d:	50                   	push   %eax
451c0e:	e8 d0 f9 fc ff       	call   0x4215e3
451c13:	59                   	pop    %ecx
451c14:	59                   	pop    %ecx
451c15:	85 c0                	test   %eax,%eax
451c17:	74 3e                	je     0x451c57
451c19:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451c1f:	68 fc 39 4b 00       	push   $0x4b39fc
451c24:	50                   	push   %eax
451c25:	e8 b9 f9 fc ff       	call   0x4215e3
451c2a:	59                   	pop    %ecx
451c2b:	59                   	pop    %ecx
451c2c:	85 c0                	test   %eax,%eax
451c2e:	74 27                	je     0x451c57
451c30:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451c36:	50                   	push   %eax
451c37:	ff d7                	call   *%edi
451c39:	ff 75 14             	push   0x14(%ebp)
451c3c:	8b cb                	mov    %ebx,%ecx
451c3e:	ff 75 10             	push   0x10(%ebp)
451c41:	ff 75 0c             	push   0xc(%ebp)
451c44:	ff 75 08             	push   0x8(%ebp)
451c47:	e8 e3 fe ff ff       	call   0x451b2f
451c4c:	84 c0                	test   %al,%al
451c4e:	74 36                	je     0x451c86
451c50:	68 fc 39 4b 00       	push   $0x4b39fc
451c55:	ff d7                	call   *%edi
451c57:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
451c5d:	50                   	push   %eax