40b139:	06                   	push   %es
40b13a:	00 00                	add    %al,(%eax)
40b13c:	84 c0                	test   %al,%al
40b13e:	75 03                	jne    0x40b143
40b140:	32 c0                	xor    %al,%al
40b142:	c3                   	ret
40b143:	e8 ce 05 00 00       	call   0x40b716
40b148:	84 c0                	test   %al,%al
40b14a:	75 07                	jne    0x40b153
40b14c:	e8 c5 06 00 00       	call   0x40b816
40b151:	eb ed                	jmp    0x40b140
40b153:	b0 01                	mov    $0x1,%al
40b155:	c3                   	ret
40b156:	55                   	push   %ebp
40b157:	8b ec                	mov    %esp,%ebp
40b159:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40b15d:	75 12                	jne    0x40b171
40b15f:	e8 e5 05 00 00       	call   0x40b749
40b164:	e8 ad 06 00 00       	call   0x40b816
40b169:	6a 00                	push   $0x0
40b16b:	e8 5f 04 00 00       	call   0x40b5cf
40b170:	59                   	pop    %ecx
40b171:	b0 01                	mov    $0x1,%al
40b173:	5d                   	pop    %ebp
40b174:	c3                   	ret
40b175:	cc                   	int3
40b176:	cc                   	int3
40b177:	cc                   	int3
40b178:	cc                   	int3
40b179:	cc                   	int3
40b17a:	cc                   	int3
40b17b:	cc                   	int3
40b17c:	cc                   	int3
40b17d:	cc                   	int3
40b17e:	cc                   	int3
40b17f:	cc                   	int3
40b180:	55                   	push   %ebp
40b181:	8b ec                	mov    %esp,%ebp
40b183:	56                   	push   %esi
40b184:	8b 75 08             	mov    0x8(%ebp),%esi
40b187:	57                   	push   %edi
40b188:	8b 7d 0c             	mov    0xc(%ebp),%edi
40b18b:	8b 06                	mov    (%esi),%eax
40b18d:	83 f8 fe             	cmp    $0xfffffffe,%eax
40b190:	74 0d                	je     0x40b19f
40b192:	8b 4e 04             	mov    0x4(%esi),%ecx
40b195:	03 cf                	add    %edi,%ecx
40b197:	33 0c 38             	xor    (%eax,%edi,1),%ecx
40b19a:	e8 c1 be ff ff       	call   0x407060
40b19f:	8b 46 08             	mov    0x8(%esi),%eax
40b1a2:	8b 4e 0c             	mov    0xc(%esi),%ecx
40b1a5:	03 cf                	add    %edi,%ecx
40b1a7:	33 0c 38             	xor    (%eax,%edi,1),%ecx
40b1aa:	5f                   	pop    %edi
40b1ab:	5e                   	pop    %esi
40b1ac:	5d                   	pop    %ebp
40b1ad:	e9 ae be ff ff       	jmp    0x407060
40b1b2:	cc                   	int3
40b1b3:	cc                   	int3
40b1b4:	cc                   	int3
40b1b5:	cc                   	int3
40b1b6:	cc                   	int3
40b1b7:	cc                   	int3
40b1b8:	cc                   	int3
40b1b9:	cc                   	int3
40b1ba:	cc                   	int3
40b1bb:	cc                   	int3
40b1bc:	cc                   	int3
40b1bd:	cc                   	int3
40b1be:	cc                   	int3
40b1bf:	cc                   	int3
40b1c0:	55                   	push   %ebp
40b1c1:	8b ec                	mov    %esp,%ebp
40b1c3:	83 ec 1c             	sub    $0x1c,%esp
40b1c6:	53                   	push   %ebx
40b1c7:	56                   	push   %esi
40b1c8:	8b 75 0c             	mov    0xc(%ebp),%esi
40b1cb:	57                   	push   %edi
40b1cc:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40b1d0:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
40b1d7:	8b 5e 08             	mov    0x8(%esi),%ebx
40b1da:	8d 46 10             	lea    0x10(%esi),%eax
40b1dd:	33 1d 28 ba 43 00    	xor    0x43ba28,%ebx
40b1e3:	50                   	push   %eax
40b1e4:	53                   	push   %ebx
40b1e5:	89 45 ec             	mov    %eax,-0x14(%ebp)
40b1e8:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40b1eb:	e8 90 ff ff ff       	call   0x40b180
40b1f0:	8b 7d 10             	mov    0x10(%ebp),%edi
40b1f3:	57                   	push   %edi
40b1f4:	e8 c3 05 00 00       	call   0x40b7bc
40b1f9:	8b 45 08             	mov    0x8(%ebp),%eax
40b1fc:	83 c4 0c             	add    $0xc,%esp
40b1ff:	f6 40 04 66          	testb  $0x66,0x4(%eax)
40b203:	0f 85 ba 00 00 00    	jne    0x40b2c3
40b209:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40b20c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40b20f:	89 7d e8             	mov    %edi,-0x18(%ebp)
40b212:	8b 7e 0c             	mov    0xc(%esi),%edi
40b215:	89 46 fc             	mov    %eax,-0x4(%esi)
40b218:	83 ff fe             	cmp    $0xfffffffe,%edi
40b21b:	0f 84 c9 00 00 00    	je     0x40b2ea
40b221:	8d 47 02             	lea    0x2(%edi),%eax
40b224:	8d 04 47             	lea    (%edi,%eax,2),%eax
40b227:	8b 4c 83 04          	mov    0x4(%ebx,%eax,4),%ecx
40b22b:	8d 04 83             	lea    (%ebx,%eax,4),%eax
40b22e:	8b 18                	mov    (%eax),%ebx
40b230:	89 45 f0             	mov    %eax,-0x10(%ebp)
40b233:	85 c9                	test   %ecx,%ecx
40b235:	74 65                	je     0x40b29c
40b237:	8d 56 10             	lea    0x10(%esi),%edx
40b23a:	e8 0f 07 00 00       	call   0x40b94e
40b23f:	b1 01                	mov    $0x1,%cl
40b241:	88 4d ff             	mov    %cl,-0x1(%ebp)
40b244:	85 c0                	test   %eax,%eax
40b246:	78 66                	js     0x40b2ae
40b248:	7e 55                	jle    0x40b29f
40b24a:	8b 45 08             	mov    0x8(%ebp),%eax
40b24d:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40b253:	75 37                	jne    0x40b28c
40b255:	83 3d 64 a6 42 00 00 	cmpl   $0x0,0x42a664
40b25c:	74 2e                	je     0x40b28c
40b25e:	68 64 a6 42 00       	push   $0x42a664
40b263:	e8 c8 af 01 00       	call   0x426230
40b268:	83 c4 04             	add    $0x4,%esp
40b26b:	85 c0                	test   %eax,%eax
40b26d:	74 1a                	je     0x40b289
40b26f:	8b 35 64 a6 42 00    	mov    0x42a664,%esi
40b275:	8b ce                	mov    %esi,%ecx
40b277:	6a 01                	push   $0x1
40b279:	ff 75 08             	push   0x8(%ebp)
40b27c:	e8 f0 bd ff ff       	call   0x407071
40b281:	ff d6                	call   *%esi
40b283:	8b 75 0c             	mov    0xc(%ebp),%esi
40b286:	83 c4 08             	add    $0x8,%esp
40b289:	8b 45 08             	mov    0x8(%ebp),%eax
40b28c:	8b d0                	mov    %eax,%edx
40b28e:	8b ce                	mov    %esi,%ecx
40b290:	e8 e9 06 00 00       	call   0x40b97e
40b295:	39 7e 0c             	cmp    %edi,0xc(%esi)
40b298:	74 6c                	je     0x40b306
40b29a:	eb 58                	jmp    0x40b2f4
40b29c:	8a 4d ff             	mov    -0x1(%ebp),%cl
40b29f:	8b fb                	mov    %ebx,%edi
40b2a1:	83 fb fe             	cmp    $0xfffffffe,%ebx
40b2a4:	74 14                	je     0x40b2ba
40b2a6:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40b2a9:	e9 73 ff ff ff       	jmp    0x40b221
40b2ae:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40b2b1:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40b2b8:	eb 24                	jmp    0x40b2de
40b2ba:	84 c9                	test   %cl,%cl
40b2bc:	74 2c                	je     0x40b2ea
40b2be:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40b2c1:	eb 1b                	jmp    0x40b2de
40b2c3:	83 7e 0c fe          	cmpl   $0xfffffffe,0xc(%esi)
40b2c7:	74 21                	je     0x40b2ea
40b2c9:	68 28 ba 43 00       	push   $0x43ba28
40b2ce:	8d 46 10             	lea    0x10(%esi),%eax
40b2d1:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
40b2d6:	50                   	push   %eax
40b2d7:	8b ce                	mov    %esi,%ecx
40b2d9:	e8 b9 06 00 00       	call   0x40b997
40b2de:	ff 75 ec             	push   -0x14(%ebp)
40b2e1:	53                   	push   %ebx
40b2e2:	e8 99 fe ff ff       	call   0x40b180
40b2e7:	83 c4 08             	add    $0x8,%esp
40b2ea:	8b 45 f4             	mov    -0xc(%ebp),%eax
40b2ed:	5f                   	pop    %edi
40b2ee:	5e                   	pop    %esi
40b2ef:	5b                   	pop    %ebx
40b2f0:	8b e5                	mov    %ebp,%esp
40b2f2:	5d                   	pop    %ebp
40b2f3:	c3                   	ret
40b2f4:	68 28 ba 43 00       	push   $0x43ba28
40b2f9:	8d 46 10             	lea    0x10(%esi),%eax
40b2fc:	8b d7                	mov    %edi,%edx
40b2fe:	50                   	push   %eax
40b2ff:	8b ce                	mov    %esi,%ecx
40b301:	e8 91 06 00 00       	call   0x40b997
40b306:	89 5e 0c             	mov    %ebx,0xc(%esi)
40b309:	8d 5e 10             	lea    0x10(%esi),%ebx
40b30c:	53                   	push   %ebx
40b30d:	ff 75 f8             	push   -0x8(%ebp)
40b310:	e8 6b fe ff ff       	call   0x40b180
40b315:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40b318:	83 c4 08             	add    $0x8,%esp
40b31b:	8b d3                	mov    %ebx,%edx
40b31d:	8b 49 08             	mov    0x8(%ecx),%ecx
40b320:	e8 40 06 00 00       	call   0x40b965
40b325:	cc                   	int3
40b326:	55                   	push   %ebp
40b327:	8b ec                	mov    %esp,%ebp
40b329:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40b32e:	83 e0 1f             	and    $0x1f,%eax
40b331:	6a 20                	push   $0x20
40b333:	59                   	pop    %ecx
40b334:	2b c8                	sub    %eax,%ecx
40b336:	8b 45 08             	mov    0x8(%ebp),%eax
40b339:	d3 c8                	ror    %cl,%eax
40b33b:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
40b341:	5d                   	pop    %ebp
40b342:	c3                   	ret
40b343:	55                   	push   %ebp
40b344:	8b ec                	mov    %esp,%ebp
40b346:	8b 45 08             	mov    0x8(%ebp),%eax
40b349:	33 c9                	xor    %ecx,%ecx
40b34b:	53                   	push   %ebx
40b34c:	56                   	push   %esi
40b34d:	57                   	push   %edi
40b34e:	8d 1c 85 90 99 83 02 	lea    0x2839990(,%eax,4),%ebx
40b355:	33 c0                	xor    %eax,%eax
40b357:	f0 0f b1 0b          	lock cmpxchg %ecx,(%ebx)
40b35b:	8b 15 28 ba 43 00    	mov    0x43ba28,%edx
40b361:	83 cf ff             	or     $0xffffffff,%edi
40b364:	8b ca                	mov    %edx,%ecx
40b366:	8b f2                	mov    %edx,%esi
40b368:	83 e1 1f             	and    $0x1f,%ecx
40b36b:	33 f0                	xor    %eax,%esi
40b36d:	d3 ce                	ror    %cl,%esi
40b36f:	3b f7                	cmp    %edi,%esi
40b371:	74 69                	je     0x40b3dc
40b373:	85 f6                	test   %esi,%esi
40b375:	74 04                	je     0x40b37b
40b377:	8b c6                	mov    %esi,%eax
40b379:	eb 63                	jmp    0x40b3de
40b37b:	8b 75 10             	mov    0x10(%ebp),%esi
40b37e:	3b 75 14             	cmp    0x14(%ebp),%esi
40b381:	74 1a                	je     0x40b39d
40b383:	ff 36                	push   (%esi)
40b385:	e8 59 00 00 00       	call   0x40b3e3
40b38a:	59                   	pop    %ecx
40b38b:	85 c0                	test   %eax,%eax
40b38d:	75 2f                	jne    0x40b3be
40b38f:	83 c6 04             	add    $0x4,%esi
40b392:	3b 75 14             	cmp    0x14(%ebp),%esi
40b395:	75 ec                	jne    0x40b383
40b397:	8b 15 28 ba 43 00    	mov    0x43ba28,%edx
40b39d:	33 c0                	xor    %eax,%eax
40b39f:	85 c0                	test   %eax,%eax
40b3a1:	74 29                	je     0x40b3cc
40b3a3:	ff 75 0c             	push   0xc(%ebp)
40b3a6:	50                   	push   %eax
40b3a7:	ff 15 70 71 42 00    	call   *0x427170
40b3ad:	8b f0                	mov    %eax,%esi
40b3af:	85 f6                	test   %esi,%esi
40b3b1:	74 13                	je     0x40b3c6
40b3b3:	56                   	push   %esi
40b3b4:	e8 6d ff ff ff       	call   0x40b326
40b3b9:	59                   	pop    %ecx
40b3ba:	87 03                	xchg   %eax,(%ebx)
40b3bc:	eb b9                	jmp    0x40b377
40b3be:	8b 15 28 ba 43 00    	mov    0x43ba28,%edx
40b3c4:	eb d9                	jmp    0x40b39f
40b3c6:	8b 15 28 ba 43 00    	mov    0x43ba28,%edx
40b3cc:	8b c2                	mov    %edx,%eax
40b3ce:	6a 20                	push   $0x20
40b3d0:	83 e0 1f             	and    $0x1f,%eax
40b3d3:	59                   	pop    %ecx
40b3d4:	2b c8                	sub    %eax,%ecx
40b3d6:	d3 cf                	ror    %cl,%edi
40b3d8:	33 fa                	xor    %edx,%edi
40b3da:	87 3b                	xchg   %edi,(%ebx)
40b3dc:	33 c0                	xor    %eax,%eax
40b3de:	5f                   	pop    %edi
40b3df:	5e                   	pop    %esi
40b3e0:	5b                   	pop    %ebx
40b3e1:	5d                   	pop    %ebp
40b3e2:	c3                   	ret
40b3e3:	55                   	push   %ebp
40b3e4:	8b ec                	mov    %esp,%ebp
40b3e6:	53                   	push   %ebx
40b3e7:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b3ea:	33 c9                	xor    %ecx,%ecx
40b3ec:	57                   	push   %edi
40b3ed:	33 c0                	xor    %eax,%eax
40b3ef:	8d 3c 9d 80 99 83 02 	lea    0x2839980(,%ebx,4),%edi
40b3f6:	f0 0f b1 0f          	lock cmpxchg %ecx,(%edi)
40b3fa:	8b c8                	mov    %eax,%ecx
40b3fc:	85 c9                	test   %ecx,%ecx
40b3fe:	74 0b                	je     0x40b40b
40b400:	8d 41 01             	lea    0x1(%ecx),%eax
40b403:	f7 d8                	neg    %eax
40b405:	1b c0                	sbb    %eax,%eax
40b407:	23 c1                	and    %ecx,%eax
40b409:	eb 55                	jmp    0x40b460
40b40b:	8b 1c 9d 84 a6 42 00 	mov    0x42a684(,%ebx,4),%ebx
40b412:	56                   	push   %esi
40b413:	68 00 08 00 00       	push   $0x800
40b418:	6a 00                	push   $0x0
40b41a:	53                   	push   %ebx
40b41b:	ff 15 cc 71 42 00    	call   *0x4271cc
40b421:	8b f0                	mov    %eax,%esi
40b423:	85 f6                	test   %esi,%esi
40b425:	75 27                	jne    0x40b44e
40b427:	ff 15 c4 71 42 00    	call   *0x4271c4
40b42d:	83 f8 57             	cmp    $0x57,%eax
40b430:	75 0d                	jne    0x40b43f
40b432:	56                   	push   %esi
40b433:	56                   	push   %esi
40b434:	53                   	push   %ebx
40b435:	ff 15 cc 71 42 00    	call   *0x4271cc
40b43b:	8b f0                	mov    %eax,%esi
40b43d:	eb 02                	jmp    0x40b441
40b43f:	33 f6                	xor    %esi,%esi
40b441:	85 f6                	test   %esi,%esi
40b443:	75 09                	jne    0x40b44e
40b445:	83 c8 ff             	or     $0xffffffff,%eax
40b448:	87 07                	xchg   %eax,(%edi)
40b44a:	33 c0                	xor    %eax,%eax
40b44c:	eb 11                	jmp    0x40b45f
40b44e:	8b c6                	mov    %esi,%eax
40b450:	87 07                	xchg   %eax,(%edi)
40b452:	85 c0                	test   %eax,%eax
40b454:	74 07                	je     0x40b45d
40b456:	56                   	push   %esi
40b457:	ff 15 c8 71 42 00    	call   *0x4271c8
40b45d:	8b c6                	mov    %esi,%eax
40b45f:	5e                   	pop    %esi
40b460:	5f                   	pop    %edi
40b461:	5b                   	pop    %ebx
40b462:	5d                   	pop    %ebp
40b463:	c3                   	ret
40b464:	55                   	push   %ebp
40b465:	8b ec                	mov    %esp,%ebp
40b467:	56                   	push   %esi
40b468:	68 3c a7 42 00       	push   $0x42a73c
40b46d:	68 34 a7 42 00       	push   $0x42a734
40b472:	68 38 81 42 00       	push   $0x428138
40b477:	6a 04                	push   $0x4
40b479:	e8 c5 fe ff ff       	call   0x40b343
40b47e:	8b f0                	mov    %eax,%esi
40b480:	83 c4 10             	add    $0x10,%esp
40b483:	85 f6                	test   %esi,%esi
40b485:	74 0f                	je     0x40b496
40b487:	ff 75 08             	push   0x8(%ebp)
40b48a:	8b ce                	mov    %esi,%ecx
40b48c:	e8 e0 bb ff ff       	call   0x407071
40b491:	ff d6                	call   *%esi
40b493:	5e                   	pop    %esi
40b494:	5d                   	pop    %ebp
40b495:	c3                   	ret
40b496:	5e                   	pop    %esi
40b497:	5d                   	pop    %ebp
40b498:	ff 25 58 71 42 00    	jmp    *0x427158
40b49e:	55                   	push   %ebp
40b49f:	8b ec                	mov    %esp,%ebp
40b4a1:	56                   	push   %esi
40b4a2:	68 44 a7 42 00       	push   $0x42a744
40b4a7:	68 3c a7 42 00       	push   $0x42a73c