40a3f7:	01 7d 00             	add    %edi,0x0(%ebp)
40a3fa:	02 00                	add    (%eax),%al
40a3fc:	4a                   	dec    %edx
40a3fd:	01 7f 00             	add    %edi,0x0(%edi)
40a400:	01 00                	add    %eax,(%eax)
40a402:	4b                   	dec    %ebx
40a403:	01 7f 00             	add    %edi,0x0(%edi)
40a406:	fc                   	cld
40a407:	18 da                	sbb    %bl,%dl
40a409:	01 f1                	add    %esi,%ecx
40a40b:	18 e5                	sbb    %ah,%ch
40a40d:	18 20                	sbb    %ah,(%eax)
40a40f:	00 27                	add    %ah,(%edi)
40a411:	00 34 00             	add    %dh,(%eax,%eax,1)
40a414:	3a 00                	cmp    (%eax),%al
40a416:	40                   	inc    %eax
40a417:	00 87 01 96 01 dc    	add    %al,-0x23fe69ff(%edi)
40a41d:	01 e5                	add    %esp,%ebp
40a41f:	01 05 02 3f 02 6e    	add    %eax,0x6e023f02
40a425:	02 89 02 b3 02 04    	add    0x402b302(%ecx),%cl
40a42b:	03 14 03             	add    (%ebx,%eax,1),%edx
40a42e:	32 03                	xor    (%ebx),%al
40a430:	9e                   	sahf
40a431:	03 6c 04 3d          	add    0x3d(%esp,%eax,1),%ebp
40a435:	05 48 05 71 05       	add    $0x5710548,%eax
40a43a:	ac                   	lods   %ds:(%esi),%al
40a43b:	05 23 06 46 06       	add    $0x6460623,%eax
40a440:	00 01                	add    %al,(%ecx)
40a442:	e3 01                	jecxz  0x40a445
40a444:	b9 13 01 00 00       	mov    $0x113,%ecx
40a449:	01 e5                	add    %esp,%ebp
40a44b:	01 e7                	add    %esp,%edi
40a44d:	28 02                	sub    %al,(%edx)
40a44f:	00 00                	add    %al,(%eax)
40a451:	01 e7                	add    %esp,%edi
40a453:	01 04 29             	add    %eax,(%ecx,%ebp,1)
40a456:	03 00                	add    (%eax),%eax
40a458:	00 01                	add    %al,(%ecx)
40a45a:	e9 01 f8 28 03       	jmp    0x3699c60
40a45f:	00 40 01             	add    %al,0x1(%eax)
40a462:	eb 01                	jmp    0x40a465
40a464:	db 2c 03             	fldt   (%ebx,%eax,1)
40a467:	00 40 01             	add    %al,0x1(%eax)
40a46a:	ed                   	in     (%dx),%eax
40a46b:	01 30                	add    %esi,(%eax)
40a46d:	2d 03 00 40 01       	sub    $0x1400003,%eax
40a472:	ef                   	out    %eax,(%dx)
40a473:	01 4d 15             	add    %ecx,0x15(%ebp)
40a476:	03 00                	add    (%eax),%eax
40a478:	00 01                	add    %al,(%ecx)
40a47a:	f1                   	int1
40a47b:	01 f0                	add    %esi,%eax
40a47d:	0c 03                	or     $0x3,%al
40a47f:	00 40 01             	add    %al,0x1(%eax)
40a482:	f3 01 93 2a 03 00 40 	repz add %edx,0x4000032a(%ebx)
40a489:	01 f5                	add    %esi,%ebp
40a48b:	01 a6 2a 03 00 00    	add    %esp,0x32a(%esi)
40a491:	01 f7                	add    %esi,%edi
40a493:	01 67 29             	add    %esp,0x29(%edi)
40a496:	03 00                	add    (%eax),%eax
40a498:	46                   	inc    %esi
40a499:	01 f9                	add    %edi,%ecx
40a49b:	01 86 2c 03 00 04    	add    %eax,0x400032c(%esi)
40a4a1:	01 fb                	add    %edi,%ebx
40a4a3:	01 02                	add    %eax,(%edx)
40a4a5:	16                   	push   %ss
40a4a6:	03 00                	add    (%eax),%eax
40a4a8:	40                   	inc    %eax
40a4a9:	01 fd                	add    %edi,%ebp
40a4ab:	01 00                	add    %eax,(%eax)
40a4ad:	05 03 00 07 01       	add    $0x1070003,%eax
40a4b2:	ff 01                	incl   (%ecx)
40a4b4:	11 2b                	adc    %ebp,(%ebx)
40a4b6:	03 00                	add    (%eax),%eax
40a4b8:	00 01                	add    %al,(%ecx)
40a4ba:	01 02                	add    %eax,(%edx)
40a4bc:	77 04                	ja     0x40a4c2
40a4be:	03 00                	add    (%eax),%eax
40a4c0:	46                   	inc    %esi
40a4c1:	01 03                	add    %eax,(%ebx)
40a4c3:	02 cc                	add    %ah,%cl
40a4c5:	2b 03                	sub    (%ebx),%eax
40a4c7:	00 40 01             	add    %al,0x1(%eax)
40a4ca:	05 02 1b 2b 03       	add    $0x32b1b02,%eax
40a4cf:	00 00                	add    %al,(%eax)
40a4d1:	01 07                	add    %eax,(%edi)
40a4d3:	02 0f                	add    (%edi),%cl
40a4d5:	2e 04 00             	cs add $0x0,%al
40a4d8:	06                   	push   %es
40a4d9:	01 09                	add    %ecx,(%ecx)
40a4db:	02 93 20 03 00 c8    	add    -0x37fffce0(%ebx),%dl
40a4e1:	00 08                	add    %cl,(%eax)
40a4e3:	00 a4 00 d8 00 08 00 	add    %ah,0x800d8(%eax,%eax,1)
40a4ea:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a4eb:	00 f0                	add    %dh,%al
40a4ed:	00 08                	add    %cl,(%eax)
40a4ef:	00 a6 00 00 01 08    	add    %ah,0x8010000(%esi)
40a4f5:	00 a7 00 04 80 00    	add    %ah,0x800400(%edi)
40a4fb:	00 04 00             	add    %al,(%eax,%eax,1)
40a4fe:	06                   	push   %es
40a4ff:	00 00                	add    %al,(%eax)
40a501:	00 0c 00             	add    %cl,(%eax,%eax,1)
40a504:	00 00                	add    %al,(%eax)
40a506:	00 00                	add    %al,(%eax)
40a508:	00 00                	add    %al,(%eax)
40a50a:	6c                   	insb   (%dx),%es:(%edi)
40a50b:	21 00                	and    %eax,(%eax)
40a50d:	00 04 00             	add    %al,(%eax,%eax,1)
40a518:	00 00                	add    %al,(%eax)
40a51a:	60                   	pusha
40a51b:	06                   	push   %es
40a51c:	55                   	push   %ebp
40a51d:	04 00                	add    $0x0,%al
40a51f:	00 00                	add    %al,(%eax)
40a521:	00 04 00             	add    %al,(%eax,%eax,1)
40a52c:	00 00                	add    %al,(%eax)
40a52e:	60                   	pusha
40a52f:	06                   	push   %es
40a530:	1f                   	pop    %ds
40a531:	27                   	daa
40a532:	00 00                	add    %al,(%eax)
40a534:	00 00                	add    %al,(%eax)
40a536:	04 00                	add    $0x0,%al
40a540:	00 00                	add    %al,(%eax)
40a542:	60                   	pusha
40a543:	06                   	push   %es
40a544:	5b                   	pop    %ebx
40a545:	1c 00                	sbb    $0x0,%al
40a547:	00 00                	add    %al,(%eax)
40a549:	00 04 00             	add    %al,(%eax,%eax,1)
40a554:	00 00                	add    %al,(%eax)
40a556:	69 06 3e 15 00 00    	imul   $0x153e,(%esi),%eax
40a55c:	00 00                	add    %al,(%eax)
40a55e:	0a 00                	or     (%eax),%al
40a568:	00 00                	add    %al,(%eax)
40a56a:	69 06 9b 04 00 00    	imul   $0x49b,(%esi),%eax
40a570:	00 00                	add    %al,(%eax)
40a572:	00 00                	add    %al,(%eax)
40a574:	00 00                	add    %al,(%eax)
40a576:	01 00                	add    %eax,(%eax)
40a578:	00 00                	add    %al,(%eax)
40a57a:	e5 24                	in     $0x24,%eax
40a57c:	00 00                	add    %al,(%eax)
40a57e:	b8 00 00 00 01       	mov    $0x1000000,%eax
40a583:	00 00                	add    %al,(%eax)
40a585:	00 d0                	add    %dl,%al
40a587:	24 00                	and    $0x0,%al
40a589:	00 e0                	add    %ah,%al
40a58b:	3d 00 00 01 00       	cmp    $0x10000,%eax
40a590:	00 00                	add    %al,(%eax)
40a592:	0b 25 00 00 80 b6    	or     0xb6800000,%esp
40a598:	00 00                	add    %al,(%eax)
40a59a:	01 00                	add    %eax,(%eax)
40a59c:	00 00                	add    %al,(%eax)
40a59e:	46                   	inc    %esi
40a59f:	25 00 00 32 00       	and    $0x320000,%eax
40a5a4:	05 00 33 00 0a       	add    $0xa003300,%eax
40a5a9:	00 34 00             	add    %dh,(%eax,%eax,1)
40a5ac:	0a 00                	or     (%eax),%al
40a5ae:	35 00 0a 00 36       	xor    $0x36000a00,%eax
40a5b3:	00 0b                	add    %cl,(%ebx)
40a5b5:	00 37                	add    %dh,(%edi)
40a5b7:	00 0b                	add    %cl,(%ebx)
40a5b9:	00 38                	add    %bh,(%eax)
40a5bb:	00 0b                	add    %cl,(%ebx)
40a5bd:	00 39                	add    %bh,(%ecx)
40a5bf:	00 0f                	add    %cl,(%edi)
40a5c1:	00 3a                	add    %bh,(%edx)
40a5c3:	00 11                	add    %dl,(%ecx)
40a5c5:	00 3b                	add    %bh,(%ebx)
40a5c7:	00 11                	add    %dl,(%ecx)
40a5c9:	00 3c 00             	add    %bh,(%eax,%eax,1)
40a5cc:	1f                   	pop    %ds
40a5cd:	00 3d 00 1f 00 3e    	add    %bh,0x3e001f00
40a5d3:	00 2c 00             	add    %ch,(%eax,%eax,1)
40a5d6:	3f                   	aas
40a5d7:	00 2c 00             	add    %ch,(%eax,%eax,1)
40a5da:	40                   	inc    %eax
40a5db:	00 31                	add    %dh,(%ecx)
40a5dd:	00 41 00             	add    %al,0x0(%ecx)
40a5e0:	31 00                	xor    %eax,(%eax)
40a5e2:	42                   	inc    %edx
40a5e3:	00 31                	add    %dh,(%ecx)
40a5e5:	00 00                	add    %al,(%eax)
40a5e7:	00 00                	add    %al,(%eax)
40a5e9:	00 1e                	add    %bl,(%esi)
40a5eb:	00 06                	add    %al,(%esi)
40a5ed:	04 00                	add    $0x0,%al
40a5ef:	00 00                	add    %al,(%eax)
40a5f1:	00 3a                	add    %bh,(%edx)
40a5f3:	00 06                	add    %al,(%esi)
40a5f5:	04 00                	add    $0x0,%al
40a5f7:	00 00                	add    %al,(%eax)
40a5f9:	00 3c 00             	add    %bh,(%eax,%eax,1)
40a5fc:	06                   	push   %es
40a5fd:	04 00                	add    $0x0,%al
40a5ff:	00 00                	add    %al,(%eax)
40a601:	00 3e                	add    %bh,(%esi)
40a603:	00 06                	add    %al,(%esi)
40a605:	04 00                	add    $0x0,%al
40a607:	00 00                	add    %al,(%eax)
40a609:	00 72 00             	add    %dh,0x0(%edx)
40a60c:	06                   	push   %es
40a60d:	04 00                	add    $0x0,%al
40a60f:	00 00                	add    %al,(%eax)
40a611:	00 78 00             	add    %bh,0x0(%eax)
40a614:	06                   	push   %es
40a615:	04 00                	add    $0x0,%al
40a617:	00 00                	add    %al,(%eax)
40a619:	00 7a 00             	add    %bh,0x0(%edx)
40a61c:	06                   	push   %es
40a61d:	04 00                	add    $0x0,%al
40a61f:	00 00                	add    %al,(%eax)
40a621:	00 fd                	add    %bh,%ch
40a623:	00 06                	add    %al,(%esi)
40a625:	04 00                	add    $0x0,%al
40a627:	00 00                	add    %al,(%eax)
40a629:	00 ff                	add    %bh,%bh
40a62b:	00 06                	add    %al,(%esi)
40a62d:	04 00                	add    $0x0,%al
40a62f:	00 00                	add    %al,(%eax)
40a631:	00 41 01             	add    %al,0x1(%ecx)
40a634:	06                   	push   %es
40a635:	04 00                	add    $0x0,%al
40a637:	00 00                	add    %al,(%eax)
40a639:	00 45 01             	add    %al,0x1(%ebp)
40a63c:	06                   	push   %es
40a63d:	04 00                	add    $0x0,%al
40a63f:	00 00                	add    %al,(%eax)
40a641:	00 7d 01             	add    %bh,0x1(%ebp)
40a644:	06                   	push   %es
40a645:	04 00                	add    $0x0,%al
40a647:	00 00                	add    %al,(%eax)
40a649:	00 7f 01             	add    %bh,0x1(%edi)
40a64c:	06                   	push   %es
40a64d:	04 11                	add    $0x11,%al
40a64f:	01 f0                	add    %esi,%eax
40a651:	02 11                	add    (%ecx),%dl
40a653:	01 41 03             	add    %eax,0x3(%ecx)
40a656:	08 00                	or     %al,(%eax)
40a658:	45                   	inc    %ebp
40a659:	00 09                	add    %cl,(%ecx)
40a65b:	00 45 00             	add    %al,0x0(%ebp)
40a65e:	00 00                	add    %al,(%eax)
40a660:	00 3c 3e             	add    %bh,(%esi,%edi,1)
40a663:	39 5f 5f             	cmp    %ebx,0x5f(%edi)
40a666:	30 5f 30             	xor    %bl,0x30(%edi)
40a669:	00 3c 2e             	add    %bh,(%esi,%ebp,1)
40a66c:	63 74 6f 72          	arpl   %esi,0x72(%edi,%ebp,2)
40a670:	3e 62 5f 5f          	bound  %ebx,%ds:0x5f(%edi)
40a674:	30 5f 30             	xor    %bl,0x30(%edi)
40a677:	00 3c 3e             	add    %bh,(%esi,%edi,1)
40a67a:	39 5f 5f             	cmp    %ebx,0x5f(%edi)
40a67d:	31 5f 30             	xor    %ebx,0x30(%edi)
40a680:	00 3c 2e             	add    %bh,(%esi,%ebp,1)
40a683:	63 74 6f 72          	arpl   %esi,0x72(%edi,%ebp,2)
40a687:	3e 62 5f 5f          	bound  %ebx,%ds:0x5f(%edi)
40a68b:	31 5f 30             	xor    %ebx,0x30(%edi)
40a68e:	00 3c 3e             	add    %bh,(%esi,%edi,1)
40a691:	63 5f 5f             	arpl   %ebx,0x5f(%edi)
40a694:	44                   	inc    %esp
40a695:	69 73 70 6c 61 79 43 	imul   $0x4379616c,0x70(%ebx),%esi
40a69c:	6c                   	insb   (%dx),%es:(%edi)
40a69d:	61                   	popa
40a69e:	73 73                	jae    0x40a713
40a6a0:	31 5f 30             	xor    %ebx,0x30(%edi)
40a6a3:	00 3c 3e             	add    %bh,(%esi,%edi,1)
40a6a6:	63 5f 5f             	arpl   %ebx,0x5f(%edi)
40a6a9:	44                   	inc    %esp
40a6aa:	69 73 70 6c 61 79 43 	imul   $0x4379616c,0x70(%ebx),%esi
40a6b1:	6c                   	insb   (%dx),%es:(%edi)
40a6b2:	61                   	popa
40a6b3:	73 73                	jae    0x40a728
40a6b5:	36 5f                	ss pop %edi
40a6b7:	30 00                	xor    %al,(%eax)
40a6b9:	3c 3e                	cmp    $0x3e,%al
40a6bb:	63 5f 5f             	arpl   %ebx,0x5f(%edi)
40a6be:	44                   	inc    %esp
40a6bf:	69 73 70 6c 61 79 43 	imul   $0x4379616c,0x70(%ebx),%esi
40a6c6:	6c                   	insb   (%dx),%es:(%edi)
40a6c7:	61                   	popa
40a6c8:	73 73                	jae    0x40a73d
40a6ca:	39 5f 30             	cmp    %ebx,0x30(%edi)
40a6cd:	00 3c 47             	add    %bh,(%edi,%eax,2)
40a6d0:	65 74 57             	gs je  0x40a72a
40a6d3:	6f                   	outsl  %ds:(%esi),(%dx)
40a6d4:	72 6b                	jb     0x40a741
40a6d6:	65 72 57             	gs jb  0x40a730
40a6d9:	48                   	dec    %eax
40a6da:	61                   	popa
40a6db:	6e                   	outsb  %ds:(%esi),(%dx)
40a6dc:	64 6c                	fs insb (%dx),%es:(%edi)
40a6de:	65 3e 62 5f 5f       	gs bound %ebx,%ds:0x5f(%edi)
40a6e3:	30 00                	xor    %al,(%eax)
40a6e5:	3c 2e                	cmp    $0x2e,%al
40a6e7:	63 74 6f 72          	arpl   %esi,0x72(%edi,%ebp,2)
40a6eb:	3e 62 5f 5f          	bound  %ebx,%ds:0x5f(%edi)
40a6ef:	30 00                	xor    %al,(%eax)
40a6f1:	3c 57                	cmp    $0x57,%al
40a6f3:	69 6e 64 6f 77 48 61 	imul   $0x6148776f,0x64(%esi),%ebp
40a6fa:	6e                   	outsb  %ds:(%esi),(%dx)
40a6fb:	64 6c                	fs insb (%dx),%es:(%edi)
40a6fd:	65 73 3e             	gs jae 0x40a73e
40a700:	62 5f 5f             	bound  %ebx,0x5f(%edi)
40a703:	30 00                	xor    %al,(%eax)
40a705:	36 37                	ss aaa
40a707:	31 32                	xor    %esi,(%edx)
40a709:	30 31                	xor    %dh,(%ecx)
40a70b:	38 42 46             	cmp    %al,0x46(%edx)
40a70e:	34 45                	xor    $0x45,%al
40a710:	46                   	inc    %esi
40a711:	30 43 39             	xor    %al,0x39(%ebx)
40a714:	39 44 41 37          	cmp    %eax,0x37(%ecx,%eax,2)
40a718:	44                   	inc    %esp
40a719:	44                   	inc    %esp
40a71a:	30 35 38 32 35 39    	xor    %dh,0x39353238
40a720:	32 35 38 36 37 41    	xor    0x41373638,%dh
40a726:	44                   	inc    %esp
40a727:	46                   	inc    %esi
40a728:	46                   	inc    %esi
40a729:	44                   	inc    %esp
40a72a:	45                   	inc    %ebp
40a72b:	36 38 32             	cmp    %dh,%ss:(%edx)
40a72e:	35 37 45 44 38       	xor    $0x38444537,%eax
40a733:	30 35 39 32 38 41    	xor    %dh,0x41383239
40a739:	36 42                	ss inc %edx
40a73b:	44                   	inc    %esp
40a73c:	35 37 35 43 35       	xor    $0x35433537,%eax
40a741:	30 35 42 31 00 3c    	xor    %dh,0x3c003142
40a747:	3e 63 5f 5f          	arpl   %ebx,%ds:0x5f(%edi)
40a74b:	44                   	inc    %esp
40a74c:	69 73 70 6c 61 79 43 	imul   $0x4379616c,0x70(%ebx),%esi
40a753:	6c                   	insb   (%dx),%es:(%edi)
40a754:	61                   	popa
40a755:	73 73                	jae    0x40a7ca
40a757:	31 5f 31             	xor    %ebx,0x31(%edi)
40a75a:	00 3c 2e             	add    %bh,(%esi,%ebp,1)
40a75d:	63 74 6f 72          	arpl   %esi,0x72(%edi,%ebp,2)
40a761:	3e 62 5f 5f          	bound  %ebx,%ds:0x5f(%edi)
40a765:	31 00                	xor    %eax,(%eax)
40a767:	49                   	dec    %ecx
40a768:	45                   	inc    %ebp
40a769:	6e                   	outsb  %ds:(%esi),(%dx)
40a76a:	75 6d                	jne    0x40a7d9
40a76c:	65 72 61             	gs jb  0x40a7d0
40a76f:	62 6c 65 60          	bound  %ebp,0x60(%ebp,%eiz,2)
40a773:	31 00                	xor    %eax,(%eax)
40a775:	49                   	dec    %ecx
40a776:	45                   	inc    %ebp
40a777:	71 75                	jno    0x40a7ee