416d28:	90                   	nop
416d29:	c1 e8 08             	shr    $0x8,%eax
416d2c:	84 c3                	test   %al,%bl
416d2e:	75 04                	jne    0x416d34
416d30:	8b d7                	mov    %edi,%edx
416d32:	eb 0a                	jmp    0x416d3e
416d34:	8b 45 08             	mov    0x8(%ebp),%eax
416d37:	8b 40 18             	mov    0x18(%eax),%eax
416d3a:	99                   	cltd
416d3b:	89 45 f8             	mov    %eax,-0x8(%ebp)
416d3e:	8b 4d e0             	mov    -0x20(%ebp),%ecx
416d41:	8b 45 e8             	mov    -0x18(%ebp),%eax
416d44:	8b 0c 8d c0 4a 43 00 	mov    0x434ac0(,%ecx,4),%ecx
416d4b:	f6 44 08 28 04       	testb  $0x4,0x28(%eax,%ecx,1)
416d50:	74 16                	je     0x416d68
416d52:	8a 45 f0             	mov    -0x10(%ebp),%al
416d55:	3a c3                	cmp    %bl,%al
416d57:	74 04                	je     0x416d5d
416d59:	3c 02                	cmp    $0x2,%al
416d5b:	75 03                	jne    0x416d60
416d5d:	6a 02                	push   $0x2
416d5f:	5b                   	pop    %ebx
416d60:	8b 4d f8             	mov    -0x8(%ebp),%ecx
416d63:	e9 6f ff ff ff       	jmp    0x416cd7
416d68:	8b 4d f8             	mov    -0x8(%ebp),%ecx
416d6b:	ff 75 fc             	push   -0x4(%ebp)
416d6e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
416d71:	53                   	push   %ebx
416d72:	52                   	push   %edx
416d73:	51                   	push   %ecx
416d74:	e8 37 b9 00 00       	call   0x4226b0
416d79:	ff 75 fc             	push   -0x4(%ebp)
416d7c:	8b fa                	mov    %edx,%edi
416d7e:	8b f0                	mov    %eax,%esi
416d80:	53                   	push   %ebx
416d81:	ff 75 18             	push   0x18(%ebp)
416d84:	ff 75 14             	push   0x14(%ebp)
416d87:	e8 24 b9 00 00       	call   0x4226b0
416d8c:	2b c6                	sub    %esi,%eax
416d8e:	1b d7                	sbb    %edi,%edx
416d90:	03 45 0c             	add    0xc(%ebp),%eax
416d93:	13 55 10             	adc    0x10(%ebp),%edx
416d96:	5f                   	pop    %edi
416d97:	5e                   	pop    %esi
416d98:	5b                   	pop    %ebx
416d99:	c9                   	leave
416d9a:	c3                   	ret
416d9b:	8b ff                	mov    %edi,%edi
416d9d:	55                   	push   %ebp
416d9e:	8b ec                	mov    %esp,%ebp
416da0:	b8 18 10 00 00       	mov    $0x1018,%eax
416da5:	e8 46 14 ff ff       	call   0x4081f0
416daa:	a1 14 30 43 00       	mov    0x433014,%eax
416daf:	33 c5                	xor    %ebp,%eax
416db1:	89 45 fc             	mov    %eax,-0x4(%ebp)
416db4:	53                   	push   %ebx
416db5:	ff 75 08             	push   0x8(%ebp)
416db8:	e8 d1 e1 ff ff       	call   0x414f8e
416dbd:	59                   	pop    %ecx
416dbe:	8b 4d 08             	mov    0x8(%ebp),%ecx
416dc1:	8b d8                	mov    %eax,%ebx
416dc3:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
416dc7:	75 0b                	jne    0x416dd4
416dc9:	8b 45 0c             	mov    0xc(%ebp),%eax
416dcc:	8b 55 10             	mov    0x10(%ebp),%edx
416dcf:	e9 50 01 00 00       	jmp    0x416f24
416dd4:	8b 01                	mov    (%ecx),%eax
416dd6:	2b 41 04             	sub    0x4(%ecx),%eax
416dd9:	56                   	push   %esi
416dda:	57                   	push   %edi
416ddb:	6a 00                	push   $0x0
416ddd:	99                   	cltd
416dde:	6a 02                	push   $0x2
416de0:	52                   	push   %edx
416de1:	50                   	push   %eax
416de2:	e8 c9 b8 00 00       	call   0x4226b0
416de7:	8b cb                	mov    %ebx,%ecx
416de9:	89 85 f8 ef ff ff    	mov    %eax,-0x1008(%ebp)
416def:	83 e1 3f             	and    $0x3f,%ecx
416df2:	89 95 ec ef ff ff    	mov    %edx,-0x1014(%ebp)
416df8:	8b f3                	mov    %ebx,%esi
416dfa:	6b f9 38             	imul   $0x38,%ecx,%edi
416dfd:	c1 fe 06             	sar    $0x6,%esi
416e00:	6a 00                	push   $0x0
416e02:	8b 0c b5 c0 4a 43 00 	mov    0x434ac0(,%esi,4),%ecx
416e09:	ff 74 0f 24          	push   0x24(%edi,%ecx,1)
416e0d:	ff 74 0f 20          	push   0x20(%edi,%ecx,1)
416e11:	53                   	push   %ebx
416e12:	e8 1b 0f 00 00       	call   0x417d32
416e17:	8b 0c b5 c0 4a 43 00 	mov    0x434ac0(,%esi,4),%ecx
416e1e:	83 c4 10             	add    $0x10,%esp
416e21:	89 85 f4 ef ff ff    	mov    %eax,-0x100c(%ebp)
416e27:	8b c2                	mov    %edx,%eax
416e29:	8b 95 f4 ef ff ff    	mov    -0x100c(%ebp),%edx
416e2f:	89 85 e8 ef ff ff    	mov    %eax,-0x1018(%ebp)
416e35:	3b 54 0f 20          	cmp    0x20(%edi,%ecx,1),%edx
416e39:	0f 85 de 00 00 00    	jne    0x416f1d
416e3f:	3b 44 0f 24          	cmp    0x24(%edi,%ecx,1),%eax
416e43:	0f 85 d4 00 00 00    	jne    0x416f1d
416e49:	6a 00                	push   $0x0
416e4b:	8d 85 f0 ef ff ff    	lea    -0x1010(%ebp),%eax
416e51:	50                   	push   %eax
416e52:	68 00 10 00 00       	push   $0x1000
416e57:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
416e5d:	50                   	push   %eax
416e5e:	ff 74 0f 18          	push   0x18(%edi,%ecx,1)
416e62:	ff 15 00 41 42 00    	call   *0x424100
416e68:	85 c0                	test   %eax,%eax
416e6a:	0f 84 ad 00 00 00    	je     0x416f1d
416e70:	6a 00                	push   $0x0
416e72:	ff 75 10             	push   0x10(%ebp)
416e75:	ff 75 0c             	push   0xc(%ebp)
416e78:	53                   	push   %ebx
416e79:	e8 b4 0e 00 00       	call   0x417d32
416e7e:	83 c4 10             	add    $0x10,%esp
416e81:	85 d2                	test   %edx,%edx
416e83:	0f 8c 94 00 00 00    	jl     0x416f1d
416e89:	7f 08                	jg     0x416e93
416e8b:	85 c0                	test   %eax,%eax
416e8d:	0f 82 8a 00 00 00    	jb     0x416f1d
416e93:	8b 9d ec ef ff ff    	mov    -0x1014(%ebp),%ebx
416e99:	8b 85 f0 ef ff ff    	mov    -0x1010(%ebp),%eax
416e9f:	85 db                	test   %ebx,%ebx
416ea1:	7f 7a                	jg     0x416f1d
416ea3:	7c 08                	jl     0x416ead
416ea5:	39 85 f8 ef ff ff    	cmp    %eax,-0x1008(%ebp)
416eab:	77 70                	ja     0x416f1d
416ead:	8d bd fc ef ff ff    	lea    -0x1004(%ebp),%edi
416eb3:	33 d2                	xor    %edx,%edx
416eb5:	03 f8                	add    %eax,%edi
416eb7:	8d 8d fc ef ff ff    	lea    -0x1004(%ebp),%ecx
416ebd:	33 f6                	xor    %esi,%esi
416ebf:	39 95 f8 ef ff ff    	cmp    %edx,-0x1008(%ebp)
416ec5:	75 04                	jne    0x416ecb
416ec7:	85 db                	test   %ebx,%ebx
416ec9:	74 39                	je     0x416f04
416ecb:	3b cf                	cmp    %edi,%ecx
416ecd:	73 35                	jae    0x416f04
416ecf:	8a 01                	mov    (%ecx),%al
416ed1:	3c 0d                	cmp    $0xd,%al
416ed3:	75 10                	jne    0x416ee5
416ed5:	8d 47 ff             	lea    -0x1(%edi),%eax
416ed8:	3b c8                	cmp    %eax,%ecx
416eda:	73 15                	jae    0x416ef1
416edc:	80 79 01 0a          	cmpb   $0xa,0x1(%ecx)
416ee0:	75 0f                	jne    0x416ef1
416ee2:	41                   	inc    %ecx
416ee3:	eb 0c                	jmp    0x416ef1
416ee5:	0f b6 c0             	movzbl %al,%eax
416ee8:	0f be 80 a0 32 43 00 	movsbl 0x4332a0(%eax),%eax
416eef:	03 c8                	add    %eax,%ecx
416ef1:	83 c6 01             	add    $0x1,%esi
416ef4:	83 d2 00             	adc    $0x0,%edx
416ef7:	41                   	inc    %ecx
416ef8:	3b b5 f8 ef ff ff    	cmp    -0x1008(%ebp),%esi
416efe:	75 cb                	jne    0x416ecb
416f00:	3b d3                	cmp    %ebx,%edx
416f02:	75 c7                	jne    0x416ecb
416f04:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
416f0a:	2b c8                	sub    %eax,%ecx
416f0c:	8b c1                	mov    %ecx,%eax
416f0e:	99                   	cltd
416f0f:	03 85 f4 ef ff ff    	add    -0x100c(%ebp),%eax
416f15:	13 95 e8 ef ff ff    	adc    -0x1018(%ebp),%edx
416f1b:	eb 05                	jmp    0x416f22
416f1d:	83 ca ff             	or     $0xffffffff,%edx
416f20:	8b c2                	mov    %edx,%eax
416f22:	5f                   	pop    %edi
416f23:	5e                   	pop    %esi
416f24:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416f27:	33 cd                	xor    %ebp,%ecx
416f29:	5b                   	pop    %ebx
416f2a:	e8 dd 04 ff ff       	call   0x40740c
416f2f:	c9                   	leave
416f30:	c3                   	ret
416f31:	8b ff                	mov    %edi,%edi
416f33:	55                   	push   %ebp
416f34:	8b ec                	mov    %esp,%ebp
416f36:	8a 45 10             	mov    0x10(%ebp),%al
416f39:	53                   	push   %ebx
416f3a:	56                   	push   %esi
416f3b:	57                   	push   %edi
416f3c:	3c 01                	cmp    $0x1,%al
416f3e:	74 32                	je     0x416f72
416f40:	3c 02                	cmp    $0x2,%al
416f42:	74 2e                	je     0x416f72
416f44:	8b 4d 08             	mov    0x8(%ebp),%ecx
416f47:	33 f6                	xor    %esi,%esi
416f49:	8b 45 0c             	mov    0xc(%ebp),%eax
416f4c:	33 d2                	xor    %edx,%edx
416f4e:	33 db                	xor    %ebx,%ebx
416f50:	2b c1                	sub    %ecx,%eax
416f52:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
416f55:	1b ff                	sbb    %edi,%edi
416f57:	f7 d7                	not    %edi
416f59:	23 f8                	and    %eax,%edi
416f5b:	74 11                	je     0x416f6e
416f5d:	80 39 0a             	cmpb   $0xa,(%ecx)
416f60:	75 06                	jne    0x416f68
416f62:	83 c6 01             	add    $0x1,%esi
416f65:	83 d2 00             	adc    $0x0,%edx
416f68:	41                   	inc    %ecx
416f69:	43                   	inc    %ebx
416f6a:	3b df                	cmp    %edi,%ebx
416f6c:	75 ef                	jne    0x416f5d
416f6e:	8b c6                	mov    %esi,%eax
416f70:	eb 38                	jmp    0x416faa
416f72:	8b 75 08             	mov    0x8(%ebp),%esi
416f75:	33 c9                	xor    %ecx,%ecx
416f77:	8b 45 0c             	mov    0xc(%ebp),%eax
416f7a:	33 d2                	xor    %edx,%edx
416f7c:	2b c6                	sub    %esi,%eax
416f7e:	33 db                	xor    %ebx,%ebx
416f80:	40                   	inc    %eax
416f81:	d1 e8                	shr    $1,%eax
416f83:	39 75 0c             	cmp    %esi,0xc(%ebp)
416f86:	1b ff                	sbb    %edi,%edi
416f88:	f7 d7                	not    %edi
416f8a:	23 f8                	and    %eax,%edi
416f8c:	74 14                	je     0x416fa2
416f8e:	66 83 3e 0a          	cmpw   $0xa,(%esi)
416f92:	75 06                	jne    0x416f9a
416f94:	83 c1 01             	add    $0x1,%ecx
416f97:	83 d2 00             	adc    $0x0,%edx
416f9a:	83 c6 02             	add    $0x2,%esi
416f9d:	43                   	inc    %ebx
416f9e:	3b df                	cmp    %edi,%ebx
416fa0:	75 ec                	jne    0x416f8e
416fa2:	0f a4 ca 01          	shld   $0x1,%ecx,%edx
416fa6:	03 c9                	add    %ecx,%ecx
416fa8:	8b c1                	mov    %ecx,%eax
416faa:	5f                   	pop    %edi
416fab:	5e                   	pop    %esi
416fac:	5b                   	pop    %ebx
416fad:	5d                   	pop    %ebp
416fae:	c3                   	ret
416faf:	8b ff                	mov    %edi,%edi
416fb1:	55                   	push   %ebp
416fb2:	8b ec                	mov    %esp,%ebp
416fb4:	5d                   	pop    %ebp
416fb5:	e9 24 fa ff ff       	jmp    0x4169de
416fba:	8b ff                	mov    %edi,%edi
416fbc:	55                   	push   %ebp
416fbd:	8b ec                	mov    %esp,%ebp
416fbf:	5d                   	pop    %ebp
416fc0:	e9 99 fa ff ff       	jmp    0x416a5e
416fc5:	8b ff                	mov    %edi,%edi
416fc7:	55                   	push   %ebp
416fc8:	8b ec                	mov    %esp,%ebp
416fca:	ff 75 0c             	push   0xc(%ebp)
416fcd:	e8 bc df ff ff       	call   0x414f8e
416fd2:	8b 45 0c             	mov    0xc(%ebp),%eax
416fd5:	59                   	pop    %ecx
416fd6:	8b 40 0c             	mov    0xc(%eax),%eax
416fd9:	90                   	nop
416fda:	a8 06                	test   $0x6,%al
416fdc:	75 1c                	jne    0x416ffa
416fde:	e8 18 7e ff ff       	call   0x40edfb
416fe3:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
416fe9:	8b 45 0c             	mov    0xc(%ebp),%eax
416fec:	6a 10                	push   $0x10
416fee:	59                   	pop    %ecx
416fef:	83 c0 0c             	add    $0xc,%eax
416ff2:	f0 09 08             	lock or %ecx,(%eax)
416ff5:	83 c8 ff             	or     $0xffffffff,%eax
416ff8:	5d                   	pop    %ebp
416ff9:	c3                   	ret
416ffa:	8b 45 0c             	mov    0xc(%ebp),%eax
416ffd:	8b 40 0c             	mov    0xc(%eax),%eax
417000:	90                   	nop
417001:	c1 e8 0c             	shr    $0xc,%eax
417004:	a8 01                	test   $0x1,%al
417006:	74 0d                	je     0x417015
417008:	e8 ee 7d ff ff       	call   0x40edfb
41700d:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
417013:	eb d4                	jmp    0x416fe9
417015:	8b 45 0c             	mov    0xc(%ebp),%eax
417018:	8b 40 0c             	mov    0xc(%eax),%eax
41701b:	90                   	nop
41701c:	a8 01                	test   $0x1,%al
41701e:	74 28                	je     0x417048
417020:	ff 75 0c             	push   0xc(%ebp)
417023:	e8 59 01 00 00       	call   0x417181
417028:	59                   	pop    %ecx
417029:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41702c:	83 61 08 00          	andl   $0x0,0x8(%ecx)
417030:	84 c0                	test   %al,%al
417032:	8b 45 0c             	mov    0xc(%ebp),%eax
417035:	74 b5                	je     0x416fec
417037:	8b 48 04             	mov    0x4(%eax),%ecx
41703a:	89 08                	mov    %ecx,(%eax)
41703c:	8b 45 0c             	mov    0xc(%ebp),%eax
41703f:	6a fe                	push   $0xfffffffe
417041:	59                   	pop    %ecx
417042:	83 c0 0c             	add    $0xc,%eax
417045:	f0 21 08             	lock and %ecx,(%eax)
417048:	8b 45 0c             	mov    0xc(%ebp),%eax
41704b:	6a 02                	push   $0x2
41704d:	59                   	pop    %ecx
41704e:	83 c0 0c             	add    $0xc,%eax
417051:	f0 09 08             	lock or %ecx,(%eax)
417054:	8b 45 0c             	mov    0xc(%ebp),%eax
417057:	6a f7                	push   $0xfffffff7
417059:	59                   	pop    %ecx
41705a:	83 c0 0c             	add    $0xc,%eax
41705d:	f0 21 08             	lock and %ecx,(%eax)
417060:	8b 45 0c             	mov    0xc(%ebp),%eax
417063:	83 60 08 00          	andl   $0x0,0x8(%eax)
417067:	8b 45 0c             	mov    0xc(%ebp),%eax
41706a:	8b 40 0c             	mov    0xc(%eax),%eax
41706d:	90                   	nop
41706e:	a9 c0 04 00 00       	test   $0x4c0,%eax
417073:	75 16                	jne    0x41708b
417075:	ff 75 0c             	push   0xc(%ebp)
417078:	e8 4d df ff ff       	call   0x414fca
41707d:	59                   	pop    %ecx
41707e:	84 c0                	test   %al,%al
417080:	75 09                	jne    0x41708b
417082:	ff 75 0c             	push   0xc(%ebp)
417085:	e8 de 0c 00 00       	call   0x417d68
41708a:	59                   	pop    %ecx
41708b:	53                   	push   %ebx
41708c:	ff 75 0c             	push   0xc(%ebp)
41708f:	8b 5d 08             	mov    0x8(%ebp),%ebx
417092:	53                   	push   %ebx
417093:	e8 1d 00 00 00       	call   0x4170b5
417098:	59                   	pop    %ecx
417099:	59                   	pop    %ecx
41709a:	84 c0                	test   %al,%al
41709c:	75 11                	jne    0x4170af
41709e:	8b 45 0c             	mov    0xc(%ebp),%eax
4170a1:	6a 10                	push   $0x10
4170a3:	59                   	pop    %ecx
4170a4:	83 c0 0c             	add    $0xc,%eax
4170a7:	f0 09 08             	lock or %ecx,(%eax)
4170aa:	83 c8 ff             	or     $0xffffffff,%eax
4170ad:	eb 03                	jmp    0x4170b2
4170af:	0f b6 c3             	movzbl %bl,%eax
4170b2:	5b                   	pop    %ebx
4170b3:	5d                   	pop    %ebp
4170b4:	c3                   	ret
4170b5:	8b ff                	mov    %edi,%edi
4170b7:	55                   	push   %ebp
4170b8:	8b ec                	mov    %esp,%ebp
4170ba:	56                   	push   %esi
4170bb:	57                   	push   %edi
4170bc:	ff 75 0c             	push   0xc(%ebp)
4170bf:	e8 ca de ff ff       	call   0x414f8e
4170c4:	59                   	pop    %ecx
4170c5:	8b 4d 0c             	mov    0xc(%ebp),%ecx