41a1db:	88 44 16 28          	mov    %al,0x28(%esi,%edx,1)
41a1df:	8b 0c bd 00 f8 43 00 	mov    0x43f800(,%edi,4),%ecx
41a1e6:	c6 44 11 29 00       	movb   $0x0,0x29(%ecx,%edx,1)
41a1eb:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41a1ef:	75 07                	jne    0x41a1f8
41a1f1:	b8 00 80 00 00       	mov    $0x8000,%eax
41a1f6:	eb 1e                	jmp    0x41a216
41a1f8:	84 db                	test   %bl,%bl
41a1fa:	75 07                	jne    0x41a203
41a1fc:	b8 00 40 00 00       	mov    $0x4000,%eax
41a201:	eb 13                	jmp    0x41a216
41a203:	33 c0                	xor    %eax,%eax
41a205:	80 fb 01             	cmp    $0x1,%bl
41a208:	0f 95 c0             	setne  %al
41a20b:	48                   	dec    %eax
41a20c:	25 00 00 03 00       	and    $0x30000,%eax
41a211:	05 00 00 01 00       	add    $0x10000,%eax
41a216:	5f                   	pop    %edi
41a217:	5e                   	pop    %esi
41a218:	5b                   	pop    %ebx
41a219:	c9                   	leave
41a21a:	c3                   	ret
41a21b:	6a 08                	push   $0x8
41a21d:	68 d8 ac 43 00       	push   $0x43acd8
41a222:	e8 a9 02 ff ff       	call   0x40a4d0
41a227:	8b 45 08             	mov    0x8(%ebp),%eax
41a22a:	ff 30                	push   (%eax)
41a22c:	e8 51 91 00 00       	call   0x423382
41a231:	59                   	pop    %ecx
41a232:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41a236:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41a239:	e8 c1 01 00 00       	call   0x41a3ff
41a23e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41a245:	e8 12 00 00 00       	call   0x41a25c
41a24a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41a24d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41a254:	59                   	pop    %ecx
41a255:	5f                   	pop    %edi
41a256:	5e                   	pop    %esi
41a257:	5b                   	pop    %ebx
41a258:	c9                   	leave
41a259:	c2 0c 00             	ret    $0xc
41a25c:	8b 45 10             	mov    0x10(%ebp),%eax
41a25f:	ff 30                	push   (%eax)
41a261:	e8 64 91 00 00       	call   0x4233ca
41a266:	59                   	pop    %ecx
41a267:	c3                   	ret
41a268:	6a 08                	push   $0x8
41a26a:	68 f8 ac 43 00       	push   $0x43acf8
41a26f:	e8 5c 02 ff ff       	call   0x40a4d0
41a274:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41a278:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41a27b:	e8 15 01 00 00       	call   0x41a395
41a280:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41a287:	e8 12 00 00 00       	call   0x41a29e
41a28c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41a28f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41a296:	59                   	pop    %ecx
41a297:	5f                   	pop    %edi
41a298:	5e                   	pop    %esi
41a299:	5b                   	pop    %ebx
41a29a:	c9                   	leave
41a29b:	c2 0c 00             	ret    $0xc
41a29e:	8b 45 10             	mov    0x10(%ebp),%eax
41a2a1:	8b 00                	mov    (%eax),%eax
41a2a3:	8b 00                	mov    (%eax),%eax
41a2a5:	83 a0 50 03 00 00 ef 	andl   $0xffffffef,0x350(%eax)
41a2ac:	c3                   	ret
41a2ad:	6a 0c                	push   $0xc
41a2af:	68 b8 ac 43 00       	push   $0x43acb8
41a2b4:	e8 17 02 ff ff       	call   0x40a4d0
41a2b9:	8b 45 08             	mov    0x8(%ebp),%eax
41a2bc:	ff 30                	push   (%eax)
41a2be:	e8 bf 90 00 00       	call   0x423382
41a2c3:	59                   	pop    %ecx
41a2c4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41a2c8:	be dc f7 43 00       	mov    $0x43f7dc,%esi
41a2cd:	bf 58 d1 43 00       	mov    $0x43d158,%edi
41a2d2:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41a2d5:	81 fe e0 f7 43 00    	cmp    $0x43f7e0,%esi
41a2db:	74 14                	je     0x41a2f1
41a2dd:	39 3e                	cmp    %edi,(%esi)
41a2df:	74 0b                	je     0x41a2ec
41a2e1:	57                   	push   %edi
41a2e2:	56                   	push   %esi
41a2e3:	e8 97 a6 00 00       	call   0x42497f
41a2e8:	59                   	pop    %ecx
41a2e9:	59                   	pop    %ecx
41a2ea:	89 06                	mov    %eax,(%esi)
41a2ec:	83 c6 04             	add    $0x4,%esi
41a2ef:	eb e1                	jmp    0x41a2d2
41a2f1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41a2f8:	e8 12 00 00 00       	call   0x41a30f
41a2fd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41a300:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41a307:	59                   	pop    %ecx
41a308:	5f                   	pop    %edi
41a309:	5e                   	pop    %esi
41a30a:	5b                   	pop    %ebx
41a30b:	c9                   	leave
41a30c:	c2 0c 00             	ret    $0xc
41a30f:	8b 45 10             	mov    0x10(%ebp),%eax
41a312:	ff 30                	push   (%eax)
41a314:	e8 b1 90 00 00       	call   0x4233ca
41a319:	59                   	pop    %ecx
41a31a:	c3                   	ret
41a31b:	8b ff                	mov    %edi,%edi
41a31d:	55                   	push   %ebp
41a31e:	8b ec                	mov    %esp,%ebp
41a320:	8b 45 10             	mov    0x10(%ebp),%eax
41a323:	8b 55 0c             	mov    0xc(%ebp),%edx
41a326:	53                   	push   %ebx
41a327:	56                   	push   %esi
41a328:	8b 75 08             	mov    0x8(%ebp),%esi
41a32b:	33 db                	xor    %ebx,%ebx
41a32d:	57                   	push   %edi
41a32e:	8b f9                	mov    %ecx,%edi
41a330:	6a 55                	push   $0x55
41a332:	89 47 08             	mov    %eax,0x8(%edi)
41a335:	05 50 02 00 00       	add    $0x250,%eax
41a33a:	50                   	push   %eax
41a33b:	52                   	push   %edx
41a33c:	56                   	push   %esi
41a33d:	89 37                	mov    %esi,(%edi)
41a33f:	89 57 04             	mov    %edx,0x4(%edi)
41a342:	88 5f 0c             	mov    %bl,0xc(%edi)
41a345:	e8 83 7a 00 00       	call   0x421dcd
41a34a:	83 c4 10             	add    $0x10,%esp
41a34d:	85 c0                	test   %eax,%eax
41a34f:	75 09                	jne    0x41a35a
41a351:	8b c7                	mov    %edi,%eax
41a353:	5f                   	pop    %edi
41a354:	5e                   	pop    %esi
41a355:	5b                   	pop    %ebx
41a356:	5d                   	pop    %ebp
41a357:	c2 0c 00             	ret    $0xc
41a35a:	53                   	push   %ebx
41a35b:	53                   	push   %ebx
41a35c:	53                   	push   %ebx
41a35d:	53                   	push   %ebx
41a35e:	53                   	push   %ebx
41a35f:	e8 b7 30 ff ff       	call   0x40d41b
41a364:	cc                   	int3
41a365:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
41a369:	75 1c                	jne    0x41a387
41a36b:	ff 71 04             	push   0x4(%ecx)
41a36e:	8b 41 08             	mov    0x8(%ecx),%eax
41a371:	ff 31                	push   (%ecx)
41a373:	05 50 02 00 00       	add    $0x250,%eax
41a378:	6a 55                	push   $0x55
41a37a:	50                   	push   %eax
41a37b:	e8 4d 7a 00 00       	call   0x421dcd
41a380:	83 c4 10             	add    $0x10,%esp
41a383:	85 c0                	test   %eax,%eax
41a385:	75 01                	jne    0x41a388
41a387:	c3                   	ret
41a388:	33 c0                	xor    %eax,%eax
41a38a:	50                   	push   %eax
41a38b:	50                   	push   %eax
41a38c:	50                   	push   %eax
41a38d:	50                   	push   %eax
41a38e:	50                   	push   %eax
41a38f:	e8 87 30 ff ff       	call   0x40d41b
41a394:	cc                   	int3
41a395:	8b ff                	mov    %edi,%edi
41a397:	55                   	push   %ebp
41a398:	8b ec                	mov    %esp,%ebp
41a39a:	83 ec 20             	sub    $0x20,%esp
41a39d:	56                   	push   %esi
41a39e:	57                   	push   %edi
41a39f:	68 b8 00 00 00       	push   $0xb8
41a3a4:	6a 01                	push   $0x1
41a3a6:	8b f9                	mov    %ecx,%edi
41a3a8:	e8 03 c8 fe ff       	call   0x406bb0
41a3ad:	8b 17                	mov    (%edi),%edx
41a3af:	8b f0                	mov    %eax,%esi
41a3b1:	6a 00                	push   $0x0
41a3b3:	89 32                	mov    %esi,(%edx)
41a3b5:	e8 56 c8 fe ff       	call   0x406c10
41a3ba:	83 c4 0c             	add    $0xc,%esp
41a3bd:	85 f6                	test   %esi,%esi
41a3bf:	74 3a                	je     0x41a3fb
41a3c1:	8b 07                	mov    (%edi),%eax
41a3c3:	8d 4d ff             	lea    -0x1(%ebp),%ecx
41a3c6:	89 45 e0             	mov    %eax,-0x20(%ebp)
41a3c9:	8b 47 04             	mov    0x4(%edi),%eax
41a3cc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41a3cf:	8b 47 08             	mov    0x8(%edi),%eax
41a3d2:	89 45 e8             	mov    %eax,-0x18(%ebp)
41a3d5:	8b 47 0c             	mov    0xc(%edi),%eax
41a3d8:	89 45 ec             	mov    %eax,-0x14(%ebp)
41a3db:	8b 47 10             	mov    0x10(%edi),%eax
41a3de:	6a 04                	push   $0x4
41a3e0:	89 45 f0             	mov    %eax,-0x10(%ebp)
41a3e3:	58                   	pop    %eax
41a3e4:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a3e7:	89 45 f4             	mov    %eax,-0xc(%ebp)
41a3ea:	8d 45 f8             	lea    -0x8(%ebp),%eax
41a3ed:	50                   	push   %eax
41a3ee:	8d 45 e0             	lea    -0x20(%ebp),%eax
41a3f1:	50                   	push   %eax
41a3f2:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a3f5:	50                   	push   %eax
41a3f6:	e8 20 fe ff ff       	call   0x41a21b
41a3fb:	5f                   	pop    %edi
41a3fc:	5e                   	pop    %esi
41a3fd:	c9                   	leave
41a3fe:	c3                   	ret
41a3ff:	8b ff                	mov    %edi,%edi
41a401:	56                   	push   %esi
41a402:	8b f1                	mov    %ecx,%esi
41a404:	8b 46 04             	mov    0x4(%esi),%eax
41a407:	8b 00                	mov    (%eax),%eax
41a409:	ff 70 4c             	push   0x4c(%eax)
41a40c:	8b 06                	mov    (%esi),%eax
41a40e:	ff 30                	push   (%eax)
41a410:	e8 02 04 00 00       	call   0x41a817
41a415:	8b 46 10             	mov    0x10(%esi),%eax
41a418:	ff 30                	push   (%eax)
41a41a:	8b 46 0c             	mov    0xc(%esi),%eax
41a41d:	ff 30                	push   (%eax)
41a41f:	8b 06                	mov    (%esi),%eax
41a421:	ff 30                	push   (%eax)
41a423:	e8 43 0a 00 00       	call   0x41ae6b
41a428:	8b 4e 08             	mov    0x8(%esi),%ecx
41a42b:	83 c4 14             	add    $0x14,%esp
41a42e:	89 01                	mov    %eax,(%ecx)
41a430:	85 c0                	test   %eax,%eax
41a432:	0f 84 af 00 00 00    	je     0x41a4e7
41a438:	8b 46 10             	mov    0x10(%esi),%eax
41a43b:	8b 00                	mov    (%eax),%eax
41a43d:	85 c0                	test   %eax,%eax
41a43f:	74 3f                	je     0x41a480
41a441:	ba 18 d2 43 00       	mov    $0x43d218,%edx
41a446:	57                   	push   %edi
41a447:	66 8b 38             	mov    (%eax),%di
41a44a:	33 c9                	xor    %ecx,%ecx
41a44c:	41                   	inc    %ecx
41a44d:	66 3b 3a             	cmp    (%edx),%di
41a450:	75 1e                	jne    0x41a470
41a452:	66 85 ff             	test   %di,%di
41a455:	74 15                	je     0x41a46c
41a457:	66 8b 78 02          	mov    0x2(%eax),%di
41a45b:	66 3b 7a 02          	cmp    0x2(%edx),%di
41a45f:	75 0f                	jne    0x41a470
41a461:	83 c0 04             	add    $0x4,%eax
41a464:	83 c2 04             	add    $0x4,%edx
41a467:	66 85 ff             	test   %di,%di
41a46a:	75 db                	jne    0x41a447
41a46c:	33 c0                	xor    %eax,%eax
41a46e:	eb 04                	jmp    0x41a474
41a470:	1b c0                	sbb    %eax,%eax
41a472:	0b c1                	or     %ecx,%eax
41a474:	5f                   	pop    %edi
41a475:	85 c0                	test   %eax,%eax
41a477:	74 07                	je     0x41a480
41a479:	b8 b8 f7 43 00       	mov    $0x43f7b8,%eax
41a47e:	87 08                	xchg   %ecx,(%eax)
41a480:	8b 06                	mov    (%esi),%eax
41a482:	ff 30                	push   (%eax)
41a484:	8b 46 04             	mov    0x4(%esi),%eax
41a487:	8b 00                	mov    (%eax),%eax
41a489:	83 c0 4c             	add    $0x4c,%eax
41a48c:	50                   	push   %eax
41a48d:	e8 ed a4 00 00       	call   0x42497f
41a492:	8b 06                	mov    (%esi),%eax
41a494:	ff 30                	push   (%eax)
41a496:	e8 e2 a3 00 00       	call   0x42487d
41a49b:	8b 46 04             	mov    0x4(%esi),%eax
41a49e:	83 c4 0c             	add    $0xc,%esp
41a4a1:	8b 00                	mov    (%eax),%eax
41a4a3:	f6 80 50 03 00 00 02 	testb  $0x2,0x350(%eax)
41a4aa:	75 4f                	jne    0x41a4fb
41a4ac:	f6 05 34 db 43 00 01 	testb  $0x1,0x43db34
41a4b3:	75 46                	jne    0x41a4fb
41a4b5:	ff 70 4c             	push   0x4c(%eax)
41a4b8:	68 dc f7 43 00       	push   $0x43f7dc
41a4bd:	e8 bd a4 00 00       	call   0x42497f
41a4c2:	a1 dc f7 43 00       	mov    0x43f7dc,%eax
41a4c7:	59                   	pop    %ecx
41a4c8:	59                   	pop    %ecx
41a4c9:	5e                   	pop    %esi
41a4ca:	8b 88 88 00 00 00    	mov    0x88(%eax),%ecx
41a4d0:	89 0d 28 db 43 00    	mov    %ecx,0x43db28
41a4d6:	8b 08                	mov    (%eax),%ecx
41a4d8:	89 0d 08 d3 43 00    	mov    %ecx,0x43d308
41a4de:	8b 40 04             	mov    0x4(%eax),%eax
41a4e1:	a3 1c d2 43 00       	mov    %eax,0x43d21c
41a4e6:	c3                   	ret
41a4e7:	8b 06                	mov    (%esi),%eax
41a4e9:	ff 30                	push   (%eax)
41a4eb:	e8 8d a3 00 00       	call   0x42487d
41a4f0:	8b 06                	mov    (%esi),%eax
41a4f2:	ff 30                	push   (%eax)
41a4f4:	e8 b9 a1 00 00       	call   0x4246b2
41a4f9:	59                   	pop    %ecx
41a4fa:	59                   	pop    %ecx
41a4fb:	5e                   	pop    %esi
41a4fc:	c3                   	ret
41a4fd:	8b ff                	mov    %edi,%edi
41a4ff:	55                   	push   %ebp
41a500:	8b ec                	mov    %esp,%ebp
41a502:	56                   	push   %esi
41a503:	ff 75 0c             	push   0xc(%ebp)
41a506:	8b f1                	mov    %ecx,%esi
41a508:	ff 75 08             	push   0x8(%ebp)
41a50b:	6a 55                	push   $0x55
41a50d:	8b 46 08             	mov    0x8(%esi),%eax
41a510:	05 50 02 00 00       	add    $0x250,%eax
41a515:	50                   	push   %eax
41a516:	e8 b2 78 00 00       	call   0x421dcd
41a51b:	83 c4 10             	add    $0x10,%esp
41a51e:	85 c0                	test   %eax,%eax
41a520:	75 12                	jne    0x41a534
41a522:	ff 75 0c             	push   0xc(%ebp)
41a525:	8b ce                	mov    %esi,%ecx
41a527:	ff 75 08             	push   0x8(%ebp)
41a52a:	e8 12 00 00 00       	call   0x41a541
41a52f:	5e                   	pop    %esi
41a530:	5d                   	pop    %ebp
41a531:	c2 08 00             	ret    $0x8
41a534:	33 c0                	xor    %eax,%eax
41a536:	50                   	push   %eax
41a537:	50                   	push   %eax
41a538:	50                   	push   %eax
41a539:	50                   	push   %eax
41a53a:	50                   	push   %eax
41a53b:	e8 db 2e ff ff       	call   0x40d41b
41a540:	cc                   	int3
41a541:	8b ff                	mov    %edi,%edi
41a543:	55                   	push   %ebp
41a544:	8b ec                	mov    %esp,%ebp
41a546:	56                   	push   %esi
41a547:	ff 75 0c             	push   0xc(%ebp)
41a54a:	8b f1                	mov    %ecx,%esi
41a54c:	ff 75 08             	push   0x8(%ebp)
41a54f:	ff 76 04             	push   0x4(%esi)
41a552:	ff 36                	push   (%esi)
41a554:	e8 74 78 00 00       	call   0x421dcd
41a559:	83 c4 10             	add    $0x10,%esp
41a55c:	85 c0                	test   %eax,%eax
41a55e:	75 09                	jne    0x41a569
41a560:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
41a564:	5e                   	pop    %esi
41a565:	5d                   	pop    %ebp
41a566:	c2 08 00             	ret    $0x8
41a569:	33 c0                	xor    %eax,%eax
41a56b:	50                   	push   %eax
41a56c:	50                   	push   %eax
41a56d:	50                   	push   %eax