40c041:	ff 75 08             	push   0x8(%ebp)
40c044:	c7 45 e4 04 02 00 00 	movl   $0x204,-0x1c(%ebp)
40c04b:	ff 15 40 a3 42 00    	call   *0x42a340
40c051:	a9 00 08 00 00       	test   $0x800,%eax
40c056:	75 07                	jne    0x40c05f
40c058:	c7 45 e4 06 02 00 00 	movl   $0x206,-0x1c(%ebp)
40c05f:	ff 75 e4             	push   -0x1c(%ebp)
40c062:	ff 75 e8             	push   -0x18(%ebp)
40c065:	ff 75 ec             	push   -0x14(%ebp)
40c068:	56                   	push   %esi
40c069:	53                   	push   %ebx
40c06a:	6a 00                	push   $0x0
40c06c:	ff 75 08             	push   0x8(%ebp)
40c06f:	ff 15 2c a3 42 00    	call   *0x42a32c
40c075:	8d 45 d0             	lea    -0x30(%ebp),%eax
40c078:	50                   	push   %eax
40c079:	ff 75 08             	push   0x8(%ebp)
40c07c:	ff 15 24 a3 42 00    	call   *0x42a324
40c082:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40c085:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
40c089:	be 00 04 00 00       	mov    $0x400,%esi
40c08e:	75 3e                	jne    0x40c0ce
40c090:	56                   	push   %esi
40c091:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40c097:	50                   	push   %eax
40c098:	ff 75 08             	push   0x8(%ebp)
40c09b:	ff 15 30 a3 42 00    	call   *0x42a330
40c0a1:	ff 75 0c             	push   0xc(%ebp)
40c0a4:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40c0a7:	6a 01                	push   $0x1
40c0a9:	56                   	push   %esi
40c0aa:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40c0b0:	50                   	push   %eax
40c0b1:	50                   	push   %eax
40c0b2:	e8 9b fc ff ff       	call   0x40bd52
40c0b7:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40c0bd:	50                   	push   %eax
40c0be:	ff 75 08             	push   0x8(%ebp)
40c0c1:	ff 15 34 a3 42 00    	call   *0x42a334
40c0c7:	eb 05                	jmp    0x40c0ce
40c0c9:	be 00 04 00 00       	mov    $0x400,%esi
40c0ce:	6a 08                	push   $0x8
40c0d0:	ff 15 38 a3 42 00    	call   *0x42a338
40c0d6:	6a 05                	push   $0x5
40c0d8:	ff 75 08             	push   0x8(%ebp)
40c0db:	2b f8                	sub    %eax,%edi
40c0dd:	ff 15 3c a3 42 00    	call   *0x42a33c
40c0e3:	83 65 08 00          	andl   $0x0,0x8(%ebp)
40c0e7:	89 45 10             	mov    %eax,0x10(%ebp)
40c0ea:	89 45 f8             	mov    %eax,-0x8(%ebp)
40c0ed:	e9 d4 00 00 00       	jmp    0x40c1c6
40c0f2:	81 7d 08 00 02 00 00 	cmpl   $0x200,0x8(%ebp)
40c0f9:	0f 8d cf 00 00 00    	jge    0x40c1ce
40c0ff:	56                   	push   %esi
40c100:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40c106:	50                   	push   %eax
40c107:	ff 75 10             	push   0x10(%ebp)
40c10a:	ff 15 30 a3 42 00    	call   *0x42a330
40c110:	66 83 bd b0 f7 ff ff 	cmpw   $0x0,-0x850(%ebp)
40c117:	00
40c118:	74 26                	je     0x40c140
40c11a:	ff 75 0c             	push   0xc(%ebp)
40c11d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40c120:	6a 01                	push   $0x1
40c122:	56                   	push   %esi
40c123:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40c129:	50                   	push   %eax
40c12a:	50                   	push   %eax
40c12b:	e8 22 fc ff ff       	call   0x40bd52
40c130:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40c136:	50                   	push   %eax
40c137:	ff 75 10             	push   0x10(%ebp)
40c13a:	ff 15 34 a3 42 00    	call   *0x42a334
40c140:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
40c144:	74 6a                	je     0x40c1b0
40c146:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c149:	50                   	push   %eax
40c14a:	ff 75 10             	push   0x10(%ebp)
40c14d:	ff 15 24 a3 42 00    	call   *0x42a324
40c153:	8b 45 cc             	mov    -0x34(%ebp),%eax
40c156:	2b 45 c4             	sub    -0x3c(%ebp),%eax
40c159:	68 04 02 00 00       	push   $0x204
40c15e:	40                   	inc    %eax
40c15f:	0f af 45 f4          	imul   -0xc(%ebp),%eax
40c163:	99                   	cltd
40c164:	6a 64                	push   $0x64
40c166:	59                   	pop    %ecx
40c167:	f7 f9                	idiv   %ecx
40c169:	50                   	push   %eax
40c16a:	8b 45 c8             	mov    -0x38(%ebp),%eax
40c16d:	2b 45 c0             	sub    -0x40(%ebp),%eax
40c170:	40                   	inc    %eax
40c171:	0f af 45 f0          	imul   -0x10(%ebp),%eax
40c175:	99                   	cltd
40c176:	f7 f9                	idiv   %ecx
40c178:	50                   	push   %eax
40c179:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40c17c:	2b c7                	sub    %edi,%eax
40c17e:	2b 45 d4             	sub    -0x2c(%ebp),%eax
40c181:	0f af 45 f4          	imul   -0xc(%ebp),%eax
40c185:	99                   	cltd
40c186:	f7 f9                	idiv   %ecx
40c188:	50                   	push   %eax
40c189:	8b c3                	mov    %ebx,%eax
40c18b:	99                   	cltd
40c18c:	2b c2                	sub    %edx,%eax
40c18e:	8b c8                	mov    %eax,%ecx
40c190:	8b 45 c0             	mov    -0x40(%ebp),%eax
40c193:	d1 f9                	sar    $1,%ecx
40c195:	2b c1                	sub    %ecx,%eax
40c197:	2b 45 d0             	sub    -0x30(%ebp),%eax
40c19a:	6a 64                	push   $0x64
40c19c:	0f af 45 f0          	imul   -0x10(%ebp),%eax
40c1a0:	59                   	pop    %ecx
40c1a1:	99                   	cltd
40c1a2:	f7 f9                	idiv   %ecx
40c1a4:	50                   	push   %eax
40c1a5:	6a 00                	push   $0x0
40c1a7:	ff 75 10             	push   0x10(%ebp)
40c1aa:	ff 15 2c a3 42 00    	call   *0x42a32c
40c1b0:	6a 02                	push   $0x2
40c1b2:	ff 75 10             	push   0x10(%ebp)
40c1b5:	ff 15 3c a3 42 00    	call   *0x42a33c
40c1bb:	89 45 10             	mov    %eax,0x10(%ebp)
40c1be:	3b 45 f8             	cmp    -0x8(%ebp),%eax
40c1c1:	74 0b                	je     0x40c1ce
40c1c3:	ff 45 08             	incl   0x8(%ebp)
40c1c6:	85 c0                	test   %eax,%eax
40c1c8:	0f 85 24 ff ff ff    	jne    0x40c0f2
40c1ce:	5f                   	pop    %edi
40c1cf:	5e                   	pop    %esi
40c1d0:	5b                   	pop    %ebx
40c1d1:	c9                   	leave
40c1d2:	c2 0c 00             	ret    $0xc
40c1d5:	56                   	push   %esi
40c1d6:	ff 74 24 08          	push   0x8(%esp)
40c1da:	8b f1                	mov    %ecx,%esi
40c1dc:	e8 86 f8 ff ff       	call   0x40ba67
40c1e1:	8b ce                	mov    %esi,%ecx
40c1e3:	e8 3b fd ff ff       	call   0x40bf23
40c1e8:	5e                   	pop    %esi
40c1e9:	c2 04 00             	ret    $0x4
40c1ec:	a1 98 4a 43 00       	mov    0x434a98,%eax
40c1f1:	40                   	inc    %eax
40c1f2:	a3 98 4a 43 00       	mov    %eax,0x434a98
40c1f7:	83 f8 08             	cmp    $0x8,%eax
40c1fa:	72 07                	jb     0x40c203
40c1fc:	33 c0                	xor    %eax,%eax
40c1fe:	a3 98 4a 43 00       	mov    %eax,0x434a98
40c203:	53                   	push   %ebx
40c204:	55                   	push   %ebp
40c205:	c1 e0 0a             	shl    $0xa,%eax
40c208:	05 98 2a 43 00       	add    $0x432a98,%eax
40c20d:	56                   	push   %esi
40c20e:	8b f0                	mov    %eax,%esi
40c210:	33 c0                	xor    %eax,%eax
40c212:	bd 84 2a 43 00       	mov    $0x432a84,%ebp
40c217:	57                   	push   %edi
40c218:	8b cd                	mov    %ebp,%ecx
40c21a:	66 89 06             	mov    %ax,(%esi)
40c21d:	e8 b0 f7 ff ff       	call   0x40b9d2
40c222:	8b 1d 20 a3 42 00    	mov    0x42a320,%ebx
40c228:	bf 00 02 00 00       	mov    $0x200,%edi
40c22d:	84 c0                	test   %al,%al
40c22f:	75 12                	jne    0x40c243
40c231:	57                   	push   %edi
40c232:	56                   	push   %esi
40c233:	ff 74 24 1c          	push   0x1c(%esp)
40c237:	ff 35 70 2a 43 00    	push   0x432a70
40c23d:	ff d3                	call   *%ebx
40c23f:	85 c0                	test   %eax,%eax
40c241:	75 0e                	jne    0x40c251
40c243:	57                   	push   %edi
40c244:	56                   	push   %esi
40c245:	ff 74 24 1c          	push   0x1c(%esp)
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)