40c249:	ff 35 6c 2a 43 00    	push   0x432a6c
40c24f:	ff d3                	call   *%ebx
40c251:	6a 00                	push   $0x0
40c253:	6a 00                	push   $0x0
40c255:	57                   	push   %edi
40c256:	56                   	push   %esi
40c257:	56                   	push   %esi
40c258:	8b cd                	mov    %ebp,%ecx
40c25a:	e8 f3 fa ff ff       	call   0x40bd52
40c25f:	5f                   	pop    %edi
40c260:	8b c6                	mov    %esi,%eax
40c262:	5e                   	pop    %esi
40c263:	5d                   	pop    %ebp
40c264:	5b                   	pop    %ebx
40c265:	c2 04 00             	ret    $0x4
40c268:	8b 44 24 08          	mov    0x8(%esp),%eax
40c26c:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40c270:	8b 54 24 04          	mov    0x4(%esp),%edx
40c274:	56                   	push   %esi
40c275:	8b 30                	mov    (%eax),%esi
40c277:	33 31                	xor    (%ecx),%esi
40c279:	89 32                	mov    %esi,(%edx)
40c27b:	8b 70 04             	mov    0x4(%eax),%esi
40c27e:	33 71 04             	xor    0x4(%ecx),%esi
40c281:	89 72 04             	mov    %esi,0x4(%edx)
40c284:	8b 70 08             	mov    0x8(%eax),%esi
40c287:	33 71 08             	xor    0x8(%ecx),%esi
40c28a:	89 72 08             	mov    %esi,0x8(%edx)
40c28d:	8b 40 0c             	mov    0xc(%eax),%eax
40c290:	33 41 0c             	xor    0xc(%ecx),%eax
40c293:	5e                   	pop    %esi
40c294:	89 42 0c             	mov    %eax,0xc(%edx)
40c297:	c2 0c 00             	ret    $0xc
40c29a:	55                   	push   %ebp
40c29b:	8b ec                	mov    %esp,%ebp
40c29d:	83 e4 f0             	and    $0xfffffff0,%esp
40c2a0:	51                   	push   %ecx
40c2a1:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40c2a5:	8b 45 10             	mov    0x10(%ebp),%eax
40c2a8:	53                   	push   %ebx
40c2a9:	56                   	push   %esi
40c2aa:	8d 59 08             	lea    0x8(%ecx),%ebx
40c2ad:	f3 0f 6f 0b          	movdqu (%ebx),%xmm1
40c2b1:	57                   	push   %edi
40c2b2:	8b 7d 08             	mov    0x8(%ebp),%edi
40c2b5:	89 44 24 0c          	mov    %eax,0xc(%esp)
40c2b9:	8d 71 18             	lea    0x18(%ecx),%esi
40c2bc:	76 61                	jbe    0x40c31f
40c2be:	8b c7                	mov    %edi,%eax
40c2c0:	f3 0f 6f 10          	movdqu (%eax),%xmm2
40c2c4:	8b 41 04             	mov    0x4(%ecx),%eax
40c2c7:	8b d0                	mov    %eax,%edx
40c2c9:	c1 e2 04             	shl    $0x4,%edx
40c2cc:	03 d6                	add    %esi,%edx
40c2ce:	f3 0f 6f 02          	movdqu (%edx),%xmm0
40c2d2:	83 c7 10             	add    $0x10,%edi
40c2d5:	48                   	dec    %eax
40c2d6:	66 0f ef c2          	pxor   %xmm2,%xmm0
40c2da:	85 c0                	test   %eax,%eax
40c2dc:	7e 18                	jle    0x40c2f6
40c2de:	8b d0                	mov    %eax,%edx
40c2e0:	c1 e2 04             	shl    $0x4,%edx
40c2e3:	03 d6                	add    %esi,%edx
40c2e5:	f3 0f 6f 1a          	movdqu (%edx),%xmm3
40c2e9:	48                   	dec    %eax
40c2ea:	83 ea 10             	sub    $0x10,%edx
40c2ed:	66 0f 38 de c3       	aesdec %xmm3,%xmm0
40c2f2:	85 c0                	test   %eax,%eax
40c2f4:	7f ef                	jg     0x40c2e5
40c2f6:	80 79 01 00          	cmpb   $0x0,0x1(%ecx)
40c2fa:	f3 0f 6f 1e          	movdqu (%esi),%xmm3
40c2fe:	66 0f 38 df c3       	aesdeclast %xmm3,%xmm0
40c303:	74 04                	je     0x40c309
40c305:	66 0f ef c1          	pxor   %xmm1,%xmm0
40c309:	8b 44 24 0c          	mov    0xc(%esp),%eax
40c30d:	83 44 24 0c 10       	addl   $0x10,0xc(%esp)
40c312:	ff 4d 0c             	decl   0xc(%ebp)
40c315:	66 0f 6f ca          	movdqa %xmm2,%xmm1
40c319:	f3 0f 7f 00          	movdqu %xmm0,(%eax)
40c31d:	75 9f                	jne    0x40c2be
40c31f:	5f                   	pop    %edi
40c320:	5e                   	pop    %esi
40c321:	f3 0f 7f 0b          	movdqu %xmm1,(%ebx)
40c325:	5b                   	pop    %ebx
40c326:	8b e5                	mov    %ebp,%esp
40c328:	5d                   	pop    %ebp
40c329:	c2 0c 00             	ret    $0xc
40c32c:	55                   	push   %ebp
40c32d:	8b ec                	mov    %esp,%ebp
40c32f:	83 ec 38             	sub    $0x38,%esp
40c332:	53                   	push   %ebx
40c333:	56                   	push   %esi
40c334:	57                   	push   %edi
40c335:	6a 20                	push   $0x20
40c337:	ff 75 08             	push   0x8(%ebp)
40c33a:	8b f9                	mov    %ecx,%edi
40c33c:	8b 5f 04             	mov    0x4(%edi),%ebx
40c33f:	8d 45 c8             	lea    -0x38(%ebp),%eax
40c342:	50                   	push   %eax
40c343:	89 7d fc             	mov    %edi,-0x4(%ebp)
40c346:	83 eb 06             	sub    $0x6,%ebx
40c349:	e8 22 f9 00 00       	call   0x41bc70
40c34e:	33 c0                	xor    %eax,%eax
40c350:	83 c4 0c             	add    $0xc,%esp
40c353:	33 d2                	xor    %edx,%edx
40c355:	3b d8                	cmp    %eax,%ebx
40c357:	89 45 08             	mov    %eax,0x8(%ebp)
40c35a:	7e 40                	jle    0x40c39c
40c35c:	3b 57 04             	cmp    0x4(%edi),%edx
40c35f:	0f 8f 85 01 00 00    	jg     0x40c4ea
40c365:	3b c3                	cmp    %ebx,%eax
40c367:	7d 24                	jge    0x40c38d
40c369:	8d 4c 85 c8          	lea    -0x38(%ebp,%eax,4),%ecx
40c36d:	8b 75 08             	mov    0x8(%ebp),%esi
40c370:	83 fe 04             	cmp    $0x4,%esi
40c373:	7d 18                	jge    0x40c38d
40c375:	8d 34 96             	lea    (%esi,%edx,4),%esi
40c378:	8d 7c b7 18          	lea    0x18(%edi,%esi,4),%edi
40c37c:	8b f1                	mov    %ecx,%esi
40c37e:	40                   	inc    %eax
40c37f:	83 c1 04             	add    $0x4,%ecx
40c382:	ff 45 08             	incl   0x8(%ebp)
40c385:	3b c3                	cmp    %ebx,%eax
40c387:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40c388:	8b 7d fc             	mov    -0x4(%ebp),%edi
40c38b:	7c e0                	jl     0x40c36d
40c38d:	83 7d 08 04          	cmpl   $0x4,0x8(%ebp)
40c391:	75 05                	jne    0x40c398
40c393:	42                   	inc    %edx
40c394:	83 65 08 00          	andl   $0x0,0x8(%ebp)
40c398:	3b c3                	cmp    %ebx,%eax
40c39a:	7c c0                	jl     0x40c35c
40c39c:	3b 57 04             	cmp    0x4(%edi),%edx
40c39f:	0f 8f 45 01 00 00    	jg     0x40c4ea
40c3a5:	8b c3                	mov    %ebx,%eax
40c3a7:	c1 e0 02             	shl    $0x2,%eax
40c3aa:	8d 4c 05 c5          	lea    -0x3b(%ebp,%eax,1),%ecx
40c3ae:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40c3b1:	8d 4c 05 c6          	lea    -0x3a(%ebp,%eax,1),%ecx
40c3b5:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40c3b8:	8d 4c 05 c7          	lea    -0x39(%ebp,%eax,1),%ecx
40c3bc:	8d 44 05 c4          	lea    -0x3c(%ebp,%eax,1),%eax
40c3c0:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40c3c3:	89 45 e8             	mov    %eax,-0x18(%ebp)
40c3c6:	c7 45 f8 a0 7a 43 00 	movl   $0x437aa0,-0x8(%ebp)
40c3cd:	8b 45 f4             	mov    -0xc(%ebp),%eax
40c3d0:	0f b6 08             	movzbl (%eax),%ecx
40c3d3:	8a 45 c8             	mov    -0x38(%ebp),%al
40c3d6:	32 81 c0 7b 43 00    	xor    0x437bc0(%ecx),%al
40c3dc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40c3df:	88 45 c8             	mov    %al,-0x38(%ebp)
40c3e2:	0f b6 09             	movzbl (%ecx),%ecx
40c3e5:	8a 89 c0 7b 43 00    	mov    0x437bc0(%ecx),%cl
40c3eb:	30 4d c9             	xor    %cl,-0x37(%ebp)
40c3ee:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40c3f1:	0f b6 09             	movzbl (%ecx),%ecx
40c3f4:	8a 89 c0 7b 43 00    	mov    0x437bc0(%ecx),%cl
40c3fa:	30 4d ca             	xor    %cl,-0x36(%ebp)
40c3fd:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40c400:	0f b6 09             	movzbl (%ecx),%ecx
40c403:	8a 89 c0 7b 43 00    	mov    0x437bc0(%ecx),%cl
40c409:	30 4d cb             	xor    %cl,-0x35(%ebp)
40c40c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40c40f:	32 01                	xor    (%ecx),%al
40c411:	ff 45 f8             	incl   -0x8(%ebp)
40c414:	88 45 c8             	mov    %al,-0x38(%ebp)
40c417:	83 fb 08             	cmp    $0x8,%ebx
40c41a:	74 22                	je     0x40c43e
40c41c:	83 fb 01             	cmp    $0x1,%ebx
40c41f:	7e 7e                	jle    0x40c49f
40c421:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40c424:	8d 7b ff             	lea    -0x1(%ebx),%edi
40c427:	33 f6                	xor    %esi,%esi
40c429:	8a 44 31 fc          	mov    -0x4(%ecx,%esi,1),%al
40c42d:	30 04 31             	xor    %al,(%ecx,%esi,1)
40c430:	46                   	inc    %esi
40c431:	83 fe 04             	cmp    $0x4,%esi
40c434:	7c f3                	jl     0x40c429
40c436:	83 c1 04             	add    $0x4,%ecx
40c439:	4f                   	dec    %edi
40c43a:	75 eb                	jne    0x40c427
40c43c:	eb 5e                	jmp    0x40c49c
40c43e:	6a 03                	push   $0x3
40c440:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40c443:	5f                   	pop    %edi
40c444:	6a 04                	push   $0x4
40c446:	5e                   	pop    %esi
40c447:	8a 41 fc             	mov    -0x4(%ecx),%al
40c44a:	30 01                	xor    %al,(%ecx)
40c44c:	41                   	inc    %ecx
40c44d:	4e                   	dec    %esi
40c44e:	75 f7                	jne    0x40c447
40c450:	4f                   	dec    %edi
40c451:	75 f1                	jne    0x40c444
40c453:	0f b6 45 d4          	movzbl -0x2c(%ebp),%eax
40c457:	8a 80 c0 7b 43 00    	mov    0x437bc0(%eax),%al
40c45d:	30 45 d8             	xor    %al,-0x28(%ebp)
40c460:	0f b6 45 d5          	movzbl -0x2b(%ebp),%eax
40c464:	8a 80 c0 7b 43 00    	mov    0x437bc0(%eax),%al
40c46a:	30 45 d9             	xor    %al,-0x27(%ebp)
40c46d:	0f b6 45 d6          	movzbl -0x2a(%ebp),%eax
40c471:	8a 80 c0 7b 43 00    	mov    0x437bc0(%eax),%al
40c477:	30 45 da             	xor    %al,-0x26(%ebp)
40c47a:	0f b6 45 d7          	movzbl -0x29(%ebp),%eax
40c47e:	8a 80 c0 7b 43 00    	mov    0x437bc0(%eax),%al
40c484:	30 45 db             	xor    %al,-0x25(%ebp)
40c487:	6a 03                	push   $0x3
40c489:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40c48c:	5f                   	pop    %edi
40c48d:	6a 04                	push   $0x4
40c48f:	5e                   	pop    %esi
40c490:	8a 41 fc             	mov    -0x4(%ecx),%al
40c493:	30 01                	xor    %al,(%ecx)
40c495:	41                   	inc    %ecx
40c496:	4e                   	dec    %esi
40c497:	75 f7                	jne    0x40c490
40c499:	4f                   	dec    %edi
40c49a:	75 f1                	jne    0x40c48d
40c49c:	8b 7d fc             	mov    -0x4(%ebp),%edi
40c49f:	33 c9                	xor    %ecx,%ecx
40c4a1:	85 db                	test   %ebx,%ebx
40c4a3:	7e 3c                	jle    0x40c4e1
40c4a5:	3b 57 04             	cmp    0x4(%edi),%edx
40c4a8:	7f 40                	jg     0x40c4ea
40c4aa:	3b cb                	cmp    %ebx,%ecx
40c4ac:	7d 24                	jge    0x40c4d2
40c4ae:	8d 44 8d c8          	lea    -0x38(%ebp,%ecx,4),%eax
40c4b2:	8b 75 08             	mov    0x8(%ebp),%esi
40c4b5:	83 fe 04             	cmp    $0x4,%esi
40c4b8:	7d 18                	jge    0x40c4d2
40c4ba:	8d 34 96             	lea    (%esi,%edx,4),%esi
40c4bd:	8d 7c b7 18          	lea    0x18(%edi,%esi,4),%edi
40c4c1:	8b f0                	mov    %eax,%esi
40c4c3:	41                   	inc    %ecx
40c4c4:	83 c0 04             	add    $0x4,%eax
40c4c7:	ff 45 08             	incl   0x8(%ebp)
40c4ca:	3b cb                	cmp    %ebx,%ecx
40c4cc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40c4cd:	8b 7d fc             	mov    -0x4(%ebp),%edi
40c4d0:	7c e0                	jl     0x40c4b2
40c4d2:	83 7d 08 04          	cmpl   $0x4,0x8(%ebp)
40c4d6:	75 05                	jne    0x40c4dd
40c4d8:	42                   	inc    %edx
40c4d9:	83 65 08 00          	andl   $0x0,0x8(%ebp)
40c4dd:	3b cb                	cmp    %ebx,%ecx
40c4df:	7c c4                	jl     0x40c4a5
40c4e1:	3b 57 04             	cmp    0x4(%edi),%edx
40c4e4:	0f 8e e3 fe ff ff    	jle    0x40c3cd
40c4ea:	5f                   	pop    %edi
40c4eb:	5e                   	pop    %esi
40c4ec:	5b                   	pop    %ebx
40c4ed:	c9                   	leave
40c4ee:	c2 04 00             	ret    $0x4
40c4f1:	55                   	push   %ebp
40c4f2:	8b ec                	mov    %esp,%ebp
40c4f4:	83 ec 1c             	sub    $0x1c,%esp
40c4f7:	33 c0                	xor    %eax,%eax
40c4f9:	57                   	push   %edi
40c4fa:	40                   	inc    %eax
40c4fb:	8b f9                	mov    %ecx,%edi
40c4fd:	39 47 04             	cmp    %eax,0x4(%edi)
40c500:	89 45 f8             	mov    %eax,-0x8(%ebp)
40c503:	7e 7b                	jle    0x40c580
40c505:	8d 47 28             	lea    0x28(%edi),%eax
40c508:	53                   	push   %ebx
40c509:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c50c:	56                   	push   %esi
40c50d:	33 c0                	xor    %eax,%eax
40c50f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c512:	8d 74 05 e4          	lea    -0x1c(%ebp,%eax,1),%esi
40c516:	83 c1 02             	add    $0x2,%ecx
40c519:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
40c520:	0f b6 51 01          	movzbl 0x1(%ecx),%edx
40c524:	0f b6 59 ff          	movzbl -0x1(%ecx),%ebx
40c528:	8a 94 90 a0 4a 43 00 	mov    0x434aa0(%eax,%edx,4),%dl
40c52f:	32 94 98 a0 52 43 00 	xor    0x4352a0(%eax,%ebx,4),%dl
40c536:	0f b6 59 fe          	movzbl -0x2(%ecx),%ebx
40c53a:	32 94 98 a0 56 43 00 	xor    0x4356a0(%eax,%ebx,4),%dl
40c541:	0f b6 19             	movzbl (%ecx),%ebx
40c544:	32 94 98 a0 4e 43 00 	xor    0x434ea0(%eax,%ebx,4),%dl
40c54b:	83 c1 04             	add    $0x4,%ecx
40c54e:	88 16                	mov    %dl,(%esi)
40c550:	83 c6 04             	add    $0x4,%esi
40c553:	ff 4d f4             	decl   -0xc(%ebp)
40c556:	75 c8                	jne    0x40c520
40c558:	40                   	inc    %eax
40c559:	83 f8 04             	cmp    $0x4,%eax
40c55c:	7c b1                	jl     0x40c50f
40c55e:	6a 10                	push   $0x10
40c560:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40c563:	50                   	push   %eax
40c564:	ff 75 fc             	push   -0x4(%ebp)
40c567:	e8 04 f7 00 00       	call   0x41bc70
40c56c:	83 45 fc 10          	addl   $0x10,-0x4(%ebp)
40c570:	83 c4 0c             	add    $0xc,%esp
40c573:	ff 45 f8             	incl   -0x8(%ebp)
40c576:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c579:	3b 47 04             	cmp    0x4(%edi),%eax
40c57c:	7c 8f                	jl     0x40c50d
40c57e:	5e                   	pop    %esi
40c57f:	5b                   	pop    %ebx
40c580:	5f                   	pop    %edi
40c581:	c9                   	leave
40c582:	c3                   	ret
40c583:	55                   	push   %ebp
40c584:	8b ec                	mov    %esp,%ebp
40c586:	81 ec 04 03 00 00    	sub    $0x304,%esp
40c58c:	53                   	push   %ebx
40c58d:	56                   	push   %esi
40c58e:	33 c0                	xor    %eax,%eax
40c590:	33 c9                	xor    %ecx,%ecx
40c592:	40                   	inc    %eax
40c593:	be 1b 01 00 00       	mov    $0x11b,%esi
40c598:	57                   	push   %edi
40c599:	8b d0                	mov    %eax,%edx
40c59b:	80 e2 80             	and    $0x80,%dl
40c59e:	0f be d2             	movsbl %dl,%edx
40c5a1:	88 84 0d fc fc ff ff 	mov    %al,-0x304(%ebp,%ecx,1)
40c5a8:	88 84 0d fb fd ff ff 	mov    %al,-0x205(%ebp,%ecx,1)
40c5af:	88 8c 05 fc fe ff ff 	mov    %cl,-0x104(%ebp,%eax,1)
40c5b6:	41                   	inc    %ecx
40c5b7:	f7 da                	neg    %edx
40c5b9:	1b d2                	sbb    %edx,%edx
40c5bb:	23 d6                	and    %esi,%edx
40c5bd:	8d 3c 00             	lea    (%eax,%eax,1),%edi
40c5c0:	33 d7                	xor    %edi,%edx
40c5c2:	33 c2                	xor    %edx,%eax
40c5c4:	83 f8 01             	cmp    $0x1,%eax
40c5c7:	75 d0                	jne    0x40c599
40c5c9:	33 c9                	xor    %ecx,%ecx
40c5cb:	5f                   	pop    %edi
40c5cc:	8b d0                	mov    %eax,%edx
40c5ce:	80 e2 80             	and    $0x80,%dl
40c5d1:	0f be d2             	movsbl %dl,%edx
40c5d4:	f7 da                	neg    %edx
40c5d6:	1b d2                	sbb    %edx,%edx
40c5d8:	88 81 a0 7a 43 00    	mov    %al,0x437aa0(%ecx)
40c5de:	23 d6                	and    %esi,%edx
40c5e0:	03 c0                	add    %eax,%eax
40c5e2:	33 c2                	xor    %edx,%eax
40c5e4:	41                   	inc    %ecx
40c5e5:	83 f9 1e             	cmp    $0x1e,%ecx
40c5e8:	72 e2                	jb     0x40c5cc
40c5ea:	33 db                	xor    %ebx,%ebx
40c5ec:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40c5ef:	eb 03                	jmp    0x40c5f4
40c5f1:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40c5f4:	84 db                	test   %bl,%bl
40c5f6:	74 18                	je     0x40c610
40c5f8:	0f b6 c3             	movzbl %bl,%eax