40b37a:	e8 91 ee ff ff       	call   0x40a210
40b37f:	8b 43 1c             	mov    0x1c(%ebx),%eax
40b382:	85 c0                	test   %eax,%eax
40b384:	74 3d                	je     0x40b3c3
40b386:	8b 8b fe 00 00 00    	mov    0xfe(%ebx),%ecx
40b38c:	e3 10                	jecxz  0x40b39e
40b38e:	41                   	inc    %ecx
40b38f:	74 0d                	je     0x40b39e
40b391:	f6 43 34 04          	testb  $0x4,0x34(%ebx)
40b395:	75 07                	jne    0x40b39e
40b397:	49                   	dec    %ecx
40b398:	51                   	push   %ecx
40b399:	e8 4a 96 ff ff       	call   0x4049e8
40b39e:	ff 73 1c             	push   0x1c(%ebx)
40b3a1:	e8 1a 97 ff ff       	call   0x404ac0
40b3a6:	85 c0                	test   %eax,%eax
40b3a8:	74 14                	je     0x40b3be
40b3aa:	6a 00                	push   $0x0
40b3ac:	6a eb                	push   $0xffffffeb
40b3ae:	ff 73 1c             	push   0x1c(%ebx)
40b3b1:	e8 56 9c ff ff       	call   0x40500c
40b3b6:	ff 73 1c             	push   0x1c(%ebx)
40b3b9:	e8 32 96 ff ff       	call   0x4049f0
40b3be:	31 c0                	xor    %eax,%eax
40b3c0:	89 43 1c             	mov    %eax,0x1c(%ebx)
40b3c3:	6a 00                	push   $0x0
40b3c5:	f6 43 39 20          	testb  $0x20,0x39(%ebx)
40b3c9:	74 06                	je     0x40b3d1
40b3cb:	ff b3 ea 00 00 00    	push   0xea(%ebx)
40b3d1:	8b 8b e6 00 00 00    	mov    0xe6(%ebx),%ecx
40b3d7:	e3 01                	jecxz  0x40b3da
40b3d9:	51                   	push   %ecx
40b3da:	59                   	pop    %ecx
40b3db:	e3 08                	jecxz  0x40b3e5
40b3dd:	91                   	xchg   %eax,%ecx
40b3de:	e8 7d 74 ff ff       	call   0x402860
40b3e3:	eb f5                	jmp    0x40b3da
40b3e5:	31 c9                	xor    %ecx,%ecx
40b3e7:	87 4b 48             	xchg   %ecx,0x48(%ebx)
40b3ea:	e3 06                	jecxz  0x40b3f2
40b3ec:	51                   	push   %ecx
40b3ed:	e8 0e 95 ff ff       	call   0x404900
40b3f2:	8b 4b 30             	mov    0x30(%ebx),%ecx
40b3f5:	e3 23                	jecxz  0x40b41a
40b3f7:	39 99 f2 00 00 00    	cmp    %ebx,0xf2(%ecx)
40b3fd:	75 08                	jne    0x40b407
40b3ff:	31 c0                	xor    %eax,%eax
40b401:	89 81 f2 00 00 00    	mov    %eax,0xf2(%ecx)
40b407:	51                   	push   %ecx
40b408:	8b 41 44             	mov    0x44(%ecx),%eax
40b40b:	89 da                	mov    %ebx,%edx
40b40d:	e8 5a 9e ff ff       	call   0x40526c
40b412:	58                   	pop    %eax
40b413:	89 da                	mov    %ebx,%edx
40b415:	e8 72 ee ff ff       	call   0x40a28c
40b41a:	8d 73 40             	lea    0x40(%ebx),%esi
40b41d:	ad                   	lods   %ds:(%esi),%eax
40b41e:	e8 ed ed ff ff       	call   0x40a210
40b423:	ad                   	lods   %ds:(%esi),%eax
40b424:	e8 e7 ed ff ff       	call   0x40a210
40b429:	8d 83 e2 00 00 00    	lea    0xe2(%ebx),%eax
40b42f:	e8 60 82 ff ff       	call   0x403694
40b434:	93                   	xchg   %eax,%ebx
40b435:	e8 e6 ed ff ff       	call   0x40a220
40b43a:	5e                   	pop    %esi
40b43b:	5b                   	pop    %ebx
40b43c:	c3                   	ret
40b43d:	8d 40 00             	lea    0x0(%eax),%eax
40b440:	53                   	push   %ebx
40b441:	89 c3                	mov    %eax,%ebx
40b443:	0f b6 d2             	movzbl %dl,%edx
40b446:	52                   	push   %edx
40b447:	e8 cc 06 00 00       	call   0x40bb18
40b44c:	5a                   	pop    %edx
40b44d:	38 d0                	cmp    %dl,%al
40b44f:	74 20                	je     0x40b471
40b451:	85 d2                	test   %edx,%edx
40b453:	75 06                	jne    0x40b45b
40b455:	80 4b 27 08          	orb    $0x8,0x27(%ebx)
40b459:	eb 04                	jmp    0x40b45f
40b45b:	80 63 27 f7          	andb   $0xf7,0x27(%ebx)
40b45f:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
40b462:	e3 07                	jecxz  0x40b46b
40b464:	52                   	push   %edx
40b465:	51                   	push   %ecx
40b466:	e8 9d 95 ff ff       	call   0x404a08
40b46b:	93                   	xchg   %eax,%ebx
40b46c:	e8 fb 05 00 00       	call   0x40ba6c
40b471:	5b                   	pop    %ebx
40b472:	c3                   	ret
40b473:	90                   	nop
40b474:	53                   	push   %ebx
40b475:	56                   	push   %esi
40b476:	93                   	xchg   %eax,%ebx
40b477:	31 c9                	xor    %ecx,%ecx
40b479:	8b 42 04             	mov    0x4(%edx),%eax
40b47c:	80 ec 02             	sub    $0x2,%ah
40b47f:	83 f8 0a             	cmp    $0xa,%eax
40b482:	77 33                	ja     0x40b4b7
40b484:	ff 72 0c             	push   0xc(%edx)
40b487:	60                   	pusha
40b488:	6a 12                	push   $0x12
40b48a:	e8 d1 95 ff ff       	call   0x404a60
40b48f:	01 c0                	add    %eax,%eax
40b491:	61                   	popa
40b492:	92                   	xchg   %eax,%edx
40b493:	8b 40 08             	mov    0x8(%eax),%eax
40b496:	73 02                	jae    0x40b49a
40b498:	0c 20                	or     $0x20,%al
40b49a:	50                   	push   %eax
40b49b:	8b 43 50             	mov    0x50(%ebx),%eax
40b49e:	8d 70 18             	lea    0x18(%eax),%esi
40b4a1:	ff 14 95 bb b4 40 00 	call   *0x40b4bb(,%edx,4)
40b4a8:	51                   	push   %ecx
40b4a9:	89 e1                	mov    %esp,%ecx
40b4ab:	89 da                	mov    %ebx,%edx
40b4ad:	8b 46 04             	mov    0x4(%esi),%eax
40b4b0:	ff 16                	call   *(%esi)
40b4b2:	59                   	pop    %ecx
40b4b3:	5a                   	pop    %edx
40b4b4:	5a                   	pop    %edx
40b4b5:	88 e9                	mov    %ch,%cl
40b4b7:	91                   	xchg   %eax,%ecx
40b4b8:	5e                   	pop    %esi
40b4b9:	5b                   	pop    %ebx
40b4ba:	c3                   	ret
40b4bb:	f1                   	int1
40b4bc:	b4 40                	mov    $0x40,%ah
40b4be:	00 e9                	add    %ch,%cl
40b4c0:	b4 40                	mov    $0x40,%ah
40b4c2:	00 ed                	add    %ch,%ch
40b4c4:	b4 40                	mov    $0x40,%ah
40b4c6:	00 f7                	add    %dh,%bh
40b4c8:	b4 40                	mov    $0x40,%ah
40b4ca:	00 e8                	add    %ch,%al
40b4cc:	b4 40                	mov    $0x40,%ah
40b4ce:	00 ec                	add    %ch,%ah
40b4d0:	b4 40                	mov    $0x40,%ah
40b4d2:	00 f6                	add    %dh,%dh
40b4d4:	b4 40                	mov    $0x40,%ah
40b4d6:	00 e7                	add    %ah,%bh
40b4d8:	b4 40                	mov    $0x40,%ah
40b4da:	00 eb                	add    %ch,%bl
40b4dc:	b4 40                	mov    $0x40,%ah
40b4de:	00 f5                	add    %dh,%ch
40b4e0:	b4 40                	mov    $0x40,%ah
40b4e2:	00 fc                	add    %bh,%ah
40b4e4:	b4 40                	mov    $0x40,%ah
40b4e6:	00 41 41             	add    %al,0x41(%ecx)
40b4e9:	41                   	inc    %ecx
40b4ea:	c3                   	ret
40b4eb:	41                   	inc    %ecx
40b4ec:	41                   	inc    %ecx
40b4ed:	41                   	inc    %ecx
40b4ee:	ad                   	lods   %ds:(%esi),%eax
40b4ef:	ad                   	lods   %ds:(%esi),%eax
40b4f0:	c3                   	ret
40b4f1:	83 c6 10             	add    $0x10,%esi
40b4f4:	c3                   	ret
40b4f5:	41                   	inc    %ecx
40b4f6:	41                   	inc    %ecx
40b4f7:	41                   	inc    %ecx
40b4f8:	83 c6 18             	add    $0x18,%esi
40b4fb:	c3                   	ret
40b4fc:	83 c6 20             	add    $0x20,%esi
40b4ff:	c3                   	ret
40b500:	53                   	push   %ebx
40b501:	56                   	push   %esi
40b502:	57                   	push   %edi
40b503:	55                   	push   %ebp
40b504:	96                   	xchg   %eax,%esi
40b505:	89 d7                	mov    %edx,%edi
40b507:	8b 6e 60             	mov    0x60(%esi),%ebp
40b50a:	31 c0                	xor    %eax,%eax
40b50c:	3b 07                	cmp    (%edi),%eax
40b50e:	74 0a                	je     0x40b51a
40b510:	3b 46 1c             	cmp    0x1c(%esi),%eax
40b513:	75 05                	jne    0x40b51a
40b515:	8b 07                	mov    (%edi),%eax
40b517:	89 46 1c             	mov    %eax,0x1c(%esi)
40b51a:	31 c0                	xor    %eax,%eax
40b51c:	38 05 94 98 42 00    	cmp    %al,0x429894
40b522:	74 11                	je     0x40b535
40b524:	8b 0d 98 98 42 00    	mov    0x429898,%ecx
40b52a:	e3 09                	jecxz  0x40b535
40b52c:	39 f1                	cmp    %esi,%ecx
40b52e:	74 05                	je     0x40b535
40b530:	e8 6d 00 00 00       	call   0x40b5a2
40b535:	89 f1                	mov    %esi,%ecx
40b537:	e8 66 00 00 00       	call   0x40b5a2
40b53c:	8b 5e 5c             	mov    0x5c(%esi),%ebx
40b53f:	89 f0                	mov    %esi,%eax
40b541:	e8 64 00 00 00       	call   0x40b5aa
40b546:	0f b7 47 04          	movzwl 0x4(%edi),%eax
40b54a:	66 3d 10 00          	cmp    $0x10,%ax
40b54e:	75 2a                	jne    0x40b57a
40b550:	3b 35 98 98 42 00    	cmp    0x429898,%esi
40b556:	74 0f                	je     0x40b567
40b558:	89 f0                	mov    %esi,%eax
40b55a:	e8 cd 05 00 00       	call   0x40bb2c
40b55f:	84 c0                	test   %al,%al
40b561:	0f 84 e3 01 00 00    	je     0x40b74a
40b567:	6a 00                	push   $0x0
40b569:	e8 82 95 ff ff       	call   0x404af0
40b56e:	c6 05 95 98 42 00 01 	movb   $0x1,0x429895
40b575:	e9 d0 01 00 00       	jmp    0x40b74a
40b57a:	66 3d 02 00          	cmp    $0x2,%ax
40b57e:	75 09                	jne    0x40b589
40b580:	80 4e 35 10          	orb    $0x10,0x35(%esi)
40b584:	e9 c1 01 00 00       	jmp    0x40b74a
40b589:	66 3d 82 00          	cmp    $0x82,%ax
40b58d:	75 32                	jne    0x40b5c1
40b58f:	6a 00                	push   $0x0
40b591:	6a eb                	push   $0xffffffeb
40b593:	ff 76 1c             	push   0x1c(%esi)
40b596:	e8 71 9a ff ff       	call   0x40500c
40b59b:	31 c0                	xor    %eax,%eax
40b59d:	e9 c8 01 00 00       	jmp    0x40b76a
40b5a2:	8b 41 50             	mov    0x50(%ecx),%eax
40b5a5:	8b 18                	mov    (%eax),%ebx
40b5a7:	8b 40 04             	mov    0x4(%eax),%eax
40b5aa:	6a 00                	push   $0x0
40b5ac:	89 fa                	mov    %edi,%edx
40b5ae:	89 e1                	mov    %esp,%ecx
40b5b0:	ff d3                	call   *%ebx
40b5b2:	84 c0                	test   %al,%al
40b5b4:	58                   	pop    %eax
40b5b5:	0f 84 b3 01 00 00    	je     0x40b76e
40b5bb:	5a                   	pop    %edx
40b5bc:	e9 96 01 00 00       	jmp    0x40b757
40b5c1:	66 3d 05 00          	cmp    $0x5,%ax
40b5c5:	75 17                	jne    0x40b5de
40b5c7:	89 fa                	mov    %edi,%edx
40b5c9:	89 f0                	mov    %esi,%eax
40b5cb:	e8 04 05 00 00       	call   0x40bad4
40b5d0:	50                   	push   %eax
40b5d1:	89 f0                	mov    %esi,%eax
40b5d3:	ff 15 48 61 42 00    	call   *0x426148
40b5d9:	e9 8b 01 00 00       	jmp    0x40b769
40b5de:	66 3d 12 01          	cmp    $0x112,%ax
40b5e2:	75 49                	jne    0x40b62d
40b5e4:	8b 47 08             	mov    0x8(%edi),%eax
40b5e7:	24 f0                	and    $0xf0,%al
40b5e9:	66 3d 20 f0          	cmp    $0xf020,%ax
40b5ed:	0f 85 57 01 00 00    	jne    0x40b74a
40b5f3:	89 f0                	mov    %esi,%eax
40b5f5:	e8 32 05 00 00       	call   0x40bb2c
40b5fa:	84 c0                	test   %al,%al
40b5fc:	0f 84 48 01 00 00    	je     0x40b74a
40b602:	3b 35 98 98 42 00    	cmp    0x429898,%esi
40b608:	0f 84 3c 01 00 00    	je     0x40b74a
40b60e:	6a 00                	push   $0x0
40b610:	68 20 f0 00 00       	push   $0xf020
40b615:	68 12 01 00 00       	push   $0x112
40b61a:	8b 05 98 98 42 00    	mov    0x429898,%eax
40b620:	ff 70 1c             	push   0x1c(%eax)
40b623:	e8 bc 99 ff ff       	call   0x404fe4
40b628:	e9 28 01 00 00       	jmp    0x40b755
40b62d:	66 3d 07 00          	cmp    $0x7,%ax
40b631:	75 29                	jne    0x40b65c
40b633:	89 f0                	mov    %esi,%eax
40b635:	e8 ba 04 00 00       	call   0x40baf4
40b63a:	84 c0                	test   %al,%al
40b63c:	0f 84 13 01 00 00    	je     0x40b755
40b642:	fe 86 2a 01 00 00    	incb   0x12a(%esi)
40b648:	89 f0                	mov    %esi,%eax
40b64a:	89 fa                	mov    %edi,%edx
40b64c:	e8 83 04 00 00       	call   0x40bad4
40b651:	fe 8e 2a 01 00 00    	decb   0x12a(%esi)
40b657:	e9 0e 01 00 00       	jmp    0x40b76a
40b65c:	89 c2                	mov    %eax,%edx
40b65e:	66 81 ea 32 01       	sub    $0x132,%dx
40b663:	66 83 fa 06          	cmp    $0x6,%dx
40b667:	77 18                	ja     0x40b681
40b669:	ff 77 0c             	push   0xc(%edi)
40b66c:	ff 77 08             	push   0x8(%edi)
40b66f:	66 05 00 bc          	add    $0xbc00,%ax
40b673:	50                   	push   %eax
40b674:	ff 77 0c             	push   0xc(%edi)
40b677:	e8 80 99 ff ff       	call   0x404ffc
40b67c:	e9 d6 00 00 00       	jmp    0x40b757
40b681:	66 3d 11 01          	cmp    $0x111,%ax
40b685:	75 2a                	jne    0x40b6b1
40b687:	6a eb                	push   $0xffffffeb
40b689:	ff 77 0c             	push   0xc(%edi)
40b68c:	e8 1b 99 ff ff       	call   0x404fac
40b691:	85 c0                	test   %eax,%eax
40b693:	0f 84 b1 00 00 00    	je     0x40b74a
40b699:	ff 77 0c             	push   0xc(%edi)
40b69c:	ff 77 08             	push   0x8(%edi)
40b69f:	68 05 b0 00 00       	push   $0xb005
40b6a4:	ff 77 0c             	push   0xc(%edi)
40b6a7:	e8 50 99 ff ff       	call   0x404ffc
40b6ac:	e9 a6 00 00 00       	jmp    0x40b757
40b6b1:	89 c2                	mov    %eax,%edx
40b6b3:	66 81 ea 00 01       	sub    $0x100,%dx
40b6b8:	66 83 fa 08          	cmp    $0x8,%dx
40b6bc:	0f 87 88 00 00 00    	ja     0x40b74a
40b6c2:	e8 91 93 ff ff       	call   0x404a58
40b6c7:	3b 46 1c             	cmp    0x1c(%esi),%eax
40b6ca:	0f 85 85 00 00 00    	jne    0x40b755
40b6d0:	50                   	push   %eax
40b6d1:	89 e1                	mov    %esp,%ecx
40b6d3:	89 fa                	mov    %edi,%edx
40b6d5:	89 f0                	mov    %esi,%eax
40b6d7:	ff 15 5c 62 42 00    	call   *0x42625c
40b6dd:	84 c0                	test   %al,%al
40b6df:	75 0b                	jne    0x40b6ec
40b6e1:	89 e1                	mov    %esp,%ecx
40b6e3:	89 fa                	mov    %edi,%edx
40b6e5:	89 f0                	mov    %esi,%eax
40b6e7:	ff 56 64             	call   *0x64(%esi)
40b6ea:	84 c0                	test   %al,%al
40b6ec:	58                   	pop    %eax
40b6ed:	75 68                	jne    0x40b757
40b6ef:	6a 11                	push   $0x11
40b6f1:	e8 6a 93 ff ff       	call   0x404a60
40b6f6:	93                   	xchg   %eax,%ebx
40b6f7:	6a 12                	push   $0x12
40b6f9:	e8 62 93 ff ff       	call   0x404a60
40b6fe:	09 d8                	or     %ebx,%eax
40b700:	78 48                	js     0x40b74a
40b702:	66 81 7f 04 02 01    	cmpw   $0x102,0x4(%edi)
40b708:	75 08                	jne    0x40b712
40b70a:	80 7f 08 09          	cmpb   $0x9,0x8(%edi)
40b70e:	74 33                	je     0x40b743
40b710:	eb 38                	jmp    0x40b74a
40b712:	89 f0                	mov    %esi,%eax
40b714:	e8 27 08 00 00       	call   0x40bf40
40b719:	85 c0                	test   %eax,%eax
40b71b:	74 2d                	je     0x40b74a
40b71d:	8b 48 70             	mov    0x70(%eax),%ecx
40b720:	89 cb                	mov    %ecx,%ebx
40b722:	81 7f 04 00 01 00 00 	cmpl   $0x100,0x4(%edi)
40b729:	0f 95 c1             	setne  %cl
40b72c:	81 7f 04 04 01 00 00 	cmpl   $0x104,0x4(%edi)
40b733:	0f 95 c5             	setne  %ch
40b736:	20 e9                	and    %ch,%cl
40b738:	8b 57 08             	mov    0x8(%edi),%edx
40b73b:	89 f0                	mov    %esi,%eax
40b73d:	ff d3                	call   *%ebx
40b73f:	84 c0                	test   %al,%al
40b741:	74 07                	je     0x40b74a
40b743:	31 c0                	xor    %eax,%eax
40b745:	89 47 08             	mov    %eax,0x8(%edi)
40b748:	eb 0d                	jmp    0x40b757
40b74a:	89 f0                	mov    %esi,%eax
40b74c:	89 fa                	mov    %edi,%edx
40b74e:	e8 81 03 00 00       	call   0x40bad4
40b753:	eb 15                	jmp    0x40b76a