450c25:	f7 e2                	mul    %edx
450c27:	0f 90 c1             	seto   %cl
450c2a:	f7 d9                	neg    %ecx
450c2c:	0b c8                	or     %eax,%ecx
450c2e:	51                   	push   %ecx
450c2f:	e8 71 03 fd ff       	call   0x420fa5
450c34:	8b 17                	mov    (%edi),%edx
450c36:	83 c4 04             	add    $0x4,%esp
450c39:	8b c8                	mov    %eax,%ecx
450c3b:	89 4d e0             	mov    %ecx,-0x20(%ebp)
450c3e:	85 d2                	test   %edx,%edx
450c40:	74 22                	je     0x450c64
450c42:	8b 47 04             	mov    0x4(%edi),%eax
450c45:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
450c4c:	50                   	push   %eax
450c4d:	52                   	push   %edx
450c4e:	51                   	push   %ecx
450c4f:	e8 2c 04 fd ff       	call   0x421080
450c54:	83 c4 0c             	add    $0xc,%esp
450c57:	ff 37                	push   (%edi)
450c59:	e8 52 24 fd ff       	call   0x4230b0
450c5e:	8b 4d e0             	mov    -0x20(%ebp),%ecx
450c61:	83 c4 04             	add    $0x4,%esp
450c64:	89 0f                	mov    %ecx,(%edi)
450c66:	e9 40 4e fc ff       	jmp    0x415aab
450c6b:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
450c6f:	0f 84 62 51 fc ff    	je     0x415dd7
450c75:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
450c79:	74 0a                	je     0x450c85
450c7b:	ff 76 18             	push   0x18(%esi)
450c7e:	ff 15 48 57 4a 00    	call   *0x4a5748
450c84:	59                   	pop    %ecx
450c85:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
450c89:	0f 84 48 51 fc ff    	je     0x415dd7
450c8f:	ff 76 14             	push   0x14(%esi)
450c92:	ff 15 48 57 4a 00    	call   *0x4a5748
450c98:	59                   	pop    %ecx
450c99:	e9 39 51 fc ff       	jmp    0x415dd7
450c9e:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
450ca2:	bf ff 03 00 00       	mov    $0x3ff,%edi
450ca7:	23 f7                	and    %edi,%esi
450ca9:	23 c7                	and    %edi,%eax
450cab:	c1 e6 0a             	shl    $0xa,%esi
450cae:	0b f0                	or     %eax,%esi
450cb0:	81 c6 00 00 01 00    	add    $0x10000,%esi
450cb6:	e9 05 52 fc ff       	jmp    0x415ec0
450cbb:	8b 45 08             	mov    0x8(%ebp),%eax
450cbe:	33 d2                	xor    %edx,%edx
450cc0:	83 c0 fe             	add    $0xfffffffe,%eax
450cc3:	3b c8                	cmp    %eax,%ecx
450cc5:	73 06                	jae    0x450ccd
450cc7:	66 39 59 02          	cmp    %bx,0x2(%ecx)
450ccb:	74 03                	je     0x450cd0
450ccd:	8d 7a 01             	lea    0x1(%edx),%edi
450cd0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
450cd3:	89 39                	mov    %edi,(%ecx)
450cd5:	eb 08                	jmp    0x450cdf
450cd7:	8d 7a 01             	lea    0x1(%edx),%edi
450cda:	8b 45 0c             	mov    0xc(%ebp),%eax
450cdd:	89 38                	mov    %edi,(%eax)
450cdf:	8d 42 01             	lea    0x1(%edx),%eax
450ce2:	e9 f6 51 fc ff       	jmp    0x415edd
450ce7:	42                   	inc    %edx
450ce8:	8b 45 0c             	mov    0xc(%ebp),%eax
450ceb:	89 10                	mov    %edx,(%eax)
450ced:	8b c2                	mov    %edx,%eax
450cef:	e9 e9 51 fc ff       	jmp    0x415edd
450cf4:	3b f3                	cmp    %ebx,%esi
450cf6:	0f 82 df 51 fc ff    	jb     0x415edb
450cfc:	33 d2                	xor    %edx,%edx
450cfe:	83 fe 0c             	cmp    $0xc,%esi
450d01:	76 e4                	jbe    0x450ce7
450d03:	83 fe 0d             	cmp    $0xd,%esi
450d06:	74 19                	je     0x450d21
450d08:	42                   	inc    %edx
450d09:	81 fe 85 00 00 00    	cmp    $0x85,%esi
450d0f:	74 d7                	je     0x450ce8
450d11:	8d 86 d8 df ff ff    	lea    -0x2028(%esi),%eax
450d17:	3b c2                	cmp    %edx,%eax
450d19:	0f 87 bc 51 fc ff    	ja     0x415edb
450d1f:	eb c7                	jmp    0x450ce8
450d21:	8b 45 08             	mov    0x8(%ebp),%eax
450d24:	83 c0 fe             	add    $0xfffffffe,%eax
450d27:	3b c8                	cmp    %eax,%ecx
450d29:	73 ac                	jae    0x450cd7
450d2b:	66 39 59 02          	cmp    %bx,0x2(%ecx)
450d2f:	74 a9                	je     0x450cda
450d31:	eb a4                	jmp    0x450cd7
450d33:	ff 77 10             	push   0x10(%edi)
450d36:	e8 92 5f fd ff       	call   0x426ccd
450d3b:	59                   	pop    %ecx
450d3c:	89 47 10             	mov    %eax,0x10(%edi)
450d3f:	88 5f 0c             	mov    %bl,0xc(%edi)
450d42:	e9 df 52 fc ff       	jmp    0x416026
450d47:	56                   	push   %esi
450d48:	e8 93 a4 00 00       	call   0x45b1e0
450d4d:	c7 47 10 01 00 00 00 	movl   $0x1,0x10(%edi)
450d54:	e9 d7 52 fc ff       	jmp    0x416030
450d59:	53                   	push   %ebx
450d5a:	8b ce                	mov    %esi,%ecx
450d5c:	e8 f1 6d fb ff       	call   0x407b52
450d61:	66 83 38 5b          	cmpw   $0x5b,(%eax)
450d65:	0f 85 fc 02 00 00    	jne    0x451067
450d6b:	8b 47 18             	mov    0x18(%edi),%eax
450d6e:	8b ce                	mov    %esi,%ecx
450d70:	48                   	dec    %eax
450d71:	50                   	push   %eax
450d72:	e8 db 6d fb ff       	call   0x407b52
450d77:	66 83 38 5d          	cmpw   $0x5d,(%eax)
450d7b:	0f 85 e6 02 00 00    	jne    0x451067
450d81:	8b 47 18             	mov    0x18(%edi),%eax
450d84:	83 e8 02             	sub    $0x2,%eax
450d87:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
450d8e:	00
450d8f:	89 44 24 10          	mov    %eax,0x10(%esp)
450d93:	50                   	push   %eax
450d94:	8d 44 24 18          	lea    0x18(%esp),%eax
450d98:	50                   	push   %eax
450d99:	8d 44 24 30          	lea    0x30(%esp),%eax
450d9d:	50                   	push   %eax
450d9e:	8d 44 24 24          	lea    0x24(%esp),%eax
450da2:	50                   	push   %eax
450da3:	56                   	push   %esi
450da4:	e8 3d 96 00 00       	call   0x45a3e6
450da9:	84 c0                	test   %al,%al
450dab:	0f 84 b6 02 00 00    	je     0x451067
450db1:	ba 98 96 4b 00       	mov    $0x4b9698,%edx
450db6:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450dba:	e8 68 ff fc ff       	call   0x420d27
450dbf:	84 c0                	test   %al,%al
450dc1:	0f 85 80 02 00 00    	jne    0x451047
450dc7:	ba b0 96 4b 00       	mov    $0x4b96b0,%edx
450dcc:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450dd0:	e8 52 ff fc ff       	call   0x420d27
450dd5:	84 c0                	test   %al,%al
450dd7:	0f 85 50 02 00 00    	jne    0x45102d
450ddd:	ba 60 97 4b 00       	mov    $0x4b9760,%edx
450de2:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450de6:	e8 3c ff fc ff       	call   0x420d27
450deb:	84 c0                	test   %al,%al
450ded:	0f 85 f6 01 00 00    	jne    0x450fe9
450df3:	ba 70 97 4b 00       	mov    $0x4b9770,%edx
450df8:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450dfc:	e8 26 ff fc ff       	call   0x420d27
450e01:	84 c0                	test   %al,%al
450e03:	74 1f                	je     0x450e24
450e05:	8b 47 08             	mov    0x8(%edi),%eax
450e08:	a8 01                	test   $0x1,%al
450e0a:	0f 85 c9 01 00 00    	jne    0x450fd9
450e10:	83 c8 02             	or     $0x2,%eax
450e13:	8d 4f 34             	lea    0x34(%edi),%ecx
450e16:	89 47 08             	mov    %eax,0x8(%edi)
450e19:	e8 10 4e fc ff       	call   0x415c2e
450e1e:	51                   	push   %ecx
450e1f:	8d 4f 34             	lea    0x34(%edi),%ecx
450e22:	eb 43                	jmp    0x450e67
450e24:	ba fc 95 4b 00       	mov    $0x4b95fc,%edx
450e29:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450e2d:	e8 f5 fe fc ff       	call   0x420d27
450e32:	84 c0                	test   %al,%al
450e34:	74 0f                	je     0x450e45
450e36:	83 4f 08 08          	orl    $0x8,0x8(%edi)
450e3a:	8d 8f a4 00 00 00    	lea    0xa4(%edi),%ecx
450e40:	e9 6d 01 00 00       	jmp    0x450fb2
450e45:	ba 20 96 4b 00       	mov    $0x4b9620,%edx
450e4a:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450e4e:	e8 d4 fe fc ff       	call   0x420d27
450e53:	84 c0                	test   %al,%al
450e55:	74 2a                	je     0x450e81
450e57:	83 4f 08 10          	orl    $0x10,0x8(%edi)
450e5b:	8d 4f 6c             	lea    0x6c(%edi),%ecx
450e5e:	e8 cb 4d fc ff       	call   0x415c2e
450e63:	51                   	push   %ecx
450e64:	8d 4f 6c             	lea    0x6c(%edi),%ecx
450e67:	8d 44 24 2c          	lea    0x2c(%esp),%eax
450e6b:	50                   	push   %eax
450e6c:	e8 01 4e fc ff       	call   0x415c72
450e71:	85 c0                	test   %eax,%eax
450e73:	0f 85 64 01 00 00    	jne    0x450fdd
450e79:	8d 77 14             	lea    0x14(%edi),%esi
450e7c:	e9 4f 01 00 00       	jmp    0x450fd0
450e81:	ba 4c 96 4b 00       	mov    $0x4b964c,%edx
450e86:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450e8a:	e8 98 fe fc ff       	call   0x420d27
450e8f:	84 c0                	test   %al,%al
450e91:	74 1c                	je     0x450eaf
450e93:	ff 74 24 28          	push   0x28(%esp)
450e97:	81 4f 08 80 00 00 00 	orl    $0x80,0x8(%edi)
450e9e:	e8 27 29 fd ff       	call   0x4237ca
450ea3:	59                   	pop    %ecx
450ea4:	89 87 bc 00 00 00    	mov    %eax,0xbc(%edi)
450eaa:	e9 21 01 00 00       	jmp    0x450fd0
450eaf:	ba 50 96 4b 00       	mov    $0x4b9650,%edx
450eb4:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450eb8:	e8 6a fe fc ff       	call   0x420d27
450ebd:	84 c0                	test   %al,%al
450ebf:	74 1c                	je     0x450edd
450ec1:	ff 74 24 28          	push   0x28(%esp)
450ec5:	81 4f 08 00 01 00 00 	orl    $0x100,0x8(%edi)
450ecc:	e8 f9 28 fd ff       	call   0x4237ca
450ed1:	59                   	pop    %ecx
450ed2:	89 87 c0 00 00 00    	mov    %eax,0xc0(%edi)
450ed8:	e9 f3 00 00 00       	jmp    0x450fd0
450edd:	ba 54 96 4b 00       	mov    $0x4b9654,%edx
450ee2:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450ee6:	e8 3c fe fc ff       	call   0x420d27
450eeb:	84 c0                	test   %al,%al
450eed:	74 1c                	je     0x450f0b
450eef:	ff 74 24 28          	push   0x28(%esp)
450ef3:	81 4f 08 00 02 00 00 	orl    $0x200,0x8(%edi)
450efa:	e8 cb 28 fd ff       	call   0x4237ca
450eff:	59                   	pop    %ecx
450f00:	89 87 c4 00 00 00    	mov    %eax,0xc4(%edi)
450f06:	e9 c5 00 00 00       	jmp    0x450fd0
450f0b:	ba 58 96 4b 00       	mov    $0x4b9658,%edx
450f10:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450f14:	e8 0e fe fc ff       	call   0x420d27
450f19:	84 c0                	test   %al,%al
450f1b:	74 1c                	je     0x450f39
450f1d:	ff 74 24 28          	push   0x28(%esp)
450f21:	81 4f 08 00 04 00 00 	orl    $0x400,0x8(%edi)
450f28:	e8 9d 28 fd ff       	call   0x4237ca
450f2d:	59                   	pop    %ecx
450f2e:	89 87 c8 00 00 00    	mov    %eax,0xc8(%edi)
450f34:	e9 97 00 00 00       	jmp    0x450fd0
450f39:	ba 60 96 4b 00       	mov    $0x4b9660,%edx
450f3e:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450f42:	e8 e0 fd fc ff       	call   0x420d27
450f47:	84 c0                	test   %al,%al
450f49:	74 16                	je     0x450f61
450f4b:	ff 74 24 28          	push   0x28(%esp)
450f4f:	83 4f 08 20          	orl    $0x20,0x8(%edi)
450f53:	e8 72 28 fd ff       	call   0x4237ca
450f58:	59                   	pop    %ecx
450f59:	89 87 b4 00 00 00    	mov    %eax,0xb4(%edi)
450f5f:	eb 6f                	jmp    0x450fd0
450f61:	ba 48 97 4b 00       	mov    $0x4b9748,%edx
450f66:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450f6a:	e8 b8 fd fc ff       	call   0x420d27
450f6f:	84 c0                	test   %al,%al
450f71:	74 1c                	je     0x450f8f
450f73:	ba 10 f9 48 00       	mov    $0x48f910,%edx
450f78:	8d 4c 24 28          	lea    0x28(%esp),%ecx
450f7c:	e8 a6 fd fc ff       	call   0x420d27
450f81:	84 c0                	test   %al,%al
450f83:	0f 84 b6 00 00 00    	je     0x45103f
450f89:	83 4f 08 40          	orl    $0x40,0x8(%edi)
450f8d:	eb 41                	jmp    0x450fd0
450f8f:	ba 88 97 4b 00       	mov    $0x4b9788,%edx
450f94:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450f98:	e8 8a fd fc ff       	call   0x420d27
450f9d:	84 c0                	test   %al,%al
450f9f:	74 1d                	je     0x450fbe
450fa1:	8b 47 08             	mov    0x8(%edi),%eax
450fa4:	a8 02                	test   $0x2,%al
450fa6:	75 39                	jne    0x450fe1
450fa8:	83 c8 01             	or     $0x1,%eax
450fab:	8d 4c 24 38          	lea    0x38(%esp),%ecx
450faf:	89 47 08             	mov    %eax,0x8(%edi)
450fb2:	8d 44 24 28          	lea    0x28(%esp),%eax
450fb6:	50                   	push   %eax
450fb7:	e8 eb 71 fb ff       	call   0x4081a7
450fbc:	eb 12                	jmp    0x450fd0
450fbe:	ba 10 f9 48 00       	mov    $0x48f910,%edx
450fc3:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450fc7:	e8 a1 93 00 00       	call   0x45a36d
450fcc:	84 c0                	test   %al,%al
450fce:	75 6f                	jne    0x45103f
450fd0:	8b 44 24 10          	mov    0x10(%esp),%eax
450fd4:	e9 ba fd ff ff       	jmp    0x450d93
450fd9:	6a fd                	push   $0xfffffffd
450fdb:	eb 06                	jmp    0x450fe3
450fdd:	6a fe                	push   $0xfffffffe
450fdf:	eb 02                	jmp    0x450fe3
450fe1:	6a fc                	push   $0xfffffffc
450fe3:	5b                   	pop    %ebx
450fe4:	e9 7f 50 fc ff       	jmp    0x416068
450fe9:	8b 4c 24 28          	mov    0x28(%esp),%ecx
450fed:	8d 54 24 10          	lea    0x10(%esp),%edx
450ff1:	e8 a1 4a 01 00       	call   0x465a97
450ff6:	ff 74 24 10          	push   0x10(%esp)
450ffa:	ff 15 48 f6 48 00    	call   *0x48f648
451000:	85 c0                	test   %eax,%eax
451002:	0f 84 60 50 fc ff    	je     0x416068
451008:	ff 74 24 10          	push   0x10(%esp)
45100c:	eb 07                	jmp    0x451015
45100e:	ff 15 34 f7 48 00    	call   *0x48f734
451014:	50                   	push   %eax
451015:	8b cf                	mov    %edi,%ecx
451017:	e8 3b 4f fc ff       	call   0x415f57
45101c:	8b 07                	mov    (%edi),%eax
45101e:	8b 00                	mov    (%eax),%eax
451020:	89 44 24 14          	mov    %eax,0x14(%esp)
451024:	8d 44 24 14          	lea    0x14(%esp),%eax
451028:	e9 2f 50 fc ff       	jmp    0x41605c
45102d:	ba 10 f9 48 00       	mov    $0x48f910,%edx
451032:	8d 4c 24 28          	lea    0x28(%esp),%ecx
451036:	e8 ec fc fc ff       	call   0x420d27
45103b:	84 c0                	test   %al,%al
45103d:	75 cf                	jne    0x45100e
45103f:	83 cb ff             	or     $0xffffffff,%ebx
451042:	e9 21 50 fc ff       	jmp    0x416068
451047:	ba 10 f9 48 00       	mov    $0x48f910,%edx
45104c:	8d 4c 24 28          	lea    0x28(%esp),%ecx
451050:	e8 d2 fc fc ff       	call   0x420d27
451055:	84 c0                	test   %al,%al
451057:	74 e6                	je     0x45103f
451059:	8b 07                	mov    (%edi),%eax
45105b:	8b 00                	mov    (%eax),%eax
45105d:	85 c0                	test   %eax,%eax
45105f:	0f 84 03 50 fc ff    	je     0x416068
451065:	eb b9                	jmp    0x451020
451067:	39 5c 24 3c          	cmp    %ebx,0x3c(%esp)
45106b:	74 0c                	je     0x451079
45106d:	8d 44 24 38          	lea    0x38(%esp),%eax
451071:	8b ce                	mov    %esi,%ecx
451073:	50                   	push   %eax
451074:	e8 2e 71 fb ff       	call   0x4081a7
451079:	39 5f 08             	cmp    %ebx,0x8(%edi)
45107c:	75 07                	jne    0x451085
45107e:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%edi)
451085:	83 4f 08 04          	orl    $0x4,0x8(%edi)
451089:	8b 35 7c f6 48 00    	mov    0x48f67c,%esi
45108f:	38 5f 0c             	cmp    %bl,0xc(%edi)
451092:	75 10                	jne    0x4510a4
451094:	8d 4f 24             	lea    0x24(%edi),%ecx
451097:	e8 13 6f fb ff       	call   0x407faf
45109c:	ff 77 28             	push   0x28(%edi)
45109f:	ff 77 24             	push   0x24(%edi)
4510a2:	ff d6                	call   *%esi
4510a4:	f6 47 08 01          	testb  $0x1,0x8(%edi)
4510a8:	74 15                	je     0x4510bf
4510aa:	38 5f 0c             	cmp    %bl,0xc(%edi)
4510ad:	75 10                	jne    0x4510bf
4510af:	8d 4f 14             	lea    0x14(%edi),%ecx
4510b2:	e8 f8 6e fb ff       	call   0x407faf
4510b7:	ff 77 18             	push   0x18(%edi)
4510ba:	ff 77 14             	push   0x14(%edi)
4510bd:	ff d6                	call   *%esi
4510bf:	57                   	push   %edi
4510c0:	68 97 b3 45 00       	push   $0x45b397
4510c5:	38 5d 18             	cmp    %bl,0x18(%ebp)
4510c8:	74 0f                	je     0x4510d9
4510ca:	ff 15 44 f6 48 00    	call   *0x48f644
4510d0:	50                   	push   %eax
4510d1:	ff 15 78 f6 48 00    	call   *0x48f678
4510d7:	eb 06                	jmp    0x4510df
4510d9:	ff 15 40 f6 48 00    	call   *0x48f640
4510df:	8b 5d 10             	mov    0x10(%ebp),%ebx
4510e2:	8d b7 d4 00 00 00    	lea    0xd4(%edi),%esi