411fff:	8b 45 f8             	mov    -0x8(%ebp),%eax
412002:	03 c1                	add    %ecx,%eax
412004:	89 45 f8             	mov    %eax,-0x8(%ebp)
412007:	39 75 dc             	cmp    %esi,-0x24(%ebp)
41200a:	74 bb                	je     0x411fc7
41200c:	8b 47 08             	mov    0x8(%edi),%eax
41200f:	89 37                	mov    %esi,(%edi)
412011:	3b 45 f4             	cmp    -0xc(%ebp),%eax
412014:	75 20                	jne    0x412036
412016:	3b 35 e0 a7 43 00    	cmp    0x43a7e0,%esi
41201c:	75 18                	jne    0x412036
41201e:	3b 05 e8 a7 43 00    	cmp    0x43a7e8,%eax
412024:	75 10                	jne    0x412036
412026:	3b c6                	cmp    %esi,%eax
412028:	76 0c                	jbe    0x412036
41202a:	33 c0                	xor    %eax,%eax
41202c:	5f                   	pop    %edi
41202d:	5e                   	pop    %esi
41202e:	5b                   	pop    %ebx
41202f:	c9                   	leave
412030:	c3                   	ret
412031:	3b 45 dc             	cmp    -0x24(%ebp),%eax
412034:	74 aa                	je     0x411fe0
412036:	33 c0                	xor    %eax,%eax
412038:	40                   	inc    %eax
412039:	eb f1                	jmp    0x41202c
41203b:	89 47 04             	mov    %eax,0x4(%edi)
41203e:	eb a9                	jmp    0x411fe9
412040:	83 3d 38 67 43 00 00 	cmpl   $0x0,0x436738
412047:	0f 85 c0 d1 00 00    	jne    0x41f20d
41204d:	c3                   	ret
41204e:	8b ff                	mov    %edi,%edi
412050:	55                   	push   %ebp
412051:	8b ec                	mov    %esp,%ebp
412053:	56                   	push   %esi
412054:	57                   	push   %edi
412055:	ff 75 08             	push   0x8(%ebp)
412058:	8b f2                	mov    %edx,%esi
41205a:	8b f9                	mov    %ecx,%edi
41205c:	e8 3f d3 ff ff       	call   0x40f3a0
412061:	68 4c 23 40 00       	push   $0x40234c
412066:	8b d6                	mov    %esi,%edx
412068:	8b cf                	mov    %edi,%ecx
41206a:	e8 d1 db ff ff       	call   0x40fc40
41206f:	ff 75 0c             	push   0xc(%ebp)
412072:	8b d6                	mov    %esi,%edx
412074:	8b cf                	mov    %edi,%ecx
412076:	e8 c5 db ff ff       	call   0x40fc40
41207b:	5f                   	pop    %edi
41207c:	5e                   	pop    %esi
41207d:	5d                   	pop    %ebp
41207e:	c2 08 00             	ret    $0x8
412081:	68 2c 02 00 00       	push   $0x22c
412086:	68 70 ca 42 00       	push   $0x42ca70
41208b:	e8 00 5d 00 00       	call   0x417d90
412090:	89 95 c8 fd ff ff    	mov    %edx,-0x238(%ebp)
412096:	8b f9                	mov    %ecx,%edi
412098:	83 a5 cc fd ff ff 00 	andl   $0x0,-0x234(%ebp)
41209f:	b9 ce ff 00 00       	mov    $0xffce,%ecx
4120a4:	e8 27 bc ff ff       	call   0x40dcd0
4120a9:	8b d8                	mov    %eax,%ebx
4120ab:	85 db                	test   %ebx,%ebx
4120ad:	0f 84 fa 00 00 00    	je     0x4121ad
4120b3:	8b cf                	mov    %edi,%ecx
4120b5:	e8 f6 90 ff ff       	call   0x40b1b0
4120ba:	8b f0                	mov    %eax,%esi
4120bc:	85 f6                	test   %esi,%esi
4120be:	0f 84 e9 00 00 00    	je     0x4121ad
4120c4:	68 e7 7f 00 00       	push   $0x7fe7
4120c9:	8b d3                	mov    %ebx,%edx
4120cb:	8b cf                	mov    %edi,%ecx
4120cd:	e8 3e d3 ff ff       	call   0x40f410
4120d2:	8b c8                	mov    %eax,%ecx
4120d4:	83 f9 01             	cmp    $0x1,%ecx
4120d7:	75 56                	jne    0x41212f
4120d9:	68 04 01 00 00       	push   $0x104
4120de:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
4120e4:	50                   	push   %eax
4120e5:	ff 15 48 a0 44 00    	call   *0x44a048
4120eb:	8b ce                	mov    %esi,%ecx
4120ed:	e8 34 8c ff ff       	call   0x40ad26
4120f2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4120f6:	56                   	push   %esi
4120f7:	53                   	push   %ebx
4120f8:	56                   	push   %esi
4120f9:	51                   	push   %ecx
4120fa:	8b 95 c8 fd ff ff    	mov    -0x238(%ebp),%edx
412100:	8b cf                	mov    %edi,%ecx
412102:	e8 51 73 ff ff       	call   0x409458
412107:	8b f0                	mov    %eax,%esi
412109:	89 b5 cc fd ff ff    	mov    %esi,-0x234(%ebp)
41210f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
412116:	e8 9a 00 00 00       	call   0x4121b5
41211b:	8b c6                	mov    %esi,%eax
41211d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
412120:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
412127:	59                   	pop    %ecx
412128:	5f                   	pop    %edi
412129:	5e                   	pop    %esi
41212a:	5b                   	pop    %ebx
41212b:	c9                   	leave
41212c:	c2 04 00             	ret    $0x4
41212f:	83 f9 02             	cmp    $0x2,%ecx
412132:	75 46                	jne    0x41217a
412134:	68 04 01 00 00       	push   $0x104
412139:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
41213f:	50                   	push   %eax
412140:	ff 15 48 a0 44 00    	call   *0x44a048
412146:	8b ce                	mov    %esi,%ecx
412148:	e8 d9 8b ff ff       	call   0x40ad26
41214d:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
412154:	6a 00                	push   $0x0
412156:	68 e7 7f 00 00       	push   $0x7fe7
41215b:	8b d3                	mov    %ebx,%edx
41215d:	8b cf                	mov    %edi,%ecx
41215f:	e8 e3 f8 ff ff       	call   0x411a47
412164:	8b f0                	mov    %eax,%esi
412166:	89 b5 cc fd ff ff    	mov    %esi,-0x234(%ebp)
41216c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
412173:	e8 49 00 00 00       	call   0x4121c1
412178:	eb a1                	jmp    0x41211b
41217a:	83 f9 05             	cmp    $0x5,%ecx
41217d:	0f 84 bc d0 00 00    	je     0x41f23f
412183:	a1 a8 67 43 00       	mov    0x4367a8,%eax
412188:	a3 dc 65 43 00       	mov    %eax,0x4365dc
41218d:	83 f9 03             	cmp    $0x3,%ecx
412190:	74 1b                	je     0x4121ad
412192:	b9 31 23 00 00       	mov    $0x2331,%ecx
412197:	3b c1                	cmp    %ecx,%eax
412199:	0f 85 ae d0 00 00    	jne    0x41f24d
41219f:	ff 77 38             	push   0x38(%edi)
4121a2:	6a 01                	push   $0x1
4121a4:	51                   	push   %ecx
4121a5:	e8 3a 57 ff ff       	call   0x4078e4
4121aa:	83 c4 0c             	add    $0xc,%esp
4121ad:	33 c0                	xor    %eax,%eax
4121af:	40                   	inc    %eax
4121b0:	e9 68 ff ff ff       	jmp    0x41211d
4121b5:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
4121bb:	e8 12 00 00 00       	call   0x4121d2
4121c0:	c3                   	ret
4121c1:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
4121c7:	e8 06 00 00 00       	call   0x4121d2
4121cc:	c3                   	ret
4121cd:	e9 49 ff ff ff       	jmp    0x41211b
4121d2:	85 c9                	test   %ecx,%ecx
4121d4:	74 09                	je     0x4121df
4121d6:	80 3d 5c 67 43 00 00 	cmpb   $0x0,0x43675c
4121dd:	75 01                	jne    0x4121e0
4121df:	c3                   	ret
4121e0:	83 3d 48 67 43 00 00 	cmpl   $0x0,0x436748
4121e7:	75 f6                	jne    0x4121df
4121e9:	e9 6e d0 00 00       	jmp    0x41f25c
4121ee:	8b ff                	mov    %edi,%edi
4121f0:	55                   	push   %ebp
4121f1:	8b ec                	mov    %esp,%ebp
4121f3:	51                   	push   %ecx
4121f4:	83 3d 48 67 43 00 00 	cmpl   $0x0,0x436748
4121fb:	56                   	push   %esi
4121fc:	8b f1                	mov    %ecx,%esi
4121fe:	75 2c                	jne    0x41222c
412200:	85 f6                	test   %esi,%esi
412202:	74 31                	je     0x412235
412204:	8b 4e 38             	mov    0x38(%esi),%ecx
412207:	85 c9                	test   %ecx,%ecx
412209:	74 2a                	je     0x412235
41220b:	8d 51 02             	lea    0x2(%ecx),%edx
41220e:	66 8b 01             	mov    (%ecx),%ax
412211:	83 c1 02             	add    $0x2,%ecx
412214:	66 85 c0             	test   %ax,%ax
412217:	75 f5                	jne    0x41220e
412219:	2b ca                	sub    %edx,%ecx
41221b:	d1 f9                	sar    $1,%ecx
41221d:	74 16                	je     0x412235
41221f:	51                   	push   %ecx
412220:	33 d2                	xor    %edx,%edx
412222:	8b ce                	mov    %esi,%ecx
412224:	e8 58 fe ff ff       	call   0x412081
412229:	5e                   	pop    %esi
41222a:	c9                   	leave
41222b:	c3                   	ret
41222c:	8b 46 38             	mov    0x38(%esi),%eax
41222f:	66 83 38 3a          	cmpw   $0x3a,(%eax)
412233:	75 cb                	jne    0x412200
412235:	33 c0                	xor    %eax,%eax
412237:	eb f0                	jmp    0x412229
412239:	8b ff                	mov    %edi,%edi
41223b:	55                   	push   %ebp
41223c:	8b ec                	mov    %esp,%ebp
41223e:	51                   	push   %ecx
41223f:	53                   	push   %ebx
412240:	56                   	push   %esi
412241:	8b d9                	mov    %ecx,%ebx
412243:	8b f2                	mov    %edx,%esi
412245:	2b f3                	sub    %ebx,%esi
412247:	d1 fe                	sar    $1,%esi
412249:	57                   	push   %edi
41224a:	8d 46 01             	lea    0x1(%esi),%eax
41224d:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
412250:	e8 7b ba ff ff       	call   0x40dcd0
412255:	8b f8                	mov    %eax,%edi
412257:	85 ff                	test   %edi,%edi
412259:	0f 84 13 d0 00 00    	je     0x41f272
41225f:	56                   	push   %esi
412260:	53                   	push   %ebx
412261:	8d 56 01             	lea    0x1(%esi),%edx
412264:	8b cf                	mov    %edi,%ecx
412266:	e8 2d 00 00 00       	call   0x412298
41226b:	8b cf                	mov    %edi,%ecx
41226d:	e8 1e fb ff ff       	call   0x411d90
412272:	8b cf                	mov    %edi,%ecx
412274:	8b f0                	mov    %eax,%esi
412276:	e8 e5 b9 ff ff       	call   0x40dc60
41227b:	85 f6                	test   %esi,%esi
41227d:	74 15                	je     0x412294
41227f:	6a 00                	push   $0x0
412281:	8d 45 fc             	lea    -0x4(%ebp),%eax
412284:	50                   	push   %eax
412285:	56                   	push   %esi
412286:	ff 15 38 a4 44 00    	call   *0x44a438
41228c:	83 c4 0c             	add    $0xc,%esp
41228f:	5f                   	pop    %edi
412290:	5e                   	pop    %esi
412291:	5b                   	pop    %ebx
412292:	c9                   	leave
412293:	c3                   	ret
412294:	33 c0                	xor    %eax,%eax
412296:	eb f7                	jmp    0x41228f
412298:	8b ff                	mov    %edi,%edi
41229a:	55                   	push   %ebp
41229b:	8b ec                	mov    %esp,%ebp
41229d:	33 c0                	xor    %eax,%eax
41229f:	85 d2                	test   %edx,%edx
4122a1:	74 29                	je     0x4122cc
4122a3:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
4122a9:	77 21                	ja     0x4122cc
4122ab:	85 c0                	test   %eax,%eax
4122ad:	78 24                	js     0x4122d3
4122af:	81 7d 0c fe ff ff 7f 	cmpl   $0x7ffffffe,0xc(%ebp)
4122b6:	0f 87 c6 cf 00 00    	ja     0x41f282
4122bc:	ff 75 0c             	push   0xc(%ebp)
4122bf:	ff 75 08             	push   0x8(%ebp)
4122c2:	51                   	push   %ecx
4122c3:	e8 14 00 00 00       	call   0x4122dc
4122c8:	5d                   	pop    %ebp
4122c9:	c2 08 00             	ret    $0x8
4122cc:	b8 57 00 07 80       	mov    $0x80070057,%eax
4122d1:	eb d8                	jmp    0x4122ab
4122d3:	85 d2                	test   %edx,%edx
4122d5:	74 f1                	je     0x4122c8
4122d7:	e9 ab cf 00 00       	jmp    0x41f287
4122dc:	8b ff                	mov    %edi,%edi
4122de:	55                   	push   %ebp
4122df:	8b ec                	mov    %esp,%ebp
4122e1:	85 d2                	test   %edx,%edx
4122e3:	74 42                	je     0x412327
4122e5:	8b 45 0c             	mov    0xc(%ebp),%eax
4122e8:	56                   	push   %esi
4122e9:	8b 75 10             	mov    0x10(%ebp),%esi
4122ec:	2b c1                	sub    %ecx,%eax
4122ee:	57                   	push   %edi
4122ef:	85 f6                	test   %esi,%esi
4122f1:	74 15                	je     0x412308
4122f3:	0f b7 3c 08          	movzwl (%eax,%ecx,1),%edi
4122f7:	66 85 ff             	test   %di,%di
4122fa:	74 0c                	je     0x412308
4122fc:	66 89 39             	mov    %di,(%ecx)
4122ff:	83 c1 02             	add    $0x2,%ecx
412302:	4e                   	dec    %esi
412303:	83 ea 01             	sub    $0x1,%edx
412306:	75 e7                	jne    0x4122ef
412308:	5f                   	pop    %edi
412309:	5e                   	pop    %esi
41230a:	85 d2                	test   %edx,%edx
41230c:	74 19                	je     0x412327
41230e:	f7 da                	neg    %edx
412310:	1b d2                	sbb    %edx,%edx
412312:	81 e2 86 ff f8 7f    	and    $0x7ff8ff86,%edx
412318:	33 c0                	xor    %eax,%eax
41231a:	66 89 01             	mov    %ax,(%ecx)
41231d:	8d 82 7a 00 07 80    	lea    -0x7ff8ff86(%edx),%eax
412323:	5d                   	pop    %ebp
412324:	c2 0c 00             	ret    $0xc
412327:	83 e9 02             	sub    $0x2,%ecx
41232a:	eb e2                	jmp    0x41230e
41232c:	8b ff                	mov    %edi,%edi
41232e:	55                   	push   %ebp
41232f:	8b ec                	mov    %esp,%ebp
412331:	51                   	push   %ecx
412332:	56                   	push   %esi
412333:	33 c0                	xor    %eax,%eax
412335:	8b f1                	mov    %ecx,%esi
412337:	57                   	push   %edi
412338:	38 86 0c 02 00 00    	cmp    %al,0x20c(%esi)
41233e:	0f 95 c0             	setne  %al
412341:	48                   	dec    %eax
412342:	25 1d 81 ff ff       	and    $0xffff811d,%eax
412347:	05 e7 7f 00 00       	add    $0x7fe7,%eax
41234c:	50                   	push   %eax
41234d:	e8 9e c0 ff ff       	call   0x40e3f0
412352:	8b f8                	mov    %eax,%edi
412354:	85 ff                	test   %edi,%edi
412356:	0f 88 35 cf 00 00    	js     0x41f291
41235c:	8b 8e 08 02 00 00    	mov    0x208(%esi),%ecx
412362:	85 c9                	test   %ecx,%ecx
412364:	74 21                	je     0x412387
412366:	ff 75 08             	push   0x8(%ebp)
412369:	8b 96 10 02 00 00    	mov    0x210(%esi),%edx
41236f:	e8 cc d8 ff ff       	call   0x40fc40
412374:	8b f0                	mov    %eax,%esi
412376:	85 f6                	test   %esi,%esi
412378:	0f 88 2d cf 00 00    	js     0x41f2ab
41237e:	8b c6                	mov    %esi,%eax
412380:	5f                   	pop    %edi
412381:	5e                   	pop    %esi
412382:	59                   	pop    %ecx
412383:	5d                   	pop    %ebp
412384:	c2 04 00             	ret    $0x4
412387:	8b ce                	mov    %esi,%ecx
412389:	eb db                	jmp    0x412366
41238b:	8b ff                	mov    %edi,%edi
41238d:	55                   	push   %ebp
41238e:	8b ec                	mov    %esp,%ebp
412390:	33 c0                	xor    %eax,%eax
412392:	38 05 fc 8d 44 00    	cmp    %al,0x448dfc
412398:	56                   	push   %esi
412399:	0f 95 c0             	setne  %al
41239c:	48                   	dec    %eax
41239d:	57                   	push   %edi
41239e:	25 1d 81 ff ff       	and    $0xffff811d,%eax
4123a3:	bf f0 8b 44 00       	mov    $0x448bf0,%edi
4123a8:	05 e7 7f 00 00       	add    $0x7fe7,%eax
4123ad:	8b cf                	mov    %edi,%ecx
4123af:	50                   	push   %eax
4123b0:	e8 3b c0 ff ff       	call   0x40e3f0
4123b5:	8b f0                	mov    %eax,%esi
4123b7:	85 f6                	test   %esi,%esi
4123b9:	0f 88 04 cf 00 00    	js     0x41f2c3
4123bf:	8b 0d f8 8d 44 00    	mov    0x448df8,%ecx
4123c5:	85 c9                	test   %ecx,%ecx
4123c7:	74 23                	je     0x4123ec
4123c9:	ff 75 0c             	push   0xc(%ebp)
4123cc:	8b 15 00 8e 44 00    	mov    0x448e00,%edx
4123d2:	ff 75 08             	push   0x8(%ebp)
4123d5:	e8 be fe ff ff       	call   0x412298
4123da:	8b f0                	mov    %eax,%esi
4123dc:	85 f6                	test   %esi,%esi
4123de:	0f 88 e9 ce 00 00    	js     0x41f2cd
4123e4:	5f                   	pop    %edi
4123e5:	8b c6                	mov    %esi,%eax