4111ea:	85 f6                	test   %esi,%esi
4111ec:	75 14                	jne    0x411202
4111ee:	68 03 40 00 80       	push   $0x80004003
4111f3:	68 08 46 40 00       	push   $0x404608
4111f8:	68 c8 02 00 00       	push   $0x2c8
4111fd:	e9 e3 01 00 00       	jmp    0x4113e5
411202:	85 db                	test   %ebx,%ebx
411204:	75 14                	jne    0x41121a
411206:	68 03 40 00 80       	push   $0x80004003
41120b:	68 08 46 40 00       	push   $0x404608
411210:	68 c9 02 00 00       	push   $0x2c9
411215:	e9 cb 01 00 00       	jmp    0x4113e5
41121a:	39 55 08             	cmp    %edx,0x8(%ebp)
41121d:	75 14                	jne    0x411233
41121f:	68 03 40 00 80       	push   $0x80004003
411224:	68 08 46 40 00       	push   $0x404608
411229:	68 ca 02 00 00       	push   $0x2ca
41122e:	e9 b2 01 00 00       	jmp    0x4113e5
411233:	0f b7 06             	movzwl (%esi),%eax
411236:	8b c8                	mov    %eax,%ecx
411238:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41123b:	66 85 c0             	test   %ax,%ax
41123e:	0f 84 92 01 00 00    	je     0x4113d6
411244:	66 39 13             	cmp    %dx,(%ebx)
411247:	0f 84 89 01 00 00    	je     0x4113d6
41124d:	8b ce                	mov    %esi,%ecx
41124f:	8d 79 02             	lea    0x2(%ecx),%edi
411252:	66 8b 01             	mov    (%ecx),%ax
411255:	83 c1 02             	add    $0x2,%ecx
411258:	66 3b c2             	cmp    %dx,%ax
41125b:	75 f5                	jne    0x411252
41125d:	2b cf                	sub    %edi,%ecx
41125f:	8b fe                	mov    %esi,%edi
411261:	d1 f9                	sar    $1,%ecx
411263:	8d 04 4e             	lea    (%esi,%ecx,2),%eax
411266:	89 45 ec             	mov    %eax,-0x14(%ebp)
411269:	8d 4b 02             	lea    0x2(%ebx),%ecx
41126c:	66 8b 03             	mov    (%ebx),%ax
41126f:	83 c3 02             	add    $0x2,%ebx
411272:	66 3b c2             	cmp    %dx,%ax
411275:	75 f5                	jne    0x41126c
411277:	8b 45 f8             	mov    -0x8(%ebp),%eax
41127a:	2b d9                	sub    %ecx,%ebx
41127c:	d1 fb                	sar    $1,%ebx
41127e:	89 5d f4             	mov    %ebx,-0xc(%ebp)
411281:	0f b7 c0             	movzwl %ax,%eax
411284:	c7 45 f8 3d 00 00 00 	movl   $0x3d,-0x8(%ebp)
41128b:	6a 3b                	push   $0x3b
41128d:	59                   	pop    %ecx
41128e:	0f b7 c0             	movzwl %ax,%eax
411291:	66 3b c1             	cmp    %cx,%ax
411294:	74 2f                	je     0x4112c5
411296:	8b c8                	mov    %eax,%ecx
411298:	66 85 c9             	test   %cx,%cx
41129b:	74 1c                	je     0x4112b9
41129d:	51                   	push   %ecx
41129e:	ff 15 90 62 41 00    	call   *0x416290
4112a4:	59                   	pop    %ecx
4112a5:	85 c0                	test   %eax,%eax
4112a7:	74 10                	je     0x4112b9
4112a9:	83 c6 02             	add    $0x2,%esi
4112ac:	6a 3b                	push   $0x3b
4112ae:	5a                   	pop    %edx
4112af:	0f b7 06             	movzwl (%esi),%eax
4112b2:	8b c8                	mov    %eax,%ecx
4112b4:	66 3b c2             	cmp    %dx,%ax
4112b7:	75 df                	jne    0x411298
4112b9:	6a 3b                	push   $0x3b
4112bb:	58                   	pop    %eax
4112bc:	66 39 06             	cmp    %ax,(%esi)
4112bf:	0f 85 2b 01 00 00    	jne    0x4113f0
4112c5:	33 c0                	xor    %eax,%eax
4112c7:	57                   	push   %edi
4112c8:	66 89 06             	mov    %ax,(%esi)
4112cb:	ff 15 8c 62 41 00    	call   *0x41628c
4112d1:	59                   	pop    %ecx
4112d2:	8b f8                	mov    %eax,%edi
4112d4:	6a 3b                	push   $0x3b
4112d6:	58                   	pop    %eax
4112d7:	66 89 06             	mov    %ax,(%esi)
4112da:	3b fb                	cmp    %ebx,%edi
4112dc:	0f 86 e3 00 00 00    	jbe    0x4113c5
4112e2:	83 c6 02             	add    $0x2,%esi
4112e5:	8b d6                	mov    %esi,%edx
4112e7:	89 55 fc             	mov    %edx,-0x4(%ebp)
4112ea:	0f b7 06             	movzwl (%esi),%eax
4112ed:	8b c8                	mov    %eax,%ecx
4112ef:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
4112f3:	74 2c                	je     0x411321
4112f5:	8b d0                	mov    %eax,%edx
4112f7:	8b de                	mov    %esi,%ebx
4112f9:	0f b7 ca             	movzwl %dx,%ecx
4112fc:	66 85 d2             	test   %dx,%dx
4112ff:	74 1a                	je     0x41131b
411301:	8d 04 7b             	lea    (%ebx,%edi,2),%eax
411304:	0f b7 ca             	movzwl %dx,%ecx
411307:	3b f0                	cmp    %eax,%esi
411309:	73 10                	jae    0x41131b
41130b:	83 c6 02             	add    $0x2,%esi
41130e:	0f b7 06             	movzwl (%esi),%eax
411311:	8b d0                	mov    %eax,%edx
411313:	8b c8                	mov    %eax,%ecx
411315:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
411319:	75 de                	jne    0x4112f9
41131b:	8b 5d f4             	mov    -0xc(%ebp),%ebx
41131e:	8b 55 fc             	mov    -0x4(%ebp),%edx
411321:	6a 3d                	push   $0x3d
411323:	58                   	pop    %eax
411324:	66 3b c8             	cmp    %ax,%cx
411327:	0f 85 c3 00 00 00    	jne    0x4113f0
41132d:	53                   	push   %ebx
41132e:	ff 75 f0             	push   -0x10(%ebp)
411331:	52                   	push   %edx
411332:	ff 15 88 62 41 00    	call   *0x416288
411338:	83 c4 0c             	add    $0xc,%esp
41133b:	85 c0                	test   %eax,%eax
41133d:	74 19                	je     0x411358
41133f:	8b 45 fc             	mov    -0x4(%ebp),%eax
411342:	8d 3c 78             	lea    (%eax,%edi,2),%edi
411345:	8b f7                	mov    %edi,%esi
411347:	3b 7d ec             	cmp    -0x14(%ebp),%edi
41134a:	0f 87 a0 00 00 00    	ja     0x4113f0
411350:	0f b7 07             	movzwl (%edi),%eax
411353:	e9 33 ff ff ff       	jmp    0x41128b
411358:	8d 43 01             	lea    0x1(%ebx),%eax
41135b:	3b f8                	cmp    %eax,%edi
41135d:	0f 84 8d 00 00 00    	je     0x4113f0
411363:	2b fb                	sub    %ebx,%edi
411365:	8d 1c 3f             	lea    (%edi,%edi,1),%ebx
411368:	53                   	push   %ebx
411369:	6a 08                	push   $0x8
41136b:	ff 15 e0 60 41 00    	call   *0x4160e0
411371:	50                   	push   %eax
411372:	ff 15 dc 60 41 00    	call   *0x4160dc
411378:	8b c8                	mov    %eax,%ecx
41137a:	8b 45 08             	mov    0x8(%ebp),%eax
41137d:	89 08                	mov    %ecx,(%eax)
41137f:	85 c9                	test   %ecx,%ecx
411381:	75 11                	jne    0x411394
411383:	68 0e 00 07 80       	push   $0x8007000e
411388:	68 08 46 40 00       	push   $0x404608
41138d:	68 0a 03 00 00       	push   $0x30a
411392:	eb 51                	jmp    0x4113e5
411394:	8d 47 ff             	lea    -0x1(%edi),%eax
411397:	8b d7                	mov    %edi,%edx
411399:	50                   	push   %eax
41139a:	8d 46 02             	lea    0x2(%esi),%eax
41139d:	50                   	push   %eax
41139e:	e8 56 00 00 00       	call   0x4113f9
4113a3:	85 c0                	test   %eax,%eax
4113a5:	79 0d                	jns    0x4113b4
4113a7:	50                   	push   %eax
4113a8:	68 08 46 40 00       	push   $0x404608
4113ad:	68 0f 03 00 00       	push   $0x30f
4113b2:	eb 31                	jmp    0x4113e5
4113b4:	8b 45 08             	mov    0x8(%ebp),%eax
4113b7:	33 c9                	xor    %ecx,%ecx
4113b9:	8b 00                	mov    (%eax),%eax
4113bb:	66 89 4c 03 fe       	mov    %cx,-0x2(%ebx,%eax,1)
4113c0:	33 c0                	xor    %eax,%eax
4113c2:	40                   	inc    %eax
4113c3:	eb 2d                	jmp    0x4113f2
4113c5:	68 57 00 07 80       	push   $0x80070057
4113ca:	68 08 46 40 00       	push   $0x404608
4113cf:	68 ef 02 00 00       	push   $0x2ef
4113d4:	eb 0f                	jmp    0x4113e5
4113d6:	68 57 00 07 80       	push   $0x80070057
4113db:	68 08 46 40 00       	push   $0x404608
4113e0:	68 cf 02 00 00       	push   $0x2cf
4113e5:	68 a8 45 40 00       	push   $0x4045a8
4113ea:	51                   	push   %ecx
4113eb:	e8 e2 fb ff ff       	call   0x410fd2
4113f0:	33 c0                	xor    %eax,%eax
4113f2:	5f                   	pop    %edi
4113f3:	5e                   	pop    %esi
4113f4:	5b                   	pop    %ebx
4113f5:	c9                   	leave
4113f6:	c2 04 00             	ret    $0x4
4113f9:	8b ff                	mov    %edi,%edi
4113fb:	55                   	push   %ebp
4113fc:	8b ec                	mov    %esp,%ebp
4113fe:	56                   	push   %esi
4113ff:	33 f6                	xor    %esi,%esi
411401:	b8 57 00 07 80       	mov    $0x80070057,%eax
411406:	57                   	push   %edi
411407:	85 d2                	test   %edx,%edx
411409:	74 08                	je     0x411413
41140b:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
411411:	76 02                	jbe    0x411415
411413:	8b f0                	mov    %eax,%esi
411415:	85 f6                	test   %esi,%esi
411417:	78 52                	js     0x41146b
411419:	8b 7d 0c             	mov    0xc(%ebp),%edi
41141c:	81 ff fe ff ff 7f    	cmp    $0x7ffffffe,%edi
411422:	76 04                	jbe    0x411428
411424:	8b f0                	mov    %eax,%esi
411426:	eb 47                	jmp    0x41146f
411428:	8b f2                	mov    %edx,%esi
41142a:	85 d2                	test   %edx,%edx
41142c:	74 26                	je     0x411454
41142e:	2b fa                	sub    %edx,%edi
411430:	8b 55 08             	mov    0x8(%ebp),%edx
411433:	2b d1                	sub    %ecx,%edx
411435:	8d 04 37             	lea    (%edi,%esi,1),%eax
411438:	85 c0                	test   %eax,%eax
41143a:	74 14                	je     0x411450
41143c:	0f b7 04 0a          	movzwl (%edx,%ecx,1),%eax
411440:	66 85 c0             	test   %ax,%ax
411443:	74 0b                	je     0x411450
411445:	66 89 01             	mov    %ax,(%ecx)
411448:	83 c1 02             	add    $0x2,%ecx
41144b:	83 ee 01             	sub    $0x1,%esi
41144e:	75 e5                	jne    0x411435
411450:	85 f6                	test   %esi,%esi
411452:	75 03                	jne    0x411457
411454:	83 e9 02             	sub    $0x2,%ecx
411457:	33 c0                	xor    %eax,%eax
411459:	f7 de                	neg    %esi
41145b:	1b f6                	sbb    %esi,%esi
41145d:	81 e6 86 ff f8 7f    	and    $0x7ff8ff86,%esi
411463:	81 c6 7a 00 07 80    	add    $0x8007007a,%esi
411469:	eb 06                	jmp    0x411471
41146b:	85 d2                	test   %edx,%edx
41146d:	74 05                	je     0x411474
41146f:	33 c0                	xor    %eax,%eax
411471:	66 89 01             	mov    %ax,(%ecx)
411474:	5f                   	pop    %edi
411475:	8b c6                	mov    %esi,%eax
411477:	5e                   	pop    %esi
411478:	5d                   	pop    %ebp
411479:	c2 08 00             	ret    $0x8
41147c:	8b ff                	mov    %edi,%edi
41147e:	55                   	push   %ebp
41147f:	8b ec                	mov    %esp,%ebp
411481:	ff 35 3c 46 40 00    	push   0x40463c
411487:	ff 75 0c             	push   0xc(%ebp)
41148a:	ff 35 74 61 41 00    	push   0x416174
411490:	ff 35 3c 46 40 00    	push   0x40463c
411496:	ff 75 08             	push   0x8(%ebp)
411499:	68 00 00 40 00       	push   $0x400000
41149e:	ff 15 28 61 41 00    	call   *0x416128
4114a4:	5d                   	pop    %ebp
4114a5:	c2 08 00             	ret    $0x8
4114a8:	8b ff                	mov    %edi,%edi
4114aa:	55                   	push   %ebp
4114ab:	8b ec                	mov    %esp,%ebp
4114ad:	eb 0d                	jmp    0x4114bc
4114af:	ff 75 08             	push   0x8(%ebp)
4114b2:	e8 46 10 00 00       	call   0x4124fd
4114b7:	59                   	pop    %ecx
4114b8:	85 c0                	test   %eax,%eax
4114ba:	74 10                	je     0x4114cc
4114bc:	ff 75 08             	push   0x8(%ebp)
4114bf:	ff 15 b8 62 41 00    	call   *0x4162b8
4114c5:	59                   	pop    %ecx
4114c6:	85 c0                	test   %eax,%eax
4114c8:	74 e5                	je     0x4114af
4114ca:	5d                   	pop    %ebp
4114cb:	c3                   	ret
4114cc:	e9 8b 03 00 00       	jmp    0x41185c
4114d1:	8b ff                	mov    %edi,%edi
4114d3:	55                   	push   %ebp
4114d4:	8b ec                	mov    %esp,%ebp
4114d6:	5d                   	pop    %ebp
4114d7:	e9 cc ff ff ff       	jmp    0x4114a8
4114dc:	8b ff                	mov    %edi,%edi
4114de:	55                   	push   %ebp
4114df:	8b ec                	mov    %esp,%ebp
4114e1:	33 c0                	xor    %eax,%eax
4114e3:	39 45 08             	cmp    %eax,0x8(%ebp)
4114e6:	74 11                	je     0x4114f9
4114e8:	ff 75 08             	push   0x8(%ebp)
4114eb:	e8 b8 ff ff ff       	call   0x4114a8
4114f0:	59                   	pop    %ecx
4114f1:	85 c0                	test   %eax,%eax
4114f3:	0f 84 63 03 00 00    	je     0x41185c
4114f9:	5d                   	pop    %ebp
4114fa:	c3                   	ret
4114fb:	8b ff                	mov    %edi,%edi
4114fd:	55                   	push   %ebp
4114fe:	8b ec                	mov    %esp,%ebp
411500:	56                   	push   %esi
411501:	ff 75 08             	push   0x8(%ebp)
411504:	8b f1                	mov    %ecx,%esi
411506:	83 66 10 00          	andl   $0x0,0x10(%esi)
41150a:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
411511:	c6 06 00             	movb   $0x0,(%esi)
411514:	e8 2f 06 00 00       	call   0x411b48
411519:	59                   	pop    %ecx
41151a:	50                   	push   %eax
41151b:	ff 75 08             	push   0x8(%ebp)
41151e:	8b ce                	mov    %esi,%ecx
411520:	e8 46 04 00 00       	call   0x41196b
411525:	8b c6                	mov    %esi,%eax
411527:	5e                   	pop    %esi
411528:	5d                   	pop    %ebp
411529:	c2 04 00             	ret    $0x4
41152c:	cc                   	int3
41152d:	cc                   	int3
41152e:	cc                   	int3
41152f:	cc                   	int3
411530:	8b ff                	mov    %edi,%edi
411532:	55                   	push   %ebp
411533:	8b ec                	mov    %esp,%ebp
411535:	51                   	push   %ecx
411536:	56                   	push   %esi
411537:	ff 75 08             	push   0x8(%ebp)
41153a:	8b f1                	mov    %ecx,%esi
41153c:	89 75 fc             	mov    %esi,-0x4(%ebp)
41153f:	e8 cc 0f 00 00       	call   0x412510
411544:	c7 06 00 10 40 00    	movl   $0x401000,(%esi)
41154a:	8b c6                	mov    %esi,%eax
41154c:	5e                   	pop    %esi
41154d:	c9                   	leave
41154e:	c2 04 00             	ret    $0x4
411551:	8b ff                	mov    %edi,%edi
411553:	55                   	push   %ebp
411554:	8b ec                	mov    %esp,%ebp
411556:	51                   	push   %ecx
411557:	56                   	push   %esi
411558:	6a 01                	push   $0x1
41155a:	8d 45 fc             	lea    -0x4(%ebp),%eax
41155d:	c7 45 fc f4 1d 40 00 	movl   $0x401df4,-0x4(%ebp)
411564:	50                   	push   %eax
411565:	8b f1                	mov    %ecx,%esi
411567:	e8 9d 0f 00 00       	call   0x412509
41156c:	c7 06 00 10 40 00    	movl   $0x401000,(%esi)
411572:	8b c6                	mov    %esi,%eax
411574:	5e                   	pop    %esi
411575:	c9                   	leave
411576:	c3                   	ret
411577:	cc                   	int3
411578:	cc                   	int3
411579:	cc                   	int3
41157a:	cc                   	int3
41157b:	cc                   	int3
41157c:	cc                   	int3
41157d:	cc                   	int3
41157e:	cc                   	int3
41157f:	cc                   	int3
411580:	8b ff                	mov    %edi,%edi
411582:	55                   	push   %ebp
411583:	8b ec                	mov    %esp,%ebp
411585:	51                   	push   %ecx
411586:	56                   	push   %esi
411587:	ff 75 08             	push   0x8(%ebp)
41158a:	8b f1                	mov    %ecx,%esi
41158c:	89 75 fc             	mov    %esi,-0x4(%ebp)
41158f:	e8 7c 0f 00 00       	call   0x412510
411594:	c7 06 08 10 40 00    	movl   $0x401008,(%esi)