447d90:	46                   	inc    %esi
447d91:	c1 e1 08             	shl    $0x8,%ecx
447d94:	89 45 fc             	mov    %eax,-0x4(%ebp)
447d97:	89 4d f8             	mov    %ecx,-0x8(%ebp)
447d9a:	3b f3                	cmp    %ebx,%esi
447d9c:	7c d0                	jl     0x447d6e
447d9e:	b0 01                	mov    $0x1,%al
447da0:	5f                   	pop    %edi
447da1:	eb 0a                	jmp    0x447dad
447da3:	8b 45 08             	mov    0x8(%ebp),%eax
447da6:	89 30                	mov    %esi,(%eax)
447da8:	89 70 04             	mov    %esi,0x4(%eax)
447dab:	32 c0                	xor    %al,%al
447dad:	5e                   	pop    %esi
447dae:	5b                   	pop    %ebx
447daf:	c9                   	leave
447db0:	c3                   	ret
447db1:	55                   	push   %ebp
447db2:	8b ec                	mov    %esp,%ebp
447db4:	83 ec 0c             	sub    $0xc,%esp
447db7:	56                   	push   %esi
447db8:	57                   	push   %edi
447db9:	8b fa                	mov    %edx,%edi
447dbb:	57                   	push   %edi
447dbc:	8b f1                	mov    %ecx,%esi
447dbe:	ff 15 40 d2 48 00    	call   *0x48d240
447dc4:	66 83 3e 00          	cmpw   $0x0,(%esi)
447dc8:	0f 84 5b 01 00 00    	je     0x447f29
447dce:	56                   	push   %esi
447dcf:	e8 07 8f fd ff       	call   0x420cdb
447dd4:	59                   	pop    %ecx
447dd5:	83 f8 04             	cmp    $0x4,%eax
447dd8:	0f 82 4b 01 00 00    	jb     0x447f29
447dde:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
447de2:	53                   	push   %ebx
447de3:	8b 5d 0c             	mov    0xc(%ebp),%ebx
447de6:	0f 84 97 00 00 00    	je     0x447e83
447dec:	6a 04                	push   $0x4
447dee:	8d 45 f4             	lea    -0xc(%ebp),%eax
447df1:	56                   	push   %esi
447df2:	50                   	push   %eax
447df3:	e8 b4 a5 fd ff       	call   0x4223ac
447df8:	33 c0                	xor    %eax,%eax
447dfa:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
447dfe:	8d 45 f4             	lea    -0xc(%ebp),%eax
447e01:	50                   	push   %eax
447e02:	e8 1a 98 fd ff       	call   0x421621
447e07:	8d 34 5e             	lea    (%esi,%ebx,2),%esi
447e0a:	83 c6 08             	add    $0x8,%esi
447e0d:	56                   	push   %esi
447e0e:	66 89 07             	mov    %ax,(%edi)
447e11:	e8 c5 8e fd ff       	call   0x420cdb
447e16:	83 c4 14             	add    $0x14,%esp
447e19:	83 f8 02             	cmp    $0x2,%eax
447e1c:	72 65                	jb     0x447e83
447e1e:	6a 02                	push   $0x2
447e20:	8d 45 f4             	lea    -0xc(%ebp),%eax
447e23:	56                   	push   %esi
447e24:	50                   	push   %eax
447e25:	e8 82 a5 fd ff       	call   0x4223ac
447e2a:	33 c0                	xor    %eax,%eax
447e2c:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
447e30:	8d 45 f4             	lea    -0xc(%ebp),%eax
447e33:	50                   	push   %eax
447e34:	e8 e8 97 fd ff       	call   0x421621
447e39:	8d 34 5e             	lea    (%esi,%ebx,2),%esi
447e3c:	83 c6 04             	add    $0x4,%esi
447e3f:	56                   	push   %esi
447e40:	66 89 47 02          	mov    %ax,0x2(%edi)
447e44:	e8 92 8e fd ff       	call   0x420cdb
447e49:	83 c4 14             	add    $0x14,%esp
447e4c:	83 f8 02             	cmp    $0x2,%eax
447e4f:	72 32                	jb     0x447e83
447e51:	6a 02                	push   $0x2
447e53:	8d 45 f4             	lea    -0xc(%ebp),%eax
447e56:	56                   	push   %esi
447e57:	50                   	push   %eax
447e58:	e8 4f a5 fd ff       	call   0x4223ac
447e5d:	33 c0                	xor    %eax,%eax
447e5f:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
447e63:	8d 45 f4             	lea    -0xc(%ebp),%eax
447e66:	50                   	push   %eax
447e67:	e8 b5 97 fd ff       	call   0x421621
447e6c:	83 c6 04             	add    $0x4,%esi
447e6f:	56                   	push   %esi
447e70:	66 89 47 06          	mov    %ax,0x6(%edi)
447e74:	e8 62 8e fd ff       	call   0x420cdb
447e79:	83 c4 14             	add    $0x14,%esp
447e7c:	85 c0                	test   %eax,%eax
447e7e:	74 03                	je     0x447e83
447e80:	8d 34 5e             	lea    (%esi,%ebx,2),%esi
447e83:	56                   	push   %esi
447e84:	e8 52 8e fd ff       	call   0x420cdb
447e89:	59                   	pop    %ecx
447e8a:	83 f8 02             	cmp    $0x2,%eax
447e8d:	0f 82 91 00 00 00    	jb     0x447f24
447e93:	6a 02                	push   $0x2
447e95:	8d 45 f4             	lea    -0xc(%ebp),%eax
447e98:	56                   	push   %esi
447e99:	50                   	push   %eax
447e9a:	e8 0d a5 fd ff       	call   0x4223ac
447e9f:	33 c0                	xor    %eax,%eax
447ea1:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
447ea5:	8d 45 f4             	lea    -0xc(%ebp),%eax
447ea8:	50                   	push   %eax
447ea9:	e8 73 97 fd ff       	call   0x421621
447eae:	8d 34 5e             	lea    (%esi,%ebx,2),%esi
447eb1:	83 c6 04             	add    $0x4,%esi
447eb4:	56                   	push   %esi
447eb5:	66 89 47 08          	mov    %ax,0x8(%edi)
447eb9:	8d 1c 5d 04 00 00 00 	lea    0x4(,%ebx,2),%ebx
447ec0:	e8 16 8e fd ff       	call   0x420cdb
447ec5:	83 c4 14             	add    $0x14,%esp
447ec8:	83 f8 02             	cmp    $0x2,%eax
447ecb:	72 57                	jb     0x447f24
447ecd:	6a 02                	push   $0x2
447ecf:	8d 45 f4             	lea    -0xc(%ebp),%eax
447ed2:	56                   	push   %esi
447ed3:	50                   	push   %eax
447ed4:	e8 d3 a4 fd ff       	call   0x4223ac
447ed9:	33 c0                	xor    %eax,%eax
447edb:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
447edf:	8d 45 f4             	lea    -0xc(%ebp),%eax
447ee2:	50                   	push   %eax
447ee3:	e8 39 97 fd ff       	call   0x421621
447ee8:	03 f3                	add    %ebx,%esi
447eea:	56                   	push   %esi
447eeb:	66 89 47 0a          	mov    %ax,0xa(%edi)
447eef:	e8 e7 8d fd ff       	call   0x420cdb
447ef4:	83 c4 14             	add    $0x14,%esp
447ef7:	83 f8 02             	cmp    $0x2,%eax
447efa:	72 28                	jb     0x447f24
447efc:	6a 02                	push   $0x2
447efe:	8d 45 f4             	lea    -0xc(%ebp),%eax
447f01:	56                   	push   %esi
447f02:	50                   	push   %eax
447f03:	e8 a4 a4 fd ff       	call   0x4223ac
447f08:	33 c0                	xor    %eax,%eax
447f0a:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
447f0e:	8d 45 f4             	lea    -0xc(%ebp),%eax
447f11:	50                   	push   %eax
447f12:	e8 0a 97 fd ff       	call   0x421621
447f17:	83 c4 10             	add    $0x10,%esp
447f1a:	66 89 47 0c          	mov    %ax,0xc(%edi)
447f1e:	33 c0                	xor    %eax,%eax
447f20:	66 89 47 0e          	mov    %ax,0xe(%edi)
447f24:	b0 01                	mov    $0x1,%al
447f26:	5b                   	pop    %ebx
447f27:	eb 02                	jmp    0x447f2b
447f29:	32 c0                	xor    %al,%al
447f2b:	5f                   	pop    %edi
447f2c:	5e                   	pop    %esi
447f2d:	c9                   	leave
447f2e:	c3                   	ret
447f2f:	55                   	push   %ebp
447f30:	8b ec                	mov    %esp,%ebp
447f32:	83 ec 14             	sub    $0x14,%esp
447f35:	53                   	push   %ebx
447f36:	8b d9                	mov    %ecx,%ebx
447f38:	57                   	push   %edi
447f39:	53                   	push   %ebx
447f3a:	89 55 fc             	mov    %edx,-0x4(%ebp)
447f3d:	e8 99 8d fd ff       	call   0x420cdb
447f42:	8b f8                	mov    %eax,%edi
447f44:	99                   	cltd
447f45:	2b c2                	sub    %edx,%eax
447f47:	83 e0 fe             	and    $0xfffffffe,%eax
447f4a:	59                   	pop    %ecx
447f4b:	3b f8                	cmp    %eax,%edi
447f4d:	74 04                	je     0x447f53
447f4f:	32 c0                	xor    %al,%al
447f51:	eb 4a                	jmp    0x447f9d
447f53:	56                   	push   %esi
447f54:	33 f6                	xor    %esi,%esi
447f56:	85 ff                	test   %edi,%edi
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