4011a2:	6a 00                	push   $0x0
4011a4:	6a 40                	push   $0x40
4011a6:	68 00 30 00 00       	push   $0x3000
4011ab:	56                   	push   %esi
4011ac:	6a 00                	push   $0x0
4011ae:	8b d8                	mov    %eax,%ebx
4011b0:	ff 15 0c 70 41 00    	call   *0x41700c
4011b6:	50                   	push   %eax
4011b7:	ff 15 e8 d6 41 00    	call   *0x41d6e8
4011bd:	56                   	push   %esi
4011be:	8b f8                	mov    %eax,%edi
4011c0:	53                   	push   %ebx
4011c1:	57                   	push   %edi
4011c2:	e8 09 4a 00 00       	call   0x405bd0
4011c7:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4011cb:	8b 54 24 20          	mov    0x20(%esp),%edx
4011cf:	83 c4 0c             	add    $0xc,%esp
4011d2:	89 39                	mov    %edi,(%ecx)
4011d4:	5f                   	pop    %edi
4011d5:	89 32                	mov    %esi,(%edx)
4011d7:	5e                   	pop    %esi
4011d8:	5b                   	pop    %ebx
4011d9:	c3                   	ret
4011da:	cc                   	int3
4011db:	cc                   	int3
4011dc:	cc                   	int3
4011dd:	cc                   	int3
4011de:	cc                   	int3
4011df:	cc                   	int3
4011e0:	53                   	push   %ebx
4011e1:	56                   	push   %esi
4011e2:	57                   	push   %edi
4011e3:	8b 7c 24 10          	mov    0x10(%esp),%edi
4011e7:	8b c7                	mov    %edi,%eax
4011e9:	8d 50 01             	lea    0x1(%eax),%edx
4011ec:	8d 64 24 00          	lea    0x0(%esp),%esp
4011f0:	8a 08                	mov    (%eax),%cl
4011f2:	83 c0 01             	add    $0x1,%eax
4011f5:	84 c9                	test   %cl,%cl
4011f7:	75 f7                	jne    0x4011f0
4011f9:	2b c2                	sub    %edx,%eax
4011fb:	8b d8                	mov    %eax,%ebx
4011fd:	99                   	cltd
4011fe:	2b c2                	sub    %edx,%eax
401200:	8b f0                	mov    %eax,%esi
401202:	33 c9                	xor    %ecx,%ecx
401204:	d1 fe                	sar    $1,%esi
401206:	78 1c                	js     0x401224
401208:	8d 54 3b ff          	lea    -0x1(%ebx,%edi,1),%edx
40120c:	8d 64 24 00          	lea    0x0(%esp),%esp
401210:	8a 1a                	mov    (%edx),%bl
401212:	8a 04 39             	mov    (%ecx,%edi,1),%al
401215:	88 1c 39             	mov    %bl,(%ecx,%edi,1)
401218:	88 02                	mov    %al,(%edx)
40121a:	83 c1 01             	add    $0x1,%ecx
40121d:	83 ea 01             	sub    $0x1,%edx
401220:	3b ce                	cmp    %esi,%ecx
401222:	7e ec                	jle    0x401210
401224:	8b c7                	mov    %edi,%eax
401226:	5f                   	pop    %edi
401227:	5e                   	pop    %esi
401228:	5b                   	pop    %ebx
401229:	c3                   	ret
40122a:	cc                   	int3
40122b:	cc                   	int3
40122c:	cc                   	int3
40122d:	cc                   	int3
40122e:	cc                   	int3
40122f:	cc                   	int3
401230:	81 ec 4c 02 00 00    	sub    $0x24c,%esp
401236:	a1 20 c5 41 00       	mov    0x41c520,%eax
40123b:	33 c4                	xor    %esp,%eax
40123d:	89 84 24 48 02 00 00 	mov    %eax,0x248(%esp)
401244:	56                   	push   %esi
401245:	68 04 01 00 00       	push   $0x104
40124a:	8d 84 24 4c 01 00 00 	lea    0x14c(%esp),%eax
401251:	6a 00                	push   $0x0
401253:	50                   	push   %eax
401254:	e8 f7 48 00 00       	call   0x405b50
401259:	8b 84 24 60 02 00 00 	mov    0x260(%esp),%eax
401260:	83 c4 0c             	add    $0xc,%esp
401263:	85 c0                	test   %eax,%eax
401265:	75 69                	jne    0x4012d0
401267:	8b 15 d0 d6 41 00    	mov    0x41d6d0,%edx
40126d:	68 04 01 00 00       	push   $0x104
401272:	8d 8c 24 4c 01 00 00 	lea    0x14c(%esp),%ecx
401279:	51                   	push   %ecx
40127a:	68 e9 03 00 00       	push   $0x3e9
40127f:	52                   	push   %edx
401280:	ff 15 98 71 41 00    	call   *0x417198
401286:	8d 84 24 48 01 00 00 	lea    0x148(%esp),%eax
40128d:	8d 50 01             	lea    0x1(%eax),%edx
401290:	8a 08                	mov    (%eax),%cl
401292:	83 c0 01             	add    $0x1,%eax
401295:	84 c9                	test   %cl,%cl
401297:	75 f7                	jne    0x401290
401299:	2b c2                	sub    %edx,%eax
40129b:	75 4f                	jne    0x4012ec
40129d:	a1 c8 d6 41 00       	mov    0x41d6c8,%eax
4012a2:	8b 35 9c 71 41 00    	mov    0x41719c,%esi
4012a8:	6a 00                	push   $0x0
4012aa:	50                   	push   %eax
4012ab:	ff d6                	call   *%esi
4012ad:	8b 0d c4 d6 41 00    	mov    0x41d6c4,%ecx
4012b3:	6a 00                	push   $0x0
4012b5:	51                   	push   %ecx
4012b6:	ff d6                	call   *%esi
4012b8:	32 c0                	xor    %al,%al
4012ba:	5e                   	pop    %esi
4012bb:	8b 8c 24 48 02 00 00 	mov    0x248(%esp),%ecx
4012c2:	33 cc                	xor    %esp,%ecx
4012c4:	e8 6c 4c 00 00       	call   0x405f35
4012c9:	81 c4 4c 02 00 00    	add    $0x24c,%esp
4012cf:	c3                   	ret
4012d0:	8d 94 24 48 01 00 00 	lea    0x148(%esp),%edx
4012d7:	2b d0                	sub    %eax,%edx
4012d9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4012e0:	8a 08                	mov    (%eax),%cl
4012e2:	88 0c 02             	mov    %cl,(%edx,%eax,1)
4012e5:	83 c0 01             	add    $0x1,%eax
4012e8:	84 c9                	test   %cl,%cl
4012ea:	75 f4                	jne    0x4012e0
4012ec:	8d 54 24 08          	lea    0x8(%esp),%edx
4012f0:	52                   	push   %edx
4012f1:	8d 84 24 4c 01 00 00 	lea    0x14c(%esp),%eax
4012f8:	50                   	push   %eax
4012f9:	ff 15 24 70 41 00    	call   *0x417024
4012ff:	83 f8 ff             	cmp    $0xffffffff,%eax
401302:	75 34                	jne    0x401338
401304:	8b 0d c8 d6 41 00    	mov    0x41d6c8,%ecx
40130a:	8b 35 9c 71 41 00    	mov    0x41719c,%esi
401310:	6a 00                	push   $0x0
401312:	51                   	push   %ecx
401313:	ff d6                	call   *%esi
401315:	8b 15 c4 d6 41 00    	mov    0x41d6c4,%edx
40131b:	6a 00                	push   $0x0
40131d:	52                   	push   %edx
40131e:	ff d6                	call   *%esi
401320:	32 c0                	xor    %al,%al
401322:	5e                   	pop    %esi
401323:	8b 8c 24 48 02 00 00 	mov    0x248(%esp),%ecx
40132a:	33 cc                	xor    %esp,%ecx
40132c:	e8 04 4c 00 00       	call   0x405f35
401331:	81 c4 4c 02 00 00    	add    $0x24c,%esp
401337:	c3                   	ret
401338:	50                   	push   %eax
401339:	ff 15 20 70 41 00    	call   *0x417020
40133f:	a1 c8 d6 41 00       	mov    0x41d6c8,%eax
401344:	8b 35 9c 71 41 00    	mov    0x41719c,%esi
40134a:	6a 01                	push   $0x1
40134c:	50                   	push   %eax
40134d:	ff d6                	call   *%esi
40134f:	8b 0d c4 d6 41 00    	mov    0x41d6c4,%ecx
401355:	6a 01                	push   $0x1
401357:	51                   	push   %ecx
401358:	ff d6                	call   *%esi
40135a:	8b 8c 24 4c 02 00 00 	mov    0x24c(%esp),%ecx
401361:	5e                   	pop    %esi
401362:	33 cc                	xor    %esp,%ecx
401364:	b0 01                	mov    $0x1,%al
401366:	e8 ca 4b 00 00       	call   0x405f35
40136b:	81 c4 4c 02 00 00    	add    $0x24c,%esp
401371:	c3                   	ret
401372:	cc                   	int3
401373:	cc                   	int3
401374:	cc                   	int3
401375:	cc                   	int3
401376:	cc                   	int3
401377:	cc                   	int3
401378:	cc                   	int3
401379:	cc                   	int3
40137a:	cc                   	int3
40137b:	cc                   	int3
40137c:	cc                   	int3
40137d:	cc                   	int3
40137e:	cc                   	int3
40137f:	cc                   	int3
401380:	81 ec 54 01 00 00    	sub    $0x154,%esp
401386:	a1 20 c5 41 00       	mov    0x41c520,%eax
40138b:	33 c4                	xor    %esp,%eax
40138d:	89 84 24 50 01 00 00 	mov    %eax,0x150(%esp)
401394:	6a 4c                	push   $0x4c
401396:	8d 44 24 04          	lea    0x4(%esp),%eax
40139a:	6a 00                	push   $0x0
40139c:	50                   	push   %eax
40139d:	e8 ae 47 00 00       	call   0x405b50
4013a2:	8b 0d d0 d6 41 00    	mov    0x41d6d0,%ecx
4013a8:	83 c4 0c             	add    $0xc,%esp
4013ab:	8d 04 24             	lea    (%esp),%eax
4013ae:	8d 54 24 4c          	lea    0x4c(%esp),%edx
4013b2:	50                   	push   %eax
4013b3:	c6 44 24 50 00       	movb   $0x0,0x50(%esp)
4013b8:	c7 44 24 04 4c 00 00 	movl   $0x4c,0x4(%esp)
4013bf:	00
4013c0:	89 4c 24 08          	mov    %ecx,0x8(%esp)
4013c4:	c7 44 24 10 3c 72 41 	movl   $0x41723c,0x10(%esp)
4013cb:	00
4013cc:	89 54 24 20          	mov    %edx,0x20(%esp)
4013d0:	c7 44 24 24 04 01 00 	movl   $0x104,0x24(%esp)
4013d7:	00
4013d8:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
4013df:	00
4013e0:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
4013e7:	00
4013e8:	c7 44 24 38 04 18 20 	movl   $0x201804,0x38(%esp)
4013ef:	00
4013f0:	ff 15 ac 71 41 00    	call   *0x4171ac
4013f6:	85 c0                	test   %eax,%eax
4013f8:	74 21                	je     0x40141b
4013fa:	8b 15 d0 d6 41 00    	mov    0x41d6d0,%edx
401400:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
401404:	51                   	push   %ecx
401405:	68 e9 03 00 00       	push   $0x3e9
40140a:	52                   	push   %edx
40140b:	ff 15 94 71 41 00    	call   *0x417194
401411:	6a 00                	push   $0x0
401413:	e8 18 fe ff ff       	call   0x401230
401418:	83 c4 04             	add    $0x4,%esp
40141b:	8b 8c 24 50 01 00 00 	mov    0x150(%esp),%ecx
401422:	33 cc                	xor    %esp,%ecx
401424:	e8 0c 4b 00 00       	call   0x405f35
401429:	81 c4 54 01 00 00    	add    $0x154,%esp
40142f:	c3                   	ret
401430:	81 ec fc 02 00 00    	sub    $0x2fc,%esp
401436:	a1 20 c5 41 00       	mov    0x41c520,%eax
40143b:	33 c4                	xor    %esp,%eax
40143d:	89 84 24 f8 02 00 00 	mov    %eax,0x2f8(%esp)
401444:	8b 0d d0 d6 41 00    	mov    0x41d6d0,%ecx
40144a:	68 04 01 00 00       	push   $0x104
40144f:	8d 44 24 04          	lea    0x4(%esp),%eax
401453:	50                   	push   %eax
401454:	68 e9 03 00 00       	push   $0x3e9
401459:	51                   	push   %ecx
40145a:	ff 15 98 71 41 00    	call   *0x417198
401460:	8d 14 24             	lea    (%esp),%edx
401463:	52                   	push   %edx
401464:	8d 84 24 08 01 00 00 	lea    0x108(%esp),%eax
40146b:	68 78 72 41 00       	push   $0x417278
401470:	50                   	push   %eax
401471:	e8 ce 4a 00 00       	call   0x405f44
401476:	8b 15 d0 d6 41 00    	mov    0x41d6d0,%edx
40147c:	83 c4 0c             	add    $0xc,%esp
40147f:	68 14 01 00 00       	push   $0x114
401484:	68 68 72 41 00       	push   $0x417268
401489:	8d 8c 24 0c 01 00 00 	lea    0x10c(%esp),%ecx
401490:	51                   	push   %ecx
401491:	52                   	push   %edx
401492:	ff 15 90 71 41 00    	call   *0x417190
401498:	33 c9                	xor    %ecx,%ecx
40149a:	83 f8 06             	cmp    $0x6,%eax
40149d:	0f 94 c1             	sete   %cl
4014a0:	8a c1                	mov    %cl,%al
4014a2:	8b 8c 24 f8 02 00 00 	mov    0x2f8(%esp),%ecx
4014a9:	33 cc                	xor    %esp,%ecx
4014ab:	e8 85 4a 00 00       	call   0x405f35
4014b0:	81 c4 fc 02 00 00    	add    $0x2fc,%esp
4014b6:	c3                   	ret
4014b7:	cc                   	int3
4014b8:	cc                   	int3
4014b9:	cc                   	int3
4014ba:	cc                   	int3
4014bb:	cc                   	int3
4014bc:	cc                   	int3
4014bd:	cc                   	int3
4014be:	cc                   	int3
4014bf:	cc                   	int3
4014c0:	81 ec fc 02 00 00    	sub    $0x2fc,%esp
4014c6:	a1 20 c5 41 00       	mov    0x41c520,%eax
4014cb:	33 c4                	xor    %esp,%eax
4014cd:	89 84 24 f8 02 00 00 	mov    %eax,0x2f8(%esp)
4014d4:	8b 0d d0 d6 41 00    	mov    0x41d6d0,%ecx
4014da:	68 04 01 00 00       	push   $0x104
4014df:	8d 44 24 04          	lea    0x4(%esp),%eax
4014e3:	50                   	push   %eax
4014e4:	68 e9 03 00 00       	push   $0x3e9
4014e9:	51                   	push   %ecx
4014ea:	ff 15 98 71 41 00    	call   *0x417198
4014f0:	8d 14 24             	lea    (%esp),%edx
4014f3:	52                   	push   %edx
4014f4:	8d 84 24 08 01 00 00 	lea    0x108(%esp),%eax
4014fb:	68 a8 72 41 00       	push   $0x4172a8
401500:	50                   	push   %eax
401501:	e8 3e 4a 00 00       	call   0x405f44
401506:	8b 15 d0 d6 41 00    	mov    0x41d6d0,%edx
40150c:	83 c4 0c             	add    $0xc,%esp
40150f:	68 14 01 00 00       	push   $0x114
401514:	68 98 72 41 00       	push   $0x417298
401519:	8d 8c 24 0c 01 00 00 	lea    0x10c(%esp),%ecx
401520:	51                   	push   %ecx
401521:	52                   	push   %edx
401522:	ff 15 90 71 41 00    	call   *0x417190
401528:	33 c9                	xor    %ecx,%ecx
40152a:	83 f8 06             	cmp    $0x6,%eax
40152d:	0f 94 c1             	sete   %cl
401530:	8a c1                	mov    %cl,%al
401532:	8b 8c 24 f8 02 00 00 	mov    0x2f8(%esp),%ecx
401539:	33 cc                	xor    %esp,%ecx
40153b:	e8 f5 49 00 00       	call   0x405f35
401540:	81 c4 fc 02 00 00    	add    $0x2fc,%esp
401546:	c3                   	ret
401547:	cc                   	int3
401548:	cc                   	int3
401549:	cc                   	int3
40154a:	cc                   	int3
40154b:	cc                   	int3
40154c:	cc                   	int3
40154d:	cc                   	int3
40154e:	cc                   	int3
40154f:	cc                   	int3
401550:	8b 01                	mov    (%ecx),%eax
401552:	8b 08                	mov    (%eax),%ecx
401554:	8b 51 04             	mov    0x4(%ecx),%edx
401557:	8b 44 02 28          	mov    0x28(%edx,%eax,1),%eax
40155b:	85 c0                	test   %eax,%eax
40155d:	74 08                	je     0x401567
40155f:	8d 48 04             	lea    0x4(%eax),%ecx
401562:	e9 77 1d 00 00       	jmp    0x4032de
401567:	c3                   	ret
401568:	cc                   	int3
401569:	cc                   	int3
40156a:	cc                   	int3
40156b:	cc                   	int3
40156c:	cc                   	int3
40156d:	cc                   	int3
40156e:	cc                   	int3
40156f:	cc                   	int3
401570:	8b 4c 24 04          	mov    0x4(%esp),%ecx
401574:	83 ec 0c             	sub    $0xc,%esp
401577:	85 c9                	test   %ecx,%ecx
401579:	77 0f                	ja     0x40158a
40157b:	33 c9                	xor    %ecx,%ecx
40157d:	51                   	push   %ecx
40157e:	e8 55 4a 00 00       	call   0x405fd8
401583:	83 c4 04             	add    $0x4,%esp
401586:	83 c4 0c             	add    $0xc,%esp
401589:	c3                   	ret
40158a:	83 c8 ff             	or     $0xffffffff,%eax
40158d:	33 d2                	xor    %edx,%edx
40158f:	f7 f1                	div    %ecx
401591:	83 f8 01             	cmp    $0x1,%eax
401594:	73 e7                	jae    0x40157d
401596:	8d 44 24 10          	lea    0x10(%esp),%eax
40159a:	50                   	push   %eax
40159b:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40159f:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
4015a6:	00
4015a7:	e8 e3 42 00 00       	call   0x40588f
4015ac:	68 a8 9f 41 00       	push   $0x419fa8
4015b1:	8d 4c 24 04          	lea    0x4(%esp),%ecx
4015b5:	51                   	push   %ecx