41400d:	33 c0                	xor    %eax,%eax
41400f:	64 8b 0d 00 00 00 00 	mov    %fs:0x0,%ecx
414016:	81 79 04 44 3f 41 00 	cmpl   $0x413f44,0x4(%ecx)
41401d:	75 10                	jne    0x41402f
41401f:	8b 51 0c             	mov    0xc(%ecx),%edx
414022:	8b 52 0c             	mov    0xc(%edx),%edx
414025:	39 51 08             	cmp    %edx,0x8(%ecx)
414028:	75 05                	jne    0x41402f
41402a:	b8 01 00 00 00       	mov    $0x1,%eax
41402f:	c3                   	ret
414030:	53                   	push   %ebx
414031:	51                   	push   %ecx
414032:	bb 58 d3 41 00       	mov    $0x41d358,%ebx
414037:	eb 0b                	jmp    0x414044
414039:	53                   	push   %ebx
41403a:	51                   	push   %ecx
41403b:	bb 58 d3 41 00       	mov    $0x41d358,%ebx
414040:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
414044:	89 4b 08             	mov    %ecx,0x8(%ebx)
414047:	89 43 04             	mov    %eax,0x4(%ebx)
41404a:	89 6b 0c             	mov    %ebp,0xc(%ebx)
41404d:	55                   	push   %ebp
41404e:	51                   	push   %ecx
41404f:	50                   	push   %eax
414050:	58                   	pop    %eax
414051:	59                   	pop    %ecx
414052:	5d                   	pop    %ebp
414053:	59                   	pop    %ecx
414054:	5b                   	pop    %ebx
414055:	c2 04 00             	ret    $0x4
414058:	ff d0                	call   *%eax
41405a:	c3                   	ret
41405b:	8b 44 24 04          	mov    0x4(%esp),%eax
41405f:	a3 cc e3 41 00       	mov    %eax,0x41e3cc
414064:	c3                   	ret
414065:	ff 74 24 04          	push   0x4(%esp)
414069:	ff 15 80 70 41 00    	call   *0x417080
41406f:	33 c0                	xor    %eax,%eax
414071:	40                   	inc    %eax
414072:	c2 08 00             	ret    $0x8
414075:	6a 14                	push   $0x14
414077:	68 d8 ae 41 00       	push   $0x41aed8
41407c:	e8 c7 95 ff ff       	call   0x40d648
414081:	33 ff                	xor    %edi,%edi
414083:	89 7d e4             	mov    %edi,-0x1c(%ebp)
414086:	ff 35 cc e3 41 00    	push   0x41e3cc
41408c:	e8 b1 82 ff ff       	call   0x40c342
414091:	59                   	pop    %ecx
414092:	8b f0                	mov    %eax,%esi
414094:	3b f7                	cmp    %edi,%esi
414096:	75 53                	jne    0x4140eb
414098:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41409b:	50                   	push   %eax
41409c:	e8 4e 98 ff ff       	call   0x40d8ef
4140a1:	59                   	pop    %ecx
4140a2:	3b c7                	cmp    %edi,%eax
4140a4:	74 0d                	je     0x4140b3
4140a6:	57                   	push   %edi
4140a7:	57                   	push   %edi
4140a8:	57                   	push   %edi
4140a9:	57                   	push   %edi
4140aa:	57                   	push   %edi
4140ab:	e8 a4 34 ff ff       	call   0x407554
4140b0:	83 c4 14             	add    $0x14,%esp
4140b3:	83 7d e4 01          	cmpl   $0x1,-0x1c(%ebp)
4140b7:	74 21                	je     0x4140da
4140b9:	68 24 97 41 00       	push   $0x419724
4140be:	ff 15 44 70 41 00    	call   *0x417044
4140c4:	3b c7                	cmp    %edi,%eax
4140c6:	74 12                	je     0x4140da
4140c8:	68 fc 96 41 00       	push   $0x4196fc
4140cd:	50                   	push   %eax
4140ce:	ff 15 ec 70 41 00    	call   *0x4170ec
4140d4:	8b f0                	mov    %eax,%esi
4140d6:	3b f7                	cmp    %edi,%esi
4140d8:	75 05                	jne    0x4140df
4140da:	be 65 40 41 00       	mov    $0x414065,%esi
4140df:	56                   	push   %esi
4140e0:	e8 f1 81 ff ff       	call   0x40c2d6
4140e5:	59                   	pop    %ecx
4140e6:	a3 cc e3 41 00       	mov    %eax,0x41e3cc
4140eb:	89 7d fc             	mov    %edi,-0x4(%ebp)
4140ee:	ff 75 0c             	push   0xc(%ebp)
4140f1:	ff 75 08             	push   0x8(%ebp)
4140f4:	ff d6                	call   *%esi
4140f6:	89 45 e0             	mov    %eax,-0x20(%ebp)
4140f9:	eb 2f                	jmp    0x41412a
4140fb:	8b 45 ec             	mov    -0x14(%ebp),%eax
4140fe:	8b 00                	mov    (%eax),%eax
414100:	8b 00                	mov    (%eax),%eax
414102:	89 45 dc             	mov    %eax,-0x24(%ebp)
414105:	33 c9                	xor    %ecx,%ecx
414107:	3d 17 00 00 c0       	cmp    $0xc0000017,%eax
41410c:	0f 94 c1             	sete   %cl
41410f:	8b c1                	mov    %ecx,%eax
414111:	c3                   	ret
414112:	8b 65 e8             	mov    -0x18(%ebp),%esp
414115:	81 7d dc 17 00 00 c0 	cmpl   $0xc0000017,-0x24(%ebp)
41411c:	75 08                	jne    0x414126
41411e:	6a 08                	push   $0x8
414120:	ff 15 00 71 41 00    	call   *0x417100
414126:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
41412a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
414131:	8b 45 e0             	mov    -0x20(%ebp),%eax
414134:	e8 54 95 ff ff       	call   0x40d68d
414139:	c3                   	ret
41413a:	cc                   	int3
41413b:	cc                   	int3
41413c:	53                   	push   %ebx
41413d:	56                   	push   %esi
41413e:	57                   	push   %edi
41413f:	8b 54 24 10          	mov    0x10(%esp),%edx
414143:	8b 44 24 14          	mov    0x14(%esp),%eax
414147:	8b 4c 24 18          	mov    0x18(%esp),%ecx
41414b:	55                   	push   %ebp
41414c:	52                   	push   %edx
41414d:	50                   	push   %eax
41414e:	51                   	push   %ecx
41414f:	51                   	push   %ecx
414150:	68 cc 41 41 00       	push   $0x4141cc
414155:	64 ff 35 00 00 00 00 	push   %fs:0x0
41415c:	a1 20 c5 41 00       	mov    0x41c520,%eax
414161:	33 c4                	xor    %esp,%eax
414163:	89 44 24 08          	mov    %eax,0x8(%esp)
414167:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
41416e:	8b 44 24 30          	mov    0x30(%esp),%eax
414172:	8b 58 08             	mov    0x8(%eax),%ebx
414175:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
414179:	33 19                	xor    (%ecx),%ebx
41417b:	8b 70 0c             	mov    0xc(%eax),%esi
41417e:	83 fe fe             	cmp    $0xfffffffe,%esi
414181:	74 3b                	je     0x4141be
414183:	8b 54 24 34          	mov    0x34(%esp),%edx
414187:	83 fa fe             	cmp    $0xfffffffe,%edx
41418a:	74 04                	je     0x414190
41418c:	3b f2                	cmp    %edx,%esi
41418e:	76 2e                	jbe    0x4141be
414190:	8d 34 76             	lea    (%esi,%esi,2),%esi
414193:	8d 5c b3 10          	lea    0x10(%ebx,%esi,4),%ebx
414197:	8b 0b                	mov    (%ebx),%ecx
414199:	89 48 0c             	mov    %ecx,0xc(%eax)
41419c:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
4141a0:	75 cc                	jne    0x41416e
4141a2:	68 01 01 00 00       	push   $0x101
4141a7:	8b 43 08             	mov    0x8(%ebx),%eax
4141aa:	e8 8a fe ff ff       	call   0x414039
4141af:	b9 01 00 00 00       	mov    $0x1,%ecx
4141b4:	8b 43 08             	mov    0x8(%ebx),%eax
4141b7:	e8 9c fe ff ff       	call   0x414058
4141bc:	eb b0                	jmp    0x41416e
4141be:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4141c5:	83 c4 18             	add    $0x18,%esp
4141c8:	5f                   	pop    %edi
4141c9:	5e                   	pop    %esi
4141ca:	5b                   	pop    %ebx
4141cb:	c3                   	ret
4141cc:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4141d0:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
4141d7:	b8 01 00 00 00       	mov    $0x1,%eax
4141dc:	74 33                	je     0x414211
4141de:	8b 44 24 08          	mov    0x8(%esp),%eax
4141e2:	8b 48 08             	mov    0x8(%eax),%ecx
4141e5:	33 c8                	xor    %eax,%ecx
4141e7:	e8 49 1d ff ff       	call   0x405f35
4141ec:	55                   	push   %ebp
4141ed:	8b 68 18             	mov    0x18(%eax),%ebp
4141f0:	ff 70 0c             	push   0xc(%eax)
4141f3:	ff 70 10             	push   0x10(%eax)
4141f6:	ff 70 14             	push   0x14(%eax)
4141f9:	e8 3e ff ff ff       	call   0x41413c
4141fe:	83 c4 0c             	add    $0xc,%esp
414201:	5d                   	pop    %ebp
414202:	8b 44 24 08          	mov    0x8(%esp),%eax
414206:	8b 54 24 10          	mov    0x10(%esp),%edx
41420a:	89 02                	mov    %eax,(%edx)
41420c:	b8 03 00 00 00       	mov    $0x3,%eax
414211:	c3                   	ret
414212:	55                   	push   %ebp
414213:	8b 4c 24 08          	mov    0x8(%esp),%ecx
414217:	8b 29                	mov    (%ecx),%ebp
414219:	ff 71 1c             	push   0x1c(%ecx)
41421c:	ff 71 18             	push   0x18(%ecx)
41421f:	ff 71 28             	push   0x28(%ecx)
414222:	e8 15 ff ff ff       	call   0x41413c
414227:	83 c4 0c             	add    $0xc,%esp
41422a:	5d                   	pop    %ebp
41422b:	c2 04 00             	ret    $0x4
41422e:	55                   	push   %ebp
41422f:	56                   	push   %esi
414230:	57                   	push   %edi
414231:	53                   	push   %ebx
414232:	8b ea                	mov    %edx,%ebp
414234:	33 c0                	xor    %eax,%eax
414236:	33 db                	xor    %ebx,%ebx
414238:	33 d2                	xor    %edx,%edx
41423a:	33 f6                	xor    %esi,%esi
41423c:	33 ff                	xor    %edi,%edi
41423e:	ff d1                	call   *%ecx
414240:	5b                   	pop    %ebx
414241:	5f                   	pop    %edi
414242:	5e                   	pop    %esi
414243:	5d                   	pop    %ebp
414244:	c3                   	ret
414245:	8b ea                	mov    %edx,%ebp
414247:	8b f1                	mov    %ecx,%esi
414249:	8b c1                	mov    %ecx,%eax
41424b:	6a 01                	push   $0x1
41424d:	e8 e7 fd ff ff       	call   0x414039
414252:	33 c0                	xor    %eax,%eax
414254:	33 db                	xor    %ebx,%ebx
414256:	33 c9                	xor    %ecx,%ecx
414258:	33 d2                	xor    %edx,%edx
41425a:	33 ff                	xor    %edi,%edi
41425c:	ff e6                	jmp    *%esi
41425e:	55                   	push   %ebp
41425f:	8b ec                	mov    %esp,%ebp
414261:	53                   	push   %ebx
414262:	56                   	push   %esi
414263:	57                   	push   %edi
414264:	6a 00                	push   $0x0
414266:	6a 00                	push   $0x0
414268:	68 73 42 41 00       	push   $0x414273
41426d:	51                   	push   %ecx
41426e:	e8 cf 16 00 00       	call   0x415942
414273:	5f                   	pop    %edi
414274:	5e                   	pop    %esi
414275:	5b                   	pop    %ebx
414276:	5d                   	pop    %ebp
414277:	c3                   	ret
414278:	55                   	push   %ebp
414279:	8b 6c 24 08          	mov    0x8(%esp),%ebp
41427d:	52                   	push   %edx
41427e:	51                   	push   %ecx
41427f:	ff 74 24 14          	push   0x14(%esp)
414283:	e8 b4 fe ff ff       	call   0x41413c
414288:	83 c4 0c             	add    $0xc,%esp
41428b:	5d                   	pop    %ebp
41428c:	c2 08 00             	ret    $0x8
41428f:	cc                   	int3
414290:	8b 4c 24 04          	mov    0x4(%esp),%ecx
414294:	66 81 39 4d 5a       	cmpw   $0x5a4d,(%ecx)
414299:	74 03                	je     0x41429e
41429b:	33 c0                	xor    %eax,%eax
41429d:	c3                   	ret
41429e:	8b 41 3c             	mov    0x3c(%ecx),%eax
4142a1:	03 c1                	add    %ecx,%eax
4142a3:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
4142a9:	75 f0                	jne    0x41429b
4142ab:	33 c9                	xor    %ecx,%ecx
4142ad:	66 81 78 18 0b 01    	cmpw   $0x10b,0x18(%eax)
4142b3:	0f 94 c1             	sete   %cl
4142b6:	8b c1                	mov    %ecx,%eax
4142b8:	c3                   	ret
4142b9:	cc                   	int3
4142ba:	cc                   	int3
4142bb:	cc                   	int3
4142bc:	cc                   	int3
4142bd:	cc                   	int3
4142be:	cc                   	int3
4142bf:	cc                   	int3
4142c0:	8b 44 24 04          	mov    0x4(%esp),%eax
4142c4:	8b 48 3c             	mov    0x3c(%eax),%ecx
4142c7:	03 c8                	add    %eax,%ecx
4142c9:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
4142cd:	53                   	push   %ebx
4142ce:	56                   	push   %esi
4142cf:	0f b7 71 06          	movzwl 0x6(%ecx),%esi
4142d3:	33 d2                	xor    %edx,%edx
4142d5:	85 f6                	test   %esi,%esi
4142d7:	57                   	push   %edi
4142d8:	8d 44 08 18          	lea    0x18(%eax,%ecx,1),%eax
4142dc:	76 1e                	jbe    0x4142fc
4142de:	8b 7c 24 14          	mov    0x14(%esp),%edi
4142e2:	8b 48 0c             	mov    0xc(%eax),%ecx
4142e5:	3b f9                	cmp    %ecx,%edi
4142e7:	72 09                	jb     0x4142f2
4142e9:	8b 58 08             	mov    0x8(%eax),%ebx
4142ec:	03 d9                	add    %ecx,%ebx
4142ee:	3b fb                	cmp    %ebx,%edi
4142f0:	72 0c                	jb     0x4142fe
4142f2:	83 c2 01             	add    $0x1,%edx
4142f5:	83 c0 28             	add    $0x28,%eax
4142f8:	3b d6                	cmp    %esi,%edx
4142fa:	72 e6                	jb     0x4142e2
4142fc:	33 c0                	xor    %eax,%eax
4142fe:	5f                   	pop    %edi
4142ff:	5e                   	pop    %esi
414300:	5b                   	pop    %ebx
414301:	c3                   	ret
414302:	6a 08                	push   $0x8
414304:	68 f8 ae 41 00       	push   $0x41aef8
414309:	e8 3a 93 ff ff       	call   0x40d648
41430e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
414312:	ba 00 00 40 00       	mov    $0x400000,%edx
414317:	52                   	push   %edx
414318:	e8 73 ff ff ff       	call   0x414290
41431d:	59                   	pop    %ecx
41431e:	85 c0                	test   %eax,%eax
414320:	74 3d                	je     0x41435f
414322:	8b 45 08             	mov    0x8(%ebp),%eax
414325:	2b c2                	sub    %edx,%eax
414327:	50                   	push   %eax
414328:	52                   	push   %edx
414329:	e8 92 ff ff ff       	call   0x4142c0
41432e:	59                   	pop    %ecx
41432f:	59                   	pop    %ecx
414330:	85 c0                	test   %eax,%eax
414332:	74 2b                	je     0x41435f
414334:	8b 40 24             	mov    0x24(%eax),%eax
414337:	c1 e8 1f             	shr    $0x1f,%eax
41433a:	f7 d0                	not    %eax
41433c:	83 e0 01             	and    $0x1,%eax
41433f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
414346:	eb 20                	jmp    0x414368
414348:	8b 45 ec             	mov    -0x14(%ebp),%eax
41434b:	8b 00                	mov    (%eax),%eax
41434d:	8b 00                	mov    (%eax),%eax
41434f:	33 c9                	xor    %ecx,%ecx
414351:	3d 05 00 00 c0       	cmp    $0xc0000005,%eax
414356:	0f 94 c1             	sete   %cl
414359:	8b c1                	mov    %ecx,%eax
41435b:	c3                   	ret
41435c:	8b 65 e8             	mov    -0x18(%ebp),%esp
41435f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
414366:	33 c0                	xor    %eax,%eax
414368:	e8 20 93 ff ff       	call   0x40d68d
41436d:	c3                   	ret
41436e:	8b 44 24 04          	mov    0x4(%esp),%eax
414372:	a3 d0 e3 41 00       	mov    %eax,0x41e3d0
414377:	c3                   	ret
414378:	55                   	push   %ebp
414379:	8b ec                	mov    %esp,%ebp
41437b:	83 ec 20             	sub    $0x20,%esp
41437e:	53                   	push   %ebx
41437f:	56                   	push   %esi
414380:	57                   	push   %edi
414381:	e8 b3 7f ff ff       	call   0x40c339
414386:	33 db                	xor    %ebx,%ebx
414388:	39 1d d4 e3 41 00    	cmp    %ebx,0x41e3d4
41438e:	89 45 f0             	mov    %eax,-0x10(%ebp)
414391:	89 5d fc             	mov    %ebx,-0x4(%ebp)
414394:	89 5d f8             	mov    %ebx,-0x8(%ebp)
414397:	89 5d f4             	mov    %ebx,-0xc(%ebp)
41439a:	0f 85 ad 00 00 00    	jne    0x41444d
4143a0:	68 98 97 41 00       	push   $0x419798
4143a5:	ff 15 40 70 41 00    	call   *0x417040
4143ab:	8b f8                	mov    %eax,%edi
4143ad:	3b fb                	cmp    %ebx,%edi
4143af:	75 07                	jne    0x4143b8
4143b1:	33 c0                	xor    %eax,%eax