4092bd:	52                   	push   %edx
4092be:	8b 45 f0             	mov    -0x10(%ebp),%eax
4092c1:	50                   	push   %eax
4092c2:	e8 f9 92 ff ff       	call   0x4025c0
4092c7:	8b 48 30             	mov    0x30(%eax),%ecx
4092ca:	ff d1                	call   *%ecx
4092cc:	83 c4 08             	add    $0x8,%esp
4092cf:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4092d3:	74 2c                	je     0x409301
4092d5:	8b 55 f0             	mov    -0x10(%ebp),%edx
4092d8:	52                   	push   %edx
4092d9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4092dc:	50                   	push   %eax
4092dd:	e8 2e ad 00 00       	call   0x414010
4092e2:	83 c4 08             	add    $0x8,%esp
4092e5:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4092e8:	51                   	push   %ecx
4092e9:	8b 55 f4             	mov    -0xc(%ebp),%edx
4092ec:	52                   	push   %edx
4092ed:	e8 fe ad 00 00       	call   0x4140f0
4092f2:	83 c4 08             	add    $0x8,%esp
4092f5:	8b 45 f0             	mov    -0x10(%ebp),%eax
4092f8:	50                   	push   %eax
4092f9:	e8 b2 d5 ff ff       	call   0x4068b0
4092fe:	83 c4 04             	add    $0x4,%esp
409301:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409304:	51                   	push   %ecx
409305:	e8 b6 92 ff ff       	call   0x4025c0
40930a:	8b 90 9c 01 00 00    	mov    0x19c(%eax),%edx
409310:	ff d2                	call   *%edx
409312:	8b 45 f4             	mov    -0xc(%ebp),%eax
409315:	50                   	push   %eax
409316:	e8 a5 92 ff ff       	call   0x4025c0
40931b:	8b 88 f4 00 00 00    	mov    0xf4(%eax),%ecx
409321:	ff d1                	call   *%ecx
409323:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
409327:	74 7b                	je     0x4093a4
409329:	8b 55 b0             	mov    -0x50(%ebp),%edx
40932c:	2b 55 08             	sub    0x8(%ebp),%edx
40932f:	d1 fa                	sar    $1,%edx
409331:	89 55 88             	mov    %edx,-0x78(%ebp)
409334:	33 c0                	xor    %eax,%eax
409336:	8b 4d 88             	mov    -0x78(%ebp),%ecx
409339:	8b 55 08             	mov    0x8(%ebp),%edx
40933c:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
409340:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
409347:	8d 45 ac             	lea    -0x54(%ebp),%eax
40934a:	50                   	push   %eax
40934b:	e8 30 a8 ff ff       	call   0x403b80
409350:	8b 48 70             	mov    0x70(%eax),%ecx
409353:	51                   	push   %ecx
409354:	8b 55 08             	mov    0x8(%ebp),%edx
409357:	52                   	push   %edx
409358:	e8 23 e2 ff ff       	call   0x407580
40935d:	83 c4 0c             	add    $0xc,%esp
409360:	85 c0                	test   %eax,%eax
409362:	74 40                	je     0x4093a4
409364:	8b 45 ac             	mov    -0x54(%ebp),%eax
409367:	50                   	push   %eax
409368:	e8 53 92 ff ff       	call   0x4025c0
40936d:	8b 88 68 01 00 00    	mov    0x168(%eax),%ecx
409373:	ff d1                	call   *%ecx
409375:	83 f8 ff             	cmp    $0xffffffff,%eax
409378:	75 1e                	jne    0x409398
40937a:	e8 01 a8 ff ff       	call   0x403b80
40937f:	8b 50 78             	mov    0x78(%eax),%edx
409382:	52                   	push   %edx
409383:	e8 f8 a7 ff ff       	call   0x403b80
409388:	8b 40 7c             	mov    0x7c(%eax),%eax
40938b:	50                   	push   %eax
40938c:	8b 4d ac             	mov    -0x54(%ebp),%ecx
40938f:	51                   	push   %ecx
409390:	e8 db aa 00 00       	call   0x413e70
409395:	83 c4 0c             	add    $0xc,%esp
409398:	8b 55 ac             	mov    -0x54(%ebp),%edx
40939b:	52                   	push   %edx
40939c:	e8 0f d5 ff ff       	call   0x4068b0
4093a1:	83 c4 04             	add    $0x4,%esp
4093a4:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
4093a8:	75 15                	jne    0x4093bf
4093aa:	8b 45 90             	mov    -0x70(%ebp),%eax
4093ad:	50                   	push   %eax
4093ae:	8b 4d 08             	mov    0x8(%ebp),%ecx
4093b1:	51                   	push   %ecx
4093b2:	e8 09 92 ff ff       	call   0x4025c0
4093b7:	8b 90 6c 01 00 00    	mov    0x16c(%eax),%edx
4093bd:	ff d2                	call   *%edx
4093bf:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4093c2:	5e                   	pop    %esi
4093c3:	8b e5                	mov    %ebp,%esp
4093c5:	5d                   	pop    %ebp
4093c6:	c3                   	ret
4093c7:	cc                   	int3
4093c8:	cc                   	int3
4093c9:	cc                   	int3
4093ca:	cc                   	int3
4093cb:	cc                   	int3
4093cc:	cc                   	int3
4093cd:	cc                   	int3
4093ce:	cc                   	int3
4093cf:	cc                   	int3
4093d0:	55                   	push   %ebp
4093d1:	8b ec                	mov    %esp,%ebp
4093d3:	83 ec 0c             	sub    $0xc,%esp
4093d6:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4093dd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4093e1:	74 7d                	je     0x409460
4093e3:	8b 45 08             	mov    0x8(%ebp),%eax
4093e6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4093e9:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
4093f0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4093f3:	83 39 00             	cmpl   $0x0,(%ecx)
4093f6:	74 2b                	je     0x409423
4093f8:	e8 c3 91 ff ff       	call   0x4025c0
4093fd:	8b 90 a0 01 00 00    	mov    0x1a0(%eax),%edx
409403:	ff d2                	call   *%edx
409405:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409408:	39 41 08             	cmp    %eax,0x8(%ecx)
40940b:	74 16                	je     0x409423
40940d:	8b 55 fc             	mov    -0x4(%ebp),%edx
409410:	8b 02                	mov    (%edx),%eax
409412:	50                   	push   %eax
409413:	e8 a8 91 ff ff       	call   0x4025c0
409418:	8b 88 04 02 00 00    	mov    0x204(%eax),%ecx
40941e:	ff d1                	call   *%ecx
409420:	89 45 f8             	mov    %eax,-0x8(%ebp)
409423:	8b 55 fc             	mov    -0x4(%ebp),%edx
409426:	8b 42 04             	mov    0x4(%edx),%eax
409429:	50                   	push   %eax
40942a:	e8 71 f7 ff ff       	call   0x408ba0
40942f:	83 c4 04             	add    $0x4,%esp
409432:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
409436:	74 0d                	je     0x409445
409438:	e8 83 91 ff ff       	call   0x4025c0
40943d:	8b 88 00 02 00 00    	mov    0x200(%eax),%ecx
409443:	ff d1                	call   *%ecx
409445:	8b 55 fc             	mov    -0x4(%ebp),%edx
409448:	8b 42 04             	mov    0x4(%edx),%eax
40944b:	50                   	push   %eax
40944c:	e8 5f d4 ff ff       	call   0x4068b0
409451:	83 c4 04             	add    $0x4,%esp
409454:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409457:	51                   	push   %ecx
409458:	e8 53 d4 ff ff       	call   0x4068b0
40945d:	83 c4 04             	add    $0x4,%esp
409460:	8b 45 f4             	mov    -0xc(%ebp),%eax
409463:	8b e5                	mov    %ebp,%esp
409465:	5d                   	pop    %ebp
409466:	c2 04 00             	ret    $0x4
409469:	cc                   	int3
40946a:	cc                   	int3
40946b:	cc                   	int3
40946c:	cc                   	int3
40946d:	cc                   	int3
40946e:	cc                   	int3
40946f:	cc                   	int3
409470:	55                   	push   %ebp
409471:	8b ec                	mov    %esp,%ebp
409473:	51                   	push   %ecx
409474:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40947b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40947f:	74 18                	je     0x409499
409481:	8b 45 08             	mov    0x8(%ebp),%eax
409484:	50                   	push   %eax
409485:	e8 16 f7 ff ff       	call   0x408ba0
40948a:	83 c4 04             	add    $0x4,%esp
40948d:	8b 4d 08             	mov    0x8(%ebp),%ecx
409490:	51                   	push   %ecx
409491:	e8 1a d4 ff ff       	call   0x4068b0
409496:	83 c4 04             	add    $0x4,%esp
409499:	8b 45 fc             	mov    -0x4(%ebp),%eax
40949c:	8b e5                	mov    %ebp,%esp
40949e:	5d                   	pop    %ebp
40949f:	c2 04 00             	ret    $0x4
4094a2:	cc                   	int3
4094a3:	cc                   	int3
4094a4:	cc                   	int3
4094a5:	cc                   	int3
4094a6:	cc                   	int3
4094a7:	cc                   	int3
4094a8:	cc                   	int3
4094a9:	cc                   	int3
4094aa:	cc                   	int3
4094ab:	cc                   	int3
4094ac:	cc                   	int3
4094ad:	cc                   	int3
4094ae:	cc                   	int3
4094af:	cc                   	int3
4094b0:	55                   	push   %ebp
4094b1:	8b ec                	mov    %esp,%ebp
4094b3:	83 ec 20             	sub    $0x20,%esp
4094b6:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4094bd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4094c1:	74 0c                	je     0x4094cf
4094c3:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4094c7:	74 06                	je     0x4094cf
4094c9:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4094cd:	75 08                	jne    0x4094d7
4094cf:	8b 45 e8             	mov    -0x18(%ebp),%eax
4094d2:	e9 11 02 00 00       	jmp    0x4096e8
4094d7:	8b 45 0c             	mov    0xc(%ebp),%eax
4094da:	33 d2                	xor    %edx,%edx
4094dc:	b9 03 00 00 00       	mov    $0x3,%ecx
4094e1:	f7 f1                	div    %ecx
4094e3:	85 d2                	test   %edx,%edx
4094e5:	74 09                	je     0x4094f0
4094e7:	c7 45 e4 04 00 00 00 	movl   $0x4,-0x1c(%ebp)
4094ee:	eb 07                	jmp    0x4094f7
4094f0:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4094f7:	8b 45 0c             	mov    0xc(%ebp),%eax
4094fa:	33 d2                	xor    %edx,%edx
4094fc:	b9 03 00 00 00       	mov    $0x3,%ecx
409501:	f7 f1                	div    %ecx
409503:	8b 55 e4             	mov    -0x1c(%ebp),%edx
409506:	8d 04 82             	lea    (%edx,%eax,4),%eax
409509:	89 45 e0             	mov    %eax,-0x20(%ebp)
40950c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40950f:	51                   	push   %ecx
409510:	e8 cb d4 ff ff       	call   0x4069e0
409515:	83 c4 04             	add    $0x4,%esp
409518:	89 45 f4             	mov    %eax,-0xc(%ebp)
40951b:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
40951f:	0f 84 c0 01 00 00    	je     0x4096e5
409525:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40952c:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
409533:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40953a:	eb 09                	jmp    0x409545
40953c:	8b 55 ec             	mov    -0x14(%ebp),%edx
40953f:	83 c2 01             	add    $0x1,%edx
409542:	89 55 ec             	mov    %edx,-0x14(%ebp)
409545:	8b 45 ec             	mov    -0x14(%ebp),%eax
409548:	3b 45 0c             	cmp    0xc(%ebp),%eax
40954b:	0f 83 dd 00 00 00    	jae    0x40962e
409551:	8b 4d 08             	mov    0x8(%ebp),%ecx
409554:	03 4d ec             	add    -0x14(%ebp),%ecx
409557:	8a 11                	mov    (%ecx),%dl
409559:	88 55 ff             	mov    %dl,-0x1(%ebp)
40955c:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
409560:	75 2d                	jne    0x40958f
409562:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
409569:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
40956d:	c1 f8 02             	sar    $0x2,%eax
409570:	83 e0 3f             	and    $0x3f,%eax
409573:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409576:	03 4d f8             	add    -0x8(%ebp),%ecx
409579:	8a 90 80 60 41 00    	mov    0x416080(%eax),%dl
40957f:	88 11                	mov    %dl,(%ecx)
409581:	8b 45 f8             	mov    -0x8(%ebp),%eax
409584:	83 c0 01             	add    $0x1,%eax
409587:	89 45 f8             	mov    %eax,-0x8(%ebp)
40958a:	e9 94 00 00 00       	jmp    0x409623
40958f:	83 7d f0 01          	cmpl   $0x1,-0x10(%ebp)
409593:	75 36                	jne    0x4095cb
409595:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
40959c:	0f b6 4d fe          	movzbl -0x2(%ebp),%ecx
4095a0:	83 e1 03             	and    $0x3,%ecx
4095a3:	c1 e1 04             	shl    $0x4,%ecx
4095a6:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
4095aa:	c1 fa 04             	sar    $0x4,%edx
4095ad:	83 e2 0f             	and    $0xf,%edx
4095b0:	0b ca                	or     %edx,%ecx
4095b2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4095b5:	03 45 f8             	add    -0x8(%ebp),%eax
4095b8:	8a 89 80 60 41 00    	mov    0x416080(%ecx),%cl
4095be:	88 08                	mov    %cl,(%eax)
4095c0:	8b 55 f8             	mov    -0x8(%ebp),%edx
4095c3:	83 c2 01             	add    $0x1,%edx
4095c6:	89 55 f8             	mov    %edx,-0x8(%ebp)
4095c9:	eb 58                	jmp    0x409623
4095cb:	83 7d f0 02          	cmpl   $0x2,-0x10(%ebp)
4095cf:	75 52                	jne    0x409623
4095d1:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4095d8:	0f b6 45 fe          	movzbl -0x2(%ebp),%eax
4095dc:	83 e0 0f             	and    $0xf,%eax
4095df:	c1 e0 02             	shl    $0x2,%eax
4095e2:	0f b6 4d ff          	movzbl -0x1(%ebp),%ecx
4095e6:	c1 f9 06             	sar    $0x6,%ecx
4095e9:	83 e1 03             	and    $0x3,%ecx
4095ec:	0b c1                	or     %ecx,%eax
4095ee:	8b 55 f4             	mov    -0xc(%ebp),%edx
4095f1:	03 55 f8             	add    -0x8(%ebp),%edx
4095f4:	8a 80 80 60 41 00    	mov    0x416080(%eax),%al
4095fa:	88 02                	mov    %al,(%edx)
4095fc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4095ff:	83 c1 01             	add    $0x1,%ecx
409602:	89 4d f8             	mov    %ecx,-0x8(%ebp)
409605:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
409609:	83 e2 3f             	and    $0x3f,%edx
40960c:	8b 45 f4             	mov    -0xc(%ebp),%eax
40960f:	03 45 f8             	add    -0x8(%ebp),%eax
409612:	8a 8a 80 60 41 00    	mov    0x416080(%edx),%cl
409618:	88 08                	mov    %cl,(%eax)
40961a:	8b 55 f8             	mov    -0x8(%ebp),%edx
40961d:	83 c2 01             	add    $0x1,%edx
409620:	89 55 f8             	mov    %edx,-0x8(%ebp)
409623:	8a 45 ff             	mov    -0x1(%ebp),%al
409626:	88 45 fe             	mov    %al,-0x2(%ebp)
409629:	e9 0e ff ff ff       	jmp    0x40953c
40962e:	83 7d f0 01          	cmpl   $0x1,-0x10(%ebp)
409632:	75 4f                	jne    0x409683
409634:	0f b6 4d fe          	movzbl -0x2(%ebp),%ecx
409638:	83 e1 03             	and    $0x3,%ecx
40963b:	c1 e1 04             	shl    $0x4,%ecx
40963e:	8b 55 f4             	mov    -0xc(%ebp),%edx
409641:	03 55 f8             	add    -0x8(%ebp),%edx
409644:	8a 81 80 60 41 00    	mov    0x416080(%ecx),%al
40964a:	88 02                	mov    %al,(%edx)
40964c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40964f:	83 c1 01             	add    $0x1,%ecx
409652:	89 4d f8             	mov    %ecx,-0x8(%ebp)
409655:	8b 55 f4             	mov    -0xc(%ebp),%edx
409658:	03 55 f8             	add    -0x8(%ebp),%edx
40965b:	a0 8a 71 41 00       	mov    0x41718a,%al
409660:	88 02                	mov    %al,(%edx)
409662:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409665:	83 c1 01             	add    $0x1,%ecx
409668:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40966b:	8b 55 f4             	mov    -0xc(%ebp),%edx
40966e:	03 55 f8             	add    -0x8(%ebp),%edx
409671:	a0 8a 71 41 00       	mov    0x41718a,%al
409676:	88 02                	mov    %al,(%edx)
409678:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40967b:	83 c1 01             	add    $0x1,%ecx
40967e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
409681:	eb 3c                	jmp    0x4096bf
409683:	83 7d f0 02          	cmpl   $0x2,-0x10(%ebp)
409687:	75 36                	jne    0x4096bf
409689:	0f b6 55 fe          	movzbl -0x2(%ebp),%edx
40968d:	83 e2 0f             	and    $0xf,%edx
409690:	8b 45 f4             	mov    -0xc(%ebp),%eax
409693:	03 45 f8             	add    -0x8(%ebp),%eax
409696:	8a 0c 95 80 60 41 00 	mov    0x416080(,%edx,4),%cl
40969d:	88 08                	mov    %cl,(%eax)
40969f:	8b 55 f8             	mov    -0x8(%ebp),%edx
4096a2:	83 c2 01             	add    $0x1,%edx
4096a5:	89 55 f8             	mov    %edx,-0x8(%ebp)
4096a8:	8b 45 f4             	mov    -0xc(%ebp),%eax
4096ab:	03 45 f8             	add    -0x8(%ebp),%eax
4096ae:	8a 0d 8a 71 41 00    	mov    0x41718a,%cl
4096b4:	88 08                	mov    %cl,(%eax)
4096b6:	8b 55 f8             	mov    -0x8(%ebp),%edx
4096b9:	83 c2 01             	add    $0x1,%edx
4096bc:	89 55 f8             	mov    %edx,-0x8(%ebp)
4096bf:	8b 45 f4             	mov    -0xc(%ebp),%eax
4096c2:	03 45 f8             	add    -0x8(%ebp),%eax
4096c5:	c6 00 00             	movb   $0x0,(%eax)
4096c8:	8b 4d 10             	mov    0x10(%ebp),%ecx
4096cb:	8b 55 f4             	mov    -0xc(%ebp),%edx
4096ce:	89 11                	mov    %edx,(%ecx)
4096d0:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)