40afac:	8d 95 d8 fa ff ff    	lea    -0x528(%ebp),%edx
40afb2:	c7 85 54 fb ff ff 08 	movl   $0x8,-0x4ac(%ebp)
40afb9:	00 00 00
40afbc:	e8 86 d5 00 00       	call   0x418547
40afc1:	85 c0                	test   %eax,%eax
40afc3:	79 4c                	jns    0x40b011
40afc5:	8b 15 00 b0 42 00    	mov    0x42b000,%edx
40afcb:	81 fa 00 b0 42 00    	cmp    $0x42b000,%edx
40afd1:	74 37                	je     0x40b00a
40afd3:	f6 42 1c 01          	testb  $0x1,0x1c(%edx)
40afd7:	74 31                	je     0x40b00a
40afd9:	50                   	push   %eax
40afda:	ff 72 14             	push   0x14(%edx)
40afdd:	ff 72 10             	push   0x10(%edx)
40afe0:	6a 61                	push   $0x61
40afe2:	eb 1b                	jmp    0x40afff
40afe4:	a1 00 b0 42 00       	mov    0x42b000,%eax
40afe9:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40afee:	74 1a                	je     0x40b00a
40aff0:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40aff4:	74 14                	je     0x40b00a
40aff6:	51                   	push   %ecx
40aff7:	ff 70 14             	push   0x14(%eax)
40affa:	ff 70 10             	push   0x10(%eax)
40affd:	6a 62                	push   $0x62
40afff:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40b004:	59                   	pop    %ecx
40b005:	e8 c4 c3 ff ff       	call   0x4073ce
40b00a:	8b ce                	mov    %esi,%ecx
40b00c:	e8 52 d7 00 00       	call   0x418763
40b011:	83 bd 44 fa ff ff 00 	cmpl   $0x0,-0x5bc(%ebp)
40b018:	74 4f                	je     0x40b069
40b01a:	ff b5 58 fa ff ff    	push   -0x5a8(%ebp)
40b020:	8d 4f 48             	lea    0x48(%edi),%ecx
40b023:	e8 90 10 00 00       	call   0x40c0b8
40b028:	8b f0                	mov    %eax,%esi
40b02a:	85 f6                	test   %esi,%esi
40b02c:	79 27                	jns    0x40b055
40b02e:	a1 00 b0 42 00       	mov    0x42b000,%eax
40b033:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40b038:	0f 84 38 01 00 00    	je     0x40b176
40b03e:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40b042:	0f 84 2e 01 00 00    	je     0x40b176
40b048:	ff 70 14             	push   0x14(%eax)
40b04b:	ff 70 10             	push   0x10(%eax)
40b04e:	6a 63                	push   $0x63
40b050:	e9 16 01 00 00       	jmp    0x40b16b
40b055:	8b bd d4 fa ff ff    	mov    -0x52c(%ebp),%edi
40b05b:	8d 9d 5c fa ff ff    	lea    -0x5a4(%ebp),%ebx
40b061:	89 bd 50 fa ff ff    	mov    %edi,-0x5b0(%ebp)
40b067:	eb 06                	jmp    0x40b06f
40b069:	8b bd 50 fa ff ff    	mov    -0x5b0(%ebp),%edi
40b06f:	8d 85 4c fa ff ff    	lea    -0x5b4(%ebp),%eax
40b075:	50                   	push   %eax
40b076:	ff b5 3c fa ff ff    	push   -0x5c4(%ebp)
40b07c:	8b 85 48 fa ff ff    	mov    -0x5b8(%ebp),%eax
40b082:	6a 02                	push   $0x2
40b084:	ff 30                	push   (%eax)
40b086:	ff 15 b0 c4 42 00    	call   *0x42c4b0
40b08c:	8b f0                	mov    %eax,%esi
40b08e:	85 f6                	test   %esi,%esi
40b090:	0f 88 bb 00 00 00    	js     0x40b151
40b096:	83 bd 4c fa ff ff 00 	cmpl   $0x0,-0x5b4(%ebp)
40b09d:	0f 84 ae 00 00 00    	je     0x40b151
40b0a3:	ff b5 54 fa ff ff    	push   -0x5ac(%ebp)
40b0a9:	ff b5 4c fa ff ff    	push   -0x5b4(%ebp)
40b0af:	ff 15 90 c4 42 00    	call   *0x42c490
40b0b5:	8b 85 4c fa ff ff    	mov    -0x5b4(%ebp),%eax
40b0bb:	89 85 48 fa ff ff    	mov    %eax,-0x5b8(%ebp)
40b0c1:	85 c0                	test   %eax,%eax
40b0c3:	74 5f                	je     0x40b124
40b0c5:	85 ff                	test   %edi,%edi
40b0c7:	74 5b                	je     0x40b124
40b0c9:	33 ff                	xor    %edi,%edi
40b0cb:	39 bd 50 fa ff ff    	cmp    %edi,-0x5b0(%ebp)
40b0d1:	76 25                	jbe    0x40b0f8
40b0d3:	ff 73 04             	push   0x4(%ebx)
40b0d6:	ff 33                	push   (%ebx)
40b0d8:	57                   	push   %edi
40b0d9:	50                   	push   %eax
40b0da:	ff 15 98 c4 42 00    	call   *0x42c498
40b0e0:	8b f0                	mov    %eax,%esi
40b0e2:	85 f6                	test   %esi,%esi
40b0e4:	78 16                	js     0x40b0fc
40b0e6:	8b 85 48 fa ff ff    	mov    -0x5b8(%ebp),%eax
40b0ec:	47                   	inc    %edi
40b0ed:	83 c3 0c             	add    $0xc,%ebx
40b0f0:	3b bd 50 fa ff ff    	cmp    -0x5b0(%ebp),%edi
40b0f6:	72 db                	jb     0x40b0d3
40b0f8:	33 f6                	xor    %esi,%esi
40b0fa:	eb 2d                	jmp    0x40b129
40b0fc:	a1 00 b0 42 00       	mov    0x42b000,%eax
40b101:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40b106:	74 26                	je     0x40b12e
40b108:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40b10c:	74 20                	je     0x40b12e
40b10e:	56                   	push   %esi
40b10f:	ff 70 14             	push   0x14(%eax)
40b112:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40b117:	ff 70 10             	push   0x10(%eax)
40b11a:	6a 5c                	push   $0x5c
40b11c:	59                   	pop    %ecx
40b11d:	e8 ac c2 ff ff       	call   0x4073ce
40b122:	eb 05                	jmp    0x40b129
40b124:	be 57 00 07 80       	mov    $0x80070057,%esi
40b129:	a1 00 b0 42 00       	mov    0x42b000,%eax
40b12e:	85 f6                	test   %esi,%esi
40b130:	79 1b                	jns    0x40b14d
40b132:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40b137:	74 3d                	je     0x40b176
40b139:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40b13d:	74 37                	je     0x40b176
40b13f:	56                   	push   %esi
40b140:	ff 70 14             	push   0x14(%eax)
40b143:	ff 70 10             	push   0x10(%eax)
40b146:	6a 65                	push   $0x65
40b148:	e9 7d fc ff ff       	jmp    0x40adca
40b14d:	33 f6                	xor    %esi,%esi
40b14f:	eb 25                	jmp    0x40b176
40b151:	a1 00 b0 42 00       	mov    0x42b000,%eax
40b156:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40b15b:	74 19                	je     0x40b176
40b15d:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40b161:	74 13                	je     0x40b176
40b163:	ff 70 14             	push   0x14(%eax)
40b166:	ff 70 10             	push   0x10(%eax)
40b169:	6a 64                	push   $0x64
40b16b:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40b170:	59                   	pop    %ecx
40b171:	e8 3a c2 ff ff       	call   0x4073b0
40b176:	8b 85 40 fa ff ff    	mov    -0x5c0(%ebp),%eax
40b17c:	85 c0                	test   %eax,%eax
40b17e:	74 07                	je     0x40b187
40b180:	50                   	push   %eax
40b181:	ff 15 30 c2 42 00    	call   *0x42c230
40b187:	85 f6                	test   %esi,%esi
40b189:	78 0e                	js     0x40b199
40b18b:	8b 8d 38 fa ff ff    	mov    -0x5c8(%ebp),%ecx
40b191:	8b 85 4c fa ff ff    	mov    -0x5b4(%ebp),%eax
40b197:	89 01                	mov    %eax,(%ecx)
40b199:	83 bd 54 fa ff ff 00 	cmpl   $0x0,-0x5ac(%ebp)
40b1a0:	74 13                	je     0x40b1b5
40b1a2:	ff b5 54 fa ff ff    	push   -0x5ac(%ebp)
40b1a8:	ff 15 8c c4 42 00    	call   *0x42c48c
40b1ae:	83 a5 54 fa ff ff 00 	andl   $0x0,-0x5ac(%ebp)
40b1b5:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40b1b9:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
40b1bf:	68 50 79 40 00       	push   $0x407950
40b1c4:	6a 08                	push   $0x8
40b1c6:	6a 0c                	push   $0xc
40b1c8:	50                   	push   %eax
40b1c9:	e8 0c cc 01 00       	call   0x427dda
40b1ce:	8b c6                	mov    %esi,%eax
40b1d0:	e8 75 ce 01 00       	call   0x42804a
40b1d5:	c2 08 00             	ret    $0x8
40b1d8:	8b ff                	mov    %edi,%edi
40b1da:	55                   	push   %ebp
40b1db:	8b ec                	mov    %esp,%ebp
40b1dd:	51                   	push   %ecx
40b1de:	56                   	push   %esi
40b1df:	57                   	push   %edi
40b1e0:	33 ff                	xor    %edi,%edi
40b1e2:	8b f1                	mov    %ecx,%esi
40b1e4:	39 7d 08             	cmp    %edi,0x8(%ebp)
40b1e7:	75 2c                	jne    0x40b215
40b1e9:	a1 00 b0 42 00       	mov    0x42b000,%eax
40b1ee:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40b1f3:	74 19                	je     0x40b20e
40b1f5:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40b1f9:	74 13                	je     0x40b20e
40b1fb:	ff 70 14             	push   0x14(%eax)
40b1fe:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40b203:	ff 70 10             	push   0x10(%eax)
40b206:	6a 66                	push   $0x66
40b208:	59                   	pop    %ecx
40b209:	e8 a2 c1 ff ff       	call   0x4073b0
40b20e:	b8 57 00 07 80       	mov    $0x80070057,%eax
40b213:	eb 2c                	jmp    0x40b241
40b215:	33 d2                	xor    %edx,%edx
40b217:	8d 8e ec 02 00 00    	lea    0x2ec(%esi),%ecx
40b21d:	42                   	inc    %edx
40b21e:	33 c0                	xor    %eax,%eax
40b220:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)
40b224:	85 c0                	test   %eax,%eax
40b226:	75 17                	jne    0x40b23f
40b228:	ff b6 10 02 00 00    	push   0x210(%esi)
40b22e:	ff b6 b8 01 00 00    	push   0x1b8(%esi)
40b234:	ff 75 08             	push   0x8(%ebp)
40b237:	ff 15 bc c4 42 00    	call   *0x42c4bc
40b23d:	8b f8                	mov    %eax,%edi
40b23f:	8b c7                	mov    %edi,%eax
40b241:	5f                   	pop    %edi
40b242:	5e                   	pop    %esi
40b243:	59                   	pop    %ecx
40b244:	5d                   	pop    %ebp
40b245:	c2 04 00             	ret    $0x4
40b248:	8b ff                	mov    %edi,%edi
40b24a:	55                   	push   %ebp
40b24b:	8b ec                	mov    %esp,%ebp
40b24d:	83 e4 f8             	and    $0xfffffff8,%esp
40b250:	51                   	push   %ecx
40b251:	83 24 24 00          	andl   $0x0,(%esp)
40b255:	53                   	push   %ebx
40b256:	56                   	push   %esi
40b257:	57                   	push   %edi
40b258:	8b 7d 08             	mov    0x8(%ebp),%edi
40b25b:	33 db                	xor    %ebx,%ebx
40b25d:	43                   	inc    %ebx
40b25e:	8b f1                	mov    %ecx,%esi
40b260:	8b 47 04             	mov    0x4(%edi),%eax
40b263:	83 e8 00             	sub    $0x0,%eax
40b266:	74 46                	je     0x40b2ae
40b268:	83 e8 04             	sub    $0x4,%eax
40b26b:	0f 84 f9 00 00 00    	je     0x40b36a
40b271:	2b c3                	sub    %ebx,%eax
40b273:	74 7e                	je     0x40b2f3
40b275:	2b c3                	sub    %ebx,%eax
40b277:	74 2f                	je     0x40b2a8
40b279:	83 e8 03             	sub    $0x3,%eax
40b27c:	75 40                	jne    0x40b2be
40b27e:	83 7f 0c 03          	cmpl   $0x3,0xc(%edi)
40b282:	75 3a                	jne    0x40b2be
40b284:	e8 4f eb ff ff       	call   0x409dd8
40b289:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40b28f:	33 c9                	xor    %ecx,%ecx
40b291:	39 48 28             	cmp    %ecx,0x28(%eax)
40b294:	74 28                	je     0x40b2be
40b296:	39 8e 88 01 00 00    	cmp    %ecx,0x188(%esi)
40b29c:	75 20                	jne    0x40b2be
40b29e:	51                   	push   %ecx
40b29f:	8b ce                	mov    %esi,%ecx
40b2a1:	e8 f1 e4 ff ff       	call   0x409797
40b2a6:	eb 16                	jmp    0x40b2be
40b2a8:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
40b2ac:	75 10                	jne    0x40b2be
40b2ae:	83 be 88 01 00 00 00 	cmpl   $0x0,0x188(%esi)
40b2b5:	75 07                	jne    0x40b2be
40b2b7:	ff 37                	push   (%edi)
40b2b9:	e8 1a ff ff ff       	call   0x40b1d8
40b2be:	8b 8e e8 02 00 00    	mov    0x2e8(%esi),%ecx
40b2c4:	85 c9                	test   %ecx,%ecx
40b2c6:	74 1e                	je     0x40b2e6
40b2c8:	85 db                	test   %ebx,%ebx
40b2ca:	74 1a                	je     0x40b2e6
40b2cc:	8b 44 24 0c          	mov    0xc(%esp),%eax
40b2d0:	8d 54 24 0c          	lea    0xc(%esp),%edx
40b2d4:	f7 d8                	neg    %eax
40b2d6:	1b c0                	sbb    %eax,%eax
40b2d8:	f7 d0                	not    %eax
40b2da:	23 c2                	and    %edx,%eax
40b2dc:	8b 56 48             	mov    0x48(%esi),%edx
40b2df:	50                   	push   %eax
40b2e0:	57                   	push   %edi
40b2e1:	e8 7f d3 00 00       	call   0x418665
40b2e6:	8b 44 24 0c          	mov    0xc(%esp),%eax
40b2ea:	5f                   	pop    %edi
40b2eb:	5e                   	pop    %esi
40b2ec:	5b                   	pop    %ebx
40b2ed:	8b e5                	mov    %ebp,%esp
40b2ef:	5d                   	pop    %ebp
40b2f0:	c2 04 00             	ret    $0x4
40b2f3:	a1 00 b0 42 00       	mov    0x42b000,%eax
40b2f8:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40b2fd:	74 19                	je     0x40b318
40b2ff:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
40b303:	74 13                	je     0x40b318
40b305:	ff 70 14             	push   0x14(%eax)
40b308:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40b30d:	ff 70 10             	push   0x10(%eax)
40b310:	6a 68                	push   $0x68
40b312:	59                   	pop    %ecx
40b313:	e8 98 c0 ff ff       	call   0x4073b0
40b318:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40b31e:	33 db                	xor    %ebx,%ebx
40b320:	f6 80 84 9a 00 00 04 	testb  $0x4,0x9a84(%eax)
40b327:	75 09                	jne    0x40b332
40b329:	6a 02                	push   $0x2
40b32b:	8b ce                	mov    %esi,%ecx
40b32d:	e8 ba e2 ff ff       	call   0x4095ec
40b332:	8b ce                	mov    %esi,%ecx
40b334:	e8 25 eb ff ff       	call   0x409e5e
40b339:	8b ce                	mov    %esi,%ecx
40b33b:	e8 98 ea ff ff       	call   0x409dd8
40b340:	6a 01                	push   $0x1
40b342:	8b ce                	mov    %esi,%ecx
40b344:	e8 4e e4 ff ff       	call   0x409797
40b349:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40b34f:	8b ce                	mov    %esi,%ecx
40b351:	8b 40 38             	mov    0x38(%eax),%eax
40b354:	24 02                	and    $0x2,%al
40b356:	0f b6 c0             	movzbl %al,%eax
40b359:	f7 d8                	neg    %eax
40b35b:	1b c0                	sbb    %eax,%eax
40b35d:	25 ac 21 40 00       	and    $0x4021ac,%eax
40b362:	50                   	push   %eax
40b363:	e8 07 e9 ff ff       	call   0x409c6f
40b368:	eb 3e                	jmp    0x40b3a8
40b36a:	a1 00 b0 42 00       	mov    0x42b000,%eax
40b36f:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40b374:	74 19                	je     0x40b38f
40b376:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
40b37a:	74 13                	je     0x40b38f
40b37c:	ff 70 14             	push   0x14(%eax)
40b37f:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40b384:	ff 70 10             	push   0x10(%eax)
40b387:	6a 67                	push   $0x67
40b389:	59                   	pop    %ecx
40b38a:	e8 21 c0 ff ff       	call   0x4073b0
40b38f:	6a 04                	push   $0x4
40b391:	8b ce                	mov    %esi,%ecx
40b393:	33 db                	xor    %ebx,%ebx
40b395:	e8 52 e2 ff ff       	call   0x4095ec
40b39a:	8b ce                	mov    %esi,%ecx
40b39c:	e8 bd ea ff ff       	call   0x409e5e
40b3a1:	8b ce                	mov    %esi,%ecx
40b3a3:	e8 30 ea ff ff       	call   0x409dd8
40b3a8:	c7 44 24 0c 01 00 00 	movl   $0x1,0xc(%esp)
40b3af:	00
40b3b0:	e9 09 ff ff ff       	jmp    0x40b2be
40b3b5:	cc                   	int3
40b3b6:	cc                   	int3
40b3b7:	cc                   	int3
40b3b8:	cc                   	int3
40b3b9:	cc                   	int3
40b3ba:	cc                   	int3
40b3bb:	cc                   	int3
40b3bc:	cc                   	int3
40b3bd:	cc                   	int3
40b3be:	cc                   	int3
40b3bf:	cc                   	int3
40b3c0:	8b ff                	mov    %edi,%edi
40b3c2:	55                   	push   %ebp
40b3c3:	8b ec                	mov    %esp,%ebp
40b3c5:	ff 75 0c             	push   0xc(%ebp)
40b3c8:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b3cb:	e8 78 fe ff ff       	call   0x40b248
40b3d0:	5d                   	pop    %ebp
40b3d1:	c2 08 00             	ret    $0x8
40b3d4:	8b ff                	mov    %edi,%edi
40b3d6:	55                   	push   %ebp
40b3d7:	8b ec                	mov    %esp,%ebp
40b3d9:	51                   	push   %ecx
40b3da:	56                   	push   %esi
40b3db:	8b f1                	mov    %ecx,%esi
40b3dd:	89 75 fc             	mov    %esi,-0x4(%ebp)
40b3e0:	e8 bc 08 00 00       	call   0x40bca1
40b3e5:	8d 8e b0 01 00 00    	lea    0x1b0(%esi),%ecx
40b3eb:	e8 d8 b4 00 00       	call   0x4168c8
40b3f0:	33 c9                	xor    %ecx,%ecx
40b3f2:	6a 03                	push   $0x3