401198:	53                   	push   %ebx
401199:	56                   	push   %esi
40119a:	57                   	push   %edi
40119b:	8b fa                	mov    %edx,%edi
40119d:	8b d9                	mov    %ecx,%ebx
40119f:	57                   	push   %edi
4011a0:	53                   	push   %ebx
4011a1:	ff 15 b8 c1 41 00    	call   *0x41c1b8
4011a7:	85 c0                	test   %eax,%eax
4011a9:	74 43                	je     0x4011ee
4011ab:	50                   	push   %eax
4011ac:	ff 15 ac c1 41 00    	call   *0x41c1ac
4011b2:	8b f0                	mov    %eax,%esi
4011b4:	85 f6                	test   %esi,%esi
4011b6:	74 36                	je     0x4011ee
4011b8:	57                   	push   %edi
4011b9:	53                   	push   %ebx
4011ba:	ff 15 88 c1 41 00    	call   *0x41c188
4011c0:	8b 55 08             	mov    0x8(%ebp),%edx
4011c3:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
4011c6:	83 e2 0f             	and    $0xf,%edx
4011c9:	76 12                	jbe    0x4011dd
4011cb:	3b f1                	cmp    %ecx,%esi
4011cd:	73 1f                	jae    0x4011ee
4011cf:	0f b7 06             	movzwl (%esi),%eax
4011d2:	8d 34 46             	lea    (%esi,%eax,2),%esi
4011d5:	83 c6 02             	add    $0x2,%esi
4011d8:	83 ea 01             	sub    $0x1,%edx
4011db:	75 ee                	jne    0x4011cb
4011dd:	3b f1                	cmp    %ecx,%esi
4011df:	73 0d                	jae    0x4011ee
4011e1:	66 83 3e 00          	cmpw   $0x0,(%esi)
4011e5:	74 07                	je     0x4011ee
4011e7:	0f ae e8             	lfence
4011ea:	8b c6                	mov    %esi,%eax
4011ec:	eb 02                	jmp    0x4011f0
4011ee:	33 c0                	xor    %eax,%eax
4011f0:	5f                   	pop    %edi
4011f1:	5e                   	pop    %esi
4011f2:	5b                   	pop    %ebx
4011f3:	5d                   	pop    %ebp
4011f4:	c3                   	ret
4011f5:	80 79 08 00          	cmpb   $0x0,0x8(%ecx)
4011f9:	c7 01 40 29 42 00    	movl   $0x422940,(%ecx)
4011ff:	74 0f                	je     0x401210
401201:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
401205:	74 09                	je     0x401210
401207:	ff 71 04             	push   0x4(%ecx)
40120a:	ff 15 c0 c1 41 00    	call   *0x41c1c0
401210:	c3                   	ret
401211:	cc                   	int3
401212:	cc                   	int3
401213:	cc                   	int3
401214:	cc                   	int3
401215:	cc                   	int3
401216:	cc                   	int3
401217:	cc                   	int3
401218:	cc                   	int3
401219:	cc                   	int3
40121a:	cc                   	int3
40121b:	cc                   	int3
40121c:	cc                   	int3
40121d:	cc                   	int3
40121e:	cc                   	int3
40121f:	cc                   	int3
401220:	55                   	push   %ebp
401221:	8b ec                	mov    %esp,%ebp
401223:	ff 75 08             	push   0x8(%ebp)
401226:	6a 00                	push   $0x0
401228:	ff 71 04             	push   0x4(%ecx)
40122b:	ff 15 94 c0 41 00    	call   *0x41c094
401231:	5d                   	pop    %ebp
401232:	c2 04 00             	ret    $0x4
401235:	cc                   	int3
401236:	cc                   	int3
401237:	cc                   	int3
401238:	cc                   	int3
401239:	cc                   	int3
40123a:	cc                   	int3
40123b:	cc                   	int3
40123c:	cc                   	int3
40123d:	cc                   	int3
40123e:	cc                   	int3
40123f:	cc                   	int3
401240:	55                   	push   %ebp
401241:	8b ec                	mov    %esp,%ebp
401243:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
401247:	74 0e                	je     0x401257
401249:	ff 75 08             	push   0x8(%ebp)
40124c:	6a 00                	push   $0x0
40124e:	ff 71 04             	push   0x4(%ecx)
401251:	ff 15 98 c0 41 00    	call   *0x41c098
401257:	5d                   	pop    %ebp
401258:	c2 04 00             	ret    $0x4
40125b:	cc                   	int3
40125c:	cc                   	int3
40125d:	cc                   	int3
40125e:	cc                   	int3
40125f:	cc                   	int3
401260:	55                   	push   %ebp
401261:	8b ec                	mov    %esp,%ebp
401263:	56                   	push   %esi
401264:	57                   	push   %edi
401265:	8b f9                	mov    %ecx,%edi
401267:	8b 4d 08             	mov    0x8(%ebp),%ecx
40126a:	85 c9                	test   %ecx,%ecx
40126c:	75 15                	jne    0x401283
40126e:	8b 07                	mov    (%edi),%eax
401270:	ff 75 0c             	push   0xc(%ebp)
401273:	8b 30                	mov    (%eax),%esi
401275:	8b ce                	mov    %esi,%ecx
401277:	ff 15 50 c2 41 00    	call   *0x41c250
40127d:	8b cf                	mov    %edi,%ecx
40127f:	ff d6                	call   *%esi
401281:	eb 2b                	jmp    0x4012ae
401283:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
401287:	75 16                	jne    0x40129f
401289:	8b 07                	mov    (%edi),%eax
40128b:	51                   	push   %ecx
40128c:	8b 70 04             	mov    0x4(%eax),%esi
40128f:	8b ce                	mov    %esi,%ecx
401291:	ff 15 50 c2 41 00    	call   *0x41c250
401297:	8b cf                	mov    %edi,%ecx
401299:	ff d6                	call   *%esi
40129b:	33 c0                	xor    %eax,%eax
40129d:	eb 0f                	jmp    0x4012ae
40129f:	ff 75 0c             	push   0xc(%ebp)
4012a2:	51                   	push   %ecx
4012a3:	6a 00                	push   $0x0
4012a5:	ff 77 04             	push   0x4(%edi)
4012a8:	ff 15 e8 c0 41 00    	call   *0x41c0e8
4012ae:	5f                   	pop    %edi
4012af:	5e                   	pop    %esi
4012b0:	5d                   	pop    %ebp
4012b1:	c2 08 00             	ret    $0x8
4012b4:	cc                   	int3
4012b5:	cc                   	int3
4012b6:	cc                   	int3
4012b7:	cc                   	int3
4012b8:	cc                   	int3
4012b9:	cc                   	int3
4012ba:	cc                   	int3
4012bb:	cc                   	int3
4012bc:	cc                   	int3
4012bd:	cc                   	int3
4012be:	cc                   	int3
4012bf:	cc                   	int3
4012c0:	55                   	push   %ebp
4012c1:	8b ec                	mov    %esp,%ebp
4012c3:	ff 75 08             	push   0x8(%ebp)
4012c6:	6a 00                	push   $0x0
4012c8:	ff 71 04             	push   0x4(%ecx)
4012cb:	ff 15 e4 c0 41 00    	call   *0x41c0e4
4012d1:	5d                   	pop    %ebp
4012d2:	c2 04 00             	ret    $0x4
4012d5:	cc                   	int3
4012d6:	cc                   	int3
4012d7:	cc                   	int3
4012d8:	cc                   	int3
4012d9:	cc                   	int3
4012da:	cc                   	int3
4012db:	cc                   	int3
4012dc:	cc                   	int3
4012dd:	cc                   	int3
4012de:	cc                   	int3
4012df:	cc                   	int3
4012e0:	55                   	push   %ebp
4012e1:	8b ec                	mov    %esp,%ebp
4012e3:	56                   	push   %esi
4012e4:	8b f1                	mov    %ecx,%esi
4012e6:	e8 0a ff ff ff       	call   0x4011f5
4012eb:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4012ef:	74 0a                	je     0x4012fb
4012f1:	6a 0c                	push   $0xc
4012f3:	56                   	push   %esi
4012f4:	e8 f7 7e 01 00       	call   0x4191f0
4012f9:	59                   	pop    %ecx
4012fa:	59                   	pop    %ecx
4012fb:	8b c6                	mov    %esi,%eax
4012fd:	5e                   	pop    %esi
4012fe:	5d                   	pop    %ebp
4012ff:	c2 04 00             	ret    $0x4
401302:	83 c8 ff             	or     $0xffffffff,%eax
401305:	f0 0f c1 41 0c       	lock xadd %eax,0xc(%ecx)
40130a:	48                   	dec    %eax
40130b:	85 c0                	test   %eax,%eax
40130d:	7f 1b                	jg     0x40132a
40130f:	56                   	push   %esi
401310:	0f ae e8             	lfence
401313:	57                   	push   %edi
401314:	8b 39                	mov    (%ecx),%edi
401316:	51                   	push   %ecx
401317:	8b 07                	mov    (%edi),%eax
401319:	8b 70 04             	mov    0x4(%eax),%esi
40131c:	8b ce                	mov    %esi,%ecx
40131e:	ff 15 50 c2 41 00    	call   *0x41c250
401324:	8b cf                	mov    %edi,%ecx
401326:	ff d6                	call   *%esi
401328:	5f                   	pop    %edi
401329:	5e                   	pop    %esi
40132a:	c3                   	ret
40132b:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
401331:	56                   	push   %esi
401332:	57                   	push   %edi
401333:	8b 30                	mov    (%eax),%esi
401335:	a1 e8 73 42 00       	mov    0x4273e8,%eax
40133a:	3b 86 04 00 00 00    	cmp    0x4(%esi),%eax
401340:	7f 17                	jg     0x401359
401342:	a1 d8 73 42 00       	mov    0x4273d8,%eax
401347:	bf fc 73 42 00       	mov    $0x4273fc,%edi
40134c:	3b 86 04 00 00 00    	cmp    0x4(%esi),%eax
401352:	7f 58                	jg     0x4013ac
401354:	8b c7                	mov    %edi,%eax
401356:	5f                   	pop    %edi
401357:	5e                   	pop    %esi
401358:	c3                   	ret
401359:	68 e8 73 42 00       	push   $0x4273e8
40135e:	e8 b3 82 01 00       	call   0x419616
401363:	59                   	pop    %ecx
401364:	83 3d e8 73 42 00 ff 	cmpl   $0xffffffff,0x4273e8
40136b:	75 d5                	jne    0x401342
40136d:	bf ec 73 42 00       	mov    $0x4273ec,%edi
401372:	33 c0                	xor    %eax,%eax
401374:	ab                   	stos   %eax,%es:(%edi)
401375:	ab                   	stos   %eax,%es:(%edi)
401376:	ab                   	stos   %eax,%es:(%edi)
401377:	ff 15 e0 c0 41 00    	call   *0x41c0e0
40137d:	68 d0 be 41 00       	push   $0x41bed0
401382:	c7 05 ec 73 42 00 40 	movl   $0x422940,0x4273ec
401389:	29 42 00
40138c:	a3 f0 73 42 00       	mov    %eax,0x4273f0
401391:	c6 05 f4 73 42 00 00 	movb   $0x0,0x4273f4
401398:	e8 99 72 00 00       	call   0x408636
40139d:	c7 04 24 e8 73 42 00 	movl   $0x4273e8,(%esp)
4013a4:	e8 23 82 01 00       	call   0x4195cc
4013a9:	59                   	pop    %ecx
4013aa:	eb 96                	jmp    0x401342
4013ac:	be d8 73 42 00       	mov    $0x4273d8,%esi
4013b1:	56                   	push   %esi
4013b2:	e8 5f 82 01 00       	call   0x419616
4013b7:	83 3d d8 73 42 00 ff 	cmpl   $0xffffffff,0x4273d8
4013be:	59                   	pop    %ecx
4013bf:	75 93                	jne    0x401354
4013c1:	83 25 08 74 42 00 00 	andl   $0x0,0x427408
4013c8:	33 c0                	xor    %eax,%eax
4013ca:	83 25 0c 74 42 00 00 	andl   $0x0,0x42740c
4013d1:	68 c0 be 41 00       	push   $0x41bec0
4013d6:	c7 05 fc 73 42 00 9c 	movl   $0x42339c,0x4273fc
4013dd:	33 42 00
4013e0:	c7 05 00 74 42 00 ec 	movl   $0x4273ec,0x427400
4013e7:	73 42 00
4013ea:	c7 05 10 74 42 00 02 	movl   $0x2,0x427410
4013f1:	00 00 00
4013f4:	a3 14 74 42 00       	mov    %eax,0x427414
4013f9:	89 3d 04 74 42 00    	mov    %edi,0x427404
4013ff:	e8 32 72 00 00       	call   0x408636
401404:	56                   	push   %esi
401405:	e8 c2 81 01 00       	call   0x4195cc
40140a:	59                   	pop    %ecx
40140b:	59                   	pop    %ecx
40140c:	e9 43 ff ff ff       	jmp    0x401354
401411:	cc                   	int3
401412:	cc                   	int3
401413:	cc                   	int3
401414:	cc                   	int3
401415:	cc                   	int3
401416:	cc                   	int3
401417:	cc                   	int3
401418:	cc                   	int3
401419:	cc                   	int3
40141a:	cc                   	int3
40141b:	cc                   	int3
40141c:	cc                   	int3
40141d:	cc                   	int3
40141e:	cc                   	int3
40141f:	cc                   	int3
401420:	55                   	push   %ebp
401421:	8b ec                	mov    %esp,%ebp
401423:	51                   	push   %ecx
401424:	8b 55 08             	mov    0x8(%ebp),%edx
401427:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40142a:	53                   	push   %ebx
40142b:	85 d2                	test   %edx,%edx
40142d:	78 63                	js     0x401492
40142f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
401434:	2b c2                	sub    %edx,%eax
401436:	83 f8 01             	cmp    $0x1,%eax
401439:	7c 57                	jl     0x401492
40143b:	42                   	inc    %edx
40143c:	8d 5a 07             	lea    0x7(%edx),%ebx
40143f:	83 e3 f8             	and    $0xfffffff8,%ebx
401442:	3b d3                	cmp    %ebx,%edx
401444:	7f 4c                	jg     0x401492
401446:	8b c3                	mov    %ebx,%eax
401448:	f7 65 0c             	mull   0xc(%ebp)
40144b:	85 d2                	test   %edx,%edx
40144d:	77 43                	ja     0x401492
40144f:	72 05                	jb     0x401456
401451:	83 f8 ff             	cmp    $0xffffffff,%eax
401454:	77 3c                	ja     0x401492
401456:	83 f8 ef             	cmp    $0xffffffef,%eax
401459:	77 37                	ja     0x401492
40145b:	56                   	push   %esi
40145c:	57                   	push   %edi
40145d:	8b 79 04             	mov    0x4(%ecx),%edi
401460:	8d 50 10             	lea    0x10(%eax),%edx
401463:	52                   	push   %edx
401464:	8b 07                	mov    (%edi),%eax
401466:	8b 30                	mov    (%eax),%esi
401468:	8b ce                	mov    %esi,%ecx
40146a:	ff 15 50 c2 41 00    	call   *0x41c250
401470:	8b cf                	mov    %edi,%ecx
401472:	ff d6                	call   *%esi
401474:	5f                   	pop    %edi
401475:	5e                   	pop    %esi
401476:	85 c0                	test   %eax,%eax
401478:	74 18                	je     0x401492
40147a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40147d:	83 60 04 00          	andl   $0x0,0x4(%eax)
401481:	89 08                	mov    %ecx,(%eax)
401483:	8d 4b ff             	lea    -0x1(%ebx),%ecx
401486:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
40148d:	89 48 08             	mov    %ecx,0x8(%eax)
401490:	eb 02                	jmp    0x401494
401492:	33 c0                	xor    %eax,%eax
401494:	5b                   	pop    %ebx
401495:	c9                   	leave
401496:	c2 08 00             	ret    $0x8
401499:	cc                   	int3
40149a:	cc                   	int3
40149b:	cc                   	int3
40149c:	cc                   	int3
40149d:	cc                   	int3
40149e:	cc                   	int3
40149f:	cc                   	int3
4014a0:	55                   	push   %ebp
4014a1:	8b ec                	mov    %esp,%ebp
4014a3:	56                   	push   %esi
4014a4:	57                   	push   %edi
4014a5:	8b 79 04             	mov    0x4(%ecx),%edi
4014a8:	ff 75 08             	push   0x8(%ebp)
4014ab:	8b 07                	mov    (%edi),%eax
4014ad:	8b 70 04             	mov    0x4(%eax),%esi
4014b0:	8b ce                	mov    %esi,%ecx
4014b2:	ff 15 50 c2 41 00    	call   *0x41c250
4014b8:	8b cf                	mov    %edi,%ecx
4014ba:	ff d6                	call   *%esi
4014bc:	5f                   	pop    %edi
4014bd:	5e                   	pop    %esi
4014be:	5d                   	pop    %ebp