404f9a:	56                   	push   %esi
404f9b:	ff 75 08             	push   0x8(%ebp)
404f9e:	8b f1                	mov    %ecx,%esi
404fa0:	e8 69 00 00 00       	call   0x40500e
404fa5:	c7 06 f4 a2 41 00    	movl   $0x41a2f4,(%esi)
404fab:	8b c6                	mov    %esi,%eax
404fad:	5e                   	pop    %esi
404fae:	5d                   	pop    %ebp
404faf:	c2 04 00             	ret    $0x4
404fb2:	55                   	push   %ebp
404fb3:	8b ec                	mov    %esp,%ebp
404fb5:	56                   	push   %esi
404fb6:	8d 45 08             	lea    0x8(%ebp),%eax
404fb9:	50                   	push   %eax
404fba:	8b f1                	mov    %ecx,%esi
404fbc:	e8 0d 00 00 00       	call   0x404fce
404fc1:	c7 06 f4 a2 41 00    	movl   $0x41a2f4,(%esi)
404fc7:	8b c6                	mov    %esi,%eax
404fc9:	5e                   	pop    %esi
404fca:	5d                   	pop    %ebp
404fcb:	c2 04 00             	ret    $0x4
404fce:	55                   	push   %ebp
404fcf:	8b ec                	mov    %esp,%ebp
404fd1:	8b 45 08             	mov    0x8(%ebp),%eax
404fd4:	56                   	push   %esi
404fd5:	8b f1                	mov    %ecx,%esi
404fd7:	83 66 04 00          	andl   $0x0,0x4(%esi)
404fdb:	c7 06 d4 a2 41 00    	movl   $0x41a2d4,(%esi)
404fe1:	c6 46 08 00          	movb   $0x0,0x8(%esi)
404fe5:	ff 30                	push   (%eax)
404fe7:	e8 a8 00 00 00       	call   0x405094
404fec:	8b c6                	mov    %esi,%eax
404fee:	5e                   	pop    %esi
404fef:	5d                   	pop    %ebp
404ff0:	c2 04 00             	ret    $0x4
404ff3:	55                   	push   %ebp
404ff4:	8b ec                	mov    %esp,%ebp
404ff6:	8b 45 08             	mov    0x8(%ebp),%eax
404ff9:	c7 01 d4 a2 41 00    	movl   $0x41a2d4,(%ecx)
404fff:	8b 00                	mov    (%eax),%eax
405001:	89 41 04             	mov    %eax,0x4(%ecx)
405004:	c6 41 08 00          	movb   $0x0,0x8(%ecx)
405008:	8b c1                	mov    %ecx,%eax
40500a:	5d                   	pop    %ebp
40500b:	c2 08 00             	ret    $0x8
40500e:	55                   	push   %ebp
40500f:	8b ec                	mov    %esp,%ebp
405011:	56                   	push   %esi
405012:	ff 75 08             	push   0x8(%ebp)
405015:	8b f1                	mov    %ecx,%esi
405017:	83 66 04 00          	andl   $0x0,0x4(%esi)
40501b:	c7 06 d4 a2 41 00    	movl   $0x41a2d4,(%esi)
405021:	c6 46 08 00          	movb   $0x0,0x8(%esi)
405025:	e8 12 00 00 00       	call   0x40503c
40502a:	8b c6                	mov    %esi,%eax
40502c:	5e                   	pop    %esi
40502d:	5d                   	pop    %ebp
40502e:	c2 04 00             	ret    $0x4
405031:	c7 01 d4 a2 41 00    	movl   $0x41a2d4,(%ecx)
405037:	e9 96 00 00 00       	jmp    0x4050d2
40503c:	55                   	push   %ebp
40503d:	8b ec                	mov    %esp,%ebp
40503f:	56                   	push   %esi
405040:	57                   	push   %edi
405041:	8b 7d 08             	mov    0x8(%ebp),%edi
405044:	8b f1                	mov    %ecx,%esi
405046:	3b f7                	cmp    %edi,%esi
405048:	74 1d                	je     0x405067
40504a:	e8 83 00 00 00       	call   0x4050d2
40504f:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
405053:	74 0c                	je     0x405061
405055:	ff 77 04             	push   0x4(%edi)
405058:	8b ce                	mov    %esi,%ecx
40505a:	e8 35 00 00 00       	call   0x405094
40505f:	eb 06                	jmp    0x405067
405061:	8b 47 04             	mov    0x4(%edi),%eax
405064:	89 46 04             	mov    %eax,0x4(%esi)
405067:	5f                   	pop    %edi
405068:	8b c6                	mov    %esi,%eax
40506a:	5e                   	pop    %esi
40506b:	5d                   	pop    %ebp
40506c:	c2 04 00             	ret    $0x4
40506f:	55                   	push   %ebp
405070:	8b ec                	mov    %esp,%ebp
405072:	56                   	push   %esi
405073:	8b f1                	mov    %ecx,%esi
405075:	c7 06 d4 a2 41 00    	movl   $0x41a2d4,(%esi)
40507b:	e8 52 00 00 00       	call   0x4050d2
405080:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405084:	74 07                	je     0x40508d
405086:	56                   	push   %esi
405087:	e8 6c fe ff ff       	call   0x404ef8
40508c:	59                   	pop    %ecx
40508d:	8b c6                	mov    %esi,%eax
40508f:	5e                   	pop    %esi
405090:	5d                   	pop    %ebp
405091:	c2 04 00             	ret    $0x4
405094:	55                   	push   %ebp
405095:	8b ec                	mov    %esp,%ebp
405097:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40509b:	53                   	push   %ebx
40509c:	8b d9                	mov    %ecx,%ebx
40509e:	74 2d                	je     0x4050cd
4050a0:	57                   	push   %edi
4050a1:	ff 75 08             	push   0x8(%ebp)
4050a4:	e8 47 0c 00 00       	call   0x405cf0
4050a9:	8d 78 01             	lea    0x1(%eax),%edi
4050ac:	57                   	push   %edi
4050ad:	e8 8b 31 00 00       	call   0x40823d
4050b2:	59                   	pop    %ecx
4050b3:	59                   	pop    %ecx
4050b4:	89 43 04             	mov    %eax,0x4(%ebx)
4050b7:	85 c0                	test   %eax,%eax
4050b9:	74 11                	je     0x4050cc
4050bb:	ff 75 08             	push   0x8(%ebp)
4050be:	57                   	push   %edi
4050bf:	50                   	push   %eax
4050c0:	e8 80 63 00 00       	call   0x40b445
4050c5:	83 c4 0c             	add    $0xc,%esp
4050c8:	c6 43 08 01          	movb   $0x1,0x8(%ebx)
4050cc:	5f                   	pop    %edi
4050cd:	5b                   	pop    %ebx
4050ce:	5d                   	pop    %ebp
4050cf:	c2 04 00             	ret    $0x4
4050d2:	56                   	push   %esi
4050d3:	8b f1                	mov    %ecx,%esi
4050d5:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
4050d9:	74 09                	je     0x4050e4
4050db:	ff 76 04             	push   0x4(%esi)
4050de:	e8 35 00 00 00       	call   0x405118
4050e3:	59                   	pop    %ecx
4050e4:	83 66 04 00          	andl   $0x0,0x4(%esi)
4050e8:	c6 46 08 00          	movb   $0x0,0x8(%esi)
4050ec:	5e                   	pop    %esi
4050ed:	c3                   	ret
4050ee:	8b 41 04             	mov    0x4(%ecx),%eax
4050f1:	85 c0                	test   %eax,%eax
4050f3:	75 05                	jne    0x4050fa
4050f5:	b8 dc a2 41 00       	mov    $0x41a2dc,%eax
4050fa:	c3                   	ret
4050fb:	55                   	push   %ebp
4050fc:	8b ec                	mov    %esp,%ebp
4050fe:	5d                   	pop    %ebp
4050ff:	e9 00 00 00 00       	jmp    0x405104
405104:	55                   	push   %ebp
405105:	8b ec                	mov    %esp,%ebp
405107:	6a 0a                	push   $0xa
405109:	6a 00                	push   $0x0
40510b:	ff 75 08             	push   0x8(%ebp)
40510e:	e8 96 03 00 00       	call   0x4054a9
405113:	83 c4 0c             	add    $0xc,%esp
405116:	5d                   	pop    %ebp
405117:	c3                   	ret
405118:	55                   	push   %ebp
405119:	8b ec                	mov    %esp,%ebp
40511b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40511f:	74 2d                	je     0x40514e
405121:	ff 75 08             	push   0x8(%ebp)
405124:	6a 00                	push   $0x0
405126:	ff 35 54 27 42 00    	push   0x422754
40512c:	ff 15 7c 90 41 00    	call   *0x41907c
405132:	85 c0                	test   %eax,%eax
405134:	75 18                	jne    0x40514e
405136:	56                   	push   %esi
405137:	e8 41 30 00 00       	call   0x40817d
40513c:	8b f0                	mov    %eax,%esi
40513e:	ff 15 18 90 41 00    	call   *0x419018
405144:	50                   	push   %eax
405145:	e8 46 30 00 00       	call   0x408190
40514a:	59                   	pop    %ecx
40514b:	89 06                	mov    %eax,(%esi)
40514d:	5e                   	pop    %esi
40514e:	5d                   	pop    %ebp
40514f:	c3                   	ret
405150:	8b 44 24 0c          	mov    0xc(%esp),%eax
405154:	53                   	push   %ebx
405155:	85 c0                	test   %eax,%eax
405157:	74 52                	je     0x4051ab
405159:	8b 54 24 08          	mov    0x8(%esp),%edx
40515d:	33 db                	xor    %ebx,%ebx
40515f:	8a 5c 24 0c          	mov    0xc(%esp),%bl
405163:	f7 c2 03 00 00 00    	test   $0x3,%edx
405169:	74 16                	je     0x405181
40516b:	8a 0a                	mov    (%edx),%cl
40516d:	83 c2 01             	add    $0x1,%edx
405170:	32 cb                	xor    %bl,%cl
405172:	74 72                	je     0x4051e6
405174:	83 e8 01             	sub    $0x1,%eax
405177:	74 32                	je     0x4051ab
405179:	f7 c2 03 00 00 00    	test   $0x3,%edx
40517f:	75 ea                	jne    0x40516b
405181:	83 e8 04             	sub    $0x4,%eax
405184:	72 12                	jb     0x405198
405186:	57                   	push   %edi
405187:	8b fb                	mov    %ebx,%edi
405189:	c1 e3 08             	shl    $0x8,%ebx
40518c:	03 df                	add    %edi,%ebx
40518e:	8b fb                	mov    %ebx,%edi
405190:	c1 e3 10             	shl    $0x10,%ebx
405193:	03 df                	add    %edi,%ebx
405195:	eb 1b                	jmp    0x4051b2
405197:	5f                   	pop    %edi
405198:	83 c0 04             	add    $0x4,%eax
40519b:	74 0e                	je     0x4051ab
40519d:	8a 0a                	mov    (%edx),%cl
40519f:	83 c2 01             	add    $0x1,%edx
4051a2:	32 cb                	xor    %bl,%cl
4051a4:	74 40                	je     0x4051e6
4051a6:	83 e8 01             	sub    $0x1,%eax
4051a9:	75 f2                	jne    0x40519d
4051ab:	5b                   	pop    %ebx
4051ac:	c3                   	ret
4051ad:	83 e8 04             	sub    $0x4,%eax
4051b0:	72 e5                	jb     0x405197
4051b2:	8b 0a                	mov    (%edx),%ecx
4051b4:	33 cb                	xor    %ebx,%ecx
4051b6:	bf ff fe fe 7e       	mov    $0x7efefeff,%edi
4051bb:	03 f9                	add    %ecx,%edi
4051bd:	83 f1 ff             	xor    $0xffffffff,%ecx
4051c0:	33 cf                	xor    %edi,%ecx
4051c2:	83 c2 04             	add    $0x4,%edx
4051c5:	81 e1 00 01 01 81    	and    $0x81010100,%ecx
4051cb:	74 e0                	je     0x4051ad
4051cd:	8b 4a fc             	mov    -0x4(%edx),%ecx
4051d0:	32 cb                	xor    %bl,%cl
4051d2:	74 23                	je     0x4051f7
4051d4:	32 eb                	xor    %bl,%ch
4051d6:	74 19                	je     0x4051f1
4051d8:	c1 e9 10             	shr    $0x10,%ecx
4051db:	32 cb                	xor    %bl,%cl
4051dd:	74 0c                	je     0x4051eb
4051df:	32 eb                	xor    %bl,%ch
4051e1:	74 02                	je     0x4051e5
4051e3:	eb c8                	jmp    0x4051ad
4051e5:	5f                   	pop    %edi
4051e6:	8d 42 ff             	lea    -0x1(%edx),%eax
4051e9:	5b                   	pop    %ebx
4051ea:	c3                   	ret
4051eb:	8d 42 fe             	lea    -0x2(%edx),%eax
4051ee:	5f                   	pop    %edi
4051ef:	5b                   	pop    %ebx
4051f0:	c3                   	ret
4051f1:	8d 42 fd             	lea    -0x3(%edx),%eax
4051f4:	5f                   	pop    %edi
4051f5:	5b                   	pop    %ebx
4051f6:	c3                   	ret
4051f7:	8d 42 fc             	lea    -0x4(%edx),%eax
4051fa:	5f                   	pop    %edi
4051fb:	5b                   	pop    %ebx
4051fc:	c3                   	ret
4051fd:	55                   	push   %ebp
4051fe:	8b ec                	mov    %esp,%ebp
405200:	56                   	push   %esi
405201:	8b f1                	mov    %ecx,%esi
405203:	8b 4d 08             	mov    0x8(%ebp),%ecx
405206:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
40520a:	85 c9                	test   %ecx,%ecx
40520c:	75 66                	jne    0x405274
40520e:	e8 c3 71 00 00       	call   0x40c3d6
405213:	8b d0                	mov    %eax,%edx
405215:	89 56 08             	mov    %edx,0x8(%esi)
405218:	8b 4a 6c             	mov    0x6c(%edx),%ecx
40521b:	89 0e                	mov    %ecx,(%esi)
40521d:	8b 4a 68             	mov    0x68(%edx),%ecx
405220:	89 4e 04             	mov    %ecx,0x4(%esi)
405223:	8b 0e                	mov    (%esi),%ecx
405225:	3b 0d 44 0f 42 00    	cmp    0x420f44,%ecx
40522b:	74 11                	je     0x40523e
40522d:	a1 0c 10 42 00       	mov    0x42100c,%eax
405232:	85 42 70             	test   %eax,0x70(%edx)
405235:	75 07                	jne    0x40523e
405237:	e8 ea 67 00 00       	call   0x40ba26
40523c:	89 06                	mov    %eax,(%esi)
40523e:	8b 46 04             	mov    0x4(%esi),%eax
405241:	3b 05 bc 08 42 00    	cmp    0x4208bc,%eax
405247:	74 15                	je     0x40525e
405249:	8b 4e 08             	mov    0x8(%esi),%ecx
40524c:	a1 0c 10 42 00       	mov    0x42100c,%eax
405251:	85 41 70             	test   %eax,0x70(%ecx)
405254:	75 08                	jne    0x40525e
405256:	e8 4d 6b 00 00       	call   0x40bda8
40525b:	89 46 04             	mov    %eax,0x4(%esi)
40525e:	8b 4e 08             	mov    0x8(%esi),%ecx
405261:	8b 41 70             	mov    0x70(%ecx),%eax
405264:	a8 02                	test   $0x2,%al
405266:	75 16                	jne    0x40527e
405268:	83 c8 02             	or     $0x2,%eax
40526b:	89 41 70             	mov    %eax,0x70(%ecx)
40526e:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
405272:	eb 0a                	jmp    0x40527e
405274:	8b 01                	mov    (%ecx),%eax
405276:	89 06                	mov    %eax,(%esi)
405278:	8b 41 04             	mov    0x4(%ecx),%eax
40527b:	89 46 04             	mov    %eax,0x4(%esi)
40527e:	8b c6                	mov    %esi,%eax
405280:	5e                   	pop    %esi
405281:	5d                   	pop    %ebp
405282:	c2 04 00             	ret    $0x4
405285:	55                   	push   %ebp
405286:	8b ec                	mov    %esp,%ebp
405288:	83 ec 24             	sub    $0x24,%esp
40528b:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40528e:	ff 75 08             	push   0x8(%ebp)
405291:	e8 67 ff ff ff       	call   0x4051fd
405296:	8b 45 10             	mov    0x10(%ebp),%eax
405299:	85 c0                	test   %eax,%eax
40529b:	74 05                	je     0x4052a2
40529d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4052a0:	89 08                	mov    %ecx,(%eax)
4052a2:	8b 45 0c             	mov    0xc(%ebp),%eax
4052a5:	53                   	push   %ebx
4052a6:	56                   	push   %esi
4052a7:	57                   	push   %edi
4052a8:	85 c0                	test   %eax,%eax
4052aa:	74 11                	je     0x4052bd
4052ac:	8b 7d 14             	mov    0x14(%ebp),%edi
4052af:	85 ff                	test   %edi,%edi
4052b1:	74 1f                	je     0x4052d2
4052b3:	83 ff 02             	cmp    $0x2,%edi
4052b6:	7c 05                	jl     0x4052bd
4052b8:	83 ff 24             	cmp    $0x24,%edi
4052bb:	7e 15                	jle    0x4052d2
4052bd:	e8 bb 2e 00 00       	call   0x40817d
4052c2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4052c8:	e8 28 63 00 00       	call   0x40b5f5
4052cd:	e9 c1 01 00 00       	jmp    0x405493
4052d2:	8b 7d dc             	mov    -0x24(%ebp),%edi
4052d5:	33 db                	xor    %ebx,%ebx
4052d7:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4052da:	8a 18                	mov    (%eax),%bl
4052dc:	8d 70 01             	lea    0x1(%eax),%esi
4052df:	83 7f 74 01          	cmpl   $0x1,0x74(%edi)
4052e3:	7e 17                	jle    0x4052fc
4052e5:	8d 45 dc             	lea    -0x24(%ebp),%eax
4052e8:	50                   	push   %eax
4052e9:	0f b6 c3             	movzbl %bl,%eax
4052ec:	6a 08                	push   $0x8
4052ee:	50                   	push   %eax
4052ef:	e8 fc 6e 00 00       	call   0x40c1f0
4052f4:	8b 7d dc             	mov    -0x24(%ebp),%edi
4052f7:	83 c4 0c             	add    $0xc,%esp
4052fa:	eb 10                	jmp    0x40530c
4052fc:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
405302:	0f b6 cb             	movzbl %bl,%ecx
405305:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
405309:	83 e0 08             	and    $0x8,%eax
40530c:	85 c0                	test   %eax,%eax
40530e:	74 05                	je     0x405315
405310:	8a 1e                	mov    (%esi),%bl
405312:	46                   	inc    %esi