404f5e:	cc                   	int3
404f5f:	cc                   	int3
404f60:	55                   	push   %ebp
404f61:	8b ec                	mov    %esp,%ebp
404f63:	8b 4d 08             	mov    0x8(%ebp),%ecx
404f66:	56                   	push   %esi
404f67:	83 69 04 01          	subl   $0x1,0x4(%ecx)
404f6b:	8b 71 04             	mov    0x4(%ecx),%esi
404f6e:	75 0a                	jne    0x404f7a
404f70:	6a 18                	push   $0x18
404f72:	51                   	push   %ecx
404f73:	e8 78 42 01 00       	call   0x4191f0
404f78:	59                   	pop    %ecx
404f79:	59                   	pop    %ecx
404f7a:	8b c6                	mov    %esi,%eax
404f7c:	5e                   	pop    %esi
404f7d:	5d                   	pop    %ebp
404f7e:	c2 04 00             	ret    $0x4
404f81:	cc                   	int3
404f82:	cc                   	int3
404f83:	cc                   	int3
404f84:	cc                   	int3
404f85:	cc                   	int3
404f86:	cc                   	int3
404f87:	cc                   	int3
404f88:	cc                   	int3
404f89:	cc                   	int3
404f8a:	cc                   	int3
404f8b:	cc                   	int3
404f8c:	cc                   	int3
404f8d:	cc                   	int3
404f8e:	cc                   	int3
404f8f:	cc                   	int3
404f90:	55                   	push   %ebp
404f91:	8b ec                	mov    %esp,%ebp
404f93:	53                   	push   %ebx
404f94:	8b 5d 14             	mov    0x14(%ebp),%ebx
404f97:	56                   	push   %esi
404f98:	8b 75 08             	mov    0x8(%ebp),%esi
404f9b:	57                   	push   %edi
404f9c:	8b 7d 0c             	mov    0xc(%ebp),%edi
404f9f:	ff 76 08             	push   0x8(%esi)
404fa2:	ff 76 0c             	push   0xc(%esi)
404fa5:	ff 15 88 c1 41 00    	call   *0x41c188
404fab:	2b 46 14             	sub    0x14(%esi),%eax
404fae:	8b 4d 10             	mov    0x10(%ebp),%ecx
404fb1:	3b c8                	cmp    %eax,%ecx
404fb3:	72 02                	jb     0x404fb7
404fb5:	8b c8                	mov    %eax,%ecx
404fb7:	89 0b                	mov    %ecx,(%ebx)
404fb9:	85 c9                	test   %ecx,%ecx
404fbb:	74 1a                	je     0x404fd7
404fbd:	8b 4e 10             	mov    0x10(%esi),%ecx
404fc0:	33 d2                	xor    %edx,%edx
404fc2:	03 4e 14             	add    0x14(%esi),%ecx
404fc5:	2b cf                	sub    %edi,%ecx
404fc7:	8a 04 39             	mov    (%ecx,%edi,1),%al
404fca:	42                   	inc    %edx
404fcb:	88 07                	mov    %al,(%edi)
404fcd:	47                   	inc    %edi
404fce:	8b 03                	mov    (%ebx),%eax
404fd0:	3b d0                	cmp    %eax,%edx
404fd2:	72 f3                	jb     0x404fc7
404fd4:	01 46 14             	add    %eax,0x14(%esi)
404fd7:	33 c0                	xor    %eax,%eax
404fd9:	3b 03                	cmp    (%ebx),%eax
404fdb:	5f                   	pop    %edi
404fdc:	1b c0                	sbb    %eax,%eax
404fde:	5e                   	pop    %esi
404fdf:	40                   	inc    %eax
404fe0:	5b                   	pop    %ebx
404fe1:	5d                   	pop    %ebp
404fe2:	c2 10 00             	ret    $0x10
404fe5:	cc                   	int3
404fe6:	cc                   	int3
404fe7:	cc                   	int3
404fe8:	cc                   	int3
404fe9:	cc                   	int3
404fea:	cc                   	int3
404feb:	cc                   	int3
404fec:	cc                   	int3
404fed:	cc                   	int3
404fee:	cc                   	int3
404fef:	cc                   	int3
404ff0:	b8 05 00 03 80       	mov    $0x80030005,%eax
404ff5:	c2 10 00             	ret    $0x10
404ff8:	cc                   	int3
404ff9:	cc                   	int3
404ffa:	cc                   	int3
404ffb:	cc                   	int3
404ffc:	cc                   	int3
404ffd:	cc                   	int3
404ffe:	cc                   	int3
404fff:	cc                   	int3
405000:	55                   	push   %ebp
405001:	8b ec                	mov    %esp,%ebp
405003:	8b 45 14             	mov    0x14(%ebp),%eax
405006:	33 c9                	xor    %ecx,%ecx
405008:	53                   	push   %ebx
405009:	56                   	push   %esi
40500a:	8b 75 08             	mov    0x8(%ebp),%esi
40500d:	57                   	push   %edi
40500e:	2b c1                	sub    %ecx,%eax
405010:	74 47                	je     0x405059
405012:	83 e8 01             	sub    $0x1,%eax
405015:	74 05                	je     0x40501c
405017:	83 e8 01             	sub    $0x1,%eax
40501a:	75 59                	jne    0x405075
40501c:	83 7d 14 01          	cmpl   $0x1,0x14(%ebp)
405020:	75 05                	jne    0x405027
405022:	8b 46 14             	mov    0x14(%esi),%eax
405025:	eb 0e                	jmp    0x405035
405027:	ff 76 08             	push   0x8(%esi)
40502a:	ff 76 0c             	push   0xc(%esi)
40502d:	ff 15 88 c1 41 00    	call   *0x41c188
405033:	33 c9                	xor    %ecx,%ecx
405035:	8b f8                	mov    %eax,%edi
405037:	8b d9                	mov    %ecx,%ebx
405039:	03 7d 0c             	add    0xc(%ebp),%edi
40503c:	13 5d 10             	adc    0x10(%ebp),%ebx
40503f:	39 4d 10             	cmp    %ecx,0x10(%ebp)
405042:	7c 0e                	jl     0x405052
405044:	7f 05                	jg     0x40504b
405046:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
405049:	72 07                	jb     0x405052
40504b:	3b 46 14             	cmp    0x14(%esi),%eax
40504e:	72 25                	jb     0x405075
405050:	eb 0d                	jmp    0x40505f
405052:	3b 46 14             	cmp    0x14(%esi),%eax
405055:	73 1e                	jae    0x405075
405057:	eb 06                	jmp    0x40505f
405059:	8b 7d 0c             	mov    0xc(%ebp),%edi
40505c:	8b 5d 10             	mov    0x10(%ebp),%ebx
40505f:	ff 76 08             	push   0x8(%esi)
405062:	ff 76 0c             	push   0xc(%esi)
405065:	ff 15 88 c1 41 00    	call   *0x41c188
40506b:	85 db                	test   %ebx,%ebx
40506d:	72 0d                	jb     0x40507c
40506f:	77 04                	ja     0x405075
405071:	3b f8                	cmp    %eax,%edi
405073:	76 07                	jbe    0x40507c
405075:	b8 57 00 03 80       	mov    $0x80030057,%eax
40507a:	eb 11                	jmp    0x40508d
40507c:	8b 45 18             	mov    0x18(%ebp),%eax
40507f:	89 7e 14             	mov    %edi,0x14(%esi)
405082:	85 c0                	test   %eax,%eax
405084:	74 05                	je     0x40508b
405086:	89 38                	mov    %edi,(%eax)
405088:	89 58 04             	mov    %ebx,0x4(%eax)
40508b:	33 c0                	xor    %eax,%eax
40508d:	5f                   	pop    %edi
40508e:	5e                   	pop    %esi
40508f:	5b                   	pop    %ebx
405090:	5d                   	pop    %ebp
405091:	c2 14 00             	ret    $0x14
405094:	cc                   	int3
405095:	cc                   	int3
405096:	cc                   	int3
405097:	cc                   	int3
405098:	cc                   	int3
405099:	cc                   	int3
40509a:	cc                   	int3
40509b:	cc                   	int3
40509c:	cc                   	int3
40509d:	cc                   	int3
40509e:	cc                   	int3
40509f:	cc                   	int3
4050a0:	b8 05 00 03 80       	mov    $0x80030005,%eax
4050a5:	c2 0c 00             	ret    $0xc
4050a8:	cc                   	int3
4050a9:	cc                   	int3
4050aa:	cc                   	int3
4050ab:	cc                   	int3
4050ac:	cc                   	int3
4050ad:	cc                   	int3
4050ae:	cc                   	int3
4050af:	cc                   	int3
4050b0:	55                   	push   %ebp
4050b1:	8b ec                	mov    %esp,%ebp
4050b3:	83 e4 f8             	and    $0xfffffff8,%esp
4050b6:	83 ec 24             	sub    $0x24,%esp
4050b9:	a1 18 60 42 00       	mov    0x426018,%eax
4050be:	33 c4                	xor    %esp,%eax
4050c0:	89 44 24 20          	mov    %eax,0x20(%esp)
4050c4:	8b 45 18             	mov    0x18(%ebp),%eax
4050c7:	8b 55 14             	mov    0x14(%ebp),%edx
4050ca:	8b 4d 08             	mov    0x8(%ebp),%ecx
4050cd:	53                   	push   %ebx
4050ce:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4050d1:	89 44 24 18          	mov    %eax,0x18(%esp)
4050d5:	8b 45 1c             	mov    0x1c(%ebp),%eax
4050d8:	89 54 24 08          	mov    %edx,0x8(%esp)
4050dc:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4050e0:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
4050e4:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4050e8:	56                   	push   %esi
4050e9:	8b 75 10             	mov    0x10(%ebp),%esi
4050ec:	89 74 24 18          	mov    %esi,0x18(%esp)
4050f0:	57                   	push   %edi
4050f1:	85 db                	test   %ebx,%ebx
4050f3:	0f 84 ce 00 00 00    	je     0x4051c7
4050f9:	8b c6                	mov    %esi,%eax
4050fb:	0b c2                	or     %edx,%eax
4050fd:	0f 84 c4 00 00 00    	je     0x4051c7
405103:	33 ff                	xor    %edi,%edi
405105:	33 db                	xor    %ebx,%ebx
405107:	ff 71 08             	push   0x8(%ecx)
40510a:	ff 71 0c             	push   0xc(%ecx)
40510d:	ff 15 88 c1 41 00    	call   *0x41c188
405113:	8b 4c 24 18          	mov    0x18(%esp),%ecx
405117:	8b d0                	mov    %eax,%edx
405119:	8b 41 14             	mov    0x14(%ecx),%eax
40511c:	2b d0                	sub    %eax,%edx
40511e:	81 fa 00 00 80 00    	cmp    $0x800000,%edx
405124:	76 05                	jbe    0x40512b
405126:	ba 00 00 80 00       	mov    $0x800000,%edx
40512b:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
405130:	77 08                	ja     0x40513a
405132:	72 04                	jb     0x405138
405134:	3b f2                	cmp    %edx,%esi
405136:	73 02                	jae    0x40513a
405138:	8b d6                	mov    %esi,%edx
40513a:	8b 49 10             	mov    0x10(%ecx),%ecx
40513d:	03 c8                	add    %eax,%ecx
40513f:	8b 44 24 14          	mov    0x14(%esp),%eax
405143:	8b 00                	mov    (%eax),%eax
405145:	8b 70 10             	mov    0x10(%eax),%esi
405148:	8d 44 24 28          	lea    0x28(%esp),%eax
40514c:	50                   	push   %eax
40514d:	52                   	push   %edx
40514e:	51                   	push   %ecx
40514f:	ff 74 24 20          	push   0x20(%esp)
405153:	8b ce                	mov    %esi,%ecx
405155:	ff 15 50 c2 41 00    	call   *0x41c250
40515b:	ff d6                	call   *%esi
40515d:	85 c0                	test   %eax,%eax
40515f:	78 3b                	js     0x40519c
405161:	8b 44 24 28          	mov    0x28(%esp),%eax
405165:	85 c0                	test   %eax,%eax
405167:	74 33                	je     0x40519c
405169:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40516d:	8b 74 24 1c          	mov    0x1c(%esp),%esi
405171:	01 41 14             	add    %eax,0x14(%ecx)
405174:	03 f8                	add    %eax,%edi
405176:	83 d3 00             	adc    $0x0,%ebx
405179:	2b f0                	sub    %eax,%esi
40517b:	8b 44 24 10          	mov    0x10(%esp),%eax
40517f:	83 d8 00             	sbb    $0x0,%eax
405182:	89 74 24 1c          	mov    %esi,0x1c(%esp)
405186:	89 44 24 10          	mov    %eax,0x10(%esp)
40518a:	85 c0                	test   %eax,%eax
40518c:	0f 87 75 ff ff ff    	ja     0x405107
405192:	72 08                	jb     0x40519c
405194:	85 f6                	test   %esi,%esi
405196:	0f 85 6b ff ff ff    	jne    0x405107
40519c:	8b c7                	mov    %edi,%eax
40519e:	0b c3                	or     %ebx,%eax
4051a0:	75 07                	jne    0x4051a9
4051a2:	b8 70 00 03 80       	mov    $0x80030070,%eax
4051a7:	eb 23                	jmp    0x4051cc
4051a9:	8b 44 24 20          	mov    0x20(%esp),%eax
4051ad:	85 c0                	test   %eax,%eax
4051af:	74 05                	je     0x4051b6
4051b1:	89 38                	mov    %edi,(%eax)
4051b3:	89 58 04             	mov    %ebx,0x4(%eax)
4051b6:	8b 44 24 24          	mov    0x24(%esp),%eax
4051ba:	85 c0                	test   %eax,%eax
4051bc:	74 05                	je     0x4051c3
4051be:	89 38                	mov    %edi,(%eax)
4051c0:	89 58 04             	mov    %ebx,0x4(%eax)
4051c3:	33 c0                	xor    %eax,%eax
4051c5:	eb 05                	jmp    0x4051cc
4051c7:	b8 57 00 03 80       	mov    $0x80030057,%eax
4051cc:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4051d0:	5f                   	pop    %edi
4051d1:	5e                   	pop    %esi
4051d2:	5b                   	pop    %ebx
4051d3:	33 cc                	xor    %esp,%ecx
4051d5:	e8 1b 3a 00 00       	call   0x408bf5
4051da:	8b e5                	mov    %ebp,%esp
4051dc:	5d                   	pop    %ebp
4051dd:	c2 18 00             	ret    $0x18
4051e0:	b8 01 40 00 80       	mov    $0x80004001,%eax
4051e5:	c2 08 00             	ret    $0x8
4051e8:	cc                   	int3
4051e9:	cc                   	int3
4051ea:	cc                   	int3
4051eb:	cc                   	int3
4051ec:	cc                   	int3
4051ed:	cc                   	int3
4051ee:	cc                   	int3
4051ef:	cc                   	int3
4051f0:	b8 01 40 00 80       	mov    $0x80004001,%eax
4051f5:	c2 04 00             	ret    $0x4
4051f8:	cc                   	int3
4051f9:	cc                   	int3
4051fa:	cc                   	int3
4051fb:	cc                   	int3
4051fc:	cc                   	int3
4051fd:	cc                   	int3
4051fe:	cc                   	int3
4051ff:	cc                   	int3
405200:	b8 01 40 00 80       	mov    $0x80004001,%eax
405205:	c2 18 00             	ret    $0x18
405208:	cc                   	int3
405209:	cc                   	int3
40520a:	cc                   	int3
40520b:	cc                   	int3
40520c:	cc                   	int3
40520d:	cc                   	int3
40520e:	cc                   	int3
40520f:	cc                   	int3
405210:	55                   	push   %ebp
405211:	8b ec                	mov    %esp,%ebp
405213:	8b 45 08             	mov    0x8(%ebp),%eax
405216:	53                   	push   %ebx
405217:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40521a:	56                   	push   %esi
40521b:	57                   	push   %edi
40521c:	33 f6                	xor    %esi,%esi
40521e:	89 33                	mov    %esi,(%ebx)
405220:	c7 43 04 02 00 00 00 	movl   $0x2,0x4(%ebx)
405227:	ff 70 08             	push   0x8(%eax)
40522a:	ff 70 0c             	push   0xc(%eax)
40522d:	ff 15 88 c1 41 00    	call   *0x41c188
405233:	89 73 0c             	mov    %esi,0xc(%ebx)
405236:	8d 7b 30             	lea    0x30(%ebx),%edi
405239:	89 73 10             	mov    %esi,0x10(%ebx)
40523c:	89 73 14             	mov    %esi,0x14(%ebx)
40523f:	89 73 18             	mov    %esi,0x18(%ebx)
405242:	89 73 1c             	mov    %esi,0x1c(%ebx)
405245:	89 73 20             	mov    %esi,0x20(%ebx)
405248:	89 73 24             	mov    %esi,0x24(%ebx)
40524b:	89 73 2c             	mov    %esi,0x2c(%ebx)
40524e:	be 5c 13 42 00       	mov    $0x42135c,%esi
405253:	89 43 08             	mov    %eax,0x8(%ebx)
405256:	c7 43 28 20 00 00 00 	movl   $0x20,0x28(%ebx)
40525d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40525e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40525f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405260:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405261:	83 63 40 00          	andl   $0x0,0x40(%ebx)
405265:	83 63 44 00          	andl   $0x0,0x44(%ebx)
405269:	33 c0                	xor    %eax,%eax
40526b:	5f                   	pop    %edi
40526c:	5e                   	pop    %esi
40526d:	5b                   	pop    %ebx
40526e:	5d                   	pop    %ebp
40526f:	c2 0c 00             	ret    $0xc
405272:	53                   	push   %ebx