40aa22:	66 ba 00 00          	mov    $0x0,%dx
40aa26:	52                   	push   %edx
40aa27:	50                   	push   %eax
40aa28:	e8 4f a4 ff ff       	call   0x404e7c
40aa2d:	c3                   	ret
40aa2e:	8b c0                	mov    %eax,%eax
40aa30:	50                   	push   %eax
40aa31:	e8 5a 9d ff ff       	call   0x404790
40aa36:	85 c0                	test   %eax,%eax
40aa38:	0f 95 c0             	setne  %al
40aa3b:	c3                   	ret
40aa3c:	55                   	push   %ebp
40aa3d:	6a 00                	push   $0x0
40aa3f:	89 e5                	mov    %esp,%ebp
40aa41:	6a 00                	push   $0x0
40aa43:	55                   	push   %ebp
40aa44:	51                   	push   %ecx
40aa45:	52                   	push   %edx
40aa46:	50                   	push   %eax
40aa47:	e8 04 9e ff ff       	call   0x404850
40aa4c:	85 c0                	test   %eax,%eax
40aa4e:	58                   	pop    %eax
40aa4f:	75 02                	jne    0x40aa53
40aa51:	31 c0                	xor    %eax,%eax
40aa53:	5d                   	pop    %ebp
40aa54:	c3                   	ret
40aa55:	8d 40 00             	lea    0x0(%eax),%eax
40aa58:	55                   	push   %ebp
40aa59:	55                   	push   %ebp
40aa5a:	89 e5                	mov    %esp,%ebp
40aa5c:	6a 00                	push   $0x0
40aa5e:	55                   	push   %ebp
40aa5f:	51                   	push   %ecx
40aa60:	52                   	push   %edx
40aa61:	50                   	push   %eax
40aa62:	e8 39 9e ff ff       	call   0x4048a0
40aa67:	85 c0                	test   %eax,%eax
40aa69:	58                   	pop    %eax
40aa6a:	75 02                	jne    0x40aa6e
40aa6c:	31 c0                	xor    %eax,%eax
40aa6e:	5d                   	pop    %ebp
40aa6f:	c3                   	ret
40aa70:	53                   	push   %ebx
40aa71:	50                   	push   %eax
40aa72:	68 01 80 00 00       	push   $0x8001
40aa77:	e8 e4 9d ff ff       	call   0x404860
40aa7c:	93                   	xchg   %eax,%ebx
40aa7d:	e8 42 a4 ff ff       	call   0x404ec4
40aa82:	40                   	inc    %eax
40aa83:	74 06                	je     0x40aa8b
40aa85:	48                   	dec    %eax
40aa86:	24 10                	and    $0x10,%al
40aa88:	0f 95 c0             	setne  %al
40aa8b:	93                   	xchg   %eax,%ebx
40aa8c:	50                   	push   %eax
40aa8d:	e8 ce 9d ff ff       	call   0x404860
40aa92:	93                   	xchg   %eax,%ebx
40aa93:	5b                   	pop    %ebx
40aa94:	c3                   	ret
40aa95:	8d 40 00             	lea    0x0(%eax),%eax
40aa98:	8d 50 18             	lea    0x18(%eax),%edx
40aa9b:	e8 03 00 00 00       	call   0x40aaa3
40aaa0:	83 c2 04             	add    $0x4,%edx
40aaa3:	60                   	pusha
40aaa4:	31 c0                	xor    %eax,%eax
40aaa6:	87 02                	xchg   %eax,(%edx)
40aaa8:	e8 63 f7 ff ff       	call   0x40a210
40aaad:	61                   	popa
40aaae:	c3                   	ret
40aaaf:	90                   	nop
40aab0:	53                   	push   %ebx
40aab1:	89 c3                	mov    %eax,%ebx
40aab3:	e8 e0 ff ff ff       	call   0x40aa98
40aab8:	8d 43 20             	lea    0x20(%ebx),%eax
40aabb:	e8 d4 8b ff ff       	call   0x403694
40aac0:	93                   	xchg   %eax,%ebx
40aac1:	e8 5a f7 ff ff       	call   0x40a220
40aac6:	5b                   	pop    %ebx
40aac7:	c3                   	ret
40aac8:	8b 48 18             	mov    0x18(%eax),%ecx
40aacb:	e3 03                	jecxz  0x40aad0
40aacd:	8b 49 1c             	mov    0x1c(%ecx),%ecx
40aad0:	91                   	xchg   %eax,%ecx
40aad1:	c3                   	ret
40aad2:	8b c0                	mov    %eax,%eax
40aad4:	50                   	push   %eax
40aad5:	ff 70 50             	push   0x50(%eax)
40aad8:	ff 50 30             	call   *0x30(%eax)
40aadb:	58                   	pop    %eax
40aadc:	e8 2f f7 ff ff       	call   0x40a210
40aae1:	58                   	pop    %eax
40aae2:	e8 39 f7 ff ff       	call   0x40a220
40aae7:	c3                   	ret
40aae8:	31 c9                	xor    %ecx,%ecx
40aaea:	87 48 3c             	xchg   %ecx,0x3c(%eax)
40aaed:	e3 06                	jecxz  0x40aaf5
40aaef:	91                   	xchg   %eax,%ecx
40aaf0:	e8 6b 7d ff ff       	call   0x402860
40aaf5:	c3                   	ret
40aaf6:	8b c0                	mov    %eax,%eax
40aaf8:	53                   	push   %ebx
40aaf9:	93                   	xchg   %eax,%ebx
40aafa:	b8 88 61 42 00       	mov    $0x426188,%eax
40aaff:	e8 50 c0 ff ff       	call   0x406b54
40ab04:	8b 15 cc 60 42 00    	mov    0x4260cc,%edx
40ab0a:	89 50 28             	mov    %edx,0x28(%eax)
40ab0d:	93                   	xchg   %eax,%ebx
40ab0e:	ba 01 03 00 80       	mov    $0x80000301,%edx
40ab13:	e8 f0 fe ff ff       	call   0x40aa08
40ab18:	89 43 40             	mov    %eax,0x40(%ebx)
40ab1b:	93                   	xchg   %eax,%ebx
40ab1c:	5b                   	pop    %ebx
40ab1d:	c3                   	ret
40ab1e:	8b c0                	mov    %eax,%eax
40ab20:	53                   	push   %ebx
40ab21:	93                   	xchg   %eax,%ebx
40ab22:	b8 88 61 42 00       	mov    $0x426188,%eax
40ab27:	e8 28 c0 ff ff       	call   0x406b54
40ab2c:	c7 40 2c cc 6b 40 00 	movl   $0x406bcc,0x2c(%eax)
40ab33:	c7 40 24 c8 6c 40 00 	movl   $0x406cc8,0x24(%eax)
40ab3a:	93                   	xchg   %eax,%ebx
40ab3b:	ba 01 02 00 40       	mov    $0x40000201,%edx
40ab40:	e8 c3 fe ff ff       	call   0x40aa08
40ab45:	89 43 40             	mov    %eax,0x40(%ebx)
40ab48:	93                   	xchg   %eax,%ebx
40ab49:	5b                   	pop    %ebx
40ab4a:	c3                   	ret
40ab4b:	90                   	nop
40ab4c:	50                   	push   %eax
40ab4d:	8d 50 19             	lea    0x19(%eax),%edx
40ab50:	52                   	push   %edx
40ab51:	8d 40 1d             	lea    0x1d(%eax),%eax
40ab54:	e8 3b 8b ff ff       	call   0x403694
40ab59:	58                   	pop    %eax
40ab5a:	e8 35 8b ff ff       	call   0x403694
40ab5f:	58                   	pop    %eax
40ab60:	e8 bb f6 ff ff       	call   0x40a220
40ab65:	c3                   	ret
40ab66:	8b c0                	mov    %eax,%eax
40ab68:	56                   	push   %esi
40ab69:	57                   	push   %edi
40ab6a:	50                   	push   %eax
40ab6b:	e8 2c c5 ff ff       	call   0x40709c
40ab70:	5e                   	pop    %esi
40ab71:	83 fe 78             	cmp    $0x78,%esi
40ab74:	89 70 6c             	mov    %esi,0x6c(%eax)
40ab77:	72 2f                	jb     0x40aba8
40ab79:	50                   	push   %eax
40ab7a:	8d 78 20             	lea    0x20(%eax),%edi
40ab7d:	31 c0                	xor    %eax,%eax
40ab7f:	ac                   	lods   %ds:(%esi),%al
40ab80:	89 47 4c             	mov    %eax,0x4c(%edi)
40ab83:	31 c9                	xor    %ecx,%ecx
40ab85:	b1 26                	mov    $0x26,%cl
40ab87:	80 3e c8             	cmpb   $0xc8,(%esi)
40ab8a:	72 03                	jb     0x40ab8f
40ab8c:	77 07                	ja     0x40ab95
40ab8e:	46                   	inc    %esi
40ab8f:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
40ab91:	e2 f4                	loop   0x40ab87
40ab93:	eb 12                	jmp    0x40aba7
40ab95:	ac                   	lods   %ds:(%esi),%al
40ab96:	2c c8                	sub    $0xc8,%al
40ab98:	28 c1                	sub    %al,%cl
40ab9a:	51                   	push   %ecx
40ab9b:	0f b6 c8             	movzbl %al,%ecx
40ab9e:	31 c0                	xor    %eax,%eax
40aba0:	f3 66 ab             	rep stos %ax,%es:(%edi)
40aba3:	59                   	pop    %ecx
40aba4:	41                   	inc    %ecx
40aba5:	e2 e0                	loop   0x40ab87
40aba7:	58                   	pop    %eax
40aba8:	5f                   	pop    %edi
40aba9:	5e                   	pop    %esi
40abaa:	c3                   	ret
40abab:	90                   	nop
40abac:	8b c8                	mov    %eax,%ecx
40abae:	8b 15 a8 4c 40 00    	mov    0x404ca8,%edx
40abb4:	33 c0                	xor    %eax,%eax
40abb6:	e8 0d 10 00 00       	call   0x40bbc8
40abbb:	c3                   	ret
40abbc:	55                   	push   %ebp
40abbd:	8b ec                	mov    %esp,%ebp
40abbf:	53                   	push   %ebx
40abc0:	56                   	push   %esi
40abc1:	57                   	push   %edi
40abc2:	8b 7d 08             	mov    0x8(%ebp),%edi
40abc5:	89 4d 08             	mov    %ecx,0x8(%ebp)
40abc8:	52                   	push   %edx
40abc9:	89 c6                	mov    %eax,%esi
40abcb:	e8 dc ff ff ff       	call   0x40abac
40abd0:	93                   	xchg   %eax,%ebx
40abd1:	8f 83 ea 00 00 00    	pop    0xea(%ebx)
40abd7:	89 f8                	mov    %edi,%eax
40abd9:	83 f8 78             	cmp    $0x78,%eax
40abdc:	72 03                	jb     0x40abe1
40abde:	0f b6 07             	movzbl (%edi),%eax
40abe1:	50                   	push   %eax
40abe2:	8b 0c 85 b4 98 42 00 	mov    0x4298b4(,%eax,4),%ecx
40abe9:	e3 0a                	jecxz  0x40abf5
40abeb:	91                   	xchg   %eax,%ecx
40abec:	50                   	push   %eax
40abed:	e8 76 a5 ff ff       	call   0x405168
40abf2:	58                   	pop    %eax
40abf3:	eb 0e                	jmp    0x40ac03
40abf5:	89 f8                	mov    %edi,%eax
40abf7:	e8 6c ff ff ff       	call   0x40ab68
40abfc:	c7 40 18 44 70 40 00 	movl   $0x407044,0x18(%eax)
40ac03:	5a                   	pop    %edx
40ac04:	89 04 95 b4 98 42 00 	mov    %eax,0x4298b4(,%edx,4)
40ac0b:	89 43 4c             	mov    %eax,0x4c(%ebx)
40ac0e:	92                   	xchg   %eax,%edx
40ac0f:	89 d8                	mov    %ebx,%eax
40ac11:	e8 1a f6 ff ff       	call   0x40a230
40ac16:	85 f6                	test   %esi,%esi
40ac18:	0f 84 8d 00 00 00    	je     0x40acab
40ac1e:	8b 46 70             	mov    0x70(%esi),%eax
40ac21:	89 43 70             	mov    %eax,0x70(%ebx)
40ac24:	8d b6 a0 00 00 00    	lea    0xa0(%esi),%esi
40ac2a:	8d bb a0 00 00 00    	lea    0xa0(%ebx),%edi
40ac30:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40ac31:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40ac32:	ad                   	lods   %ds:(%esi),%eax
40ac33:	92                   	xchg   %eax,%edx
40ac34:	31 c0                	xor    %eax,%eax
40ac36:	52                   	push   %edx
40ac37:	e8 68 f8 ff ff       	call   0x40a4a4
40ac3c:	ab                   	stos   %eax,%es:(%edi)
40ac3d:	5a                   	pop    %edx
40ac3e:	91                   	xchg   %eax,%ecx
40ac3f:	e3 23                	jecxz  0x40ac64
40ac41:	89 51 1d             	mov    %edx,0x1d(%ecx)
40ac44:	c7 41 25 bc bf 40 00 	movl   $0x40bfbc,0x25(%ecx)
40ac4b:	89 59 29             	mov    %ebx,0x29(%ecx)
40ac4e:	89 d8                	mov    %ebx,%eax
40ac50:	89 ca                	mov    %ecx,%edx
40ac52:	e8 65 13 00 00       	call   0x40bfbc
40ac57:	89 d8                	mov    %ebx,%eax
40ac59:	8b 93 a8 00 00 00    	mov    0xa8(%ebx),%edx
40ac5f:	e8 cc f5 ff ff       	call   0x40a230
40ac64:	ad                   	lods   %ds:(%esi),%eax
40ac65:	92                   	xchg   %eax,%edx
40ac66:	31 c0                	xor    %eax,%eax
40ac68:	52                   	push   %edx
40ac69:	e8 36 f8 ff ff       	call   0x40a4a4
40ac6e:	ab                   	stos   %eax,%es:(%edi)
40ac6f:	5a                   	pop    %edx
40ac70:	91                   	xchg   %eax,%ecx
40ac71:	e3 23                	jecxz  0x40ac96
40ac73:	89 51 1d             	mov    %edx,0x1d(%ecx)
40ac76:	c7 41 25 d4 bf 40 00 	movl   $0x40bfd4,0x25(%ecx)
40ac7d:	89 59 29             	mov    %ebx,0x29(%ecx)
40ac80:	89 d8                	mov    %ebx,%eax
40ac82:	89 ca                	mov    %ecx,%edx
40ac84:	e8 4b 13 00 00       	call   0x40bfd4
40ac89:	89 d8                	mov    %ebx,%eax
40ac8b:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
40ac91:	e8 9a f5 ff ff       	call   0x40a230
40ac96:	a4                   	movsb  %ds:(%esi),%es:(%edi)
40ac97:	ad                   	lods   %ds:(%esi),%eax
40ac98:	83 c7 04             	add    $0x4,%edi
40ac9b:	ac                   	lods   %ds:(%esi),%al
40ac9c:	a8 02                	test   $0x2,%al
40ac9e:	74 0a                	je     0x40acaa
40aca0:	8b 55 08             	mov    0x8(%ebp),%edx
40aca3:	24 fe                	and    $0xfe,%al
40aca5:	80 e2 01             	and    $0x1,%dl
40aca8:	09 d0                	or     %edx,%eax
40acaa:	aa                   	stos   %al,%es:(%edi)
40acab:	93                   	xchg   %eax,%ebx
40acac:	5f                   	pop    %edi
40acad:	5e                   	pop    %esi
40acae:	5b                   	pop    %ebx
40acaf:	5d                   	pop    %ebp
40acb0:	c2 04 00             	ret    $0x4
40acb3:	90                   	nop
40acb4:	53                   	push   %ebx
40acb5:	52                   	push   %edx
40acb6:	ba 5c 64 42 00       	mov    $0x42645c,%edx
40acbb:	b1 01                	mov    $0x1,%cl
40acbd:	6a 00                	push   $0x0
40acbf:	e8 f8 fe ff ff       	call   0x40abbc
40acc4:	89 c3                	mov    %eax,%ebx
40acc6:	80 4b 20 08          	orb    $0x8,0x20(%ebx)
40acca:	ba 70 bd 40 00       	mov    $0x40bd70,%edx
40accf:	e8 64 ed ff ff       	call   0x409a38
40acd4:	ba ec ad 40 00       	mov    $0x40adec,%edx
40acd9:	89 d8                	mov    %ebx,%eax
40acdb:	e8 58 ed ff ff       	call   0x409a38
40ace0:	5a                   	pop    %edx
40ace1:	89 d8                	mov    %ebx,%eax
40ace3:	e8 84 0b 00 00       	call   0x40b86c
40ace8:	80 4b 36 06          	orb    $0x6,0x36(%ebx)
40acec:	93                   	xchg   %eax,%ebx
40aced:	5b                   	pop    %ebx
40acee:	c3                   	ret
40acef:	90                   	nop
40acf0:	53                   	push   %ebx
40acf1:	52                   	push   %edx
40acf2:	6a 00                	push   $0x0
40acf4:	ff 35 70 61 42 00    	push   0x426170
40acfa:	ba c8 61 42 00       	mov    $0x4261c8,%edx
40acff:	b9 00 50 01 50       	mov    $0x50015000,%ecx
40ad04:	e8 3f 2d 00 00       	call   0x40da48
40ad09:	93                   	xchg   %eax,%ebx
40ad0a:	66 c7 83 38 01 00 00 	movw   $0x60e,0x138(%ebx)
40ad11:	0e 06
40ad13:	8b 93 ba 00 00 00    	mov    0xba(%ebx),%edx
40ad19:	83 c2 16             	add    $0x16,%edx
40ad1c:	89 93 c2 00 00 00    	mov    %edx,0xc2(%ebx)
40ad22:	c6 43 3a 02          	movb   $0x2,0x3a(%ebx)
40ad26:	80 4b 38 81          	orb    $0x81,0x38(%ebx)
40ad2a:	5a                   	pop    %edx
40ad2b:	89 d8                	mov    %ebx,%eax
40ad2d:	e8 3a 0b 00 00       	call   0x40b86c
40ad32:	89 d8                	mov    %ebx,%eax
40ad34:	ba c0 71 40 00       	mov    $0x4071c0,%edx
40ad39:	e8 fa ec ff ff       	call   0x409a38
40ad3e:	89 d8                	mov    %ebx,%eax
40ad40:	ba 94 71 40 00       	mov    $0x407194,%edx
40ad45:	e8 ee ec ff ff       	call   0x409a38
40ad4a:	93                   	xchg   %eax,%ebx
40ad4b:	5b                   	pop    %ebx
40ad4c:	c3                   	ret
40ad4d:	8d 40 00             	lea    0x0(%eax),%eax
40ad50:	e8 9b ff ff ff       	call   0x40acf0
40ad55:	8b 90 b6 00 00 00    	mov    0xb6(%eax),%edx
40ad5b:	83 c2 48             	add    $0x48,%edx
40ad5e:	89 90 be 00 00 00    	mov    %edx,0xbe(%eax)
40ad64:	c7 40 24 03 40 01 50 	movl   $0x50014003,0x24(%eax)
40ad6b:	c6 80 38 01 00 00 18 	movb   $0x18,0x138(%eax)
40ad72:	c3                   	ret
40ad73:	90                   	nop
40ad74:	53                   	push   %ebx
40ad75:	8b 58 30             	mov    0x30(%eax),%ebx
40ad78:	85 db                	test   %ebx,%ebx
40ad7a:	74 3d                	je     0x40adb9
40ad7c:	56                   	push   %esi
40ad7d:	57                   	push   %edi
40ad7e:	96                   	xchg   %eax,%esi
40ad7f:	83 cf ff             	or     $0xffffffff,%edi
40ad82:	47                   	inc    %edi
40ad83:	8b 43 44             	mov    0x44(%ebx),%eax
40ad86:	3b 78 1c             	cmp    0x1c(%eax),%edi
40ad89:	7d 2c                	jge    0x40adb7
40ad8b:	89 fa                	mov    %edi,%edx
40ad8d:	e8 72 f5 ff ff       	call   0x40a304
40ad92:	f6 40 38 01          	testb  $0x1,0x38(%eax)
40ad96:	74 ea                	je     0x40ad82
40ad98:	f6 40 24 04          	testb  $0x4,0x24(%eax)