404e93:	a1 ec fc 41 00       	mov    0x41fcec,%eax
404e98:	3b c3                	cmp    %ebx,%eax
404e9a:	74 07                	je     0x404ea3
404e9c:	50                   	push   %eax
404e9d:	ff 15 44 70 40 00    	call   *0x407044
404ea3:	a1 00 fd 41 00       	mov    0x41fd00,%eax
404ea8:	3b c3                	cmp    %ebx,%eax
404eaa:	74 07                	je     0x404eb3
404eac:	50                   	push   %eax
404ead:	ff 15 5c 71 40 00    	call   *0x40715c
404eb3:	89 1d ec fc 41 00    	mov    %ebx,0x41fcec
404eb9:	89 1d 00 fd 41 00    	mov    %ebx,0x41fd00
404ebf:	89 1d 80 37 42 00    	mov    %ebx,0x423780
404ec5:	81 7d 0c 0f 04 00 00 	cmpl   $0x40f,0xc(%ebp)
404ecc:	0f 85 50 01 00 00    	jne    0x405022
404ed2:	53                   	push   %ebx
404ed3:	53                   	push   %ebx
404ed4:	e8 16 c3 ff ff       	call   0x4011ef
404ed9:	8b 45 10             	mov    0x10(%ebp),%eax
404edc:	3b c3                	cmp    %ebx,%eax
404ede:	74 0e                	je     0x404eee
404ee0:	83 f8 ff             	cmp    $0xffffffff,%eax
404ee3:	74 01                	je     0x404ee6
404ee5:	48                   	dec    %eax
404ee6:	50                   	push   %eax
404ee7:	6a 08                	push   $0x8
404ee9:	e8 4d fb ff ff       	call   0x404a3b
404eee:	39 5d 14             	cmp    %ebx,0x14(%ebp)
404ef1:	74 3f                	je     0x404f32
404ef3:	ff 35 00 fd 41 00    	push   0x41fd00
404ef9:	e8 e4 c3 ff ff       	call   0x4012e2
404efe:	8b f8                	mov    %eax,%edi
404f00:	57                   	push   %edi
404f01:	e8 93 c3 ff ff       	call   0x401299
404f06:	33 c0                	xor    %eax,%eax
404f08:	33 c9                	xor    %ecx,%ecx
404f0a:	3b fb                	cmp    %ebx,%edi
404f0c:	7e 0e                	jle    0x404f1c
404f0e:	8b 55 e8             	mov    -0x18(%ebp),%edx
404f11:	39 1c 82             	cmp    %ebx,(%edx,%eax,4)
404f14:	74 01                	je     0x404f17
404f16:	41                   	inc    %ecx
404f17:	40                   	inc    %eax
404f18:	3b c7                	cmp    %edi,%eax
404f1a:	7c f2                	jl     0x404f0e
404f1c:	53                   	push   %ebx
404f1d:	51                   	push   %ecx
404f1e:	68 4e 01 00 00       	push   $0x14e
404f23:	ff 75 f8             	push   -0x8(%ebp)
404f26:	ff d6                	call   *%esi
404f28:	89 7d 14             	mov    %edi,0x14(%ebp)
404f2b:	c7 45 0c 20 04 00 00 	movl   $0x420,0xc(%ebp)
404f32:	53                   	push   %ebx
404f33:	53                   	push   %ebx
404f34:	e8 b6 c2 ff ff       	call   0x4011ef
404f39:	a1 00 fd 41 00       	mov    0x41fd00,%eax
404f3e:	39 1d 4c 37 42 00    	cmp    %ebx,0x42374c
404f44:	89 45 e0             	mov    %eax,-0x20(%ebp)
404f47:	a1 48 37 42 00       	mov    0x423748,%eax
404f4c:	c7 45 c4 30 f0 00 00 	movl   $0xf030,-0x3c(%ebp)
404f53:	89 5d ec             	mov    %ebx,-0x14(%ebp)
404f56:	0f 8e 9c 00 00 00    	jle    0x404ff8
404f5c:	8d 78 08             	lea    0x8(%eax),%edi
404f5f:	8b 45 e0             	mov    -0x20(%ebp),%eax
404f62:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404f65:	8b 04 88             	mov    (%eax,%ecx,4),%eax
404f68:	3b c3                	cmp    %ebx,%eax
404f6a:	74 74                	je     0x404fe0
404f6c:	8b 0f                	mov    (%edi),%ecx
404f6e:	89 45 bc             	mov    %eax,-0x44(%ebp)
404f71:	f6 c5 01             	test   $0x1,%ch
404f74:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
404f7b:	74 11                	je     0x404f8e
404f7d:	8d 47 10             	lea    0x10(%edi),%eax
404f80:	c7 45 b8 09 00 00 00 	movl   $0x9,-0x48(%ebp)
404f87:	89 45 c8             	mov    %eax,-0x38(%ebp)
404f8a:	80 67 01 fe          	andb   $0xfe,0x1(%edi)
404f8e:	f6 c1 40             	test   $0x40,%cl
404f91:	74 05                	je     0x404f98
404f93:	6a 03                	push   $0x3
404f95:	58                   	pop    %eax
404f96:	eb 0e                	jmp    0x404fa6
404f98:	8b c1                	mov    %ecx,%eax
404f9a:	83 e0 01             	and    $0x1,%eax
404f9d:	40                   	inc    %eax
404f9e:	f6 c1 10             	test   $0x10,%cl
404fa1:	74 03                	je     0x404fa6
404fa3:	83 c0 03             	add    $0x3,%eax
404fa6:	8b d1                	mov    %ecx,%edx
404fa8:	ff 75 bc             	push   -0x44(%ebp)
404fab:	c1 e0 0b             	shl    $0xb,%eax
404fae:	83 e2 08             	and    $0x8,%edx
404fb1:	0b c2                	or     %edx,%eax
404fb3:	8b d1                	mov    %ecx,%edx
404fb5:	c1 f9 05             	sar    $0x5,%ecx
404fb8:	03 c0                	add    %eax,%eax
404fba:	83 e2 20             	and    $0x20,%edx
404fbd:	83 e1 01             	and    $0x1,%ecx
404fc0:	0b c2                	or     %edx,%eax
404fc2:	41                   	inc    %ecx
404fc3:	89 45 c0             	mov    %eax,-0x40(%ebp)
404fc6:	51                   	push   %ecx
404fc7:	68 02 11 00 00       	push   $0x1102
404fcc:	ff 75 fc             	push   -0x4(%ebp)
404fcf:	ff d6                	call   *%esi
404fd1:	8d 45 b8             	lea    -0x48(%ebp),%eax
404fd4:	50                   	push   %eax
404fd5:	53                   	push   %ebx
404fd6:	68 0d 11 00 00       	push   $0x110d
404fdb:	ff 75 fc             	push   -0x4(%ebp)
404fde:	ff d6                	call   *%esi
404fe0:	ff 45 ec             	incl   -0x14(%ebp)
404fe3:	81 c7 18 04 00 00    	add    $0x418,%edi
404fe9:	8b 45 ec             	mov    -0x14(%ebp),%eax
404fec:	3b 05 4c 37 42 00    	cmp    0x42374c,%eax
404ff2:	0f 8c 67 ff ff ff    	jl     0x404f5f
404ff8:	6a 01                	push   $0x1
404ffa:	53                   	push   %ebx
404ffb:	ff 75 fc             	push   -0x4(%ebp)
404ffe:	ff 15 fc 71 40 00    	call   *0x4071fc
405004:	a1 dc 2e 42 00       	mov    0x422edc,%eax
405009:	39 58 10             	cmp    %ebx,0x10(%eax)
40500c:	74 14                	je     0x405022
40500e:	6a 05                	push   $0x5
405010:	e8 79 f9 ff ff       	call   0x40498e
405015:	50                   	push   %eax
405016:	6a fb                	push   $0xfffffffb
405018:	68 ff 03 00 00       	push   $0x3ff
40501d:	e8 54 f9 ff ff       	call   0x404976
405022:	81 7d 0c 20 04 00 00 	cmpl   $0x420,0xc(%ebp)
405029:	75 35                	jne    0x405060
40502b:	f6 05 1d 37 42 00 01 	testb  $0x1,0x42371d
405032:	74 2c                	je     0x405060
405034:	33 c0                	xor    %eax,%eax
405036:	83 7d 14 20          	cmpl   $0x20,0x14(%ebp)
40503a:	8b 35 48 72 40 00    	mov    0x407248,%esi
405040:	0f 94 c0             	sete   %al
405043:	c1 e0 03             	shl    $0x3,%eax
405046:	8b f8                	mov    %eax,%edi
405048:	57                   	push   %edi
405049:	ff 75 fc             	push   -0x4(%ebp)
40504c:	ff d6                	call   *%esi
40504e:	57                   	push   %edi
40504f:	68 fe 03 00 00       	push   $0x3fe
405054:	ff 75 08             	push   0x8(%ebp)
405057:	ff 15 d0 71 40 00    	call   *0x4071d0
40505d:	50                   	push   %eax
40505e:	ff d6                	call   *%esi
405060:	ff 75 14             	push   0x14(%ebp)
405063:	ff 75 10             	push   0x10(%ebp)
405066:	ff 75 0c             	push   0xc(%ebp)
405069:	e8 61 f0 ff ff       	call   0x4040cf
40506e:	5f                   	pop    %edi
40506f:	5e                   	pop    %esi
405070:	5b                   	pop    %ebx
405071:	c9                   	leave
405072:	c2 10 00             	ret    $0x10
405075:	55                   	push   %ebp
405076:	8b ec                	mov    %esp,%ebp
405078:	53                   	push   %ebx
405079:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40507c:	81 fb 02 01 00 00    	cmp    $0x102,%ebx
405082:	57                   	push   %edi
405083:	75 14                	jne    0x405099
405085:	83 7d 10 20          	cmpl   $0x20,0x10(%ebp)
405089:	75 59                	jne    0x4050e4
40508b:	68 13 04 00 00       	push   $0x413
405090:	e8 1f f0 ff ff       	call   0x4040b4
405095:	33 c0                	xor    %eax,%eax
405097:	eb 62                	jmp    0x4050fb
405099:	81 fb 00 02 00 00    	cmp    $0x200,%ebx
40509f:	75 20                	jne    0x4050c1
4050a1:	ff 75 08             	push   0x8(%ebp)
4050a4:	ff 15 b4 71 40 00    	call   *0x4071b4
4050aa:	85 c0                	test   %eax,%eax
4050ac:	74 36                	je     0x4050e4
4050ae:	6a 01                	push   $0x1
4050b0:	ff 75 08             	push   0x8(%ebp)
4050b3:	e8 03 f9 ff ff       	call   0x4049bb
4050b8:	8b f8                	mov    %eax,%edi
4050ba:	bb 19 04 00 00       	mov    $0x419,%ebx
4050bf:	eb 03                	jmp    0x4050c4
4050c1:	8b 7d 14             	mov    0x14(%ebp),%edi
4050c4:	81 fb 19 04 00 00    	cmp    $0x419,%ebx
4050ca:	75 1b                	jne    0x4050e7
4050cc:	39 3d f4 fc 41 00    	cmp    %edi,0x41fcf4
4050d2:	74 13                	je     0x4050e7
4050d4:	57                   	push   %edi
4050d5:	6a 06                	push   $0x6
4050d7:	89 3d f4 fc 41 00    	mov    %edi,0x41fcf4
4050dd:	e8 59 f9 ff ff       	call   0x404a3b
4050e2:	eb 03                	jmp    0x4050e7
4050e4:	8b 7d 14             	mov    0x14(%ebp),%edi
4050e7:	57                   	push   %edi
4050e8:	ff 75 10             	push   0x10(%ebp)
4050eb:	53                   	push   %ebx
4050ec:	ff 75 08             	push   0x8(%ebp)
4050ef:	ff 35 fc fc 41 00    	push   0x41fcfc
4050f5:	ff 15 b0 71 40 00    	call   *0x4071b0
4050fb:	5f                   	pop    %edi
4050fc:	5b                   	pop    %ebx
4050fd:	5d                   	pop    %ebp
4050fe:	c2 10 00             	ret    $0x10
405101:	55                   	push   %ebp
405102:	8b ec                	mov    %esp,%ebp
405104:	83 ec 30             	sub    $0x30,%esp
405107:	a1 e4 2e 42 00       	mov    0x422ee4,%eax
40510c:	53                   	push   %ebx
40510d:	33 db                	xor    %ebx,%ebx
40510f:	56                   	push   %esi
405110:	3b c3                	cmp    %ebx,%eax
405112:	57                   	push   %edi
405113:	89 45 fc             	mov    %eax,-0x4(%ebp)
405116:	0f 84 b0 00 00 00    	je     0x4051cc
40511c:	a1 d4 37 42 00       	mov    0x4237d4,%eax
405121:	be e8 f4 41 00       	mov    $0x41f4e8,%esi
405126:	8b f8                	mov    %eax,%edi
405128:	89 45 f8             	mov    %eax,-0x8(%ebp)
40512b:	83 e7 01             	and    $0x1,%edi
40512e:	75 09                	jne    0x405139
405130:	ff 75 08             	push   0x8(%ebp)
405133:	56                   	push   %esi
405134:	e8 c3 0e 00 00       	call   0x405ffc
405139:	56                   	push   %esi
40513a:	e8 b1 0e 00 00       	call   0x405ff0
40513f:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
405142:	89 45 08             	mov    %eax,0x8(%ebp)
405145:	74 1b                	je     0x405162
405147:	ff 75 0c             	push   0xc(%ebp)
40514a:	e8 a1 0e 00 00       	call   0x405ff0
40514f:	03 45 08             	add    0x8(%ebp),%eax
405152:	3d 00 08 00 00       	cmp    $0x800,%eax
405157:	73 73                	jae    0x4051cc
405159:	ff 75 0c             	push   0xc(%ebp)
40515c:	56                   	push   %esi
40515d:	e8 94 0e 00 00       	call   0x405ff6
405162:	f6 45 f8 04          	testb  $0x4,-0x8(%ebp)
405166:	75 0d                	jne    0x405175
405168:	56                   	push   %esi
405169:	ff 35 c8 2e 42 00    	push   0x422ec8
40516f:	ff 15 40 72 40 00    	call   *0x407240
405175:	f6 45 f8 02          	testb  $0x2,-0x8(%ebp)
405179:	75 44                	jne    0x4051bf
40517b:	53                   	push   %ebx
40517c:	53                   	push   %ebx
40517d:	68 04 10 00 00       	push   $0x1004
405182:	89 75 e4             	mov    %esi,-0x1c(%ebp)
405185:	ff 75 fc             	push   -0x4(%ebp)
405188:	8b 35 00 72 40 00    	mov    0x407200,%esi
40518e:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
405195:	ff d6                	call   *%esi
405197:	2b c7                	sub    %edi,%eax
405199:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40519c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40519f:	8d 45 d0             	lea    -0x30(%ebp),%eax
4051a2:	50                   	push   %eax
4051a3:	b8 07 10 00 00       	mov    $0x1007,%eax
4051a8:	2b c7                	sub    %edi,%eax
4051aa:	53                   	push   %ebx
4051ab:	50                   	push   %eax
4051ac:	ff 75 fc             	push   -0x4(%ebp)
4051af:	ff d6                	call   *%esi
4051b1:	53                   	push   %ebx
4051b2:	ff 75 d4             	push   -0x2c(%ebp)
4051b5:	68 13 10 00 00       	push   $0x1013
4051ba:	ff 75 fc             	push   -0x4(%ebp)
4051bd:	ff d6                	call   *%esi
4051bf:	3b fb                	cmp    %ebx,%edi
4051c1:	74 09                	je     0x4051cc
4051c3:	8b 45 08             	mov    0x8(%ebp),%eax
4051c6:	88 98 e8 f4 41 00    	mov    %bl,0x41f4e8(%eax)
4051cc:	5f                   	pop    %edi
4051cd:	5e                   	pop    %esi
4051ce:	5b                   	pop    %ebx
4051cf:	c9                   	leave
4051d0:	c2 08 00             	ret    $0x8
4051d3:	56                   	push   %esi
4051d4:	8b 35 48 37 42 00    	mov    0x423748,%esi
4051da:	57                   	push   %edi
4051db:	8b 3d 4c 37 42 00    	mov    0x42374c,%edi
4051e1:	6a 00                	push   $0x0
4051e3:	ff 15 84 72 40 00    	call   *0x407284
4051e9:	09 05 d8 37 42 00    	or     %eax,0x4237d8
4051ef:	6a 00                	push   $0x0
4051f1:	e8 be ee ff ff       	call   0x4040b4
4051f6:	85 ff                	test   %edi,%edi
4051f8:	74 2b                	je     0x405225
4051fa:	83 c6 0c             	add    $0xc,%esi
4051fd:	4f                   	dec    %edi
4051fe:	f6 46 fc 01          	testb  $0x1,-0x4(%esi)
405202:	74 0f                	je     0x405213
405204:	ff 74 24 0c          	push   0xc(%esp)
405208:	ff 36                	push   (%esi)
40520a:	e8 7a c1 ff ff       	call   0x401389
40520f:	85 c0                	test   %eax,%eax
405211:	75 0c                	jne    0x40521f
405213:	81 c6 18 04 00 00    	add    $0x418,%esi
405219:	85 ff                	test   %edi,%edi
40521b:	75 e0                	jne    0x4051fd
40521d:	eb 06                	jmp    0x405225
40521f:	ff 05 ac 37 42 00    	incl   0x4237ac
405225:	68 04 04 00 00       	push   $0x404
40522a:	e8 85 ee ff ff       	call   0x4040b4
40522f:	ff 15 80 72 40 00    	call   *0x407280
405235:	a1 ac 37 42 00       	mov    0x4237ac,%eax
40523a:	5f                   	pop    %edi
40523b:	5e                   	pop    %esi
40523c:	c2 04 00             	ret    $0x4
40523f:	55                   	push   %ebp
405240:	8b ec                	mov    %esp,%ebp
405242:	83 ec 3c             	sub    $0x3c,%esp
405245:	a1 e4 2e 42 00       	mov    0x422ee4,%eax
40524a:	53                   	push   %ebx
40524b:	56                   	push   %esi
40524c:	57                   	push   %edi
40524d:	8b 7d 0c             	mov    0xc(%ebp),%edi
405250:	33 db                	xor    %ebx,%ebx
405252:	81 ff 10 01 00 00    	cmp    $0x110,%edi
405258:	89 45 fc             	mov    %eax,-0x4(%ebp)
40525b:	0f 85 89 01 00 00    	jne    0x4053ea
405261:	83 4d d4 ff          	orl    $0xffffffff,-0x2c(%ebp)
405265:	83 4d e0 ff          	orl    $0xffffffff,-0x20(%ebp)
405269:	6a 02                	push   $0x2
40526b:	33 c0                	xor    %eax,%eax
40526d:	5e                   	pop    %esi
40526e:	8d 7d e4             	lea    -0x1c(%ebp),%edi
405271:	89 75 cc             	mov    %esi,-0x34(%ebp)
405274:	89 5d d0             	mov    %ebx,-0x30(%ebp)
405277:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40527a:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40527d:	ab                   	stos   %eax,%es:(%edi)
40527e:	ab                   	stos   %eax,%es:(%edi)
40527f:	a1 14 37 42 00       	mov    0x423714,%eax
405284:	8b 3d d0 71 40 00    	mov    0x4071d0,%edi
40528a:	68 03 04 00 00       	push   $0x403
40528f:	8b 48 5c             	mov    0x5c(%eax),%ecx
405292:	8b 40 60             	mov    0x60(%eax),%eax
405295:	ff 75 08             	push   0x8(%ebp)
405298:	89 4d 10             	mov    %ecx,0x10(%ebp)
40529b:	89 45 0c             	mov    %eax,0xc(%ebp)
40529e:	ff d7                	call   *%edi
4052a0:	68 ee 03 00 00       	push   $0x3ee
4052a5:	a3 d0 2e 42 00       	mov    %eax,0x422ed0
4052aa:	ff 75 08             	push   0x8(%ebp)
4052ad:	ff d7                	call   *%edi
4052af:	68 f8 03 00 00       	push   $0x3f8
4052b4:	a3 c8 2e 42 00       	mov    %eax,0x422ec8
4052b9:	ff 75 08             	push   0x8(%ebp)
4052bc:	ff d7                	call   *%edi
4052be:	ff 35 d0 2e 42 00    	push   0x422ed0