451e69:	8b f2                	mov    %edx,%esi
451e6b:	8b d8                	mov    %eax,%ebx
451e6d:	8b 03                	mov    (%ebx),%eax
451e6f:	03 c1                	add    %ecx,%eax
451e71:	2b c6                	sub    %esi,%eax
451e73:	99                   	cltd
451e74:	33 c2                	xor    %edx,%eax
451e76:	2b c2                	sub    %edx,%eax
451e78:	8b 55 08             	mov    0x8(%ebp),%edx
451e7b:	8b 52 fc             	mov    -0x4(%edx),%edx
451e7e:	3b 82 4c 03 00 00    	cmp    0x34c(%edx),%eax
451e84:	7d 04                	jge    0x451e8a
451e86:	2b f1                	sub    %ecx,%esi
451e88:	89 33                	mov    %esi,(%ebx)
451e8a:	5e                   	pop    %esi
451e8b:	5b                   	pop    %ebx
451e8c:	5d                   	pop    %ebp
451e8d:	c3                   	ret
451e8e:	8b c0                	mov    %eax,%eax
451e90:	55                   	push   %ebp
451e91:	8b ec                	mov    %esp,%ebp
451e93:	83 c4 dc             	add    $0xffffffdc,%esp
451e96:	53                   	push   %ebx
451e97:	56                   	push   %esi
451e98:	8b da                	mov    %edx,%ebx
451e9a:	89 45 fc             	mov    %eax,-0x4(%ebp)
451e9d:	8b 55 fc             	mov    -0x4(%ebp),%edx
451ea0:	80 ba 48 03 00 00 00 	cmpb   $0x0,0x348(%edx)
451ea7:	0f 84 bf 00 00 00    	je     0x451f6c
451ead:	8b 55 fc             	mov    -0x4(%ebp),%edx
451eb0:	83 7a 30 00          	cmpl   $0x0,0x30(%edx)
451eb4:	74 0d                	je     0x451ec3
451eb6:	8b 55 fc             	mov    -0x4(%ebp),%edx
451eb9:	f6 42 1c 10          	testb  $0x10,0x1c(%edx)
451ebd:	0f 85 a9 00 00 00    	jne    0x451f6c
451ec3:	8b 43 08             	mov    0x8(%ebx),%eax
451ec6:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
451eca:	75 0a                	jne    0x451ed6
451ecc:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
451ed0:	0f 84 96 00 00 00    	je     0x451f6c
451ed6:	8b 73 08             	mov    0x8(%ebx),%esi
451ed9:	8b 46 10             	mov    0x10(%esi),%eax
451edc:	8b 55 fc             	mov    -0x4(%ebp),%edx
451edf:	3b 42 48             	cmp    0x48(%edx),%eax
451ee2:	0f 85 84 00 00 00    	jne    0x451f6c
451ee8:	8b 46 14             	mov    0x14(%esi),%eax
451eeb:	8b 55 fc             	mov    -0x4(%ebp),%edx
451eee:	3b 42 4c             	cmp    0x4c(%edx),%eax
451ef1:	75 79                	jne    0x451f6c
451ef3:	8b 73 08             	mov    0x8(%ebx),%esi
451ef6:	8b 45 fc             	mov    -0x4(%ebp),%eax
451ef9:	e8 76 d8 ff ff       	call   0x44f774
451efe:	8d 55 ec             	lea    -0x14(%ebp),%edx
451f01:	e8 b2 19 00 00       	call   0x4538b8
451f06:	55                   	push   %ebp
451f07:	8b 45 fc             	mov    -0x4(%ebp),%eax
451f0a:	e8 65 d8 ff ff       	call   0x44f774
451f0f:	8d 55 dc             	lea    -0x24(%ebp),%edx
451f12:	e8 a1 19 00 00       	call   0x4538b8
451f17:	8b 4d dc             	mov    -0x24(%ebp),%ecx
451f1a:	8d 46 08             	lea    0x8(%esi),%eax
451f1d:	8b 55 ec             	mov    -0x14(%ebp),%edx
451f20:	e8 3f ff ff ff       	call   0x451e64
451f25:	59                   	pop    %ecx
451f26:	55                   	push   %ebp
451f27:	8b 45 fc             	mov    -0x4(%ebp),%eax
451f2a:	e8 45 d8 ff ff       	call   0x44f774
451f2f:	8d 55 dc             	lea    -0x24(%ebp),%edx
451f32:	e8 81 19 00 00       	call   0x4538b8
451f37:	8b 4d e0             	mov    -0x20(%ebp),%ecx
451f3a:	8d 46 0c             	lea    0xc(%esi),%eax
451f3d:	8b 55 f0             	mov    -0x10(%ebp),%edx
451f40:	e8 1f ff ff ff       	call   0x451e64
451f45:	59                   	pop    %ecx
451f46:	55                   	push   %ebp
451f47:	8b 45 fc             	mov    -0x4(%ebp),%eax
451f4a:	8b 48 48             	mov    0x48(%eax),%ecx
451f4d:	8d 46 08             	lea    0x8(%esi),%eax
451f50:	8b 55 f4             	mov    -0xc(%ebp),%edx
451f53:	e8 0c ff ff ff       	call   0x451e64
451f58:	59                   	pop    %ecx
451f59:	55                   	push   %ebp
451f5a:	8b 45 fc             	mov    -0x4(%ebp),%eax
451f5d:	8b 48 4c             	mov    0x4c(%eax),%ecx
451f60:	8d 46 0c             	lea    0xc(%esi),%eax
451f63:	8b 55 f8             	mov    -0x8(%ebp),%edx
451f66:	e8 f9 fe ff ff       	call   0x451e64
451f6b:	59                   	pop    %ecx
451f6c:	8b d3                	mov    %ebx,%edx
451f6e:	8b 45 fc             	mov    -0x4(%ebp),%eax
451f71:	e8 fe dc fe ff       	call   0x43fc74
451f76:	5e                   	pop    %esi
451f77:	5b                   	pop    %ebx
451f78:	8b e5                	mov    %ebp,%esp
451f7a:	5d                   	pop    %ebp
451f7b:	c3                   	ret
451f7c:	53                   	push   %ebx
451f7d:	56                   	push   %esi
451f7e:	8b f2                	mov    %edx,%esi
451f80:	8b d8                	mov    %eax,%ebx
451f82:	8b d6                	mov    %esi,%edx
451f84:	8b c3                	mov    %ebx,%eax
451f86:	e8 39 07 ff ff       	call   0x4426c4
451f8b:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
451f8f:	74 32                	je     0x451fc3
451f91:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
451f95:	74 2c                	je     0x451fc3
451f97:	83 bb 90 02 00 00 00 	cmpl   $0x0,0x290(%ebx)
451f9e:	74 23                	je     0x451fc3
451fa0:	8b 83 90 02 00 00    	mov    0x290(%ebx),%eax
451fa6:	8b 40 34             	mov    0x34(%eax),%eax
451fa9:	e8 ca f2 fd ff       	call   0x431278
451fae:	85 c0                	test   %eax,%eax
451fb0:	7e 11                	jle    0x451fc3
451fb2:	8b 5e 08             	mov    0x8(%esi),%ebx
451fb5:	6a 0f                	push   $0xf
451fb7:	a1 10 d5 46 00       	mov    0x46d510,%eax
451fbc:	8b 00                	mov    (%eax),%eax
451fbe:	ff d0                	call   *%eax
451fc0:	01 43 04             	add    %eax,0x4(%ebx)
451fc3:	5e                   	pop    %esi
451fc4:	5b                   	pop    %ebx
451fc5:	c3                   	ret
451fc6:	8b c0                	mov    %eax,%eax
451fc8:	53                   	push   %ebx
451fc9:	56                   	push   %esi
451fca:	8b d8                	mov    %eax,%ebx
451fcc:	f6 43 1c 02          	testb  $0x2,0x1c(%ebx)
451fd0:	75 0e                	jne    0x451fe0
451fd2:	8b c3                	mov    %ebx,%eax
451fd4:	66 be b0 ff          	mov    $0xffb0,%si
451fd8:	e8 13 1b fb ff       	call   0x403af0
451fdd:	5e                   	pop    %esi
451fde:	5b                   	pop    %ebx
451fdf:	c3                   	ret
451fe0:	80 8b 58 03 00 00 20 	orb    $0x20,0x358(%ebx)
451fe7:	5e                   	pop    %esi
451fe8:	5b                   	pop    %ebx
451fe9:	c3                   	ret
451fea:	8b c0                	mov    %eax,%eax
451fec:	53                   	push   %ebx
451fed:	56                   	push   %esi
451fee:	8b d8                	mov    %eax,%ebx
451ff0:	f6 43 1c 02          	testb  $0x2,0x1c(%ebx)
451ff4:	75 0e                	jne    0x452004
451ff6:	8b c3                	mov    %ebx,%eax
451ff8:	66 be ae ff          	mov    $0xffae,%si
451ffc:	e8 ef 1a fb ff       	call   0x403af0
452001:	5e                   	pop    %esi
452002:	5b                   	pop    %ebx
452003:	c3                   	ret
452004:	80 a3 58 03 00 00 df 	andb   $0xdf,0x358(%ebx)
45200b:	5e                   	pop    %esi
45200c:	5b                   	pop    %ebx
45200d:	c3                   	ret
45200e:	8b c0                	mov    %eax,%eax
452010:	53                   	push   %ebx
452011:	56                   	push   %esi
452012:	8b f2                	mov    %edx,%esi
452014:	8b d8                	mov    %eax,%ebx
452016:	6a 12                	push   $0x12
452018:	e8 d3 4e fb ff       	call   0x406ef0
45201d:	66 85 c0             	test   %ax,%ax
452020:	7c 7c                	jl     0x45209e
452022:	0f b7 46 04          	movzwl 0x4(%esi),%eax
452026:	66 83 e8 09          	sub    $0x9,%ax
45202a:	74 0b                	je     0x452037
45202c:	83 c0 e4             	add    $0xffffffe4,%eax
45202f:	66 83 e8 04          	sub    $0x4,%ax
452033:	72 34                	jb     0x452069
452035:	eb 67                	jmp    0x45209e
452037:	6a 11                	push   $0x11
452039:	e8 b2 4e fb ff       	call   0x406ef0
45203e:	66 85 c0             	test   %ax,%ax
452041:	7c 5b                	jl     0x45209e
452043:	6a 01                	push   $0x1
452045:	6a 10                	push   $0x10
452047:	e8 a4 4e fb ff       	call   0x406ef0
45204c:	66 85 c0             	test   %ax,%ax
45204f:	0f 9d c1             	setge  %cl
452052:	8b 93 68 02 00 00    	mov    0x268(%ebx),%edx
452058:	8b c3                	mov    %ebx,%eax
45205a:	e8 dd fd fe ff       	call   0x441e3c
45205f:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
452066:	5e                   	pop    %esi
452067:	5b                   	pop    %ebx
452068:	c3                   	ret
452069:	8b 83 68 02 00 00    	mov    0x268(%ebx),%eax
45206f:	85 c0                	test   %eax,%eax
452071:	74 34                	je     0x4520a7
452073:	6a 00                	push   $0x0
452075:	0f b7 56 04          	movzwl 0x4(%esi),%edx
452079:	66 83 fa 27          	cmp    $0x27,%dx
45207d:	74 0a                	je     0x452089
45207f:	66 83 fa 28          	cmp    $0x28,%dx
452083:	74 04                	je     0x452089
452085:	33 c9                	xor    %ecx,%ecx
452087:	eb 02                	jmp    0x45208b
452089:	b1 01                	mov    $0x1,%cl
45208b:	8b 50 30             	mov    0x30(%eax),%edx
45208e:	92                   	xchg   %eax,%edx
45208f:	e8 a8 fd fe ff       	call   0x441e3c
452094:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
45209b:	5e                   	pop    %esi
45209c:	5b                   	pop    %ebx
45209d:	c3                   	ret
45209e:	8b d6                	mov    %esi,%edx
4520a0:	8b c3                	mov    %ebx,%eax
4520a2:	e8 1d ec fe ff       	call   0x440cc4
4520a7:	5e                   	pop    %esi
4520a8:	5b                   	pop    %ebx
4520a9:	c3                   	ret
4520aa:	8b c0                	mov    %eax,%eax
4520ac:	55                   	push   %ebp
4520ad:	8b ec                	mov    %esp,%ebp
4520af:	83 c4 f8             	add    $0xfffffff8,%esp
4520b2:	53                   	push   %ebx
4520b3:	56                   	push   %esi
4520b4:	57                   	push   %edi
4520b5:	33 c9                	xor    %ecx,%ecx
4520b7:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4520ba:	89 45 fc             	mov    %eax,-0x4(%ebp)
4520bd:	33 c0                	xor    %eax,%eax
4520bf:	55                   	push   %ebp
4520c0:	68 b7 26 45 00       	push   $0x4526b7
4520c5:	64 ff 30             	push   %fs:(%eax)
4520c8:	64 89 20             	mov    %esp,%fs:(%eax)
4520cb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4520ce:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
4520d2:	75 2d                	jne    0x452101
4520d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4520d7:	f6 80 58 03 00 00 04 	testb  $0x4,0x358(%eax)
4520de:	74 21                	je     0x452101
4520e0:	8d 55 f8             	lea    -0x8(%ebp),%edx
4520e3:	a1 f8 d7 46 00       	mov    0x46d7f8,%eax
4520e8:	e8 17 45 fb ff       	call   0x406604
4520ed:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4520f0:	b2 01                	mov    $0x1,%dl
4520f2:	a1 64 57 41 00       	mov    0x415764,%eax
4520f7:	e8 40 a1 fb ff       	call   0x40c23c
4520fc:	e8 67 20 fb ff       	call   0x404168
452101:	a1 80 15 47 00       	mov    0x471580,%eax
452106:	e8 d9 4e 00 00       	call   0x456fe4
45210b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45210e:	80 88 58 03 00 00 04 	orb    $0x4,0x358(%eax)
452115:	33 d2                	xor    %edx,%edx
452117:	55                   	push   %ebp
452118:	68 9a 26 45 00       	push   $0x45269a
45211d:	64 ff 32             	push   %fs:(%edx)
452120:	64 89 22             	mov    %esp,%fs:(%edx)
452123:	8b 45 fc             	mov    -0x4(%ebp),%eax
452126:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
45212a:	0f 85 24 05 00 00    	jne    0x452654
452130:	8b 45 fc             	mov    -0x4(%ebp),%eax
452133:	80 b8 da 01 00 00 00 	cmpb   $0x0,0x1da(%eax)
45213a:	0f 84 07 04 00 00    	je     0x452547
452140:	33 c0                	xor    %eax,%eax
452142:	55                   	push   %ebp
452143:	68 64 21 45 00       	push   $0x452164
452148:	64 ff 30             	push   %fs:(%eax)
45214b:	64 89 20             	mov    %esp,%fs:(%eax)
45214e:	8b 45 fc             	mov    -0x4(%ebp),%eax
452151:	66 be ab ff          	mov    $0xffab,%si
452155:	e8 96 19 fb ff       	call   0x403af0
45215a:	33 c0                	xor    %eax,%eax
45215c:	5a                   	pop    %edx
45215d:	59                   	pop    %ecx
45215e:	59                   	pop    %ecx
45215f:	64 89 10             	mov    %edx,%fs:(%eax)
452162:	eb 17                	jmp    0x45217b
452164:	e9 6b 1c fb ff       	jmp    0x403dd4
452169:	8b 55 fc             	mov    -0x4(%ebp),%edx
45216c:	a1 80 15 47 00       	mov    0x471580,%eax
452171:	e8 4e 44 00 00       	call   0x4565c4
452176:	e8 69 20 fb ff       	call   0x4041e4
45217b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45217e:	80 b8 78 02 00 00 04 	cmpb   $0x4,0x278(%eax)
452185:	74 20                	je     0x4521a7
452187:	8b 45 fc             	mov    -0x4(%ebp),%eax
45218a:	80 b8 78 02 00 00 06 	cmpb   $0x6,0x278(%eax)
452191:	0f 85 f3 00 00 00    	jne    0x45228a
452197:	8b 45 fc             	mov    -0x4(%ebp),%eax
45219a:	80 b8 77 02 00 00 01 	cmpb   $0x1,0x277(%eax)
4521a1:	0f 85 e3 00 00 00    	jne    0x45228a
4521a7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4521aa:	80 b8 77 02 00 00 01 	cmpb   $0x1,0x277(%eax)
4521b1:	75 3a                	jne    0x4521ed
4521b3:	a1 80 15 47 00       	mov    0x471580,%eax
4521b8:	8b 40 44             	mov    0x44(%eax),%eax
4521bb:	e8 58 76 fe ff       	call   0x439818
4521c0:	8b d8                	mov    %eax,%ebx
4521c2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4521c5:	2b 58 48             	sub    0x48(%eax),%ebx
4521c8:	d1 fb                	sar    $1,%ebx
4521ca:	79 03                	jns    0x4521cf
4521cc:	83 d3 00             	adc    $0x0,%ebx
4521cf:	a1 80 15 47 00       	mov    0x471580,%eax
4521d4:	8b 40 44             	mov    0x44(%eax),%eax
4521d7:	e8 80 76 fe ff       	call   0x43985c
4521dc:	8b f0                	mov    %eax,%esi
4521de:	8b 45 fc             	mov    -0x4(%ebp),%eax
4521e1:	2b 70 4c             	sub    0x4c(%eax),%esi
4521e4:	d1 fe                	sar    $1,%esi
4521e6:	79 37                	jns    0x45221f
4521e8:	83 d6 00             	adc    $0x0,%esi
4521eb:	eb 32                	jmp    0x45221f
4521ed:	a1 84 15 47 00       	mov    0x471584,%eax
4521f2:	e8 41 19 00 00       	call   0x453b38
4521f7:	8b d8                	mov    %eax,%ebx
4521f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4521fc:	2b 58 48             	sub    0x48(%eax),%ebx
4521ff:	d1 fb                	sar    $1,%ebx
452201:	79 03                	jns    0x452206
452203:	83 d3 00             	adc    $0x0,%ebx
452206:	a1 84 15 47 00       	mov    0x471584,%eax
45220b:	e8 1c 19 00 00       	call   0x453b2c
452210:	8b f0                	mov    %eax,%esi
452212:	8b 45 fc             	mov    -0x4(%ebp),%eax
452215:	2b 70 4c             	sub    0x4c(%eax),%esi
452218:	d1 fe                	sar    $1,%esi
45221a:	79 03                	jns    0x45221f
45221c:	83 d6 00             	adc    $0x0,%esi
45221f:	a1 84 15 47 00       	mov    0x471584,%eax
452224:	e8 27 19 00 00       	call   0x453b50
452229:	3b d8                	cmp    %eax,%ebx
45222b:	7d 0c                	jge    0x452239
45222d:	a1 84 15 47 00       	mov    0x471584,%eax
452232:	e8 19 19 00 00       	call   0x453b50
452237:	8b d8                	mov    %eax,%ebx
452239:	a1 84 15 47 00       	mov    0x471584,%eax
45223e:	e8 01 19 00 00       	call   0x453b44
452243:	3b f0                	cmp    %eax,%esi
452245:	7d 0c                	jge    0x452253
452247:	a1 84 15 47 00       	mov    0x471584,%eax
45224c:	e8 f3 18 00 00       	call   0x453b44
452251:	8b f0                	mov    %eax,%esi
452253:	8b 45 fc             	mov    -0x4(%ebp),%eax
452256:	8b 40 48             	mov    0x48(%eax),%eax
452259:	50                   	push   %eax
45225a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45225d:	8b 40 4c             	mov    0x4c(%eax),%eax
452260:	50                   	push   %eax
452261:	8b ce                	mov    %esi,%ecx
452263:	8b d3                	mov    %ebx,%edx
452265:	8b 45 fc             	mov    -0x4(%ebp),%eax
452268:	8b 18                	mov    (%eax),%ebx
45226a:	ff 93 88 00 00 00    	call   *0x88(%ebx)
452270:	8b 45 fc             	mov    -0x4(%ebp),%eax
452273:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
452277:	0f 84 d6 01 00 00    	je     0x452453