416bcd:	85 c9                	test   %ecx,%ecx
416bcf:	0f 84 e9 00 00 00    	je     0x416cbe
416bd5:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
416bdb:	85 c0                	test   %eax,%eax
416bdd:	0f 84 db 00 00 00    	je     0x416cbe
416be3:	8d 71 0b             	lea    0xb(%ecx),%esi
416be6:	ba 02 00 00 00       	mov    $0x2,%edx
416beb:	03 f0                	add    %eax,%esi
416bed:	33 c9                	xor    %ecx,%ecx
416bef:	8b c6                	mov    %esi,%eax
416bf1:	f7 e2                	mul    %edx
416bf3:	0f 90 c1             	seto   %cl
416bf6:	f7 d9                	neg    %ecx
416bf8:	0b c8                	or     %eax,%ecx
416bfa:	51                   	push   %ecx
416bfb:	e8 53 fa 00 00       	call   0x426653
416c00:	8b d8                	mov    %eax,%ebx
416c02:	83 c4 04             	add    $0x4,%esp
416c05:	85 db                	test   %ebx,%ebx
416c07:	0f 84 b1 00 00 00    	je     0x416cbe
416c0d:	83 bd ec fd ff ff 08 	cmpl   $0x8,-0x214(%ebp)
416c14:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
416c1a:	0f 43 8d d8 fd ff ff 	cmovae -0x228(%ebp),%ecx
416c21:	51                   	push   %ecx
416c22:	56                   	push   %esi
416c23:	53                   	push   %ebx
416c24:	e8 4d f8 00 00       	call   0x426476
416c29:	83 c4 0c             	add    $0xc,%esp
416c2c:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
416c32:	83 bd 3c fd ff ff 08 	cmpl   $0x8,-0x2c4(%ebp)
416c39:	0f 43 85 28 fd ff ff 	cmovae -0x2d8(%ebp),%eax
416c40:	50                   	push   %eax
416c41:	53                   	push   %ebx
416c42:	ff 15 fc f1 43 00    	call   *0x43f1fc
416c48:	8b cb                	mov    %ebx,%ecx
416c4a:	8d 51 02             	lea    0x2(%ecx),%edx
416c4d:	0f 1f 00             	nopl   (%eax)
416c50:	66 8b 01             	mov    (%ecx),%ax
416c53:	83 c1 02             	add    $0x2,%ecx
416c56:	66 85 c0             	test   %ax,%ax
416c59:	75 f5                	jne    0x416c50
416c5b:	8b 85 ec fd ff ff    	mov    -0x214(%ebp),%eax
416c61:	2b ca                	sub    %edx,%ecx
416c63:	d1 f9                	sar    $1,%ecx
416c65:	3b c8                	cmp    %eax,%ecx
416c67:	77 32                	ja     0x416c9b
416c69:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
416c6c:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
416c72:	83 f8 08             	cmp    $0x8,%eax
416c75:	8d bd d8 fd ff ff    	lea    -0x228(%ebp),%edi
416c7b:	56                   	push   %esi
416c7c:	0f 43 bd d8 fd ff ff 	cmovae -0x228(%ebp),%edi
416c83:	53                   	push   %ebx
416c84:	57                   	push   %edi
416c85:	e8 c6 67 00 00       	call   0x41d450
416c8a:	83 c4 0c             	add    $0xc,%esp
416c8d:	33 c0                	xor    %eax,%eax
416c8f:	66 89 04 3e          	mov    %ax,(%esi,%edi,1)
416c93:	8b bd 24 fd ff ff    	mov    -0x2dc(%ebp),%edi
416c99:	eb 1a                	jmp    0x416cb5
416c9b:	53                   	push   %ebx
416c9c:	c6 85 40 fd ff ff 00 	movb   $0x0,-0x2c0(%ebp)
416ca3:	ff b5 40 fd ff ff    	push   -0x2c0(%ebp)
416ca9:	51                   	push   %ecx
416caa:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
416cb0:	e8 5b b9 fe ff       	call   0x402610
416cb5:	53                   	push   %ebx
416cb6:	e8 92 f3 00 00       	call   0x42604d
416cbb:	83 c4 04             	add    $0x4,%esp
416cbe:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
416cc2:	8b 8d 3c fd ff ff    	mov    -0x2c4(%ebp),%ecx
416cc8:	83 f9 08             	cmp    $0x8,%ecx
416ccb:	72 35                	jb     0x416d02
416ccd:	8b 95 28 fd ff ff    	mov    -0x2d8(%ebp),%edx
416cd3:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
416cda:	8b c2                	mov    %edx,%eax
416cdc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
416ce2:	72 14                	jb     0x416cf8
416ce4:	8b 50 fc             	mov    -0x4(%eax),%edx
416ce7:	83 c1 23             	add    $0x23,%ecx
416cea:	2b c2                	sub    %edx,%eax
416cec:	83 c0 fc             	add    $0xfffffffc,%eax
416cef:	83 f8 1f             	cmp    $0x1f,%eax
416cf2:	0f 87 92 09 00 00    	ja     0x41768a
416cf8:	51                   	push   %ecx
416cf9:	52                   	push   %edx
416cfa:	e8 0f 4c 00 00       	call   0x41b90e
416cff:	83 c4 08             	add    $0x8,%esp
416d02:	83 bd ec fd ff ff 08 	cmpl   $0x8,-0x214(%ebp)
416d09:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
416d0f:	0f 43 85 d8 fd ff ff 	cmovae -0x228(%ebp),%eax
416d16:	50                   	push   %eax
416d17:	ff 15 ec f1 43 00    	call   *0x43f1ec
416d1d:	85 c0                	test   %eax,%eax
416d1f:	0f 84 14 01 00 00    	je     0x416e39
416d25:	83 ec 18             	sub    $0x18,%esp
416d28:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
416d2e:	8b cc                	mov    %esp,%ecx
416d30:	50                   	push   %eax
416d31:	e8 8a b5 fe ff       	call   0x4022c0
416d36:	8d 8d c0 fd ff ff    	lea    -0x240(%ebp),%ecx
416d3c:	e8 df c7 ff ff       	call   0x413520
416d41:	83 c4 18             	add    $0x18,%esp
416d44:	84 c0                	test   %al,%al
416d46:	0f 84 ed 00 00 00    	je     0x416e39
416d4c:	6a 0d                	push   $0xd
416d4e:	68 b8 ed 44 00       	push   $0x44edb8
416d53:	8d 8d 28 fd ff ff    	lea    -0x2d8(%ebp),%ecx
416d59:	c7 85 28 fd ff ff 00 	movl   $0x0,-0x2d8(%ebp)
416d60:	00 00 00
416d63:	c7 85 38 fd ff ff 00 	movl   $0x0,-0x2c8(%ebp)
416d6a:	00 00 00
416d6d:	c7 85 3c fd ff ff 00 	movl   $0x0,-0x2c4(%ebp)
416d74:	00 00 00
416d77:	e8 94 b7 fe ff       	call   0x402510
416d7c:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
416d82:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
416d86:	50                   	push   %eax
416d87:	8d 8f ac 00 00 00    	lea    0xac(%edi),%ecx
416d8d:	e8 2e 09 00 00       	call   0x4176c0
416d92:	8d 8d c0 fd ff ff    	lea    -0x240(%ebp),%ecx
416d98:	3b c1                	cmp    %ecx,%eax
416d9a:	74 59                	je     0x416df5
416d9c:	83 bd d4 fd ff ff 08 	cmpl   $0x8,-0x22c(%ebp)
416da3:	8b 95 d0 fd ff ff    	mov    -0x230(%ebp),%edx
416da9:	0f 43 8d c0 fd ff ff 	cmovae -0x240(%ebp),%ecx
416db0:	8b 70 14             	mov    0x14(%eax),%esi
416db3:	3b d6                	cmp    %esi,%edx
416db5:	77 28                	ja     0x416ddf
416db7:	8b f8                	mov    %eax,%edi
416db9:	83 fe 08             	cmp    $0x8,%esi
416dbc:	72 02                	jb     0x416dc0
416dbe:	8b 38                	mov    (%eax),%edi
416dc0:	8d 34 12             	lea    (%edx,%edx,1),%esi
416dc3:	89 50 10             	mov    %edx,0x10(%eax)
416dc6:	56                   	push   %esi
416dc7:	51                   	push   %ecx
416dc8:	57                   	push   %edi
416dc9:	e8 82 66 00 00       	call   0x41d450
416dce:	83 c4 0c             	add    $0xc,%esp
416dd1:	33 c0                	xor    %eax,%eax
416dd3:	66 89 04 3e          	mov    %ax,(%esi,%edi,1)
416dd7:	8b bd 24 fd ff ff    	mov    -0x2dc(%ebp),%edi
416ddd:	eb 16                	jmp    0x416df5
416ddf:	51                   	push   %ecx
416de0:	c6 85 40 fd ff ff 00 	movb   $0x0,-0x2c0(%ebp)
416de7:	8b c8                	mov    %eax,%ecx
416de9:	ff b5 40 fd ff ff    	push   -0x2c0(%ebp)
416def:	52                   	push   %edx
416df0:	e8 1b b8 fe ff       	call   0x402610
416df5:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
416df9:	8b 8d 3c fd ff ff    	mov    -0x2c4(%ebp),%ecx
416dff:	83 f9 08             	cmp    $0x8,%ecx
416e02:	72 35                	jb     0x416e39
416e04:	8b 95 28 fd ff ff    	mov    -0x2d8(%ebp),%edx
416e0a:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
416e11:	8b c2                	mov    %edx,%eax
416e13:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
416e19:	72 14                	jb     0x416e2f
416e1b:	8b 50 fc             	mov    -0x4(%eax),%edx
416e1e:	83 c1 23             	add    $0x23,%ecx
416e21:	2b c2                	sub    %edx,%eax
416e23:	83 c0 fc             	add    $0xfffffffc,%eax
416e26:	83 f8 1f             	cmp    $0x1f,%eax
416e29:	0f 87 60 08 00 00    	ja     0x41768f
416e2f:	51                   	push   %ecx
416e30:	52                   	push   %edx
416e31:	e8 d8 4a 00 00       	call   0x41b90e
416e36:	83 c4 08             	add    $0x8,%esp
416e39:	83 bf a8 00 00 00 4e 	cmpl   $0x4e,0xa8(%edi)
416e40:	8d 8f 94 00 00 00    	lea    0x94(%edi),%ecx
416e46:	72 27                	jb     0x416e6f
416e48:	8b 31                	mov    (%ecx),%esi
416e4a:	68 9c 00 00 00       	push   $0x9c
416e4f:	68 d8 ed 44 00       	push   $0x44edd8
416e54:	56                   	push   %esi
416e55:	c7 41 10 4e 00 00 00 	movl   $0x4e,0x10(%ecx)
416e5c:	e8 ef 65 00 00       	call   0x41d450
416e61:	83 c4 0c             	add    $0xc,%esp
416e64:	33 c0                	xor    %eax,%eax
416e66:	66 89 86 9c 00 00 00 	mov    %ax,0x9c(%esi)
416e6d:	eb 19                	jmp    0x416e88
416e6f:	68 d8 ed 44 00       	push   $0x44edd8
416e74:	c6 85 40 fd ff ff 00 	movb   $0x0,-0x2c0(%ebp)
416e7b:	ff b5 40 fd ff ff    	push   -0x2c0(%ebp)
416e81:	6a 4e                	push   $0x4e
416e83:	e8 88 b7 fe ff       	call   0x402610
416e88:	6a 09                	push   $0x9
416e8a:	68 78 ee 44 00       	push   $0x44ee78
416e8f:	8d 8d 28 fd ff ff    	lea    -0x2d8(%ebp),%ecx
416e95:	c7 85 28 fd ff ff 00 	movl   $0x0,-0x2d8(%ebp)
416e9c:	00 00 00
416e9f:	c7 85 38 fd ff ff 00 	movl   $0x0,-0x2c8(%ebp)
416ea6:	00 00 00
416ea9:	c7 85 3c fd ff ff 00 	movl   $0x0,-0x2c4(%ebp)
416eb0:	00 00 00
416eb3:	e8 58 b6 fe ff       	call   0x402510
416eb8:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
416ebc:	8d 9d 90 fd ff ff    	lea    -0x270(%ebp),%ebx
416ec2:	83 bd a4 fd ff ff 08 	cmpl   $0x8,-0x25c(%ebp)
416ec9:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
416ecf:	50                   	push   %eax
416ed0:	0f 43 9d 90 fd ff ff 	cmovae -0x270(%ebp),%ebx
416ed7:	81 c7 ac 00 00 00    	add    $0xac,%edi
416edd:	8b cf                	mov    %edi,%ecx
416edf:	89 bd 40 fd ff ff    	mov    %edi,-0x2c0(%ebp)
416ee5:	e8 d6 07 00 00       	call   0x4176c0
416eea:	8b d3                	mov    %ebx,%edx
416eec:	8d 72 02             	lea    0x2(%edx),%esi
416eef:	90                   	nop
416ef0:	66 8b 0a             	mov    (%edx),%cx
416ef3:	83 c2 02             	add    $0x2,%edx
416ef6:	66 85 c9             	test   %cx,%cx
416ef9:	75 f5                	jne    0x416ef0
416efb:	8b 48 14             	mov    0x14(%eax),%ecx
416efe:	2b d6                	sub    %esi,%edx
416f00:	d1 fa                	sar    $1,%edx
416f02:	3b d1                	cmp    %ecx,%edx
416f04:	77 28                	ja     0x416f2e
416f06:	8b f8                	mov    %eax,%edi
416f08:	83 f9 08             	cmp    $0x8,%ecx
416f0b:	72 02                	jb     0x416f0f
416f0d:	8b 38                	mov    (%eax),%edi
416f0f:	8d 34 12             	lea    (%edx,%edx,1),%esi
416f12:	89 50 10             	mov    %edx,0x10(%eax)
416f15:	56                   	push   %esi
416f16:	53                   	push   %ebx
416f17:	57                   	push   %edi
416f18:	e8 33 65 00 00       	call   0x41d450
416f1d:	83 c4 0c             	add    $0xc,%esp
416f20:	33 c0                	xor    %eax,%eax
416f22:	66 89 04 3e          	mov    %ax,(%esi,%edi,1)
416f26:	8b bd 40 fd ff ff    	mov    -0x2c0(%ebp),%edi
416f2c:	eb 16                	jmp    0x416f44
416f2e:	53                   	push   %ebx
416f2f:	c6 85 44 fd ff ff 00 	movb   $0x0,-0x2bc(%ebp)
416f36:	8b c8                	mov    %eax,%ecx
416f38:	ff b5 44 fd ff ff    	push   -0x2bc(%ebp)
416f3e:	52                   	push   %edx
416f3f:	e8 cc b6 fe ff       	call   0x402610
416f44:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
416f48:	8b 8d 3c fd ff ff    	mov    -0x2c4(%ebp),%ecx
416f4e:	83 f9 08             	cmp    $0x8,%ecx
416f51:	72 35                	jb     0x416f88
416f53:	8b 95 28 fd ff ff    	mov    -0x2d8(%ebp),%edx
416f59:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
416f60:	8b c2                	mov    %edx,%eax
416f62:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
416f68:	72 14                	jb     0x416f7e
416f6a:	8b 50 fc             	mov    -0x4(%eax),%edx
416f6d:	83 c1 23             	add    $0x23,%ecx
416f70:	2b c2                	sub    %edx,%eax
416f72:	83 c0 fc             	add    $0xfffffffc,%eax
416f75:	83 f8 1f             	cmp    $0x1f,%eax
416f78:	0f 87 16 07 00 00    	ja     0x417694
416f7e:	51                   	push   %ecx
416f7f:	52                   	push   %edx
416f80:	e8 89 49 00 00       	call   0x41b90e
416f85:	83 c4 08             	add    $0x8,%esp
416f88:	6a 0c                	push   $0xc
416f8a:	68 8c ee 44 00       	push   $0x44ee8c
416f8f:	8d 8d 28 fd ff ff    	lea    -0x2d8(%ebp),%ecx
416f95:	c7 85 28 fd ff ff 00 	movl   $0x0,-0x2d8(%ebp)
416f9c:	00 00 00
416f9f:	c7 85 38 fd ff ff 00 	movl   $0x0,-0x2c8(%ebp)
416fa6:	00 00 00
416fa9:	c7 85 3c fd ff ff 00 	movl   $0x0,-0x2c4(%ebp)
416fb0:	00 00 00
416fb3:	e8 58 b5 fe ff       	call   0x402510
416fb8:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
416fbc:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
416fc2:	83 bd 74 fd ff ff 08 	cmpl   $0x8,-0x28c(%ebp)
416fc9:	8d 9d 60 fd ff ff    	lea    -0x2a0(%ebp),%ebx
416fcf:	50                   	push   %eax
416fd0:	0f 43 9d 60 fd ff ff 	cmovae -0x2a0(%ebp),%ebx
416fd7:	8b cf                	mov    %edi,%ecx
416fd9:	e8 e2 06 00 00       	call   0x4176c0
416fde:	8b d3                	mov    %ebx,%edx
416fe0:	8d 72 02             	lea    0x2(%edx),%esi
416fe3:	66 8b 0a             	mov    (%edx),%cx
416fe6:	83 c2 02             	add    $0x2,%edx
416fe9:	66 85 c9             	test   %cx,%cx
416fec:	75 f5                	jne    0x416fe3
416fee:	8b 48 14             	mov    0x14(%eax),%ecx
416ff1:	2b d6                	sub    %esi,%edx
416ff3:	d1 fa                	sar    $1,%edx
416ff5:	3b d1                	cmp    %ecx,%edx
416ff7:	77 28                	ja     0x417021
416ff9:	8b f8                	mov    %eax,%edi
416ffb:	83 f9 08             	cmp    $0x8,%ecx
416ffe:	72 02                	jb     0x417002
417000:	8b 38                	mov    (%eax),%edi
417002:	8d 34 12             	lea    (%edx,%edx,1),%esi
417005:	89 50 10             	mov    %edx,0x10(%eax)
417008:	56                   	push   %esi
417009:	53                   	push   %ebx
41700a:	57                   	push   %edi
41700b:	e8 40 64 00 00       	call   0x41d450
417010:	83 c4 0c             	add    $0xc,%esp
417013:	33 c0                	xor    %eax,%eax
417015:	66 89 04 37          	mov    %ax,(%edi,%esi,1)
417019:	8b bd 40 fd ff ff    	mov    -0x2c0(%ebp),%edi
41701f:	eb 16                	jmp    0x417037
417021:	53                   	push   %ebx
417022:	c6 85 44 fd ff ff 00 	movb   $0x0,-0x2bc(%ebp)
417029:	8b c8                	mov    %eax,%ecx
41702b:	ff b5 44 fd ff ff    	push   -0x2bc(%ebp)
417031:	52                   	push   %edx
417032:	e8 d9 b5 fe ff       	call   0x402610
417037:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
41703b:	8b 8d 3c fd ff ff    	mov    -0x2c4(%ebp),%ecx
417041:	83 f9 08             	cmp    $0x8,%ecx
417044:	72 35                	jb     0x41707b
417046:	8b 95 28 fd ff ff    	mov    -0x2d8(%ebp),%edx
41704c:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
417053:	8b c2                	mov    %edx,%eax
417055:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41705b:	72 14                	jb     0x417071
41705d:	8b 50 fc             	mov    -0x4(%eax),%edx
417060:	83 c1 23             	add    $0x23,%ecx
417063:	2b c2                	sub    %edx,%eax
417065:	83 c0 fc             	add    $0xfffffffc,%eax
417068:	83 f8 1f             	cmp    $0x1f,%eax
41706b:	0f 87 28 06 00 00    	ja     0x417699
417071:	51                   	push   %ecx
417072:	52                   	push   %edx
417073:	e8 96 48 00 00       	call   0x41b90e
417078:	83 c4 08             	add    $0x8,%esp
41707b:	6a 0b                	push   $0xb
41707d:	68 a8 ee 44 00       	push   $0x44eea8
417082:	8d 8d 28 fd ff ff    	lea    -0x2d8(%ebp),%ecx
417088:	c7 85 28 fd ff ff 00 	movl   $0x0,-0x2d8(%ebp)
41708f:	00 00 00
417092:	c7 85 38 fd ff ff 00 	movl   $0x0,-0x2c8(%ebp)
417099:	00 00 00
41709c:	c7 85 3c fd ff ff 00 	movl   $0x0,-0x2c4(%ebp)
4170a3:	00 00 00
4170a6:	e8 65 b4 fe ff       	call   0x402510
4170ab:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
4170af:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
4170b5:	83 bd bc fd ff ff 08 	cmpl   $0x8,-0x244(%ebp)
4170bc:	8d 9d a8 fd ff ff    	lea    -0x258(%ebp),%ebx
4170c2:	50                   	push   %eax
4170c3:	0f 43 9d a8 fd ff ff 	cmovae -0x258(%ebp),%ebx
4170ca:	8b cf                	mov    %edi,%ecx
4170cc:	e8 ef 05 00 00       	call   0x4176c0
4170d1:	8b d3                	mov    %ebx,%edx
4170d3:	8d 72 02             	lea    0x2(%edx),%esi
4170d6:	66 8b 0a             	mov    (%edx),%cx
4170d9:	83 c2 02             	add    $0x2,%edx