453d51:	8b 75 0c             	mov    0xc(%ebp),%esi
453d54:	57                   	push   %edi
453d55:	8b f9                	mov    %ecx,%edi
453d57:	8b 47 04             	mov    0x4(%edi),%eax
453d5a:	3b 30                	cmp    (%eax),%esi
453d5c:	75 46                	jne    0x453da4
453d5e:	39 45 10             	cmp    %eax,0x10(%ebp)
453d61:	75 41                	jne    0x453da4
453d63:	ff 70 04             	push   0x4(%eax)
453d66:	e8 df 06 00 00       	call   0x45444a
453d6b:	8b 47 04             	mov    0x4(%edi),%eax
453d6e:	89 40 04             	mov    %eax,0x4(%eax)
453d71:	8b 47 04             	mov    0x4(%edi),%eax
453d74:	83 67 08 00          	andl   $0x0,0x8(%edi)
453d78:	89 00                	mov    %eax,(%eax)
453d7a:	8b 47 04             	mov    0x4(%edi),%eax
453d7d:	89 40 08             	mov    %eax,0x8(%eax)
453d80:	8b 47 04             	mov    0x4(%edi),%eax
453d83:	8b 08                	mov    (%eax),%ecx
453d85:	8b 45 08             	mov    0x8(%ebp),%eax
453d88:	89 08                	mov    %ecx,(%eax)
453d8a:	eb 22                	jmp    0x453dae
453d8c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
453d8f:	e8 46 5e fe ff       	call   0x439bda
453d94:	56                   	push   %esi
453d95:	8d 44 24 10          	lea    0x10(%esp),%eax
453d99:	8b cf                	mov    %edi,%ecx
453d9b:	50                   	push   %eax
453d9c:	e8 85 03 00 00       	call   0x454126
453da1:	8b 75 0c             	mov    0xc(%ebp),%esi
453da4:	3b 75 10             	cmp    0x10(%ebp),%esi
453da7:	75 e3                	jne    0x453d8c
453da9:	8b 45 08             	mov    0x8(%ebp),%eax
453dac:	89 30                	mov    %esi,(%eax)
453dae:	5f                   	pop    %edi
453daf:	5e                   	pop    %esi
453db0:	8b e5                	mov    %ebp,%esp
453db2:	5d                   	pop    %ebp
453db3:	c2 0c 00             	ret    $0xc
453db6:	8b ff                	mov    %edi,%edi
453db8:	55                   	push   %ebp
453db9:	8b ec                	mov    %esp,%ebp
453dbb:	51                   	push   %ecx
453dbc:	51                   	push   %ecx
453dbd:	56                   	push   %esi
453dbe:	57                   	push   %edi
453dbf:	8b 7d 08             	mov    0x8(%ebp),%edi
453dc2:	8b f1                	mov    %ecx,%esi
453dc4:	57                   	push   %edi
453dc5:	e8 26 72 fc ff       	call   0x41aff0
453dca:	84 c0                	test   %al,%al
453dcc:	74 1b                	je     0x453de9
453dce:	83 7e 18 08          	cmpl   $0x8,0x18(%esi)
453dd2:	8d 46 04             	lea    0x4(%esi),%eax
453dd5:	72 02                	jb     0x453dd9
453dd7:	8b 00                	mov    (%eax),%eax
453dd9:	ff 75 0c             	push   0xc(%ebp)
453ddc:	2b f8                	sub    %eax,%edi
453dde:	d1 ff                	sar    $1,%edi
453de0:	57                   	push   %edi
453de1:	56                   	push   %esi
453de2:	e8 0f 01 fd ff       	call   0x423ef6
453de7:	eb 69                	jmp    0x453e52
453de9:	8b 46 14             	mov    0x14(%esi),%eax
453dec:	53                   	push   %ebx
453ded:	8b 5d 0c             	mov    0xc(%ebp),%ebx
453df0:	f7 d0                	not    %eax
453df2:	3b c3                	cmp    %ebx,%eax
453df4:	77 05                	ja     0x453dfb
453df6:	e8 57 9c 03 00       	call   0x48da52
453dfb:	85 db                	test   %ebx,%ebx
453dfd:	74 50                	je     0x453e4f
453dff:	8b 46 14             	mov    0x14(%esi),%eax
453e02:	8b ce                	mov    %esi,%ecx
453e04:	03 c3                	add    %ebx,%eax
453e06:	6a 00                	push   $0x0
453e08:	50                   	push   %eax
453e09:	89 45 f8             	mov    %eax,-0x8(%ebp)
453e0c:	e8 8c 88 fc ff       	call   0x41c69d
453e11:	84 c0                	test   %al,%al
453e13:	74 3a                	je     0x453e4f
453e15:	8b 56 18             	mov    0x18(%esi),%edx
453e18:	8d 46 04             	lea    0x4(%esi),%eax
453e1b:	89 45 fc             	mov    %eax,-0x4(%ebp)
453e1e:	83 fa 08             	cmp    $0x8,%edx
453e21:	72 05                	jb     0x453e28
453e23:	8b 00                	mov    (%eax),%eax
453e25:	89 45 fc             	mov    %eax,-0x4(%ebp)
453e28:	8b 4e 14             	mov    0x14(%esi),%ecx
453e2b:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
453e2e:	50                   	push   %eax
453e2f:	8b 45 fc             	mov    -0x4(%ebp),%eax
453e32:	2b d1                	sub    %ecx,%edx
453e34:	57                   	push   %edi
453e35:	03 d2                	add    %edx,%edx
453e37:	52                   	push   %edx
453e38:	8d 04 48             	lea    (%eax,%ecx,2),%eax
453e3b:	50                   	push   %eax
453e3c:	ff 15 f0 80 4a 00    	call   *0x4a80f0
453e42:	83 c4 10             	add    $0x10,%esp
453e45:	8b ce                	mov    %esi,%ecx
453e47:	ff 75 f8             	push   -0x8(%ebp)
453e4a:	e8 55 89 fc ff       	call   0x41c7a4
453e4f:	8b c6                	mov    %esi,%eax
453e51:	5b                   	pop    %ebx
453e52:	5f                   	pop    %edi
453e53:	5e                   	pop    %esi
453e54:	c9                   	leave
453e55:	c2 08 00             	ret    $0x8
453e58:	6a 20                	push   $0x20
453e5a:	ff 15 14 74 4a 00    	call   *0x4a7414
453e60:	59                   	pop    %ecx
453e61:	33 c9                	xor    %ecx,%ecx
453e63:	89 08                	mov    %ecx,(%eax)
453e65:	89 48 04             	mov    %ecx,0x4(%eax)
453e68:	89 48 08             	mov    %ecx,0x8(%eax)
453e6b:	66 c7 40 1c 01 00    	movw   $0x1,0x1c(%eax)
453e71:	c3                   	ret
453e72:	6a 5c                	push   $0x5c
453e74:	b8 b9 11 49 00       	mov    $0x4911b9,%eax
453e79:	e8 88 c6 03 00       	call   0x490506
453e7e:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
453e81:	8b 5d 0c             	mov    0xc(%ebp),%ebx
453e84:	8b 45 08             	mov    0x8(%ebp),%eax
453e87:	89 45 98             	mov    %eax,-0x68(%ebp)
453e8a:	80 7b 1d 00          	cmpb   $0x0,0x1d(%ebx)
453e8e:	0f 85 64 02 00 00    	jne    0x4540f8
453e94:	8d 4d 0c             	lea    0xc(%ebp),%ecx
453e97:	e8 b6 68 fc ff       	call   0x41a752
453e9c:	8b 03                	mov    (%ebx),%eax
453e9e:	8b 7b 08             	mov    0x8(%ebx),%edi
453ea1:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
453ea5:	75 18                	jne    0x453ebf
453ea7:	80 7f 1d 00          	cmpb   $0x0,0x1d(%edi)
453eab:	74 04                	je     0x453eb1
453ead:	8b f8                	mov    %eax,%edi
453eaf:	eb 0e                	jmp    0x453ebf
453eb1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
453eb4:	8b 79 08             	mov    0x8(%ecx),%edi
453eb7:	3b cb                	cmp    %ebx,%ecx
453eb9:	0f 85 86 00 00 00    	jne    0x453f45
453ebf:	80 7f 1d 00          	cmpb   $0x0,0x1d(%edi)
453ec3:	8b 73 04             	mov    0x4(%ebx),%esi
453ec6:	75 03                	jne    0x453ecb
453ec8:	89 77 04             	mov    %esi,0x4(%edi)
453ecb:	8b 55 a4             	mov    -0x5c(%ebp),%edx
453ece:	8b 42 04             	mov    0x4(%edx),%eax
453ed1:	39 58 04             	cmp    %ebx,0x4(%eax)
453ed4:	75 05                	jne    0x453edb
453ed6:	89 78 04             	mov    %edi,0x4(%eax)
453ed9:	eb 0b                	jmp    0x453ee6
453edb:	39 1e                	cmp    %ebx,(%esi)
453edd:	75 04                	jne    0x453ee3
453edf:	89 3e                	mov    %edi,(%esi)
453ee1:	eb 03                	jmp    0x453ee6
453ee3:	89 7e 08             	mov    %edi,0x8(%esi)
453ee6:	8b 42 04             	mov    0x4(%edx),%eax
453ee9:	39 18                	cmp    %ebx,(%eax)
453eeb:	75 29                	jne    0x453f16
453eed:	80 7f 1d 00          	cmpb   $0x0,0x1d(%edi)
453ef1:	74 04                	je     0x453ef7
453ef3:	8b c6                	mov    %esi,%eax
453ef5:	eb 1a                	jmp    0x453f11
453ef7:	8b 0f                	mov    (%edi),%ecx
453ef9:	8b c7                	mov    %edi,%eax
453efb:	80 79 1d 00          	cmpb   $0x0,0x1d(%ecx)
453eff:	75 10                	jne    0x453f11
453f01:	8b 01                	mov    (%ecx),%eax
453f03:	89 4d a0             	mov    %ecx,-0x60(%ebp)
453f06:	8b c8                	mov    %eax,%ecx
453f08:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
453f0c:	74 f3                	je     0x453f01
453f0e:	8b 45 a0             	mov    -0x60(%ebp),%eax
453f11:	8b 4a 04             	mov    0x4(%edx),%ecx
453f14:	89 01                	mov    %eax,(%ecx)
453f16:	8b 42 04             	mov    0x4(%edx),%eax
453f19:	39 58 08             	cmp    %ebx,0x8(%eax)
453f1c:	75 22                	jne    0x453f40
453f1e:	80 7f 1d 00          	cmpb   $0x0,0x1d(%edi)
453f22:	74 04                	je     0x453f28
453f24:	8b c6                	mov    %esi,%eax
453f26:	eb 12                	jmp    0x453f3a
453f28:	8b 4f 08             	mov    0x8(%edi),%ecx
453f2b:	8b c7                	mov    %edi,%eax
453f2d:	eb 05                	jmp    0x453f34
453f2f:	8b c1                	mov    %ecx,%eax
453f31:	8b 48 08             	mov    0x8(%eax),%ecx
453f34:	80 79 1d 00          	cmpb   $0x0,0x1d(%ecx)
453f38:	74 f5                	je     0x453f2f
453f3a:	8b 4a 04             	mov    0x4(%edx),%ecx
453f3d:	89 41 08             	mov    %eax,0x8(%ecx)
453f40:	8a 63 1c             	mov    0x1c(%ebx),%ah
453f43:	eb 5a                	jmp    0x453f9f
453f45:	89 48 04             	mov    %ecx,0x4(%eax)
453f48:	8b 03                	mov    (%ebx),%eax
453f4a:	89 01                	mov    %eax,(%ecx)
453f4c:	3b 4b 08             	cmp    0x8(%ebx),%ecx
453f4f:	75 04                	jne    0x453f55
453f51:	8b f1                	mov    %ecx,%esi
453f53:	eb 1a                	jmp    0x453f6f
453f55:	80 7f 1d 00          	cmpb   $0x0,0x1d(%edi)
453f59:	8b 71 04             	mov    0x4(%ecx),%esi
453f5c:	75 03                	jne    0x453f61
453f5e:	89 77 04             	mov    %esi,0x4(%edi)
453f61:	89 3e                	mov    %edi,(%esi)
453f63:	8b 43 08             	mov    0x8(%ebx),%eax
453f66:	89 41 08             	mov    %eax,0x8(%ecx)
453f69:	8b 43 08             	mov    0x8(%ebx),%eax
453f6c:	89 48 04             	mov    %ecx,0x4(%eax)
453f6f:	8b 55 a4             	mov    -0x5c(%ebp),%edx
453f72:	8b 42 04             	mov    0x4(%edx),%eax
453f75:	39 58 04             	cmp    %ebx,0x4(%eax)
453f78:	75 05                	jne    0x453f7f
453f7a:	89 48 04             	mov    %ecx,0x4(%eax)
453f7d:	eb 0e                	jmp    0x453f8d
453f7f:	8b 43 04             	mov    0x4(%ebx),%eax
453f82:	39 18                	cmp    %ebx,(%eax)
453f84:	75 04                	jne    0x453f8a
453f86:	89 08                	mov    %ecx,(%eax)
453f88:	eb 03                	jmp    0x453f8d
453f8a:	89 48 08             	mov    %ecx,0x8(%eax)
453f8d:	8b 43 04             	mov    0x4(%ebx),%eax
453f90:	89 41 04             	mov    %eax,0x4(%ecx)
453f93:	8a 43 1c             	mov    0x1c(%ebx),%al
453f96:	8a 61 1c             	mov    0x1c(%ecx),%ah
453f99:	88 41 1c             	mov    %al,0x1c(%ecx)
453f9c:	88 63 1c             	mov    %ah,0x1c(%ebx)
453f9f:	80 fc 01             	cmp    $0x1,%ah
453fa2:	0f 85 22 01 00 00    	jne    0x4540ca
453fa8:	8b 42 04             	mov    0x4(%edx),%eax
453fab:	3b 78 04             	cmp    0x4(%eax),%edi
453fae:	0f 84 d3 00 00 00    	je     0x454087
453fb4:	80 7f 1c 01          	cmpb   $0x1,0x1c(%edi)
453fb8:	89 75 9c             	mov    %esi,-0x64(%ebp)
453fbb:	0f 85 c6 00 00 00    	jne    0x454087
453fc1:	8b 0e                	mov    (%esi),%ecx
453fc3:	3b f9                	cmp    %ecx,%edi
453fc5:	75 76                	jne    0x45403d
453fc7:	8b 4e 08             	mov    0x8(%esi),%ecx
453fca:	80 79 1c 00          	cmpb   $0x0,0x1c(%ecx)
453fce:	75 16                	jne    0x453fe6
453fd0:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
453fd4:	8b ca                	mov    %edx,%ecx
453fd6:	56                   	push   %esi
453fd7:	c6 46 1c 00          	movb   $0x0,0x1c(%esi)
453fdb:	e8 17 68 fc ff       	call   0x41a7f7
453fe0:	8b 4e 08             	mov    0x8(%esi),%ecx
453fe3:	8b 55 a4             	mov    -0x5c(%ebp),%edx
453fe6:	80 79 1d 00          	cmpb   $0x0,0x1d(%ecx)
453fea:	0f 85 83 00 00 00    	jne    0x454073
453ff0:	8b 01                	mov    (%ecx),%eax
453ff2:	80 78 1c 01          	cmpb   $0x1,0x1c(%eax)
453ff6:	75 09                	jne    0x454001
453ff8:	8b 41 08             	mov    0x8(%ecx),%eax
453ffb:	80 78 1c 01          	cmpb   $0x1,0x1c(%eax)
453fff:	74 6e                	je     0x45406f
454001:	8b 41 08             	mov    0x8(%ecx),%eax
454004:	80 78 1c 01          	cmpb   $0x1,0x1c(%eax)
454008:	75 15                	jne    0x45401f
45400a:	8b 01                	mov    (%ecx),%eax
45400c:	51                   	push   %ecx
45400d:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
454011:	c6 41 1c 00          	movb   $0x0,0x1c(%ecx)
454015:	8b ca                	mov    %edx,%ecx
454017:	e8 92 67 fc ff       	call   0x41a7ae
45401c:	8b 4e 08             	mov    0x8(%esi),%ecx
45401f:	8a 46 1c             	mov    0x1c(%esi),%al
454022:	88 41 1c             	mov    %al,0x1c(%ecx)
454025:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
454029:	8b 41 08             	mov    0x8(%ecx),%eax
45402c:	56                   	push   %esi
45402d:	8b 75 a4             	mov    -0x5c(%ebp),%esi
454030:	8b ce                	mov    %esi,%ecx
454032:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
454036:	e8 bc 67 fc ff       	call   0x41a7f7
45403b:	eb 4d                	jmp    0x45408a
45403d:	80 79 1c 00          	cmpb   $0x0,0x1c(%ecx)
454041:	75 15                	jne    0x454058
454043:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
454047:	8b ca                	mov    %edx,%ecx
454049:	56                   	push   %esi
45404a:	c6 46 1c 00          	movb   $0x0,0x1c(%esi)
45404e:	e8 5b 67 fc ff       	call   0x41a7ae
454053:	8b 0e                	mov    (%esi),%ecx
454055:	8b 55 a4             	mov    -0x5c(%ebp),%edx
454058:	80 79 1d 00          	cmpb   $0x0,0x1d(%ecx)
45405c:	75 15                	jne    0x454073
45405e:	8b 41 08             	mov    0x8(%ecx),%eax
454061:	80 78 1c 01          	cmpb   $0x1,0x1c(%eax)
454065:	75 29                	jne    0x454090
454067:	8b 01                	mov    (%ecx),%eax
454069:	80 78 1c 01          	cmpb   $0x1,0x1c(%eax)
45406d:	75 21                	jne    0x454090
45406f:	c6 41 1c 00          	movb   $0x0,0x1c(%ecx)
454073:	8b 42 04             	mov    0x4(%edx),%eax
454076:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
454079:	8b f9                	mov    %ecx,%edi
45407b:	8b 76 04             	mov    0x4(%esi),%esi
45407e:	3b 48 04             	cmp    0x4(%eax),%ecx
454081:	0f 85 2d ff ff ff    	jne    0x453fb4
454087:	8b 75 a4             	mov    -0x5c(%ebp),%esi
45408a:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
45408e:	eb 3d                	jmp    0x4540cd
454090:	8b 01                	mov    (%ecx),%eax
454092:	80 78 1c 01          	cmpb   $0x1,0x1c(%eax)
454096:	75 15                	jne    0x4540ad
454098:	8b 41 08             	mov    0x8(%ecx),%eax
45409b:	51                   	push   %ecx
45409c:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4540a0:	c6 41 1c 00          	movb   $0x0,0x1c(%ecx)
4540a4:	8b ca                	mov    %edx,%ecx
4540a6:	e8 4c 67 fc ff       	call   0x41a7f7
4540ab:	8b 0e                	mov    (%esi),%ecx
4540ad:	8a 46 1c             	mov    0x1c(%esi),%al
4540b0:	88 41 1c             	mov    %al,0x1c(%ecx)
4540b3:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
4540b7:	8b 01                	mov    (%ecx),%eax
4540b9:	56                   	push   %esi
4540ba:	8b 75 a4             	mov    -0x5c(%ebp),%esi
4540bd:	8b ce                	mov    %esi,%ecx
4540bf:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4540c3:	e8 e6 66 fc ff       	call   0x41a7ae
4540c8:	eb c0                	jmp    0x45408a
4540ca:	8b 75 a4             	mov    -0x5c(%ebp),%esi
4540cd:	8d 4b 10             	lea    0x10(%ebx),%ecx
4540d0:	e8 cb 07 00 00       	call   0x4548a0
4540d5:	53                   	push   %ebx
4540d6:	ff 15 10 74 4a 00    	call   *0x4a7410
4540dc:	59                   	pop    %ecx
4540dd:	8b 4e 08             	mov    0x8(%esi),%ecx
4540e0:	85 c9                	test   %ecx,%ecx
4540e2:	74 04                	je     0x4540e8
4540e4:	49                   	dec    %ecx
4540e5:	89 4e 08             	mov    %ecx,0x8(%esi)
4540e8:	8b 45 98             	mov    -0x68(%ebp),%eax
4540eb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4540ee:	89 08                	mov    %ecx,(%eax)
4540f0:	e8 c0 c3 03 00       	call   0x4904b5
4540f5:	c2 08 00             	ret    $0x8
4540f8:	68 a4 f9 40 00       	push   $0x40f9a4
4540fd:	8d 4d d0             	lea    -0x30(%ebp),%ecx
454100:	e8 87 7d fc ff       	call   0x41be8c
454105:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
454109:	8d 45 d0             	lea    -0x30(%ebp),%eax
45410c:	6a 00                	push   $0x0
45410e:	50                   	push   %eax
45410f:	8d 4d a8             	lea    -0x58(%ebp),%ecx
454112:	e8 73 82 fc ff       	call   0x41c38a
454117:	68 20 eb 49 00       	push   $0x49eb20
45411c:	8d 45 a8             	lea    -0x58(%ebp),%eax