447f58:	7e 40                	jle    0x447f9a
447f5a:	66 8b 04 73          	mov    (%ebx,%esi,2),%ax
447f5e:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
447f62:	66 8b 44 73 02       	mov    0x2(%ebx,%esi,2),%ax
447f67:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
447f6b:	33 c0                	xor    %eax,%eax
447f6d:	6a 08                	push   $0x8
447f6f:	8d 55 ec             	lea    -0x14(%ebp),%edx
447f72:	8d 4d f4             	lea    -0xc(%ebp),%ecx
447f75:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
447f79:	e8 d3 44 fd ff       	call   0x41c451
447f7e:	59                   	pop    %ecx
447f7f:	84 c0                	test   %al,%al
447f81:	74 1e                	je     0x447fa1
447f83:	8a 4d ec             	mov    -0x14(%ebp),%cl
447f86:	8b c6                	mov    %esi,%eax
447f88:	99                   	cltd
447f89:	2b c2                	sub    %edx,%eax
447f8b:	8b 55 fc             	mov    -0x4(%ebp),%edx
447f8e:	d1 f8                	sar    $1,%eax
447f90:	83 c6 02             	add    $0x2,%esi
447f93:	88 0c 10             	mov    %cl,(%eax,%edx,1)
447f96:	3b f7                	cmp    %edi,%esi
447f98:	7c c0                	jl     0x447f5a
447f9a:	b0 01                	mov    $0x1,%al
447f9c:	5e                   	pop    %esi
447f9d:	5f                   	pop    %edi
447f9e:	5b                   	pop    %ebx
447f9f:	c9                   	leave
447fa0:	c3                   	ret
447fa1:	32 c0                	xor    %al,%al
447fa3:	eb f7                	jmp    0x447f9c
447fa5:	55                   	push   %ebp
447fa6:	8b ec                	mov    %esp,%ebp
447fa8:	51                   	push   %ecx
447fa9:	53                   	push   %ebx
447faa:	56                   	push   %esi
447fab:	57                   	push   %edi
447fac:	8b f9                	mov    %ecx,%edi
447fae:	57                   	push   %edi
447faf:	8b f2                	mov    %edx,%esi
447fb1:	e8 25 8d fd ff       	call   0x420cdb
447fb6:	83 26 00             	andl   $0x0,(%esi)
447fb9:	59                   	pop    %ecx
447fba:	33 c9                	xor    %ecx,%ecx
447fbc:	41                   	inc    %ecx
447fbd:	8d 50 ff             	lea    -0x1(%eax),%edx
447fc0:	33 db                	xor    %ebx,%ebx
447fc2:	c7 45 fc 30 00 00 00 	movl   $0x30,-0x4(%ebp)
447fc9:	85 d2                	test   %edx,%edx
447fcb:	78 3f                	js     0x44800c
447fcd:	0f b7 04 57          	movzwl (%edi,%edx,2),%eax
447fd1:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
447fd5:	72 0a                	jb     0x447fe1
447fd7:	83 f8 39             	cmp    $0x39,%eax
447fda:	77 05                	ja     0x447fe1
447fdc:	83 e8 30             	sub    $0x30,%eax
447fdf:	eb 1c                	jmp    0x447ffd
447fe1:	83 f8 41             	cmp    $0x41,%eax
447fe4:	72 0a                	jb     0x447ff0
447fe6:	83 f8 46             	cmp    $0x46,%eax
447fe9:	77 05                	ja     0x447ff0
447feb:	83 e8 37             	sub    $0x37,%eax
447fee:	eb 0d                	jmp    0x447ffd
447ff0:	83 f8 61             	cmp    $0x61,%eax
447ff3:	72 39                	jb     0x44802e
447ff5:	83 f8 66             	cmp    $0x66,%eax
447ff8:	77 34                	ja     0x44802e
447ffa:	83 e8 57             	sub    $0x57,%eax
447ffd:	0f af c1             	imul   %ecx,%eax
448000:	01 06                	add    %eax,(%esi)
448002:	4a                   	dec    %edx
448003:	c1 e1 04             	shl    $0x4,%ecx
448006:	43                   	inc    %ebx
448007:	83 fb 08             	cmp    $0x8,%ebx
44800a:	7c bd                	jl     0x447fc9
44800c:	83 fa ff             	cmp    $0xffffffff,%edx
44800f:	74 16                	je     0x448027
448011:	0f b7 4f 02          	movzwl 0x2(%edi),%ecx
448015:	83 f9 78             	cmp    $0x78,%ecx
448018:	74 05                	je     0x44801f
44801a:	83 f9 58             	cmp    $0x58,%ecx
44801d:	75 0f                	jne    0x44802e
44801f:	6a 30                	push   $0x30
448021:	58                   	pop    %eax
448022:	66 39 07             	cmp    %ax,(%edi)
448025:	75 07                	jne    0x44802e
448027:	b0 01                	mov    $0x1,%al
448029:	5f                   	pop    %edi
44802a:	5e                   	pop    %esi
44802b:	5b                   	pop    %ebx
44802c:	c9                   	leave
44802d:	c3                   	ret
44802e:	83 26 00             	andl   $0x0,(%esi)
448031:	32 c0                	xor    %al,%al
448033:	eb f4                	jmp    0x448029
448035:	55                   	push   %ebp
448036:	8b ec                	mov    %esp,%ebp
448038:	51                   	push   %ecx
448039:	56                   	push   %esi
44803a:	57                   	push   %edi
44803b:	8b f9                	mov    %ecx,%edi
44803d:	8b f2                	mov    %edx,%esi
44803f:	85 ff                	test   %edi,%edi
448041:	75 04                	jne    0x448047
448043:	33 c0                	xor    %eax,%eax
448045:	eb 4b                	jmp    0x448092
448047:	83 fe ff             	cmp    $0xffffffff,%esi
44804a:	75 0a                	jne    0x448056
44804c:	57                   	push   %edi
44804d:	e8 89 8c fd ff       	call   0x420cdb
448052:	59                   	pop    %ecx
448053:	8d 70 01             	lea    0x1(%eax),%esi
448056:	53                   	push   %ebx
448057:	33 c0                	xor    %eax,%eax
448059:	50                   	push   %eax
44805a:	50                   	push   %eax
44805b:	50                   	push   %eax
44805c:	50                   	push   %eax
44805d:	56                   	push   %esi
44805e:	57                   	push   %edi
44805f:	50                   	push   %eax
448060:	50                   	push   %eax
448061:	ff 15 9c d1 48 00    	call   *0x48d19c
448067:	8b d8                	mov    %eax,%ebx
448069:	85 db                	test   %ebx,%ebx
44806b:	74 24                	je     0x448091
44806d:	3b de                	cmp    %esi,%ebx
44806f:	7d 03                	jge    0x448074
448071:	56                   	push   %esi
448072:	eb 01                	jmp    0x448075
448074:	53                   	push   %ebx
448075:	e8 70 74 fd ff       	call   0x41f4ea
44807a:	59                   	pop    %ecx
44807b:	33 c9                	xor    %ecx,%ecx
44807d:	51                   	push   %ecx
44807e:	51                   	push   %ecx
44807f:	53                   	push   %ebx
448080:	50                   	push   %eax
448081:	56                   	push   %esi
448082:	57                   	push   %edi
448083:	51                   	push   %ecx
448084:	51                   	push   %ecx
448085:	89 45 fc             	mov    %eax,-0x4(%ebp)
448088:	ff 15 9c d1 48 00    	call   *0x48d19c
44808e:	8b 45 fc             	mov    -0x4(%ebp),%eax
448091:	5b                   	pop    %ebx
448092:	5f                   	pop    %edi
448093:	5e                   	pop    %esi
448094:	c9                   	leave
448095:	c3                   	ret
448096:	53                   	push   %ebx
448097:	57                   	push   %edi
448098:	33 c0                	xor    %eax,%eax
44809a:	50                   	push   %eax
44809b:	50                   	push   %eax
44809c:	6a ff                	push   $0xffffffff
44809e:	8b d9                	mov    %ecx,%ebx
4480a0:	53                   	push   %ebx
4480a1:	50                   	push   %eax
4480a2:	68 e9 fd 00 00       	push   $0xfde9
4480a7:	ff 15 78 d1 48 00    	call   *0x48d178
4480ad:	8b f8                	mov    %eax,%edi
4480af:	85 ff                	test   %edi,%edi
4480b1:	74 2d                	je     0x4480e0
4480b3:	56                   	push   %esi
4480b4:	33 c9                	xor    %ecx,%ecx
4480b6:	6a 02                	push   $0x2
4480b8:	5a                   	pop    %edx
4480b9:	f7 e2                	mul    %edx
4480bb:	0f 90 c1             	seto   %cl
4480be:	f7 d9                	neg    %ecx
4480c0:	0b c8                	or     %eax,%ecx
4480c2:	51                   	push   %ecx
4480c3:	e8 22 74 fd ff       	call   0x41f4ea
4480c8:	59                   	pop    %ecx
4480c9:	57                   	push   %edi
4480ca:	8b f0                	mov    %eax,%esi
4480cc:	56                   	push   %esi
4480cd:	6a ff                	push   $0xffffffff
4480cf:	53                   	push   %ebx
4480d0:	6a 00                	push   $0x0
4480d2:	68 e9 fd 00 00       	push   $0xfde9
4480d7:	ff 15 78 d1 48 00    	call   *0x48d178
4480dd:	8b c6                	mov    %esi,%eax
4480df:	5e                   	pop    %esi
4480e0:	5f                   	pop    %edi
4480e1:	5b                   	pop    %ebx
4480e2:	c3                   	ret
4480e3:	55                   	push   %ebp
4480e4:	8b ec                	mov    %esp,%ebp
4480e6:	8b 45 14             	mov    0x14(%ebp),%eax
4480e9:	48                   	dec    %eax
4480ea:	74 13                	je     0x4480ff
4480ec:	48                   	dec    %eax
4480ed:	75 3d                	jne    0x44812c
4480ef:	ff 75 10             	push   0x10(%ebp)
4480f2:	b9 e0 20 4c 00       	mov    $0x4c20e0,%ecx
4480f7:	ff 75 0c             	push   0xc(%ebp)
4480fa:	ff 75 08             	push   0x8(%ebp)
4480fd:	eb 24                	jmp    0x448123
4480ff:	83 3d f0 20 4c 00 00 	cmpl   $0x0,0x4c20f0
448106:	74 24                	je     0x44812c
448108:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
44810c:	74 1e                	je     0x44812c
44810e:	ff 75 10             	push   0x10(%ebp)
448111:	b9 f0 20 4c 00       	mov    $0x4c20f0,%ecx
448116:	ff 75 0c             	push   0xc(%ebp)
448119:	ff 75 08             	push   0x8(%ebp)
44811c:	e8 5e 00 00 00       	call   0x44817f
448121:	8b c8                	mov    %eax,%ecx
448123:	e8 98 1b 00 00       	call   0x449cc0
448128:	b0 01                	mov    $0x1,%al
44812a:	eb 02                	jmp    0x44812e
44812c:	32 c0                	xor    %al,%al
44812e:	5d                   	pop    %ebp
44812f:	c2 10 00             	ret    $0x10
448132:	55                   	push   %ebp
448133:	8b ec                	mov    %esp,%ebp
448135:	51                   	push   %ecx
448136:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
44813a:	83 3d f0 20 4c 00 00 	cmpl   $0x0,0x4c20f0
448141:	74 21                	je     0x448164
448143:	8d 45 fc             	lea    -0x4(%ebp),%eax
448146:	50                   	push   %eax
448147:	ff 75 08             	push   0x8(%ebp)
44814a:	b9 f0 20 4c 00       	mov    $0x4c20f0,%ecx
44814f:	e8 2b 00 00 00       	call   0x44817f
448154:	8b c8                	mov    %eax,%ecx
448156:	e8 85 5b fd ff       	call   0x41dce0
44815b:	85 c0                	test   %eax,%eax
44815d:	74 05                	je     0x448164
44815f:	83 c8 ff             	or     $0xffffffff,%eax
448162:	eb 17                	jmp    0x44817b
448164:	8d 45 fc             	lea    -0x4(%ebp),%eax
448167:	50                   	push   %eax
448168:	ff 75 08             	push   0x8(%ebp)
44816b:	b9 e0 20 4c 00       	mov    $0x4c20e0,%ecx
448170:	e8 6b 5b fd ff       	call   0x41dce0
448175:	f7 d8                	neg    %eax
448177:	1b c0                	sbb    %eax,%eax
448179:	f7 d8                	neg    %eax
44817b:	c9                   	leave
44817c:	c2 04 00             	ret    $0x4
44817f:	80 79 09 00          	cmpb   $0x0,0x9(%ecx)
448183:	8b 41 04             	mov    0x4(%ecx),%eax
448186:	74 03                	je     0x44818b
448188:	8b 40 08             	mov    0x8(%eax),%eax
44818b:	c3                   	ret
44818c:	55                   	push   %ebp
44818d:	8b ec                	mov    %esp,%ebp
44818f:	53                   	push   %ebx
448190:	8b 5d 08             	mov    0x8(%ebp),%ebx
448193:	56                   	push   %esi
448194:	8b f1                	mov    %ecx,%esi
448196:	57                   	push   %edi
448197:	33 ff                	xor    %edi,%edi
448199:	89 7e 04             	mov    %edi,0x4(%esi)
44819c:	89 7e 08             	mov    %edi,0x8(%esi)
44819f:	8b 43 10             	mov    0x10(%ebx),%eax
4481a2:	89 46 10             	mov    %eax,0x10(%esi)
4481a5:	85 c0                	test   %eax,%eax
4481a7:	74 02                	je     0x4481ab
4481a9:	ff 00                	incl   (%eax)
4481ab:	8b 43 08             	mov    0x8(%ebx),%eax
4481ae:	89 46 08             	mov    %eax,0x8(%esi)
4481b1:	8b 43 0c             	mov    0xc(%ebx),%eax
4481b4:	89 46 0c             	mov    %eax,0xc(%esi)
4481b7:	8b 03                	mov    (%ebx),%eax
4481b9:	89 45 08             	mov    %eax,0x8(%ebp)
4481bc:	89 06                	mov    %eax,(%esi)
4481be:	85 c0                	test   %eax,%eax
4481c0:	74 71                	je     0x448233
4481c2:	33 c9                	xor    %ecx,%ecx
4481c4:	6a 20                	push   $0x20
4481c6:	5a                   	pop    %edx
4481c7:	f7 e2                	mul    %edx
4481c9:	0f 90 c1             	seto   %cl
4481cc:	f7 d9                	neg    %ecx
4481ce:	0b c8                	or     %eax,%ecx
4481d0:	33 c0                	xor    %eax,%eax
4481d2:	83 c1 04             	add    $0x4,%ecx
4481d5:	0f 92 c0             	setb   %al
4481d8:	f7 d8                	neg    %eax
4481da:	0b c1                	or     %ecx,%eax
4481dc:	50                   	push   %eax
4481dd:	e8 08 73 fd ff       	call   0x41f4ea
4481e2:	59                   	pop    %ecx
4481e3:	85 c0                	test   %eax,%eax
4481e5:	74 20                	je     0x448207
4481e7:	8b 4d 08             	mov    0x8(%ebp),%ecx
4481ea:	68 3c 82 44 00       	push   $0x44823c
4481ef:	51                   	push   %ecx
4481f0:	89 08                	mov    %ecx,(%eax)
4481f2:	83 c0 04             	add    $0x4,%eax
4481f5:	6a 20                	push   $0x20
4481f7:	5a                   	pop    %edx
4481f8:	8b c8                	mov    %eax,%ecx
4481fa:	89 45 08             	mov    %eax,0x8(%ebp)
4481fd:	e8 6a c7 fb ff       	call   0x40496c
448202:	8b 45 08             	mov    0x8(%ebp),%eax
448205:	eb 02                	jmp    0x448209
448207:	8b c7                	mov    %edi,%eax
448209:	89 46 04             	mov    %eax,0x4(%esi)
44820c:	39 3e                	cmp    %edi,(%esi)
44820e:	7e 23                	jle    0x448233
448210:	8b d7                	mov    %edi,%edx
448212:	89 7d 08             	mov    %edi,0x8(%ebp)
448215:	8b 43 04             	mov    0x4(%ebx),%eax
448218:	8b 4e 04             	mov    0x4(%esi),%ecx
44821b:	03 c2                	add    %edx,%eax
44821d:	50                   	push   %eax
44821e:	03 ca                	add    %edx,%ecx
448220:	e8 85 00 00 00       	call   0x4482aa
448225:	8b 55 08             	mov    0x8(%ebp),%edx
448228:	47                   	inc    %edi
448229:	83 c2 20             	add    $0x20,%edx
44822c:	89 55 08             	mov    %edx,0x8(%ebp)
44822f:	3b 3e                	cmp    (%esi),%edi
448231:	7c e2                	jl     0x448215
448233:	5f                   	pop    %edi
448234:	8b c6                	mov    %esi,%eax
448236:	5e                   	pop    %esi
448237:	5b                   	pop    %ebx
448238:	5d                   	pop    %ebp
448239:	c2 04 00             	ret    $0x4
44823c:	56                   	push   %esi
44823d:	8b f1                	mov    %ecx,%esi
44823f:	8d 4e 0c             	lea    0xc(%esi),%ecx
448242:	e8 b0 55 fc ff       	call   0x40d7f7
448247:	8b c6                	mov    %esi,%eax
448249:	5e                   	pop    %esi
44824a:	c3                   	ret
44824b:	83 c1 0c             	add    $0xc,%ecx
44824e:	e9 e4 48 fc ff       	jmp    0x40cb37
448253:	55                   	push   %ebp
448254:	8b ec                	mov    %esp,%ebp
448256:	56                   	push   %esi
448257:	8b f1                	mov    %ecx,%esi
448259:	e8 8c e8 fb ff       	call   0x406aea
44825e:	84 c0                	test   %al,%al
448260:	74 29                	je     0x44828b
448262:	8b 46 0c             	mov    0xc(%esi),%eax
448265:	8b ce                	mov    %esi,%ecx
448267:	ff 08                	decl   (%eax)
448269:	e8 dc e8 fb ff       	call   0x406b4a
44826e:	6a 08                	push   $0x8
448270:	58                   	pop    %eax
448271:	33 c9                	xor    %ecx,%ecx
448273:	6a 02                	push   $0x2