410d67:	38 53 04             	cmp    %dl,0x4(%ebx)
410d6a:	0f 94 c2             	sete   %dl
410d6d:	4a                   	dec    %edx
410d6e:	83 e2 1d             	and    $0x1d,%edx
410d71:	83 c2 17             	add    $0x17,%edx
410d74:	83 ff 40             	cmp    $0x40,%edi
410d77:	77 39                	ja     0x410db2
410d79:	8b 4d 08             	mov    0x8(%ebp),%ecx
410d7c:	83 39 00             	cmpl   $0x0,(%ecx)
410d7f:	76 05                	jbe    0x410d86
410d81:	8b 71 04             	mov    0x4(%ecx),%esi
410d84:	eb 02                	jmp    0x410d88
410d86:	33 f6                	xor    %esi,%esi
410d88:	83 39 01             	cmpl   $0x1,(%ecx)
410d8b:	76 05                	jbe    0x410d92
410d8d:	8b 49 08             	mov    0x8(%ecx),%ecx
410d90:	eb 02                	jmp    0x410d94
410d92:	33 c9                	xor    %ecx,%ecx
410d94:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
410d98:	53                   	push   %ebx
410d99:	0f 94 c0             	sete   %al
410d9c:	0f b6 c0             	movzbl %al,%eax
410d9f:	50                   	push   %eax
410da0:	ff 75 10             	push   0x10(%ebp)
410da3:	33 c0                	xor    %eax,%eax
410da5:	03 c6                	add    %esi,%eax
410da7:	52                   	push   %edx
410da8:	83 d1 00             	adc    $0x0,%ecx
410dab:	51                   	push   %ecx
410dac:	50                   	push   %eax
410dad:	e9 21 01 00 00       	jmp    0x410ed3
410db2:	8b c7                	mov    %edi,%eax
410db4:	c1 ef 05             	shr    $0x5,%edi
410db7:	83 e0 1f             	and    $0x1f,%eax
410dba:	89 45 e4             	mov    %eax,-0x1c(%ebp)
410dbd:	8d 77 fe             	lea    -0x2(%edi),%esi
410dc0:	85 c0                	test   %eax,%eax
410dc2:	75 51                	jne    0x410e15
410dc4:	8b ce                	mov    %esi,%ecx
410dc6:	c1 e1 05             	shl    $0x5,%ecx
410dc9:	03 ca                	add    %edx,%ecx
410dcb:	8b 55 08             	mov    0x8(%ebp),%edx
410dce:	8b 14 ba             	mov    (%edx,%edi,4),%edx
410dd1:	8b 7d 08             	mov    0x8(%ebp),%edi
410dd4:	03 44 b7 04          	add    0x4(%edi,%esi,4),%eax
410dd8:	89 45 ec             	mov    %eax,-0x14(%ebp)
410ddb:	83 d2 00             	adc    $0x0,%edx
410dde:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
410de2:	89 55 f4             	mov    %edx,-0xc(%ebp)
410de5:	0f 94 c2             	sete   %dl
410de8:	88 55 f0             	mov    %dl,-0x10(%ebp)
410deb:	85 f6                	test   %esi,%esi
410ded:	74 19                	je     0x410e08
410def:	83 c7 04             	add    $0x4,%edi
410df2:	83 3f 00             	cmpl   $0x0,(%edi)
410df5:	8d 7f 04             	lea    0x4(%edi),%edi
410df8:	0f 94 c0             	sete   %al
410dfb:	22 d0                	and    %al,%dl
410dfd:	83 ee 01             	sub    $0x1,%esi
410e00:	75 f0                	jne    0x410df2
410e02:	8b 45 ec             	mov    -0x14(%ebp),%eax
410e05:	88 55 f0             	mov    %dl,-0x10(%ebp)
410e08:	53                   	push   %ebx
410e09:	ff 75 f0             	push   -0x10(%ebp)
410e0c:	ff 75 10             	push   0x10(%ebp)
410e0f:	51                   	push   %ecx
410e10:	ff 75 f4             	push   -0xc(%ebp)
410e13:	eb 97                	jmp    0x410dac
410e15:	33 db                	xor    %ebx,%ebx
410e17:	89 75 fc             	mov    %esi,-0x4(%ebp)
410e1a:	c1 65 fc 05          	shll   $0x5,-0x4(%ebp)
410e1e:	8b c8                	mov    %eax,%ecx
410e20:	01 45 fc             	add    %eax,-0x4(%ebp)
410e23:	43                   	inc    %ebx
410e24:	01 55 fc             	add    %edx,-0x4(%ebp)
410e27:	89 5d f8             	mov    %ebx,-0x8(%ebp)
410e2a:	d3 65 f8             	shll   %cl,-0x8(%ebp)
410e2d:	ff 4d f8             	decl   -0x8(%ebp)
410e30:	6a 40                	push   $0x40
410e32:	59                   	pop    %ecx
410e33:	2b c8                	sub    %eax,%ecx
410e35:	8b 45 08             	mov    0x8(%ebp),%eax
410e38:	89 4d e8             	mov    %ecx,-0x18(%ebp)
410e3b:	83 c1 e0             	add    $0xffffffe0,%ecx
410e3e:	8b 54 b0 04          	mov    0x4(%eax,%esi,4),%edx
410e42:	8b 04 b8             	mov    (%eax,%edi,4),%eax
410e45:	89 55 ec             	mov    %edx,-0x14(%ebp)
410e48:	33 d2                	xor    %edx,%edx
410e4a:	e8 81 55 01 00       	call   0x4263d0
410e4f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
410e52:	89 45 f4             	mov    %eax,-0xc(%ebp)
410e55:	8b 45 08             	mov    0x8(%ebp),%eax
410e58:	89 55 f0             	mov    %edx,-0x10(%ebp)
410e5b:	33 d2                	xor    %edx,%edx
410e5d:	8b 44 b8 04          	mov    0x4(%eax,%edi,4),%eax
410e61:	8b 7d f8             	mov    -0x8(%ebp),%edi
410e64:	23 c7                	and    %edi,%eax
410e66:	e8 65 55 01 00       	call   0x4263d0
410e6b:	01 45 f4             	add    %eax,-0xc(%ebp)
410e6e:	8b c7                	mov    %edi,%eax
410e70:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
410e73:	f7 d0                	not    %eax
410e75:	11 55 f0             	adc    %edx,-0x10(%ebp)
410e78:	33 d2                	xor    %edx,%edx
410e7a:	23 45 ec             	and    -0x14(%ebp),%eax
410e7d:	e8 6e 55 01 00       	call   0x4263f0
410e82:	8b 4d f4             	mov    -0xc(%ebp),%ecx
410e85:	03 c8                	add    %eax,%ecx
410e87:	8b 45 f0             	mov    -0x10(%ebp),%eax
410e8a:	89 4d f4             	mov    %ecx,-0xc(%ebp)
410e8d:	13 c2                	adc    %edx,%eax
410e8f:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
410e93:	89 45 f0             	mov    %eax,-0x10(%ebp)
410e96:	75 05                	jne    0x410e9d
410e98:	85 7d ec             	test   %edi,-0x14(%ebp)
410e9b:	74 02                	je     0x410e9f
410e9d:	32 db                	xor    %bl,%bl
410e9f:	88 5d f8             	mov    %bl,-0x8(%ebp)
410ea2:	85 f6                	test   %esi,%esi
410ea4:	74 1f                	je     0x410ec5
410ea6:	8b 4d 08             	mov    0x8(%ebp),%ecx
410ea9:	83 c1 04             	add    $0x4,%ecx
410eac:	83 39 00             	cmpl   $0x0,(%ecx)
410eaf:	8d 49 04             	lea    0x4(%ecx),%ecx
410eb2:	0f 94 c0             	sete   %al
410eb5:	22 d8                	and    %al,%bl
410eb7:	88 5d f8             	mov    %bl,-0x8(%ebp)
410eba:	83 ee 01             	sub    $0x1,%esi
410ebd:	75 ed                	jne    0x410eac
410ebf:	8b 4d f4             	mov    -0xc(%ebp),%ecx
410ec2:	8b 45 f0             	mov    -0x10(%ebp),%eax
410ec5:	ff 75 18             	push   0x18(%ebp)
410ec8:	ff 75 f8             	push   -0x8(%ebp)
410ecb:	ff 75 10             	push   0x10(%ebp)
410ece:	ff 75 fc             	push   -0x4(%ebp)
410ed1:	50                   	push   %eax
410ed2:	51                   	push   %ecx
410ed3:	e8 30 fb ff ff       	call   0x410a08
410ed8:	83 c4 18             	add    $0x18,%esp
410edb:	5f                   	pop    %edi
410edc:	5e                   	pop    %esi
410edd:	5b                   	pop    %ebx
410ede:	8b e5                	mov    %ebp,%esp
410ee0:	5d                   	pop    %ebp
410ee1:	c3                   	ret
410ee2:	8b ff                	mov    %edi,%edi
410ee4:	55                   	push   %ebp
410ee5:	8b ec                	mov    %esp,%ebp
410ee7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410eea:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
410eee:	74 12                	je     0x410f02
410ef0:	e8 8f fa ff ff       	call   0x410984
410ef5:	50                   	push   %eax
410ef6:	ff 75 08             	push   0x8(%ebp)
410ef9:	e8 90 e5 ff ff       	call   0x40f48e
410efe:	59                   	pop    %ecx
410eff:	59                   	pop    %ecx
410f00:	5d                   	pop    %ebp
410f01:	c3                   	ret
410f02:	e8 a2 fa ff ff       	call   0x4109a9
410f07:	33 c9                	xor    %ecx,%ecx
410f09:	38 4d 08             	cmp    %cl,0x8(%ebp)
410f0c:	0f 95 c1             	setne  %cl
410f0f:	c1 e1 1f             	shl    $0x1f,%ecx
410f12:	89 08                	mov    %ecx,(%eax)
410f14:	5d                   	pop    %ebp
410f15:	c3                   	ret
410f16:	8b ff                	mov    %edi,%edi
410f18:	55                   	push   %ebp
410f19:	8b ec                	mov    %esp,%ebp
410f1b:	81 ec 2c 0b 00 00    	sub    $0xb2c,%esp
410f21:	a1 28 ba 43 00       	mov    0x43ba28,%eax
410f26:	33 c5                	xor    %ebp,%eax
410f28:	89 45 fc             	mov    %eax,-0x4(%ebp)
410f2b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410f2e:	33 c0                	xor    %eax,%eax
410f30:	53                   	push   %ebx
410f31:	56                   	push   %esi
410f32:	57                   	push   %edi
410f33:	38 41 04             	cmp    %al,0x4(%ecx)
410f36:	8b 7d 08             	mov    0x8(%ebp),%edi
410f39:	0f 94 c0             	sete   %al
410f3c:	89 bd b0 f6 ff ff    	mov    %edi,-0x950(%ebp)
410f42:	48                   	dec    %eax
410f43:	89 8d a8 f6 ff ff    	mov    %ecx,-0x958(%ebp)
410f49:	83 e0 1d             	and    $0x1d,%eax
410f4c:	8b 1f                	mov    (%edi),%ebx
410f4e:	83 c0 19             	add    $0x19,%eax
410f51:	89 85 ac f6 ff ff    	mov    %eax,-0x954(%ebp)
410f57:	85 db                	test   %ebx,%ebx
410f59:	79 02                	jns    0x410f5d
410f5b:	33 db                	xor    %ebx,%ebx
410f5d:	8b 47 04             	mov    0x4(%edi),%eax
410f60:	8b cb                	mov    %ebx,%ecx
410f62:	3b d8                	cmp    %eax,%ebx
410f64:	72 02                	jb     0x410f68
410f66:	8b c8                	mov    %eax,%ecx
410f68:	83 c0 08             	add    $0x8,%eax
410f6b:	8d 57 08             	lea    0x8(%edi),%edx
410f6e:	03 c7                	add    %edi,%eax
410f70:	03 d1                	add    %ecx,%edx
410f72:	89 85 c4 f6 ff ff    	mov    %eax,-0x93c(%ebp)
410f78:	2b d9                	sub    %ecx,%ebx
410f7a:	2b c2                	sub    %edx,%eax
410f7c:	89 9d cc f6 ff ff    	mov    %ebx,-0x934(%ebp)
410f82:	83 c7 08             	add    $0x8,%edi
410f85:	89 85 e0 f6 ff ff    	mov    %eax,-0x920(%ebp)
410f8b:	33 c0                	xor    %eax,%eax
410f8d:	89 95 d4 f6 ff ff    	mov    %edx,-0x92c(%ebp)
410f93:	33 f6                	xor    %esi,%esi
410f95:	89 85 e8 f6 ff ff    	mov    %eax,-0x918(%ebp)
410f9b:	33 c9                	xor    %ecx,%ecx
410f9d:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
410fa3:	89 b5 e4 f6 ff ff    	mov    %esi,-0x91c(%ebp)
410fa9:	89 bd dc f6 ff ff    	mov    %edi,-0x924(%ebp)
410faf:	3b fa                	cmp    %edx,%edi
410fb1:	75 0d                	jne    0x410fc0
410fb3:	8b d8                	mov    %eax,%ebx
410fb5:	e9 6b 06 00 00       	jmp    0x411625
410fba:	8b 85 e8 f6 ff ff    	mov    -0x918(%ebp),%eax
410fc0:	83 f9 09             	cmp    $0x9,%ecx
410fc3:	0f 85 37 01 00 00    	jne    0x411100
410fc9:	85 c0                	test   %eax,%eax
410fcb:	0f 84 93 00 00 00    	je     0x411064
410fd1:	8b 9d e8 f6 ff ff    	mov    -0x918(%ebp),%ebx
410fd7:	33 c9                	xor    %ecx,%ecx
410fd9:	33 f6                	xor    %esi,%esi
410fdb:	bf 00 ca 9a 3b       	mov    $0x3b9aca00,%edi
410fe0:	8b 84 b5 30 fe ff ff 	mov    -0x1d0(%ebp,%esi,4),%eax
410fe7:	f7 e7                	mul    %edi
410fe9:	03 c1                	add    %ecx,%eax
410feb:	89 84 b5 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%esi,4)
410ff2:	83 d2 00             	adc    $0x0,%edx
410ff5:	46                   	inc    %esi
410ff6:	8b ca                	mov    %edx,%ecx
410ff8:	3b f3                	cmp    %ebx,%esi
410ffa:	75 e4                	jne    0x410fe0
410ffc:	8b bd dc f6 ff ff    	mov    -0x924(%ebp),%edi
411002:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
411008:	85 c9                	test   %ecx,%ecx
41100a:	74 4c                	je     0x411058
41100c:	83 f8 73             	cmp    $0x73,%eax
41100f:	73 16                	jae    0x411027
411011:	89 8c 85 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%eax,4)
411018:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
41101e:	40                   	inc    %eax
41101f:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
411025:	eb 31                	jmp    0x411058
411027:	83 a5 bc f8 ff ff 00 	andl   $0x0,-0x744(%ebp)
41102e:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
411034:	83 a5 2c fe ff ff 00 	andl   $0x0,-0x1d4(%ebp)
41103b:	6a 00                	push   $0x0
41103d:	50                   	push   %eax
41103e:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
411044:	68 cc 01 00 00       	push   $0x1cc
411049:	50                   	push   %eax
41104a:	e8 c3 2d 00 00       	call   0x413e12
41104f:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
411055:	83 c4 10             	add    $0x10,%esp
411058:	8b b5 e4 f6 ff ff    	mov    -0x91c(%ebp),%esi
41105e:	89 85 e8 f6 ff ff    	mov    %eax,-0x918(%ebp)
411064:	85 f6                	test   %esi,%esi
411066:	0f 84 82 00 00 00    	je     0x4110ee
41106c:	33 d2                	xor    %edx,%edx
41106e:	85 c0                	test   %eax,%eax
411070:	74 1e                	je     0x411090
411072:	33 c0                	xor    %eax,%eax
411074:	01 b4 95 30 fe ff ff 	add    %esi,-0x1d0(%ebp,%edx,4)
41107b:	13 c0                	adc    %eax,%eax
41107d:	42                   	inc    %edx
41107e:	8b f0                	mov    %eax,%esi
411080:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
411086:	89 85 e8 f6 ff ff    	mov    %eax,-0x918(%ebp)
41108c:	3b d0                	cmp    %eax,%edx
41108e:	75 e2                	jne    0x411072
411090:	85 f6                	test   %esi,%esi
411092:	74 5a                	je     0x4110ee
411094:	83 f8 73             	cmp    $0x73,%eax
411097:	73 1c                	jae    0x4110b5
411099:	89 b4 85 30 fe ff ff 	mov    %esi,-0x1d0(%ebp,%eax,4)
4110a0:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
4110a6:	43                   	inc    %ebx
4110a7:	89 9d e8 f6 ff ff    	mov    %ebx,-0x918(%ebp)
4110ad:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
4110b3:	eb 3f                	jmp    0x4110f4
4110b5:	83 a5 bc f8 ff ff 00 	andl   $0x0,-0x744(%ebp)
4110bc:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
4110c2:	83 a5 2c fe ff ff 00 	andl   $0x0,-0x1d4(%ebp)
4110c9:	6a 00                	push   $0x0
4110cb:	50                   	push   %eax
4110cc:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4110d2:	68 cc 01 00 00       	push   $0x1cc
4110d7:	50                   	push   %eax
4110d8:	e8 35 2d 00 00       	call   0x413e12
4110dd:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
4110e3:	83 c4 10             	add    $0x10,%esp
4110e6:	89 9d e8 f6 ff ff    	mov    %ebx,-0x918(%ebp)
4110ec:	eb 06                	jmp    0x4110f4
4110ee:	8b 9d e8 f6 ff ff    	mov    -0x918(%ebp),%ebx
4110f4:	8b 95 d4 f6 ff ff    	mov    -0x92c(%ebp),%edx
4110fa:	33 f6                	xor    %esi,%esi
4110fc:	33 c9                	xor    %ecx,%ecx
4110fe:	eb 06                	jmp    0x411106
411100:	8b 9d e8 f6 ff ff    	mov    -0x918(%ebp),%ebx
411106:	0f b6 07             	movzbl (%edi),%eax
411109:	6b f6 0a             	imul   $0xa,%esi,%esi
41110c:	03 f0                	add    %eax,%esi
41110e:	41                   	inc    %ecx
41110f:	47                   	inc    %edi
411110:	89 b5 e4 f6 ff ff    	mov    %esi,-0x91c(%ebp)
411116:	89 bd dc f6 ff ff    	mov    %edi,-0x924(%ebp)
41111c:	3b fa                	cmp    %edx,%edi
41111e:	0f 85 96 fe ff ff    	jne    0x410fba
411124:	85 c9                	test   %ecx,%ecx
411126:	0f 84 f3 04 00 00    	je     0x41161f
41112c:	8b c1                	mov    %ecx,%eax
41112e:	33 d2                	xor    %edx,%edx
411130:	6a 0a                	push   $0xa
411132:	59                   	pop    %ecx
411133:	f7 f1                	div    %ecx
411135:	89 85 c8 f6 ff ff    	mov    %eax,-0x938(%ebp)
41113b:	8b ca                	mov    %edx,%ecx
41113d:	89 8d b8 f6 ff ff    	mov    %ecx,-0x948(%ebp)
411143:	85 c0                	test   %eax,%eax
411145:	0f 84 7f 03 00 00    	je     0x4114ca
41114b:	83 f8 26             	cmp    $0x26,%eax
41114e:	76 03                	jbe    0x411153
411150:	6a 26                	push   $0x26
411152:	58                   	pop    %eax
411153:	0f b6 0c 85 36 b8 42 	movzbl 0x42b836(,%eax,4),%ecx
41115a:	00
41115b:	0f b6 34 85 37 b8 42 	movzbl 0x42b837(,%eax,4),%esi
411162:	00
411163:	8b f9                	mov    %ecx,%edi
411165:	89 85 d0 f6 ff ff    	mov    %eax,-0x930(%ebp)
41116b:	c1 e7 02             	shl    $0x2,%edi
41116e:	57                   	push   %edi
41116f:	8d 04 31             	lea    (%ecx,%esi,1),%eax
411172:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
411178:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
41117e:	6a 00                	push   $0x0
411180:	50                   	push   %eax
411181:	e8 5a 78 ff ff       	call   0x4089e0
411186:	8b c6                	mov    %esi,%eax
411188:	c1 e0 02             	shl    $0x2,%eax
41118b:	50                   	push   %eax
41118c:	8b 85 d0 f6 ff ff    	mov    -0x930(%ebp),%eax
411192:	0f b7 04 85 34 b8 42 	movzwl 0x42b834(,%eax,4),%eax
411199:	00
41119a:	8d 04 85 30 af 42 00 	lea    0x42af30(,%eax,4),%eax