4169c0:	50                   	push   %eax
4169c1:	83 ec 10             	sub    $0x10,%esp
4169c4:	53                   	push   %ebx
4169c5:	56                   	push   %esi
4169c6:	57                   	push   %edi
4169c7:	a1 14 40 4c 00       	mov    0x4c4014,%eax
4169cc:	33 c5                	xor    %ebp,%eax
4169ce:	50                   	push   %eax
4169cf:	8d 45 f4             	lea    -0xc(%ebp),%eax
4169d2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4169d8:	8b f1                	mov    %ecx,%esi
4169da:	89 75 e8             	mov    %esi,-0x18(%ebp)
4169dd:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
4169e4:	c7 06 b4 32 4b 00    	movl   $0x4b32b4,(%esi)
4169ea:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
4169f1:	c7 86 88 00 00 00 00 	movl   $0x0,0x88(%esi)
4169f8:	00 00 00
4169fb:	c7 86 8c 00 00 00 00 	movl   $0x0,0x8c(%esi)
416a02:	00 00 00
416a05:	c7 86 90 00 00 00 00 	movl   $0x0,0x90(%esi)
416a0c:	00 00 00
416a0f:	c7 46 60 40 1e 4b 00 	movl   $0x4b1e40,0x60(%esi)
416a16:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
416a1d:	8d 5e 10             	lea    0x10(%esi),%ebx
416a20:	8b 06                	mov    (%esi),%eax
416a22:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
416a29:	8b 40 04             	mov    0x4(%eax),%eax
416a2c:	c7 04 06 48 1e 4b 00 	movl   $0x4b1e48,(%esi,%eax,1)
416a33:	8b 06                	mov    (%esi),%eax
416a35:	8b 48 04             	mov    0x4(%eax),%ecx
416a38:	51                   	push   %ecx
416a39:	53                   	push   %ebx
416a3a:	8d 41 e8             	lea    -0x18(%ecx),%eax
416a3d:	89 44 31 fc          	mov    %eax,-0x4(%ecx,%esi,1)
416a41:	8b 06                	mov    (%esi),%eax
416a43:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
416a4a:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
416a51:	8b 48 04             	mov    0x4(%eax),%ecx
416a54:	03 ce                	add    %esi,%ecx
416a56:	e8 e5 d9 ff ff       	call   0x414440
416a5b:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
416a62:	8b 06                	mov    (%esi),%eax
416a64:	8b 40 04             	mov    0x4(%eax),%eax
416a67:	c7 04 06 b0 32 4b 00 	movl   $0x4b32b0,(%esi,%eax,1)
416a6e:	8b 06                	mov    (%esi),%eax
416a70:	8b 48 04             	mov    0x4(%eax),%ecx
416a73:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
416a76:	8d 41 a0             	lea    -0x60(%ecx),%eax
416a79:	89 44 31 fc          	mov    %eax,-0x4(%ecx,%esi,1)
416a7d:	8b cb                	mov    %ebx,%ecx
416a7f:	e8 ec d8 ff ff       	call   0x414370
416a84:	8b 7d 08             	mov    0x8(%ebp),%edi
416a87:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
416a8b:	c7 03 70 1e 4b 00    	movl   $0x4b1e70,(%ebx)
416a91:	89 7d f0             	mov    %edi,-0x10(%ebp)
416a94:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
416a98:	72 05                	jb     0x416a9f
416a9a:	8b 07                	mov    (%edi),%eax
416a9c:	89 45 f0             	mov    %eax,-0x10(%ebp)
416a9f:	8b 7f 10             	mov    0x10(%edi),%edi
416aa2:	b8 02 00 00 00       	mov    $0x2,%eax
416aa7:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
416aad:	77 5f                	ja     0x416b0e
416aaf:	85 ff                	test   %edi,%edi
416ab1:	74 3b                	je     0x416aee
416ab3:	57                   	push   %edi
416ab4:	8d 4b 40             	lea    0x40(%ebx),%ecx
416ab7:	e8 54 b6 fe ff       	call   0x402110
416abc:	03 ff                	add    %edi,%edi
416abe:	8b f0                	mov    %eax,%esi
416ac0:	57                   	push   %edi
416ac1:	ff 75 f0             	push   -0x10(%ebp)
416ac4:	56                   	push   %esi
416ac5:	e8 56 4b 05 00       	call   0x46b620
416aca:	8b 43 0c             	mov    0xc(%ebx),%eax
416acd:	8d 0c 37             	lea    (%edi,%esi,1),%ecx
416ad0:	89 4b 38             	mov    %ecx,0x38(%ebx)
416ad3:	83 c4 0c             	add    $0xc,%esp
416ad6:	d1 ff                	sar    $1,%edi
416ad8:	89 30                	mov    %esi,(%eax)
416ada:	8b 43 1c             	mov    0x1c(%ebx),%eax
416add:	89 30                	mov    %esi,(%eax)
416adf:	8b 43 2c             	mov    0x2c(%ebx),%eax
416ae2:	8b 75 e8             	mov    -0x18(%ebp),%esi
416ae5:	89 38                	mov    %edi,(%eax)
416ae7:	b8 03 00 00 00       	mov    $0x3,%eax
416aec:	eb 07                	jmp    0x416af5
416aee:	c7 43 38 00 00 00 00 	movl   $0x0,0x38(%ebx)
416af5:	89 43 3c             	mov    %eax,0x3c(%ebx)
416af8:	8b c6                	mov    %esi,%eax
416afa:	8b 4d f4             	mov    -0xc(%ebp),%ecx
416afd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
416b04:	59                   	pop    %ecx
416b05:	5f                   	pop    %edi
416b06:	5e                   	pop    %esi
416b07:	5b                   	pop    %ebx
416b08:	8b e5                	mov    %ebp,%esp
416b0a:	5d                   	pop    %ebp
416b0b:	c2 0c 00             	ret    $0xc
416b0e:	e8 0a 1c 05 00       	call   0x46871d
416b13:	cc                   	int3
416b14:	cc                   	int3
416b15:	cc                   	int3
416b16:	cc                   	int3
416b17:	cc                   	int3
416b18:	cc                   	int3
416b19:	cc                   	int3
416b1a:	cc                   	int3
416b1b:	cc                   	int3
416b1c:	cc                   	int3
416b1d:	cc                   	int3
416b1e:	cc                   	int3
416b1f:	cc                   	int3
416b20:	55                   	push   %ebp
416b21:	8b ec                	mov    %esp,%ebp
416b23:	6a ff                	push   $0xffffffff
416b25:	68 25 8c 49 00       	push   $0x498c25
416b2a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
416b30:	50                   	push   %eax
416b31:	83 ec 24             	sub    $0x24,%esp
416b34:	53                   	push   %ebx
416b35:	56                   	push   %esi
416b36:	57                   	push   %edi
416b37:	a1 14 40 4c 00       	mov    0x4c4014,%eax
416b3c:	33 c5                	xor    %ebp,%eax
416b3e:	50                   	push   %eax
416b3f:	8d 45 f4             	lea    -0xc(%ebp),%eax
416b42:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
416b48:	89 65 f0             	mov    %esp,-0x10(%ebp)
416b4b:	8b d9                	mov    %ecx,%ebx
416b4d:	89 5d ec             	mov    %ebx,-0x14(%ebp)
416b50:	33 f6                	xor    %esi,%esi
416b52:	8d 4d dc             	lea    -0x24(%ebp),%ecx
416b55:	53                   	push   %ebx
416b56:	89 75 e4             	mov    %esi,-0x1c(%ebp)
416b59:	e8 62 0e 00 00       	call   0x4179c0
416b5e:	89 75 fc             	mov    %esi,-0x4(%ebp)
416b61:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
416b65:	0f 84 c9 00 00 00    	je     0x416c34
416b6b:	8b 03                	mov    (%ebx),%eax
416b6d:	8b 40 04             	mov    0x4(%eax),%eax
416b70:	8b 44 18 30          	mov    0x30(%eax,%ebx,1),%eax
416b74:	8b 78 04             	mov    0x4(%eax),%edi
416b77:	89 7d d8             	mov    %edi,-0x28(%ebp)
416b7a:	8b 07                	mov    (%edi),%eax
416b7c:	8b 70 04             	mov    0x4(%eax),%esi
416b7f:	8b ce                	mov    %esi,%ecx
416b81:	ff 15 d4 e2 49 00    	call   *0x49e2d4
416b87:	8b cf                	mov    %edi,%ecx
416b89:	ff d6                	call   *%esi
416b8b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
416b8e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
416b92:	50                   	push   %eax
416b93:	e8 78 1f 00 00       	call   0x418b10
416b98:	8b 7d d8             	mov    -0x28(%ebp),%edi
416b9b:	83 c4 04             	add    $0x4,%esp
416b9e:	89 45 e8             	mov    %eax,-0x18(%ebp)
416ba1:	85 ff                	test   %edi,%edi
416ba3:	74 29                	je     0x416bce
416ba5:	8b 17                	mov    (%edi),%edx
416ba7:	8b 72 08             	mov    0x8(%edx),%esi
416baa:	8b ce                	mov    %esi,%ecx
416bac:	ff 15 d4 e2 49 00    	call   *0x49e2d4
416bb2:	8b cf                	mov    %edi,%ecx
416bb4:	ff d6                	call   *%esi
416bb6:	8b f8                	mov    %eax,%edi
416bb8:	85 ff                	test   %edi,%edi
416bba:	74 12                	je     0x416bce
416bbc:	8b 0f                	mov    (%edi),%ecx
416bbe:	6a 01                	push   $0x1
416bc0:	8b 31                	mov    (%ecx),%esi
416bc2:	8b ce                	mov    %esi,%ecx
416bc4:	ff 15 d4 e2 49 00    	call   *0x49e2d4
416bca:	8b cf                	mov    %edi,%ecx
416bcc:	ff d6                	call   *%esi
416bce:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
416bd2:	8b 03                	mov    (%ebx),%eax
416bd4:	8b 48 04             	mov    0x4(%eax),%ecx
416bd7:	03 cb                	add    %ebx,%ecx
416bd9:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
416bdd:	ff 71 38             	push   0x38(%ecx)
416be0:	0f b7 41 40          	movzwl 0x40(%ecx),%eax
416be4:	ff 75 d4             	push   -0x2c(%ebp)
416be7:	ff 75 0c             	push   0xc(%ebp)
416bea:	ff 75 08             	push   0x8(%ebp)
416bed:	50                   	push   %eax
416bee:	51                   	push   %ecx
416bef:	8b 4d e8             	mov    -0x18(%ebp),%ecx
416bf2:	8d 45 d4             	lea    -0x2c(%ebp),%eax
416bf5:	50                   	push   %eax
416bf6:	e8 85 0d 00 00       	call   0x417980
416bfb:	33 c9                	xor    %ecx,%ecx
416bfd:	ba 04 00 00 00       	mov    $0x4,%edx
416c02:	8b f2                	mov    %edx,%esi
416c04:	38 08                	cmp    %cl,(%eax)
416c06:	89 4d fc             	mov    %ecx,-0x4(%ebp)
416c09:	0f 44 f1             	cmove  %ecx,%esi
416c0c:	eb 2b                	jmp    0x416c39
416c0e:	8b 55 ec             	mov    -0x14(%ebp),%edx
416c11:	6a 01                	push   $0x1
416c13:	6a 04                	push   $0x4
416c15:	8b 02                	mov    (%edx),%eax
416c17:	8b 48 04             	mov    0x4(%eax),%ecx
416c1a:	03 ca                	add    %edx,%ecx
416c1c:	e8 1f a6 ff ff       	call   0x411240
416c21:	b8 27 6c 41 00       	mov    $0x416c27,%eax
416c26:	c3                   	ret
416c27:	8b 5d ec             	mov    -0x14(%ebp),%ebx
416c2a:	8b 75 e4             	mov    -0x1c(%ebp),%esi
416c2d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
416c34:	ba 04 00 00 00       	mov    $0x4,%edx
416c39:	8b 03                	mov    (%ebx),%eax
416c3b:	6a 00                	push   $0x0
416c3d:	8b 48 04             	mov    0x4(%eax),%ecx
416c40:	8b 44 19 0c          	mov    0xc(%ecx,%ebx,1),%eax
416c44:	03 cb                	add    %ebx,%ecx
416c46:	0b c6                	or     %esi,%eax
416c48:	33 f6                	xor    %esi,%esi
416c4a:	39 71 38             	cmp    %esi,0x38(%ecx)
416c4d:	0f 45 d6             	cmovne %esi,%edx
416c50:	0b d0                	or     %eax,%edx
416c52:	52                   	push   %edx
416c53:	e8 18 4f ff ff       	call   0x40bb70
416c58:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
416c5f:	e8 66 1f 05 00       	call   0x468bca
416c64:	84 c0                	test   %al,%al
416c66:	75 08                	jne    0x416c70
416c68:	8b 4d dc             	mov    -0x24(%ebp),%ecx
416c6b:	e8 50 aa ff ff       	call   0x4116c0
416c70:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
416c74:	8b 4d dc             	mov    -0x24(%ebp),%ecx
416c77:	8b 01                	mov    (%ecx),%eax
416c79:	8b 40 04             	mov    0x4(%eax),%eax
416c7c:	8b 7c 08 38          	mov    0x38(%eax,%ecx,1),%edi
416c80:	85 ff                	test   %edi,%edi
416c82:	74 11                	je     0x416c95
416c84:	8b 07                	mov    (%edi),%eax
416c86:	8b 70 08             	mov    0x8(%eax),%esi
416c89:	8b ce                	mov    %esi,%ecx
416c8b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
416c91:	8b cf                	mov    %edi,%ecx
416c93:	ff d6                	call   *%esi
416c95:	8b c3                	mov    %ebx,%eax
416c97:	8b 4d f4             	mov    -0xc(%ebp),%ecx
416c9a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
416ca1:	59                   	pop    %ecx
416ca2:	5f                   	pop    %edi
416ca3:	5e                   	pop    %esi
416ca4:	5b                   	pop    %ebx
416ca5:	8b e5                	mov    %ebp,%esp
416ca7:	5d                   	pop    %ebp
416ca8:	c2 08 00             	ret    $0x8
416cab:	cc                   	int3
416cac:	cc                   	int3
416cad:	cc                   	int3
416cae:	cc                   	int3
416caf:	cc                   	int3
416cb0:	55                   	push   %ebp
416cb1:	8b ec                	mov    %esp,%ebp
416cb3:	51                   	push   %ecx
416cb4:	53                   	push   %ebx
416cb5:	8b d9                	mov    %ecx,%ebx
416cb7:	57                   	push   %edi
416cb8:	8b 7d 08             	mov    0x8(%ebp),%edi
416cbb:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
416cc1:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
416cc8:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
416ccf:	81 ff fe ff ff 7f    	cmp    $0x7ffffffe,%edi
416cd5:	0f 87 b0 00 00 00    	ja     0x416d8b
416cdb:	c7 43 14 07 00 00 00 	movl   $0x7,0x14(%ebx)
416ce2:	83 ff 08             	cmp    $0x8,%edi
416ce5:	73 34                	jae    0x416d1b
416ce7:	89 7b 10             	mov    %edi,0x10(%ebx)
416cea:	85 ff                	test   %edi,%edi
416cec:	74 1d                	je     0x416d0b
416cee:	8b 45 0c             	mov    0xc(%ebp),%eax
416cf1:	8b cf                	mov    %edi,%ecx
416cf3:	0f b7 d0             	movzwl %ax,%edx
416cf6:	8b fb                	mov    %ebx,%edi
416cf8:	8b c2                	mov    %edx,%eax
416cfa:	c1 e2 10             	shl    $0x10,%edx
416cfd:	0b c2                	or     %edx,%eax
416cff:	d1 e9                	shr    $1,%ecx
416d01:	f3 ab                	rep stos %eax,%es:(%edi)
416d03:	13 c9                	adc    %ecx,%ecx
416d05:	66 f3 ab             	rep stos %ax,%es:(%edi)
416d08:	8b 7d 08             	mov    0x8(%ebp),%edi
416d0b:	33 c0                	xor    %eax,%eax
416d0d:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
416d11:	8b c3                	mov    %ebx,%eax
416d13:	5f                   	pop    %edi
416d14:	5b                   	pop    %ebx
416d15:	8b e5                	mov    %ebp,%esp
416d17:	5d                   	pop    %ebp
416d18:	c2 08 00             	ret    $0x8
416d1b:	8b c7                	mov    %edi,%eax
416d1d:	83 c8 07             	or     $0x7,%eax
416d20:	3d fe ff ff 7f       	cmp    $0x7ffffffe,%eax
416d25:	76 07                	jbe    0x416d2e
416d27:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
416d2c:	eb 0a                	jmp    0x416d38
416d2e:	b9 0a 00 00 00       	mov    $0xa,%ecx
416d33:	3b c1                	cmp    %ecx,%eax
416d35:	0f 42 c1             	cmovb  %ecx,%eax
416d38:	33 c9                	xor    %ecx,%ecx
416d3a:	89 45 fc             	mov    %eax,-0x4(%ebp)
416d3d:	83 c0 01             	add    $0x1,%eax
416d40:	56                   	push   %esi
416d41:	0f 92 c1             	setb   %cl
416d44:	f7 d9                	neg    %ecx
416d46:	0b c8                	or     %eax,%ecx
416d48:	51                   	push   %ecx
416d49:	8b cb                	mov    %ebx,%ecx
416d4b:	e8 c0 b3 fe ff       	call   0x402110
416d50:	8b f0                	mov    %eax,%esi
416d52:	89 7b 10             	mov    %edi,0x10(%ebx)
416d55:	8b 45 fc             	mov    -0x4(%ebp),%eax
416d58:	8b cf                	mov    %edi,%ecx
416d5a:	89 43 14             	mov    %eax,0x14(%ebx)
416d5d:	8b fe                	mov    %esi,%edi
416d5f:	8b 45 0c             	mov    0xc(%ebp),%eax
416d62:	0f b7 d0             	movzwl %ax,%edx
416d65:	8b c2                	mov    %edx,%eax
416d67:	89 33                	mov    %esi,(%ebx)
416d69:	c1 e2 10             	shl    $0x10,%edx
416d6c:	0b c2                	or     %edx,%eax
416d6e:	d1 e9                	shr    $1,%ecx
416d70:	f3 ab                	rep stos %eax,%es:(%edi)
416d72:	13 c9                	adc    %ecx,%ecx
416d74:	66 f3 ab             	rep stos %ax,%es:(%edi)
416d77:	8b 45 08             	mov    0x8(%ebp),%eax
416d7a:	33 c9                	xor    %ecx,%ecx
416d7c:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
416d80:	8b c3                	mov    %ebx,%eax
416d82:	5e                   	pop    %esi
416d83:	5f                   	pop    %edi
416d84:	5b                   	pop    %ebx
416d85:	8b e5                	mov    %ebp,%esp
416d87:	5d                   	pop    %ebp
416d88:	c2 08 00             	ret    $0x8
416d8b:	e8 50 a6 fe ff       	call   0x4013e0
416d90:	cc                   	int3
416d91:	cc                   	int3
416d92:	cc                   	int3
416d93:	cc                   	int3
416d94:	cc                   	int3
416d95:	cc                   	int3
416d96:	cc                   	int3
416d97:	cc                   	int3
416d98:	cc                   	int3