40af4b:	5a                   	pop    %edx
40af4c:	91                   	xchg   %eax,%ecx
40af4d:	58                   	pop    %eax
40af4e:	6a 01                	push   $0x1
40af50:	ff 35 7c 61 42 00    	push   0x42617c
40af56:	ba 6c 64 42 00       	mov    $0x42646c,%edx
40af5b:	81 c9 00 02 21 50    	or     $0x50210200,%ecx
40af61:	f7 c1 01 00 00 00    	test   $0x1,%ecx
40af67:	75 03                	jne    0x40af6c
40af69:	83 c9 02             	or     $0x2,%ecx
40af6c:	e8 d7 2a 00 00       	call   0x40da48
40af71:	8b 50 4c             	mov    0x4c(%eax),%edx
40af74:	c7 42 18 4c 70 40 00 	movl   $0x40704c,0x18(%edx)
40af7b:	c6 80 39 01 00 00 06 	movb   $0x6,0x139(%eax)
40af82:	c7 40 7c 10 dc 40 00 	movl   $0x40dc10,0x7c(%eax)
40af89:	80 48 20 08          	orb    $0x8,0x20(%eax)
40af8d:	83 80 be 00 00 00 24 	addl   $0x24,0xbe(%eax)
40af94:	83 80 c2 00 00 00 d6 	addl   $0xffffffd6,0xc2(%eax)
40af9b:	b1 01                	mov    $0x1,%cl
40af9d:	5a                   	pop    %edx
40af9e:	f6 c2 01             	test   $0x1,%dl
40afa1:	74 02                	je     0x40afa5
40afa3:	b1 03                	mov    $0x3,%cl
40afa5:	88 48 3c             	mov    %cl,0x3c(%eax)
40afa8:	50                   	push   %eax
40afa9:	ba 5c 75 40 00       	mov    $0x40755c,%edx
40afae:	e8 85 ea ff ff       	call   0x409a38
40afb3:	58                   	pop    %eax
40afb4:	c3                   	ret
40afb5:	8d 40 00             	lea    0x0(%eax),%eax
40afb8:	80 48 38 10          	orb    $0x10,0x38(%eax)
40afbc:	8b 48 30             	mov    0x30(%eax),%ecx
40afbf:	e3 16                	jecxz  0x40afd7
40afc1:	51                   	push   %ecx
40afc2:	ba 6c b0 40 00       	mov    $0x40b06c,%edx
40afc7:	e8 6c ea ff ff       	call   0x409a38
40afcc:	58                   	pop    %eax
40afcd:	ba 3c b0 40 00       	mov    $0x40b03c,%edx
40afd2:	e8 61 ea ff ff       	call   0x409a38
40afd7:	c3                   	ret
40afd8:	6a 01                	push   $0x1
40afda:	6a 0a                	push   $0xa
40afdc:	ba a8 60 42 00       	mov    $0x4260a8,%edx
40afe1:	b9 00 00 00 50       	mov    $0x50000000,%ecx
40afe6:	e8 91 c6 ff ff       	call   0x40767c
40afeb:	8d 90 b6 00 00 00    	lea    0xb6(%eax),%edx
40aff1:	8b 0a                	mov    (%edx),%ecx
40aff3:	81 c1 2c 01 00 00    	add    $0x12c,%ecx
40aff9:	89 4a 08             	mov    %ecx,0x8(%edx)
40affc:	8b 4a 04             	mov    0x4(%edx),%ecx
40afff:	83 c1 14             	add    $0x14,%ecx
40b002:	89 4a 0c             	mov    %ecx,0xc(%edx)
40b005:	31 d2                	xor    %edx,%edx
40b007:	89 90 84 00 00 00    	mov    %edx,0x84(%eax)
40b00d:	c7 80 a0 00 00 00 0d 	movl   $0x8000000d,0xa0(%eax)
40b014:	00 00 80
40b017:	8b 48 4c             	mov    0x4c(%eax),%ecx
40b01a:	66 c7 41 68 01 20    	movw   $0x2001,0x68(%ecx)
40b020:	c3                   	ret
40b021:	8d 40 00             	lea    0x0(%eax),%eax
40b024:	52                   	push   %edx
40b025:	e8 ae ff ff ff       	call   0x40afd8
40b02a:	59                   	pop    %ecx
40b02b:	31 d2                	xor    %edx,%edx
40b02d:	d1 e9                	shr    $1,%ecx
40b02f:	73 02                	jae    0x40b033
40b031:	b2 04                	mov    $0x4,%dl
40b033:	d1 e9                	shr    $1,%ecx
40b035:	73 01                	jae    0x40b038
40b037:	42                   	inc    %edx
40b038:	09 50 24             	or     %edx,0x24(%eax)
40b03b:	c3                   	ret
40b03c:	66 83 7a 04 4e       	cmpw   $0x4e,0x4(%edx)
40b041:	75 25                	jne    0x40b068
40b043:	51                   	push   %ecx
40b044:	52                   	push   %edx
40b045:	50                   	push   %eax
40b046:	8b 4a 0c             	mov    0xc(%edx),%ecx
40b049:	6a eb                	push   $0xffffffeb
40b04b:	ff 31                	push   (%ecx)
40b04d:	e8 5a 9f ff ff       	call   0x404fac
40b052:	59                   	pop    %ecx
40b053:	5a                   	pop    %edx
40b054:	85 c0                	test   %eax,%eax
40b056:	74 0f                	je     0x40b067
40b058:	39 c8                	cmp    %ecx,%eax
40b05a:	74 0b                	je     0x40b067
40b05c:	8b 48 1c             	mov    0x1c(%eax),%ecx
40b05f:	89 0a                	mov    %ecx,(%edx)
40b061:	59                   	pop    %ecx
40b062:	e9 25 e9 ff ff       	jmp    0x40998c
40b067:	59                   	pop    %ecx
40b068:	31 c0                	xor    %eax,%eax
40b06a:	c3                   	ret
40b06b:	90                   	nop
40b06c:	66 83 7a 04 4e       	cmpw   $0x4e,0x4(%edx)
40b071:	75 5d                	jne    0x40b0d0
40b073:	53                   	push   %ebx
40b074:	8b 5a 0c             	mov    0xc(%edx),%ebx
40b077:	8b 53 08             	mov    0x8(%ebx),%edx
40b07a:	31 c9                	xor    %ecx,%ecx
40b07c:	83 fa fe             	cmp    $0xfffffffe,%edx
40b07f:	74 07                	je     0x40b088
40b081:	83 fa fb             	cmp    $0xfffffffb,%edx
40b084:	75 17                	jne    0x40b09d
40b086:	b1 40                	mov    $0x40,%cl
40b088:	80 60 39 bf          	andb   $0xbf,0x39(%eax)
40b08c:	08 48 39             	or     %cl,0x39(%eax)
40b08f:	8b 48 50             	mov    0x50(%eax),%ecx
40b092:	8b 49 10             	mov    0x10(%ecx),%ecx
40b095:	8b 50 50             	mov    0x50(%eax),%edx
40b098:	8b 52 14             	mov    0x14(%edx),%edx
40b09b:	eb 2f                	jmp    0x40b0cc
40b09d:	83 fa f8             	cmp    $0xfffffff8,%edx
40b0a0:	75 11                	jne    0x40b0b3
40b0a2:	8b 40 50             	mov    0x50(%eax),%eax
40b0a5:	8b 88 a0 00 00 00    	mov    0xa0(%eax),%ecx
40b0ab:	8b 90 a4 00 00 00    	mov    0xa4(%eax),%edx
40b0b1:	eb 19                	jmp    0x40b0cc
40b0b3:	83 fa fc             	cmp    $0xfffffffc,%edx
40b0b6:	74 05                	je     0x40b0bd
40b0b8:	83 fa f9             	cmp    $0xfffffff9,%edx
40b0bb:	75 12                	jne    0x40b0cf
40b0bd:	8b 40 50             	mov    0x50(%eax),%eax
40b0c0:	8b 88 98 00 00 00    	mov    0x98(%eax),%ecx
40b0c6:	8b 90 9c 00 00 00    	mov    0x9c(%eax),%edx
40b0cc:	92                   	xchg   %eax,%edx
40b0cd:	ff d1                	call   *%ecx
40b0cf:	5b                   	pop    %ebx
40b0d0:	31 c0                	xor    %eax,%eax
40b0d2:	c3                   	ret
40b0d3:	90                   	nop
40b0d4:	60                   	pusha
40b0d5:	96                   	xchg   %eax,%esi
40b0d6:	8b 4e 4c             	mov    0x4c(%esi),%ecx
40b0d9:	0f b7 49 66          	movzwl 0x66(%ecx),%ecx
40b0dd:	e3 31                	jecxz  0x40b110
40b0df:	89 cd                	mov    %ecx,%ebp
40b0e1:	31 db                	xor    %ebx,%ebx
40b0e3:	b3 20                	mov    $0x20,%bl
40b0e5:	31 ff                	xor    %edi,%edi
40b0e7:	89 f0                	mov    %esi,%eax
40b0e9:	89 da                	mov    %ebx,%edx
40b0eb:	e8 bc d8 ff ff       	call   0x4089ac
40b0f0:	85 c0                	test   %eax,%eax
40b0f2:	74 0e                	je     0x40b102
40b0f4:	e8 37 14 00 00       	call   0x40c530
40b0f9:	50                   	push   %eax
40b0fa:	57                   	push   %edi
40b0fb:	55                   	push   %ebp
40b0fc:	56                   	push   %esi
40b0fd:	e8 3a 14 00 00       	call   0x40c53c
40b102:	47                   	inc    %edi
40b103:	d1 eb                	shr    $1,%ebx
40b105:	74 09                	je     0x40b110
40b107:	80 fb 10             	cmp    $0x10,%bl
40b10a:	7d db                	jge    0x40b0e7
40b10c:	31 db                	xor    %ebx,%ebx
40b10e:	eb d7                	jmp    0x40b0e7
40b110:	61                   	popa
40b111:	c3                   	ret
40b112:	8b c0                	mov    %eax,%eax
40b114:	60                   	pusha
40b115:	96                   	xchg   %eax,%esi
40b116:	ff b6 1a 01 00 00    	push   0x11a(%esi)
40b11c:	89 e0                	mov    %esp,%eax
40b11e:	ba dc 62 42 00       	mov    $0x4262dc,%edx
40b123:	31 c9                	xor    %ecx,%ecx
40b125:	b1 19                	mov    $0x19,%cl
40b127:	e8 a4 f0 ff ff       	call   0x40a1d0
40b12c:	59                   	pop    %ecx
40b12d:	51                   	push   %ecx
40b12e:	8b 56 24             	mov    0x24(%esi),%edx
40b131:	66 81 e2 c0 bf       	and    $0xbfc0,%dx
40b136:	09 c2                	or     %eax,%edx
40b138:	0f b6 86 1e 01 00 00 	movzbl 0x11e(%esi),%eax
40b13f:	0b 14 85 c8 62 42 00 	or     0x4262c8(,%eax,4),%edx
40b146:	89 f0                	mov    %esi,%eax
40b148:	e8 23 06 00 00       	call   0x40b770
40b14d:	89 e0                	mov    %esp,%eax
40b14f:	ba 44 63 42 00       	mov    $0x426344,%edx
40b154:	31 c9                	xor    %ecx,%ecx
40b156:	b1 17                	mov    $0x17,%cl
40b158:	e8 73 f0 ff ff       	call   0x40a1d0
40b15d:	5a                   	pop    %edx
40b15e:	50                   	push   %eax
40b15f:	68 ff 3f 00 00       	push   $0x3fff
40b164:	68 36 10 00 00       	push   $0x1036
40b169:	56                   	push   %esi
40b16a:	e8 cd 13 00 00       	call   0x40c53c
40b16f:	61                   	popa
40b170:	e8 5f ff ff ff       	call   0x40b0d4
40b175:	c3                   	ret
40b176:	8b c0                	mov    %eax,%eax
40b178:	55                   	push   %ebp
40b179:	8b ec                	mov    %esp,%ebp
40b17b:	52                   	push   %edx
40b17c:	51                   	push   %ecx
40b17d:	0f b6 d2             	movzbl %dl,%edx
40b180:	8b 0c 95 c8 62 42 00 	mov    0x4262c8(,%edx,4),%ecx
40b187:	81 c9 40 00 01 50    	or     $0x50010040,%ecx
40b18d:	ba bc 60 42 00       	mov    $0x4260bc,%edx
40b192:	6a 01                	push   $0x1
40b194:	ff 35 80 61 42 00    	push   0x426180
40b19a:	e8 dd c4 ff ff       	call   0x40767c
40b19f:	8b 50 4c             	mov    0x4c(%eax),%edx
40b1a2:	c7 42 18 5c 70 40 00 	movl   $0x40705c,0x18(%edx)
40b1a9:	89 e2                	mov    %esp,%edx
40b1ab:	50                   	push   %eax
40b1ac:	92                   	xchg   %eax,%edx
40b1ad:	ba dc 62 42 00       	mov    $0x4262dc,%edx
40b1b2:	31 c9                	xor    %ecx,%ecx
40b1b4:	b1 19                	mov    $0x19,%cl
40b1b6:	e8 15 f0 ff ff       	call   0x40a1d0
40b1bb:	92                   	xchg   %eax,%edx
40b1bc:	58                   	pop    %eax
40b1bd:	8b 48 24             	mov    0x24(%eax),%ecx
40b1c0:	81 e1 ff 03 ff ff    	and    $0xffff03ff,%ecx
40b1c6:	09 ca                	or     %ecx,%edx
40b1c8:	89 50 24             	mov    %edx,0x24(%eax)
40b1cb:	8f 80 1a 01 00 00    	pop    0x11a(%eax)
40b1d1:	5a                   	pop    %edx
40b1d2:	88 90 1e 01 00 00    	mov    %dl,0x11e(%eax)
40b1d8:	c7 40 7c 14 b1 40 00 	movl   $0x40b114,0x7c(%eax)
40b1df:	81 80 be 00 00 00 88 	addl   $0x88,0xbe(%eax)
40b1e6:	00 00 00
40b1e9:	83 80 c2 00 00 00 56 	addl   $0x56,0xc2(%eax)
40b1f0:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b1f3:	31 d2                	xor    %edx,%edx
40b1f5:	60                   	pusha
40b1f6:	e8 21 d8 ff ff       	call   0x408a1c
40b1fb:	61                   	popa
40b1fc:	8b 4d 10             	mov    0x10(%ebp),%ecx
40b1ff:	b2 10                	mov    $0x10,%dl
40b201:	60                   	pusha
40b202:	e8 15 d8 ff ff       	call   0x408a1c
40b207:	61                   	popa
40b208:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b20b:	01 d2                	add    %edx,%edx
40b20d:	50                   	push   %eax
40b20e:	e8 09 d8 ff ff       	call   0x408a1c
40b213:	58                   	pop    %eax
40b214:	c7 80 12 01 00 00 05 	movl   $0x80000005,0x112(%eax)
40b21b:	00 00 80
40b21e:	31 d2                	xor    %edx,%edx
40b220:	42                   	inc    %edx
40b221:	88 50 3c             	mov    %dl,0x3c(%eax)
40b224:	5d                   	pop    %ebp
40b225:	c2 0c 00             	ret    $0xc
40b228:	60                   	pusha
40b229:	e8 26 00 00 00       	call   0x40b254
40b22e:	85 c0                	test   %eax,%eax
40b230:	61                   	popa
40b231:	74 1b                	je     0x40b24e
40b233:	c6 05 6c 61 42 00 00 	movb   $0x0,0x42616c
40b23a:	e8 79 c6 ff ff       	call   0x4078b8
40b23f:	c6 80 fe 00 00 00 18 	movb   $0x18,0xfe(%eax)
40b246:	c6 80 02 01 00 00 20 	movb   $0x20,0x102(%eax)
40b24d:	c3                   	ret
40b24e:	e8 65 c6 ff ff       	call   0x4078b8
40b253:	c3                   	ret
40b254:	8b 0d a4 98 42 00    	mov    0x4298a4,%ecx
40b25a:	41                   	inc    %ecx
40b25b:	e2 0c                	loop   0x40b269
40b25d:	51                   	push   %ecx
40b25e:	e8 01 c8 ff ff       	call   0x407a64
40b263:	85 c0                	test   %eax,%eax
40b265:	b0 00                	mov    $0x0,%al
40b267:	75 08                	jne    0x40b271
40b269:	ff 05 a4 98 42 00    	incl   0x4298a4
40b26f:	b0 01                	mov    $0x1,%al
40b271:	c3                   	ret
40b272:	8b c0                	mov    %eax,%eax
40b274:	53                   	push   %ebx
40b275:	57                   	push   %edi
40b276:	89 c3                	mov    %eax,%ebx
40b278:	e8 e7 9e ff ff       	call   0x405164
40b27d:	31 c9                	xor    %ecx,%ecx
40b27f:	39 0d 6c 96 42 00    	cmp    %ecx,0x42966c
40b285:	75 1c                	jne    0x40b2a3
40b287:	b1 45                	mov    $0x45,%cl
40b289:	0f b6 91 13 62 42 00 	movzbl 0x426213(%ecx),%edx
40b290:	80 e2 0f             	and    $0xf,%dl
40b293:	8b 14 95 e4 61 42 00 	mov    0x4261e4(,%edx,4),%edx
40b29a:	89 14 cd 64 96 42 00 	mov    %edx,0x429664(,%ecx,8)
40b2a1:	e2 e6                	loop   0x40b289
40b2a3:	ba 6c 96 42 00       	mov    $0x42966c,%edx
40b2a8:	89 53 50             	mov    %edx,0x50(%ebx)
40b2ab:	b1 0c                	mov    $0xc,%cl
40b2ad:	0f b6 91 13 62 42 00 	movzbl 0x426213(%ecx),%edx
40b2b4:	c1 ea 04             	shr    $0x4,%edx
40b2b7:	8b 14 95 e4 61 42 00 	mov    0x4261e4(,%edx,4),%edx
40b2be:	89 54 8b 50          	mov    %edx,0x50(%ebx,%ecx,4)
40b2c2:	e2 e9                	loop   0x40b2ad
40b2c4:	c7 83 a4 00 00 00 0f 	movl   $0x8000000f,0xa4(%ebx)
40b2cb:	00 00 80
40b2ce:	c7 83 a0 00 00 00 08 	movl   $0x80000008,0xa0(%ebx)
40b2d5:	00 00 80
40b2d8:	c6 83 b0 00 00 00 02 	movb   $0x2,0xb0(%ebx)
40b2df:	83 8b b5 00 00 00 03 	orl    $0x3,0xb5(%ebx)
40b2e6:	fe 4b 3f             	decb   0x3f(%ebx)
40b2e9:	c6 43 20 20          	movb   $0x20,0x20(%ebx)
40b2ed:	c7 43 24 00 00 cf 16 	movl   $0x16cf0000,0x24(%ebx)
40b2f4:	ff 43 2a             	incl   0x2a(%ebx)
40b2f7:	80 4b 27 10          	orb    $0x10,0x27(%ebx)
40b2fb:	8d 7b 40             	lea    0x40(%ebx),%edi
40b2fe:	bb b8 51 40 00       	mov    $0x4051b8,%ebx
40b303:	ff d3                	call   *%ebx
40b305:	ab                   	stos   %eax,%es:(%edi)
40b306:	ff d3                	call   *%ebx
40b308:	ab                   	stos   %eax,%es:(%edi)
40b309:	5f                   	pop    %edi
40b30a:	5b                   	pop    %ebx
40b30b:	c3                   	ret
40b30c:	50                   	push   %eax
40b30d:	52                   	push   %edx
40b30e:	8b 10                	mov    (%eax),%edx
40b310:	ff 12                	call   *(%edx)
40b312:	5a                   	pop    %edx
40b313:	58                   	pop    %eax
40b314:	85 d2                	test   %edx,%edx
40b316:	74 0c                	je     0x40b324
40b318:	8b 8a a4 00 00 00    	mov    0xa4(%edx),%ecx
40b31e:	89 88 a4 00 00 00    	mov    %ecx,0xa4(%eax)
40b324:	e8 2b 08 00 00       	call   0x40bb54
40b329:	c3                   	ret
40b32a:	8b c0                	mov    %eax,%eax
40b32c:	53                   	push   %ebx
40b32d:	56                   	push   %esi
40b32e:	89 c3                	mov    %eax,%ebx
40b330:	e8 0b 0c 00 00       	call   0x40bf40
40b335:	91                   	xchg   %eax,%ecx
40b336:	e3 10                	jecxz  0x40b348
40b338:	89 da                	mov    %ebx,%edx
40b33a:	33 91 f2 00 00 00    	xor    0xf2(%ecx),%edx
40b340:	75 06                	jne    0x40b348
40b342:	89 91 f2 00 00 00    	mov    %edx,0xf2(%ecx)
40b348:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
40b34b:	e3 08                	jecxz  0x40b355
40b34d:	6a 00                	push   $0x0
40b34f:	51                   	push   %ecx
40b350:	e8 eb 97 ff ff       	call   0x404b40
40b355:	89 d8                	mov    %ebx,%eax
40b357:	e8 14 9e ff ff       	call   0x405170
40b35c:	0f ba 6b 35 03       	btsl   $0x3,0x35(%ebx)
40b361:	0f 82 d3 00 00 00    	jb     0x40b43a
40b367:	31 c0                	xor    %eax,%eax
40b369:	87 83 ca 00 00 00    	xchg   %eax,0xca(%ebx)
40b36f:	e8 9c ee ff ff       	call   0x40a210
40b374:	8b 83 ee 00 00 00    	mov    0xee(%ebx),%eax