408003:	8b ec                	mov    %esp,%ebp
408005:	ff 75 10             	push   0x10(%ebp)
408008:	8b 4d 08             	mov    0x8(%ebp),%ecx
40800b:	ba a4 18 40 00       	mov    $0x4018a4,%edx
408010:	ff 75 0c             	push   0xc(%ebp)
408013:	e8 9a e8 ff ff       	call   0x4068b2
408018:	5d                   	pop    %ebp
408019:	c2 0c 00             	ret    $0xc
40801c:	cc                   	int3
40801d:	cc                   	int3
40801e:	cc                   	int3
40801f:	cc                   	int3
408020:	8b ff                	mov    %edi,%edi
408022:	55                   	push   %ebp
408023:	8b ec                	mov    %esp,%ebp
408025:	53                   	push   %ebx
408026:	56                   	push   %esi
408027:	8b 75 08             	mov    0x8(%ebp),%esi
40802a:	8d 4e 08             	lea    0x8(%esi),%ecx
40802d:	e8 ab f6 ff ff       	call   0x4076dd
408032:	8b d8                	mov    %eax,%ebx
408034:	85 db                	test   %ebx,%ebx
408036:	75 0e                	jne    0x408046
408038:	85 f6                	test   %esi,%esi
40803a:	74 28                	je     0x408064
40803c:	51                   	push   %ecx
40803d:	8b ce                	mov    %esi,%ecx
40803f:	e8 f5 fe ff ff       	call   0x407f39
408044:	eb 1e                	jmp    0x408064
408046:	83 fb 01             	cmp    $0x1,%ebx
408049:	75 19                	jne    0x408064
40804b:	57                   	push   %edi
40804c:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
408052:	8b 07                	mov    (%edi),%eax
408054:	8b 70 08             	mov    0x8(%eax),%esi
408057:	8b ce                	mov    %esi,%ecx
408059:	ff 15 28 63 41 00    	call   *0x416328
40805f:	8b cf                	mov    %edi,%ecx
408061:	ff d6                	call   *%esi
408063:	5f                   	pop    %edi
408064:	5e                   	pop    %esi
408065:	8b c3                	mov    %ebx,%eax
408067:	5b                   	pop    %ebx
408068:	5d                   	pop    %ebp
408069:	c2 04 00             	ret    $0x4
40806c:	cc                   	int3
40806d:	cc                   	int3
40806e:	cc                   	int3
40806f:	cc                   	int3
408070:	8b ff                	mov    %edi,%edi
408072:	55                   	push   %ebp
408073:	8b ec                	mov    %esp,%ebp
408075:	8b 4d 08             	mov    0x8(%ebp),%ecx
408078:	53                   	push   %ebx
408079:	8d 49 08             	lea    0x8(%ecx),%ecx
40807c:	e8 48 cc ff ff       	call   0x404cc9
408081:	8b d8                	mov    %eax,%ebx
408083:	83 fb 02             	cmp    $0x2,%ebx
408086:	75 1b                	jne    0x4080a3
408088:	56                   	push   %esi
408089:	57                   	push   %edi
40808a:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
408090:	8b 17                	mov    (%edi),%edx
408092:	8b 72 04             	mov    0x4(%edx),%esi
408095:	8b ce                	mov    %esi,%ecx
408097:	ff 15 28 63 41 00    	call   *0x416328
40809d:	8b cf                	mov    %edi,%ecx
40809f:	ff d6                	call   *%esi
4080a1:	5f                   	pop    %edi
4080a2:	5e                   	pop    %esi
4080a3:	8b c3                	mov    %ebx,%eax
4080a5:	5b                   	pop    %ebx
4080a6:	5d                   	pop    %ebp
4080a7:	c2 04 00             	ret    $0x4
4080aa:	cc                   	int3
4080ab:	cc                   	int3
4080ac:	cc                   	int3
4080ad:	cc                   	int3
4080ae:	cc                   	int3
4080af:	cc                   	int3
4080b0:	8b ff                	mov    %edi,%edi
4080b2:	55                   	push   %ebp
4080b3:	8b ec                	mov    %esp,%ebp
4080b5:	ff 75 10             	push   0x10(%ebp)
4080b8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4080bb:	ba ac 17 40 00       	mov    $0x4017ac,%edx
4080c0:	ff 75 0c             	push   0xc(%ebp)
4080c3:	e8 ea e7 ff ff       	call   0x4068b2
4080c8:	5d                   	pop    %ebp
4080c9:	c2 0c 00             	ret    $0xc
4080cc:	cc                   	int3
4080cd:	cc                   	int3
4080ce:	cc                   	int3
4080cf:	cc                   	int3
4080d0:	6a 00                	push   $0x0
4080d2:	b8 98 2c 41 00       	mov    $0x412c98,%eax
4080d7:	e8 82 a4 00 00       	call   0x41255e
4080dc:	8b 45 08             	mov    0x8(%ebp),%eax
4080df:	8b 58 04             	mov    0x4(%eax),%ebx
4080e2:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
4080e8:	75 03                	jne    0x4080ed
4080ea:	4b                   	dec    %ebx
4080eb:	eb 54                	jmp    0x408141
4080ed:	83 eb 01             	sub    $0x1,%ebx
4080f0:	89 58 04             	mov    %ebx,0x4(%eax)
4080f3:	75 4c                	jne    0x408141
4080f5:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
4080fb:	8b 07                	mov    (%edi),%eax
4080fd:	8b 70 04             	mov    0x4(%eax),%esi
408100:	8b ce                	mov    %esi,%ecx
408102:	ff 15 28 63 41 00    	call   *0x416328
408108:	8b cf                	mov    %edi,%ecx
40810a:	ff d6                	call   *%esi
40810c:	8b 7d 08             	mov    0x8(%ebp),%edi
40810f:	85 ff                	test   %edi,%edi
408111:	74 13                	je     0x408126
408113:	8b 07                	mov    (%edi),%eax
408115:	6a 01                	push   $0x1
408117:	8b 70 28             	mov    0x28(%eax),%esi
40811a:	8b ce                	mov    %esi,%ecx
40811c:	ff 15 28 63 41 00    	call   *0x416328
408122:	8b cf                	mov    %edi,%ecx
408124:	ff d6                	call   *%esi
408126:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40812a:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
408130:	8b 17                	mov    (%edi),%edx
408132:	8b 72 08             	mov    0x8(%edx),%esi
408135:	8b ce                	mov    %esi,%ecx
408137:	ff 15 28 63 41 00    	call   *0x416328
40813d:	8b cf                	mov    %edi,%ecx
40813f:	ff d6                	call   *%esi
408141:	8b c3                	mov    %ebx,%eax
408143:	e8 e4 a3 00 00       	call   0x41252c
408148:	c2 04 00             	ret    $0x4
40814b:	cc                   	int3
40814c:	cc                   	int3
40814d:	cc                   	int3
40814e:	cc                   	int3
40814f:	cc                   	int3
408150:	8b ff                	mov    %edi,%edi
408152:	55                   	push   %ebp
408153:	8b ec                	mov    %esp,%ebp
408155:	8b 4d 08             	mov    0x8(%ebp),%ecx
408158:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
40815d:	8b 51 04             	mov    0x4(%ecx),%edx
408160:	3b d0                	cmp    %eax,%edx
408162:	74 06                	je     0x40816a
408164:	8d 42 01             	lea    0x1(%edx),%eax
408167:	89 41 04             	mov    %eax,0x4(%ecx)
40816a:	5d                   	pop    %ebp
40816b:	c2 04 00             	ret    $0x4
40816e:	8b ff                	mov    %edi,%edi
408170:	55                   	push   %ebp
408171:	8b ec                	mov    %esp,%ebp
408173:	6a ff                	push   $0xffffffff
408175:	68 5f 2e 41 00       	push   $0x412e5f
40817a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
408180:	50                   	push   %eax
408181:	53                   	push   %ebx
408182:	56                   	push   %esi
408183:	57                   	push   %edi
408184:	a1 f4 51 41 00       	mov    0x4151f4,%eax
408189:	33 c5                	xor    %ebp,%eax
40818b:	50                   	push   %eax
40818c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40818f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408195:	8b d9                	mov    %ecx,%ebx
408197:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
40819d:	c7 03 78 18 40 00    	movl   $0x401878,(%ebx)
4081a3:	c7 43 04 01 00 00 c0 	movl   $0xc0000001,0x4(%ebx)
4081aa:	8b 07                	mov    (%edi),%eax
4081ac:	8b 70 08             	mov    0x8(%eax),%esi
4081af:	8b ce                	mov    %esi,%ecx
4081b1:	ff 15 28 63 41 00    	call   *0x416328
4081b7:	8b cf                	mov    %edi,%ecx
4081b9:	ff d6                	call   *%esi
4081bb:	8b cb                	mov    %ebx,%ecx
4081bd:	e8 04 6b 00 00       	call   0x40ecc6
4081c2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4081c5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4081cc:	59                   	pop    %ecx
4081cd:	5f                   	pop    %edi
4081ce:	5e                   	pop    %esi
4081cf:	5b                   	pop    %ebx
4081d0:	c9                   	leave
4081d1:	c3                   	ret
4081d2:	6a 04                	push   $0x4
4081d4:	b8 82 2e 41 00       	mov    $0x412e82,%eax
4081d9:	e8 80 a3 00 00       	call   0x41255e
4081de:	8b d9                	mov    %ecx,%ebx
4081e0:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4081e3:	33 f6                	xor    %esi,%esi
4081e5:	8d 4b 0c             	lea    0xc(%ebx),%ecx
4081e8:	89 73 04             	mov    %esi,0x4(%ebx)
4081eb:	89 31                	mov    %esi,(%ecx)
4081ed:	89 73 10             	mov    %esi,0x10(%ebx)
4081f0:	51                   	push   %ecx
4081f1:	89 73 1c             	mov    %esi,0x1c(%ebx)
4081f4:	e8 50 58 00 00       	call   0x40da49
4081f9:	89 73 08             	mov    %esi,0x8(%ebx)
4081fc:	89 73 14             	mov    %esi,0x14(%ebx)
4081ff:	89 73 18             	mov    %esi,0x18(%ebx)
408202:	89 75 fc             	mov    %esi,-0x4(%ebp)
408205:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
40820b:	c7 03 78 18 40 00    	movl   $0x401878,(%ebx)
408211:	8b 07                	mov    (%edi),%eax
408213:	8b 70 04             	mov    0x4(%eax),%esi
408216:	8b ce                	mov    %esi,%ecx
408218:	ff 15 28 63 41 00    	call   *0x416328
40821e:	8b cf                	mov    %edi,%ecx
408220:	ff d6                	call   *%esi
408222:	8b c3                	mov    %ebx,%eax
408224:	e8 03 a3 00 00       	call   0x41252c
408229:	c2 04 00             	ret    $0x4
40822c:	cc                   	int3
40822d:	cc                   	int3
40822e:	cc                   	int3
40822f:	cc                   	int3
408230:	8b ff                	mov    %edi,%edi
408232:	55                   	push   %ebp
408233:	8b ec                	mov    %esp,%ebp
408235:	ff 75 10             	push   0x10(%ebp)
408238:	8b 4d 08             	mov    0x8(%ebp),%ecx
40823b:	ba d0 17 40 00       	mov    $0x4017d0,%edx
408240:	ff 75 0c             	push   0xc(%ebp)
408243:	e8 6a e6 ff ff       	call   0x4068b2
408248:	5d                   	pop    %ebp
408249:	c2 0c 00             	ret    $0xc
40824c:	8b ff                	mov    %edi,%edi
40824e:	55                   	push   %ebp
40824f:	8b ec                	mov    %esp,%ebp
408251:	6a ff                	push   $0xffffffff
408253:	68 5f 2e 41 00       	push   $0x412e5f
408258:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40825e:	50                   	push   %eax
40825f:	53                   	push   %ebx
408260:	56                   	push   %esi
408261:	57                   	push   %edi
408262:	a1 f4 51 41 00       	mov    0x4151f4,%eax
408267:	33 c5                	xor    %ebp,%eax
408269:	50                   	push   %eax
40826a:	8d 45 f4             	lea    -0xc(%ebp),%eax
40826d:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408273:	8b d9                	mov    %ecx,%ebx
408275:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
40827b:	c7 03 68 19 40 00    	movl   $0x401968,(%ebx)
408281:	c7 43 04 01 00 00 c0 	movl   $0xc0000001,0x4(%ebx)
408288:	8b 07                	mov    (%edi),%eax
40828a:	8b 70 08             	mov    0x8(%eax),%esi
40828d:	8b ce                	mov    %esi,%ecx
40828f:	ff 15 28 63 41 00    	call   *0x416328
408295:	8b cf                	mov    %edi,%ecx
408297:	ff d6                	call   *%esi
408299:	8b cb                	mov    %ebx,%ecx
40829b:	e8 05 53 00 00       	call   0x40d5a5
4082a0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4082a3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4082aa:	59                   	pop    %ecx
4082ab:	5f                   	pop    %edi
4082ac:	5e                   	pop    %esi
4082ad:	5b                   	pop    %ebx
4082ae:	c9                   	leave
4082af:	c3                   	ret
4082b0:	6a 04                	push   $0x4
4082b2:	b8 a5 2e 41 00       	mov    $0x412ea5,%eax
4082b7:	e8 a2 a2 00 00       	call   0x41255e
4082bc:	8b d9                	mov    %ecx,%ebx
4082be:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4082c1:	33 f6                	xor    %esi,%esi
4082c3:	8d 4b 0c             	lea    0xc(%ebx),%ecx
4082c6:	89 73 04             	mov    %esi,0x4(%ebx)
4082c9:	89 31                	mov    %esi,(%ecx)
4082cb:	89 73 10             	mov    %esi,0x10(%ebx)
4082ce:	51                   	push   %ecx
4082cf:	89 73 24             	mov    %esi,0x24(%ebx)
4082d2:	e8 72 57 00 00       	call   0x40da49
4082d7:	89 73 08             	mov    %esi,0x8(%ebx)
4082da:	89 73 14             	mov    %esi,0x14(%ebx)
4082dd:	89 73 18             	mov    %esi,0x18(%ebx)
4082e0:	89 73 1c             	mov    %esi,0x1c(%ebx)
4082e3:	89 73 20             	mov    %esi,0x20(%ebx)
4082e6:	89 75 fc             	mov    %esi,-0x4(%ebp)
4082e9:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
4082ef:	c7 03 68 19 40 00    	movl   $0x401968,(%ebx)
4082f5:	8b 07                	mov    (%edi),%eax
4082f7:	8b 70 04             	mov    0x4(%eax),%esi
4082fa:	8b ce                	mov    %esi,%ecx
4082fc:	ff 15 28 63 41 00    	call   *0x416328
408302:	8b cf                	mov    %edi,%ecx
408304:	ff d6                	call   *%esi
408306:	8b c3                	mov    %ebx,%eax
408308:	e8 1f a2 00 00       	call   0x41252c
40830d:	c2 04 00             	ret    $0x4
408310:	8b ff                	mov    %edi,%edi
408312:	55                   	push   %ebp
408313:	8b ec                	mov    %esp,%ebp
408315:	6a ff                	push   $0xffffffff
408317:	68 c0 2e 41 00       	push   $0x412ec0
40831c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
408322:	50                   	push   %eax
408323:	56                   	push   %esi
408324:	57                   	push   %edi
408325:	a1 f4 51 41 00       	mov    0x4151f4,%eax
40832a:	33 c5                	xor    %ebp,%eax
40832c:	50                   	push   %eax
40832d:	8d 45 f4             	lea    -0xc(%ebp),%eax
408330:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408336:	8b f9                	mov    %ecx,%edi
408338:	c7 07 74 16 40 00    	movl   $0x401674,(%edi)
40833e:	8b 4f 2c             	mov    0x2c(%edi),%ecx
408341:	85 c9                	test   %ecx,%ecx
408343:	74 10                	je     0x408355
408345:	8b 01                	mov    (%ecx),%eax
408347:	51                   	push   %ecx
408348:	8b 70 08             	mov    0x8(%eax),%esi
40834b:	8b ce                	mov    %esi,%ecx
40834d:	ff 15 28 63 41 00    	call   *0x416328
408353:	ff d6                	call   *%esi
408355:	8b cf                	mov    %edi,%ecx
408357:	e8 f7 e6 ff ff       	call   0x406a53
40835c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40835f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408366:	59                   	pop    %ecx
408367:	5f                   	pop    %edi
408368:	5e                   	pop    %esi
408369:	c9                   	leave
40836a:	c3                   	ret
40836b:	cc                   	int3
40836c:	cc                   	int3
40836d:	cc                   	int3
40836e:	cc                   	int3
40836f:	cc                   	int3
408370:	6a 04                	push   $0x4
408372:	b8 db 2e 41 00       	mov    $0x412edb,%eax
408377:	e8 e2 a1 00 00       	call   0x41255e
40837c:	8b 5d 08             	mov    0x8(%ebp),%ebx
40837f:	8d 4b 08             	lea    0x8(%ebx),%ecx
408382:	e8 56 f3 ff ff       	call   0x4076dd
408387:	89 45 f0             	mov    %eax,-0x10(%ebp)
40838a:	85 c0                	test   %eax,%eax
40838c:	75 4c                	jne    0x4083da
40838e:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
408394:	8b 17                	mov    (%edi),%edx
408396:	8b 72 04             	mov    0x4(%edx),%esi
408399:	8b ce                	mov    %esi,%ecx
40839b:	ff 15 28 63 41 00    	call   *0x416328
4083a1:	8b cf                	mov    %edi,%ecx
4083a3:	ff d6                	call   *%esi
4083a5:	85 db                	test   %ebx,%ebx
4083a7:	74 13                	je     0x4083bc