422cb2:	a1 a8 dc 46 00       	mov    0x46dca8,%eax
422cb7:	e8 e0 b7 ff ff       	call   0x41e49c
422cbc:	8b c6                	mov    %esi,%eax
422cbe:	e8 11 fe ff ff       	call   0x422ad4
422cc3:	8d 45 ac             	lea    -0x54(%ebp),%eax
422cc6:	33 c9                	xor    %ecx,%ecx
422cc8:	ba 54 00 00 00       	mov    $0x54,%edx
422ccd:	e8 92 ff fd ff       	call   0x402c64
422cd2:	8d 45 ac             	lea    -0x54(%ebp),%eax
422cd5:	50                   	push   %eax
422cd6:	6a 54                	push   $0x54
422cd8:	53                   	push   %ebx
422cd9:	e8 ee 35 fe ff       	call   0x4062cc
422cde:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
422ce2:	75 05                	jne    0x422ce9
422ce4:	33 c0                	xor    %eax,%eax
422ce6:	89 45 c4             	mov    %eax,-0x3c(%ebp)
422ce9:	8d 45 ac             	lea    -0x54(%ebp),%eax
422cec:	50                   	push   %eax
422ced:	8b 4d 08             	mov    0x8(%ebp),%ecx
422cf0:	8b d3                	mov    %ebx,%edx
422cf2:	8b c6                	mov    %esi,%eax
422cf4:	e8 f7 f7 ff ff       	call   0x4224f0
422cf9:	8b 46 28             	mov    0x28(%esi),%eax
422cfc:	c6 40 70 00          	movb   $0x0,0x70(%eax)
422d00:	8b c6                	mov    %esi,%eax
422d02:	8b 10                	mov    (%eax),%edx
422d04:	ff 52 24             	call   *0x24(%edx)
422d07:	85 c0                	test   %eax,%eax
422d09:	0f 95 c0             	setne  %al
422d0c:	88 46 22             	mov    %al,0x22(%esi)
422d0f:	8b d6                	mov    %esi,%edx
422d11:	8b c6                	mov    %esi,%eax
422d13:	8b 08                	mov    (%eax),%ecx
422d15:	ff 51 10             	call   *0x10(%ecx)
422d18:	5e                   	pop    %esi
422d19:	5b                   	pop    %ebx
422d1a:	8b e5                	mov    %ebp,%esp
422d1c:	5d                   	pop    %ebp
422d1d:	c2 04 00             	ret    $0x4
422d20:	53                   	push   %ebx
422d21:	56                   	push   %esi
422d22:	8b da                	mov    %edx,%ebx
422d24:	8b f0                	mov    %eax,%esi
422d26:	8b c3                	mov    %ebx,%eax
422d28:	8b 10                	mov    (%eax),%edx
422d2a:	ff 12                	call   *(%edx)
422d2c:	50                   	push   %eax
422d2d:	8b c3                	mov    %ebx,%eax
422d2f:	e8 48 34 ff ff       	call   0x41617c
422d34:	59                   	pop    %ecx
422d35:	2b c8                	sub    %eax,%ecx
422d37:	8b d3                	mov    %ebx,%edx
422d39:	8b c6                	mov    %esi,%eax
422d3b:	e8 f4 06 00 00       	call   0x423434
422d40:	5e                   	pop    %esi
422d41:	5b                   	pop    %ebx
422d42:	c3                   	ret
422d43:	90                   	nop
422d44:	55                   	push   %ebp
422d45:	8b ec                	mov    %esp,%ebp
422d47:	51                   	push   %ecx
422d48:	53                   	push   %ebx
422d49:	8b d8                	mov    %eax,%ebx
422d4b:	51                   	push   %ecx
422d4c:	6a 02                	push   $0x2
422d4e:	a1 9c 21 41 00       	mov    0x41219c,%eax
422d53:	b1 01                	mov    $0x1,%cl
422d55:	87 ca                	xchg   %ecx,%edx
422d57:	e8 b0 3c ff ff       	call   0x416a0c
422d5c:	89 45 fc             	mov    %eax,-0x4(%ebp)
422d5f:	33 c0                	xor    %eax,%eax
422d61:	55                   	push   %ebp
422d62:	68 98 2d 42 00       	push   $0x422d98
422d67:	64 ff 30             	push   %fs:(%eax)
422d6a:	64 89 20             	mov    %esp,%fs:(%eax)
422d6d:	6a 00                	push   $0x0
422d6f:	8b 45 fc             	mov    -0x4(%ebp),%eax
422d72:	8b 10                	mov    (%eax),%edx
422d74:	ff 12                	call   *(%edx)
422d76:	8b c8                	mov    %eax,%ecx
422d78:	8b 55 fc             	mov    -0x4(%ebp),%edx
422d7b:	8b c3                	mov    %ebx,%eax
422d7d:	e8 4a 01 00 00       	call   0x422ecc
422d82:	33 c0                	xor    %eax,%eax
422d84:	5a                   	pop    %edx
422d85:	59                   	pop    %ecx
422d86:	59                   	pop    %ecx
422d87:	64 89 10             	mov    %edx,%fs:(%eax)
422d8a:	68 9f 2d 42 00       	push   $0x422d9f
422d8f:	8b 45 fc             	mov    -0x4(%ebp),%eax
422d92:	e8 b1 04 fe ff       	call   0x403248
422d97:	c3                   	ret
422d98:	e9 ff 0b fe ff       	jmp    0x40399c
422d9d:	eb f0                	jmp    0x422d8f
422d9f:	5b                   	pop    %ebx
422da0:	59                   	pop    %ecx
422da1:	5d                   	pop    %ebp
422da2:	c3                   	ret
422da3:	90                   	nop
422da4:	55                   	push   %ebp
422da5:	8b ec                	mov    %esp,%ebp
422da7:	83 c4 f8             	add    $0xfffffff8,%esp
422daa:	53                   	push   %ebx
422dab:	56                   	push   %esi
422dac:	57                   	push   %edi
422dad:	8b f1                	mov    %ecx,%esi
422daf:	8b da                	mov    %edx,%ebx
422db1:	89 45 fc             	mov    %eax,-0x4(%ebp)
422db4:	b2 01                	mov    $0x1,%dl
422db6:	a1 bc c2 41 00       	mov    0x41c2bc,%eax
422dbb:	e8 58 04 fe ff       	call   0x403218
422dc0:	89 45 f8             	mov    %eax,-0x8(%ebp)
422dc3:	33 c0                	xor    %eax,%eax
422dc5:	55                   	push   %ebp
422dc6:	68 2b 2e 42 00       	push   $0x422e2b
422dcb:	64 ff 30             	push   %fs:(%eax)
422dce:	64 89 20             	mov    %esp,%fs:(%eax)
422dd1:	8b 45 f8             	mov    -0x8(%ebp),%eax
422dd4:	89 58 08             	mov    %ebx,0x8(%eax)
422dd7:	8b 45 f8             	mov    -0x8(%ebp),%eax
422dda:	89 70 10             	mov    %esi,0x10(%eax)
422ddd:	8b 45 10             	mov    0x10(%ebp),%eax
422de0:	8b 55 f8             	mov    -0x8(%ebp),%edx
422de3:	8b f0                	mov    %eax,%esi
422de5:	8d 7a 18             	lea    0x18(%edx),%edi
422de8:	b9 15 00 00 00       	mov    $0x15,%ecx
422ded:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
422def:	8b 45 f8             	mov    -0x8(%ebp),%eax
422df2:	8a 55 0c             	mov    0xc(%ebp),%dl
422df5:	88 50 70             	mov    %dl,0x70(%eax)
422df8:	8b 45 f8             	mov    -0x8(%ebp),%eax
422dfb:	83 78 2c 00          	cmpl   $0x0,0x2c(%eax)
422dff:	74 0c                	je     0x422e0d
422e01:	8b 45 f8             	mov    -0x8(%ebp),%eax
422e04:	8b 40 08             	mov    0x8(%eax),%eax
422e07:	8b 55 f8             	mov    -0x8(%ebp),%edx
422e0a:	89 42 14             	mov    %eax,0x14(%edx)
422e0d:	8b 45 08             	mov    0x8(%ebp),%eax
422e10:	8b 15 20 21 41 00    	mov    0x412120,%edx
422e16:	e8 dd 05 fe ff       	call   0x4033f8
422e1b:	8b 55 f8             	mov    -0x8(%ebp),%edx
422e1e:	89 42 6c             	mov    %eax,0x6c(%edx)
422e21:	33 c0                	xor    %eax,%eax
422e23:	5a                   	pop    %edx
422e24:	59                   	pop    %ecx
422e25:	59                   	pop    %ecx
422e26:	64 89 10             	mov    %edx,%fs:(%eax)
422e29:	eb 17                	jmp    0x422e42
422e2b:	e9 b8 08 fe ff       	jmp    0x4036e8
422e30:	8b 45 f8             	mov    -0x8(%ebp),%eax
422e33:	e8 10 04 fe ff       	call   0x403248
422e38:	e8 bf 0b fe ff       	call   0x4039fc
422e3d:	e8 0e 0c fe ff       	call   0x403a50
422e42:	68 a8 e8 46 00       	push   $0x46e8a8
422e47:	e8 70 31 fe ff       	call   0x405fbc
422e4c:	33 d2                	xor    %edx,%edx
422e4e:	55                   	push   %ebp
422e4f:	68 8b 2e 42 00       	push   $0x422e8b
422e54:	64 ff 32             	push   %fs:(%edx)
422e57:	64 89 22             	mov    %esp,%fs:(%edx)
422e5a:	8b 45 fc             	mov    -0x4(%ebp),%eax
422e5d:	8b 40 28             	mov    0x28(%eax),%eax
422e60:	e8 53 ea ff ff       	call   0x4218b8
422e65:	8b 55 fc             	mov    -0x4(%ebp),%edx
422e68:	8b 45 f8             	mov    -0x8(%ebp),%eax
422e6b:	89 42 28             	mov    %eax,0x28(%edx)
422e6e:	e8 41 ea ff ff       	call   0x4218b4
422e73:	33 c0                	xor    %eax,%eax
422e75:	5a                   	pop    %edx
422e76:	59                   	pop    %ecx
422e77:	59                   	pop    %ecx
422e78:	64 89 10             	mov    %edx,%fs:(%eax)
422e7b:	68 92 2e 42 00       	push   $0x422e92
422e80:	68 a8 e8 46 00       	push   $0x46e8a8
422e85:	e8 9a 32 fe ff       	call   0x406124
422e8a:	c3                   	ret
422e8b:	e9 0c 0b fe ff       	jmp    0x40399c
422e90:	eb ee                	jmp    0x422e80
422e92:	8b 45 fc             	mov    -0x4(%ebp),%eax
422e95:	c6 40 32 00          	movb   $0x0,0x32(%eax)
422e99:	5f                   	pop    %edi
422e9a:	5e                   	pop    %esi
422e9b:	5b                   	pop    %ebx
422e9c:	59                   	pop    %ecx
422e9d:	59                   	pop    %ecx
422e9e:	5d                   	pop    %ebp
422e9f:	c2 0c 00             	ret    $0xc
422ea2:	8b c0                	mov    %eax,%eax
422ea4:	53                   	push   %ebx
422ea5:	56                   	push   %esi
422ea6:	57                   	push   %edi
422ea7:	51                   	push   %ecx
422ea8:	8b f2                	mov    %edx,%esi
422eaa:	8b d8                	mov    %eax,%ebx
422eac:	8b d4                	mov    %esp,%edx
422eae:	b9 04 00 00 00       	mov    $0x4,%ecx
422eb3:	8b c6                	mov    %esi,%eax
422eb5:	8b 38                	mov    (%eax),%edi
422eb7:	ff 57 0c             	call   *0xc(%edi)
422eba:	8b 0c 24             	mov    (%esp),%ecx
422ebd:	8b d6                	mov    %esi,%edx
422ebf:	8b c3                	mov    %ebx,%eax
422ec1:	e8 6e 05 00 00       	call   0x423434
422ec6:	5a                   	pop    %edx
422ec7:	5f                   	pop    %edi
422ec8:	5e                   	pop    %esi
422ec9:	5b                   	pop    %ebx
422eca:	c3                   	ret
422ecb:	90                   	nop
422ecc:	55                   	push   %ebp
422ecd:	8b ec                	mov    %esp,%ebp
422ecf:	81 c4 54 ff ff ff    	add    $0xffffff54,%esp
422ed5:	53                   	push   %ebx
422ed6:	56                   	push   %esi
422ed7:	57                   	push   %edi
422ed8:	8b f1                	mov    %ecx,%esi
422eda:	89 55 f8             	mov    %edx,-0x8(%ebp)
422edd:	89 45 fc             	mov    %eax,-0x4(%ebp)
422ee0:	33 c0                	xor    %eax,%eax
422ee2:	89 45 d0             	mov    %eax,-0x30(%ebp)
422ee5:	33 c0                	xor    %eax,%eax
422ee7:	89 45 d8             	mov    %eax,-0x28(%ebp)
422eea:	33 c0                	xor    %eax,%eax
422eec:	89 45 c8             	mov    %eax,-0x38(%ebp)
422eef:	8d 55 e0             	lea    -0x20(%ebp),%edx
422ef2:	b9 04 00 00 00       	mov    $0x4,%ecx
422ef7:	8b 45 f8             	mov    -0x8(%ebp),%eax
422efa:	8b 18                	mov    (%eax),%ebx
422efc:	ff 53 0c             	call   *0xc(%ebx)
422eff:	83 7d e0 0c          	cmpl   $0xc,-0x20(%ebp)
422f03:	0f 94 45 df          	sete   -0x21(%ebp)
422f07:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
422f0b:	74 07                	je     0x422f14
422f0d:	c7 45 e0 28 00 00 00 	movl   $0x28,-0x20(%ebp)
422f14:	8b 45 e0             	mov    -0x20(%ebp),%eax
422f17:	83 c0 0c             	add    $0xc,%eax
422f1a:	05 00 04 00 00       	add    $0x400,%eax
422f1f:	e8 98 f7 fd ff       	call   0x4026bc
422f24:	89 45 e8             	mov    %eax,-0x18(%ebp)
422f27:	8b 45 e8             	mov    -0x18(%ebp),%eax
422f2a:	89 45 c4             	mov    %eax,-0x3c(%ebp)
422f2d:	33 d2                	xor    %edx,%edx
422f2f:	55                   	push   %ebp
422f30:	68 e9 33 42 00       	push   $0x4233e9
422f35:	64 ff 32             	push   %fs:(%edx)
422f38:	64 89 22             	mov    %esp,%fs:(%edx)
422f3b:	33 d2                	xor    %edx,%edx
422f3d:	55                   	push   %ebp
422f3e:	68 bc 33 42 00       	push   $0x4233bc
422f43:	64 ff 32             	push   %fs:(%edx)
422f46:	64 89 22             	mov    %esp,%fs:(%edx)
422f49:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
422f4d:	74 4c                	je     0x422f9b
422f4f:	8d 55 b8             	lea    -0x48(%ebp),%edx
422f52:	83 c2 04             	add    $0x4,%edx
422f55:	b9 08 00 00 00       	mov    $0x8,%ecx
422f5a:	8b 45 f8             	mov    -0x8(%ebp),%eax
422f5d:	8b 18                	mov    (%eax),%ebx
422f5f:	ff 53 0c             	call   *0xc(%ebx)
422f62:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
422f65:	8b c3                	mov    %ebx,%eax
422f67:	33 c9                	xor    %ecx,%ecx
422f69:	ba 28 00 00 00       	mov    $0x28,%edx
422f6e:	e8 f1 fc fd ff       	call   0x402c64
422f73:	8b c3                	mov    %ebx,%eax
422f75:	0f b7 55 bc          	movzwl -0x44(%ebp),%edx
422f79:	89 50 04             	mov    %edx,0x4(%eax)
422f7c:	0f b7 55 be          	movzwl -0x42(%ebp),%edx
422f80:	89 50 08             	mov    %edx,0x8(%eax)
422f83:	66 8b 55 c0          	mov    -0x40(%ebp),%dx
422f87:	66 89 50 0c          	mov    %dx,0xc(%eax)
422f8b:	66 8b 55 c2          	mov    -0x3e(%ebp),%dx
422f8f:	66 89 50 0e          	mov    %dx,0xe(%eax)
422f93:	83 ee 0c             	sub    $0xc,%esi
422f96:	e9 cd 00 00 00       	jmp    0x423068
422f9b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
422f9e:	83 e9 04             	sub    $0x4,%ecx
422fa1:	8b 55 e8             	mov    -0x18(%ebp),%edx
422fa4:	83 c2 04             	add    $0x4,%edx
422fa7:	8b 45 f8             	mov    -0x8(%ebp),%eax
422faa:	8b 18                	mov    (%eax),%ebx
422fac:	ff 53 0c             	call   *0xc(%ebx)
422faf:	2b 75 e0             	sub    -0x20(%ebp),%esi
422fb2:	8b 45 c4             	mov    -0x3c(%ebp),%eax
422fb5:	8b 40 10             	mov    0x10(%eax),%eax
422fb8:	83 f8 03             	cmp    $0x3,%eax
422fbb:	0f 84 a7 00 00 00    	je     0x423068
422fc1:	85 c0                	test   %eax,%eax
422fc3:	0f 84 9f 00 00 00    	je     0x423068
422fc9:	b2 01                	mov    $0x1,%dl
422fcb:	a1 20 21 41 00       	mov    0x412120,%eax
422fd0:	e8 43 02 fe ff       	call   0x403218
422fd5:	89 45 c8             	mov    %eax,-0x38(%ebp)
422fd8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
422fdc:	75 2f                	jne    0x42300d
422fde:	8d 85 56 ff ff ff    	lea    -0xaa(%ebp),%eax
422fe4:	33 c9                	xor    %ecx,%ecx
422fe6:	ba 0e 00 00 00       	mov    $0xe,%edx
422feb:	e8 74 fc fd ff       	call   0x402c64
422ff0:	66 c7 85 56 ff ff ff 	movw   $0x4d42,-0xaa(%ebp)
422ff7:	42 4d
422ff9:	8b 45 e0             	mov    -0x20(%ebp),%eax
422ffc:	03 c6                	add    %esi,%eax
422ffe:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
423004:	8d 85 56 ff ff ff    	lea    -0xaa(%ebp),%eax
42300a:	89 45 08             	mov    %eax,0x8(%ebp)
42300d:	8b 55 08             	mov    0x8(%ebp),%edx
423010:	b9 0e 00 00 00       	mov    $0xe,%ecx
423015:	8b 45 c8             	mov    -0x38(%ebp),%eax
423018:	8b 18                	mov    (%eax),%ebx
42301a:	ff 53 10             	call   *0x10(%ebx)
42301d:	8d 55 e0             	lea    -0x20(%ebp),%edx
423020:	b9 04 00 00 00       	mov    $0x4,%ecx
423025:	8b 45 c8             	mov    -0x38(%ebp),%eax
423028:	8b 18                	mov    (%eax),%ebx
42302a:	ff 53 10             	call   *0x10(%ebx)
42302d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
423030:	83 e9 04             	sub    $0x4,%ecx
423033:	8b 55 e8             	mov    -0x18(%ebp),%edx
423036:	83 c2 04             	add    $0x4,%edx
423039:	8b 45 c8             	mov    -0x38(%ebp),%eax
42303c:	8b 18                	mov    (%eax),%ebx
42303e:	ff 53 10             	call   *0x10(%ebx)
423041:	8b c6                	mov    %esi,%eax
423043:	33 d2                	xor    %edx,%edx
423045:	52                   	push   %edx
423046:	50                   	push   %eax
423047:	8b 55 f8             	mov    -0x8(%ebp),%edx
42304a:	8b 45 c8             	mov    -0x38(%ebp),%eax
42304d:	e8 c6 33 ff ff       	call   0x416418
423052:	8b d6                	mov    %esi,%edx
423054:	f7 da                	neg    %edx
423056:	66 b9 02 00          	mov    $0x2,%cx
42305a:	8b 45 c8             	mov    -0x38(%ebp),%eax
42305d:	8b 18                	mov    (%eax),%ebx
42305f:	ff 53 14             	call   *0x14(%ebx)
423062:	8b 45 c8             	mov    -0x38(%ebp),%eax
423065:	89 45 f8             	mov    %eax,-0x8(%ebp)
423068:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
42306b:	8b 45 e0             	mov    -0x20(%ebp),%eax
42306e:	89 03                	mov    %eax,(%ebx)
423070:	8b 45 e8             	mov    -0x18(%ebp),%eax
423073:	03 45 e0             	add    -0x20(%ebp),%eax
423076:	89 45 e4             	mov    %eax,-0x1c(%ebp)
423079:	66 83 7b 0c 01       	cmpw   $0x1,0xc(%ebx)
42307e:	74 05                	je     0x423085
423080:	e8 2f b4 ff ff       	call   0x41e4b4
423085:	83 7d e0 28          	cmpl   $0x28,-0x20(%ebp)
423089:	75 2d                	jne    0x4230b8