40cdb3:	6a ff                	push   $0xffffffff
40cdb5:	68 a0 00 00 00       	push   $0xa0
40cdba:	e9 33 5b 03 00       	jmp    0x4428f2
40cdbf:	6a ff                	push   $0xffffffff
40cdc1:	68 b4 00 00 00       	push   $0xb4
40cdc6:	e9 27 5b 03 00       	jmp    0x4428f2
40cdcb:	6a ff                	push   $0xffffffff
40cdcd:	6a 73                	push   $0x73
40cdcf:	e9 1e 5b 03 00       	jmp    0x4428f2
40cdd4:	55                   	push   %ebp
40cdd5:	8b ec                	mov    %esp,%ebp
40cdd7:	83 ec 14             	sub    $0x14,%esp
40cdda:	53                   	push   %ebx
40cddb:	56                   	push   %esi
40cddc:	57                   	push   %edi
40cddd:	8b 7d 0c             	mov    0xc(%ebp),%edi
40cde0:	8b f1                	mov    %ecx,%esi
40cde2:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cde5:	33 db                	xor    %ebx,%ebx
40cde7:	6a 7f                	push   $0x7f
40cde9:	43                   	inc    %ebx
40cdea:	ff 07                	incl   (%edi)
40cdec:	8b 17                	mov    (%edi),%edx
40cdee:	8b 41 04             	mov    0x4(%ecx),%eax
40cdf1:	8b 04 90             	mov    (%eax,%edx,4),%eax
40cdf4:	5a                   	pop    %edx
40cdf5:	66 39 50 08          	cmp    %dx,0x8(%eax)
40cdf9:	0f 85 40 5b 03 00    	jne    0x44293f
40cdff:	89 1d 70 62 4c 00    	mov    %ebx,0x4c6270
40ce05:	88 9e 44 01 00 00    	mov    %bl,0x144(%esi)
40ce0b:	89 9e f8 00 00 00    	mov    %ebx,0xf8(%esi)
40ce11:	5f                   	pop    %edi
40ce12:	5e                   	pop    %esi
40ce13:	5b                   	pop    %ebx
40ce14:	8b e5                	mov    %ebp,%esp
40ce16:	5d                   	pop    %ebp
40ce17:	c2 08 00             	ret    $0x8
40ce1a:	55                   	push   %ebp
40ce1b:	8b ec                	mov    %esp,%ebp
40ce1d:	83 ec 14             	sub    $0x14,%esp
40ce20:	53                   	push   %ebx
40ce21:	56                   	push   %esi
40ce22:	57                   	push   %edi
40ce23:	8b f9                	mov    %ecx,%edi
40ce25:	83 bf ec 00 00 00 01 	cmpl   $0x1,0xec(%edi)
40ce2c:	0f 84 97 5b 03 00    	je     0x4429c9
40ce32:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40ce35:	8b 55 08             	mov    0x8(%ebp),%edx
40ce38:	6a 7f                	push   $0x7f
40ce3a:	ff 03                	incl   (%ebx)
40ce3c:	8b 0b                	mov    (%ebx),%ecx
40ce3e:	8b 42 04             	mov    0x4(%edx),%eax
40ce41:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40ce44:	59                   	pop    %ecx
40ce45:	66 39 48 08          	cmp    %cx,0x8(%eax)
40ce49:	74 53                	je     0x40ce9e
40ce4b:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
40ce4f:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ce52:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40ce56:	8b cf                	mov    %edi,%ecx
40ce58:	6a ff                	push   $0xffffffff
40ce5a:	50                   	push   %eax
40ce5b:	53                   	push   %ebx
40ce5c:	52                   	push   %edx
40ce5d:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40ce64:	e8 97 d1 ff ff       	call   0x40a000
40ce69:	85 c0                	test   %eax,%eax
40ce6b:	78 4b                	js     0x40ceb8
40ce6d:	8b 07                	mov    (%edi),%eax
40ce6f:	8b 70 04             	mov    0x4(%eax),%esi
40ce72:	03 f7                	add    %edi,%esi
40ce74:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
40ce78:	75 48                	jne    0x40cec2
40ce7a:	8b 4e 08             	mov    0x8(%esi),%ecx
40ce7d:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ce80:	50                   	push   %eax
40ce81:	e8 16 d0 ff ff       	call   0x409e9c
40ce86:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
40ce8a:	8b 46 08             	mov    0x8(%esi),%eax
40ce8d:	75 3b                	jne    0x40ceca
40ce8f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40ce92:	c6 40 10 01          	movb   $0x1,0x10(%eax)
40ce96:	e8 85 cb ff ff       	call   0x409a20
40ce9b:	8b 55 08             	mov    0x8(%ebp),%edx
40ce9e:	8b 0b                	mov    (%ebx),%ecx
40cea0:	8b 42 04             	mov    0x4(%edx),%eax
40cea3:	6a 7f                	push   $0x7f
40cea5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40cea8:	59                   	pop    %ecx
40cea9:	66 39 48 08          	cmp    %cx,0x8(%eax)
40cead:	75 20                	jne    0x40cecf
40ceaf:	5f                   	pop    %edi
40ceb0:	5e                   	pop    %esi
40ceb1:	5b                   	pop    %ebx
40ceb2:	8b e5                	mov    %ebp,%esp
40ceb4:	5d                   	pop    %ebp
40ceb5:	c2 08 00             	ret    $0x8
40ceb8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40cebb:	e8 60 cb ff ff       	call   0x409a20
40cec0:	eb ed                	jmp    0x40ceaf
40cec2:	8b 46 08             	mov    0x8(%esi),%eax
40cec5:	8b 48 38             	mov    0x38(%eax),%ecx
40cec8:	eb b3                	jmp    0x40ce7d
40ceca:	8b 40 38             	mov    0x38(%eax),%eax
40cecd:	eb c0                	jmp    0x40ce8f
40cecf:	0f bf 40 0a          	movswl 0xa(%eax),%eax
40ced3:	8b cf                	mov    %edi,%ecx
40ced5:	50                   	push   %eax
40ced6:	6a 72                	push   $0x72
40ced8:	e9 04 5b 03 00       	jmp    0x4429e1
40cedd:	55                   	push   %ebp
40cede:	8b ec                	mov    %esp,%ebp
40cee0:	83 ec 30             	sub    $0x30,%esp
40cee3:	8b 45 10             	mov    0x10(%ebp),%eax
40cee6:	53                   	push   %ebx
40cee7:	56                   	push   %esi
40cee8:	8b 75 0c             	mov    0xc(%ebp),%esi
40ceeb:	33 db                	xor    %ebx,%ebx
40ceed:	57                   	push   %edi
40ceee:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40cef1:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
40cef4:	ff 06                	incl   (%esi)
40cef6:	83 78 0c 05          	cmpl   $0x5,0xc(%eax)
40cefa:	8b 16                	mov    (%esi),%edx
40cefc:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40ceff:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
40cf06:	0f 85 31 01 00 00    	jne    0x40d03d
40cf0c:	8b 00                	mov    (%eax),%eax
40cf0e:	89 45 f4             	mov    %eax,-0xc(%ebp)
40cf11:	8b 7d 08             	mov    0x8(%ebp),%edi
40cf14:	3b 57 08             	cmp    0x8(%edi),%edx
40cf17:	0f 83 0d 01 00 00    	jae    0x40d02a
40cf1d:	c7 45 ec 4e 00 00 00 	movl   $0x4e,-0x14(%ebp)
40cf24:	c7 45 e8 4f 00 00 00 	movl   $0x4f,-0x18(%ebp)
40cf2b:	8b 00                	mov    (%eax),%eax
40cf2d:	8b 80 0c 01 00 00    	mov    0x10c(%eax),%eax
40cf33:	89 45 f0             	mov    %eax,-0x10(%ebp)
40cf36:	8b 45 18             	mov    0x18(%ebp),%eax
40cf39:	3b 45 f0             	cmp    -0x10(%ebp),%eax
40cf3c:	0f 8f f1 5a 03 00    	jg     0x442a33
40cf42:	8b 4f 04             	mov    0x4(%edi),%ecx
40cf45:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
40cf48:	0f b7 49 08          	movzwl 0x8(%ecx),%ecx
40cf4c:	66 3b 4d ec          	cmp    -0x14(%ebp),%cx
40cf50:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40cf53:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40cf56:	0f 84 8f 5a 03 00    	je     0x4429eb
40cf5c:	3b 45 f0             	cmp    -0x10(%ebp),%eax
40cf5f:	0f 8c bf 5a 03 00    	jl     0x442a24
40cf65:	8b 77 04             	mov    0x4(%edi),%esi
40cf68:	8b 04 96             	mov    (%esi,%edx,4),%eax
40cf6b:	8b 75 0c             	mov    0xc(%ebp),%esi
40cf6e:	0f bf 40 0a          	movswl 0xa(%eax),%eax
40cf72:	89 45 f0             	mov    %eax,-0x10(%ebp)
40cf75:	8b 45 e8             	mov    -0x18(%ebp),%eax
40cf78:	66 39 45 e4          	cmp    %ax,-0x1c(%ebp)
40cf7c:	0f 84 89 5a 03 00    	je     0x442a0b
40cf82:	6a ff                	push   $0xffffffff
40cf84:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40cf87:	50                   	push   %eax
40cf88:	56                   	push   %esi
40cf89:	57                   	push   %edi
40cf8a:	e8 71 d0 ff ff       	call   0x40a000
40cf8f:	85 c0                	test   %eax,%eax
40cf91:	0f 88 93 00 00 00    	js     0x40d02a
40cf97:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
40cf9b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40cf9e:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40cfa1:	8b 01                	mov    (%ecx),%eax
40cfa3:	89 98 10 02 00 00    	mov    %ebx,0x210(%eax)
40cfa9:	7e 1d                	jle    0x40cfc8
40cfab:	8b 75 18             	mov    0x18(%ebp),%esi
40cfae:	8b fb                	mov    %ebx,%edi
40cfb0:	8b 5d 14             	mov    0x14(%ebp),%ebx
40cfb3:	ff 34 bb             	push   (%ebx,%edi,4)
40cfb6:	e8 d1 c2 ff ff       	call   0x40928c
40cfbb:	47                   	inc    %edi
40cfbc:	3b fe                	cmp    %esi,%edi
40cfbe:	7c f3                	jl     0x40cfb3
40cfc0:	8b 75 0c             	mov    0xc(%ebp),%esi
40cfc3:	33 db                	xor    %ebx,%ebx
40cfc5:	8b 7d 08             	mov    0x8(%ebp),%edi
40cfc8:	53                   	push   %ebx
40cfc9:	6a 02                	push   $0x2
40cfcb:	51                   	push   %ecx
40cfcc:	e8 cf be ff ff       	call   0x408ea0
40cfd1:	83 c4 0c             	add    $0xc,%esp
40cfd4:	85 c0                	test   %eax,%eax
40cfd6:	74 7b                	je     0x40d053
40cfd8:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40cfdb:	51                   	push   %ecx
40cfdc:	8b c8                	mov    %eax,%ecx
40cfde:	e8 b9 ce ff ff       	call   0x409e9c
40cfe3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40cfe6:	8b 16                	mov    (%esi),%edx
40cfe8:	8b 47 04             	mov    0x4(%edi),%eax
40cfeb:	8b 04 90             	mov    (%eax,%edx,4),%eax
40cfee:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
40cff3:	75 1e                	jne    0x40d013
40cff5:	8b 45 18             	mov    0x18(%ebp),%eax
40cff8:	8b 4d 14             	mov    0x14(%ebp),%ecx
40cffb:	ff 44 81 fc          	incl   -0x4(%ecx,%eax,4)
40cfff:	42                   	inc    %edx
40d000:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40d003:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d006:	89 16                	mov    %edx,(%esi)
40d008:	3b 57 08             	cmp    0x8(%edi),%edx
40d00b:	0f 82 1a ff ff ff    	jb     0x40cf2b
40d011:	eb 17                	jmp    0x40d02a
40d013:	8b 47 04             	mov    0x4(%edi),%eax
40d016:	8b 7d e8             	mov    -0x18(%ebp),%edi
40d019:	8b 04 90             	mov    (%eax,%edx,4),%eax
40d01c:	66 39 78 08          	cmp    %di,0x8(%eax)
40d020:	75 25                	jne    0x40d047
40d022:	8d 42 01             	lea    0x1(%edx),%eax
40d025:	33 db                	xor    %ebx,%ebx
40d027:	89 06                	mov    %eax,(%esi)
40d029:	43                   	inc    %ebx
40d02a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40d02d:	e8 ee c9 ff ff       	call   0x409a20
40d032:	5f                   	pop    %edi
40d033:	5e                   	pop    %esi
40d034:	8a c3                	mov    %bl,%al
40d036:	5b                   	pop    %ebx
40d037:	8b e5                	mov    %ebp,%esp
40d039:	5d                   	pop    %ebp
40d03a:	c2 14 00             	ret    $0x14
40d03d:	8b c3                	mov    %ebx,%eax
40d03f:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40d042:	e9 ca fe ff ff       	jmp    0x40cf11
40d047:	0f bf 40 0a          	movswl 0xa(%eax),%eax
40d04b:	50                   	push   %eax
40d04c:	6a 6b                	push   $0x6b
40d04e:	e9 ed 59 03 00       	jmp    0x442a40
40d053:	ff 75 f0             	push   -0x10(%ebp)
40d056:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40d059:	6a 7a                	push   $0x7a
40d05b:	e9 e0 59 03 00       	jmp    0x442a40
40d060:	55                   	push   %ebp
40d061:	8b ec                	mov    %esp,%ebp
40d063:	51                   	push   %ecx
40d064:	51                   	push   %ecx
40d065:	8b 45 08             	mov    0x8(%ebp),%eax
40d068:	53                   	push   %ebx
40d069:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40d06c:	56                   	push   %esi
40d06d:	8b 50 08             	mov    0x8(%eax),%edx
40d070:	57                   	push   %edi
40d071:	33 ff                	xor    %edi,%edi
40d073:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40d076:	89 55 fc             	mov    %edx,-0x4(%ebp)
40d079:	3b da                	cmp    %edx,%ebx
40d07b:	73 48                	jae    0x40d0c5
40d07d:	8b 40 04             	mov    0x4(%eax),%eax
40d080:	8d 0c 98             	lea    (%eax,%ebx,4),%ecx
40d083:	89 4d 08             	mov    %ecx,0x8(%ebp)
40d086:	8b 01                	mov    (%ecx),%eax
40d088:	0f b7 70 08          	movzwl 0x8(%eax),%esi
40d08c:	66 83 fe 33          	cmp    $0x33,%si
40d090:	0f 84 b4 59 03 00    	je     0x442a4a
40d096:	66 83 fe 4e          	cmp    $0x4e,%si
40d09a:	74 3d                	je     0x40d0d9
40d09c:	66 83 fe 4f          	cmp    $0x4f,%si
40d0a0:	74 34                	je     0x40d0d6
40d0a2:	66 83 fe 47          	cmp    $0x47,%si
40d0a6:	74 31                	je     0x40d0d9
40d0a8:	66 83 fe 48          	cmp    $0x48,%si
40d0ac:	74 28                	je     0x40d0d6
40d0ae:	66 83 fe 40          	cmp    $0x40,%si
40d0b2:	74 1c                	je     0x40d0d0
40d0b4:	66 83 fe 7f          	cmp    $0x7f,%si
40d0b8:	74 0b                	je     0x40d0c5
40d0ba:	43                   	inc    %ebx
40d0bb:	83 c1 04             	add    $0x4,%ecx
40d0be:	89 4d 08             	mov    %ecx,0x8(%ebp)
40d0c1:	3b da                	cmp    %edx,%ebx
40d0c3:	72 c1                	jb     0x40d086
40d0c5:	33 c0                	xor    %eax,%eax
40d0c7:	5f                   	pop    %edi
40d0c8:	5e                   	pop    %esi
40d0c9:	5b                   	pop    %ebx
40d0ca:	8b e5                	mov    %ebp,%esp
40d0cc:	5d                   	pop    %ebp
40d0cd:	c2 0c 00             	ret    $0xc
40d0d0:	85 ff                	test   %edi,%edi
40d0d2:	75 e0                	jne    0x40d0b4
40d0d4:	eb ef                	jmp    0x40d0c5
40d0d6:	4f                   	dec    %edi
40d0d7:	eb e1                	jmp    0x40d0ba
40d0d9:	47                   	inc    %edi
40d0da:	eb de                	jmp    0x40d0ba
40d0dc:	55                   	push   %ebp
40d0dd:	8b ec                	mov    %esp,%ebp
40d0df:	83 ec 28             	sub    $0x28,%esp
40d0e2:	8b 55 18             	mov    0x18(%ebp),%edx
40d0e5:	33 c0                	xor    %eax,%eax
40d0e7:	83 4d f4 ff          	orl    $0xffffffff,-0xc(%ebp)
40d0eb:	53                   	push   %ebx
40d0ec:	89 45 dc             	mov    %eax,-0x24(%ebp)
40d0ef:	8b d9                	mov    %ecx,%ebx
40d0f1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40d0f4:	89 02                	mov    %eax,(%edx)
40d0f6:	8b 45 08             	mov    0x8(%ebp),%eax
40d0f9:	56                   	push   %esi
40d0fa:	8b 75 0c             	mov    0xc(%ebp),%esi
40d0fd:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40d104:	8b 40 04             	mov    0x4(%eax),%eax
40d107:	57                   	push   %edi
40d108:	8b 0e                	mov    (%esi),%ecx
40d10a:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40d10d:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40d110:	0f bf 78 0a          	movswl 0xa(%eax),%edi
40d114:	89 7d f8             	mov    %edi,-0x8(%ebp)
40d117:	6a 4e                	push   $0x4e
40d119:	59                   	pop    %ecx
40d11a:	66 39 48 08          	cmp    %cx,0x8(%eax)
40d11e:	0f 85 a5 00 00 00    	jne    0x40d1c9
40d124:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d127:	ff 06                	incl   (%esi)
40d129:	8b 3e                	mov    (%esi),%edi
40d12b:	89 7d f0             	mov    %edi,-0x10(%ebp)
40d12e:	8b 41 04             	mov    0x4(%ecx),%eax
40d131:	6a 4f                	push   $0x4f
40d133:	8b 04 b8             	mov    (%eax,%edi,4),%eax
40d136:	0f bf 78 0a          	movswl 0xa(%eax),%edi
40d13a:	89 7d f8             	mov    %edi,-0x8(%ebp)
40d13d:	5f                   	pop    %edi
40d13e:	66 39 78 08          	cmp    %di,0x8(%eax)
40d142:	8b 7d f8             	mov    -0x8(%ebp),%edi
40d145:	0f 84 34 59 03 00    	je     0x442a7f
40d14b:	6a ff                	push   $0xffffffff
40d14d:	8d 45 dc             	lea    -0x24(%ebp),%eax
40d150:	50                   	push   %eax
40d151:	56                   	push   %esi
40d152:	51                   	push   %ecx
40d153:	8b cb                	mov    %ebx,%ecx
40d155:	e8 a6 ce ff ff       	call   0x40a000
40d15a:	85 c0                	test   %eax,%eax
40d15c:	0f 88 d7 00 00 00    	js     0x40d239
40d162:	8b 45 08             	mov    0x8(%ebp),%eax
40d165:	8b 0e                	mov    (%esi),%ecx
40d167:	6a 4f                	push   $0x4f
40d169:	5a                   	pop    %edx
40d16a:	8b 40 04             	mov    0x4(%eax),%eax
40d16d:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40d170:	66 39 50 08          	cmp    %dx,0x8(%eax)
40d174:	0f 85 bf 00 00 00    	jne    0x40d239
40d17a:	8b 45 18             	mov    0x18(%ebp),%eax
40d17d:	83 38 40             	cmpl   $0x40,(%eax)
40d180:	0f 8f b3 00 00 00    	jg     0x40d239