40f3a9:	35 06 20 01 01       	xor    $0x1012006,%eax
40f3ae:	12 81 35 03 20 00    	adc    0x200335(%ecx),%al
40f3b4:	02 09                	add    (%ecx),%cl
40f3b6:	20 03                	and    %al,(%ebx)
40f3b8:	01 12                	add    %edx,(%edx)
40f3ba:	61                   	popa
40f3bb:	02 11                	add    (%ecx),%dl
40f3bd:	81 71 07 20 02 01 12 	xorl   $0x12010220,0x7(%ecx)
40f3c4:	75 11                	jne    0x40f3d7
40f3c6:	79 05                	jns    0x40f3cd
40f3c8:	07                   	pop    %es
40f3c9:	01 12                	add    %edx,(%edx)
40f3cb:	80 80 05 07 01 12 80 	addb   $0x80,0x12010705(%eax)
40f3d2:	84 04 07             	test   %al,(%edi,%eax,1)
40f3d5:	01 11                	add    %edx,(%ecx)
40f3d7:	65 04 07             	gs add $0x7,%al
40f3da:	01 12                	add    %edx,(%edx)
40f3dc:	7d 05                	jge    0x40f3e3
40f3de:	07                   	pop    %es
40f3df:	01 12                	add    %edx,(%edx)
40f3e1:	80 81 06 07 02 12 18 	addb   $0x18,0x12020706(%ecx)
40f3e8:	12 61 04             	adc    0x4(%ecx),%ah
40f3eb:	20 00                	and    %al,(%eax)
40f3ed:	12 61 04             	adc    0x4(%ecx),%ah
40f3f0:	20 00                	and    %al,(%eax)
40f3f2:	11 65 05             	adc    %esp,0x5(%ebp)
40f3f5:	20 01                	and    %al,(%ecx)
40f3f7:	01 11                	add    %edx,(%ecx)
40f3f9:	65 03 07             	add    %gs:(%edi),%eax
40f3fc:	01 02                	add    %eax,(%edx)
40f3fe:	07                   	pop    %es
40f3ff:	07                   	pop    %es
40f400:	04 02                	add    $0x2,%al
40f402:	12 61 02             	adc    0x2(%ecx),%ah
40f405:	02 07                	add    (%edi),%al
40f407:	20 01                	and    %al,(%ecx)
40f409:	11 65 12             	adc    %esp,0x12(%ebp)
40f40c:	80 85 08 20 01 11 81 	addb   $0x81,0x11012008(%ebp)
40f413:	75 12                	jne    0x40f427
40f415:	80 85 08 07 02 12 80 	addb   $0x80,0x12020708(%ebp)
40f41c:	8d 12                	lea    (%edx),%edx
40f41e:	80 89 09 20 02 01 12 	orb    $0x12,0x1022009(%ecx)
40f425:	81 7d 12 81 81 06 20 	cmpl   $0x20068181,0x12(%ebp)
40f42c:	01 01                	add    %eax,(%ecx)
40f42e:	12 81 85 04 20 01    	adc    0x1200485(%ecx),%al
40f434:	01 0a                	add    %ecx,(%edx)
40f436:	06                   	push   %es
40f437:	20 01                	and    %al,(%ecx)
40f439:	01 12                	add    %edx,(%edx)
40f43b:	81 7d 0b 00 02 12 80 	cmpl   $0x80120200,0xb(%ebp)
40f442:	89 12                	mov    %edx,(%edx)
40f444:	80 85 12 81 89 06 07 	addb   $0x7,0x6898112(%ebp)
40f44b:	04 02                	add    $0x2,%al
40f44d:	02 02                	add    (%edx),%al
40f44f:	02 05 20 00 11 81    	add    0x81110020,%al
40f455:	8d 26                	lea    (%esi),%esp
40f457:	07                   	pop    %es
40f458:	11 12                	adc    %edx,(%edx)
40f45a:	18 12                	sbb    %dl,(%edx)
40f45c:	80 95 12 80 9d 12 80 	adcb   $0x80,0x129d8012(%ebp)
40f463:	a1 12 80 89 02       	mov    0x2898012,%eax
40f468:	12 80 8d 12 80 8d    	adc    -0x727fed73(%eax),%al
40f46e:	12 80 89 12 80 a5    	adc    -0x5a7fed77(%eax),%al
40f474:	02 02                	add    (%edx),%al
40f476:	02 12                	add    (%edx),%dl
40f478:	80 95 02 02 02 05 20 	adcb   $0x20,0x5020202(%ebp)
40f47f:	00 12                	add    %dl,(%edx)
40f481:	81 95 06 20 01 08 12 	adcl   $0x6998112,0x8012006(%ebp)
40f488:	81 99 06
40f48b:	20 01                	and    %al,(%ecx)
40f48d:	01 12                	add    %edx,(%edx)
40f48f:	81 9d 05 20 00 12 80 	sbbl   $0x20048980,0x12002005(%ebp)
40f496:	89 04 20
40f499:	01 02                	add    %eax,(%edx)
40f49b:	0e                   	push   %cs
40f49c:	06                   	push   %es
40f49d:	20 01                	and    %al,(%ecx)
40f49f:	12 81 a1 0e 05 20    	adc    0x20050ea1(%ecx),%al
40f4a5:	00 12                	add    %dl,(%edx)
40f4a7:	80 a5 03 20 00 1c 03 	andb   $0x3,0x1c002003(%ebp)
40f4ae:	20 00                	and    %al,(%eax)
40f4b0:	0a 03                	or     (%ebx),%al
40f4b2:	20 00                	and    %al,(%eax)
40f4b4:	08 08                	or     %cl,(%eax)
40f4b6:	20 01                	and    %al,(%ecx)
40f4b8:	12 80 89 12 80 89    	adc    -0x767fed77(%eax),%al
40f4be:	07                   	pop    %es
40f4bf:	15 12 81 01 01       	adc    $0x1018112,%eax
40f4c4:	12 0c 05 20 01 01 13 	adc    0x13010120(,%eax,1),%cl
40f4cb:	00 05 00 02 02 0e    	add    %al,0xe020200
40f4d1:	0e                   	push   %cs
40f4d2:	16                   	push   %ss
40f4d3:	07                   	pop    %es
40f4d4:	09 15 11 81 15 01    	or     %edx,0x1158111
40f4da:	12 0c 12             	adc    (%edx,%edx,1),%cl
40f4dd:	0c 11                	or     $0x11,%al
40f4df:	81 19 02 11 81 1d    	sbbl   $0x1d811102,(%ecx)
40f4e5:	02 02                	add    (%edx),%al
40f4e7:	02 02                	add    (%edx),%al
40f4e9:	09 20                	or     %esp,(%eax)
40f4eb:	00 15 11 81 15 01    	add    %dl,0x1158111
40f4f1:	13 00                	adc    (%eax),%eax
40f4f3:	07                   	pop    %es
40f4f4:	15 11 81 15 01       	adc    $0x1158111,%eax
40f4f9:	12 0c 04             	adc    (%esp,%eax,1),%cl
40f4fc:	20 00                	and    %al,(%eax)
40f4fe:	13 00                	adc    (%eax),%eax
40f500:	05 20 00 11 81       	add    $0x81110020,%eax
40f505:	19 05 20 02 01 08    	sbb    %eax,0x8010220
40f50b:	08 06                	or     %al,(%esi)
40f50d:	20 01                	and    %al,(%ecx)
40f50f:	01 11                	add    %edx,(%ecx)
40f511:	81 19 05 20 00 11    	sbbl   $0x11002005,(%ecx)
40f517:	81 1d 04 07 01 12 0c 	sbbl   $0x200050c,0x12010704
40f51e:	05 00 02
40f521:	0e                   	push   %cs
40f522:	0e                   	push   %cs
40f523:	0e                   	push   %cs
40f524:	06                   	push   %es
40f525:	20 01                	and    %al,(%ecx)
40f527:	01 11                	add    %edx,(%ecx)
40f529:	81 1d 06 20 01 01 11 	sbbl   $0x5b58111,0x1012006
40f530:	81 b5 05
40f533:	20 00                	and    %al,(%eax)
40f535:	12 81 b9 06 20 01    	adc    0x12006b9(%ecx),%al
40f53b:	01 12                	add    %edx,(%edx)
40f53d:	81 a9 05 07 01 11 81 	subl   $0x20061981,0x11010705(%ecx)
40f544:	19 06 20
40f547:	01 01                	add    %eax,(%ecx)
40f549:	12 81 05 05 00 00    	adc    0x505(%ecx),%al
40f54f:	11 81 29 06 20 01    	adc    %eax,0x1200629(%ecx)
40f555:	01 11                	add    %edx,(%ecx)
40f557:	81 29 06 20 01 01    	subl   $0x1012006,(%ecx)
40f55d:	12 81 c9 06 20 01    	adc    0x12006c9(%ecx),%al
40f563:	01 11                	add    %edx,(%ecx)
40f565:	81 cd 06 20 01 01    	or     $0x1012006,%ebp
40f56b:	12 81 d5 05 20 02    	adc    0x22005d5(%ecx),%al
40f571:	01 0c 0c             	add    %ecx,(%esp,%ecx,1)
40f574:	06                   	push   %es
40f575:	20 01                	and    %al,(%ecx)
40f577:	01 11                	add    %edx,(%ecx)
40f579:	81 d9 06 20 01 01    	sbb    $0x1012006,%ecx
40f57f:	11 81 e1 04 07 01    	adc    %eax,0x10704e1(%ecx)
40f585:	12 14 05 07 03 08 02 	adc    0x2080307(,%eax,1),%dl
40f58c:	0d 02 1d 0d 05       	or     $0x50d1d02,%eax
40f591:	07                   	pop    %es
40f592:	01 1d 1d 0d 0c 07    	add    %ebx,0x70c0d1d
40f598:	06                   	push   %es
40f599:	0d 1d 1d 0d 08       	or     $0x80d1d1d,%eax
40f59e:	02 0d 1d 1d 0d 04    	add    0x40d1d1d,%cl
40f5a4:	00 01                	add    %al,(%ecx)
40f5a6:	0d 0d 04 07 02       	or     $0x207040d,%eax
40f5ab:	08 02                	or     %al,(%edx)
40f5ad:	0a 07                	or     (%edi),%al
40f5af:	04 1d                	add    $0x1d,%al
40f5b1:	1d 0d 08 02 1d       	sbb    $0x1d02080d,%eax
40f5b6:	1d 0d 0b 07 05       	sbb    $0x5070b0d,%eax
40f5bb:	0d 1d 1d 0d 08       	or     $0x80d1d1d,%eax
40f5c0:	02 1d 1d 0d 0a 07    	add    0x70a0d1d,%bl
40f5c6:	07                   	pop    %es
40f5c7:	0d 1d 0d 08 08       	or     $0x8080d1d,%eax
40f5cc:	02 02                	add    (%edx),%al
40f5ce:	0d 07 15 12 81       	or     $0x81121507,%eax
40f5d3:	01 01                	add    %eax,(%ecx)
40f5d5:	12 58 0c             	adc    0xc(%eax),%bl
40f5d8:	15 12 81 01 01       	adc    $0x1018112,%eax
40f5dd:	15 12 81 01 01       	adc    $0x1018112,%eax
40f5e2:	12 58 08             	adc    0x8(%eax),%bl
40f5e5:	14 12                	adc    $0x12,%al
40f5e7:	58                   	pop    %eax
40f5e8:	02 00                	add    (%eax),%al
40f5ea:	02 00                	add    (%eax),%al
40f5ec:	00 15 07 13 0d 08    	add    %dl,0x80d1307
40f5f2:	08 02                	or     %al,(%edx)
40f5f4:	02 02                	add    (%edx),%al
40f5f6:	08 08                	or     %cl,(%eax)
40f5f8:	02 02                	add    (%edx),%al
40f5fa:	02 08                	add    (%eax),%cl
40f5fc:	08 02                	or     %al,(%edx)
40f5fe:	02 08                	add    (%eax),%cl
40f600:	08 02                	or     %al,(%edx)
40f602:	02 07                	add    (%edi),%al
40f604:	20 03                	and    %al,(%ebx)
40f606:	01 08                	add    %ecx,(%eax)
40f608:	08 12                	or     %dl,(%edx)
40f60a:	58                   	pop    %eax
40f60b:	06                   	push   %es
40f60c:	20 02                	and    %al,(%edx)
40f60e:	12 58 08             	adc    0x8(%eax),%bl
40f611:	08 08                	or     %cl,(%eax)
40f613:	07                   	pop    %es
40f614:	05 08 08 02 02       	add    $0x2020808,%eax
40f619:	12 58 17             	adc    0x17(%eax),%bl
40f61c:	07                   	pop    %es
40f61d:	0f 08                	invd
40f61f:	08 0d 0d 15 12 81    	or     %cl,0x8112150d
40f625:	01 01                	add    %eax,(%ecx)
40f627:	12 58 08             	adc    0x8(%eax),%bl
40f62a:	08 08                	or     %cl,(%eax)
40f62c:	0d 08 0d 02 02       	or     $0x2020d08,%eax
40f631:	02 02                	add    (%edx),%al
40f633:	03 07                	add    (%edi),%eax
40f635:	01 08                	add    %ecx,(%eax)
40f637:	0b 07                	or     (%edi),%eax
40f639:	09 02                	or     %eax,(%edx)
40f63b:	08 08                	or     %cl,(%eax)
40f63d:	02 02                	add    (%edx),%al
40f63f:	08 08                	or     %cl,(%eax)
40f641:	02 02                	add    (%edx),%al
40f643:	0a 07                	or     (%edi),%al
40f645:	08 08                	or     %cl,(%eax)
40f647:	08 02                	or     %al,(%edx)
40f649:	02 08                	add    (%eax),%cl
40f64b:	08 02                	or     %al,(%edx)
40f64d:	02 14 07             	add    (%edi,%eax,1),%dl
40f650:	0a 15 12 81 01 01    	or     0x1018112,%dl
40f656:	05 08 08 08 08       	add    $0x8080808,%eax
40f65b:	11 81 29 02 02 02    	adc    %eax,0x2020229(%ecx)
40f661:	1d 05 06 15 12       	sbb    $0x12150605,%eax
40f666:	81 01 01 05 07 20    	addl   $0x20070501,(%ecx)
40f66c:	02 11                	add    (%ecx),%dl
40f66e:	81 29 08 08 09 00    	subl   $0x90808,(%ecx)
40f674:	04 11                	add    $0x11,%al
40f676:	81 29 08 08 08 08    	subl   $0x8080808,(%ecx)
40f67c:	09 00                	or     %eax,(%eax)
40f67e:	02 02                	add    (%edx),%al
40f680:	11 81 29 11 81 29    	adc    %eax,0x29811129(%ecx)
40f686:	03 20                	add    (%eax),%esp
40f688:	00 05 05 20 00 1d    	add    %al,0x1d002005
40f68e:	13 00                	adc    (%eax),%eax
40f690:	29 07                	sub    %eax,(%edi)
40f692:	1e                   	push   %ds
40f693:	14 12                	adc    $0x12,%al
40f695:	58                   	pop    %eax
40f696:	02 00                	add    (%eax),%al
40f698:	02 00                	add    (%eax),%al
40f69a:	00 1d 12 58 08 08    	add    %bl,0x8085812
40f6a0:	02 02                	add    (%edx),%al
40f6a2:	08 02                	or     %al,(%edx)
40f6a4:	08 0d 0d 08 02 08    	or     %cl,0x802080d
40f6aa:	08 02                	or     %al,(%edx)
40f6ac:	02 02                	add    (%edx),%al
40f6ae:	02 08                	add    (%eax),%cl
40f6b0:	0d 0d 08 02 08       	or     $0x802080d,%eax
40f6b5:	08 02                	or     %al,(%edx)
40f6b7:	02 02                	add    (%edx),%al
40f6b9:	02 1c 07             	add    (%edi,%eax,1),%bl
40f6bc:	18 1d 12 58 02 08    	sbb    %bl,0x8025812
40f6c2:	02 08                	add    (%eax),%cl
40f6c4:	0d 0d 08 08 02       	or     $0x208080d,%eax
40f6c9:	02 02                	add    (%edx),%al
40f6cb:	02 02                	add    (%edx),%al
40f6cd:	08 0d 0d 08 08 02    	or     %cl,0x208080d
40f6d3:	02 02                	add    (%edx),%al
40f6d5:	02 02                	add    (%edx),%al
40f6d7:	24 07                	and    $0x7,%al
40f6d9:	12 12                	adc    (%edx),%dl
40f6db:	58                   	pop    %eax
40f6dc:	12 58 12             	adc    0x12(%eax),%bl
40f6df:	58                   	pop    %eax
40f6e0:	12 58 1d             	adc    0x1d(%eax),%bl
40f6e3:	12 48 08             	adc    0x8(%eax),%cl
40f6e6:	12 48 1d             	adc    0x1d(%eax),%cl
40f6e9:	12 48 08             	adc    0x8(%eax),%cl
40f6ec:	12 48 08             	adc    0x8(%eax),%cl
40f6ef:	12 58 12             	adc    0x12(%eax),%bl
40f6f2:	58                   	pop    %eax
40f6f3:	12 58 12             	adc    0x12(%eax),%bl
40f6f6:	58                   	pop    %eax
40f6f7:	12 58 12             	adc    0x12(%eax),%bl
40f6fa:	58                   	pop    %eax
40f6fb:	02 08                	add    (%eax),%cl
40f6fd:	07                   	pop    %es
40f6fe:	06                   	push   %es
40f6ff:	08 02                	or     %al,(%edx)
40f701:	08 08                	or     %cl,(%eax)
40f703:	02 02                	add    (%edx),%al
40f705:	0b 07                	or     (%edi),%eax
40f707:	09 02                	or     %eax,(%edx)
40f709:	08 02                	or     %al,(%edx)
40f70b:	08 02                	or     %al,(%edx)
40f70d:	08 02                	or     %al,(%edx)
40f70f:	08 02                	or     %al,(%edx)
40f711:	11 07                	adc    %eax,(%edi)
40f713:	09 0d 0d 15 12 81    	or     %ecx,0x8112150d
40f719:	01 01                	add    %eax,(%ecx)
40f71b:	12 58 08             	adc    0x8(%eax),%bl
40f71e:	0d 08 0d 02 02       	or     $0x2020d08,%eax
40f723:	0c 07                	or     $0x7,%al
40f725:	09 08                	or     %ecx,(%eax)
40f727:	08 02                	or     %al,(%edx)
40f729:	02 02                	add    (%edx),%al
40f72b:	02 02                	add    (%edx),%al
40f72d:	02 12                	add    (%edx),%dl
40f72f:	58                   	pop    %eax
40f730:	05 07 03 08 02       	add    $0x2080307,%eax
40f735:	02 06                	add    (%esi),%al
40f737:	15 12 81 01 01       	adc    $0x1018112,%eax
40f73c:	0d 05 20 01 13       	or     $0x13012005,%eax
40f741:	00 08                	add    %cl,(%eax)
40f743:	06                   	push   %es
40f744:	20 02                	and    %al,(%edx)
40f746:	01 08                	add    %ecx,(%eax)
40f748:	13 00                	adc    (%eax),%eax
40f74a:	17                   	pop    %ss
40f74b:	07                   	pop    %es
40f74c:	10 08                	adc    %cl,(%eax)
40f74e:	02 12                	add    (%edx),%dl
40f750:	30 12                	xor    %dl,(%edx)
40f752:	74 12                	je     0x40f766
40f754:	74 12                	je     0x40f768
40f756:	74 12                	je     0x40f76a
40f758:	50                   	push   %eax
40f759:	1c 1c                	sbb    $0x1c,%al
40f75b:	1c 08                	sbb    $0x8,%al
40f75d:	02 02                	add    (%edx),%al
40f75f:	02 08                	add    (%eax),%cl
40f761:	02 07                	add    (%edi),%al
40f763:	15 12 81 01 01       	adc    $0x1018112,%eax
40f768:	12 60 04             	adc    0x4(%eax),%ah
40f76b:	07                   	pop    %es
40f76c:	01 12                	add    %edx,(%edx)
40f76e:	58                   	pop    %eax
40f76f:	05 00 02 0d 0d       	add    $0xd0d0200,%eax
40f774:	0d 14 07 0e 08       	or     $0x80e0714,%eax
40f779:	08 08                	or     %cl,(%eax)
40f77b:	08 1d 1d 0d 08 02    	or     %bl,0x2080d1d
40f781:	08 08                	or     %cl,(%eax)
40f783:	08 02                	or     %al,(%edx)
40f785:	02 02                	add    (%edx),%al
40f787:	1d 1d 0d 1a 07       	sbb    $0x71a0d1d,%eax
40f78c:	0c 08                	or     $0x8,%al
40f78e:	08 08                	or     %cl,(%eax)
40f790:	08 14 0d 02 00 02 00 	or     %dl,0x20002(,%ecx,1)
40f797:	00 08                	add    %cl,(%eax)
40f799:	08 08                	or     %cl,(%eax)
40f79b:	02 02                	add    (%edx),%al
40f79d:	02 14 0d 02 00 02 00 	add    0x20002(,%ecx,1),%dl
40f7a4:	00 04 20             	add    %al,(%eax,%eiz,1)
40f7a7:	01 08                	add    %ecx,(%eax)
40f7a9:	08 07                	or     %al,(%edi)
40f7ab:	14 0d                	adc    $0xd,%al
40f7ad:	02 00                	add    (%eax),%al
40f7af:	02 00                	add    (%eax),%al
40f7b1:	00 06                	add    %al,(%esi)
40f7b3:	20 03                	and    %al,(%ebx)
40f7b5:	01 08                	add    %ecx,(%eax)
40f7b7:	08 0d 06 20 02 10    	or     %cl,0x10022006
40f7bd:	0d 08 08 05 20       	or     $0x20050808,%eax
40f7c2:	02 0d 08 08 0e 07    	add    0x70e0808,%cl