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)
40ad9c:	74 e4                	je     0x40ad82
40ad9e:	39 f0                	cmp    %esi,%eax
40ada0:	50                   	push   %eax
40ada1:	0f 94 c2             	sete   %dl
40ada4:	52                   	push   %edx
40ada5:	e8 d2 13 00 00       	call   0x40c17c
40adaa:	5a                   	pop    %edx
40adab:	38 c2                	cmp    %al,%dl
40adad:	58                   	pop    %eax
40adae:	74 d2                	je     0x40ad82
40adb0:	e8 af d7 ff ff       	call   0x408564
40adb5:	eb cb                	jmp    0x40ad82
40adb7:	5f                   	pop    %edi
40adb8:	5e                   	pop    %esi
40adb9:	5b                   	pop    %ebx
40adba:	c3                   	ret
40adbb:	90                   	nop
40adbc:	53                   	push   %ebx
40adbd:	56                   	push   %esi
40adbe:	89 c6                	mov    %eax,%esi
40adc0:	e8 8b ff ff ff       	call   0x40ad50
40adc5:	93                   	xchg   %eax,%ebx
40adc6:	c7 43 24 04 40 03 50 	movl   $0x50034004,0x24(%ebx)
40adcd:	c7 43 68 74 ad 40 00 	movl   $0x40ad74,0x68(%ebx)
40add4:	85 f6                	test   %esi,%esi
40add6:	74 0e                	je     0x40ade6
40add8:	0f ba 6e 34 80       	btsl   $0x80,0x34(%esi)
40addd:	75 07                	jne    0x40ade6
40addf:	89 d8                	mov    %ebx,%eax
40ade1:	e8 e6 13 00 00       	call   0x40c1cc
40ade6:	93                   	xchg   %eax,%ebx
40ade7:	5e                   	pop    %esi
40ade8:	5b                   	pop    %ebx
40ade9:	c3                   	ret
40adea:	8b c0                	mov    %eax,%eax
40adec:	66 83 7a 04 14       	cmpw   $0x14,0x4(%edx)
40adf1:	75 5d                	jne    0x40ae50
40adf3:	c6 01 01             	movb   $0x1,(%ecx)
40adf6:	53                   	push   %ebx
40adf7:	57                   	push   %edi
40adf8:	89 c3                	mov    %eax,%ebx
40adfa:	8b 7a 08             	mov    0x8(%edx),%edi
40adfd:	e8 3a cf ff ff       	call   0x407d3c
40ae02:	f6 43 35 01          	testb  $0x1,0x35(%ebx)
40ae06:	75 46                	jne    0x40ae4e
40ae08:	6a 02                	push   $0x2
40ae0a:	57                   	push   %edi
40ae0b:	e8 58 9b ff ff       	call   0x404968
40ae10:	8b 83 a4 00 00 00    	mov    0xa4(%ebx),%eax
40ae16:	e8 49 f6 ff ff       	call   0x40a464
40ae1b:	50                   	push   %eax
40ae1c:	57                   	push   %edi
40ae1d:	e8 3e 9b ff ff       	call   0x404960
40ae22:	31 c0                	xor    %eax,%eax
40ae24:	50                   	push   %eax
40ae25:	50                   	push   %eax
40ae26:	50                   	push   %eax
40ae27:	57                   	push   %edi
40ae28:	e8 43 9b ff ff       	call   0x404970
40ae2d:	83 ec 10             	sub    $0x10,%esp
40ae30:	54                   	push   %esp
40ae31:	ff 73 1c             	push   0x1c(%ebx)
40ae34:	e8 ff 9b ff ff       	call   0x404a38
40ae39:	89 d8                	mov    %ebx,%eax
40ae3b:	ff 15 44 61 42 00    	call   *0x426144
40ae41:	89 e2                	mov    %esp,%edx
40ae43:	50                   	push   %eax
40ae44:	52                   	push   %edx
40ae45:	57                   	push   %edi
40ae46:	e8 dd 9b ff ff       	call   0x404a28
40ae4b:	83 c4 10             	add    $0x10,%esp
40ae4e:	5f                   	pop    %edi
40ae4f:	5b                   	pop    %ebx
40ae50:	31 c0                	xor    %eax,%eax
40ae52:	c3                   	ret
40ae53:	90                   	nop
40ae54:	53                   	push   %ebx
40ae55:	93                   	xchg   %eax,%ebx
40ae56:	52                   	push   %edx
40ae57:	89 e0                	mov    %esp,%eax
40ae59:	31 c9                	xor    %ecx,%ecx
40ae5b:	b1 0b                	mov    $0xb,%cl
40ae5d:	ba 6c 62 42 00       	mov    $0x42626c,%edx
40ae62:	e8 69 f3 ff ff       	call   0x40a1d0
40ae67:	91                   	xchg   %eax,%ecx
40ae68:	58                   	pop    %eax
40ae69:	50                   	push   %eax
40ae6a:	a8 08                	test   $0x8,%al
40ae6c:	75 06                	jne    0x40ae74
40ae6e:	81 e1 ff ff cf ff    	and    $0xffcfffff,%ecx
40ae74:	81 c9 00 00 81 50    	or     $0x50810000,%ecx
40ae7a:	6a 01                	push   $0x1
40ae7c:	ff 35 78 61 42 00    	push   0x426178
40ae82:	ba 64 64 42 00       	mov    $0x426464,%edx
40ae87:	93                   	xchg   %eax,%ebx
40ae88:	e8 bb 2b 00 00       	call   0x40da48
40ae8d:	93                   	xchg   %eax,%ebx
40ae8e:	c6 83 39 01 00 00 06 	movb   $0x6,0x139(%ebx)
40ae95:	8d 8b b6 00 00 00    	lea    0xb6(%ebx),%ecx
40ae9b:	8b 11                	mov    (%ecx),%edx
40ae9d:	83 c2 64             	add    $0x64,%edx
40aea0:	89 51 08             	mov    %edx,0x8(%ecx)
40aea3:	8b 51 04             	mov    0x4(%ecx),%edx
40aea6:	83 c2 16             	add    $0x16,%edx
40aea9:	89 51 0c             	mov    %edx,0xc(%ecx)
40aeac:	58                   	pop    %eax
40aead:	a8 08                	test   $0x8,%al
40aeaf:	b2 0d                	mov    $0xd,%dl
40aeb1:	74 11                	je     0x40aec4
40aeb3:	83 41 08 64          	addl   $0x64,0x8(%ecx)
40aeb7:	81 41 0c b2 00 00 00 	addl   $0xb2,0xc(%ecx)
40aebe:	b2 01                	mov    $0x1,%dl
40aec0:	80 4b 38 80          	orb    $0x80,0x38(%ebx)
40aec4:	f6 c4 04             	test   $0x4,%ah
40aec7:	74 03                	je     0x40aecc
40aec9:	80 e2 fe             	and    $0xfe,%dl
40aecc:	88 53 3c             	mov    %dl,0x3c(%ebx)
40aecf:	93                   	xchg   %eax,%ebx
40aed0:	5b                   	pop    %ebx
40aed1:	c3                   	ret
40aed2:	8b c0                	mov    %eax,%eax
40aed4:	53                   	push   %ebx
40aed5:	56                   	push   %esi
40aed6:	89 c3                	mov    %eax,%ebx
40aed8:	e8 53 13 00 00       	call   0x40c230
40aedd:	83 f8 01             	cmp    $0x1,%eax
40aee0:	7d 02                	jge    0x40aee4
40aee2:	b0 01                	mov    $0x1,%al
40aee4:	83 f8 08             	cmp    $0x8,%eax
40aee7:	7e 04                	jle    0x40aeed
40aee9:	31 c0                	xor    %eax,%eax
40aeeb:	b0 08                	mov    $0x8,%al
40aeed:	31 f6                	xor    %esi,%esi
40aeef:	6a 5f                	push   $0x5f
40aef1:	56                   	push   %esi
40aef2:	56                   	push   %esi
40aef3:	68 9e 00 00 00       	push   $0x9e
40aef8:	50                   	push   %eax
40aef9:	89 d8                	mov    %ebx,%eax
40aefb:	e8 64 0d 00 00       	call   0x40bc64
40af00:	59                   	pop    %ecx
40af01:	41                   	inc    %ecx
40af02:	f7 e9                	imul   %ecx
40af04:	40                   	inc    %eax
40af05:	40                   	inc    %eax
40af06:	50                   	push   %eax
40af07:	89 d8                	mov    %ebx,%eax
40af09:	e8 2e 0d 00 00       	call   0x40bc3c
40af0e:	50                   	push   %eax
40af0f:	46                   	inc    %esi
40af10:	31 d2                	xor    %edx,%edx
40af12:	52                   	push   %edx
40af13:	52                   	push   %edx
40af14:	52                   	push   %edx
40af15:	ff 73 1c             	push   0x1c(%ebx)
40af18:	e8 1b 9c ff ff       	call   0x404b38
40af1d:	4e                   	dec    %esi
40af1e:	74 f0                	je     0x40af10
40af20:	8b 43 50             	mov    0x50(%ebx),%eax
40af23:	8b 88 a0 01 00 00    	mov    0x1a0(%eax),%ecx
40af29:	8b 80 a4 01 00 00    	mov    0x1a4(%eax),%eax
40af2f:	89 da                	mov    %ebx,%edx
40af31:	ff d1                	call   *%ecx
40af33:	5e                   	pop    %esi
40af34:	5b                   	pop    %ebx
40af35:	c3                   	ret
40af36:	8b c0                	mov    %eax,%eax
40af38:	52                   	push   %edx
40af39:	50                   	push   %eax
40af3a:	52                   	push   %edx
40af3b:	89 e0                	mov    %esp,%eax
40af3d:	ba 9c 62 42 00       	mov    $0x42629c,%edx
40af42:	31 c9                	xor    %ecx,%ecx
40af44:	b1 0a                	mov    $0xa,%cl
40af46:	e8 85 f2 ff ff       	call   0x40a1d0