41c071:	3b f3                	cmp    %ebx,%esi
41c073:	7c 0e                	jl     0x41c083
41c075:	8b 04 9f             	mov    (%edi,%ebx,4),%eax
41c078:	8b 14 b7             	mov    (%edi,%esi,4),%edx
41c07b:	89 14 9f             	mov    %edx,(%edi,%ebx,4)
41c07e:	89 04 b7             	mov    %eax,(%edi,%esi,4)
41c081:	43                   	inc    %ebx
41c082:	4e                   	dec    %esi
41c083:	3b f3                	cmp    %ebx,%esi
41c085:	7d cd                	jge    0x41c054
41c087:	3b 75 fc             	cmp    -0x4(%ebp),%esi
41c08a:	7e 10                	jle    0x41c09c
41c08c:	8b 45 08             	mov    0x8(%ebp),%eax
41c08f:	50                   	push   %eax
41c090:	8b ce                	mov    %esi,%ecx
41c092:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c095:	8b c7                	mov    %edi,%eax
41c097:	e8 90 ff ff ff       	call   0x41c02c
41c09c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41c09f:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
41c0a2:	7c 99                	jl     0x41c03d
41c0a4:	5f                   	pop    %edi
41c0a5:	5e                   	pop    %esi
41c0a6:	5b                   	pop    %ebx
41c0a7:	8b e5                	mov    %ebp,%esp
41c0a9:	5d                   	pop    %ebp
41c0aa:	c2 04 00             	ret    $0x4
41c0ad:	8d 40 00             	lea    0x0(%eax),%eax
41c0b0:	8b 48 04             	mov    0x4(%eax),%ecx
41c0b3:	85 c9                	test   %ecx,%ecx
41c0b5:	74 16                	je     0x41c0cd
41c0b7:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
41c0bb:	7e 10                	jle    0x41c0cd
41c0bd:	52                   	push   %edx
41c0be:	8b 50 08             	mov    0x8(%eax),%edx
41c0c1:	4a                   	dec    %edx
41c0c2:	8b c1                	mov    %ecx,%eax
41c0c4:	33 c9                	xor    %ecx,%ecx
41c0c6:	87 d1                	xchg   %edx,%ecx
41c0c8:	e8 5f ff ff ff       	call   0x41c02c
41c0cd:	c3                   	ret
41c0ce:	8b c0                	mov    %eax,%eax
41c0d0:	c3                   	ret
41c0d1:	8d 40 00             	lea    0x0(%eax),%eax
41c0d4:	55                   	push   %ebp
41c0d5:	8b ec                	mov    %esp,%ebp
41c0d7:	83 c4 f4             	add    $0xfffffff4,%esp
41c0da:	53                   	push   %ebx
41c0db:	56                   	push   %esi
41c0dc:	57                   	push   %edi
41c0dd:	8b d9                	mov    %ecx,%ebx
41c0df:	89 55 fc             	mov    %edx,-0x4(%ebp)
41c0e2:	8b f0                	mov    %eax,%esi
41c0e4:	8b 45 08             	mov    0x8(%ebp),%eax
41c0e7:	85 c0                	test   %eax,%eax
41c0e9:	74 12                	je     0x41c0fd
41c0eb:	8b f8                	mov    %eax,%edi
41c0ed:	6a 00                	push   $0x0
41c0ef:	33 c9                	xor    %ecx,%ecx
41c0f1:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c0f4:	8b c6                	mov    %esi,%eax
41c0f6:	e8 d9 ff ff ff       	call   0x41c0d4
41c0fb:	eb 03                	jmp    0x41c100
41c0fd:	8b 7d fc             	mov    -0x4(%ebp),%edi
41c100:	33 c0                	xor    %eax,%eax
41c102:	8a c3                	mov    %bl,%al
41c104:	83 f8 05             	cmp    $0x5,%eax
41c107:	0f 87 88 02 00 00    	ja     0x41c395
41c10d:	ff 24 85 14 c1 41 00 	jmp    *0x41c114(,%eax,4)
41c114:	2c c1                	sub    $0xc1,%al
41c116:	41                   	inc    %ecx
41c117:	00 6c c1 41          	add    %ch,0x41(%ecx,%eax,8)
41c11b:	00 a2 c1 41 00 e6    	add    %ah,-0x19ffbe3f(%edx)
41c121:	c1 41 00 d5          	roll   $0xd5,0x0(%ecx)
41c125:	c2 41 00             	ret    $0x41
41c128:	0b c3                	or     %ebx,%eax
41c12a:	41                   	inc    %ecx
41c12b:	00 8b c6 8b 10 ff    	add    %cl,-0xef743a(%ebx)
41c131:	52                   	push   %edx
41c132:	08 8b 57 0c 8b c6    	or     %cl,-0x3974f3a9(%ebx)
41c138:	e8 43 fe ff ff       	call   0x41bf80
41c13d:	8b 47 08             	mov    0x8(%edi),%eax
41c140:	48                   	dec    %eax
41c141:	85 c0                	test   %eax,%eax
41c143:	0f 8c 4c 02 00 00    	jl     0x41c395
41c149:	40                   	inc    %eax
41c14a:	89 45 f4             	mov    %eax,-0xc(%ebp)
41c14d:	33 db                	xor    %ebx,%ebx
41c14f:	8b d3                	mov    %ebx,%edx
41c151:	8b c7                	mov    %edi,%eax
41c153:	e8 68 fc ff ff       	call   0x41bdc0
41c158:	8b d0                	mov    %eax,%edx
41c15a:	8b c6                	mov    %esi,%eax
41c15c:	e8 b3 fa ff ff       	call   0x41bc14
41c161:	43                   	inc    %ebx
41c162:	ff 4d f4             	decl   -0xc(%ebp)
41c165:	75 e8                	jne    0x41c14f
41c167:	e9 29 02 00 00       	jmp    0x41c395
41c16c:	8b 5e 08             	mov    0x8(%esi),%ebx
41c16f:	4b                   	dec    %ebx
41c170:	83 fb 00             	cmp    $0x0,%ebx
41c173:	0f 8c 1c 02 00 00    	jl     0x41c395
41c179:	8b d3                	mov    %ebx,%edx
41c17b:	8b c6                	mov    %esi,%eax
41c17d:	e8 3e fc ff ff       	call   0x41bdc0
41c182:	8b d0                	mov    %eax,%edx
41c184:	8b c7                	mov    %edi,%eax
41c186:	e8 91 fc ff ff       	call   0x41be1c
41c18b:	40                   	inc    %eax
41c18c:	75 09                	jne    0x41c197
41c18e:	8b d3                	mov    %ebx,%edx
41c190:	8b c6                	mov    %esi,%eax
41c192:	e8 c9 fa ff ff       	call   0x41bc60
41c197:	4b                   	dec    %ebx
41c198:	83 fb ff             	cmp    $0xffffffff,%ebx
41c19b:	75 dc                	jne    0x41c179
41c19d:	e9 f3 01 00 00       	jmp    0x41c395
41c1a2:	8b 47 08             	mov    0x8(%edi),%eax
41c1a5:	48                   	dec    %eax
41c1a6:	85 c0                	test   %eax,%eax
41c1a8:	0f 8c e7 01 00 00    	jl     0x41c395
41c1ae:	40                   	inc    %eax
41c1af:	89 45 f4             	mov    %eax,-0xc(%ebp)
41c1b2:	33 db                	xor    %ebx,%ebx
41c1b4:	8b d3                	mov    %ebx,%edx
41c1b6:	8b c7                	mov    %edi,%eax
41c1b8:	e8 03 fc ff ff       	call   0x41bdc0
41c1bd:	8b d0                	mov    %eax,%edx
41c1bf:	8b c6                	mov    %esi,%eax
41c1c1:	e8 56 fc ff ff       	call   0x41be1c
41c1c6:	40                   	inc    %eax
41c1c7:	75 12                	jne    0x41c1db
41c1c9:	8b d3                	mov    %ebx,%edx
41c1cb:	8b c7                	mov    %edi,%eax
41c1cd:	e8 ee fb ff ff       	call   0x41bdc0
41c1d2:	8b d0                	mov    %eax,%edx
41c1d4:	8b c6                	mov    %esi,%eax
41c1d6:	e8 39 fa ff ff       	call   0x41bc14
41c1db:	43                   	inc    %ebx
41c1dc:	ff 4d f4             	decl   -0xc(%ebp)
41c1df:	75 d3                	jne    0x41c1b4
41c1e1:	e9 af 01 00 00       	jmp    0x41c395
41c1e6:	b2 01                	mov    $0x1,%dl
41c1e8:	a1 24 94 41 00       	mov    0x419424,%eax
41c1ed:	e8 56 78 fe ff       	call   0x403a48
41c1f2:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c1f5:	33 c0                	xor    %eax,%eax
41c1f7:	55                   	push   %ebp
41c1f8:	68 ce c2 41 00       	push   $0x41c2ce
41c1fd:	64 ff 30             	push   %fs:(%eax)
41c200:	64 89 20             	mov    %esp,%fs:(%eax)
41c203:	8b 57 08             	mov    0x8(%edi),%edx
41c206:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c209:	e8 72 fd ff ff       	call   0x41bf80
41c20e:	8b 47 08             	mov    0x8(%edi),%eax
41c211:	48                   	dec    %eax
41c212:	85 c0                	test   %eax,%eax
41c214:	7c 34                	jl     0x41c24a
41c216:	40                   	inc    %eax
41c217:	89 45 f4             	mov    %eax,-0xc(%ebp)
41c21a:	33 db                	xor    %ebx,%ebx
41c21c:	8b d3                	mov    %ebx,%edx
41c21e:	8b c7                	mov    %edi,%eax
41c220:	e8 9b fb ff ff       	call   0x41bdc0
41c225:	8b d0                	mov    %eax,%edx
41c227:	8b c6                	mov    %esi,%eax
41c229:	e8 ee fb ff ff       	call   0x41be1c
41c22e:	40                   	inc    %eax
41c22f:	75 13                	jne    0x41c244
41c231:	8b d3                	mov    %ebx,%edx
41c233:	8b c7                	mov    %edi,%eax
41c235:	e8 86 fb ff ff       	call   0x41bdc0
41c23a:	8b d0                	mov    %eax,%edx
41c23c:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c23f:	e8 d0 f9 ff ff       	call   0x41bc14
41c244:	43                   	inc    %ebx
41c245:	ff 4d f4             	decl   -0xc(%ebp)
41c248:	75 d2                	jne    0x41c21c
41c24a:	8b 5e 08             	mov    0x8(%esi),%ebx
41c24d:	4b                   	dec    %ebx
41c24e:	83 fb 00             	cmp    $0x0,%ebx
41c251:	7c 24                	jl     0x41c277
41c253:	8b d3                	mov    %ebx,%edx
41c255:	8b c6                	mov    %esi,%eax
41c257:	e8 64 fb ff ff       	call   0x41bdc0
41c25c:	8b d0                	mov    %eax,%edx
41c25e:	8b c7                	mov    %edi,%eax
41c260:	e8 b7 fb ff ff       	call   0x41be1c
41c265:	40                   	inc    %eax
41c266:	74 09                	je     0x41c271
41c268:	8b d3                	mov    %ebx,%edx
41c26a:	8b c6                	mov    %esi,%eax
41c26c:	e8 ef f9 ff ff       	call   0x41bc60
41c271:	4b                   	dec    %ebx
41c272:	83 fb ff             	cmp    $0xffffffff,%ebx
41c275:	75 dc                	jne    0x41c253
41c277:	8b 5e 08             	mov    0x8(%esi),%ebx
41c27a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c27d:	03 58 08             	add    0x8(%eax),%ebx
41c280:	3b 5e 0c             	cmp    0xc(%esi),%ebx
41c283:	7e 09                	jle    0x41c28e
41c285:	8b d3                	mov    %ebx,%edx
41c287:	8b c6                	mov    %esi,%eax
41c289:	e8 f2 fc ff ff       	call   0x41bf80
41c28e:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c291:	8b 40 08             	mov    0x8(%eax),%eax
41c294:	48                   	dec    %eax
41c295:	85 c0                	test   %eax,%eax
41c297:	7c 1f                	jl     0x41c2b8
41c299:	40                   	inc    %eax
41c29a:	89 45 f4             	mov    %eax,-0xc(%ebp)
41c29d:	33 db                	xor    %ebx,%ebx
41c29f:	8b d3                	mov    %ebx,%edx
41c2a1:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c2a4:	e8 17 fb ff ff       	call   0x41bdc0
41c2a9:	8b d0                	mov    %eax,%edx
41c2ab:	8b c6                	mov    %esi,%eax
41c2ad:	e8 62 f9 ff ff       	call   0x41bc14
41c2b2:	43                   	inc    %ebx
41c2b3:	ff 4d f4             	decl   -0xc(%ebp)
41c2b6:	75 e7                	jne    0x41c29f
41c2b8:	33 c0                	xor    %eax,%eax
41c2ba:	5a                   	pop    %edx
41c2bb:	59                   	pop    %ecx
41c2bc:	59                   	pop    %ecx
41c2bd:	64 89 10             	mov    %edx,%fs:(%eax)
41c2c0:	68 95 c3 41 00       	push   $0x41c395
41c2c5:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c2c8:	e8 ab 77 fe ff       	call   0x403a78
41c2cd:	c3                   	ret
41c2ce:	e9 39 7f fe ff       	jmp    0x40420c
41c2d3:	eb f0                	jmp    0x41c2c5
41c2d5:	8b 5e 08             	mov    0x8(%esi),%ebx
41c2d8:	4b                   	dec    %ebx
41c2d9:	83 fb 00             	cmp    $0x0,%ebx
41c2dc:	0f 8c b3 00 00 00    	jl     0x41c395
41c2e2:	8b d3                	mov    %ebx,%edx
41c2e4:	8b c6                	mov    %esi,%eax
41c2e6:	e8 d5 fa ff ff       	call   0x41bdc0
41c2eb:	8b d0                	mov    %eax,%edx
41c2ed:	8b c7                	mov    %edi,%eax
41c2ef:	e8 28 fb ff ff       	call   0x41be1c
41c2f4:	40                   	inc    %eax
41c2f5:	74 09                	je     0x41c300
41c2f7:	8b d3                	mov    %ebx,%edx
41c2f9:	8b c6                	mov    %esi,%eax
41c2fb:	e8 60 f9 ff ff       	call   0x41bc60
41c300:	4b                   	dec    %ebx
41c301:	83 fb ff             	cmp    $0xffffffff,%ebx
41c304:	75 dc                	jne    0x41c2e2
41c306:	e9 8a 00 00 00       	jmp    0x41c395
41c30b:	b2 01                	mov    $0x1,%dl
41c30d:	a1 24 94 41 00       	mov    0x419424,%eax
41c312:	e8 31 77 fe ff       	call   0x403a48
41c317:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c31a:	33 c0                	xor    %eax,%eax
41c31c:	55                   	push   %ebp
41c31d:	68 8e c3 41 00       	push   $0x41c38e
41c322:	64 ff 30             	push   %fs:(%eax)
41c325:	64 89 20             	mov    %esp,%fs:(%eax)
41c328:	8b 57 08             	mov    0x8(%edi),%edx
41c32b:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c32e:	e8 4d fc ff ff       	call   0x41bf80
41c333:	8b 5f 08             	mov    0x8(%edi),%ebx
41c336:	4b                   	dec    %ebx
41c337:	83 fb 00             	cmp    $0x0,%ebx
41c33a:	7c 2e                	jl     0x41c36a
41c33c:	8b d3                	mov    %ebx,%edx
41c33e:	8b c7                	mov    %edi,%eax
41c340:	e8 7b fa ff ff       	call   0x41bdc0
41c345:	8b d0                	mov    %eax,%edx
41c347:	8b c6                	mov    %esi,%eax
41c349:	e8 ce fa ff ff       	call   0x41be1c
41c34e:	40                   	inc    %eax
41c34f:	75 13                	jne    0x41c364
41c351:	8b d3                	mov    %ebx,%edx
41c353:	8b c7                	mov    %edi,%eax
41c355:	e8 66 fa ff ff       	call   0x41bdc0
41c35a:	8b d0                	mov    %eax,%edx
41c35c:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c35f:	e8 b0 f8 ff ff       	call   0x41bc14
41c364:	4b                   	dec    %ebx
41c365:	83 fb ff             	cmp    $0xffffffff,%ebx
41c368:	75 d2                	jne    0x41c33c
41c36a:	6a 00                	push   $0x0
41c36c:	33 c9                	xor    %ecx,%ecx
41c36e:	8b 55 f8             	mov    -0x8(%ebp),%edx
41c371:	8b c6                	mov    %esi,%eax
41c373:	e8 5c fd ff ff       	call   0x41c0d4
41c378:	33 c0                	xor    %eax,%eax
41c37a:	5a                   	pop    %edx
41c37b:	59                   	pop    %ecx
41c37c:	59                   	pop    %ecx
41c37d:	64 89 10             	mov    %edx,%fs:(%eax)
41c380:	68 95 c3 41 00       	push   $0x41c395
41c385:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c388:	e8 eb 76 fe ff       	call   0x403a78
41c38d:	c3                   	ret
41c38e:	e9 79 7e fe ff       	jmp    0x40420c
41c393:	eb f0                	jmp    0x41c385
41c395:	5f                   	pop    %edi
41c396:	5e                   	pop    %esi
41c397:	5b                   	pop    %ebx
41c398:	8b e5                	mov    %ebp,%esp
41c39a:	5d                   	pop    %ebp
41c39b:	c2 04 00             	ret    $0x4
41c39e:	8b c0                	mov    %eax,%eax
41c3a0:	53                   	push   %ebx
41c3a1:	56                   	push   %esi
41c3a2:	84 d2                	test   %dl,%dl
41c3a4:	74 08                	je     0x41c3ae
41c3a6:	83 c4 f0             	add    $0xfffffff0,%esp
41c3a9:	e8 2e 7a fe ff       	call   0x403ddc
41c3ae:	8b da                	mov    %edx,%ebx
41c3b0:	8b f0                	mov    %eax,%esi
41c3b2:	33 d2                	xor    %edx,%edx
41c3b4:	8b c6                	mov    %esi,%eax
41c3b6:	e8 8d 76 fe ff       	call   0x403a48
41c3bb:	8d 46 08             	lea    0x8(%esi),%eax
41c3be:	50                   	push   %eax
41c3bf:	e8 34 af fe ff       	call   0x4072f8
41c3c4:	b2 01                	mov    $0x1,%dl
41c3c6:	a1 24 94 41 00       	mov    0x419424,%eax
41c3cb:	e8 78 76 fe ff       	call   0x403a48
41c3d0:	89 46 04             	mov    %eax,0x4(%esi)
41c3d3:	c6 46 20 00          	movb   $0x0,0x20(%esi)
41c3d7:	8b c6                	mov    %esi,%eax
41c3d9:	84 db                	test   %bl,%bl
41c3db:	74 0f                	je     0x41c3ec
41c3dd:	e8 52 7a fe ff       	call   0x403e34
41c3e2:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41c3e9:	83 c4 0c             	add    $0xc,%esp
41c3ec:	8b c6                	mov    %esi,%eax
41c3ee:	5e                   	pop    %esi
41c3ef:	5b                   	pop    %ebx
41c3f0:	c3                   	ret
41c3f1:	8d 40 00             	lea    0x0(%eax),%eax
41c3f4:	55                   	push   %ebp
41c3f5:	8b ec                	mov    %esp,%ebp
41c3f7:	83 c4 f8             	add    $0xfffffff8,%esp
41c3fa:	e8 45 7a fe ff       	call   0x403e44
41c3ff:	88 55 fb             	mov    %dl,-0x5(%ebp)
41c402:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c405:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c408:	e8 eb 00 00 00       	call   0x41c4f8
41c40d:	33 c0                	xor    %eax,%eax
41c40f:	55                   	push   %ebp
41c410:	68 56 c4 41 00       	push   $0x41c456
41c415:	64 ff 30             	push   %fs:(%eax)
41c418:	64 89 20             	mov    %esp,%fs:(%eax)