4103c1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4103c5:	74 5d                	je     0x410424
4103c7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4103ca:	50                   	push   %eax
4103cb:	e8 20 fb ff ff       	call   0x40fef0
4103d0:	83 c4 04             	add    $0x4,%esp
4103d3:	6a 20                	push   $0x20
4103d5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4103d8:	51                   	push   %ecx
4103d9:	8b 55 f8             	mov    -0x8(%ebp),%edx
4103dc:	52                   	push   %edx
4103dd:	e8 ce fb ff ff       	call   0x40ffb0
4103e2:	83 c4 0c             	add    $0xc,%esp
4103e5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4103e8:	50                   	push   %eax
4103e9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4103ec:	51                   	push   %ecx
4103ed:	e8 4e fc ff ff       	call   0x410040
4103f2:	83 c4 08             	add    $0x8,%esp
4103f5:	ba 01 00 00 00       	mov    $0x1,%edx
4103fa:	6b c2 00             	imul   $0x0,%edx,%eax
4103fd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410400:	0f b6 14 01          	movzbl (%ecx,%eax,1),%edx
410404:	83 c2 01             	add    $0x1,%edx
410407:	b8 01 00 00 00       	mov    $0x1,%eax
41040c:	6b c8 00             	imul   $0x0,%eax,%ecx
41040f:	8b 45 fc             	mov    -0x4(%ebp),%eax
410412:	88 14 08             	mov    %dl,(%eax,%ecx,1)
410415:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410418:	8b 55 fc             	mov    -0x4(%ebp),%edx
41041b:	89 11                	mov    %edx,(%ecx)
41041d:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
410424:	8b 45 f8             	mov    -0x8(%ebp),%eax
410427:	50                   	push   %eax
410428:	e8 83 64 ff ff       	call   0x4068b0
41042d:	83 c4 04             	add    $0x4,%esp
410430:	8b 45 f4             	mov    -0xc(%ebp),%eax
410433:	8b e5                	mov    %ebp,%esp
410435:	5d                   	pop    %ebp
410436:	c3                   	ret
410437:	cc                   	int3
410438:	cc                   	int3
410439:	cc                   	int3
41043a:	cc                   	int3
41043b:	cc                   	int3
41043c:	cc                   	int3
41043d:	cc                   	int3
41043e:	cc                   	int3
41043f:	cc                   	int3
410440:	55                   	push   %ebp
410441:	8b ec                	mov    %esp,%ebp
410443:	83 ec 0c             	sub    $0xc,%esp
410446:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
41044d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
410451:	74 06                	je     0x410459
410453:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
410457:	75 05                	jne    0x41045e
410459:	8b 45 f4             	mov    -0xc(%ebp),%eax
41045c:	eb 74                	jmp    0x4104d2
41045e:	6a 20                	push   $0x20
410460:	e8 1b 64 ff ff       	call   0x406880
410465:	83 c4 04             	add    $0x4,%esp
410468:	89 45 f8             	mov    %eax,-0x8(%ebp)
41046b:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41046f:	74 5f                	je     0x4104d0
410471:	8b 45 08             	mov    0x8(%ebp),%eax
410474:	50                   	push   %eax
410475:	e8 76 fa ff ff       	call   0x40fef0
41047a:	83 c4 04             	add    $0x4,%esp
41047d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
410484:	eb 09                	jmp    0x41048f
410486:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410489:	83 c1 01             	add    $0x1,%ecx
41048c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41048f:	83 7d fc 20          	cmpl   $0x20,-0x4(%ebp)
410493:	7d 16                	jge    0x4104ab
410495:	8b 55 0c             	mov    0xc(%ebp),%edx
410498:	03 55 fc             	add    -0x4(%ebp),%edx
41049b:	0f b6 02             	movzbl (%edx),%eax
41049e:	83 f0 36             	xor    $0x36,%eax
4104a1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4104a4:	03 4d fc             	add    -0x4(%ebp),%ecx
4104a7:	88 01                	mov    %al,(%ecx)
4104a9:	eb db                	jmp    0x410486
4104ab:	6a 20                	push   $0x20
4104ad:	8b 55 f8             	mov    -0x8(%ebp),%edx
4104b0:	52                   	push   %edx
4104b1:	8b 45 08             	mov    0x8(%ebp),%eax
4104b4:	50                   	push   %eax
4104b5:	e8 f6 fa ff ff       	call   0x40ffb0
4104ba:	83 c4 0c             	add    $0xc,%esp
4104bd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4104c0:	51                   	push   %ecx
4104c1:	e8 ea 63 ff ff       	call   0x4068b0
4104c6:	83 c4 04             	add    $0x4,%esp
4104c9:	b8 01 00 00 00       	mov    $0x1,%eax
4104ce:	eb 02                	jmp    0x4104d2
4104d0:	33 c0                	xor    %eax,%eax
4104d2:	8b e5                	mov    %ebp,%esp
4104d4:	5d                   	pop    %ebp
4104d5:	c3                   	ret
4104d6:	cc                   	int3
4104d7:	cc                   	int3
4104d8:	cc                   	int3
4104d9:	cc                   	int3
4104da:	cc                   	int3
4104db:	cc                   	int3
4104dc:	cc                   	int3
4104dd:	cc                   	int3
4104de:	cc                   	int3
4104df:	cc                   	int3
4104e0:	55                   	push   %ebp
4104e1:	8b ec                	mov    %esp,%ebp
4104e3:	83 ec 0c             	sub    $0xc,%esp
4104e6:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4104ed:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4104f1:	74 0c                	je     0x4104ff
4104f3:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4104f7:	74 06                	je     0x4104ff
4104f9:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4104fd:	75 08                	jne    0x410507
4104ff:	8b 45 f4             	mov    -0xc(%ebp),%eax
410502:	e9 ab 00 00 00       	jmp    0x4105b2
410507:	6a 20                	push   $0x20
410509:	e8 72 63 ff ff       	call   0x406880
41050e:	83 c4 04             	add    $0x4,%esp
410511:	89 45 f8             	mov    %eax,-0x8(%ebp)
410514:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
410518:	0f 84 91 00 00 00    	je     0x4105af
41051e:	8b 45 10             	mov    0x10(%ebp),%eax
410521:	50                   	push   %eax
410522:	8b 4d 08             	mov    0x8(%ebp),%ecx
410525:	51                   	push   %ecx
410526:	e8 15 fb ff ff       	call   0x410040
41052b:	83 c4 08             	add    $0x8,%esp
41052e:	8b 55 08             	mov    0x8(%ebp),%edx
410531:	52                   	push   %edx
410532:	e8 b9 f9 ff ff       	call   0x40fef0
410537:	83 c4 04             	add    $0x4,%esp
41053a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
410541:	eb 09                	jmp    0x41054c
410543:	8b 45 fc             	mov    -0x4(%ebp),%eax
410546:	83 c0 01             	add    $0x1,%eax
410549:	89 45 fc             	mov    %eax,-0x4(%ebp)
41054c:	83 7d fc 20          	cmpl   $0x20,-0x4(%ebp)
410550:	7d 16                	jge    0x410568
410552:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410555:	03 4d fc             	add    -0x4(%ebp),%ecx
410558:	0f b6 11             	movzbl (%ecx),%edx
41055b:	83 f2 5c             	xor    $0x5c,%edx
41055e:	8b 45 f8             	mov    -0x8(%ebp),%eax
410561:	03 45 fc             	add    -0x4(%ebp),%eax
410564:	88 10                	mov    %dl,(%eax)
410566:	eb db                	jmp    0x410543
410568:	6a 20                	push   $0x20
41056a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41056d:	51                   	push   %ecx
41056e:	8b 55 08             	mov    0x8(%ebp),%edx
410571:	52                   	push   %edx
410572:	e8 39 fa ff ff       	call   0x40ffb0
410577:	83 c4 0c             	add    $0xc,%esp
41057a:	6a 20                	push   $0x20
41057c:	8b 45 10             	mov    0x10(%ebp),%eax
41057f:	50                   	push   %eax
410580:	8b 4d 08             	mov    0x8(%ebp),%ecx
410583:	51                   	push   %ecx
410584:	e8 27 fa ff ff       	call   0x40ffb0
410589:	83 c4 0c             	add    $0xc,%esp
41058c:	8b 55 10             	mov    0x10(%ebp),%edx
41058f:	52                   	push   %edx
410590:	8b 45 08             	mov    0x8(%ebp),%eax
410593:	50                   	push   %eax
410594:	e8 a7 fa ff ff       	call   0x410040
410599:	83 c4 08             	add    $0x8,%esp
41059c:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4105a3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4105a6:	51                   	push   %ecx
4105a7:	e8 04 63 ff ff       	call   0x4068b0
4105ac:	83 c4 04             	add    $0x4,%esp
4105af:	8b 45 f4             	mov    -0xc(%ebp),%eax
4105b2:	8b e5                	mov    %ebp,%esp
4105b4:	5d                   	pop    %ebp
4105b5:	c3                   	ret
4105b6:	cc                   	int3
4105b7:	cc                   	int3
4105b8:	cc                   	int3
4105b9:	cc                   	int3
4105ba:	cc                   	int3
4105bb:	cc                   	int3
4105bc:	cc                   	int3
4105bd:	cc                   	int3
4105be:	cc                   	int3
4105bf:	cc                   	int3
4105c0:	55                   	push   %ebp
4105c1:	8b ec                	mov    %esp,%ebp
4105c3:	81 ec 30 01 00 00    	sub    $0x130,%esp
4105c9:	56                   	push   %esi
4105ca:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4105d1:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4105d8:	eb 12                	jmp    0x4105ec
4105da:	8b 45 fc             	mov    -0x4(%ebp),%eax
4105dd:	83 c0 01             	add    $0x1,%eax
4105e0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4105e3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4105e6:	83 c1 04             	add    $0x4,%ecx
4105e9:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4105ec:	83 7d fc 10          	cmpl   $0x10,-0x4(%ebp)
4105f0:	73 42                	jae    0x410634
4105f2:	8b 55 0c             	mov    0xc(%ebp),%edx
4105f5:	03 55 f0             	add    -0x10(%ebp),%edx
4105f8:	0f b6 02             	movzbl (%edx),%eax
4105fb:	c1 e0 18             	shl    $0x18,%eax
4105fe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410601:	03 4d f0             	add    -0x10(%ebp),%ecx
410604:	0f b6 51 01          	movzbl 0x1(%ecx),%edx
410608:	c1 e2 10             	shl    $0x10,%edx
41060b:	0b c2                	or     %edx,%eax
41060d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410610:	03 4d f0             	add    -0x10(%ebp),%ecx
410613:	0f b6 51 02          	movzbl 0x2(%ecx),%edx
410617:	c1 e2 08             	shl    $0x8,%edx
41061a:	0b c2                	or     %edx,%eax
41061c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41061f:	03 4d f0             	add    -0x10(%ebp),%ecx
410622:	0f b6 51 03          	movzbl 0x3(%ecx),%edx
410626:	0b c2                	or     %edx,%eax
410628:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41062b:	89 84 8d d0 fe ff ff 	mov    %eax,-0x130(%ebp,%ecx,4)
410632:	eb a6                	jmp    0x4105da
410634:	eb 09                	jmp    0x41063f
410636:	8b 55 fc             	mov    -0x4(%ebp),%edx
410639:	83 c2 01             	add    $0x1,%edx
41063c:	89 55 fc             	mov    %edx,-0x4(%ebp)
41063f:	83 7d fc 40          	cmpl   $0x40,-0x4(%ebp)
410643:	0f 83 b7 00 00 00    	jae    0x410700
410649:	8b 45 fc             	mov    -0x4(%ebp),%eax
41064c:	8b 8c 85 c8 fe ff ff 	mov    -0x138(%ebp,%eax,4),%ecx
410653:	c1 e9 11             	shr    $0x11,%ecx
410656:	8b 55 fc             	mov    -0x4(%ebp),%edx
410659:	8b 84 95 c8 fe ff ff 	mov    -0x138(%ebp,%edx,4),%eax
410660:	c1 e0 0f             	shl    $0xf,%eax
410663:	0b c8                	or     %eax,%ecx
410665:	8b 55 fc             	mov    -0x4(%ebp),%edx
410668:	8b 84 95 c8 fe ff ff 	mov    -0x138(%ebp,%edx,4),%eax
41066f:	c1 e8 13             	shr    $0x13,%eax
410672:	8b 55 fc             	mov    -0x4(%ebp),%edx
410675:	8b 94 95 c8 fe ff ff 	mov    -0x138(%ebp,%edx,4),%edx
41067c:	c1 e2 0d             	shl    $0xd,%edx
41067f:	0b c2                	or     %edx,%eax
410681:	33 c8                	xor    %eax,%ecx
410683:	8b 45 fc             	mov    -0x4(%ebp),%eax
410686:	8b 94 85 c8 fe ff ff 	mov    -0x138(%ebp,%eax,4),%edx
41068d:	c1 ea 0a             	shr    $0xa,%edx
410690:	33 ca                	xor    %edx,%ecx
410692:	8b 45 fc             	mov    -0x4(%ebp),%eax
410695:	03 8c 85 b4 fe ff ff 	add    -0x14c(%ebp,%eax,4),%ecx
41069c:	8b 55 fc             	mov    -0x4(%ebp),%edx
41069f:	8b 84 95 94 fe ff ff 	mov    -0x16c(%ebp,%edx,4),%eax
4106a6:	c1 e8 07             	shr    $0x7,%eax
4106a9:	8b 55 fc             	mov    -0x4(%ebp),%edx
4106ac:	8b 94 95 94 fe ff ff 	mov    -0x16c(%ebp,%edx,4),%edx
4106b3:	c1 e2 19             	shl    $0x19,%edx
4106b6:	0b c2                	or     %edx,%eax
4106b8:	8b 55 fc             	mov    -0x4(%ebp),%edx
4106bb:	8b 94 95 94 fe ff ff 	mov    -0x16c(%ebp,%edx,4),%edx
4106c2:	c1 ea 12             	shr    $0x12,%edx
4106c5:	8b 75 fc             	mov    -0x4(%ebp),%esi
4106c8:	8b b4 b5 94 fe ff ff 	mov    -0x16c(%ebp,%esi,4),%esi
4106cf:	c1 e6 0e             	shl    $0xe,%esi
4106d2:	0b d6                	or     %esi,%edx
4106d4:	33 c2                	xor    %edx,%eax
4106d6:	8b 55 fc             	mov    -0x4(%ebp),%edx
4106d9:	8b 94 95 94 fe ff ff 	mov    -0x16c(%ebp,%edx,4),%edx
4106e0:	c1 ea 03             	shr    $0x3,%edx
4106e3:	33 c2                	xor    %edx,%eax
4106e5:	03 c8                	add    %eax,%ecx
4106e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4106ea:	03 8c 85 90 fe ff ff 	add    -0x170(%ebp,%eax,4),%ecx
4106f1:	8b 55 fc             	mov    -0x4(%ebp),%edx
4106f4:	89 8c 95 d0 fe ff ff 	mov    %ecx,-0x130(%ebp,%edx,4)
4106fb:	e9 36 ff ff ff       	jmp    0x410636
410700:	b8 04 00 00 00       	mov    $0x4,%eax
410705:	6b c8 00             	imul   $0x0,%eax,%ecx
410708:	8b 55 08             	mov    0x8(%ebp),%edx
41070b:	8b 44 0a 50          	mov    0x50(%edx,%ecx,1),%eax
41070f:	89 45 f8             	mov    %eax,-0x8(%ebp)
410712:	b9 04 00 00 00       	mov    $0x4,%ecx
410717:	c1 e1 00             	shl    $0x0,%ecx
41071a:	8b 55 08             	mov    0x8(%ebp),%edx
41071d:	8b 44 0a 50          	mov    0x50(%edx,%ecx,1),%eax
410721:	89 45 ec             	mov    %eax,-0x14(%ebp)
410724:	b9 04 00 00 00       	mov    $0x4,%ecx
410729:	d1 e1                	shl    $1,%ecx
41072b:	8b 55 08             	mov    0x8(%ebp),%edx
41072e:	8b 44 0a 50          	mov    0x50(%edx,%ecx,1),%eax
410732:	89 45 e8             	mov    %eax,-0x18(%ebp)
410735:	b9 04 00 00 00       	mov    $0x4,%ecx
41073a:	6b d1 03             	imul   $0x3,%ecx,%edx
41073d:	8b 45 08             	mov    0x8(%ebp),%eax
410740:	8b 4c 10 50          	mov    0x50(%eax,%edx,1),%ecx
410744:	89 4d dc             	mov    %ecx,-0x24(%ebp)
410747:	ba 04 00 00 00       	mov    $0x4,%edx
41074c:	c1 e2 02             	shl    $0x2,%edx
41074f:	8b 45 08             	mov    0x8(%ebp),%eax
410752:	8b 4c 10 50          	mov    0x50(%eax,%edx,1),%ecx
410756:	89 4d f4             	mov    %ecx,-0xc(%ebp)
410759:	ba 04 00 00 00       	mov    $0x4,%edx
41075e:	6b c2 05             	imul   $0x5,%edx,%eax
410761:	8b 4d 08             	mov    0x8(%ebp),%ecx
410764:	8b 54 01 50          	mov    0x50(%ecx,%eax,1),%edx
410768:	89 55 e4             	mov    %edx,-0x1c(%ebp)
41076b:	b8 04 00 00 00       	mov    $0x4,%eax
410770:	6b c8 06             	imul   $0x6,%eax,%ecx
410773:	8b 55 08             	mov    0x8(%ebp),%edx
410776:	8b 44 0a 50          	mov    0x50(%edx,%ecx,1),%eax
41077a:	89 45 e0             	mov    %eax,-0x20(%ebp)
41077d:	b9 04 00 00 00       	mov    $0x4,%ecx
410782:	6b d1 07             	imul   $0x7,%ecx,%edx
410785:	8b 45 08             	mov    0x8(%ebp),%eax
410788:	8b 4c 10 50          	mov    0x50(%eax,%edx,1),%ecx
41078c:	89 4d d8             	mov    %ecx,-0x28(%ebp)
41078f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
410796:	eb 09                	jmp    0x4107a1
410798:	8b 55 fc             	mov    -0x4(%ebp),%edx
41079b:	83 c2 01             	add    $0x1,%edx
41079e:	89 55 fc             	mov    %edx,-0x4(%ebp)
4107a1:	83 7d fc 40          	cmpl   $0x40,-0x4(%ebp)
4107a5:	0f 83 de 00 00 00    	jae    0x410889
4107ab:	8b 45 f4             	mov    -0xc(%ebp),%eax
4107ae:	c1 e8 06             	shr    $0x6,%eax
4107b1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4107b4:	c1 e1 1a             	shl    $0x1a,%ecx
4107b7:	0b c1                	or     %ecx,%eax
4107b9:	8b 55 f4             	mov    -0xc(%ebp),%edx
4107bc:	c1 ea 0b             	shr    $0xb,%edx
4107bf:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4107c2:	c1 e1 15             	shl    $0x15,%ecx
4107c5:	0b d1                	or     %ecx,%edx
4107c7:	33 c2                	xor    %edx,%eax
4107c9:	8b 55 f4             	mov    -0xc(%ebp),%edx
4107cc:	c1 ea 19             	shr    $0x19,%edx
4107cf:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4107d2:	c1 e1 07             	shl    $0x7,%ecx
4107d5:	0b d1                	or     %ecx,%edx
4107d7:	33 c2                	xor    %edx,%eax
4107d9:	03 45 d8             	add    -0x28(%ebp),%eax
4107dc:	8b 55 f4             	mov    -0xc(%ebp),%edx
4107df:	23 55 e4             	and    -0x1c(%ebp),%edx
4107e2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4107e5:	f7 d1                	not    %ecx