418c42:	c3                   	ret
418c43:	8b c1                	mov    %ecx,%eax
418c45:	c3                   	ret
418c46:	8b ff                	mov    %edi,%edi
418c48:	55                   	push   %ebp
418c49:	8b ec                	mov    %esp,%ebp
418c4b:	83 e4 f8             	and    $0xfffffff8,%esp
418c4e:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
418c54:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
418c59:	33 c4                	xor    %esp,%eax
418c5b:	89 84 24 18 02 00 00 	mov    %eax,0x218(%esp)
418c62:	8b 45 08             	mov    0x8(%ebp),%eax
418c65:	53                   	push   %ebx
418c66:	56                   	push   %esi
418c67:	57                   	push   %edi
418c68:	33 ff                	xor    %edi,%edi
418c6a:	89 44 24 14          	mov    %eax,0x14(%esp)
418c6e:	51                   	push   %ecx
418c6f:	be 04 01 00 00       	mov    $0x104,%esi
418c74:	89 38                	mov    %edi,(%eax)
418c76:	8b d6                	mov    %esi,%edx
418c78:	89 78 04             	mov    %edi,0x4(%eax)
418c7b:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
418c7f:	e8 28 eb ff ff       	call   0x4177ac
418c84:	68 9c f3 40 00       	push   $0x40f39c
418c89:	8b d6                	mov    %esi,%edx
418c8b:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
418c8f:	e8 4d eb ff ff       	call   0x4177e1
418c94:	8d 44 24 18          	lea    0x18(%esp),%eax
418c98:	50                   	push   %eax
418c99:	57                   	push   %edi
418c9a:	68 03 00 1f 00       	push   $0x1f0003
418c9f:	ff 15 f0 72 4a 00    	call   *0x4a72f0
418ca5:	8b f0                	mov    %eax,%esi
418ca7:	85 f6                	test   %esi,%esi
418ca9:	75 21                	jne    0x418ccc
418cab:	ff 15 b8 72 4a 00    	call   *0x4a72b8
418cb1:	83 f8 02             	cmp    $0x2,%eax
418cb4:	74 50                	je     0x418d06
418cb6:	8b 4d 04             	mov    0x4(%ebp),%ecx
418cb9:	ba c9 00 00 00       	mov    $0xc9,%edx
418cbe:	68 38 f3 40 00       	push   $0x40f338
418cc3:	e8 b9 fc ff ff       	call   0x418981
418cc8:	8b f8                	mov    %eax,%edi
418cca:	eb 3a                	jmp    0x418d06
418ccc:	8d 54 24 10          	lea    0x10(%esp),%edx
418cd0:	89 7c 24 10          	mov    %edi,0x10(%esp)
418cd4:	8b ce                	mov    %esi,%ecx
418cd6:	e8 4b fe ff ff       	call   0x418b26
418cdb:	8b d8                	mov    %eax,%ebx
418cdd:	85 db                	test   %ebx,%ebx
418cdf:	79 17                	jns    0x418cf8
418ce1:	8b 4d 04             	mov    0x4(%ebp),%ecx
418ce4:	ba cf 00 00 00       	mov    $0xcf,%edx
418ce9:	53                   	push   %ebx
418cea:	68 38 f3 40 00       	push   $0x40f338
418cef:	e8 70 fc ff ff       	call   0x418964
418cf4:	8b fb                	mov    %ebx,%edi
418cf6:	eb 0e                	jmp    0x418d06
418cf8:	8b 4c 24 14          	mov    0x14(%esp),%ecx
418cfc:	8b 44 24 10          	mov    0x10(%esp),%eax
418d00:	99                   	cltd
418d01:	89 01                	mov    %eax,(%ecx)
418d03:	89 51 04             	mov    %edx,0x4(%ecx)
418d06:	85 f6                	test   %esi,%esi
418d08:	74 06                	je     0x418d10
418d0a:	56                   	push   %esi
418d0b:	e8 cb fc ff ff       	call   0x4189db
418d10:	8b 8c 24 24 02 00 00 	mov    0x224(%esp),%ecx
418d17:	8b c7                	mov    %edi,%eax
418d19:	5f                   	pop    %edi
418d1a:	5e                   	pop    %esi
418d1b:	5b                   	pop    %ebx
418d1c:	33 cc                	xor    %esp,%ecx
418d1e:	e8 dd 71 07 00       	call   0x48ff00
418d23:	8b e5                	mov    %ebp,%esp
418d25:	5d                   	pop    %ebp
418d26:	c2 08 00             	ret    $0x8
418d29:	8b ff                	mov    %edi,%edi
418d2b:	55                   	push   %ebp
418d2c:	8b ec                	mov    %esp,%ebp
418d2e:	83 ec 0c             	sub    $0xc,%esp
418d31:	8b 45 0c             	mov    0xc(%ebp),%eax
418d34:	53                   	push   %ebx
418d35:	8b 5d 08             	mov    0x8(%ebp),%ebx
418d38:	56                   	push   %esi
418d39:	8b f1                	mov    %ecx,%esi
418d3b:	33 c9                	xor    %ecx,%ecx
418d3d:	57                   	push   %edi
418d3e:	89 46 04             	mov    %eax,0x4(%esi)
418d41:	8b 43 04             	mov    0x4(%ebx),%eax
418d44:	89 46 08             	mov    %eax,0x8(%esi)
418d47:	8d 46 0c             	lea    0xc(%esi),%eax
418d4a:	89 08                	mov    %ecx,(%eax)
418d4c:	89 45 fc             	mov    %eax,-0x4(%ebp)
418d4f:	66 8b 43 20          	mov    0x20(%ebx),%ax
418d53:	66 89 46 10          	mov    %ax,0x10(%esi)
418d57:	8a 03                	mov    (%ebx),%al
418d59:	88 46 12             	mov    %al,0x12(%esi)
418d5c:	8d 46 14             	lea    0x14(%esi),%eax
418d5f:	89 08                	mov    %ecx,(%eax)
418d61:	89 45 f8             	mov    %eax,-0x8(%ebp)
418d64:	8b 43 48             	mov    0x48(%ebx),%eax
418d67:	89 46 18             	mov    %eax,0x18(%esi)
418d6a:	8b 43 4c             	mov    0x4c(%ebx),%eax
418d6d:	89 46 1c             	mov    %eax,0x1c(%esi)
418d70:	8d 46 20             	lea    0x20(%esi),%eax
418d73:	89 08                	mov    %ecx,(%eax)
418d75:	8b 4b 0c             	mov    0xc(%ebx),%ecx
418d78:	89 45 f4             	mov    %eax,-0xc(%ebp)
418d7b:	e8 d2 f1 ff ff       	call   0x417f52
418d80:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
418d83:	8b f8                	mov    %eax,%edi
418d85:	e8 b0 f1 ff ff       	call   0x417f3a
418d8a:	8b 4b 44             	mov    0x44(%ebx),%ecx
418d8d:	03 f8                	add    %eax,%edi
418d8f:	e8 a6 f1 ff ff       	call   0x417f3a
418d94:	03 f8                	add    %eax,%edi
418d96:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
418d9a:	74 05                	je     0x418da1
418d9c:	39 7e 28             	cmp    %edi,0x28(%esi)
418d9f:	73 2b                	jae    0x418dcc
418da1:	6a 08                	push   $0x8
418da3:	8b d7                	mov    %edi,%edx
418da5:	59                   	pop    %ecx
418da6:	e8 ee ed ff ff       	call   0x417b99
418dab:	8b d8                	mov    %eax,%ebx
418dad:	85 db                	test   %ebx,%ebx
418daf:	74 18                	je     0x418dc9
418db1:	ff 76 24             	push   0x24(%esi)
418db4:	6a 00                	push   $0x0
418db6:	ff 15 74 72 4a 00    	call   *0x4a7274
418dbc:	50                   	push   %eax
418dbd:	ff 15 94 72 4a 00    	call   *0x4a7294
418dc3:	89 5e 24             	mov    %ebx,0x24(%esi)
418dc6:	89 7e 28             	mov    %edi,0x28(%esi)
418dc9:	8b 5d 08             	mov    0x8(%ebp),%ebx
418dcc:	8b 4e 24             	mov    0x24(%esi),%ecx
418dcf:	85 c9                	test   %ecx,%ecx
418dd1:	74 3e                	je     0x418e11
418dd3:	8b 76 28             	mov    0x28(%esi),%esi
418dd6:	ff 75 fc             	push   -0x4(%ebp)
418dd9:	03 f1                	add    %ecx,%esi
418ddb:	ff 73 1c             	push   0x1c(%ebx)
418dde:	8b d6                	mov    %esi,%edx
418de0:	e8 b9 09 00 00       	call   0x41979e
418de5:	ff 75 f8             	push   -0x8(%ebp)
418de8:	8b d6                	mov    %esi,%edx
418dea:	8b c8                	mov    %eax,%ecx
418dec:	ff 73 44             	push   0x44(%ebx)
418def:	e8 aa 09 00 00       	call   0x41979e
418df4:	ff 75 f4             	push   -0xc(%ebp)
418df7:	8b d6                	mov    %esi,%edx
418df9:	8b c8                	mov    %eax,%ecx
418dfb:	ff 73 0c             	push   0xc(%ebx)
418dfe:	e8 31 09 00 00       	call   0x419734
418e03:	2b f0                	sub    %eax,%esi
418e05:	56                   	push   %esi
418e06:	6a 00                	push   $0x0
418e08:	50                   	push   %eax
418e09:	e8 2b 82 07 00       	call   0x491039
418e0e:	83 c4 0c             	add    $0xc,%esp
418e11:	5f                   	pop    %edi
418e12:	5e                   	pop    %esi
418e13:	5b                   	pop    %ebx
418e14:	c9                   	leave
418e15:	c2 08 00             	ret    $0x8
418e18:	8b ff                	mov    %edi,%edi
418e1a:	53                   	push   %ebx
418e1b:	57                   	push   %edi
418e1c:	8b f9                	mov    %ecx,%edi
418e1e:	0f b7 47 14          	movzwl 0x14(%edi),%eax
418e22:	8b 4f 10             	mov    0x10(%edi),%ecx
418e25:	6b d8 2c             	imul   $0x2c,%eax,%ebx
418e28:	03 d9                	add    %ecx,%ebx
418e2a:	3b cb                	cmp    %ebx,%ecx
418e2c:	74 2a                	je     0x418e58
418e2e:	56                   	push   %esi
418e2f:	8d 71 24             	lea    0x24(%ecx),%esi
418e32:	ff 36                	push   (%esi)
418e34:	6a 00                	push   $0x0
418e36:	ff 15 74 72 4a 00    	call   *0x4a7274
418e3c:	50                   	push   %eax
418e3d:	ff 15 94 72 4a 00    	call   *0x4a7294
418e43:	83 26 00             	andl   $0x0,(%esi)
418e46:	8d 76 2c             	lea    0x2c(%esi),%esi
418e49:	83 66 d8 00          	andl   $0x0,-0x28(%esi)
418e4d:	8d 46 dc             	lea    -0x24(%esi),%eax
418e50:	3b c3                	cmp    %ebx,%eax
418e52:	75 de                	jne    0x418e32
418e54:	8b 4f 10             	mov    0x10(%edi),%ecx
418e57:	5e                   	pop    %esi
418e58:	51                   	push   %ecx
418e59:	6a 00                	push   $0x0
418e5b:	ff 15 74 72 4a 00    	call   *0x4a7274
418e61:	50                   	push   %eax
418e62:	ff 15 94 72 4a 00    	call   *0x4a7294
418e68:	33 c0                	xor    %eax,%eax
418e6a:	21 47 10             	and    %eax,0x10(%edi)
418e6d:	89 47 14             	mov    %eax,0x14(%edi)
418e70:	5f                   	pop    %edi
418e71:	5b                   	pop    %ebx
418e72:	c3                   	ret
418e73:	8b ff                	mov    %edi,%edi
418e75:	55                   	push   %ebp
418e76:	8b ec                	mov    %esp,%ebp
418e78:	53                   	push   %ebx
418e79:	56                   	push   %esi
418e7a:	8b f1                	mov    %ecx,%esi
418e7c:	57                   	push   %edi
418e7d:	6a 2c                	push   $0x2c
418e7f:	5b                   	pop    %ebx
418e80:	8b 56 10             	mov    0x10(%esi),%edx
418e83:	8b 7e 0c             	mov    0xc(%esi),%edi
418e86:	85 d2                	test   %edx,%edx
418e88:	75 49                	jne    0x418ed3
418e8a:	85 ff                	test   %edi,%edi
418e8c:	0f 84 9e 00 00 00    	je     0x418f30
418e92:	6a 08                	push   $0x8
418e94:	ba dc 00 00 00       	mov    $0xdc,%edx
418e99:	59                   	pop    %ecx
418e9a:	e8 fa ec ff ff       	call   0x417b99
418e9f:	8b d0                	mov    %eax,%edx
418ea1:	89 56 10             	mov    %edx,0x10(%esi)
418ea4:	85 d2                	test   %edx,%edx
418ea6:	0f 84 84 00 00 00    	je     0x418f30
418eac:	6a 05                	push   $0x5
418eae:	58                   	pop    %eax
418eaf:	66 89 46 14          	mov    %ax,0x14(%esi)
418eb3:	33 c0                	xor    %eax,%eax
418eb5:	66 89 46 16          	mov    %ax,0x16(%esi)
418eb9:	8d 82 dc 00 00 00    	lea    0xdc(%edx),%eax
418ebf:	3b d0                	cmp    %eax,%edx
418ec1:	74 0c                	je     0x418ecf
418ec3:	66 89 1a             	mov    %bx,(%edx)
418ec6:	03 d3                	add    %ebx,%edx
418ec8:	3b d0                	cmp    %eax,%edx
418eca:	75 f7                	jne    0x418ec3
418ecc:	8b 56 10             	mov    0x10(%esi),%edx
418ecf:	85 d2                	test   %edx,%edx
418ed1:	74 5d                	je     0x418f30
418ed3:	85 ff                	test   %edi,%edi
418ed5:	8b 7d 08             	mov    0x8(%ebp),%edi
418ed8:	74 29                	je     0x418f03
418eda:	0f b7 46 14          	movzwl 0x14(%esi),%eax
418ede:	6b c8 2c             	imul   $0x2c,%eax,%ecx
418ee1:	03 ca                	add    %edx,%ecx
418ee3:	3b d1                	cmp    %ecx,%edx
418ee5:	74 1c                	je     0x418f03
418ee7:	8b 5e 0c             	mov    0xc(%esi),%ebx
418eea:	83 c2 08             	add    $0x8,%edx
418eed:	39 5a fc             	cmp    %ebx,-0x4(%edx)
418ef0:	76 07                	jbe    0x418ef9
418ef2:	8b 02                	mov    (%edx),%eax
418ef4:	3b 47 04             	cmp    0x4(%edi),%eax
418ef7:	74 37                	je     0x418f30
418ef9:	83 c2 2c             	add    $0x2c,%edx
418efc:	8d 42 f8             	lea    -0x8(%edx),%eax
418eff:	3b c1                	cmp    %ecx,%eax
418f01:	75 ea                	jne    0x418eed
418f03:	0f b7 46 16          	movzwl 0x16(%esi),%eax
418f07:	33 d2                	xor    %edx,%edx
418f09:	0f b7 4e 14          	movzwl 0x14(%esi),%ecx
418f0d:	40                   	inc    %eax
418f0e:	f7 f1                	div    %ecx
418f10:	8b 46 08             	mov    0x8(%esi),%eax
418f13:	33 c9                	xor    %ecx,%ecx
418f15:	66 89 56 16          	mov    %dx,0x16(%esi)
418f19:	41                   	inc    %ecx
418f1a:	f0 0f c1 08          	lock xadd %ecx,(%eax)
418f1e:	41                   	inc    %ecx
418f1f:	0f b7 46 16          	movzwl 0x16(%esi),%eax
418f23:	51                   	push   %ecx
418f24:	6b c8 2c             	imul   $0x2c,%eax,%ecx
418f27:	57                   	push   %edi
418f28:	03 4e 10             	add    0x10(%esi),%ecx
418f2b:	e8 f9 fd ff ff       	call   0x418d29
418f30:	5f                   	pop    %edi
418f31:	5e                   	pop    %esi
418f32:	5b                   	pop    %ebx
418f33:	5d                   	pop    %ebp
418f34:	c2 04 00             	ret    $0x4
418f37:	8b ff                	mov    %edi,%edi
418f39:	55                   	push   %ebp
418f3a:	8b ec                	mov    %esp,%ebp
418f3c:	51                   	push   %ecx
418f3d:	53                   	push   %ebx
418f3e:	56                   	push   %esi
418f3f:	57                   	push   %edi
418f40:	8b 3d 44 46 4a 00    	mov    0x4a4644,%edi
418f46:	33 db                	xor    %ebx,%ebx
418f48:	8b f3                	mov    %ebx,%esi
418f4a:	85 ff                	test   %edi,%edi
418f4c:	74 60                	je     0x418fae
418f4e:	39 5f 04             	cmp    %ebx,0x4(%edi)
418f51:	75 1c                	jne    0x418f6f
418f53:	8b 0f                	mov    (%edi),%ecx
418f55:	8d 55 fc             	lea    -0x4(%ebp),%edx
418f58:	89 5d fc             	mov    %ebx,-0x4(%ebp)
418f5b:	e8 38 03 00 00       	call   0x419298
418f60:	85 c0                	test   %eax,%eax
418f62:	78 0b                	js     0x418f6f
418f64:	39 5f 04             	cmp    %ebx,0x4(%edi)
418f67:	75 06                	jne    0x418f6f
418f69:	8b 45 fc             	mov    -0x4(%ebp),%eax
418f6c:	89 47 04             	mov    %eax,0x4(%edi)
418f6f:	8b 7f 04             	mov    0x4(%edi),%edi
418f72:	8d 47 10             	lea    0x10(%edi),%eax
418f75:	f7 df                	neg    %edi
418f77:	1b ff                	sbb    %edi,%edi
418f79:	23 f8                	and    %eax,%edi
418f7b:	74 31                	je     0x418fae
418f7d:	ff 15 ac 72 4a 00    	call   *0x4a72ac
418f83:	6a 0a                	push   $0xa
418f85:	5e                   	pop    %esi
418f86:	33 d2                	xor    %edx,%edx
418f88:	8b c8                	mov    %eax,%ecx
418f8a:	f7 f6                	div    %esi
418f8c:	8b 74 97 08          	mov    0x8(%edi,%edx,4),%esi
418f90:	eb 07                	jmp    0x418f99
418f92:	39 0e                	cmp    %ecx,(%esi)
418f94:	74 1f                	je     0x418fb5
418f96:	8b 76 04             	mov    0x4(%esi),%esi
418f99:	85 f6                	test   %esi,%esi
418f9b:	75 f5                	jne    0x418f92
418f9d:	8b f3                	mov    %ebx,%esi
418f9f:	85 f6                	test   %esi,%esi
418fa1:	74 0b                	je     0x418fae
418fa3:	39 5e 08             	cmp    %ebx,0x8(%esi)
418fa6:	75 06                	jne    0x418fae
418fa8:	8d 4f 04             	lea    0x4(%edi),%ecx
418fab:	89 4e 08             	mov    %ecx,0x8(%esi)
418fae:	5f                   	pop    %edi
418faf:	8b c6                	mov    %esi,%eax
418fb1:	5e                   	pop    %esi
418fb2:	5b                   	pop    %ebx
418fb3:	c9                   	leave
418fb4:	c3                   	ret
418fb5:	83 c6 08             	add    $0x8,%esi
418fb8:	eb e5                	jmp    0x418f9f
418fba:	8b ff                	mov    %edi,%edi
418fbc:	55                   	push   %ebp
418fbd:	8b ec                	mov    %esp,%ebp
418fbf:	51                   	push   %ecx
418fc0:	53                   	push   %ebx
418fc1:	8b 5d 08             	mov    0x8(%ebp),%ebx
418fc4:	32 c0                	xor    %al,%al
418fc6:	56                   	push   %esi
418fc7:	57                   	push   %edi
418fc8:	8b f2                	mov    %edx,%esi