405ccd:	89 46 20             	mov    %eax,0x20(%esi)
405cd0:	8b 45 f4             	mov    -0xc(%ebp),%eax
405cd3:	89 46 2c             	mov    %eax,0x2c(%esi)
405cd6:	89 46 30             	mov    %eax,0x30(%esi)
405cd9:	89 7e 4c             	mov    %edi,0x4c(%esi)
405cdc:	a1 c4 40 43 00       	mov    0x4340c4,%eax
405ce1:	8b 0d c8 40 43 00    	mov    0x4340c8,%ecx
405ce7:	5f                   	pop    %edi
405ce8:	89 5e 38             	mov    %ebx,0x38(%esi)
405ceb:	89 46 40             	mov    %eax,0x40(%esi)
405cee:	89 4e 44             	mov    %ecx,0x44(%esi)
405cf1:	5e                   	pop    %esi
405cf2:	5b                   	pop    %ebx
405cf3:	c9                   	leave
405cf4:	c2 08 00             	ret    $0x8
405cf7:	53                   	push   %ebx
405cf8:	56                   	push   %esi
405cf9:	57                   	push   %edi
405cfa:	8b f9                	mov    %ecx,%edi
405cfc:	8d 47 04             	lea    0x4(%edi),%eax
405cff:	89 47 0c             	mov    %eax,0xc(%edi)
405d02:	8d 77 08             	lea    0x8(%edi),%esi
405d05:	89 77 10             	mov    %esi,0x10(%edi)
405d08:	8d 5f 14             	lea    0x14(%edi),%ebx
405d0b:	89 5f 1c             	mov    %ebx,0x1c(%edi)
405d0e:	8d 57 18             	lea    0x18(%edi),%edx
405d11:	89 57 20             	mov    %edx,0x20(%edi)
405d14:	8d 4f 24             	lea    0x24(%edi),%ecx
405d17:	89 4f 2c             	mov    %ecx,0x2c(%edi)
405d1a:	8d 47 28             	lea    0x28(%edi),%eax
405d1d:	89 47 30             	mov    %eax,0x30(%edi)
405d20:	83 26 00             	andl   $0x0,(%esi)
405d23:	33 f6                	xor    %esi,%esi
405d25:	89 32                	mov    %esi,(%edx)
405d27:	89 30                	mov    %esi,(%eax)
405d29:	89 77 04             	mov    %esi,0x4(%edi)
405d2c:	89 33                	mov    %esi,(%ebx)
405d2e:	5f                   	pop    %edi
405d2f:	89 31                	mov    %esi,(%ecx)
405d31:	5e                   	pop    %esi
405d32:	5b                   	pop    %ebx
405d33:	c3                   	ret
405d34:	6a 00                	push   $0x0
405d36:	b8 6d 2e 42 00       	mov    $0x422e6d,%eax
405d3b:	e8 fc 1d 00 00       	call   0x407b3c
405d40:	8b f1                	mov    %ecx,%esi
405d42:	33 db                	xor    %ebx,%ebx
405d44:	c7 46 14 01 02 00 00 	movl   $0x201,0x14(%esi)
405d4b:	53                   	push   %ebx
405d4c:	53                   	push   %ebx
405d4d:	89 5e 30             	mov    %ebx,0x30(%esi)
405d50:	89 5e 08             	mov    %ebx,0x8(%esi)
405d53:	89 5e 10             	mov    %ebx,0x10(%esi)
405d56:	c7 46 18 06 00 00 00 	movl   $0x6,0x18(%esi)
405d5d:	89 5e 1c             	mov    %ebx,0x1c(%esi)
405d60:	89 5e 20             	mov    %ebx,0x20(%esi)
405d63:	89 5e 24             	mov    %ebx,0x24(%esi)
405d66:	89 5e 28             	mov    %ebx,0x28(%esi)
405d69:	89 5e 2c             	mov    %ebx,0x2c(%esi)
405d6c:	e8 2f c1 ff ff       	call   0x401ea0
405d71:	6a 08                	push   $0x8
405d73:	e8 a4 18 00 00       	call   0x40761c
405d78:	8b f8                	mov    %eax,%edi
405d7a:	59                   	pop    %ecx
405d7b:	85 ff                	test   %edi,%edi
405d7d:	74 10                	je     0x405d8f
405d7f:	6a 01                	push   $0x1
405d81:	89 5d fc             	mov    %ebx,-0x4(%ebp)
405d84:	e8 51 0d 00 00       	call   0x406ada
405d89:	59                   	pop    %ecx
405d8a:	89 47 04             	mov    %eax,0x4(%edi)
405d8d:	eb 02                	jmp    0x405d91
405d8f:	8b fb                	mov    %ebx,%edi
405d91:	89 7e 30             	mov    %edi,0x30(%esi)
405d94:	e8 80 1d 00 00       	call   0x407b19
405d99:	c3                   	ret
405d9a:	cc                   	int3
405d9b:	cc                   	int3
405d9c:	cc                   	int3
405d9d:	cc                   	int3
405d9e:	cc                   	int3
405d9f:	55                   	push   %ebp
405da0:	8b ec                	mov    %esp,%ebp
405da2:	56                   	push   %esi
405da3:	57                   	push   %edi
405da4:	8b 7d 08             	mov    0x8(%ebp),%edi
405da7:	8b f1                	mov    %ecx,%esi
405da9:	8b cf                	mov    %edi,%ecx
405dab:	e8 93 00 00 00       	call   0x405e43
405db0:	84 c0                	test   %al,%al
405db2:	74 06                	je     0x405dba
405db4:	83 66 38 00          	andl   $0x0,0x38(%esi)
405db8:	eb 0a                	jmp    0x405dc4
405dba:	8b ce                	mov    %esi,%ecx
405dbc:	89 7e 38             	mov    %edi,0x38(%esi)
405dbf:	e8 33 ff ff ff       	call   0x405cf7
405dc4:	5f                   	pop    %edi
405dc5:	5e                   	pop    %esi
405dc6:	5d                   	pop    %ebp
405dc7:	c2 04 00             	ret    $0x4
405dca:	83 79 4c 00          	cmpl   $0x0,0x4c(%ecx)
405dce:	74 09                	je     0x405dd9
405dd0:	ff 71 4c             	push   0x4c(%ecx)
405dd3:	e8 ae 59 00 00       	call   0x40b786
405dd8:	59                   	pop    %ecx
405dd9:	c3                   	ret
405dda:	c2 00 00             	ret    $0x0
405ddd:	57                   	push   %edi
405dde:	8b 79 0c             	mov    0xc(%ecx),%edi
405de1:	8d 41 3c             	lea    0x3c(%ecx),%eax
405de4:	39 07                	cmp    %eax,(%edi)
405de6:	75 16                	jne    0x405dfe
405de8:	8b 51 50             	mov    0x50(%ecx),%edx
405deb:	56                   	push   %esi
405dec:	8b 71 54             	mov    0x54(%ecx),%esi
405def:	89 17                	mov    %edx,(%edi)
405df1:	2b f2                	sub    %edx,%esi
405df3:	8b 41 1c             	mov    0x1c(%ecx),%eax
405df6:	89 10                	mov    %edx,(%eax)
405df8:	8b 41 2c             	mov    0x2c(%ecx),%eax
405dfb:	89 30                	mov    %esi,(%eax)
405dfd:	5e                   	pop    %esi
405dfe:	5f                   	pop    %edi
405dff:	c3                   	ret
405e00:	8b d1                	mov    %ecx,%edx
405e02:	56                   	push   %esi
405e03:	57                   	push   %edi
405e04:	8b 7a 0c             	mov    0xc(%edx),%edi
405e07:	8d 72 3c             	lea    0x3c(%edx),%esi
405e0a:	8b 07                	mov    (%edi),%eax
405e0c:	3b c6                	cmp    %esi,%eax
405e0e:	74 10                	je     0x405e20
405e10:	8b 4a 1c             	mov    0x1c(%edx),%ecx
405e13:	89 42 50             	mov    %eax,0x50(%edx)
405e16:	8b 42 2c             	mov    0x2c(%edx),%eax
405e19:	8b 00                	mov    (%eax),%eax
405e1b:	03 01                	add    (%ecx),%eax
405e1d:	89 42 54             	mov    %eax,0x54(%edx)
405e20:	89 37                	mov    %esi,(%edi)
405e22:	8b 42 1c             	mov    0x1c(%edx),%eax
405e25:	5f                   	pop    %edi
405e26:	89 30                	mov    %esi,(%eax)
405e28:	8b 42 2c             	mov    0x2c(%edx),%eax
405e2b:	5e                   	pop    %esi
405e2c:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
405e32:	c3                   	ret
405e33:	83 79 4c 00          	cmpl   $0x0,0x4c(%ecx)
405e37:	74 09                	je     0x405e42
405e39:	ff 71 4c             	push   0x4c(%ecx)
405e3c:	e8 59 59 00 00       	call   0x40b79a
405e41:	59                   	pop    %ecx
405e42:	c3                   	ret
405e43:	56                   	push   %esi
405e44:	57                   	push   %edi
405e45:	8b f9                	mov    %ecx,%edi
405e47:	8b 07                	mov    (%edi),%eax
405e49:	8b 70 0c             	mov    0xc(%eax),%esi
405e4c:	8b ce                	mov    %esi,%ecx
405e4e:	ff 15 54 41 42 00    	call   *0x424154
405e54:	8b cf                	mov    %edi,%ecx
405e56:	ff d6                	call   *%esi
405e58:	5f                   	pop    %edi
405e59:	5e                   	pop    %esi
405e5a:	c3                   	ret
405e5b:	53                   	push   %ebx
405e5c:	56                   	push   %esi
405e5d:	8b f1                	mov    %ecx,%esi
405e5f:	33 db                	xor    %ebx,%ebx
405e61:	57                   	push   %edi
405e62:	39 5e 4c             	cmp    %ebx,0x4c(%esi)
405e65:	74 1b                	je     0x405e82
405e67:	e8 b7 fc ff ff       	call   0x405b23
405e6c:	ff 76 4c             	push   0x4c(%esi)
405e6f:	0f b6 f8             	movzbl %al,%edi
405e72:	f7 df                	neg    %edi
405e74:	1b ff                	sbb    %edi,%edi
405e76:	23 fe                	and    %esi,%edi
405e78:	e8 93 73 00 00       	call   0x40d210
405e7d:	59                   	pop    %ecx
405e7e:	85 c0                	test   %eax,%eax
405e80:	74 02                	je     0x405e84
405e82:	8b fb                	mov    %ebx,%edi
405e84:	8b ce                	mov    %esi,%ecx
405e86:	88 5e 48             	mov    %bl,0x48(%esi)
405e89:	88 5e 3d             	mov    %bl,0x3d(%esi)
405e8c:	e8 66 fe ff ff       	call   0x405cf7
405e91:	89 5e 4c             	mov    %ebx,0x4c(%esi)
405e94:	8b c7                	mov    %edi,%eax
405e96:	8b 0d c4 40 43 00    	mov    0x4340c4,%ecx
405e9c:	8b 15 c8 40 43 00    	mov    0x4340c8,%edx
405ea2:	5f                   	pop    %edi
405ea3:	89 5e 38             	mov    %ebx,0x38(%esi)
405ea6:	89 4e 40             	mov    %ecx,0x40(%esi)
405ea9:	89 56 44             	mov    %edx,0x44(%esi)
405eac:	5e                   	pop    %esi
405ead:	5b                   	pop    %ebx
405eae:	c3                   	ret
405eaf:	b0 01                	mov    $0x1,%al
405eb1:	c3                   	ret
405eb2:	33 c0                	xor    %eax,%eax
405eb4:	40                   	inc    %eax
405eb5:	c3                   	ret
405eb6:	55                   	push   %ebp
405eb7:	8b ec                	mov    %esp,%ebp
405eb9:	8b 4d 14             	mov    0x14(%ebp),%ecx
405ebc:	8b 45 0c             	mov    0xc(%ebp),%eax
405ebf:	6a 03                	push   $0x3
405ec1:	89 01                	mov    %eax,(%ecx)
405ec3:	8b 4d 20             	mov    0x20(%ebp),%ecx
405ec6:	8b 45 18             	mov    0x18(%ebp),%eax
405ec9:	89 01                	mov    %eax,(%ecx)
405ecb:	58                   	pop    %eax
405ecc:	5d                   	pop    %ebp
405ecd:	c2 1c 00             	ret    $0x1c
405ed0:	55                   	push   %ebp
405ed1:	8b ec                	mov    %esp,%ebp
405ed3:	8b 45 10             	mov    0x10(%ebp),%eax
405ed6:	2b 45 0c             	sub    0xc(%ebp),%eax
405ed9:	3b 45 14             	cmp    0x14(%ebp),%eax
405edc:	72 03                	jb     0x405ee1
405ede:	8b 45 14             	mov    0x14(%ebp),%eax
405ee1:	5d                   	pop    %ebp
405ee2:	c2 10 00             	ret    $0x10
405ee5:	55                   	push   %ebp
405ee6:	8b ec                	mov    %esp,%ebp
405ee8:	8b 4d 14             	mov    0x14(%ebp),%ecx
405eeb:	8b 45 0c             	mov    0xc(%ebp),%eax
405eee:	6a 03                	push   $0x3
405ef0:	89 01                	mov    %eax,(%ecx)
405ef2:	58                   	pop    %eax
405ef3:	5d                   	pop    %ebp
405ef4:	c2 10 00             	ret    $0x10
405ef7:	55                   	push   %ebp
405ef8:	8b ec                	mov    %esp,%ebp
405efa:	56                   	push   %esi
405efb:	ff 75 08             	push   0x8(%ebp)
405efe:	8b f1                	mov    %ecx,%esi
405f00:	e8 fe f7 ff ff       	call   0x405703
405f05:	59                   	pop    %ecx
405f06:	50                   	push   %eax
405f07:	8b ce                	mov    %esi,%ecx
405f09:	e8 91 fe ff ff       	call   0x405d9f
405f0e:	5e                   	pop    %esi
405f0f:	5d                   	pop    %ebp
405f10:	c2 04 00             	ret    $0x4
405f13:	c2 04 00             	ret    $0x4
405f16:	55                   	push   %ebp
405f17:	8b ec                	mov    %esp,%ebp
405f19:	56                   	push   %esi
405f1a:	8b f1                	mov    %ecx,%esi
405f1c:	e8 13 fe ff ff       	call   0x405d34
405f21:	8b 45 08             	mov    0x8(%ebp),%eax
405f24:	8b ce                	mov    %esi,%ecx
405f26:	83 66 3c 00          	andl   $0x0,0x3c(%esi)
405f2a:	6a 20                	push   $0x20
405f2c:	89 46 38             	mov    %eax,0x38(%esi)
405f2f:	e8 73 06 00 00       	call   0x4065a7
405f34:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
405f38:	88 46 40             	mov    %al,0x40(%esi)
405f3b:	75 10                	jne    0x405f4d
405f3d:	8b 46 0c             	mov    0xc(%esi),%eax
405f40:	8b ce                	mov    %esi,%ecx
405f42:	6a 00                	push   $0x0
405f44:	83 c8 04             	or     $0x4,%eax
405f47:	50                   	push   %eax
405f48:	e8 53 bf ff ff       	call   0x401ea0
405f4d:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
405f51:	74 07                	je     0x405f5a
405f53:	56                   	push   %esi
405f54:	e8 d9 10 00 00       	call   0x407032
405f59:	59                   	pop    %ecx
405f5a:	5e                   	pop    %esi
405f5b:	5d                   	pop    %ebp
405f5c:	c2 08 00             	ret    $0x8
405f5f:	55                   	push   %ebp
405f60:	8b ec                	mov    %esp,%ebp
405f62:	83 ec 34             	sub    $0x34,%esp
405f65:	a1 14 30 43 00       	mov    0x433014,%eax
405f6a:	33 c5                	xor    %ebp,%eax
405f6c:	89 45 fc             	mov    %eax,-0x4(%ebp)
405f6f:	53                   	push   %ebx
405f70:	8b 5d 08             	mov    0x8(%ebp),%ebx
405f73:	57                   	push   %edi
405f74:	8b f9                	mov    %ecx,%edi
405f76:	83 fb ff             	cmp    $0xffffffff,%ebx
405f79:	75 07                	jne    0x405f82
405f7b:	33 c0                	xor    %eax,%eax
405f7d:	e9 d7 00 00 00       	jmp    0x406059
405f82:	8b 47 20             	mov    0x20(%edi),%eax
405f85:	56                   	push   %esi
405f86:	8b 08                	mov    (%eax),%ecx
405f88:	85 c9                	test   %ecx,%ecx
405f8a:	74 22                	je     0x405fae
405f8c:	8b 57 30             	mov    0x30(%edi),%edx
405f8f:	8b 32                	mov    (%edx),%esi
405f91:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
405f94:	3b c8                	cmp    %eax,%ecx
405f96:	73 16                	jae    0x405fae
405f98:	8d 4e ff             	lea    -0x1(%esi),%ecx
405f9b:	89 0a                	mov    %ecx,(%edx)
405f9d:	8b 57 20             	mov    0x20(%edi),%edx
405fa0:	8b 32                	mov    (%edx),%esi
405fa2:	8d 4e 01             	lea    0x1(%esi),%ecx
405fa5:	89 0a                	mov    %ecx,(%edx)
405fa7:	88 1e                	mov    %bl,(%esi)
405fa9:	e9 a3 00 00 00       	jmp    0x406051
405fae:	83 7f 4c 00          	cmpl   $0x0,0x4c(%edi)
405fb2:	0f 84 9d 00 00 00    	je     0x406055
405fb8:	8b cf                	mov    %edi,%ecx
405fba:	e8 1e fe ff ff       	call   0x405ddd
405fbf:	8b 47 38             	mov    0x38(%edi),%eax
405fc2:	8a cb                	mov    %bl,%cl
405fc4:	89 45 d4             	mov    %eax,-0x2c(%ebp)
405fc7:	85 c0                	test   %eax,%eax
405fc9:	75 06                	jne    0x405fd1
405fcb:	ff 77 4c             	push   0x4c(%edi)
405fce:	51                   	push   %ecx
405fcf:	eb 47                	jmp    0x406018
405fd1:	88 4d d8             	mov    %cl,-0x28(%ebp)
405fd4:	8b 00                	mov    (%eax),%eax
405fd6:	8b 70 1c             	mov    0x1c(%eax),%esi
405fd9:	8d 45 d0             	lea    -0x30(%ebp),%eax
405fdc:	50                   	push   %eax
405fdd:	8d 45 fc             	lea    -0x4(%ebp),%eax
405fe0:	8b ce                	mov    %esi,%ecx
405fe2:	50                   	push   %eax
405fe3:	8d 45 dc             	lea    -0x24(%ebp),%eax
405fe6:	50                   	push   %eax
405fe7:	8d 45 cc             	lea    -0x34(%ebp),%eax
405fea:	50                   	push   %eax
405feb:	8d 45 d9             	lea    -0x27(%ebp),%eax
405fee:	50                   	push   %eax
405fef:	8d 45 d8             	lea    -0x28(%ebp),%eax
405ff2:	50                   	push   %eax
405ff3:	8d 47 40             	lea    0x40(%edi),%eax
405ff6:	50                   	push   %eax
405ff7:	ff 15 54 41 42 00    	call   *0x424154
405ffd:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
406000:	ff d6                	call   *%esi
406002:	83 e8 00             	sub    $0x0,%eax
406005:	74 21                	je     0x406028
406007:	83 e8 01             	sub    $0x1,%eax
40600a:	74 1c                	je     0x406028
40600c:	48                   	dec    %eax
40600d:	83 e8 01             	sub    $0x1,%eax
406010:	75 43                	jne    0x406055
406012:	ff 77 4c             	push   0x4c(%edi)
406015:	ff 75 d8             	push   -0x28(%ebp)
406018:	e8 2b f6 ff ff       	call   0x405648
40601d:	59                   	pop    %ecx