402f70:	b9 08 02 00 00       	mov    $0x208,%ecx
402f75:	e8 f1 ea ff ff       	call   0x401a6b
402f7a:	84 c0                	test   %al,%al
402f7c:	74 14                	je     0x402f92
402f7e:	b8 08 02 00 00       	mov    $0x208,%eax
402f83:	e8 d8 26 00 00       	call   0x405660
402f88:	8b c4                	mov    %esp,%eax
402f8a:	89 a5 e0 fd ff ff    	mov    %esp,-0x220(%ebp)
402f90:	eb 23                	jmp    0x402fb5
402f92:	68 10 02 00 00       	push   $0x210
402f97:	ff 15 84 71 40 00    	call   *0x407184
402f9d:	59                   	pop    %ecx
402f9e:	85 c0                	test   %eax,%eax
402fa0:	74 0d                	je     0x402faf
402fa2:	89 30                	mov    %esi,(%eax)
402fa4:	8b f0                	mov    %eax,%esi
402fa6:	89 b5 c4 fd ff ff    	mov    %esi,-0x23c(%ebp)
402fac:	83 c0 08             	add    $0x8,%eax
402faf:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
402fb5:	85 c0                	test   %eax,%eax
402fb7:	0f 84 64 02 00 00    	je     0x403221
402fbd:	68 04 01 00 00       	push   $0x104
402fc2:	53                   	push   %ebx
402fc3:	50                   	push   %eax
402fc4:	ff 15 20 71 40 00    	call   *0x407120
402fca:	85 ff                	test   %edi,%edi
402fcc:	75 1e                	jne    0x402fec
402fce:	8b bd d4 fd ff ff    	mov    -0x22c(%ebp),%edi
402fd4:	57                   	push   %edi
402fd5:	e8 a1 f7 ff ff       	call   0x40277b
402fda:	85 c0                	test   %eax,%eax
402fdc:	75 0e                	jne    0x402fec
402fde:	57                   	push   %edi
402fdf:	e8 ce f7 ff ff       	call   0x4027b2
402fe4:	85 c0                	test   %eax,%eax
402fe6:	0f 84 ca 00 00 00    	je     0x4030b6
402fec:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
402ff2:	53                   	push   %ebx
402ff3:	e8 32 f2 ff ff       	call   0x40222a
402ff8:	8b f8                	mov    %eax,%edi
402ffa:	85 ff                	test   %edi,%edi
402ffc:	0f 88 d2 00 00 00    	js     0x4030d4
403002:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
403008:	53                   	push   %ebx
403009:	e8 2d f8 ff ff       	call   0x40283b
40300e:	8b f8                	mov    %eax,%edi
403010:	85 ff                	test   %edi,%edi
403012:	0f 88 bc 00 00 00    	js     0x4030d4
403018:	6a 7b                	push   $0x7b
40301a:	58                   	pop    %eax
40301b:	66 39 03             	cmp    %ax,(%ebx)
40301e:	75 48                	jne    0x403068
403020:	ff 75 14             	push   0x14(%ebp)
403023:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
403029:	33 c0                	xor    %eax,%eax
40302b:	50                   	push   %eax
40302c:	ff b5 d4 fd ff ff    	push   -0x22c(%ebp)
403032:	53                   	push   %ebx
403033:	e8 30 fb ff ff       	call   0x402b68
403038:	8b f8                	mov    %eax,%edi
40303a:	85 ff                	test   %edi,%edi
40303c:	0f 88 92 00 00 00    	js     0x4030d4
403042:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
403046:	74 2a                	je     0x403072
403048:	8b 85 c0 fd ff ff    	mov    -0x240(%ebp),%eax
40304e:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
403054:	53                   	push   %ebx
403055:	89 45 14             	mov    %eax,0x14(%ebp)
403058:	e8 cd f1 ff ff       	call   0x40222a
40305d:	8b f8                	mov    %eax,%edi
40305f:	85 ff                	test   %edi,%edi
403061:	78 71                	js     0x4030d4
403063:	e9 56 fd ff ff       	jmp    0x402dbe
403068:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
40306c:	0f 85 63 01 00 00    	jne    0x4031d5
403072:	ff b5 d4 fd ff ff    	push   -0x22c(%ebp)
403078:	e8 fe f6 ff ff       	call   0x40277b
40307d:	85 c0                	test   %eax,%eax
40307f:	74 25                	je     0x4030a6
403081:	8b bd e0 fd ff ff    	mov    -0x220(%ebp),%edi
403087:	57                   	push   %edi
403088:	e8 bd f6 ff ff       	call   0x40274a
40308d:	85 c0                	test   %eax,%eax
40308f:	0f 84 2a 01 00 00    	je     0x4031bf
403095:	57                   	push   %edi
403096:	8d 8d d4 fd ff ff    	lea    -0x22c(%ebp),%ecx
40309c:	e8 ac eb ff ff       	call   0x401c4d
4030a1:	e9 19 01 00 00       	jmp    0x4031bf
4030a6:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
4030aa:	0f 85 25 01 00 00    	jne    0x4031d5
4030b0:	8b bd d4 fd ff ff    	mov    -0x22c(%ebp),%edi
4030b6:	85 ff                	test   %edi,%edi
4030b8:	74 4f                	je     0x403109
4030ba:	57                   	push   %edi
4030bb:	ff 15 f8 70 40 00    	call   *0x4070f8
4030c1:	33 c9                	xor    %ecx,%ecx
4030c3:	8b f9                	mov    %ecx,%edi
4030c5:	89 bd d4 fd ff ff    	mov    %edi,-0x22c(%ebp)
4030cb:	85 c0                	test   %eax,%eax
4030cd:	74 3c                	je     0x40310b
4030cf:	bf 09 00 02 80       	mov    $0x80020009,%edi
4030d4:	8b 85 d4 fd ff ff    	mov    -0x22c(%ebp),%eax
4030da:	85 c0                	test   %eax,%eax
4030dc:	74 07                	je     0x4030e5
4030de:	50                   	push   %eax
4030df:	ff 15 f8 70 40 00    	call   *0x4070f8
4030e5:	8d 8d c4 fd ff ff    	lea    -0x23c(%ebp),%ecx
4030eb:	e8 a6 16 00 00       	call   0x404796
4030f0:	8b c7                	mov    %edi,%eax
4030f2:	8d a5 88 fd ff ff    	lea    -0x278(%ebp),%esp
4030f8:	5f                   	pop    %edi
4030f9:	5e                   	pop    %esi
4030fa:	5b                   	pop    %ebx
4030fb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4030fe:	33 cd                	xor    %ebp,%ecx
403100:	e8 9b 1e 00 00       	call   0x404fa0
403105:	c9                   	leave
403106:	c2 10 00             	ret    $0x10
403109:	33 c9                	xor    %ecx,%ecx
40310b:	83 bd c8 fd ff ff 00 	cmpl   $0x0,-0x238(%ebp)
403112:	74 32                	je     0x403146
403114:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
40311a:	8b bd e0 fd ff ff    	mov    -0x220(%ebp),%edi
403120:	89 8d 9c fd ff ff    	mov    %ecx,-0x264(%ebp)
403126:	89 8d a0 fd ff ff    	mov    %ecx,-0x260(%ebp)
40312c:	8d 8d 98 fd ff ff    	lea    -0x268(%ebp),%ecx
403132:	57                   	push   %edi
403133:	89 85 98 fd ff ff    	mov    %eax,-0x268(%ebp)
403139:	e8 ed e9 ff ff       	call   0x401b2b
40313e:	33 c0                	xor    %eax,%eax
403140:	89 85 98 fd ff ff    	mov    %eax,-0x268(%ebp)
403146:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
40314c:	53                   	push   %ebx
40314d:	e8 d8 f0 ff ff       	call   0x40222a
403152:	8b f8                	mov    %eax,%edi
403154:	85 ff                	test   %edi,%edi
403156:	0f 88 78 ff ff ff    	js     0x4030d4
40315c:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
403162:	53                   	push   %ebx
403163:	e8 d3 f6 ff ff       	call   0x40283b
403168:	8b f8                	mov    %eax,%edi
40316a:	85 ff                	test   %edi,%edi
40316c:	0f 88 62 ff ff ff    	js     0x4030d4
403172:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
403176:	74 5d                	je     0x4031d5
403178:	6a 7b                	push   $0x7b
40317a:	58                   	pop    %eax
40317b:	66 39 03             	cmp    %ax,(%ebx)
40317e:	75 55                	jne    0x4031d5
403180:	8b cb                	mov    %ebx,%ecx
403182:	8d 51 02             	lea    0x2(%ecx),%edx
403185:	66 8b 01             	mov    (%ecx),%ax
403188:	83 c1 02             	add    $0x2,%ecx
40318b:	66 3b 85 bc fd ff ff 	cmp    -0x244(%ebp),%ax
403192:	75 f1                	jne    0x403185
403194:	2b ca                	sub    %edx,%ecx
403196:	d1 f9                	sar    $1,%ecx
403198:	83 f9 01             	cmp    $0x1,%ecx
40319b:	75 38                	jne    0x4031d5
40319d:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
4031a3:	33 c0                	xor    %eax,%eax
4031a5:	50                   	push   %eax
4031a6:	ff 75 10             	push   0x10(%ebp)
4031a9:	ff b5 d4 fd ff ff    	push   -0x22c(%ebp)
4031af:	53                   	push   %ebx
4031b0:	e8 b3 f9 ff ff       	call   0x402b68
4031b5:	8b f8                	mov    %eax,%edi
4031b7:	85 ff                	test   %edi,%edi
4031b9:	0f 88 15 ff ff ff    	js     0x4030d4
4031bf:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
4031c5:	53                   	push   %ebx
4031c6:	e8 5f f0 ff ff       	call   0x40222a
4031cb:	8b f8                	mov    %eax,%edi
4031cd:	85 ff                	test   %edi,%edi
4031cf:	0f 88 ff fe ff ff    	js     0x4030d4
4031d5:	6a 7d                	push   $0x7d
4031d7:	58                   	pop    %eax
4031d8:	66 39 03             	cmp    %ax,(%ebx)
4031db:	0f 85 05 fa ff ff    	jne    0x402be6
4031e1:	e9 ee fe ff ff       	jmp    0x4030d4
4031e6:	85 ff                	test   %edi,%edi
4031e8:	7e 09                	jle    0x4031f3
4031ea:	0f b7 ff             	movzwl %di,%edi
4031ed:	81 cf 00 00 07 80    	or     $0x80070000,%edi
4031f3:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
4031f9:	85 c0                	test   %eax,%eax
4031fb:	0f 84 d3 fe ff ff    	je     0x4030d4
403201:	50                   	push   %eax
403202:	ff 15 f8 70 40 00    	call   *0x4070f8
403208:	e9 c7 fe ff ff       	jmp    0x4030d4
40320d:	0f 8e c1 fe ff ff    	jle    0x4030d4
403213:	0f b7 ff             	movzwl %di,%edi
403216:	81 cf 00 00 07 80    	or     $0x80070000,%edi
40321c:	e9 b3 fe ff ff       	jmp    0x4030d4
403221:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
403226:	e9 a9 fe ff ff       	jmp    0x4030d4
40322b:	8b ff                	mov    %edi,%edi
40322d:	55                   	push   %ebp
40322e:	8b ec                	mov    %esp,%ebp
403230:	83 e4 f8             	and    $0xfffffff8,%esp
403233:	81 ec 64 06 00 00    	sub    $0x664,%esp
403239:	a1 54 60 40 00       	mov    0x406054,%eax
40323e:	33 c4                	xor    %esp,%eax
403240:	89 84 24 60 06 00 00 	mov    %eax,0x660(%esp)
403247:	53                   	push   %ebx
403248:	56                   	push   %esi
403249:	57                   	push   %edi
40324a:	33 db                	xor    %ebx,%ebx
40324c:	c7 44 24 1c 0a 00 00 	movl   $0xa,0x1c(%esp)
403253:	00
403254:	6a 28                	push   $0x28
403256:	89 5c 24 40          	mov    %ebx,0x40(%esp)
40325a:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
40325e:	ff 15 84 71 40 00    	call   *0x407184
403264:	59                   	pop    %ecx
403265:	89 44 24 14          	mov    %eax,0x14(%esp)
403269:	8d 7c 24 20          	lea    0x20(%esp),%edi
40326d:	6a 06                	push   $0x6
40326f:	59                   	pop    %ecx
403270:	33 c0                	xor    %eax,%eax
403272:	f3 ab                	rep stos %eax,%es:(%edi)
403274:	8d 4c 24 20          	lea    0x20(%esp),%ecx
403278:	88 5c 24 38          	mov    %bl,0x38(%esp)
40327c:	e8 4d e8 ff ff       	call   0x401ace
403281:	8b f8                	mov    %eax,%edi
403283:	85 ff                	test   %edi,%edi
403285:	0f 88 fe 00 00 00    	js     0x403389
40328b:	68 0a 02 00 00       	push   $0x20a
403290:	8d 44 24 44          	lea    0x44(%esp),%eax
403294:	c6 44 24 3c 01       	movb   $0x1,0x3c(%esp)
403299:	53                   	push   %ebx
40329a:	50                   	push   %eax
40329b:	e8 f2 23 00 00       	call   0x405692
4032a0:	a1 70 64 40 00       	mov    0x406470,%eax
4032a5:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
4032a9:	83 c4 0c             	add    $0xc,%esp
4032ac:	be 04 01 00 00       	mov    $0x104,%esi
4032b1:	56                   	push   %esi
4032b2:	51                   	push   %ecx
4032b3:	ff 70 04             	push   0x4(%eax)
4032b6:	ff 15 90 70 40 00    	call   *0x407090
4032bc:	3b c6                	cmp    %esi,%eax
4032be:	75 0a                	jne    0x4032ca
4032c0:	bf 6f 00 07 80       	mov    $0x8007006f,%edi
4032c5:	e9 bf 00 00 00       	jmp    0x403389
4032ca:	85 c0                	test   %eax,%eax
4032cc:	75 1e                	jne    0x4032ec
4032ce:	ff 15 40 70 40 00    	call   *0x407040
4032d4:	8b f8                	mov    %eax,%edi
4032d6:	85 ff                	test   %edi,%edi
4032d8:	0f 8e ab 00 00 00    	jle    0x403389
4032de:	0f b7 ff             	movzwl %di,%edi
4032e1:	81 cf 00 00 07 80    	or     $0x80070000,%edi
4032e7:	e9 9d 00 00 00       	jmp    0x403389
4032ec:	66 8b 44 24 40       	mov    0x40(%esp),%ax
4032f1:	8d 74 24 40          	lea    0x40(%esp),%esi
4032f5:	8d 8c 24 50 02 00 00 	lea    0x250(%esp),%ecx
4032fc:	66 85 c0             	test   %ax,%ax
4032ff:	74 24                	je     0x403325
403301:	6a 27                	push   $0x27
403303:	0f b7 d0             	movzwl %ax,%edx
403306:	5f                   	pop    %edi
403307:	66 89 11             	mov    %dx,(%ecx)
40330a:	83 c1 02             	add    $0x2,%ecx
40330d:	66 3b d7             	cmp    %di,%dx
403310:	75 06                	jne    0x403318
403312:	66 89 39             	mov    %di,(%ecx)
403315:	83 c1 02             	add    $0x2,%ecx
403318:	83 c6 02             	add    $0x2,%esi
40331b:	0f b7 06             	movzwl (%esi),%eax
40331e:	8b d0                	mov    %eax,%edx
403320:	66 85 c0             	test   %ax,%ax
403323:	75 e2                	jne    0x403307
403325:	33 c0                	xor    %eax,%eax
403327:	66 89 01             	mov    %ax,(%ecx)
40332a:	8d 44 24 20          	lea    0x20(%esp),%eax
40332e:	50                   	push   %eax
40332f:	ff 15 38 71 40 00    	call   *0x407138
403335:	8d 84 24 50 02 00 00 	lea    0x250(%esp),%eax
40333c:	50                   	push   %eax
40333d:	68 fc 14 40 00       	push   $0x4014fc
403342:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
403346:	e8 37 ea ff ff       	call   0x401d82
40334b:	8b f8                	mov    %eax,%edi
40334d:	8d 44 24 20          	lea    0x20(%esp),%eax
403351:	50                   	push   %eax
403352:	ff 15 2c 71 40 00    	call   *0x40712c
403358:	85 ff                	test   %edi,%edi
40335a:	78 2d                	js     0x403389
40335c:	8d 44 24 40          	lea    0x40(%esp),%eax
403360:	89 5c 24 10          	mov    %ebx,0x10(%esp)
403364:	39 5d 08             	cmp    %ebx,0x8(%ebp)
403367:	74 04                	je     0x40336d
403369:	6a 01                	push   $0x1
40336b:	eb 01                	jmp    0x40336e
40336d:	53                   	push   %ebx
40336e:	68 2c 15 40 00       	push   $0x40152c
403373:	51                   	push   %ecx
403374:	50                   	push   %eax
403375:	8d 4c 24 24          	lea    0x24(%esp),%ecx
403379:	e8 78 eb ff ff       	call   0x401ef6
40337e:	8d 4c 24 10          	lea    0x10(%esp),%ecx
403382:	8b f8                	mov    %eax,%edi
403384:	e8 0d 14 00 00       	call   0x404796
403389:	8d 44 24 20          	lea    0x20(%esp),%eax
40338d:	50                   	push   %eax
40338e:	ff 15 38 71 40 00    	call   *0x407138
403394:	39 5c 24 18          	cmp    %ebx,0x18(%esp)
403398:	7e 26                	jle    0x4033c0
40339a:	8b 44 24 14          	mov    0x14(%esp),%eax
40339e:	8b 34 98             	mov    (%eax,%ebx,4),%esi
4033a1:	ff 76 04             	push   0x4(%esi)
4033a4:	ff 15 0c 70 40 00    	call   *0x40700c
4033aa:	ff 36                	push   (%esi)
4033ac:	ff 15 0c 70 40 00    	call   *0x40700c
4033b2:	56                   	push   %esi
4033b3:	e8 81 18 00 00       	call   0x404c39
4033b8:	43                   	inc    %ebx
4033b9:	59                   	pop    %ecx
4033ba:	3b 5c 24 18          	cmp    0x18(%esp),%ebx
4033be:	7c da                	jl     0x40339a
4033c0:	83 64 24 18 00       	andl   $0x0,0x18(%esp)
4033c5:	8d 44 24 20          	lea    0x20(%esp),%eax
4033c9:	50                   	push   %eax
4033ca:	ff 15 2c 71 40 00    	call   *0x40712c
4033d0:	80 7c 24 38 00       	cmpb   $0x0,0x38(%esp)
4033d5:	74 10                	je     0x4033e7
4033d7:	8d 44 24 20          	lea    0x20(%esp),%eax
4033db:	c6 44 24 38 00       	movb   $0x0,0x38(%esp)
4033e0:	50                   	push   %eax
4033e1:	ff 15 28 71 40 00    	call   *0x407128
4033e7:	ff 74 24 14          	push   0x14(%esp)
4033eb:	ff 15 64 71 40 00    	call   *0x407164
4033f1:	59                   	pop    %ecx
4033f2:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
4033f6:	e8 9b 13 00 00       	call   0x404796
4033fb:	8b 8c 24 6c 06 00 00 	mov    0x66c(%esp),%ecx
403402:	8b c7                	mov    %edi,%eax
403404:	5f                   	pop    %edi
403405:	5e                   	pop    %esi
403406:	5b                   	pop    %ebx
403407:	33 cc                	xor    %esp,%ecx
403409:	e8 92 1b 00 00       	call   0x404fa0
40340e:	8b e5                	mov    %ebp,%esp
403410:	5d                   	pop    %ebp
403411:	c2 08 00             	ret    $0x8
403414:	8b ff                	mov    %edi,%edi
403416:	55                   	push   %ebp
403417:	8b ec                	mov    %esp,%ebp
403419:	51                   	push   %ecx