40af72:	0f 84 08 01 00 00    	je     0x40b080
40af78:	83 e8 0b             	sub    $0xb,%eax
40af7b:	74 56                	je     0x40afd3
40af7d:	48                   	dec    %eax
40af7e:	74 47                	je     0x40afc7
40af80:	83 e8 18             	sub    $0x18,%eax
40af83:	74 2f                	je     0x40afb4
40af85:	83 e8 0a             	sub    $0xa,%eax
40af88:	74 22                	je     0x40afac
40af8a:	83 e8 04             	sub    $0x4,%eax
40af8d:	0f 85 a1 01 00 00    	jne    0x40b134
40af93:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
40af96:	0f 85 d9 00 00 00    	jne    0x40b075
40af9c:	83 4d 0c 10          	orl    $0x10,0xc(%ebp)
40afa0:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
40afa7:	e9 d4 00 00 00       	jmp    0x40b080
40afac:	09 55 0c             	or     %edx,0xc(%ebp)
40afaf:	e9 cc 00 00 00       	jmp    0x40b080
40afb4:	f6 45 0c 40          	testb  $0x40,0xc(%ebp)
40afb8:	0f 85 b7 00 00 00    	jne    0x40b075
40afbe:	83 4d 0c 40          	orl    $0x40,0xc(%ebp)
40afc2:	e9 b9 00 00 00       	jmp    0x40b080
40afc7:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
40afce:	e9 a2 00 00 00       	jmp    0x40b075
40afd3:	f6 45 0c 02          	testb  $0x2,0xc(%ebp)
40afd7:	0f 85 98 00 00 00    	jne    0x40b075
40afdd:	8b 45 0c             	mov    0xc(%ebp),%eax
40afe0:	83 e0 fe             	and    $0xfffffffe,%eax
40afe3:	83 c8 02             	or     $0x2,%eax
40afe6:	89 45 0c             	mov    %eax,0xc(%ebp)
40afe9:	8b 45 fc             	mov    -0x4(%ebp),%eax
40afec:	83 e0 fc             	and    $0xfffffffc,%eax
40afef:	0b c2                	or     %edx,%eax
40aff1:	89 45 fc             	mov    %eax,-0x4(%ebp)
40aff4:	e9 87 00 00 00       	jmp    0x40b080
40aff9:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
40affc:	75 77                	jne    0x40b075
40affe:	83 4d 0c 20          	orl    $0x20,0xc(%ebp)
40b002:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
40b009:	eb 75                	jmp    0x40b080
40b00b:	83 e8 54             	sub    $0x54,%eax
40b00e:	74 5c                	je     0x40b06c
40b010:	83 e8 0e             	sub    $0xe,%eax
40b013:	74 45                	je     0x40b05a
40b015:	48                   	dec    %eax
40b016:	74 31                	je     0x40b049
40b018:	83 e8 0b             	sub    $0xb,%eax
40b01b:	74 17                	je     0x40b034
40b01d:	83 e8 06             	sub    $0x6,%eax
40b020:	0f 85 0e 01 00 00    	jne    0x40b134
40b026:	f7 45 0c 00 c0 00 00 	testl  $0xc000,0xc(%ebp)
40b02d:	75 46                	jne    0x40b075
40b02f:	09 7d 0c             	or     %edi,0xc(%ebp)
40b032:	eb 4c                	jmp    0x40b080
40b034:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
40b037:	75 3c                	jne    0x40b075
40b039:	81 65 fc ff bf ff ff 	andl   $0xffffbfff,-0x4(%ebp)
40b040:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
40b047:	eb 37                	jmp    0x40b080
40b049:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
40b04c:	75 27                	jne    0x40b075
40b04e:	09 7d fc             	or     %edi,-0x4(%ebp)
40b051:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
40b058:	eb 26                	jmp    0x40b080
40b05a:	f7 45 0c 00 c0 00 00 	testl  $0xc000,0xc(%ebp)
40b061:	75 12                	jne    0x40b075
40b063:	81 4d 0c 00 80 00 00 	orl    $0x8000,0xc(%ebp)
40b06a:	eb 14                	jmp    0x40b080
40b06c:	f7 45 0c 00 10 00 00 	testl  $0x1000,0xc(%ebp)
40b073:	74 04                	je     0x40b079
40b075:	33 c9                	xor    %ecx,%ecx
40b077:	eb 07                	jmp    0x40b080
40b079:	81 4d 0c 00 10 00 00 	orl    $0x1000,0xc(%ebp)
40b080:	46                   	inc    %esi
40b081:	8a 06                	mov    (%esi),%al
40b083:	3a c3                	cmp    %bl,%al
40b085:	0f 85 ca fe ff ff    	jne    0x40af55
40b08b:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
40b08e:	0f 84 97 00 00 00    	je     0x40b12b
40b094:	eb 01                	jmp    0x40b097
40b096:	46                   	inc    %esi
40b097:	80 3e 20             	cmpb   $0x20,(%esi)
40b09a:	74 fa                	je     0x40b096
40b09c:	6a 03                	push   $0x3
40b09e:	56                   	push   %esi
40b09f:	68 d4 ac 41 00       	push   $0x41acd4
40b0a4:	e8 a3 8e 00 00       	call   0x413f4c
40b0a9:	83 c4 0c             	add    $0xc,%esp
40b0ac:	85 c0                	test   %eax,%eax
40b0ae:	0f 85 80 00 00 00    	jne    0x40b134
40b0b4:	83 c6 03             	add    $0x3,%esi
40b0b7:	eb 01                	jmp    0x40b0ba
40b0b9:	46                   	inc    %esi
40b0ba:	80 3e 20             	cmpb   $0x20,(%esi)
40b0bd:	74 fa                	je     0x40b0b9
40b0bf:	80 3e 3d             	cmpb   $0x3d,(%esi)
40b0c2:	75 70                	jne    0x40b134
40b0c4:	46                   	inc    %esi
40b0c5:	80 3e 20             	cmpb   $0x20,(%esi)
40b0c8:	74 fa                	je     0x40b0c4
40b0ca:	6a 05                	push   $0x5
40b0cc:	68 d8 ac 41 00       	push   $0x41acd8
40b0d1:	56                   	push   %esi
40b0d2:	e8 f1 8c 00 00       	call   0x413dc8
40b0d7:	83 c4 0c             	add    $0xc,%esp
40b0da:	85 c0                	test   %eax,%eax
40b0dc:	75 0c                	jne    0x40b0ea
40b0de:	83 c6 05             	add    $0x5,%esi
40b0e1:	81 4d 0c 00 00 04 00 	orl    $0x40000,0xc(%ebp)
40b0e8:	eb 41                	jmp    0x40b12b
40b0ea:	6a 08                	push   $0x8
40b0ec:	68 e0 ac 41 00       	push   $0x41ace0
40b0f1:	56                   	push   %esi
40b0f2:	e8 d1 8c 00 00       	call   0x413dc8
40b0f7:	83 c4 0c             	add    $0xc,%esp
40b0fa:	85 c0                	test   %eax,%eax
40b0fc:	75 0c                	jne    0x40b10a
40b0fe:	83 c6 08             	add    $0x8,%esi
40b101:	81 4d 0c 00 00 02 00 	orl    $0x20000,0xc(%ebp)
40b108:	eb 21                	jmp    0x40b12b
40b10a:	6a 07                	push   $0x7
40b10c:	68 ec ac 41 00       	push   $0x41acec
40b111:	56                   	push   %esi
40b112:	e8 b1 8c 00 00       	call   0x413dc8
40b117:	83 c4 0c             	add    $0xc,%esp
40b11a:	85 c0                	test   %eax,%eax
40b11c:	75 16                	jne    0x40b134
40b11e:	83 c6 07             	add    $0x7,%esi
40b121:	81 4d 0c 00 00 01 00 	orl    $0x10000,0xc(%ebp)
40b128:	eb 01                	jmp    0x40b12b
40b12a:	46                   	inc    %esi
40b12b:	80 3e 20             	cmpb   $0x20,(%esi)
40b12e:	74 fa                	je     0x40b12a
40b130:	38 1e                	cmp    %bl,(%esi)
40b132:	74 1a                	je     0x40b14e
40b134:	e8 9c a9 ff ff       	call   0x405ad5
40b139:	53                   	push   %ebx
40b13a:	53                   	push   %ebx
40b13b:	53                   	push   %ebx
40b13c:	53                   	push   %ebx
40b13d:	53                   	push   %ebx
40b13e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40b144:	e8 dc a0 ff ff       	call   0x405225
40b149:	83 c4 14             	add    $0x14,%esp
40b14c:	eb 1e                	jmp    0x40b16c
40b14e:	68 80 01 00 00       	push   $0x180
40b153:	ff 75 10             	push   0x10(%ebp)
40b156:	8d 45 f0             	lea    -0x10(%ebp),%eax
40b159:	ff 75 0c             	push   0xc(%ebp)
40b15c:	ff 75 08             	push   0x8(%ebp)
40b15f:	50                   	push   %eax
40b160:	e8 18 8a 00 00       	call   0x413b7d
40b165:	83 c4 14             	add    $0x14,%esp
40b168:	85 c0                	test   %eax,%eax
40b16a:	74 04                	je     0x40b170
40b16c:	33 c0                	xor    %eax,%eax
40b16e:	eb 20                	jmp    0x40b190
40b170:	8b 45 14             	mov    0x14(%ebp),%eax
40b173:	ff 05 74 09 43 00    	incl   0x430974
40b179:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b17c:	89 48 0c             	mov    %ecx,0xc(%eax)
40b17f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40b182:	89 58 04             	mov    %ebx,0x4(%eax)
40b185:	89 18                	mov    %ebx,(%eax)
40b187:	89 58 08             	mov    %ebx,0x8(%eax)
40b18a:	89 58 1c             	mov    %ebx,0x1c(%eax)
40b18d:	89 48 10             	mov    %ecx,0x10(%eax)
40b190:	5f                   	pop    %edi
40b191:	5e                   	pop    %esi
40b192:	5b                   	pop    %ebx
40b193:	c9                   	leave
40b194:	c3                   	ret
40b195:	6a 10                	push   $0x10
40b197:	68 e8 96 42 00       	push   $0x4296e8
40b19c:	e8 3b f2 ff ff       	call   0x40a3dc
40b1a1:	33 db                	xor    %ebx,%ebx
40b1a3:	33 ff                	xor    %edi,%edi
40b1a5:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40b1a8:	6a 01                	push   $0x1
40b1aa:	e8 35 e7 ff ff       	call   0x4098e4
40b1af:	59                   	pop    %ecx
40b1b0:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40b1b3:	33 f6                	xor    %esi,%esi
40b1b5:	89 75 e0             	mov    %esi,-0x20(%ebp)
40b1b8:	3b 35 80 23 c7 00    	cmp    0xc72380,%esi
40b1be:	0f 8d cf 00 00 00    	jge    0x40b293
40b1c4:	a1 68 13 c7 00       	mov    0xc71368,%eax
40b1c9:	8d 04 b0             	lea    (%eax,%esi,4),%eax
40b1cc:	39 18                	cmp    %ebx,(%eax)
40b1ce:	74 5b                	je     0x40b22b
40b1d0:	8b 00                	mov    (%eax),%eax
40b1d2:	8b 40 0c             	mov    0xc(%eax),%eax
40b1d5:	a8 83                	test   $0x83,%al
40b1d7:	75 48                	jne    0x40b221
40b1d9:	a9 00 80 00 00       	test   $0x8000,%eax
40b1de:	75 41                	jne    0x40b221
40b1e0:	8d 46 fd             	lea    -0x3(%esi),%eax
40b1e3:	83 f8 10             	cmp    $0x10,%eax
40b1e6:	77 12                	ja     0x40b1fa
40b1e8:	8d 46 10             	lea    0x10(%esi),%eax
40b1eb:	50                   	push   %eax
40b1ec:	e8 30 e6 ff ff       	call   0x409821
40b1f1:	59                   	pop    %ecx
40b1f2:	85 c0                	test   %eax,%eax
40b1f4:	0f 84 99 00 00 00    	je     0x40b293
40b1fa:	a1 68 13 c7 00       	mov    0xc71368,%eax
40b1ff:	ff 34 b0             	push   (%eax,%esi,4)
40b202:	56                   	push   %esi
40b203:	e8 27 fc ff ff       	call   0x40ae2f
40b208:	59                   	pop    %ecx
40b209:	59                   	pop    %ecx
40b20a:	a1 68 13 c7 00       	mov    0xc71368,%eax
40b20f:	8b 04 b0             	mov    (%eax,%esi,4),%eax
40b212:	f6 40 0c 83          	testb  $0x83,0xc(%eax)
40b216:	74 0c                	je     0x40b224
40b218:	50                   	push   %eax
40b219:	56                   	push   %esi
40b21a:	e8 7e fc ff ff       	call   0x40ae9d
40b21f:	59                   	pop    %ecx
40b220:	59                   	pop    %ecx
40b221:	46                   	inc    %esi
40b222:	eb 91                	jmp    0x40b1b5
40b224:	8b f8                	mov    %eax,%edi
40b226:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40b229:	eb 68                	jmp    0x40b293
40b22b:	c1 e6 02             	shl    $0x2,%esi
40b22e:	6a 38                	push   $0x38
40b230:	e8 2b c9 ff ff       	call   0x407b60
40b235:	59                   	pop    %ecx
40b236:	8b 0d 68 13 c7 00    	mov    0xc71368,%ecx
40b23c:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
40b23f:	a1 68 13 c7 00       	mov    0xc71368,%eax
40b244:	03 c6                	add    %esi,%eax
40b246:	39 18                	cmp    %ebx,(%eax)
40b248:	74 49                	je     0x40b293
40b24a:	68 a0 0f 00 00       	push   $0xfa0
40b24f:	8b 00                	mov    (%eax),%eax
40b251:	83 c0 20             	add    $0x20,%eax
40b254:	50                   	push   %eax
40b255:	e8 02 7e 00 00       	call   0x41305c
40b25a:	59                   	pop    %ecx
40b25b:	59                   	pop    %ecx
40b25c:	85 c0                	test   %eax,%eax
40b25e:	a1 68 13 c7 00       	mov    0xc71368,%eax
40b263:	75 13                	jne    0x40b278
40b265:	ff 34 06             	push   (%esi,%eax,1)
40b268:	e8 b3 9d ff ff       	call   0x405020
40b26d:	59                   	pop    %ecx
40b26e:	a1 68 13 c7 00       	mov    0xc71368,%eax
40b273:	89 1c 06             	mov    %ebx,(%esi,%eax,1)
40b276:	eb 1b                	jmp    0x40b293
40b278:	8b 04 06             	mov    (%esi,%eax,1),%eax
40b27b:	83 c0 20             	add    $0x20,%eax
40b27e:	50                   	push   %eax
40b27f:	ff 15 90 a0 41 00    	call   *0x41a090
40b285:	a1 68 13 c7 00       	mov    0xc71368,%eax
40b28a:	8b 3c 06             	mov    (%esi,%eax,1),%edi
40b28d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40b290:	89 5f 0c             	mov    %ebx,0xc(%edi)
40b293:	3b fb                	cmp    %ebx,%edi
40b295:	74 16                	je     0x40b2ad
40b297:	81 67 0c 00 80 00 00 	andl   $0x8000,0xc(%edi)
40b29e:	89 5f 04             	mov    %ebx,0x4(%edi)
40b2a1:	89 5f 08             	mov    %ebx,0x8(%edi)
40b2a4:	89 1f                	mov    %ebx,(%edi)
40b2a6:	89 5f 1c             	mov    %ebx,0x1c(%edi)
40b2a9:	83 4f 10 ff          	orl    $0xffffffff,0x10(%edi)
40b2ad:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40b2b4:	e8 0b 00 00 00       	call   0x40b2c4
40b2b9:	8b c7                	mov    %edi,%eax
40b2bb:	e8 61 f1 ff ff       	call   0x40a421
40b2c0:	c3                   	ret
40b2c1:	8b 7d e4             	mov    -0x1c(%ebp),%edi
40b2c4:	6a 01                	push   $0x1
40b2c6:	e8 3f e5 ff ff       	call   0x40980a
40b2cb:	59                   	pop    %ecx
40b2cc:	c3                   	ret
40b2cd:	cc                   	int3
40b2ce:	cc                   	int3
40b2cf:	cc                   	int3
40b2d0:	53                   	push   %ebx
40b2d1:	56                   	push   %esi
40b2d2:	57                   	push   %edi
40b2d3:	8b 54 24 10          	mov    0x10(%esp),%edx
40b2d7:	8b 44 24 14          	mov    0x14(%esp),%eax
40b2db:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40b2df:	55                   	push   %ebp
40b2e0:	52                   	push   %edx
40b2e1:	50                   	push   %eax
40b2e2:	51                   	push   %ecx
40b2e3:	51                   	push   %ecx
40b2e4:	68 60 b3 40 00       	push   $0x40b360
40b2e9:	64 ff 35 00 00 00 00 	push   %fs:0x0
40b2f0:	a1 68 b2 42 00       	mov    0x42b268,%eax
40b2f5:	33 c4                	xor    %esp,%eax
40b2f7:	89 44 24 08          	mov    %eax,0x8(%esp)
40b2fb:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40b302:	8b 44 24 30          	mov    0x30(%esp),%eax
40b306:	8b 58 08             	mov    0x8(%eax),%ebx
40b309:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
40b30d:	33 19                	xor    (%ecx),%ebx
40b30f:	8b 70 0c             	mov    0xc(%eax),%esi
40b312:	83 fe fe             	cmp    $0xfffffffe,%esi
40b315:	74 3b                	je     0x40b352
40b317:	8b 54 24 34          	mov    0x34(%esp),%edx
40b31b:	83 fa fe             	cmp    $0xfffffffe,%edx
40b31e:	74 04                	je     0x40b324
40b320:	3b f2                	cmp    %edx,%esi
40b322:	76 2e                	jbe    0x40b352
40b324:	8d 34 76             	lea    (%esi,%esi,2),%esi
40b327:	8d 5c b3 10          	lea    0x10(%ebx,%esi,4),%ebx
40b32b:	8b 0b                	mov    (%ebx),%ecx
40b32d:	89 48 0c             	mov    %ecx,0xc(%eax)
40b330:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
40b334:	75 cc                	jne    0x40b302
40b336:	68 01 01 00 00       	push   $0x101
40b33b:	8b 43 08             	mov    0x8(%ebx),%eax
40b33e:	e8 3a 8d 00 00       	call   0x41407d
40b343:	b9 01 00 00 00       	mov    $0x1,%ecx
40b348:	8b 43 08             	mov    0x8(%ebx),%eax
40b34b:	e8 4c 8d 00 00       	call   0x41409c
40b350:	eb b0                	jmp    0x40b302
40b352:	64 8f 05 00 00 00 00 	pop    %fs:0x0
40b359:	83 c4 18             	add    $0x18,%esp
40b35c:	5f                   	pop    %edi
40b35d:	5e                   	pop    %esi
40b35e:	5b                   	pop    %ebx
40b35f:	c3                   	ret
40b360:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40b364:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
40b36b:	b8 01 00 00 00       	mov    $0x1,%eax
40b370:	74 33                	je     0x40b3a5
40b372:	8b 44 24 08          	mov    0x8(%esp),%eax
40b376:	8b 48 08             	mov    0x8(%eax),%ecx
40b379:	33 c8                	xor    %eax,%ecx
40b37b:	e8 a6 b2 ff ff       	call   0x406626
40b380:	55                   	push   %ebp
40b381:	8b 68 18             	mov    0x18(%eax),%ebp
40b384:	ff 70 0c             	push   0xc(%eax)
40b387:	ff 70 10             	push   0x10(%eax)
40b38a:	ff 70 14             	push   0x14(%eax)
40b38d:	e8 3e ff ff ff       	call   0x40b2d0
40b392:	83 c4 0c             	add    $0xc,%esp
40b395:	5d                   	pop    %ebp
40b396:	8b 44 24 08          	mov    0x8(%esp),%eax
40b39a:	8b 54 24 10          	mov    0x10(%esp),%edx
40b39e:	89 02                	mov    %eax,(%edx)
40b3a0:	b8 03 00 00 00       	mov    $0x3,%eax
40b3a5:	c3                   	ret
40b3a6:	55                   	push   %ebp