452d31:	59                   	pop    %ecx
452d32:	33 c0                	xor    %eax,%eax
452d34:	40                   	inc    %eax
452d35:	eb 17                	jmp    0x452d4e
452d37:	8b cf                	mov    %edi,%ecx
452d39:	e8 34 e4 fa ff       	call   0x401172
452d3e:	ff 75 10             	push   0x10(%ebp)
452d41:	8b ce                	mov    %esi,%ecx
452d43:	ff 75 0c             	push   0xc(%ebp)
452d46:	ff 75 08             	push   0x8(%ebp)
452d49:	e8 fb 5b ff ff       	call   0x448949
452d4e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
452d51:	5f                   	pop    %edi
452d52:	5e                   	pop    %esi
452d53:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
452d5a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
452d5d:	5b                   	pop    %ebx
452d5e:	e8 7b 4e fc ff       	call   0x417bde
452d63:	c9                   	leave
452d64:	c2 0c 00             	ret    $0xc
452d67:	b8 a1 45 48 00       	mov    $0x4845a1,%eax
452d6c:	e8 0b 4f fc ff       	call   0x417c7c
452d71:	83 ec 18             	sub    $0x18,%esp
452d74:	53                   	push   %ebx
452d75:	56                   	push   %esi
452d76:	57                   	push   %edi
452d77:	89 65 f0             	mov    %esp,-0x10(%ebp)
452d7a:	ff 75 08             	push   0x8(%ebp)
452d7d:	8b f1                	mov    %ecx,%esi
452d7f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
452d82:	e8 0d e5 fa ff       	call   0x401294
452d87:	8b 45 ec             	mov    -0x14(%ebp),%eax
452d8a:	33 db                	xor    %ebx,%ebx
452d8c:	39 58 f4             	cmp    %ebx,-0xc(%eax)
452d8f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
452d92:	0f 85 eb 00 00 00    	jne    0x452e83
452d98:	8b 7e 24             	mov    0x24(%esi),%edi
452d9b:	8d 46 20             	lea    0x20(%esi),%eax
452d9e:	50                   	push   %eax
452d9f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
452da2:	e8 4c e5 fa ff       	call   0x4012f3
452da7:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
452daa:	0f 84 a0 00 00 00    	je     0x452e50
452db0:	8b 45 ec             	mov    -0x14(%ebp),%eax
452db3:	39 58 f4             	cmp    %ebx,-0xc(%eax)
452db6:	0f 85 94 00 00 00    	jne    0x452e50
452dbc:	8d 46 1c             	lea    0x1c(%esi),%eax
452dbf:	50                   	push   %eax
452dc0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
452dc3:	e8 2b e5 fa ff       	call   0x4012f3
452dc8:	68 34 18 49 00       	push   $0x491834
452dcd:	8d 4d ec             	lea    -0x14(%ebp),%ecx
452dd0:	e8 72 db 01 00       	call   0x470947
452dd5:	83 f8 ff             	cmp    $0xffffffff,%eax
452dd8:	74 09                	je     0x452de3
452dda:	50                   	push   %eax
452ddb:	8d 4d ec             	lea    -0x14(%ebp),%ecx
452dde:	e8 44 e3 fa ff       	call   0x401127
452de3:	e8 0e d4 fe ff       	call   0x4401f6
452de8:	8b 10                	mov    (%eax),%edx
452dea:	8b c8                	mov    %eax,%ecx
452dec:	ff 52 0c             	call   *0xc(%edx)
452def:	83 c0 10             	add    $0x10,%eax
452df2:	89 45 e8             	mov    %eax,-0x18(%ebp)
452df5:	8b 07                	mov    (%edi),%eax
452df7:	6a 04                	push   $0x4
452df9:	8d 4d e8             	lea    -0x18(%ebp),%ecx
452dfc:	51                   	push   %ecx
452dfd:	8b cf                	mov    %edi,%ecx
452dff:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
452e03:	ff 50 64             	call   *0x64(%eax)
452e06:	85 c0                	test   %eax,%eax
452e08:	74 38                	je     0x452e42
452e0a:	8b 45 e8             	mov    -0x18(%ebp),%eax
452e0d:	39 58 f4             	cmp    %ebx,-0xc(%eax)
452e10:	74 30                	je     0x452e42
452e12:	8d 45 e4             	lea    -0x1c(%ebp),%eax
452e15:	50                   	push   %eax
452e16:	68 50 c2 48 00       	push   $0x48c250
452e1b:	8d 45 e0             	lea    -0x20(%ebp),%eax
452e1e:	50                   	push   %eax
452e1f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
452e22:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
452e25:	e8 1b bf 01 00       	call   0x46ed45
452e2a:	50                   	push   %eax
452e2b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
452e2e:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
452e32:	e8 95 8d 01 00       	call   0x46bbcc
452e37:	8b 4d e0             	mov    -0x20(%ebp),%ecx
452e3a:	83 c1 f0             	add    $0xfffffff0,%ecx
452e3d:	e8 10 e5 fa ff       	call   0x401352
452e42:	8b 4d e8             	mov    -0x18(%ebp),%ecx
452e45:	83 c1 f0             	add    $0xfffffff0,%ecx
452e48:	88 5d fc             	mov    %bl,-0x4(%ebp)
452e4b:	e8 02 e5 fa ff       	call   0x401352
452e50:	e8 ac aa 01 00       	call   0x46d901
452e55:	8b 4d 0c             	mov    0xc(%ebp),%ecx
452e58:	8b 40 04             	mov    0x4(%eax),%eax
452e5b:	f7 d9                	neg    %ecx
452e5d:	57                   	push   %edi
452e5e:	1b c9                	sbb    %ecx,%ecx
452e60:	53                   	push   %ebx
452e61:	83 e1 fd             	and    $0xfffffffd,%ecx
452e64:	81 c1 04 f0 00 00    	add    $0xf004,%ecx
452e6a:	68 04 08 00 00       	push   $0x804
452e6f:	51                   	push   %ecx
452e70:	8d 4d ec             	lea    -0x14(%ebp),%ecx
452e73:	51                   	push   %ecx
452e74:	8b c8                	mov    %eax,%ecx
452e76:	e8 1c 4e 00 00       	call   0x457c97
452e7b:	85 c0                	test   %eax,%eax
452e7d:	75 04                	jne    0x452e83
452e7f:	33 f6                	xor    %esi,%esi
452e81:	eb 78                	jmp    0x452efb
452e83:	e8 79 aa 01 00       	call   0x46d901
452e88:	8b 48 04             	mov    0x4(%eax),%ecx
452e8b:	e8 cc f5 fe ff       	call   0x44245c
452e90:	ff 75 ec             	push   -0x14(%ebp)
452e93:	8b 06                	mov    (%esi),%eax
452e95:	8b ce                	mov    %esi,%ecx
452e97:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
452e9b:	ff 50 78             	call   *0x78(%eax)
452e9e:	85 c0                	test   %eax,%eax
452ea0:	75 35                	jne    0x452ed7
452ea2:	39 5d 08             	cmp    %ebx,0x8(%ebp)
452ea5:	75 1e                	jne    0x452ec5
452ea7:	ff 75 ec             	push   -0x14(%ebp)
452eaa:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
452eae:	e8 64 53 ff ff       	call   0x448217
452eb3:	eb 10                	jmp    0x452ec5
452eb5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
452eb8:	e8 5c d0 fe ff       	call   0x43ff19
452ebd:	b8 c3 2e 45 00       	mov    $0x452ec3,%eax
452ec2:	c3                   	ret
452ec3:	33 db                	xor    %ebx,%ebx
452ec5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
452ec8:	e8 34 aa 01 00       	call   0x46d901
452ecd:	8b 48 04             	mov    0x4(%eax),%ecx
452ed0:	e8 9c f5 fe ff       	call   0x442471
452ed5:	eb a8                	jmp    0x452e7f
452ed7:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
452eda:	74 0c                	je     0x452ee8
452edc:	8b 06                	mov    (%esi),%eax
452ede:	6a 01                	push   $0x1
452ee0:	ff 75 ec             	push   -0x14(%ebp)
452ee3:	8b ce                	mov    %esi,%ecx
452ee5:	ff 50 54             	call   *0x54(%eax)
452ee8:	88 5d fc             	mov    %bl,-0x4(%ebp)
452eeb:	e8 11 aa 01 00       	call   0x46d901
452ef0:	8b 48 04             	mov    0x4(%eax),%ecx
452ef3:	e8 79 f5 fe ff       	call   0x442471
452ef8:	33 f6                	xor    %esi,%esi
452efa:	46                   	inc    %esi
452efb:	8b 4d ec             	mov    -0x14(%ebp),%ecx
452efe:	83 c1 f0             	add    $0xfffffff0,%ecx
452f01:	e8 4c e4 fa ff       	call   0x401352
452f06:	8b 4d f4             	mov    -0xc(%ebp),%ecx
452f09:	5f                   	pop    %edi
452f0a:	8b c6                	mov    %esi,%eax
452f0c:	5e                   	pop    %esi
452f0d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
452f14:	5b                   	pop    %ebx
452f15:	c9                   	leave
452f16:	c2 08 00             	ret    $0x8
452f19:	b8 c3 45 48 00       	mov    $0x4845c3,%eax
452f1e:	e8 59 4d fc ff       	call   0x417c7c
452f23:	83 ec 70             	sub    $0x70,%esp
452f26:	53                   	push   %ebx
452f27:	56                   	push   %esi
452f28:	57                   	push   %edi
452f29:	89 65 f0             	mov    %esp,-0x10(%ebp)
452f2c:	33 db                	xor    %ebx,%ebx
452f2e:	53                   	push   %ebx
452f2f:	8b f1                	mov    %ecx,%esi
452f31:	6a ff                	push   $0xffffffff
452f33:	53                   	push   %ebx
452f34:	8d 4d d0             	lea    -0x30(%ebp),%ecx
452f37:	89 75 ec             	mov    %esi,-0x14(%ebp)
452f3a:	e8 f7 6c fb ff       	call   0x409c36
452f3f:	8b 06                	mov    (%esi),%eax
452f41:	8d 4d d0             	lea    -0x30(%ebp),%ecx
452f44:	51                   	push   %ecx
452f45:	6a 20                	push   $0x20
452f47:	ff 75 08             	push   0x8(%ebp)
452f4a:	8b ce                	mov    %esi,%ecx
452f4c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
452f4f:	ff 90 84 00 00 00    	call   *0x84(%eax)
452f55:	8b f8                	mov    %eax,%edi
452f57:	3b fb                	cmp    %ebx,%edi
452f59:	8b 06                	mov    (%esi),%eax
452f5b:	89 7d e8             	mov    %edi,-0x18(%ebp)
452f5e:	75 1c                	jne    0x452f7c
452f60:	68 01 f1 00 00       	push   $0xf101
452f65:	53                   	push   %ebx
452f66:	8d 4d d0             	lea    -0x30(%ebp),%ecx
452f69:	51                   	push   %ecx
452f6a:	ff 75 08             	push   0x8(%ebp)
452f6d:	8b ce                	mov    %esi,%ecx
452f6f:	ff 90 80 00 00 00    	call   *0x80(%eax)
452f75:	33 ff                	xor    %edi,%edi
452f77:	e9 ee 00 00 00       	jmp    0x45306a
452f7c:	8b ce                	mov    %esi,%ecx
452f7e:	ff 50 6c             	call   *0x6c(%eax)
452f81:	8b 06                	mov    (%esi),%eax
452f83:	6a 01                	push   $0x1
452f85:	8b ce                	mov    %esi,%ecx
452f87:	ff 50 5c             	call   *0x5c(%eax)
452f8a:	53                   	push   %ebx
452f8b:	68 00 10 00 00       	push   $0x1000
452f90:	6a 03                	push   $0x3
452f92:	57                   	push   %edi
452f93:	8d 4d 88             	lea    -0x78(%ebp),%ecx
452f96:	e8 4d df ff ff       	call   0x450ee8
452f9b:	89 75 88             	mov    %esi,-0x78(%ebp)
452f9e:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
452fa1:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
452fa5:	e8 57 a9 01 00       	call   0x46d901
452faa:	8b 48 04             	mov    0x4(%eax),%ecx
452fad:	e8 aa f4 fe ff       	call   0x44245c
452fb2:	8b 07                	mov    (%edi),%eax
452fb4:	8b cf                	mov    %edi,%ecx
452fb6:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
452fba:	ff 50 30             	call   *0x30(%eax)
452fbd:	0b c2                	or     %edx,%eax
452fbf:	74 0b                	je     0x452fcc
452fc1:	8b 06                	mov    (%esi),%eax
452fc3:	8d 4d 88             	lea    -0x78(%ebp),%ecx
452fc6:	51                   	push   %ecx
452fc7:	8b ce                	mov    %esi,%ecx
452fc9:	ff 50 08             	call   *0x8(%eax)
452fcc:	8d 4d 88             	lea    -0x78(%ebp),%ecx
452fcf:	e8 4a dc ff ff       	call   0x450c1e
452fd4:	8b 06                	mov    (%esi),%eax
452fd6:	53                   	push   %ebx
452fd7:	57                   	push   %edi
452fd8:	8b ce                	mov    %esi,%ecx
452fda:	ff 90 88 00 00 00    	call   *0x88(%eax)
452fe0:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
452fe4:	e8 18 a9 01 00       	call   0x46d901
452fe9:	8b 48 04             	mov    0x4(%eax),%ecx
452fec:	e8 80 f4 fe ff       	call   0x442471
452ff1:	8b 06                	mov    (%esi),%eax
452ff3:	33 ff                	xor    %edi,%edi
452ff5:	47                   	inc    %edi
452ff6:	53                   	push   %ebx
452ff7:	8b ce                	mov    %esi,%ecx
452ff9:	89 7d fc             	mov    %edi,-0x4(%ebp)
452ffc:	ff 50 5c             	call   *0x5c(%eax)
452fff:	eb 5e                	jmp    0x45305f
453001:	8b 75 ec             	mov    -0x14(%ebp),%esi
453004:	8b 06                	mov    (%esi),%eax
453006:	89 65 f0             	mov    %esp,-0x10(%ebp)
453009:	6a 01                	push   $0x1
45300b:	ff 75 e8             	push   -0x18(%ebp)
45300e:	8b ce                	mov    %esi,%ecx
453010:	ff 90 88 00 00 00    	call   *0x88(%eax)
453016:	8b 06                	mov    (%esi),%eax
453018:	8b ce                	mov    %esi,%ecx
45301a:	ff 50 6c             	call   *0x6c(%eax)
45301d:	8b 06                	mov    (%esi),%eax
45301f:	68 01 f1 00 00       	push   $0xf101
453024:	6a 00                	push   $0x0
453026:	ff 75 e4             	push   -0x1c(%ebp)
453029:	8b ce                	mov    %esi,%ecx
45302b:	ff 75 08             	push   0x8(%ebp)
45302e:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
453032:	ff 90 80 00 00 00    	call   *0x80(%eax)
453038:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
45303b:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
453042:	e8 d2 ce fe ff       	call   0x43ff19
453047:	b8 5b 30 45 00       	mov    $0x45305b,%eax
45304c:	c3                   	ret
45304d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
453050:	e8 c4 ce fe ff       	call   0x43ff19
453055:	b8 38 30 45 00       	mov    $0x453038,%eax
45305a:	c3                   	ret
45305b:	33 db                	xor    %ebx,%ebx
45305d:	33 ff                	xor    %edi,%edi
45305f:	8d 4d 88             	lea    -0x78(%ebp),%ecx
453062:	88 5d fc             	mov    %bl,-0x4(%ebp)
453065:	e8 39 de ff ff       	call   0x450ea3
45306a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
45306d:	83 c1 f0             	add    $0xfffffff0,%ecx
453070:	c7 45 d0 b0 bc 48 00 	movl   $0x48bcb0,-0x30(%ebp)
453077:	e8 d6 e2 fa ff       	call   0x401352
45307c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45307f:	8b c7                	mov    %edi,%eax
453081:	5f                   	pop    %edi
453082:	5e                   	pop    %esi
453083:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45308a:	5b                   	pop    %ebx
45308b:	c9                   	leave
45308c:	c2 04 00             	ret    $0x4
45308f:	b8 e5 45 48 00       	mov    $0x4845e5,%eax
453094:	e8 e3 4b fc ff       	call   0x417c7c
453099:	83 ec 70             	sub    $0x70,%esp
45309c:	53                   	push   %ebx
45309d:	56                   	push   %esi
45309e:	57                   	push   %edi
45309f:	89 65 f0             	mov    %esp,-0x10(%ebp)
4530a2:	33 db                	xor    %ebx,%ebx
4530a4:	53                   	push   %ebx
4530a5:	8b f1                	mov    %ecx,%esi
4530a7:	6a ff                	push   $0xffffffff
4530a9:	53                   	push   %ebx
4530aa:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4530ad:	89 75 ec             	mov    %esi,-0x14(%ebp)
4530b0:	e8 81 6b fb ff       	call   0x409c36
4530b5:	8b 06                	mov    (%esi),%eax
4530b7:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4530ba:	51                   	push   %ecx
4530bb:	68 12 10 00 00       	push   $0x1012
4530c0:	ff 75 08             	push   0x8(%ebp)
4530c3:	8b ce                	mov    %esi,%ecx
4530c5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4530c8:	ff 90 84 00 00 00    	call   *0x84(%eax)
4530ce:	8b f8                	mov    %eax,%edi
4530d0:	3b fb                	cmp    %ebx,%edi
4530d2:	89 7d e8             	mov    %edi,-0x18(%ebp)
4530d5:	75 1f                	jne    0x4530f6
4530d7:	8b 06                	mov    (%esi),%eax
4530d9:	68 00 f1 00 00       	push   $0xf100
4530de:	6a 01                	push   $0x1
4530e0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4530e3:	51                   	push   %ecx
4530e4:	ff 75 08             	push   0x8(%ebp)
4530e7:	8b ce                	mov    %esi,%ecx
4530e9:	ff 90 80 00 00 00    	call   *0x80(%eax)
4530ef:	33 f6                	xor    %esi,%esi
4530f1:	e9 d2 00 00 00       	jmp    0x4531c8
4530f6:	53                   	push   %ebx
4530f7:	68 00 10 00 00       	push   $0x1000
4530fc:	6a 02                	push   $0x2
4530fe:	57                   	push   %edi
4530ff:	8d 4d 88             	lea    -0x78(%ebp),%ecx
453102:	e8 e1 dd ff ff       	call   0x450ee8
453107:	89 75 88             	mov    %esi,-0x78(%ebp)
45310a:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
45310d:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
453111:	e8 eb a7 01 00       	call   0x46d901
453116:	8b 48 04             	mov    0x4(%eax),%ecx
453119:	e8 3e f3 fe ff       	call   0x44245c
45311e:	8b 06                	mov    (%esi),%eax
453120:	8d 4d 88             	lea    -0x78(%ebp),%ecx
453123:	51                   	push   %ecx
453124:	8b ce                	mov    %esi,%ecx
453126:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
45312a:	ff 50 08             	call   *0x8(%eax)
45312d:	8d 4d 88             	lea    -0x78(%ebp),%ecx
453130:	e8 e9 da ff ff       	call   0x450c1e