45d01a:	74 11                	je     0x45d02d
45d01c:	8b cf                	mov    %edi,%ecx
45d01e:	eb 8e                	jmp    0x45cfae
45d020:	8b 4e 40             	mov    0x40(%esi),%ecx
45d023:	85 c9                	test   %ecx,%ecx
45d025:	74 06                	je     0x45d02d
45d027:	51                   	push   %ecx
45d028:	e8 c3 a3 ff ff       	call   0x4573f0
45d02d:	83 66 40 00          	andl   $0x0,0x40(%esi)
45d031:	8d 4e 28             	lea    0x28(%esi),%ecx
45d034:	c7 46 4c 01 00 00 00 	movl   $0x1,0x4c(%esi)
45d03b:	e8 24 8a fa ff       	call   0x405a64
45d040:	56                   	push   %esi
45d041:	e8 26 40 fc ff       	call   0x42106c
45d046:	59                   	pop    %ecx
45d047:	5f                   	pop    %edi
45d048:	8b c6                	mov    %esi,%eax
45d04a:	5e                   	pop    %esi
45d04b:	c2 04 00             	ret    $0x4
45d04e:	55                   	push   %ebp
45d04f:	8b ec                	mov    %esp,%ebp
45d051:	8b 45 08             	mov    0x8(%ebp),%eax
45d054:	83 c0 24             	add    $0x24,%eax
45d057:	50                   	push   %eax
45d058:	ff 15 54 f3 48 00    	call   *0x48f354
45d05e:	5d                   	pop    %ebp
45d05f:	c2 04 00             	ret    $0x4
45d062:	55                   	push   %ebp
45d063:	8b ec                	mov    %esp,%ebp
45d065:	83 e4 f8             	and    $0xfffffff8,%esp
45d068:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
45d06e:	53                   	push   %ebx
45d06f:	56                   	push   %esi
45d070:	57                   	push   %edi
45d071:	8b f9                	mov    %ecx,%edi
45d073:	8d 8c 24 88 00 00 00 	lea    0x88(%esp),%ecx
45d07a:	89 7c 24 5c          	mov    %edi,0x5c(%esp)
45d07e:	8b 47 28             	mov    0x28(%edi),%eax
45d081:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
45d088:	8b 47 2c             	mov    0x2c(%edi),%eax
45d08b:	89 84 24 8c 00 00 00 	mov    %eax,0x8c(%esp)
45d092:	8b 47 30             	mov    0x30(%edi),%eax
45d095:	89 84 24 90 00 00 00 	mov    %eax,0x90(%esp)
45d09c:	8b 47 34             	mov    0x34(%edi),%eax
45d09f:	89 84 24 94 00 00 00 	mov    %eax,0x94(%esp)
45d0a6:	ff 00                	incl   (%eax)
45d0a8:	8d 45 0c             	lea    0xc(%ebp),%eax
45d0ab:	50                   	push   %eax
45d0ac:	e8 dd ab fa ff       	call   0x407c8e
45d0b1:	8b 45 08             	mov    0x8(%ebp),%eax
45d0b4:	8d 4c 24 60          	lea    0x60(%esp),%ecx
45d0b8:	ff b4 24 88 00 00 00 	push   0x88(%esp)
45d0bf:	8b 40 08             	mov    0x8(%eax),%eax
45d0c2:	89 44 24 18          	mov    %eax,0x18(%esp)
45d0c6:	e8 76 ae fa ff       	call   0x407f41
45d0cb:	8b 4f 3c             	mov    0x3c(%edi),%ecx
45d0ce:	8d 44 24 60          	lea    0x60(%esp),%eax
45d0d2:	50                   	push   %eax
45d0d3:	e8 e5 ce fa ff       	call   0x409fbd
45d0d8:	8b f0                	mov    %eax,%esi
45d0da:	8d 4c 24 60          	lea    0x60(%esp),%ecx
45d0de:	89 74 24 3c          	mov    %esi,0x3c(%esp)
45d0e2:	e8 7d 89 fa ff       	call   0x405a64
45d0e7:	33 db                	xor    %ebx,%ebx
45d0e9:	85 f6                	test   %esi,%esi
45d0eb:	0f 84 af 05 00 00    	je     0x45d6a0
45d0f1:	38 5e 20             	cmp    %bl,0x20(%esi)
45d0f4:	0f 84 67 04 00 00    	je     0x45d561
45d0fa:	8b 4f 3c             	mov    0x3c(%edi),%ecx
45d0fd:	8b 46 10             	mov    0x10(%esi),%eax
45d100:	89 5c 24 44          	mov    %ebx,0x44(%esp)
45d104:	89 81 f4 00 00 00    	mov    %eax,0xf4(%ecx)
45d10a:	ff 76 10             	push   0x10(%esi)
45d10d:	e8 b6 a0 fa ff       	call   0x4071c8
45d112:	8b 54 24 14          	mov    0x14(%esp),%edx
45d116:	8b ca                	mov    %edx,%ecx
45d118:	c1 e1 04             	shl    $0x4,%ecx
45d11b:	89 44 24 10          	mov    %eax,0x10(%esp)
45d11f:	8b c3                	mov    %ebx,%eax
45d121:	6a 04                	push   $0x4
45d123:	89 4c 24 20          	mov    %ecx,0x20(%esp)
45d127:	8b cb                	mov    %ebx,%ecx
45d129:	c7 44 24 64 84 fb 48 	movl   $0x48fb84,0x64(%esp)
45d130:	00
45d131:	89 5c 24 68          	mov    %ebx,0x68(%esp)
45d135:	89 5c 24 6c          	mov    %ebx,0x6c(%esp)
45d139:	89 5c 24 70          	mov    %ebx,0x70(%esp)
45d13d:	5e                   	pop    %esi
45d13e:	89 5c 24 28          	mov    %ebx,0x28(%esp)
45d142:	89 5c 24 30          	mov    %ebx,0x30(%esp)
45d146:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
45d14d:	00
45d14e:	c7 44 24 78 c0 1c 49 	movl   $0x491cc0,0x78(%esp)
45d155:	00
45d156:	89 5c 24 7c          	mov    %ebx,0x7c(%esp)
45d15a:	89 9c 24 80 00 00 00 	mov    %ebx,0x80(%esp)
45d161:	89 9c 24 84 00 00 00 	mov    %ebx,0x84(%esp)
45d168:	c7 44 24 4c 68 f9 48 	movl   $0x48f968,0x4c(%esp)
45d16f:	00
45d170:	89 44 24 20          	mov    %eax,0x20(%esp)
45d174:	89 44 24 50          	mov    %eax,0x50(%esp)
45d178:	89 5c 24 54          	mov    %ebx,0x54(%esp)
45d17c:	89 5c 24 58          	mov    %ebx,0x58(%esp)
45d180:	c7 44 24 74 47 00 00 	movl   $0x47,0x74(%esp)
45d187:	00
45d188:	c7 44 24 40 48 00 00 	movl   $0x48,0x40(%esp)
45d18f:	00
45d190:	c7 44 24 48 40 00 00 	movl   $0x40,0x48(%esp)
45d197:	00
45d198:	8b 44 24 3c          	mov    0x3c(%esp),%eax
45d19c:	3b 48 14             	cmp    0x14(%eax),%ecx
45d19f:	7c 08                	jl     0x45d1a9
45d1a1:	3b ca                	cmp    %edx,%ecx
45d1a3:	0f 8d 1b 01 00 00    	jge    0x45d2c4
45d1a9:	88 5c 24 0f          	mov    %bl,0xf(%esp)
45d1ad:	3b 48 14             	cmp    0x14(%eax),%ecx
45d1b0:	0f 8d c5 00 00 00    	jge    0x45d27b
45d1b6:	8b 4c 24 10          	mov    0x10(%esp),%ecx
45d1ba:	8b 41 04             	mov    0x4(%ecx),%eax
45d1bd:	89 44 24 24          	mov    %eax,0x24(%esp)
45d1c1:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45d1c4:	66 39 58 08          	cmp    %bx,0x8(%eax)
45d1c8:	75 4f                	jne    0x45d219
45d1ca:	8b 49 04             	mov    0x4(%ecx),%ecx
45d1cd:	89 4c 24 18          	mov    %ecx,0x18(%esp)
45d1d1:	8b 44 b1 04          	mov    0x4(%ecx,%esi,4),%eax
45d1d5:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
45d1da:	74 17                	je     0x45d1f3
45d1dc:	8b c8                	mov    %eax,%ecx
45d1de:	8b 44 24 18          	mov    0x18(%esp),%eax
45d1e2:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45d1e5:	8b 00                	mov    (%eax),%eax
45d1e7:	3b 01                	cmp    (%ecx),%eax
45d1e9:	0f 84 28 03 00 00    	je     0x45d517
45d1ef:	8b 4c 24 18          	mov    0x18(%esp),%ecx
45d1f3:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
45d1f6:	83 38 24             	cmpl   $0x24,(%eax)
45d1f9:	75 07                	jne    0x45d202
45d1fb:	c6 44 24 0f 01       	movb   $0x1,0xf(%esp)
45d200:	eb 09                	jmp    0x45d20b
45d202:	83 38 1e             	cmpl   $0x1e,(%eax)
45d205:	0f 85 0c 03 00 00    	jne    0x45d517
45d20b:	8b 44 24 24          	mov    0x24(%esp),%eax
45d20f:	46                   	inc    %esi
45d210:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45d213:	66 39 58 08          	cmp    %bx,0x8(%eax)
45d217:	74 b8                	je     0x45d1d1
45d219:	8b 44 24 24          	mov    0x24(%esp),%eax
45d21d:	46                   	inc    %esi
45d21e:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45d221:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
45d226:	75 33                	jne    0x45d25b
45d228:	8b 7c 24 24          	mov    0x24(%esp),%edi
45d22c:	8b cb                	mov    %ebx,%ecx
45d22e:	46                   	inc    %esi
45d22f:	8b 04 b7             	mov    (%edi,%esi,4),%eax
45d232:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45d236:	66 3b 44 24 74       	cmp    0x74(%esp),%ax
45d23b:	75 03                	jne    0x45d240
45d23d:	41                   	inc    %ecx
45d23e:	eb ee                	jmp    0x45d22e
45d240:	66 3b 44 24 40       	cmp    0x40(%esp),%ax
45d245:	75 05                	jne    0x45d24c
45d247:	49                   	dec    %ecx
45d248:	78 0d                	js     0x45d257
45d24a:	eb e2                	jmp    0x45d22e
45d24c:	66 3b 44 24 48       	cmp    0x48(%esp),%ax
45d251:	75 db                	jne    0x45d22e
45d253:	85 c9                	test   %ecx,%ecx
45d255:	75 d7                	jne    0x45d22e
45d257:	8b 7c 24 5c          	mov    0x5c(%esp),%edi
45d25b:	39 54 24 44          	cmp    %edx,0x44(%esp)
45d25f:	7d 1a                	jge    0x45d27b
45d261:	8b 45 08             	mov    0x8(%ebp),%eax
45d264:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
45d268:	83 c1 f0             	add    $0xfffffff0,%ecx
45d26b:	8b 00                	mov    (%eax),%eax
45d26d:	03 c1                	add    %ecx,%eax
45d26f:	8d 4c 24 28          	lea    0x28(%esp),%ecx
45d273:	50                   	push   %eax
45d274:	e8 8b a5 00 00       	call   0x467804
45d279:	eb 15                	jmp    0x45d290
45d27b:	8d 4c 24 28          	lea    0x28(%esp),%ecx
45d27f:	e8 9c c7 fa ff       	call   0x409a20
45d284:	89 5c 24 28          	mov    %ebx,0x28(%esp)
45d288:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
45d28f:	00
45d290:	8d 44 24 0f          	lea    0xf(%esp),%eax
45d294:	50                   	push   %eax
45d295:	8d 4c 24 7c          	lea    0x7c(%esp),%ecx
45d299:	e8 c4 99 ff ff       	call   0x456c62
45d29e:	8d 44 24 28          	lea    0x28(%esp),%eax
45d2a2:	50                   	push   %eax
45d2a3:	8d 4c 24 64          	lea    0x64(%esp),%ecx
45d2a7:	e8 b9 93 ff ff       	call   0x456665
45d2ac:	8b 4c 24 44          	mov    0x44(%esp),%ecx
45d2b0:	83 6c 24 1c 10       	subl   $0x10,0x1c(%esp)
45d2b5:	41                   	inc    %ecx
45d2b6:	8b 54 24 14          	mov    0x14(%esp),%edx
45d2ba:	46                   	inc    %esi
45d2bb:	89 4c 24 44          	mov    %ecx,0x44(%esp)
45d2bf:	e9 d4 fe ff ff       	jmp    0x45d198
45d2c4:	ff 70 10             	push   0x10(%eax)
45d2c7:	e8 95 b2 fa ff       	call   0x408561
45d2cc:	8b 44 24 3c          	mov    0x3c(%esp),%eax
45d2d0:	6a 04                	push   $0x4
45d2d2:	5e                   	pop    %esi
45d2d3:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
45d2da:	00
45d2db:	83 78 14 01          	cmpl   $0x1,0x14(%eax)
45d2df:	0f 8c 42 01 00 00    	jl     0x45d427
45d2e5:	8b 44 24 64          	mov    0x64(%esp),%eax
45d2e9:	89 44 24 20          	mov    %eax,0x20(%esp)
45d2ed:	8b 4c 24 10          	mov    0x10(%esp),%ecx
45d2f1:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
45d2f5:	8b 49 04             	mov    0x4(%ecx),%ecx
45d2f8:	89 4c 24 18          	mov    %ecx,0x18(%esp)
45d2fc:	eb 17                	jmp    0x45d315
45d2fe:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
45d301:	83 38 24             	cmpl   $0x24,(%eax)
45d304:	74 0e                	je     0x45d314
45d306:	83 38 1e             	cmpl   $0x1e,(%eax)
45d309:	75 0a                	jne    0x45d315
45d30b:	b8 00 01 00 00       	mov    $0x100,%eax
45d310:	89 44 24 1c          	mov    %eax,0x1c(%esp)
45d314:	46                   	inc    %esi
45d315:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
45d318:	66 39 58 08          	cmp    %bx,0x8(%eax)
45d31c:	74 e0                	je     0x45d2fe
45d31e:	33 ff                	xor    %edi,%edi
45d320:	8d 14 b5 04 00 00 00 	lea    0x4(,%esi,4),%edx
45d327:	8b cb                	mov    %ebx,%ecx
45d329:	47                   	inc    %edi
45d32a:	8b 5c 24 18          	mov    0x18(%esp),%ebx
45d32e:	8b 04 13             	mov    (%ebx,%edx,1),%eax
45d331:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45d335:	66 3b 44 24 74       	cmp    0x74(%esp),%ax
45d33a:	75 03                	jne    0x45d33f
45d33c:	41                   	inc    %ecx
45d33d:	eb 7e                	jmp    0x45d3bd
45d33f:	66 3b 44 24 40       	cmp    0x40(%esp),%ax
45d344:	75 6c                	jne    0x45d3b2
45d346:	49                   	dec    %ecx
45d347:	79 74                	jns    0x45d3bd
45d349:	8b 44 24 44          	mov    0x44(%esp),%eax
45d34d:	6a 00                	push   $0x0
45d34f:	89 7c 24 28          	mov    %edi,0x28(%esp)
45d353:	8b 7c 24 60          	mov    0x60(%esp),%edi
45d357:	5b                   	pop    %ebx
45d358:	39 44 24 14          	cmp    %eax,0x14(%esp)
45d35c:	7e 68                	jle    0x45d3c6
45d35e:	8b 4f 3c             	mov    0x3c(%edi),%ecx
45d361:	8d 46 02             	lea    0x2(%esi),%eax
45d364:	89 44 24 18          	mov    %eax,0x18(%esp)
45d368:	8b 44 24 24          	mov    0x24(%esp),%eax
45d36c:	03 c6                	add    %esi,%eax
45d36e:	50                   	push   %eax
45d36f:	8d 44 24 2c          	lea    0x2c(%esp),%eax
45d373:	50                   	push   %eax
45d374:	8d 44 24 20          	lea    0x20(%esp),%eax
45d378:	50                   	push   %eax
45d379:	ff 74 24 1c          	push   0x1c(%esp)
45d37d:	e8 7e cc fa ff       	call   0x40a000
45d382:	85 c0                	test   %eax,%eax
45d384:	0f 88 a9 01 00 00    	js     0x45d533
45d38a:	8b 44 24 10          	mov    0x10(%esp),%eax
45d38e:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
45d392:	8b 40 04             	mov    0x4(%eax),%eax
45d395:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45d398:	ff 30                	push   (%eax)
45d39a:	e8 e5 6b fa ff       	call   0x403f84
45d39f:	8b 44 24 1c          	mov    0x1c(%esp),%eax
45d3a3:	6a 01                	push   $0x1
45d3a5:	0d 00 02 00 00       	or     $0x200,%eax
45d3aa:	50                   	push   %eax
45d3ab:	8d 44 24 30          	lea    0x30(%esp),%eax
45d3af:	50                   	push   %eax
45d3b0:	eb 38                	jmp    0x45d3ea
45d3b2:	66 3b 44 24 48       	cmp    0x48(%esp),%ax
45d3b7:	75 04                	jne    0x45d3bd
45d3b9:	85 c9                	test   %ecx,%ecx
45d3bb:	74 8c                	je     0x45d349
45d3bd:	47                   	inc    %edi
45d3be:	83 c2 04             	add    $0x4,%edx
45d3c1:	e9 68 ff ff ff       	jmp    0x45d32e
45d3c6:	8b 44 24 18          	mov    0x18(%esp),%eax
45d3ca:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
45d3ce:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45d3d1:	ff 30                	push   (%eax)
45d3d3:	e8 ac 6b fa ff       	call   0x403f84
45d3d8:	8b 44 24 1c          	mov    0x1c(%esp),%eax
45d3dc:	6a 01                	push   $0x1
45d3de:	0d 00 02 00 00       	or     $0x200,%eax
45d3e3:	50                   	push   %eax
45d3e4:	8b 44 24 28          	mov    0x28(%esp),%eax
45d3e8:	ff 30                	push   (%eax)
45d3ea:	8b 44 24 1c          	mov    0x1c(%esp),%eax
45d3ee:	8b 40 04             	mov    0x4(%eax),%eax
45d3f1:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45d3f4:	ff 30                	push   (%eax)
45d3f6:	e8 25 b2 fa ff       	call   0x408620
45d3fb:	8b 44 24 24          	mov    0x24(%esp),%eax
45d3ff:	8b 54 24 14          	mov    0x14(%esp),%edx
45d403:	40                   	inc    %eax
45d404:	83 44 24 20 04       	addl   $0x4,0x20(%esp)
45d409:	03 f0                	add    %eax,%esi
45d40b:	8b 44 24 3c          	mov    0x3c(%esp),%eax
45d40f:	42                   	inc    %edx
45d410:	89 54 24 14          	mov    %edx,0x14(%esp)
45d414:	3b 50 14             	cmp    0x14(%eax),%edx
45d417:	0f 8e d0 fe ff ff    	jle    0x45d2ed
45d41d:	8b 74 24 50          	mov    0x50(%esp),%esi
45d421:	89 74 24 20          	mov    %esi,0x20(%esp)
45d425:	eb 02                	jmp    0x45d429
45d427:	8b f3                	mov    %ebx,%esi
45d429:	8d 4c 24 28          	lea    0x28(%esp),%ecx
45d42d:	e8 ee c5 fa ff       	call   0x409a20
45d432:	8d 47 40             	lea    0x40(%edi),%eax
45d435:	c7 44 24 34 06 00 00 	movl   $0x6,0x34(%esp)
45d43c:	00
45d43d:	68 3c 9a 4b 00       	push   $0x4b9a3c
45d442:	8d 8c 24 9c 00 00 00 	lea    0x9c(%esp),%ecx
45d449:	89 44 24 2c          	mov    %eax,0x2c(%esp)
45d44d:	e8 ef aa fa ff       	call   0x407f41
45d452:	8b 44 24 34          	mov    0x34(%esp),%eax
45d456:	83 e8 06             	sub    $0x6,%eax
45d459:	f7 d8                	neg    %eax
45d45b:	6a 01                	push   $0x1
45d45d:	1b c0                	sbb    %eax,%eax
45d45f:	f7 d0                	not    %eax
45d461:	23 44 24 2c          	and    0x2c(%esp),%eax
45d465:	53                   	push   %ebx
45d466:	50                   	push   %eax
45d467:	8d 84 24 a4 00 00 00 	lea    0xa4(%esp),%eax
45d46e:	50                   	push   %eax
45d46f:	e8 ac b1 fa ff       	call   0x408620
45d474:	8d 8c 24 98 00 00 00 	lea    0x98(%esp),%ecx
45d47b:	e8 e4 85 fa ff       	call   0x405a64
45d480:	8b 44 24 3c          	mov    0x3c(%esp),%eax
45d484:	8b 4f 3c             	mov    0x3c(%edi),%ecx
45d487:	53                   	push   %ebx
45d488:	53                   	push   %ebx
45d489:	8b 40 10             	mov    0x10(%eax),%eax
45d48c:	40                   	inc    %eax
45d48d:	50                   	push   %eax
45d48e:	e8 09 e4 fa ff       	call   0x40b89c
45d493:	8b 55 08             	mov    0x8(%ebp),%edx
45d496:	89 5c 24 48          	mov    %ebx,0x48(%esp)
45d49a:	8b 4a 08             	mov    0x8(%edx),%ecx
45d49d:	85 c9                	test   %ecx,%ecx