415189:	03 d0                	add    %eax,%edx
41518b:	8a e9                	mov    %cl,%ch
41518d:	88 0a                	mov    %cl,(%edx)
41518f:	8b 4f 04             	mov    0x4(%edi),%ecx
415192:	89 6f 08             	mov    %ebp,0x8(%edi)
415195:	c6 44 0d 00 00       	movb   $0x0,0x0(%ebp,%ecx,1)
41519a:	8b 7e 44             	mov    0x44(%esi),%edi
41519d:	8b 56 3c             	mov    0x3c(%esi),%edx
4151a0:	8d 5e 40             	lea    0x40(%esi),%ebx
4151a3:	8b cf                	mov    %edi,%ecx
4151a5:	89 13                	mov    %edx,(%ebx)
4151a7:	e8 c4 e2 ff ff       	call   0x413470
4151ac:	8b 47 04             	mov    0x4(%edi),%eax
4151af:	85 c0                	test   %eax,%eax
4151b1:	75 04                	jne    0x4151b7
4151b3:	33 ed                	xor    %ebp,%ebp
4151b5:	eb 05                	jmp    0x4151bc
4151b7:	8b 6f 08             	mov    0x8(%edi),%ebp
4151ba:	03 e8                	add    %eax,%ebp
4151bc:	8b 7e 44             	mov    0x44(%esi),%edi
4151bf:	8b cf                	mov    %edi,%ecx
4151c1:	e8 aa e2 ff ff       	call   0x413470
4151c6:	8d 54 24 14          	lea    0x14(%esp),%edx
4151ca:	8b 4e 38             	mov    0x38(%esi),%ecx
4151cd:	52                   	push   %edx
4151ce:	8d 54 24 16          	lea    0x16(%esp),%edx
4151d2:	52                   	push   %edx
4151d3:	8b 01                	mov    (%ecx),%eax
4151d5:	8d 54 24 18          	lea    0x18(%esp),%edx
4151d9:	52                   	push   %edx
4151da:	8d 54 24 24          	lea    0x24(%esp),%edx
4151de:	52                   	push   %edx
4151df:	8b 57 04             	mov    0x4(%edi),%edx
4151e2:	55                   	push   %ebp
4151e3:	52                   	push   %edx
4151e4:	53                   	push   %ebx
4151e5:	ff 50 10             	call   *0x10(%eax)
4151e8:	83 e8 00             	sub    $0x0,%eax
4151eb:	74 7b                	je     0x415268
4151ed:	48                   	dec    %eax
4151ee:	74 0e                	je     0x4151fe
4151f0:	83 e8 02             	sub    $0x2,%eax
4151f3:	75 2c                	jne    0x415221
4151f5:	8b 46 44             	mov    0x44(%esi),%eax
4151f8:	83 78 08 02          	cmpl   $0x2,0x8(%eax)
4151fc:	73 2f                	jae    0x41522d
4151fe:	8b 4e 50             	mov    0x50(%esi),%ecx
415201:	51                   	push   %ecx
415202:	e8 a9 2c 00 00       	call   0x417eb0
415207:	8b d8                	mov    %eax,%ebx
415209:	83 c4 04             	add    $0x4,%esp
41520c:	83 fb ff             	cmp    $0xffffffff,%ebx
41520f:	0f 85 44 ff ff ff    	jne    0x415159
415215:	66 0d ff ff          	or     $0xffff,%ax
415219:	5f                   	pop    %edi
41521a:	5e                   	pop    %esi
41521b:	5d                   	pop    %ebp
41521c:	5b                   	pop    %ebx
41521d:	83 c4 0c             	add    $0xc,%esp
415220:	c3                   	ret
415221:	66 0d ff ff          	or     $0xffff,%ax
415225:	5f                   	pop    %edi
415226:	5e                   	pop    %esi
415227:	5d                   	pop    %ebp
415228:	5b                   	pop    %ebx
415229:	83 c4 0c             	add    $0xc,%esp
41522c:	c3                   	ret
41522d:	8b 76 44             	mov    0x44(%esi),%esi
415230:	8b 46 04             	mov    0x4(%esi),%eax
415233:	85 c0                	test   %eax,%eax
415235:	74 18                	je     0x41524f
415237:	8a 40 ff             	mov    -0x1(%eax),%al
41523a:	84 c0                	test   %al,%al
41523c:	74 11                	je     0x41524f
41523e:	3c ff                	cmp    $0xff,%al
415240:	74 0d                	je     0x41524f
415242:	8b 56 08             	mov    0x8(%esi),%edx
415245:	6a 00                	push   $0x0
415247:	52                   	push   %edx
415248:	8b ce                	mov    %esi,%ecx
41524a:	e8 77 57 ff ff       	call   0x40a9c6
41524f:	8b 46 04             	mov    0x4(%esi),%eax
415252:	85 c0                	test   %eax,%eax
415254:	74 04                	je     0x41525a
415256:	c6 40 ff ff          	movb   $0xff,-0x1(%eax)
41525a:	8b 46 04             	mov    0x4(%esi),%eax
41525d:	66 8b 00             	mov    (%eax),%ax
415260:	5f                   	pop    %edi
415261:	5e                   	pop    %esi
415262:	5d                   	pop    %ebp
415263:	5b                   	pop    %ebx
415264:	83 c4 0c             	add    $0xc,%esp
415267:	c3                   	ret
415268:	8b 44 24 10          	mov    0x10(%esp),%eax
41526c:	5f                   	pop    %edi
41526d:	5e                   	pop    %esi
41526e:	5d                   	pop    %ebp
41526f:	5b                   	pop    %ebx
415270:	83 c4 0c             	add    $0xc,%esp
415273:	c3                   	ret
415274:	90                   	nop
415275:	90                   	nop
415276:	90                   	nop
415277:	90                   	nop
415278:	90                   	nop
415279:	90                   	nop
41527a:	90                   	nop
41527b:	90                   	nop
41527c:	90                   	nop
41527d:	90                   	nop
41527e:	90                   	nop
41527f:	90                   	nop
415280:	83 ec 0c             	sub    $0xc,%esp
415283:	8b 44 24 1c          	mov    0x1c(%esp),%eax
415287:	53                   	push   %ebx
415288:	55                   	push   %ebp
415289:	56                   	push   %esi
41528a:	8b 74 24 20          	mov    0x20(%esp),%esi
41528e:	57                   	push   %edi
41528f:	8b f9                	mov    %ecx,%edi
415291:	89 44 24 14          	mov    %eax,0x14(%esp)
415295:	8b 4c 24 30          	mov    0x30(%esp),%ecx
415299:	89 7c 24 10          	mov    %edi,0x10(%esp)
41529d:	8b 47 50             	mov    0x50(%edi),%eax
4152a0:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4152a4:	85 c0                	test   %eax,%eax
4152a6:	0f 84 28 01 00 00    	je     0x4153d4
4152ac:	8d 54 24 14          	lea    0x14(%esp),%edx
4152b0:	52                   	push   %edx
4152b1:	50                   	push   %eax
4152b2:	e8 19 2e 00 00       	call   0x4180d0
4152b7:	83 c4 08             	add    $0x8,%esp
4152ba:	85 c0                	test   %eax,%eax
4152bc:	0f 85 12 01 00 00    	jne    0x4153d4
4152c2:	85 f6                	test   %esi,%esi
4152c4:	74 17                	je     0x4152dd
4152c6:	8b 47 50             	mov    0x50(%edi),%eax
4152c9:	6a 01                	push   $0x1
4152cb:	56                   	push   %esi
4152cc:	50                   	push   %eax
4152cd:	e8 1e 2d 00 00       	call   0x417ff0
4152d2:	83 c4 0c             	add    $0xc,%esp
4152d5:	85 c0                	test   %eax,%eax
4152d7:	0f 85 f7 00 00 00    	jne    0x4153d4
4152dd:	8b 57 50             	mov    0x50(%edi),%edx
4152e0:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4152e4:	51                   	push   %ecx
4152e5:	52                   	push   %edx
4152e6:	e8 d5 2c 00 00       	call   0x417fc0
4152eb:	83 c4 08             	add    $0x8,%esp
4152ee:	85 c0                	test   %eax,%eax
4152f0:	0f 85 de 00 00 00    	jne    0x4153d4
4152f6:	8b 5f 44             	mov    0x44(%edi),%ebx
4152f9:	85 db                	test   %ebx,%ebx
4152fb:	0f 84 ab 00 00 00    	je     0x4153ac
415301:	8b 44 24 34          	mov    0x34(%esp),%eax
415305:	89 47 40             	mov    %eax,0x40(%edi)
415308:	8b 73 04             	mov    0x4(%ebx),%esi
41530b:	8b 2d 90 ca 42 00    	mov    0x42ca90,%ebp
415311:	85 f6                	test   %esi,%esi
415313:	74 55                	je     0x41536a
415315:	8a 46 ff             	mov    -0x1(%esi),%al
415318:	84 c0                	test   %al,%al
41531a:	74 4e                	je     0x41536a
41531c:	3c ff                	cmp    $0xff,%al
41531e:	74 4a                	je     0x41536a
415320:	6a 01                	push   $0x1
415322:	8b cb                	mov    %ebx,%ecx
415324:	e8 dc 57 ff ff       	call   0x40ab05
415329:	8b fe                	mov    %esi,%edi
41532b:	83 c9 ff             	or     $0xffffffff,%ecx
41532e:	33 c0                	xor    %eax,%eax
415330:	6a 01                	push   $0x1
415332:	f2 ae                	repnz scas %es:(%edi),%al
415334:	f7 d1                	not    %ecx
415336:	49                   	dec    %ecx
415337:	8b f9                	mov    %ecx,%edi
415339:	8b cb                	mov    %ebx,%ecx
41533b:	57                   	push   %edi
41533c:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
415340:	e8 81 56 ff ff       	call   0x40a9c6
415345:	84 c0                	test   %al,%al
415347:	74 1d                	je     0x415366
415349:	8b cf                	mov    %edi,%ecx
41534b:	8b 7b 04             	mov    0x4(%ebx),%edi
41534e:	8b d1                	mov    %ecx,%edx
415350:	c1 e9 02             	shr    $0x2,%ecx
415353:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
415355:	8b ca                	mov    %edx,%ecx
415357:	8b c2                	mov    %edx,%eax
415359:	83 e1 03             	and    $0x3,%ecx
41535c:	50                   	push   %eax
41535d:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
41535f:	8b cb                	mov    %ebx,%ecx
415361:	e8 8a e1 ff ff       	call   0x4134f0
415366:	8b 7c 24 10          	mov    0x10(%esp),%edi
41536a:	8b 43 08             	mov    0x8(%ebx),%eax
41536d:	3b c5                	cmp    %ebp,%eax
41536f:	73 02                	jae    0x415373
415371:	8b e8                	mov    %eax,%ebp
415373:	85 ed                	test   %ebp,%ebp
415375:	76 35                	jbe    0x4153ac
415377:	8b 4b 04             	mov    0x4(%ebx),%ecx
41537a:	2b c5                	sub    %ebp,%eax
41537c:	50                   	push   %eax
41537d:	8d 54 0d 00          	lea    0x0(%ebp,%ecx,1),%edx
415381:	52                   	push   %edx
415382:	51                   	push   %ecx
415383:	e8 18 7c ff ff       	call   0x40cfa0
415388:	8b 73 08             	mov    0x8(%ebx),%esi
41538b:	83 c4 0c             	add    $0xc,%esp
41538e:	2b f5                	sub    %ebp,%esi
415390:	8b cb                	mov    %ebx,%ecx
415392:	6a 00                	push   $0x0
415394:	56                   	push   %esi
415395:	e8 2c 56 ff ff       	call   0x40a9c6
41539a:	84 c0                	test   %al,%al
41539c:	74 0a                	je     0x4153a8
41539e:	8b 43 04             	mov    0x4(%ebx),%eax
4153a1:	89 73 08             	mov    %esi,0x8(%ebx)
4153a4:	c6 04 06 00          	movb   $0x0,(%esi,%eax,1)
4153a8:	8b 7c 24 10          	mov    0x10(%esp),%edi
4153ac:	8b 44 24 20          	mov    0x20(%esp),%eax
4153b0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4153b4:	8b 7f 40             	mov    0x40(%edi),%edi
4153b7:	8b 54 24 18          	mov    0x18(%esp),%edx
4153bb:	89 48 08             	mov    %ecx,0x8(%eax)
4153be:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4153c4:	89 50 0c             	mov    %edx,0xc(%eax)
4153c7:	89 78 10             	mov    %edi,0x10(%eax)
4153ca:	5f                   	pop    %edi
4153cb:	5e                   	pop    %esi
4153cc:	5d                   	pop    %ebp
4153cd:	5b                   	pop    %ebx
4153ce:	83 c4 0c             	add    $0xc,%esp
4153d1:	c2 20 00             	ret    $0x20
4153d4:	8b 74 24 20          	mov    0x20(%esp),%esi
4153d8:	6a ff                	push   $0xffffffff
4153da:	8b ce                	mov    %esi,%ecx
4153dc:	e8 af e6 ff ff       	call   0x413a90
4153e1:	8b c6                	mov    %esi,%eax
4153e3:	5f                   	pop    %edi
4153e4:	5e                   	pop    %esi
4153e5:	5d                   	pop    %ebp
4153e6:	5b                   	pop    %ebx
4153e7:	83 c4 0c             	add    $0xc,%esp
4153ea:	c2 20 00             	ret    $0x20
4153ed:	90                   	nop
4153ee:	90                   	nop
4153ef:	90                   	nop
4153f0:	56                   	push   %esi
4153f1:	8b f1                	mov    %ecx,%esi
4153f3:	8b 46 50             	mov    0x50(%esi),%eax
4153f6:	85 c0                	test   %eax,%eax
4153f8:	74 22                	je     0x41541c
4153fa:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4153fe:	8d 14 09             	lea    (%ecx,%ecx,1),%edx
415401:	8b 4c 24 08          	mov    0x8(%esp),%ecx
415405:	52                   	push   %edx
415406:	6a 00                	push   $0x0
415408:	51                   	push   %ecx
415409:	50                   	push   %eax
41540a:	e8 e1 2c 00 00       	call   0x4180f0
41540f:	83 c4 10             	add    $0x10,%esp
415412:	85 c0                	test   %eax,%eax
415414:	75 06                	jne    0x41541c
415416:	8b c6                	mov    %esi,%eax
415418:	5e                   	pop    %esi
415419:	c2 08 00             	ret    $0x8
41541c:	33 c0                	xor    %eax,%eax
41541e:	5e                   	pop    %esi
41541f:	c2 08 00             	ret    $0x8
415422:	90                   	nop
415423:	90                   	nop
415424:	90                   	nop
415425:	90                   	nop
415426:	90                   	nop
415427:	90                   	nop
415428:	90                   	nop
415429:	90                   	nop
41542a:	90                   	nop
41542b:	90                   	nop
41542c:	90                   	nop
41542d:	90                   	nop
41542e:	90                   	nop
41542f:	90                   	nop
415430:	68 40 54 41 00       	push   $0x415440
415435:	e8 a6 68 ff ff       	call   0x40bce0
41543a:	83 c4 04             	add    $0x4,%esp
41543d:	c3                   	ret
41543e:	90                   	nop
41543f:	90                   	nop
415440:	b9 e0 77 43 00       	mov    $0x4377e0,%ecx
415445:	e9 06 00 00 00       	jmp    0x415450
41544a:	90                   	nop
41544b:	90                   	nop
41544c:	90                   	nop
41544d:	90                   	nop
41544e:	90                   	nop
41544f:	90                   	nop
415450:	6a ff                	push   $0xffffffff
415452:	68 c3 7e 42 00       	push   $0x427ec3
415457:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41545d:	50                   	push   %eax
41545e:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
415465:	83 ec 08             	sub    $0x8,%esp
415468:	53                   	push   %ebx
415469:	55                   	push   %ebp
41546a:	56                   	push   %esi
41546b:	57                   	push   %edi
41546c:	8b f9                	mov    %ecx,%edi
41546e:	89 7c 24 14          	mov    %edi,0x14(%esp)
415472:	c7 07 04 cb 42 00    	movl   $0x42cb04,(%edi)
415478:	8a 47 48             	mov    0x48(%edi),%al
41547b:	33 db                	xor    %ebx,%ebx
41547d:	3a c3                	cmp    %bl,%al
41547f:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%esp)
415486:	00
415487:	74 35                	je     0x4154be
415489:	8b 47 50             	mov    0x50(%edi),%eax
41548c:	3b c3                	cmp    %ebx,%eax
41548e:	74 2e                	je     0x4154be
415490:	50                   	push   %eax
415491:	e8 5a d9 ff ff       	call   0x412df0
415496:	83 c4 04             	add    $0x4,%esp
415499:	85 c0                	test   %eax,%eax
41549b:	75 21                	jne    0x4154be
41549d:	8b cf                	mov    %edi,%ecx
41549f:	88 5f 48             	mov    %bl,0x48(%edi)
4154a2:	e8 99 e8 ff ff       	call   0x413d40
4154a7:	89 5f 50             	mov    %ebx,0x50(%edi)
4154aa:	a1 c0 8a 43 00       	mov    0x438ac0,%eax
4154af:	89 47 40             	mov    %eax,0x40(%edi)
4154b2:	8b 0d c0 8a 43 00    	mov    0x438ac0,%ecx
4154b8:	89 4f 3c             	mov    %ecx,0x3c(%edi)
4154bb:	89 5f 38             	mov    %ebx,0x38(%edi)
4154be:	8b 77 44             	mov    0x44(%edi),%esi
4154c1:	3b f3                	cmp    %ebx,%esi
4154c3:	74 36                	je     0x4154fb
4154c5:	8b 46 04             	mov    0x4(%esi),%eax
4154c8:	3b c3                	cmp    %ebx,%eax
4154ca:	74 1d                	je     0x4154e9
4154cc:	8d 48 ff             	lea    -0x1(%eax),%ecx
4154cf:	8a 40 ff             	mov    -0x1(%eax),%al
4154d2:	3a c3                	cmp    %bl,%al
4154d4:	74 0a                	je     0x4154e0
4154d6:	3c ff                	cmp    $0xff,%al
4154d8:	74 06                	je     0x4154e0
4154da:	fe c8                	dec    %al
4154dc:	88 01                	mov    %al,(%ecx)