45cef2:	89 55 d4             	mov    %edx,-0x2c(%ebp)
45cef5:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
45cefc:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45ceff:	89 5d c0             	mov    %ebx,-0x40(%ebp)
45cf02:	89 55 e4             	mov    %edx,-0x1c(%ebp)
45cf05:	66 39 50 08          	cmp    %dx,0x8(%eax)
45cf09:	75 16                	jne    0x45cf21
45cf0b:	83 38 2c             	cmpl   $0x2c,(%eax)
45cf0e:	75 11                	jne    0x45cf21
45cf10:	ff 75 10             	push   0x10(%ebp)
45cf13:	8b cb                	mov    %ebx,%ecx
45cf15:	56                   	push   %esi
45cf16:	57                   	push   %edi
45cf17:	e8 36 06 00 00       	call   0x45d552
45cf1c:	e9 8d 04 00 00       	jmp    0x45d3ae
45cf21:	8d 4d a0             	lea    -0x60(%ebp),%ecx
45cf24:	e8 ce 08 fb ff       	call   0x40d7f7
45cf29:	8b 4f 04             	mov    0x4(%edi),%ecx
45cf2c:	8b 06                	mov    (%esi),%eax
45cf2e:	6a 7f                	push   $0x7f
45cf30:	8b 04 81             	mov    (%ecx,%eax,4),%eax
45cf33:	5a                   	pop    %edx
45cf34:	6a 33                	push   $0x33
45cf36:	89 55 b8             	mov    %edx,-0x48(%ebp)
45cf39:	5a                   	pop    %edx
45cf3a:	66 39 50 08          	cmp    %dx,0x8(%eax)
45cf3e:	6a 7f                	push   $0x7f
45cf40:	89 55 c4             	mov    %edx,-0x3c(%ebp)
45cf43:	5a                   	pop    %edx
45cf44:	0f 85 47 04 00 00    	jne    0x45d391
45cf4a:	c7 45 b0 4e 00 00 00 	movl   $0x4e,-0x50(%ebp)
45cf51:	c7 45 9c 4f 00 00 00 	movl   $0x4f,-0x64(%ebp)
45cf58:	c7 45 b4 47 00 00 00 	movl   $0x47,-0x4c(%ebp)
45cf5f:	c7 45 bc 48 00 00 00 	movl   $0x48,-0x44(%ebp)
45cf66:	c7 45 c8 40 00 00 00 	movl   $0x40,-0x38(%ebp)
45cf6d:	8b 06                	mov    (%esi),%eax
45cf6f:	8b 04 81             	mov    (%ecx,%eax,4),%eax
45cf72:	8d 4d a0             	lea    -0x60(%ebp),%ecx
45cf75:	ff 30                	push   (%eax)
45cf77:	e8 71 9f fa ff       	call   0x406eed
45cf7c:	ff 75 10             	push   0x10(%ebp)
45cf7f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45cf82:	50                   	push   %eax
45cf83:	8d 45 f0             	lea    -0x10(%ebp),%eax
45cf86:	50                   	push   %eax
45cf87:	8d 45 a0             	lea    -0x60(%ebp),%eax
45cf8a:	50                   	push   %eax
45cf8b:	e8 b5 06 fb ff       	call   0x40d645
45cf90:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
45cf94:	0f 85 8b 04 00 00    	jne    0x45d425
45cf9a:	68 00 dc 49 00       	push   $0x49dc00
45cf9f:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45cfa2:	e8 12 fe fa ff       	call   0x40cdb9
45cfa7:	ff 75 10             	push   0x10(%ebp)
45cfaa:	8d 45 cc             	lea    -0x34(%ebp),%eax
45cfad:	68 00 01 00 00       	push   $0x100
45cfb2:	50                   	push   %eax
45cfb3:	8d 45 a0             	lea    -0x60(%ebp),%eax
45cfb6:	50                   	push   %eax
45cfb7:	e8 2d 07 fb ff       	call   0x40d6e9
45cfbc:	ff 75 10             	push   0x10(%ebp)
45cfbf:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45cfc2:	50                   	push   %eax
45cfc3:	8d 45 f0             	lea    -0x10(%ebp),%eax
45cfc6:	50                   	push   %eax
45cfc7:	8d 45 a0             	lea    -0x60(%ebp),%eax
45cfca:	50                   	push   %eax
45cfcb:	e8 75 06 fb ff       	call   0x40d645
45cfd0:	ff 06                	incl   (%esi)
45cfd2:	8b 0e                	mov    (%esi),%ecx
45cfd4:	8b 47 04             	mov    0x4(%edi),%eax
45cfd7:	6a 4e                	push   $0x4e
45cfd9:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45cfdc:	59                   	pop    %ecx
45cfdd:	66 39 48 08          	cmp    %cx,0x8(%eax)
45cfe1:	0f 85 0f 01 00 00    	jne    0x45d0f6
45cfe7:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
45cfeb:	ff 06                	incl   (%esi)
45cfed:	8b 0e                	mov    (%esi),%ecx
45cfef:	8b 47 04             	mov    0x4(%edi),%eax
45cff2:	6a 4f                	push   $0x4f
45cff4:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45cff7:	0f bf 48 0a          	movswl 0xa(%eax),%ecx
45cffb:	89 4d f4             	mov    %ecx,-0xc(%ebp)
45cffe:	59                   	pop    %ecx
45cfff:	66 39 48 08          	cmp    %cx,0x8(%eax)
45d003:	75 30                	jne    0x45d035
45d005:	83 ec 10             	sub    $0x10,%esp
45d008:	8b cc                	mov    %esp,%ecx
45d00a:	57                   	push   %edi
45d00b:	e8 cc fc ff ff       	call   0x45ccdc
45d010:	6a 00                	push   $0x0
45d012:	ff 36                	push   (%esi)
45d014:	ff 75 e8             	push   -0x18(%ebp)
45d017:	e8 71 1d 00 00       	call   0x45ed8d
45d01c:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45d01f:	8b f0                	mov    %eax,%esi
45d021:	e8 fa 5b fb ff       	call   0x412c20
45d026:	89 75 cc             	mov    %esi,-0x34(%ebp)
45d029:	8b 75 0c             	mov    0xc(%ebp),%esi
45d02c:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
45d033:	eb 17                	jmp    0x45d04c
45d035:	6a ff                	push   $0xffffffff
45d037:	8d 45 cc             	lea    -0x34(%ebp),%eax
45d03a:	50                   	push   %eax
45d03b:	56                   	push   %esi
45d03c:	57                   	push   %edi
45d03d:	8b cb                	mov    %ebx,%ecx
45d03f:	e8 ec 2d fb ff       	call   0x40fe30
45d044:	85 c0                	test   %eax,%eax
45d046:	0f 88 89 03 00 00    	js     0x45d3d5
45d04c:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45d04f:	e8 32 02 fb ff       	call   0x40d286
45d054:	85 c0                	test   %eax,%eax
45d056:	0f 88 79 03 00 00    	js     0x45d3d5
45d05c:	8b 0e                	mov    (%esi),%ecx
45d05e:	8b 47 04             	mov    0x4(%edi),%eax
45d061:	6a 4f                	push   $0x4f
45d063:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45d066:	5a                   	pop    %edx
45d067:	66 39 50 08          	cmp    %dx,0x8(%eax)
45d06b:	0f 85 64 03 00 00    	jne    0x45d3d5
45d071:	8d 41 01             	lea    0x1(%ecx),%eax
45d074:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45d077:	89 06                	mov    %eax,(%esi)
45d079:	e8 08 02 fb ff       	call   0x40d286
45d07e:	8b 55 e8             	mov    -0x18(%ebp),%edx
45d081:	8b 0e                	mov    (%esi),%ecx
45d083:	89 84 95 9c fe ff ff 	mov    %eax,-0x164(%ebp,%edx,4)
45d08a:	8b 47 04             	mov    0x4(%edi),%eax
45d08d:	6a 4e                	push   $0x4e
45d08f:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45d092:	42                   	inc    %edx
45d093:	59                   	pop    %ecx
45d094:	89 55 e8             	mov    %edx,-0x18(%ebp)
45d097:	89 55 e0             	mov    %edx,-0x20(%ebp)
45d09a:	66 39 48 08          	cmp    %cx,0x8(%eax)
45d09e:	0f 84 47 ff ff ff    	je     0x45cfeb
45d0a4:	83 fa 01             	cmp    $0x1,%edx
45d0a7:	0f 8c 21 03 00 00    	jl     0x45d3ce
45d0ad:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45d0b0:	e8 a7 f0 fb ff       	call   0x41c15c
45d0b5:	33 c0                	xor    %eax,%eax
45d0b7:	89 45 ec             	mov    %eax,-0x14(%ebp)
45d0ba:	39 45 e8             	cmp    %eax,-0x18(%ebp)
45d0bd:	7e 23                	jle    0x45d0e2
45d0bf:	ff b4 85 9c fe ff ff 	push   -0x164(%ebp,%eax,4)
45d0c6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45d0c9:	e8 a9 f0 fb ff       	call   0x41c177
45d0ce:	84 c0                	test   %al,%al
45d0d0:	0f 84 e7 02 00 00    	je     0x45d3bd
45d0d6:	8b 45 ec             	mov    -0x14(%ebp),%eax
45d0d9:	40                   	inc    %eax
45d0da:	89 45 ec             	mov    %eax,-0x14(%ebp)
45d0dd:	3b 45 e8             	cmp    -0x18(%ebp),%eax
45d0e0:	7c dd                	jl     0x45d0bf
45d0e2:	6a 00                	push   $0x0
45d0e4:	ff 75 f0             	push   -0x10(%ebp)
45d0e7:	e8 64 ef fb ff       	call   0x41c050
45d0ec:	59                   	pop    %ecx
45d0ed:	59                   	pop    %ecx
45d0ee:	84 c0                	test   %al,%al
45d0f0:	0f 84 ce 02 00 00    	je     0x45d3c4
45d0f6:	8b 0e                	mov    (%esi),%ecx
45d0f8:	8b 57 04             	mov    0x4(%edi),%edx
45d0fb:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45d0fe:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
45d103:	0f 85 0d 03 00 00    	jne    0x45d416
45d109:	8d 41 01             	lea    0x1(%ecx),%eax
45d10c:	89 45 f4             	mov    %eax,-0xc(%ebp)
45d10f:	89 06                	mov    %eax,(%esi)
45d111:	8b 04 82             	mov    (%edx,%eax,4),%eax
45d114:	6a 4e                	push   $0x4e
45d116:	0f bf 48 0a          	movswl 0xa(%eax),%ecx
45d11a:	89 4d ec             	mov    %ecx,-0x14(%ebp)
45d11d:	59                   	pop    %ecx
45d11e:	66 39 48 08          	cmp    %cx,0x8(%eax)
45d122:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45d125:	6a 05                	push   $0x5
45d127:	0f 85 81 01 00 00    	jne    0x45d2ae
45d12d:	e8 b2 04 fb ff       	call   0x40d5e4
45d132:	84 c0                	test   %al,%al
45d134:	0f 85 aa 00 00 00    	jne    0x45d1e4
45d13a:	8b 45 f4             	mov    -0xc(%ebp),%eax
45d13d:	83 ec 10             	sub    $0x10,%esp
45d140:	48                   	dec    %eax
45d141:	8b cc                	mov    %esp,%ecx
45d143:	57                   	push   %edi
45d144:	89 06                	mov    %eax,(%esi)
45d146:	e8 91 fb ff ff       	call   0x45ccdc
45d14b:	8d 45 e0             	lea    -0x20(%ebp),%eax
45d14e:	50                   	push   %eax
45d14f:	ff 36                	push   (%esi)
45d151:	6a 00                	push   $0x0
45d153:	e8 35 1c 00 00       	call   0x45ed8d
45d158:	33 c9                	xor    %ecx,%ecx
45d15a:	89 85 9c fe ff ff    	mov    %eax,-0x164(%ebp)
45d160:	8b 45 e0             	mov    -0x20(%ebp),%eax
45d163:	41                   	inc    %ecx
45d164:	89 45 e8             	mov    %eax,-0x18(%ebp)
45d167:	3b c1                	cmp    %ecx,%eax
45d169:	7e 27                	jle    0x45d192
45d16b:	8b d9                	mov    %ecx,%ebx
45d16d:	83 ec 10             	sub    $0x10,%esp
45d170:	8b cc                	mov    %esp,%ecx
45d172:	57                   	push   %edi
45d173:	e8 64 fb ff ff       	call   0x45ccdc
45d178:	6a 00                	push   $0x0
45d17a:	ff 36                	push   (%esi)
45d17c:	53                   	push   %ebx
45d17d:	e8 0b 1c 00 00       	call   0x45ed8d
45d182:	89 84 9d 9c fe ff ff 	mov    %eax,-0x164(%ebp,%ebx,4)
45d189:	43                   	inc    %ebx
45d18a:	3b 5d e8             	cmp    -0x18(%ebp),%ebx
45d18d:	7c de                	jl     0x45d16d
45d18f:	8b 5d c0             	mov    -0x40(%ebp),%ebx
45d192:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45d195:	e8 c2 ef fb ff       	call   0x41c15c
45d19a:	33 c0                	xor    %eax,%eax
45d19c:	89 45 f8             	mov    %eax,-0x8(%ebp)
45d19f:	39 45 e8             	cmp    %eax,-0x18(%ebp)
45d1a2:	7e 23                	jle    0x45d1c7
45d1a4:	ff b4 85 9c fe ff ff 	push   -0x164(%ebp,%eax,4)
45d1ab:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45d1ae:	e8 c4 ef fb ff       	call   0x41c177
45d1b3:	84 c0                	test   %al,%al
45d1b5:	0f 84 21 02 00 00    	je     0x45d3dc
45d1bb:	8b 45 f8             	mov    -0x8(%ebp),%eax
45d1be:	40                   	inc    %eax
45d1bf:	89 45 f8             	mov    %eax,-0x8(%ebp)
45d1c2:	3b 45 e8             	cmp    -0x18(%ebp),%eax
45d1c5:	7c dd                	jl     0x45d1a4
45d1c7:	6a 00                	push   $0x0
45d1c9:	ff 75 f0             	push   -0x10(%ebp)
45d1cc:	e8 7f ee fb ff       	call   0x41c050
45d1d1:	59                   	pop    %ecx
45d1d2:	59                   	pop    %ecx
45d1d3:	84 c0                	test   %al,%al
45d1d5:	0f 84 06 02 00 00    	je     0x45d3e1
45d1db:	ff 06                	incl   (%esi)
45d1dd:	8b 16                	mov    (%esi),%edx
45d1df:	89 55 f4             	mov    %edx,-0xc(%ebp)
45d1e2:	eb 03                	jmp    0x45d1e7
45d1e4:	8b 55 f4             	mov    -0xc(%ebp),%edx
45d1e7:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
45d1eb:	3b 57 08             	cmp    0x8(%edi),%edx
45d1ee:	0f 83 82 00 00 00    	jae    0x45d276
45d1f4:	8b 47 04             	mov    0x4(%edi),%eax
45d1f7:	8d 04 90             	lea    (%eax,%edx,4),%eax
45d1fa:	89 45 ec             	mov    %eax,-0x14(%ebp)
45d1fd:	8b 08                	mov    (%eax),%ecx
45d1ff:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
45d203:	89 45 dc             	mov    %eax,-0x24(%ebp)
45d206:	66 3b 45 c4          	cmp    -0x3c(%ebp),%ax
45d20a:	75 18                	jne    0x45d224
45d20c:	8b 09                	mov    (%ecx),%ecx
45d20e:	8d 55 a0             	lea    -0x60(%ebp),%edx
45d211:	e8 10 97 fa ff       	call   0x406926
45d216:	84 c0                	test   %al,%al
45d218:	0f 85 c8 01 00 00    	jne    0x45d3e6
45d21e:	8b 45 dc             	mov    -0x24(%ebp),%eax
45d221:	8b 55 f4             	mov    -0xc(%ebp),%edx
45d224:	6a 4e                	push   $0x4e
45d226:	59                   	pop    %ecx
45d227:	66 3b c1             	cmp    %cx,%ax
45d22a:	74 35                	je     0x45d261
45d22c:	6a 47                	push   $0x47
45d22e:	59                   	pop    %ecx
45d22f:	66 3b c1             	cmp    %cx,%ax
45d232:	74 2d                	je     0x45d261
45d234:	6a 4f                	push   $0x4f
45d236:	59                   	pop    %ecx
45d237:	66 3b c1             	cmp    %cx,%ax
45d23a:	74 20                	je     0x45d25c
45d23c:	6a 48                	push   $0x48
45d23e:	59                   	pop    %ecx
45d23f:	66 3b c1             	cmp    %cx,%ax
45d242:	74 18                	je     0x45d25c
45d244:	6a 40                	push   $0x40
45d246:	59                   	pop    %ecx
45d247:	66 3b c1             	cmp    %cx,%ax
45d24a:	75 06                	jne    0x45d252
45d24c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
45d250:	74 24                	je     0x45d276
45d252:	6a 7f                	push   $0x7f
45d254:	59                   	pop    %ecx
45d255:	66 3b c1             	cmp    %cx,%ax
45d258:	74 1c                	je     0x45d276
45d25a:	eb 08                	jmp    0x45d264
45d25c:	ff 4d f8             	decl   -0x8(%ebp)
45d25f:	eb 03                	jmp    0x45d264
45d261:	ff 45 f8             	incl   -0x8(%ebp)
45d264:	8b 45 ec             	mov    -0x14(%ebp),%eax
45d267:	42                   	inc    %edx
45d268:	83 c0 04             	add    $0x4,%eax
45d26b:	89 55 f4             	mov    %edx,-0xc(%ebp)
45d26e:	89 45 ec             	mov    %eax,-0x14(%ebp)
45d271:	3b 57 08             	cmp    0x8(%edi),%edx
45d274:	72 87                	jb     0x45d1fd
45d276:	8b 45 e8             	mov    -0x18(%ebp),%eax
45d279:	85 c0                	test   %eax,%eax
45d27b:	7e 0f                	jle    0x45d28c
45d27d:	8b c8                	mov    %eax,%ecx
45d27f:	33 c0                	xor    %eax,%eax
45d281:	8d bd 9c fe ff ff    	lea    -0x164(%ebp),%edi
45d287:	f3 ab                	rep stos %eax,%es:(%edi)
45d289:	8b 7d 08             	mov    0x8(%ebp),%edi
45d28c:	6a 01                	push   $0x1
45d28e:	8d 85 9c fe ff ff    	lea    -0x164(%ebp),%eax
45d294:	50                   	push   %eax
45d295:	ff 75 f0             	push   -0x10(%ebp)
45d298:	8b cb                	mov    %ebx,%ecx
45d29a:	56                   	push   %esi
45d29b:	57                   	push   %edi
45d29c:	e8 2a ec fb ff       	call   0x41becb
45d2a1:	84 c0                	test   %al,%al
45d2a3:	0f 84 fd 00 00 00    	je     0x45d3a6
45d2a9:	e9 b3 00 00 00       	jmp    0x45d361
45d2ae:	e8 31 03 fb ff       	call   0x40d5e4
45d2b3:	84 c0                	test   %al,%al
45d2b5:	0f 85 56 01 00 00    	jne    0x45d411
45d2bb:	8b 45 f4             	mov    -0xc(%ebp),%eax
45d2be:	33 c9                	xor    %ecx,%ecx
45d2c0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45d2c3:	3b 47 08             	cmp    0x8(%edi),%eax
45d2c6:	73 6f                	jae    0x45d337
45d2c8:	6a 7f                	push   $0x7f
45d2ca:	8b d8                	mov    %eax,%ebx
45d2cc:	5a                   	pop    %edx
45d2cd:	8b 47 04             	mov    0x4(%edi),%eax
45d2d0:	8b 04 98             	mov    (%eax,%ebx,4),%eax
45d2d3:	89 45 dc             	mov    %eax,-0x24(%ebp)
45d2d6:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45d2da:	66 3b c2             	cmp    %dx,%ax
45d2dd:	74 55                	je     0x45d334
45d2df:	66 3b 45 b0          	cmp    -0x50(%ebp),%ax
45d2e3:	74 45                	je     0x45d32a
45d2e5:	66 3b 45 b4          	cmp    -0x4c(%ebp),%ax
45d2e9:	74 3f                	je     0x45d32a
45d2eb:	66 3b 45 9c          	cmp    -0x64(%ebp),%ax
45d2ef:	74 36                	je     0x45d327
45d2f1:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
45d2f5:	74 30                	je     0x45d327
45d2f7:	66 3b 45 c8          	cmp    -0x38(%ebp),%ax
45d2fb:	75 04                	jne    0x45d301
45d2fd:	85 c9                	test   %ecx,%ecx
45d2ff:	74 33                	je     0x45d334
45d301:	66 3b 45 c4          	cmp    -0x3c(%ebp),%ax
45d305:	75 27                	jne    0x45d32e
45d307:	8b 4d dc             	mov    -0x24(%ebp),%ecx