451f99:	8b 10                	mov    (%eax),%edx
451f9b:	ff 92 d4 00 00 00    	call   *0xd4(%edx)
451fa1:	5e                   	pop    %esi
451fa2:	5d                   	pop    %ebp
451fa3:	c2 04 00             	ret    $0x4
451fa6:	8b c0                	mov    %eax,%eax
451fa8:	55                   	push   %ebp
451fa9:	8b ec                	mov    %esp,%ebp
451fab:	83 c4 f8             	add    $0xfffffff8,%esp
451fae:	53                   	push   %ebx
451faf:	56                   	push   %esi
451fb0:	89 55 f8             	mov    %edx,-0x8(%ebp)
451fb3:	89 45 fc             	mov    %eax,-0x4(%ebp)
451fb6:	8b 45 fc             	mov    -0x4(%ebp),%eax
451fb9:	e8 46 bd ff ff       	call   0x44dd04
451fbe:	8b d8                	mov    %eax,%ebx
451fc0:	4b                   	dec    %ebx
451fc1:	85 db                	test   %ebx,%ebx
451fc3:	7c 21                	jl     0x451fe6
451fc5:	43                   	inc    %ebx
451fc6:	33 f6                	xor    %esi,%esi
451fc8:	8b d6                	mov    %esi,%edx
451fca:	8b 45 fc             	mov    -0x4(%ebp),%eax
451fcd:	e8 f6 bc ff ff       	call   0x44dcc8
451fd2:	8b 50 04             	mov    0x4(%eax),%edx
451fd5:	3b 55 f8             	cmp    -0x8(%ebp),%edx
451fd8:	75 08                	jne    0x451fe2
451fda:	8b d0                	mov    %eax,%edx
451fdc:	8b 45 0c             	mov    0xc(%ebp),%eax
451fdf:	ff 55 08             	call   *0x8(%ebp)
451fe2:	46                   	inc    %esi
451fe3:	4b                   	dec    %ebx
451fe4:	75 e2                	jne    0x451fc8
451fe6:	5e                   	pop    %esi
451fe7:	5b                   	pop    %ebx
451fe8:	59                   	pop    %ecx
451fe9:	59                   	pop    %ecx
451fea:	5d                   	pop    %ebp
451feb:	c2 08 00             	ret    $0x8
451fee:	8b c0                	mov    %eax,%eax
451ff0:	53                   	push   %ebx
451ff1:	56                   	push   %esi
451ff2:	8b f1                	mov    %ecx,%esi
451ff4:	8b da                	mov    %edx,%ebx
451ff6:	8b c3                	mov    %ebx,%eax
451ff8:	8b 15 bc 59 44 00    	mov    0x4459bc,%edx
451ffe:	e8 a5 1a fb ff       	call   0x403aa8
452003:	84 c0                	test   %al,%al
452005:	74 0c                	je     0x452013
452007:	8b d6                	mov    %esi,%edx
452009:	8b c3                	mov    %ebx,%eax
45200b:	e8 00 f6 ff ff       	call   0x451610
452010:	5e                   	pop    %esi
452011:	5b                   	pop    %ebx
452012:	c3                   	ret
452013:	8b c3                	mov    %ebx,%eax
452015:	8b 15 28 51 44 00    	mov    0x445128,%edx
45201b:	e8 88 1a fb ff       	call   0x403aa8
452020:	84 c0                	test   %al,%al
452022:	74 09                	je     0x45202d
452024:	8b d6                	mov    %esi,%edx
452026:	8b c3                	mov    %ebx,%eax
452028:	e8 bb 80 ff ff       	call   0x44a0e8
45202d:	5e                   	pop    %esi
45202e:	5b                   	pop    %ebx
45202f:	c3                   	ret
452030:	e8 c7 8e ff ff       	call   0x44aefc
452035:	c3                   	ret
452036:	8b c0                	mov    %eax,%eax
452038:	55                   	push   %ebp
452039:	8b ec                	mov    %esp,%ebp
45203b:	53                   	push   %ebx
45203c:	56                   	push   %esi
45203d:	57                   	push   %edi
45203e:	8b f0                	mov    %eax,%esi
452040:	8b 46 74             	mov    0x74(%esi),%eax
452043:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
452047:	76 0a                	jbe    0x452053
452049:	8b 5e 74             	mov    0x74(%esi),%ebx
45204c:	8b 5b 14             	mov    0x14(%ebx),%ebx
45204f:	89 1a                	mov    %ebx,(%edx)
452051:	eb 04                	jmp    0x452057
452053:	33 db                	xor    %ebx,%ebx
452055:	89 1a                	mov    %ebx,(%edx)
452057:	83 78 10 00          	cmpl   $0x0,0x10(%eax)
45205b:	76 0a                	jbe    0x452067
45205d:	8b 5e 74             	mov    0x74(%esi),%ebx
452060:	8b 5b 10             	mov    0x10(%ebx),%ebx
452063:	89 19                	mov    %ebx,(%ecx)
452065:	eb 04                	jmp    0x45206b
452067:	33 db                	xor    %ebx,%ebx
452069:	89 19                	mov    %ebx,(%ecx)
45206b:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
45206f:	76 0d                	jbe    0x45207e
452071:	8b 5e 74             	mov    0x74(%esi),%ebx
452074:	8b 5b 0c             	mov    0xc(%ebx),%ebx
452077:	8b 7d 0c             	mov    0xc(%ebp),%edi
45207a:	89 1f                	mov    %ebx,(%edi)
45207c:	eb 07                	jmp    0x452085
45207e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
452081:	33 ff                	xor    %edi,%edi
452083:	89 3b                	mov    %edi,(%ebx)
452085:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
452089:	76 0d                	jbe    0x452098
45208b:	8b 46 74             	mov    0x74(%esi),%eax
45208e:	8b 40 08             	mov    0x8(%eax),%eax
452091:	8b 5d 08             	mov    0x8(%ebp),%ebx
452094:	89 03                	mov    %eax,(%ebx)
452096:	eb 07                	jmp    0x45209f
452098:	8b 45 08             	mov    0x8(%ebp),%eax
45209b:	33 db                	xor    %ebx,%ebx
45209d:	89 18                	mov    %ebx,(%eax)
45209f:	f6 46 52 10          	testb  $0x10,0x52(%esi)
4520a3:	74 3e                	je     0x4520e3
4520a5:	8b 46 78             	mov    0x78(%esi),%eax
4520a8:	8b 40 08             	mov    0x8(%eax),%eax
4520ab:	8b 5e 78             	mov    0x78(%esi),%ebx
4520ae:	03 43 10             	add    0x10(%ebx),%eax
4520b1:	83 3a 00             	cmpl   $0x0,(%edx)
4520b4:	7e 02                	jle    0x4520b8
4520b6:	01 02                	add    %eax,(%edx)
4520b8:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4520bb:	3b 03                	cmp    (%ebx),%eax
4520bd:	7f 05                	jg     0x4520c4
4520bf:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4520c2:	29 03                	sub    %eax,(%ebx)
4520c4:	8b 46 78             	mov    0x78(%esi),%eax
4520c7:	8b 40 0c             	mov    0xc(%eax),%eax
4520ca:	8b 5e 78             	mov    0x78(%esi),%ebx
4520cd:	03 43 14             	add    0x14(%ebx),%eax
4520d0:	83 39 00             	cmpl   $0x0,(%ecx)
4520d3:	7e 02                	jle    0x4520d7
4520d5:	01 01                	add    %eax,(%ecx)
4520d7:	8b 5d 08             	mov    0x8(%ebp),%ebx
4520da:	3b 03                	cmp    (%ebx),%eax
4520dc:	7f 05                	jg     0x4520e3
4520de:	8b 5d 08             	mov    0x8(%ebp),%ebx
4520e1:	29 03                	sub    %eax,(%ebx)
4520e3:	8b 45 0c             	mov    0xc(%ebp),%eax
4520e6:	50                   	push   %eax
4520e7:	8b 45 08             	mov    0x8(%ebp),%eax
4520ea:	50                   	push   %eax
4520eb:	8b c6                	mov    %esi,%eax
4520ed:	8b 18                	mov    (%eax),%ebx
4520ef:	ff 53 38             	call   *0x38(%ebx)
4520f2:	5f                   	pop    %edi
4520f3:	5e                   	pop    %esi
4520f4:	5b                   	pop    %ebx
4520f5:	5d                   	pop    %ebp
4520f6:	c2 08 00             	ret    $0x8
4520f9:	8d 40 00             	lea    0x0(%eax),%eax
4520fc:	55                   	push   %ebp
4520fd:	8b ec                	mov    %esp,%ebp
4520ff:	83 c4 a0             	add    $0xffffffa0,%esp
452102:	53                   	push   %ebx
452103:	56                   	push   %esi
452104:	57                   	push   %edi
452105:	89 4d f8             	mov    %ecx,-0x8(%ebp)
452108:	89 55 fc             	mov    %edx,-0x4(%ebp)
45210b:	8b f0                	mov    %eax,%esi
45210d:	8b c6                	mov    %esi,%eax
45210f:	e8 38 fc ff ff       	call   0x451d4c
452114:	84 c0                	test   %al,%al
452116:	0f 84 59 04 00 00    	je     0x452575
45211c:	8b c6                	mov    %esi,%eax
45211e:	e8 e1 bb ff ff       	call   0x44dd04
452123:	85 c0                	test   %eax,%eax
452125:	0f 84 4a 04 00 00    	je     0x452575
45212b:	8d 55 a2             	lea    -0x5e(%ebp),%edx
45212e:	8b c6                	mov    %esi,%eax
452130:	8b 08                	mov    (%eax),%ecx
452132:	ff 51 44             	call   *0x44(%ecx)
452135:	8d 55 a2             	lea    -0x5e(%ebp),%edx
452138:	8b c6                	mov    %esi,%eax
45213a:	8b 08                	mov    (%eax),%ecx
45213c:	ff 91 90 00 00 00    	call   *0x90(%ecx)
452142:	8d 45 a2             	lea    -0x5e(%ebp),%eax
452145:	50                   	push   %eax
452146:	e8 d5 4f fb ff       	call   0x407120
45214b:	85 c0                	test   %eax,%eax
45214d:	0f 85 22 04 00 00    	jne    0x452575
452153:	8b 46 78             	mov    0x78(%esi),%eax
452156:	ba 02 00 00 00       	mov    $0x2,%edx
45215b:	8b 08                	mov    (%eax),%ecx
45215d:	ff 51 10             	call   *0x10(%ecx)
452160:	8b 55 aa             	mov    -0x56(%ebp),%edx
452163:	2b 55 a2             	sub    -0x5e(%ebp),%edx
452166:	2b c2                	sub    %edx,%eax
452168:	89 45 f4             	mov    %eax,-0xc(%ebp)
45216b:	8b 46 78             	mov    0x78(%esi),%eax
45216e:	ba 03 00 00 00       	mov    $0x3,%edx
452173:	8b 08                	mov    (%eax),%ecx
452175:	ff 51 10             	call   *0x10(%ecx)
452178:	8b 55 ae             	mov    -0x52(%ebp),%edx
45217b:	2b 55 a6             	sub    -0x5a(%ebp),%edx
45217e:	2b c2                	sub    %edx,%eax
452180:	89 45 f0             	mov    %eax,-0x10(%ebp)
452183:	8b 46 78             	mov    0x78(%esi),%eax
452186:	ba 02 00 00 00       	mov    $0x2,%edx
45218b:	8b 08                	mov    (%eax),%ecx
45218d:	ff 51 10             	call   *0x10(%ecx)
452190:	8b 55 aa             	mov    -0x56(%ebp),%edx
452193:	2b 55 a2             	sub    -0x5e(%ebp),%edx
452196:	2b c2                	sub    %edx,%eax
452198:	89 45 ec             	mov    %eax,-0x14(%ebp)
45219b:	8b 46 78             	mov    0x78(%esi),%eax
45219e:	ba 03 00 00 00       	mov    $0x3,%edx
4521a3:	8b 08                	mov    (%eax),%ecx
4521a5:	ff 51 10             	call   *0x10(%ecx)
4521a8:	8b 55 ae             	mov    -0x52(%ebp),%edx
4521ab:	2b 55 a6             	sub    -0x5a(%ebp),%edx
4521ae:	2b c2                	sub    %edx,%eax
4521b0:	89 45 e8             	mov    %eax,-0x18(%ebp)
4521b3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4521b6:	83 38 00             	cmpl   $0x0,(%eax)
4521b9:	7e 08                	jle    0x4521c3
4521bb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4521be:	8b 55 f4             	mov    -0xc(%ebp),%edx
4521c1:	29 10                	sub    %edx,(%eax)
4521c3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4521c6:	83 38 00             	cmpl   $0x0,(%eax)
4521c9:	7e 08                	jle    0x4521d3
4521cb:	8b 45 f8             	mov    -0x8(%ebp),%eax
4521ce:	8b 55 f0             	mov    -0x10(%ebp),%edx
4521d1:	29 10                	sub    %edx,(%eax)
4521d3:	8b 45 0c             	mov    0xc(%ebp),%eax
4521d6:	83 38 00             	cmpl   $0x0,(%eax)
4521d9:	7e 08                	jle    0x4521e3
4521db:	8b 45 0c             	mov    0xc(%ebp),%eax
4521de:	8b 55 ec             	mov    -0x14(%ebp),%edx
4521e1:	29 10                	sub    %edx,(%eax)
4521e3:	8b 45 08             	mov    0x8(%ebp),%eax
4521e6:	83 38 00             	cmpl   $0x0,(%eax)
4521e9:	7e 08                	jle    0x4521f3
4521eb:	8b 45 08             	mov    0x8(%ebp),%eax
4521ee:	8b 55 e8             	mov    -0x18(%ebp),%edx
4521f1:	29 10                	sub    %edx,(%eax)
4521f3:	33 c0                	xor    %eax,%eax
4521f5:	55                   	push   %ebp
4521f6:	68 6e 25 45 00       	push   $0x45256e
4521fb:	64 ff 30             	push   %fs:(%eax)
4521fe:	64 89 20             	mov    %esp,%fs:(%eax)
452201:	33 c0                	xor    %eax,%eax
452203:	89 45 e0             	mov    %eax,-0x20(%ebp)
452206:	33 c0                	xor    %eax,%eax
452208:	89 45 d0             	mov    %eax,-0x30(%ebp)
45220b:	33 c0                	xor    %eax,%eax
45220d:	89 45 dc             	mov    %eax,-0x24(%ebp)
452210:	33 c0                	xor    %eax,%eax
452212:	89 45 cc             	mov    %eax,-0x34(%ebp)
452215:	33 c0                	xor    %eax,%eax
452217:	89 45 d8             	mov    %eax,-0x28(%ebp)
45221a:	33 c0                	xor    %eax,%eax
45221c:	89 45 c8             	mov    %eax,-0x38(%ebp)
45221f:	33 c0                	xor    %eax,%eax
452221:	89 45 d4             	mov    %eax,-0x2c(%ebp)
452224:	33 c0                	xor    %eax,%eax
452226:	89 45 c4             	mov    %eax,-0x3c(%ebp)
452229:	8b c6                	mov    %esi,%eax
45222b:	e8 d4 ba ff ff       	call   0x44dd04
452230:	8b f8                	mov    %eax,%edi
452232:	4f                   	dec    %edi
452233:	85 ff                	test   %edi,%edi
452235:	0f 8c 5d 02 00 00    	jl     0x452498
45223b:	47                   	inc    %edi
45223c:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
452243:	8b 55 e4             	mov    -0x1c(%ebp),%edx
452246:	8b c6                	mov    %esi,%eax
452248:	e8 7b ba ff ff       	call   0x44dcc8
45224d:	8b d8                	mov    %eax,%ebx
45224f:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
452253:	75 14                	jne    0x452269
452255:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
452259:	0f 84 2f 02 00 00    	je     0x45248e
45225f:	f6 43 51 04          	testb  $0x4,0x51(%ebx)
452263:	0f 85 25 02 00 00    	jne    0x45248e
452269:	8d 45 bc             	lea    -0x44(%ebp),%eax
45226c:	50                   	push   %eax
45226d:	8d 45 b4             	lea    -0x4c(%ebp),%eax
452270:	50                   	push   %eax
452271:	8d 4d b8             	lea    -0x48(%ebp),%ecx
452274:	8d 55 c0             	lea    -0x40(%ebp),%edx
452277:	8b c3                	mov    %ebx,%eax
452279:	e8 ba fd ff ff       	call   0x452038
45227e:	0f b6 43 5b          	movzbl 0x5b(%ebx),%eax
452282:	2c 01                	sub    $0x1,%al
452284:	72 16                	jb     0x45229c
452286:	2c 02                	sub    $0x2,%al
452288:	72 06                	jb     0x452290
45228a:	2c 02                	sub    $0x2,%al
45228c:	74 08                	je     0x452296
45228e:	eb 6f                	jmp    0x4522ff
452290:	c6 45 b3 01          	movb   $0x1,-0x4d(%ebp)
452294:	eb 6d                	jmp    0x452303
452296:	c6 45 b3 02          	movb   $0x2,-0x4d(%ebp)
45229a:	eb 67                	jmp    0x452303
45229c:	0f b6 43 61          	movzbl 0x61(%ebx),%eax
4522a0:	22 05 80 25 45 00    	and    0x452580,%al
4522a6:	0f b6 15 80 25 45 00 	movzbl 0x452580,%edx
4522ad:	3a d0                	cmp    %al,%dl
4522af:	75 48                	jne    0x4522f9
4522b1:	c6 45 b3 01          	movb   $0x1,-0x4d(%ebp)
4522b5:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
4522b9:	7e 1b                	jle    0x4522d6
4522bb:	8b 43 78             	mov    0x78(%ebx),%eax
4522be:	ba 02 00 00 00       	mov    $0x2,%edx
4522c3:	8b 08                	mov    (%eax),%ecx
4522c5:	ff 51 10             	call   *0x10(%ecx)
4522c8:	8b 55 aa             	mov    -0x56(%ebp),%edx
4522cb:	2b 55 a2             	sub    -0x5e(%ebp),%edx
4522ce:	2b d0                	sub    %eax,%edx
4522d0:	2b 55 c0             	sub    -0x40(%ebp),%edx
4522d3:	89 55 c0             	mov    %edx,-0x40(%ebp)
4522d6:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
4522da:	7e 27                	jle    0x452303
4522dc:	8b 43 78             	mov    0x78(%ebx),%eax
4522df:	ba 02 00 00 00       	mov    $0x2,%edx
4522e4:	8b 08                	mov    (%eax),%ecx
4522e6:	ff 51 10             	call   *0x10(%ecx)
4522e9:	8b 55 aa             	mov    -0x56(%ebp),%edx
4522ec:	2b 55 a2             	sub    -0x5e(%ebp),%edx
4522ef:	03 55 bc             	add    -0x44(%ebp),%edx
4522f2:	2b d0                	sub    %eax,%edx
4522f4:	89 55 bc             	mov    %edx,-0x44(%ebp)
4522f7:	eb 0a                	jmp    0x452303
4522f9:	c6 45 b3 00          	movb   $0x0,-0x4d(%ebp)
4522fd:	eb 04                	jmp    0x452303
4522ff:	c6 45 b3 03          	movb   $0x3,-0x4d(%ebp)
452303:	0f b6 43 5b          	movzbl 0x5b(%ebx),%eax
452307:	2c 01                	sub    $0x1,%al
452309:	72 16                	jb     0x452321
45230b:	04 fe                	add    $0xfe,%al
45230d:	2c 02                	sub    $0x2,%al
45230f:	72 04                	jb     0x452315
452311:	74 08                	je     0x45231b
452313:	eb 6f                	jmp    0x452384
452315:	c6 45 b2 01          	movb   $0x1,-0x4e(%ebp)
452319:	eb 6d                	jmp    0x452388
45231b:	c6 45 b2 02          	movb   $0x2,-0x4e(%ebp)
45231f:	eb 67                	jmp    0x452388
452321:	0f b6 43 61          	movzbl 0x61(%ebx),%eax
452325:	22 05 84 25 45 00    	and    0x452584,%al
45232b:	0f b6 15 84 25 45 00 	movzbl 0x452584,%edx
452332:	3a d0                	cmp    %al,%dl
452334:	75 48                	jne    0x45237e
452336:	c6 45 b2 01          	movb   $0x1,-0x4e(%ebp)
45233a:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
45233e:	7e 1b                	jle    0x45235b
452340:	8b 43 78             	mov    0x78(%ebx),%eax
452343:	ba 03 00 00 00       	mov    $0x3,%edx