406b13:	8a 17                	mov    (%edi),%dl
406b15:	e8 46 cd ff ff       	call   0x403860
406b1a:	8b 55 f8             	mov    -0x8(%ebp),%edx
406b1d:	8b c3                	mov    %ebx,%eax
406b1f:	e8 d8 cd ff ff       	call   0x4038fc
406b24:	80 3f 00             	cmpb   $0x0,(%edi)
406b27:	75 d1                	jne    0x406afa
406b29:	33 c0                	xor    %eax,%eax
406b2b:	5a                   	pop    %edx
406b2c:	59                   	pop    %ecx
406b2d:	59                   	pop    %ecx
406b2e:	64 89 10             	mov    %edx,%fs:(%eax)
406b31:	68 46 6b 40 00       	push   $0x406b46
406b36:	8d 45 f8             	lea    -0x8(%ebp),%eax
406b39:	e8 56 cb ff ff       	call   0x403694
406b3e:	c3                   	ret
406b3f:	e9 c4 c5 ff ff       	jmp    0x403108
406b44:	eb f0                	jmp    0x406b36
406b46:	5f                   	pop    %edi
406b47:	5e                   	pop    %esi
406b48:	5b                   	pop    %ebx
406b49:	59                   	pop    %ecx
406b4a:	59                   	pop    %ecx
406b4b:	5d                   	pop    %ebp
406b4c:	c3                   	ret
406b4d:	8d 40 00             	lea    0x0(%eax),%eax
406b50:	ff 50 1c             	call   *0x1c(%eax)
406b53:	c3                   	ret
406b54:	53                   	push   %ebx
406b55:	56                   	push   %esi
406b56:	8b f0                	mov    %eax,%esi
406b58:	8b 15 30 4c 40 00    	mov    0x404c30,%edx
406b5e:	33 c0                	xor    %eax,%eax
406b60:	e8 9b 36 00 00       	call   0x40a200
406b65:	8b d8                	mov    %eax,%ebx
406b67:	8d 53 1c             	lea    0x1c(%ebx),%edx
406b6a:	8b c6                	mov    %esi,%eax
406b6c:	b9 20 00 00 00       	mov    $0x20,%ecx
406b71:	e8 ce bd ff ff       	call   0x402944
406b76:	8d 43 1c             	lea    0x1c(%ebx),%eax
406b79:	89 43 18             	mov    %eax,0x18(%ebx)
406b7c:	c7 43 68 f4 50 40 00 	movl   $0x4050f4,0x68(%ebx)
406b83:	8b c3                	mov    %ebx,%eax
406b85:	5e                   	pop    %esi
406b86:	5b                   	pop    %ebx
406b87:	c3                   	ret
406b88:	8b 40 40             	mov    0x40(%eax),%eax
406b8b:	e8 68 ee ff ff       	call   0x4059f8
406b90:	c3                   	ret
406b91:	8d 40 00             	lea    0x0(%eax),%eax
406b94:	6a 00                	push   $0x0
406b96:	8b 40 40             	mov    0x40(%eax),%eax
406b99:	50                   	push   %eax
406b9a:	e8 41 dc ff ff       	call   0x4047e0
406b9f:	83 f8 ff             	cmp    $0xffffffff,%eax
406ba2:	75 02                	jne    0x406ba6
406ba4:	33 c0                	xor    %eax,%eax
406ba6:	c3                   	ret
406ba7:	90                   	nop
406ba8:	c3                   	ret
406ba9:	8d 40 00             	lea    0x0(%eax),%eax
406bac:	31 c0                	xor    %eax,%eax
406bae:	c3                   	ret
406baf:	90                   	nop
406bb0:	31 c0                	xor    %eax,%eax
406bb2:	c3                   	ret
406bb3:	90                   	nop
406bb4:	8b 40 40             	mov    0x40(%eax),%eax
406bb7:	e8 80 3e 00 00       	call   0x40aa3c
406bbc:	c3                   	ret
406bbd:	8d 40 00             	lea    0x0(%eax),%eax
406bc0:	8b 40 40             	mov    0x40(%eax),%eax
406bc3:	e8 90 3e 00 00       	call   0x40aa58
406bc8:	c3                   	ret
406bc9:	8d 40 00             	lea    0x0(%eax),%eax
406bcc:	53                   	push   %ebx
406bcd:	ff 70 40             	push   0x40(%eax)
406bd0:	e8 eb ff ff ff       	call   0x406bc0
406bd5:	93                   	xchg   %eax,%ebx
406bd6:	e8 7d dc ff ff       	call   0x404858
406bdb:	93                   	xchg   %eax,%ebx
406bdc:	5b                   	pop    %ebx
406bdd:	c3                   	ret
406bde:	8b c0                	mov    %eax,%eax
406be0:	53                   	push   %ebx
406be1:	8b d8                	mov    %eax,%ebx
406be3:	8b 43 40             	mov    0x40(%ebx),%eax
406be6:	83 f8 ff             	cmp    $0xffffffff,%eax
406be9:	74 05                	je     0x406bf0
406beb:	e8 40 3e 00 00       	call   0x40aa30
406bf0:	c7 43 40 ff ff ff ff 	movl   $0xffffffff,0x40(%ebx)
406bf7:	5b                   	pop    %ebx
406bf8:	c3                   	ret
406bf9:	8d 40 00             	lea    0x0(%eax),%eax
406bfc:	53                   	push   %ebx
406bfd:	89 d3                	mov    %edx,%ebx
406bff:	81 e1 ff 00 00 00    	and    $0xff,%ecx
406c05:	e2 03                	loop   0x406c0a
406c07:	03 58 4c             	add    0x4c(%eax),%ebx
406c0a:	e2 03                	loop   0x406c0f
406c0c:	03 58 48             	add    0x48(%eax),%ebx
406c0f:	3b 58 48             	cmp    0x48(%eax),%ebx
406c12:	7e 09                	jle    0x406c1d
406c14:	50                   	push   %eax
406c15:	89 da                	mov    %ebx,%edx
406c17:	e8 3c fe ff ff       	call   0x406a58
406c1c:	58                   	pop    %eax
406c1d:	93                   	xchg   %eax,%ebx
406c1e:	89 43 4c             	mov    %eax,0x4c(%ebx)
406c21:	5b                   	pop    %ebx
406c22:	c3                   	ret
406c23:	90                   	nop
406c24:	8b 40 48             	mov    0x48(%eax),%eax
406c27:	c3                   	ret
406c28:	53                   	push   %ebx
406c29:	52                   	push   %edx
406c2a:	93                   	xchg   %eax,%ebx
406c2b:	39 53 44             	cmp    %edx,0x44(%ebx)
406c2e:	73 1f                	jae    0x406c4f
406c30:	89 53 44             	mov    %edx,0x44(%ebx)
406c33:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
406c36:	e3 0a                	jecxz  0x406c42
406c38:	8d 43 3c             	lea    0x3c(%ebx),%eax
406c3b:	e8 40 bc ff ff       	call   0x402880
406c40:	eb 0a                	jmp    0x406c4c
406c42:	09 d1                	or     %edx,%ecx
406c44:	74 09                	je     0x406c4f
406c46:	91                   	xchg   %eax,%ecx
406c47:	e8 e4 bb ff ff       	call   0x402830
406c4c:	89 43 3c             	mov    %eax,0x3c(%ebx)
406c4f:	59                   	pop    %ecx
406c50:	41                   	inc    %ecx
406c51:	e2 15                	loop   0x406c68
406c53:	39 4b 48             	cmp    %ecx,0x48(%ebx)
406c56:	74 10                	je     0x406c68
406c58:	89 4b 44             	mov    %ecx,0x44(%ebx)
406c5b:	87 4b 3c             	xchg   %ecx,0x3c(%ebx)
406c5e:	e3 06                	jecxz  0x406c66
406c60:	91                   	xchg   %eax,%ecx
406c61:	e8 fa bb ff ff       	call   0x402860
406c66:	31 c9                	xor    %ecx,%ecx
406c68:	89 4b 48             	mov    %ecx,0x48(%ebx)
406c6b:	39 4b 4c             	cmp    %ecx,0x4c(%ebx)
406c6e:	72 03                	jb     0x406c73
406c70:	89 4b 4c             	mov    %ecx,0x4c(%ebx)
406c73:	5b                   	pop    %ebx
406c74:	c3                   	ret
406c75:	8d 40 00             	lea    0x0(%eax),%eax
406c78:	53                   	push   %ebx
406c79:	93                   	xchg   %eax,%ebx
406c7a:	8b 43 4c             	mov    0x4c(%ebx),%eax
406c7d:	01 c8                	add    %ecx,%eax
406c7f:	3b 43 48             	cmp    0x48(%ebx),%eax
406c82:	7e 06                	jle    0x406c8a
406c84:	8b 4b 48             	mov    0x48(%ebx),%ecx
406c87:	2b 4b 4c             	sub    0x4c(%ebx),%ecx
406c8a:	51                   	push   %ecx
406c8b:	8b 43 3c             	mov    0x3c(%ebx),%eax
406c8e:	03 43 4c             	add    0x4c(%ebx),%eax
406c91:	e8 ae bc ff ff       	call   0x402944
406c96:	58                   	pop    %eax
406c97:	01 43 4c             	add    %eax,0x4c(%ebx)
406c9a:	5b                   	pop    %ebx
406c9b:	c3                   	ret
406c9c:	53                   	push   %ebx
406c9d:	93                   	xchg   %eax,%ebx
406c9e:	8b 43 4c             	mov    0x4c(%ebx),%eax
406ca1:	01 c8                	add    %ecx,%eax
406ca3:	3b 43 48             	cmp    0x48(%ebx),%eax
406ca6:	52                   	push   %edx
406ca7:	51                   	push   %ecx
406ca8:	7e 08                	jle    0x406cb2
406caa:	92                   	xchg   %eax,%edx
406cab:	89 d8                	mov    %ebx,%eax
406cad:	e8 a6 fd ff ff       	call   0x406a58
406cb2:	59                   	pop    %ecx
406cb3:	58                   	pop    %eax
406cb4:	8b 53 3c             	mov    0x3c(%ebx),%edx
406cb7:	03 53 4c             	add    0x4c(%ebx),%edx
406cba:	51                   	push   %ecx
406cbb:	e8 84 bc ff ff       	call   0x402944
406cc0:	58                   	pop    %eax
406cc1:	01 43 4c             	add    %eax,0x4c(%ebx)
406cc4:	5b                   	pop    %ebx
406cc5:	c3                   	ret
406cc6:	8b c0                	mov    %eax,%eax
406cc8:	53                   	push   %ebx
406cc9:	56                   	push   %esi
406cca:	57                   	push   %edi
406ccb:	8b fa                	mov    %edx,%edi
406ccd:	8b d8                	mov    %eax,%ebx
406ccf:	8b c3                	mov    %ebx,%eax
406cd1:	e8 6a fd ff ff       	call   0x406a40
406cd6:	8b f0                	mov    %eax,%esi
406cd8:	8b d7                	mov    %edi,%edx
406cda:	8b c3                	mov    %ebx,%eax
406cdc:	e8 6b fd ff ff       	call   0x406a4c
406ce1:	8b c3                	mov    %ebx,%eax
406ce3:	e8 74 fd ff ff       	call   0x406a5c
406ce8:	50                   	push   %eax
406ce9:	e8 6a db ff ff       	call   0x404858
406cee:	3b fe                	cmp    %esi,%edi
406cf0:	76 09                	jbe    0x406cfb
406cf2:	8b d6                	mov    %esi,%edx
406cf4:	8b c3                	mov    %ebx,%eax
406cf6:	e8 51 fd ff ff       	call   0x406a4c
406cfb:	5f                   	pop    %edi
406cfc:	5e                   	pop    %esi
406cfd:	5b                   	pop    %ebx
406cfe:	c3                   	ret
406cff:	90                   	nop
406d00:	53                   	push   %ebx
406d01:	56                   	push   %esi
406d02:	57                   	push   %edi
406d03:	55                   	push   %ebp
406d04:	83 c4 f8             	add    $0xfffffff8,%esp
406d07:	8b f9                	mov    %ecx,%edi
406d09:	89 14 24             	mov    %edx,(%esp)
406d0c:	8b d8                	mov    %eax,%ebx
406d0e:	8b 43 58             	mov    0x58(%ebx),%eax
406d11:	8b 68 1c             	mov    0x1c(%eax),%ebp
406d14:	8b 73 54             	mov    0x54(%ebx),%esi
406d17:	33 c0                	xor    %eax,%eax
406d19:	89 44 24 04          	mov    %eax,0x4(%esp)
406d1d:	83 fd 01             	cmp    $0x1,%ebp
406d20:	7e 1e                	jle    0x406d40
406d22:	8b d5                	mov    %ebp,%edx
406d24:	83 ea 02             	sub    $0x2,%edx
406d27:	8b 43 58             	mov    0x58(%ebx),%eax
406d2a:	e8 d5 35 00 00       	call   0x40a304
406d2f:	89 44 24 04          	mov    %eax,0x4(%esp)
406d33:	8b d5                	mov    %ebp,%edx
406d35:	4a                   	dec    %edx
406d36:	8b 43 58             	mov    0x58(%ebx),%eax
406d39:	e8 c6 35 00 00       	call   0x40a304
406d3e:	8b f0                	mov    %eax,%esi
406d40:	8b 43 54             	mov    0x54(%ebx),%eax
406d43:	8b c8                	mov    %eax,%ecx
406d45:	2b ce                	sub    %esi,%ecx
406d47:	8b d7                	mov    %edi,%edx
406d49:	3b ca                	cmp    %edx,%ecx
406d4b:	7d 2e                	jge    0x406d7b
406d4d:	8b f0                	mov    %eax,%esi
406d4f:	3b d6                	cmp    %esi,%edx
406d51:	7e 02                	jle    0x406d55
406d53:	8b f7                	mov    %edi,%esi
406d55:	8b c6                	mov    %esi,%eax
406d57:	e8 d4 ba ff ff       	call   0x402830
406d5c:	89 44 24 04          	mov    %eax,0x4(%esp)
406d60:	33 f6                	xor    %esi,%esi
406d62:	8b 43 58             	mov    0x58(%ebx),%eax
406d65:	8b 54 24 04          	mov    0x4(%esp),%edx
406d69:	e8 62 e4 ff ff       	call   0x4051d0
406d6e:	8b 43 58             	mov    0x58(%ebx),%eax
406d71:	33 d2                	xor    %edx,%edx
406d73:	e8 58 e4 ff ff       	call   0x4051d0
406d78:	83 c5 02             	add    $0x2,%ebp
406d7b:	01 74 24 04          	add    %esi,0x4(%esp)
406d7f:	8b 44 24 04          	mov    0x4(%esp),%eax
406d83:	89 43 5c             	mov    %eax,0x5c(%ebx)
406d86:	8b 54 24 04          	mov    0x4(%esp),%edx
406d8a:	8b 04 24             	mov    (%esp),%eax
406d8d:	8b cf                	mov    %edi,%ecx
406d8f:	e8 b0 bb ff ff       	call   0x402944
406d94:	03 f7                	add    %edi,%esi
406d96:	8b 43 58             	mov    0x58(%ebx),%eax
406d99:	8b 40 18             	mov    0x18(%eax),%eax
406d9c:	89 74 a8 fc          	mov    %esi,-0x4(%eax,%ebp,4)
406da0:	01 7b 48             	add    %edi,0x48(%ebx)
406da3:	8b 43 48             	mov    0x48(%ebx),%eax
406da6:	89 43 4c             	mov    %eax,0x4c(%ebx)
406da9:	8b c7                	mov    %edi,%eax
406dab:	59                   	pop    %ecx
406dac:	5a                   	pop    %edx
406dad:	5d                   	pop    %ebp
406dae:	5f                   	pop    %edi
406daf:	5e                   	pop    %esi
406db0:	5b                   	pop    %ebx
406db1:	c3                   	ret
406db2:	8b c0                	mov    %eax,%eax
406db4:	53                   	push   %ebx
406db5:	56                   	push   %esi
406db6:	57                   	push   %edi
406db7:	55                   	push   %ebp
406db8:	83 c4 f8             	add    $0xfffffff8,%esp
406dbb:	89 14 24             	mov    %edx,(%esp)
406dbe:	8b d8                	mov    %eax,%ebx
406dc0:	eb 56                	jmp    0x406e18
406dc2:	8b 43 58             	mov    0x58(%ebx),%eax
406dc5:	8b 70 1c             	mov    0x1c(%eax),%esi
406dc8:	83 ee 02             	sub    $0x2,%esi
406dcb:	8b 43 58             	mov    0x58(%ebx),%eax
406dce:	8b 40 18             	mov    0x18(%eax),%eax
406dd1:	8b 04 b0             	mov    (%eax,%esi,4),%eax
406dd4:	89 44 24 04          	mov    %eax,0x4(%esp)
406dd8:	8b 43 58             	mov    0x58(%ebx),%eax
406ddb:	8b 40 18             	mov    0x18(%eax),%eax
406dde:	8b 6c b0 04          	mov    0x4(%eax,%esi,4),%ebp
406de2:	8b 7b 48             	mov    0x48(%ebx),%edi
406de5:	2b 3c 24             	sub    (%esp),%edi
406de8:	3b ef                	cmp    %edi,%ebp
406dea:	7f 1d                	jg     0x406e09
406dec:	8b 44 24 04          	mov    0x4(%esp),%eax
406df0:	e8 6b ba ff ff       	call   0x402860
406df5:	8b 43 58             	mov    0x58(%ebx),%eax
406df8:	b9 02 00 00 00       	mov    $0x2,%ecx
406dfd:	8b d6                	mov    %esi,%edx
406dff:	e8 30 e4 ff ff       	call   0x405234
406e04:	29 6b 48             	sub    %ebp,0x48(%ebx)
406e07:	eb 0f                	jmp    0x406e18
406e09:	2b ef                	sub    %edi,%ebp
406e0b:	8b 43 58             	mov    0x58(%ebx),%eax
406e0e:	8b 40 18             	mov    0x18(%eax),%eax
406e11:	89 6c b0 04          	mov    %ebp,0x4(%eax,%esi,4)
406e15:	29 7b 48             	sub    %edi,0x48(%ebx)
406e18:	8b 43 48             	mov    0x48(%ebx),%eax
406e1b:	3b 04 24             	cmp    (%esp),%eax
406e1e:	77 a2                	ja     0x406dc2
406e20:	8b 43 48             	mov    0x48(%ebx),%eax
406e23:	3b 43 4c             	cmp    0x4c(%ebx),%eax
406e26:	76 03                	jbe    0x406e2b
406e28:	89 43 4c             	mov    %eax,0x4c(%ebx)
406e2b:	59                   	pop    %ecx
406e2c:	5a                   	pop    %edx
406e2d:	5d                   	pop    %ebp
406e2e:	5f                   	pop    %edi
406e2f:	5e                   	pop    %esi
406e30:	5b                   	pop    %ebx
406e31:	c3                   	ret
406e32:	8b c0                	mov    %eax,%eax
406e34:	53                   	push   %ebx
406e35:	56                   	push   %esi
406e36:	57                   	push   %edi
406e37:	8b f0                	mov    %eax,%esi
406e39:	33 db                	xor    %ebx,%ebx
406e3b:	eb 0e                	jmp    0x406e4b
406e3d:	8b 47 18             	mov    0x18(%edi),%eax
406e40:	8b 04 98             	mov    (%eax,%ebx,4),%eax
406e43:	e8 18 ba ff ff       	call   0x402860
406e48:	83 c3 02             	add    $0x2,%ebx
406e4b:	8b 7e 58             	mov    0x58(%esi),%edi
406e4e:	3b 5f 1c             	cmp    0x1c(%edi),%ebx
406e51:	7c ea                	jl     0x406e3d
406e53:	8d 46 58             	lea    0x58(%esi),%eax
406e56:	e8 f5 e2 ff ff       	call   0x405150
406e5b:	33 c0                	xor    %eax,%eax
406e5d:	89 46 4c             	mov    %eax,0x4c(%esi)
406e60:	33 c0                	xor    %eax,%eax
406e62:	89 46 48             	mov    %eax,0x48(%esi)
406e65:	5f                   	pop    %edi