47a049:	80 3e 00             	cmpb   $0x0,(%esi)
47a04c:	0f 84 a1 00 00 00    	je     0x47a0f3
47a052:	56                   	push   %esi
47a053:	ff d3                	call   *%ebx
47a055:	ff 75 10             	push   0x10(%ebp)
47a058:	8d 44 30 01          	lea    0x1(%eax,%esi,1),%eax
47a05c:	ff 75 0c             	push   0xc(%ebp)
47a05f:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
47a065:	56                   	push   %esi
47a066:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
47a06c:	50                   	push   %eax
47a06d:	e8 86 e0 fd ff       	call   0x4580f8
47a072:	ff 75 10             	push   0x10(%ebp)
47a075:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
47a07b:	ff 75 0c             	push   0xc(%ebp)
47a07e:	ff b5 ec fe ff ff    	push   -0x114(%ebp)
47a084:	50                   	push   %eax
47a085:	e8 6e e0 fd ff       	call   0x4580f8
47a08a:	39 7d 18             	cmp    %edi,0x18(%ebp)
47a08d:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
47a093:	75 06                	jne    0x47a09b
47a095:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
47a099:	74 58                	je     0x47a0f3
47a09b:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
47a09f:	75 2c                	jne    0x47a0cd
47a0a1:	8d 8d ec fe ff ff    	lea    -0x114(%ebp),%ecx
47a0a7:	51                   	push   %ecx
47a0a8:	8d 8d f0 fe ff ff    	lea    -0x110(%ebp),%ecx
47a0ae:	51                   	push   %ecx
47a0af:	50                   	push   %eax
47a0b0:	ff 75 18             	push   0x18(%ebp)
47a0b3:	c7 85 ec fe ff ff 00 	movl   $0x100,-0x114(%ebp)
47a0ba:	01 00 00
47a0bd:	ff 15 98 fe 4a 00    	call   *0x4afe98
47a0c3:	85 c0                	test   %eax,%eax
47a0c5:	74 2c                	je     0x47a0f3
47a0c7:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
47a0cd:	8b b5 e4 fe ff ff    	mov    -0x11c(%ebp),%esi
47a0d3:	56                   	push   %esi
47a0d4:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
47a0da:	ff d3                	call   *%ebx
47a0dc:	50                   	push   %eax
47a0dd:	56                   	push   %esi
47a0de:	6a 01                	push   $0x1
47a0e0:	ff b5 ec fe ff ff    	push   -0x114(%ebp)
47a0e6:	ff 75 18             	push   0x18(%ebp)
47a0e9:	ff 15 80 fe 4a 00    	call   *0x4afe80
47a0ef:	85 c0                	test   %eax,%eax
47a0f1:	75 0f                	jne    0x47a102
47a0f3:	8b 45 08             	mov    0x8(%ebp),%eax
47a0f6:	8b 30                	mov    (%eax),%esi
47a0f8:	85 f6                	test   %esi,%esi
47a0fa:	0f 85 40 ff ff ff    	jne    0x47a040
47a100:	eb 0c                	jmp    0x47a10e
47a102:	83 f8 05             	cmp    $0x5,%eax
47a105:	74 07                	je     0x47a10e
47a107:	83 a5 dc fe ff ff 00 	andl   $0x0,-0x124(%ebp)
47a10e:	83 bd e0 fe ff ff 00 	cmpl   $0x0,-0x120(%ebp)
47a115:	5f                   	pop    %edi
47a116:	5e                   	pop    %esi
47a117:	5b                   	pop    %ebx
47a118:	74 0c                	je     0x47a126
47a11a:	ff b5 e0 fe ff ff    	push   -0x120(%ebp)
47a120:	ff 15 ac fe 4a 00    	call   *0x4afeac
47a126:	8b 8d e4 fe ff ff    	mov    -0x11c(%ebp),%ecx
47a12c:	83 c1 f0             	add    $0xfffffff0,%ecx
47a12f:	e8 1e 72 f8 ff       	call   0x401352
47a134:	8b 8d e8 fe ff ff    	mov    -0x118(%ebp),%ecx
47a13a:	83 c1 f0             	add    $0xfffffff0,%ecx
47a13d:	e8 10 72 f8 ff       	call   0x401352
47a142:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47a145:	8b 85 dc fe ff ff    	mov    -0x124(%ebp),%eax
47a14b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
47a152:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47a155:	e8 84 da f9 ff       	call   0x417bde
47a15a:	c9                   	leave
47a15b:	c2 14 00             	ret    $0x14
47a15e:	b8 7a 40 48 00       	mov    $0x48407a,%eax
47a163:	e8 14 db f9 ff       	call   0x417c7c
47a168:	51                   	push   %ecx
47a169:	51                   	push   %ecx
47a16a:	53                   	push   %ebx
47a16b:	57                   	push   %edi
47a16c:	8d 45 ec             	lea    -0x14(%ebp),%eax
47a16f:	50                   	push   %eax
47a170:	ff 75 0c             	push   0xc(%ebp)
47a173:	ff 15 0c 0b 4b 00    	call   *0x4b0b0c
47a179:	ff 75 ec             	push   -0x14(%ebp)
47a17c:	e8 cd 3b ff ff       	call   0x46dd4e
47a181:	8b f8                	mov    %eax,%edi
47a183:	33 db                	xor    %ebx,%ebx
47a185:	3b fb                	cmp    %ebx,%edi
47a187:	75 07                	jne    0x47a190
47a189:	33 c0                	xor    %eax,%eax
47a18b:	e9 fe 01 00 00       	jmp    0x47a38e
47a190:	56                   	push   %esi
47a191:	8b 75 08             	mov    0x8(%ebp),%esi
47a194:	57                   	push   %edi
47a195:	53                   	push   %ebx
47a196:	8b ce                	mov    %esi,%ecx
47a198:	e8 0b fc ff ff       	call   0x479da8
47a19d:	ff 75 10             	push   0x10(%ebp)
47a1a0:	8b ce                	mov    %esi,%ecx
47a1a2:	6a 01                	push   $0x1
47a1a4:	e8 ff fb ff ff       	call   0x479da8
47a1a9:	57                   	push   %edi
47a1aa:	ff 15 f0 0a 4b 00    	call   *0x4b0af0
47a1b0:	e8 41 60 fc ff       	call   0x4401f6
47a1b5:	8b 10                	mov    (%eax),%edx
47a1b7:	8b c8                	mov    %eax,%ecx
47a1b9:	ff 52 0c             	call   *0xc(%edx)
47a1bc:	83 c0 10             	add    $0x10,%eax
47a1bf:	89 45 f0             	mov    %eax,-0x10(%ebp)
47a1c2:	89 5d fc             	mov    %ebx,-0x4(%ebp)
47a1c5:	e8 37 37 ff ff       	call   0x46d901
47a1ca:	8b 40 08             	mov    0x8(%eax),%eax
47a1cd:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47a1d0:	51                   	push   %ecx
47a1d1:	50                   	push   %eax
47a1d2:	e8 05 e9 fc ff       	call   0x448adc
47a1d7:	ff 75 f0             	push   -0x10(%ebp)
47a1da:	8b ce                	mov    %esi,%ecx
47a1dc:	6a 02                	push   $0x2
47a1de:	e8 c5 fb ff ff       	call   0x479da8
47a1e3:	ff 75 14             	push   0x14(%ebp)
47a1e6:	8b ce                	mov    %esi,%ecx
47a1e8:	6a 03                	push   $0x3
47a1ea:	e8 b9 fb ff ff       	call   0x479da8
47a1ef:	ff 75 18             	push   0x18(%ebp)
47a1f2:	8b ce                	mov    %esi,%ecx
47a1f4:	6a 04                	push   $0x4
47a1f6:	e8 ad fb ff ff       	call   0x479da8
47a1fb:	e8 01 37 ff ff       	call   0x46d901
47a200:	ff 70 10             	push   0x10(%eax)
47a203:	8b ce                	mov    %esi,%ecx
47a205:	6a 05                	push   $0x5
47a207:	e8 9c fb ff ff       	call   0x479da8
47a20c:	e8 e5 5f fc ff       	call   0x4401f6
47a211:	8b 10                	mov    (%eax),%edx
47a213:	8b c8                	mov    %eax,%ecx
47a215:	ff 52 0c             	call   *0xc(%edx)
47a218:	83 c0 10             	add    $0x10,%eax
47a21b:	89 45 08             	mov    %eax,0x8(%ebp)
47a21e:	8b 7d 1c             	mov    0x1c(%ebp),%edi
47a221:	3b fb                	cmp    %ebx,%edi
47a223:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
47a227:	74 22                	je     0x47a24b
47a229:	e8 d3 36 ff ff       	call   0x46d901
47a22e:	8b 40 08             	mov    0x8(%eax),%eax
47a231:	57                   	push   %edi
47a232:	ff 75 f0             	push   -0x10(%ebp)
47a235:	50                   	push   %eax
47a236:	ff 15 68 05 4b 00    	call   *0x4b0568
47a23c:	3b c3                	cmp    %ebx,%eax
47a23e:	74 09                	je     0x47a249
47a240:	50                   	push   %eax
47a241:	ff 15 2c 06 4b 00    	call   *0x4b062c
47a247:	eb 02                	jmp    0x47a24b
47a249:	33 ff                	xor    %edi,%edi
47a24b:	57                   	push   %edi
47a24c:	8d 45 08             	lea    0x8(%ebp),%eax
47a24f:	68 d4 b6 48 00       	push   $0x48b6d4
47a254:	50                   	push   %eax
47a255:	e8 e7 6d f8 ff       	call   0x401041
47a25a:	8b 7d 08             	mov    0x8(%ebp),%edi
47a25d:	83 c4 0c             	add    $0xc,%esp
47a260:	57                   	push   %edi
47a261:	6a 06                	push   $0x6
47a263:	8b ce                	mov    %esi,%ecx
47a265:	e8 3e fb ff ff       	call   0x479da8
47a26a:	ff 75 20             	push   0x20(%ebp)
47a26d:	8b ce                	mov    %esi,%ecx
47a26f:	6a 07                	push   $0x7
47a271:	e8 32 fb ff ff       	call   0x479da8
47a276:	e8 7b 5f fc ff       	call   0x4401f6
47a27b:	8b 10                	mov    (%eax),%edx
47a27d:	8b c8                	mov    %eax,%ecx
47a27f:	ff 52 0c             	call   *0xc(%edx)
47a282:	83 c0 10             	add    $0x10,%eax
47a285:	89 45 0c             	mov    %eax,0xc(%ebp)
47a288:	8b 45 24             	mov    0x24(%ebp),%eax
47a28b:	3b c3                	cmp    %ebx,%eax
47a28d:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
47a291:	74 12                	je     0x47a2a5
47a293:	38 18                	cmp    %bl,(%eax)
47a295:	74 0e                	je     0x47a2a5
47a297:	50                   	push   %eax
47a298:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a29b:	e8 e1 6e f8 ff       	call   0x401181
47a2a0:	e9 bd 00 00 00       	jmp    0x47a362
47a2a5:	ff 75 20             	push   0x20(%ebp)
47a2a8:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a2ab:	e8 d1 6e f8 ff       	call   0x401181
47a2b0:	53                   	push   %ebx
47a2b1:	6a 28                	push   $0x28
47a2b3:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a2b6:	e8 20 49 ff ff       	call   0x46ebdb
47a2bb:	83 f8 ff             	cmp    $0xffffffff,%eax
47a2be:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a2c1:	75 0a                	jne    0x47a2cd
47a2c3:	e8 aa 6e f8 ff       	call   0x401172
47a2c8:	e9 95 00 00 00       	jmp    0x47a362
47a2cd:	40                   	inc    %eax
47a2ce:	50                   	push   %eax
47a2cf:	8d 45 20             	lea    0x20(%ebp),%eax
47a2d2:	50                   	push   %eax
47a2d3:	e8 0a 4b ff ff       	call   0x46ede2
47a2d8:	50                   	push   %eax
47a2d9:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a2dc:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
47a2e0:	e8 0e 70 f8 ff       	call   0x4012f3
47a2e5:	8b 4d 20             	mov    0x20(%ebp),%ecx
47a2e8:	83 c1 f0             	add    $0xfffffff0,%ecx
47a2eb:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
47a2ef:	e8 5e 70 f8 ff       	call   0x401352
47a2f4:	53                   	push   %ebx
47a2f5:	6a 2e                	push   $0x2e
47a2f7:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a2fa:	e8 dc 48 ff ff       	call   0x46ebdb
47a2ff:	83 f8 ff             	cmp    $0xffffffff,%eax
47a302:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a305:	74 bc                	je     0x47a2c3
47a307:	50                   	push   %eax
47a308:	8d 45 20             	lea    0x20(%ebp),%eax
47a30b:	50                   	push   %eax
47a30c:	e8 d1 4a ff ff       	call   0x46ede2
47a311:	50                   	push   %eax
47a312:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a315:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
47a319:	e8 d5 6f f8 ff       	call   0x4012f3
47a31e:	8b 4d 20             	mov    0x20(%ebp),%ecx
47a321:	83 c1 f0             	add    $0xfffffff0,%ecx
47a324:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
47a328:	e8 25 70 f8 ff       	call   0x401352
47a32d:	53                   	push   %ebx
47a32e:	6a 29                	push   $0x29
47a330:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a333:	e8 a3 48 ff ff       	call   0x46ebdb
47a338:	83 f8 ff             	cmp    $0xffffffff,%eax
47a33b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a33e:	74 83                	je     0x47a2c3
47a340:	50                   	push   %eax
47a341:	8d 45 20             	lea    0x20(%ebp),%eax
47a344:	50                   	push   %eax
47a345:	e8 41 18 ff ff       	call   0x46bb8b
47a34a:	50                   	push   %eax
47a34b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a34e:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
47a352:	e8 9c 6f f8 ff       	call   0x4012f3
47a357:	8b 4d 20             	mov    0x20(%ebp),%ecx
47a35a:	83 c1 f0             	add    $0xfffffff0,%ecx
47a35d:	e8 f0 6f f8 ff       	call   0x401352
47a362:	8b 5d 0c             	mov    0xc(%ebp),%ebx
47a365:	53                   	push   %ebx
47a366:	6a 08                	push   $0x8
47a368:	8b ce                	mov    %esi,%ecx
47a36a:	e8 39 fa ff ff       	call   0x479da8
47a36f:	8d 4b f0             	lea    -0x10(%ebx),%ecx
47a372:	e8 db 6f f8 ff       	call   0x401352
47a377:	8d 4f f0             	lea    -0x10(%edi),%ecx
47a37a:	e8 d3 6f f8 ff       	call   0x401352
47a37f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47a382:	83 c1 f0             	add    $0xfffffff0,%ecx
47a385:	e8 c8 6f f8 ff       	call   0x401352
47a38a:	33 c0                	xor    %eax,%eax
47a38c:	40                   	inc    %eax
47a38d:	5e                   	pop    %esi
47a38e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47a391:	5f                   	pop    %edi
47a392:	5b                   	pop    %ebx
47a393:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
47a39a:	c9                   	leave
47a39b:	c2 20 00             	ret    $0x20
47a39e:	b8 8c 40 48 00       	mov    $0x48408c,%eax
47a3a3:	e8 d4 d8 f9 ff       	call   0x417c7c
47a3a8:	51                   	push   %ecx
47a3a9:	51                   	push   %ecx
47a3aa:	53                   	push   %ebx
47a3ab:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
47a3ae:	85 db                	test   %ebx,%ebx
47a3b0:	56                   	push   %esi
47a3b1:	8b 75 18             	mov    0x18(%ebp),%esi
47a3b4:	57                   	push   %edi
47a3b5:	75 07                	jne    0x47a3be
47a3b7:	8b 1c f5 7c 01 49 00 	mov    0x49017c(,%esi,8),%ebx
47a3be:	8b 7d 20             	mov    0x20(%ebp),%edi
47a3c1:	85 ff                	test   %edi,%edi
47a3c3:	75 1b                	jne    0x47a3e0
47a3c5:	e8 37 35 ff ff       	call   0x46d901
47a3ca:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
47a3ce:	75 09                	jne    0x47a3d9
47a3d0:	8b 3c f5 80 01 49 00 	mov    0x490180(,%esi,8),%edi
47a3d7:	eb 07                	jmp    0x47a3e0
47a3d9:	8b 3c f5 a8 01 49 00 	mov    0x4901a8(,%esi,8),%edi
47a3e0:	6a 0a                	push   $0xa
47a3e2:	8d 4d ec             	lea    -0x14(%ebp),%ecx
47a3e5:	e8 6a f9 ff ff       	call   0x479d54
47a3ea:	ff 75 2c             	push   0x2c(%ebp)
47a3ed:	8d 45 ec             	lea    -0x14(%ebp),%eax
47a3f0:	ff 75 28             	push   0x28(%ebp)
47a3f3:	33 f6                	xor    %esi,%esi
47a3f5:	ff 75 24             	push   0x24(%ebp)
47a3f8:	89 75 fc             	mov    %esi,-0x4(%ebp)
47a3fb:	ff 75 14             	push   0x14(%ebp)
47a3fe:	ff 75 10             	push   0x10(%ebp)
47a401:	ff 75 0c             	push   0xc(%ebp)
47a404:	ff 75 08             	push   0x8(%ebp)
47a407:	50                   	push   %eax
47a408:	e8 51 fd ff ff       	call   0x47a15e
47a40d:	85 c0                	test   %eax,%eax
47a40f:	74 2b                	je     0x47a43c
47a411:	be 00 00 00 80       	mov    $0x80000000,%esi
47a416:	56                   	push   %esi
47a417:	6a 00                	push   $0x0
47a419:	6a 0a                	push   $0xa
47a41b:	ff 75 ec             	push   -0x14(%ebp)
47a41e:	53                   	push   %ebx
47a41f:	e8 88 fb ff ff       	call   0x479fac
47a424:	85 c0                	test   %eax,%eax
47a426:	74 12                	je     0x47a43a
47a428:	85 ff                	test   %edi,%edi
47a42a:	74 0e                	je     0x47a43a
47a42c:	56                   	push   %esi
47a42d:	6a 01                	push   $0x1
47a42f:	6a 0a                	push   $0xa
47a431:	ff 75 ec             	push   -0x14(%ebp)
47a434:	57                   	push   %edi
47a435:	e8 72 fb ff ff       	call   0x479fac
47a43a:	8b f0                	mov    %eax,%esi
47a43c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
47a440:	8d 4d ec             	lea    -0x14(%ebp),%ecx
47a443:	e8 39 f9 ff ff       	call   0x479d81
47a448:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47a44b:	5f                   	pop    %edi
47a44c:	8b c6                	mov    %esi,%eax
47a44e:	5e                   	pop    %esi
47a44f:	5b                   	pop    %ebx
47a450:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
47a457:	c9                   	leave
47a458:	c2 28 00             	ret    $0x28
47a45b:	b8 9e 40 48 00       	mov    $0x48409e,%eax
47a460:	e8 17 d8 f9 ff       	call   0x417c7c
47a465:	51                   	push   %ecx
47a466:	51                   	push   %ecx
47a467:	53                   	push   %ebx
47a468:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
47a46b:	85 db                	test   %ebx,%ebx
47a46d:	56                   	push   %esi
47a46e:	8b 75 18             	mov    0x18(%ebp),%esi
47a471:	57                   	push   %edi