414133:	8b ec                	mov    %esp,%ebp
414135:	53                   	push   %ebx
414136:	56                   	push   %esi
414137:	8b f2                	mov    %edx,%esi
414139:	33 db                	xor    %ebx,%ebx
41413b:	57                   	push   %edi
41413c:	85 f6                	test   %esi,%esi
41413e:	74 29                	je     0x414169
414140:	8b 7d 0c             	mov    0xc(%ebp),%edi
414143:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
414148:	2b f9                	sub    %ecx,%edi
41414a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
414150:	85 c0                	test   %eax,%eax
414152:	74 1f                	je     0x414173
414154:	0f b7 14 0f          	movzwl (%edi,%ecx,1),%edx
414158:	66 85 d2             	test   %dx,%dx
41415b:	74 16                	je     0x414173
41415d:	66 89 11             	mov    %dx,(%ecx)
414160:	48                   	dec    %eax
414161:	83 c1 02             	add    $0x2,%ecx
414164:	83 ee 01             	sub    $0x1,%esi
414167:	75 e7                	jne    0x414150
414169:	83 e9 02             	sub    $0x2,%ecx
41416c:	bb 7a 00 07 80       	mov    $0x8007007a,%ebx
414171:	eb 04                	jmp    0x414177
414173:	85 f6                	test   %esi,%esi
414175:	74 f2                	je     0x414169
414177:	33 c0                	xor    %eax,%eax
414179:	5f                   	pop    %edi
41417a:	66 89 01             	mov    %ax,(%ecx)
41417d:	8b c3                	mov    %ebx,%eax
41417f:	5e                   	pop    %esi
414180:	5b                   	pop    %ebx
414181:	5d                   	pop    %ebp
414182:	c2 0c 00             	ret    $0xc
414185:	8b ff                	mov    %edi,%edi
414187:	55                   	push   %ebp
414188:	8b ec                	mov    %esp,%ebp
41418a:	0f b6 41 0f          	movzbl 0xf(%ecx),%eax
41418e:	56                   	push   %esi
41418f:	57                   	push   %edi
414190:	50                   	push   %eax
414191:	0f b6 41 0e          	movzbl 0xe(%ecx),%eax
414195:	8b fa                	mov    %edx,%edi
414197:	50                   	push   %eax
414198:	0f b6 41 0d          	movzbl 0xd(%ecx),%eax
41419c:	50                   	push   %eax
41419d:	0f b6 41 0c          	movzbl 0xc(%ecx),%eax
4141a1:	50                   	push   %eax
4141a2:	0f b6 41 0b          	movzbl 0xb(%ecx),%eax
4141a6:	50                   	push   %eax
4141a7:	0f b6 41 0a          	movzbl 0xa(%ecx),%eax
4141ab:	8b 75 08             	mov    0x8(%ebp),%esi
4141ae:	50                   	push   %eax
4141af:	0f b6 41 09          	movzbl 0x9(%ecx),%eax
4141b3:	50                   	push   %eax
4141b4:	0f b6 41 08          	movzbl 0x8(%ecx),%eax
4141b8:	50                   	push   %eax
4141b9:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
4141bd:	50                   	push   %eax
4141be:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
4141c2:	50                   	push   %eax
4141c3:	ff 31                	push   (%ecx)
4141c5:	8d 46 25             	lea    0x25(%esi),%eax
4141c8:	8b cf                	mov    %edi,%ecx
4141ca:	68 f8 3f 40 00       	push   $0x403ff8
4141cf:	6a 25                	push   $0x25
4141d1:	50                   	push   %eax
4141d2:	e8 b1 00 00 00       	call   0x414288
4141d7:	8d 04 70             	lea    (%eax,%esi,2),%eax
4141da:	50                   	push   %eax
4141db:	e8 49 00 00 00       	call   0x414229
4141e0:	83 c4 34             	add    $0x34,%esp
4141e3:	8b cf                	mov    %edi,%ecx
4141e5:	e8 09 00 00 00       	call   0x4141f3
4141ea:	8b 47 04             	mov    0x4(%edi),%eax
4141ed:	5f                   	pop    %edi
4141ee:	5e                   	pop    %esi
4141ef:	5d                   	pop    %ebp
4141f0:	c2 04 00             	ret    $0x4
4141f3:	8b ff                	mov    %edi,%edi
4141f5:	55                   	push   %ebp
4141f6:	8b ec                	mov    %esp,%ebp
4141f8:	56                   	push   %esi
4141f9:	8b 71 04             	mov    0x4(%ecx),%esi
4141fc:	8b d6                	mov    %esi,%edx
4141fe:	57                   	push   %edi
4141ff:	8d 7a 02             	lea    0x2(%edx),%edi
414202:	66 8b 02             	mov    (%edx),%ax
414205:	83 c2 02             	add    $0x2,%edx
414208:	66 85 c0             	test   %ax,%ax
41420b:	75 f5                	jne    0x414202
41420d:	2b d7                	sub    %edi,%edx
41420f:	d1 fa                	sar    $1,%edx
414211:	3b 51 08             	cmp    0x8(%ecx),%edx
414214:	0f 83 52 de 00 00    	jae    0x42206c
41421a:	33 c0                	xor    %eax,%eax
41421c:	89 51 0c             	mov    %edx,0xc(%ecx)
41421f:	5f                   	pop    %edi
414220:	66 89 04 56          	mov    %ax,(%esi,%edx,2)
414224:	5e                   	pop    %esi
414225:	5d                   	pop    %ebp
414226:	c2 04 00             	ret    $0x4
414229:	8b ff                	mov    %edi,%edi
41422b:	55                   	push   %ebp
41422c:	8b ec                	mov    %esp,%ebp
41422e:	8b 45 0c             	mov    0xc(%ebp),%eax
414231:	56                   	push   %esi
414232:	33 f6                	xor    %esi,%esi
414234:	85 c0                	test   %eax,%eax
414236:	74 42                	je     0x41427a
414238:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41423d:	77 3b                	ja     0x41427a
41423f:	85 f6                	test   %esi,%esi
414241:	0f 88 3d de 00 00    	js     0x422084
414247:	53                   	push   %ebx
414248:	8b 5d 08             	mov    0x8(%ebp),%ebx
41424b:	33 f6                	xor    %esi,%esi
41424d:	57                   	push   %edi
41424e:	8d 78 ff             	lea    -0x1(%eax),%edi
414251:	8d 45 14             	lea    0x14(%ebp),%eax
414254:	50                   	push   %eax
414255:	ff 75 10             	push   0x10(%ebp)
414258:	57                   	push   %edi
414259:	53                   	push   %ebx
41425a:	ff 15 e8 a4 43 00    	call   *0x43a4e8
414260:	83 c4 10             	add    $0x10,%esp
414263:	85 c0                	test   %eax,%eax
414265:	78 1a                	js     0x414281
414267:	3b c7                	cmp    %edi,%eax
414269:	77 16                	ja     0x414281
41426b:	75 06                	jne    0x414273
41426d:	33 c0                	xor    %eax,%eax
41426f:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
414273:	5f                   	pop    %edi
414274:	5b                   	pop    %ebx
414275:	8b c6                	mov    %esi,%eax
414277:	5e                   	pop    %esi
414278:	5d                   	pop    %ebp
414279:	c3                   	ret
41427a:	be 57 00 07 80       	mov    $0x80070057,%esi
41427f:	eb be                	jmp    0x41423f
414281:	be 7a 00 07 80       	mov    $0x8007007a,%esi
414286:	eb e5                	jmp    0x41426d
414288:	8b ff                	mov    %edi,%edi
41428a:	55                   	push   %ebp
41428b:	8b ec                	mov    %esp,%ebp
41428d:	56                   	push   %esi
41428e:	8b f1                	mov    %ecx,%esi
414290:	8b 4d 08             	mov    0x8(%ebp),%ecx
414293:	3b 4e 08             	cmp    0x8(%esi),%ecx
414296:	77 08                	ja     0x4142a0
414298:	8b 46 04             	mov    0x4(%esi),%eax
41429b:	5e                   	pop    %esi
41429c:	5d                   	pop    %ebp
41429d:	c2 04 00             	ret    $0x4
4142a0:	8b 06                	mov    (%esi),%eax
4142a2:	57                   	push   %edi
4142a3:	51                   	push   %ecx
4142a4:	8b 38                	mov    (%eax),%edi
4142a6:	81 ff 10 51 41 00    	cmp    $0x415110,%edi
4142ac:	75 0a                	jne    0x4142b8
4142ae:	8b ce                	mov    %esi,%ecx
4142b0:	e8 5b 0e 00 00       	call   0x415110
4142b5:	5f                   	pop    %edi
4142b6:	eb e0                	jmp    0x414298
4142b8:	81 ff 50 49 41 00    	cmp    $0x414950,%edi
4142be:	0f 85 d5 dd 00 00    	jne    0x422099
4142c4:	8b ce                	mov    %esi,%ecx
4142c6:	e8 85 06 00 00       	call   0x414950
4142cb:	eb e8                	jmp    0x4142b5
4142cd:	8b ff                	mov    %edi,%edi
4142cf:	55                   	push   %ebp
4142d0:	8b ec                	mov    %esp,%ebp
4142d2:	51                   	push   %ecx
4142d3:	51                   	push   %ecx
4142d4:	57                   	push   %edi
4142d5:	8b f9                	mov    %ecx,%edi
4142d7:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
4142de:	8d 55 f8             	lea    -0x8(%ebp),%edx
4142e1:	8b 47 0c             	mov    0xc(%edi),%eax
4142e4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4142e7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4142ea:	50                   	push   %eax
4142eb:	8b c8                	mov    %eax,%ecx
4142ed:	e8 a8 fa ff ff       	call   0x413d9a
4142f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4142f5:	3b 47 08             	cmp    0x8(%edi),%eax
4142f8:	0f 87 ac dd 00 00    	ja     0x4220aa
4142fe:	8b 4f 0c             	mov    0xc(%edi),%ecx
414301:	8b 47 04             	mov    0x4(%edi),%eax
414304:	6a 7d                	push   $0x7d
414306:	5a                   	pop    %edx
414307:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
41430b:	ff 47 0c             	incl   0xc(%edi)
41430e:	33 d2                	xor    %edx,%edx
414310:	8b 4f 0c             	mov    0xc(%edi),%ecx
414313:	8b 47 04             	mov    0x4(%edi),%eax
414316:	5f                   	pop    %edi
414317:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
41431b:	c9                   	leave
41431c:	c2 04 00             	ret    $0x4
41431f:	8b ff                	mov    %edi,%edi
414321:	55                   	push   %ebp
414322:	8b ec                	mov    %esp,%ebp
414324:	83 ec 54             	sub    $0x54,%esp
414327:	a1 08 85 43 00       	mov    0x438508,%eax
41432c:	33 c5                	xor    %ebp,%eax
41432e:	89 45 fc             	mov    %eax,-0x4(%ebp)
414331:	53                   	push   %ebx
414332:	56                   	push   %esi
414333:	8b 45 08             	mov    0x8(%ebp),%eax
414336:	8b da                	mov    %edx,%ebx
414338:	57                   	push   %edi
414339:	33 d2                	xor    %edx,%edx
41433b:	89 4d bc             	mov    %ecx,-0x44(%ebp)
41433e:	6a 02                	push   $0x2
414340:	59                   	pop    %ecx
414341:	89 4d cc             	mov    %ecx,-0x34(%ebp)
414344:	8d 7d d8             	lea    -0x28(%ebp),%edi
414347:	89 4d d0             	mov    %ecx,-0x30(%ebp)
41434a:	be 78 40 40 00       	mov    $0x404078,%esi
41434f:	89 55 c8             	mov    %edx,-0x38(%ebp)
414352:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
414355:	89 55 d4             	mov    %edx,-0x2c(%ebp)
414358:	89 55 f0             	mov    %edx,-0x10(%ebp)
41435b:	89 55 f4             	mov    %edx,-0xc(%ebp)
41435e:	89 55 f8             	mov    %edx,-0x8(%ebp)
414361:	a5                   	movsl  %ds:(%esi),%es:(%edi)
414362:	51                   	push   %ecx
414363:	b9 00 04 00 00       	mov    $0x400,%ecx
414368:	89 45 c0             	mov    %eax,-0x40(%ebp)
41436b:	51                   	push   %ecx
41436c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41436d:	51                   	push   %ecx
41436e:	8b c8                	mov    %eax,%ecx
414370:	89 55 c4             	mov    %edx,-0x3c(%ebp)
414373:	a5                   	movsl  %ds:(%esi),%es:(%edi)
414374:	a5                   	movsl  %ds:(%esi),%es:(%edi)
414375:	8b 33                	mov    (%ebx),%esi
414377:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
41437e:	c7 45 ec 05 00 00 00 	movl   $0x5,-0x14(%ebp)
414385:	e8 fe fe ff ff       	call   0x414288
41438a:	8b 4e 10             	mov    0x10(%esi),%ecx
41438d:	50                   	push   %eax
41438e:	53                   	push   %ebx
41438f:	ff 15 20 a5 43 00    	call   *0x43a520
414395:	ff 56 10             	call   *0x10(%esi)
414398:	85 c0                	test   %eax,%eax
41439a:	78 3c                	js     0x4143d8
41439c:	ff 75 c4             	push   -0x3c(%ebp)
41439f:	8b 4d c0             	mov    -0x40(%ebp),%ecx
4143a2:	e8 5d fd ff ff       	call   0x414104
4143a7:	8b 4d c0             	mov    -0x40(%ebp),%ecx
4143aa:	6a 1f                	push   $0x1f
4143ac:	58                   	pop    %eax
4143ad:	6a 00                	push   $0x0
4143af:	66 89 45 ac          	mov    %ax,-0x54(%ebp)
4143b3:	e8 d0 fe ff ff       	call   0x414288
4143b8:	8b 75 bc             	mov    -0x44(%ebp),%esi
4143bb:	8b ce                	mov    %esi,%ecx
4143bd:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4143c0:	8d 45 c8             	lea    -0x38(%ebp),%eax
4143c3:	50                   	push   %eax
4143c4:	e8 07 e7 ff ff       	call   0x412ad0
4143c9:	85 c0                	test   %eax,%eax
4143cb:	78 0b                	js     0x4143d8
4143cd:	8d 45 ac             	lea    -0x54(%ebp),%eax
4143d0:	8b ce                	mov    %esi,%ecx
4143d2:	50                   	push   %eax
4143d3:	e8 a8 b4 ff ff       	call   0x40f880
4143d8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4143db:	5f                   	pop    %edi
4143dc:	5e                   	pop    %esi
4143dd:	33 cd                	xor    %ebp,%ecx
4143df:	5b                   	pop    %ebx
4143e0:	e8 db 63 00 00       	call   0x41a7c0
4143e5:	c9                   	leave
4143e6:	c2 04 00             	ret    $0x4
4143e9:	8b ff                	mov    %edi,%edi
4143eb:	56                   	push   %esi
4143ec:	33 c0                	xor    %eax,%eax
4143ee:	57                   	push   %edi
4143ef:	8b f9                	mov    %ecx,%edi
4143f1:	68 6c 40 40 00       	push   $0x40406c
4143f6:	89 47 10             	mov    %eax,0x10(%edi)
4143f9:	8d 77 18             	lea    0x18(%edi),%esi
4143fc:	89 47 0c             	mov    %eax,0xc(%edi)
4143ff:	89 07                	mov    %eax,(%edi)
414401:	89 47 04             	mov    %eax,0x4(%edi)
414404:	a3 18 86 43 00       	mov    %eax,0x438618
414409:	a3 1c 86 43 00       	mov    %eax,0x43861c
41440e:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%edi)
414415:	89 47 14             	mov    %eax,0x14(%edi)
414418:	89 06                	mov    %eax,(%esi)
41441a:	ff 15 5c a1 43 00    	call   *0x43a15c
414420:	85 c0                	test   %eax,%eax
414422:	74 28                	je     0x41444c
414424:	68 5c 40 40 00       	push   $0x40405c
414429:	50                   	push   %eax
41442a:	ff 15 54 a1 43 00    	call   *0x43a154
414430:	89 47 14             	mov    %eax,0x14(%edi)
414433:	85 c0                	test   %eax,%eax
414435:	74 15                	je     0x41444c
414437:	56                   	push   %esi
414438:	ff 15 e8 a1 43 00    	call   *0x43a1e8
41443e:	8b 77 14             	mov    0x14(%edi),%esi
414441:	8b ce                	mov    %esi,%ecx
414443:	50                   	push   %eax
414444:	ff 15 20 a5 43 00    	call   *0x43a520
41444a:	ff d6                	call   *%esi
41444c:	8b c7                	mov    %edi,%eax
41444e:	5f                   	pop    %edi
41444f:	5e                   	pop    %esi
414450:	c2 04 00             	ret    $0x4
414453:	cc                   	int3
414454:	cc                   	int3
414455:	cc                   	int3
414456:	cc                   	int3
414457:	cc                   	int3
414458:	cc                   	int3
414459:	cc                   	int3
41445a:	cc                   	int3
41445b:	cc                   	int3
41445c:	cc                   	int3
41445d:	cc                   	int3
41445e:	cc                   	int3
41445f:	cc                   	int3
414460:	6a 0c                	push   $0xc
414462:	b8 9a e9 41 00       	mov    $0x41e99a,%eax
414467:	e8 0b 6a 00 00       	call   0x41ae77
41446c:	8b f9                	mov    %ecx,%edi
41446e:	33 db                	xor    %ebx,%ebx
414470:	53                   	push   %ebx
414471:	ff 15 ac a0 43 00    	call   *0x43a0ac
414477:	39 9f 9c 00 00 00    	cmp    %ebx,0x9c(%edi)
41447d:	74 52                	je     0x4144d1
41447f:	8b 75 0c             	mov    0xc(%ebp),%esi
414482:	8b 46 08             	mov    0x8(%esi),%eax
414485:	89 45 ec             	mov    %eax,-0x14(%ebp)
414488:	53                   	push   %ebx
414489:	53                   	push   %ebx
41448a:	53                   	push   %ebx
41448b:	53                   	push   %ebx
41448c:	8d 45 ec             	lea    -0x14(%ebp),%eax
41448f:	50                   	push   %eax
414490:	ff 76 04             	push   0x4(%esi)
414493:	ff 75 08             	push   0x8(%ebp)
414496:	ff b7 9c 00 00 00    	push   0x9c(%edi)
41449c:	ff 15 2c a2 43 00    	call   *0x43a22c